From e2352bc65e31e559b90b37cb659585d88cbdb9a0 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 18 Jul 2022 17:24:40 -0600 Subject: [PATCH 001/142] grid class name changes --- src/EXTRA-FIX/fix_ttm.cpp | 2 +- src/EXTRA-FIX/fix_ttm_grid.cpp | 18 +- src/EXTRA-FIX/fix_ttm_grid.h | 2 +- src/KSPACE/msm.cpp | 30 +- src/KSPACE/msm.h | 4 +- src/KSPACE/msm_cg.cpp | 22 +- src/KSPACE/pppm.cpp | 26 +- src/KSPACE/pppm.h | 2 +- src/KSPACE/pppm_cg.cpp | 12 +- src/KSPACE/pppm_dipole.cpp | 18 +- src/KSPACE/pppm_dipole.h | 2 +- src/KSPACE/pppm_dipole_spin.cpp | 12 +- src/KSPACE/pppm_disp.cpp | 68 +- src/KSPACE/pppm_disp.h | 2 +- src/KSPACE/pppm_stagger.cpp | 12 +- src/{gridcomm.cpp => grid2d.cpp} | 112 +-- src/{gridcomm.h => grid2d.h} | 12 +- src/grid3d.cpp | 1267 ++++++++++++++++++++++++++++++ src/grid3d.h | 200 +++++ 19 files changed, 1645 insertions(+), 178 deletions(-) rename src/{gridcomm.cpp => grid2d.cpp} (92%) rename src/{gridcomm.h => grid2d.h} (95%) create mode 100644 src/grid3d.cpp create mode 100644 src/grid3d.h diff --git a/src/EXTRA-FIX/fix_ttm.cpp b/src/EXTRA-FIX/fix_ttm.cpp index 9184983bdb..be0df513ca 100644 --- a/src/EXTRA-FIX/fix_ttm.cpp +++ b/src/EXTRA-FIX/fix_ttm.cpp @@ -227,7 +227,7 @@ void FixTTM::init() // to allow this, would have to reset grid bounds dynamically // for RCB balancing would have to reassign grid pts to procs - // and create a new GridComm, and pass old GC data to new GC + // and create a new Grid3d, and pass old GC data to new GC if (domain->box_change) error->all(FLERR,"Cannot use fix ttm with changing box shape, size, or sub-domains"); diff --git a/src/EXTRA-FIX/fix_ttm_grid.cpp b/src/EXTRA-FIX/fix_ttm_grid.cpp index 5e6022af58..dd254cd892 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.cpp +++ b/src/EXTRA-FIX/fix_ttm_grid.cpp @@ -23,7 +23,7 @@ #include "comm.h" #include "domain.h" #include "error.h" -#include "gridcomm.h" +#include "grid3d.h" #include "memory.h" #include "neighbor.h" #include "random_mars.h" @@ -86,7 +86,7 @@ void FixTTMGrid::post_constructor() if (infile) { read_electron_temperatures(infile); - gc->forward_comm(GridComm::FIX,this,1,sizeof(double),0,gc_buf1,gc_buf2,MPI_DOUBLE); + gc->forward_comm(Grid3d::FIX,this,1,sizeof(double),0,gc_buf1,gc_buf2,MPI_DOUBLE); } } @@ -193,7 +193,7 @@ void FixTTMGrid::end_of_step() flangevin[i][2]*v[i][2]); } - gc->reverse_comm(GridComm::FIX,this,1,sizeof(double),0, + gc->reverse_comm(Grid3d::FIX,this,1,sizeof(double),0, gc_buf1,gc_buf2,MPI_DOUBLE); // clang-format off @@ -246,7 +246,7 @@ void FixTTMGrid::end_of_step() // communicate new T_electron values to ghost grid points - gc->forward_comm(GridComm::FIX,this,1,sizeof(double),0,gc_buf1,gc_buf2,MPI_DOUBLE); + gc->forward_comm(Grid3d::FIX,this,1,sizeof(double),0,gc_buf1,gc_buf2,MPI_DOUBLE); } // clang-format on @@ -363,7 +363,7 @@ void FixTTMGrid::write_electron_temperatures(const std::string &filename) style); } - gc->gather(GridComm::FIX, this, 1, sizeof(double), 1, nullptr, MPI_DOUBLE); + gc->gather(Grid3d::FIX, this, 1, sizeof(double), 1, nullptr, MPI_DOUBLE); if (comm->me == 0) fclose(FPout); } @@ -468,8 +468,8 @@ void FixTTMGrid::allocate_grid() totalmine = (bigint) (nxhi_in - nxlo_in + 1) * (nyhi_in - nylo_in + 1) * (nzhi_in - nzlo_in + 1); ngridmine = totalmine; - gc = new GridComm(lmp, world, nxgrid, nygrid, nzgrid, 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, nxgrid, nygrid, nzgrid, 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(ngc_buf1, ngc_buf2); @@ -517,7 +517,7 @@ void FixTTMGrid::write_restart(FILE *fp) // gather rest of rlist on proc 0 as global grid values - gc->gather(GridComm::FIX, this, 1, sizeof(double), 0, &rlist[4], MPI_DOUBLE); + gc->gather(Grid3d::FIX, this, 1, sizeof(double), 0, &rlist[4], MPI_DOUBLE); if (comm->me == 0) { int size = rsize * sizeof(double); @@ -568,7 +568,7 @@ void FixTTMGrid::restart(char *buf) // communicate new T_electron values to ghost grid points - gc->forward_comm(GridComm::FIX, this, 1, sizeof(double), 0, gc_buf1, gc_buf2, MPI_DOUBLE); + gc->forward_comm(Grid3d::FIX, this, 1, sizeof(double), 0, gc_buf1, gc_buf2, MPI_DOUBLE); } /* ---------------------------------------------------------------------- diff --git a/src/EXTRA-FIX/fix_ttm_grid.h b/src/EXTRA-FIX/fix_ttm_grid.h index f6f467fce0..e42e602be9 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.h +++ b/src/EXTRA-FIX/fix_ttm_grid.h @@ -55,7 +55,7 @@ class FixTTMGrid : public FixTTM { double skin_original; FILE *FPout; - class GridComm *gc; + class Grid3d *gc; int ngc_buf1, ngc_buf2; double *gc_buf1, *gc_buf2; diff --git a/src/KSPACE/msm.cpp b/src/KSPACE/msm.cpp index b518d8efe1..c1392fb1bd 100644 --- a/src/KSPACE/msm.cpp +++ b/src/KSPACE/msm.cpp @@ -23,7 +23,7 @@ #include "domain.h" #include "error.h" #include "force.h" -#include "gridcomm.h" +#include "grid3d.h" #include "math_const.h" #include "memory.h" #include "neighbor.h" @@ -444,7 +444,7 @@ void MSM::compute(int eflag, int vflag) // to fully sum contribution in their 3d grid current_level = 0; - gcall->reverse_comm(GridComm::KSPACE,this,1,sizeof(double), + gcall->reverse_comm(Grid3d::KSPACE,this,1,sizeof(double), REVERSE_RHO,gcall_buf1,gcall_buf2,MPI_DOUBLE); // forward communicate charge density values to fill ghost grid points @@ -453,7 +453,7 @@ void MSM::compute(int eflag, int vflag) for (int n=0; n<=levels-2; n++) { if (!active_flag[n]) continue; current_level = n; - gc[n]->forward_comm(GridComm::KSPACE,this,1,sizeof(double), + gc[n]->forward_comm(Grid3d::KSPACE,this,1,sizeof(double), FORWARD_RHO,gc_buf1[n],gc_buf2[n],MPI_DOUBLE); direct(n); restriction(n); @@ -466,15 +466,15 @@ void MSM::compute(int eflag, int vflag) if (domain->nonperiodic) { current_level = levels-1; gc[levels-1]-> - forward_comm(GridComm::KSPACE,this,1,sizeof(double), + forward_comm(Grid3d::KSPACE,this,1,sizeof(double), FORWARD_RHO,gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); direct_top(levels-1); gc[levels-1]-> - reverse_comm(GridComm::KSPACE,this,1,sizeof(double), + reverse_comm(Grid3d::KSPACE,this,1,sizeof(double), REVERSE_AD,gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); if (vflag_atom) gc[levels-1]-> - reverse_comm(GridComm::KSPACE,this,6,sizeof(double), + reverse_comm(Grid3d::KSPACE,this,6,sizeof(double), REVERSE_AD_PERATOM,gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); } else { @@ -485,7 +485,7 @@ void MSM::compute(int eflag, int vflag) current_level = levels-1; if (vflag_atom) gc[levels-1]-> - reverse_comm(GridComm::KSPACE,this,6,sizeof(double), + reverse_comm(Grid3d::KSPACE,this,6,sizeof(double), REVERSE_AD_PERATOM,gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); } } @@ -498,13 +498,13 @@ void MSM::compute(int eflag, int vflag) prolongation(n); current_level = n; - gc[n]->reverse_comm(GridComm::KSPACE,this,1,sizeof(double), + gc[n]->reverse_comm(Grid3d::KSPACE,this,1,sizeof(double), REVERSE_AD,gc_buf1[n],gc_buf2[n],MPI_DOUBLE); // extra per-atom virial communication if (vflag_atom) - gc[n]->reverse_comm(GridComm::KSPACE,this,6,sizeof(double), + gc[n]->reverse_comm(Grid3d::KSPACE,this,6,sizeof(double), REVERSE_AD_PERATOM,gc_buf1[n],gc_buf2[n],MPI_DOUBLE); } @@ -512,13 +512,13 @@ void MSM::compute(int eflag, int vflag) // to fill ghost cells surrounding their 3d bricks current_level = 0; - gcall->forward_comm(GridComm::KSPACE,this,1,sizeof(double), + gcall->forward_comm(Grid3d::KSPACE,this,1,sizeof(double), FORWARD_AD,gcall_buf1,gcall_buf2,MPI_DOUBLE); // extra per-atom energy/virial communication if (vflag_atom) - gcall->forward_comm(GridComm::KSPACE,this,6,sizeof(double), + gcall->forward_comm(Grid3d::KSPACE,this,6,sizeof(double), FORWARD_AD_PERATOM,gcall_buf1,gcall_buf2,MPI_DOUBLE); // calculate the force on my particles (interpolation) @@ -595,7 +595,7 @@ void MSM::allocate() // commgrid using all processors for finest grid level - gcall = new GridComm(lmp,world,1,nx_msm[0],ny_msm[0],nz_msm[0], + gcall = new Grid3d(lmp,world,1,nx_msm[0],ny_msm[0],nz_msm[0], nxlo_in[0],nxhi_in[0],nylo_in[0], nyhi_in[0],nzlo_in[0],nzhi_in[0], nxlo_out_all,nxhi_out_all,nylo_out_all, @@ -627,7 +627,7 @@ void MSM::allocate() delete gc[n]; int **procneigh = procneigh_levels[n]; - gc[n] = new GridComm(lmp,world_levels[n],2,nx_msm[n],ny_msm[n],nz_msm[n], + gc[n] = new Grid3d(lmp,world_levels[n],2,nx_msm[n],ny_msm[n],nz_msm[n], nxlo_in[n],nxhi_in[n],nylo_in[n],nyhi_in[n], nzlo_in[n],nzhi_in[n], nxlo_out[n],nxhi_out[n],nylo_out[n],nyhi_out[n], @@ -743,7 +743,7 @@ void MSM::allocate_levels() { ngrid = new int[levels]; - gc = new GridComm*[levels]; + gc = new Grid3d*[levels]; gc_buf1 = new double*[levels]; gc_buf2 = new double*[levels]; ngc_buf1 = new int[levels]; @@ -3394,7 +3394,7 @@ double MSM::memory_usage() // NOTE: Stan, fill in other memory allocations here - // all GridComm bufs + // all Grid3d bufs bytes += (double)(ngcall_buf1 + ngcall_buf2) * npergrid * sizeof(double); diff --git a/src/KSPACE/msm.h b/src/KSPACE/msm.h index c39988b13b..c5f9f1bc0a 100644 --- a/src/KSPACE/msm.h +++ b/src/KSPACE/msm.h @@ -81,8 +81,8 @@ class MSM : public KSpace { int myloc[3]; // which proc I am in each dim int ***procneigh_levels; // my 6 neighboring procs, 0/1 = left/right - class GridComm *gcall; // GridComm class for finest level grid - class GridComm **gc; // GridComm classes for each hierarchical level + class Grid3d *gcall; // GridComm class for finest level grid + class Grid3d **gc; // GridComm classes for each hierarchical level double *gcall_buf1, *gcall_buf2; double **gc_buf1, **gc_buf2; diff --git a/src/KSPACE/msm_cg.cpp b/src/KSPACE/msm_cg.cpp index 3073e9c9dc..a04cf4b764 100644 --- a/src/KSPACE/msm_cg.cpp +++ b/src/KSPACE/msm_cg.cpp @@ -19,7 +19,7 @@ #include "msm_cg.h" #include "atom.h" -#include "gridcomm.h" +#include "grid3d.h" #include "domain.h" #include "error.h" #include "force.h" @@ -160,7 +160,7 @@ void MSMCG::compute(int eflag, int vflag) // to fully sum contribution in their 3d grid current_level = 0; - gcall->reverse_comm(GridComm::KSPACE,this,1,sizeof(double), + gcall->reverse_comm(Grid3d::KSPACE,this,1,sizeof(double), REVERSE_RHO,gcall_buf1,gcall_buf2,MPI_DOUBLE); // forward communicate charge density values to fill ghost grid points @@ -169,7 +169,7 @@ void MSMCG::compute(int eflag, int vflag) for (n=0; n<=levels-2; n++) { if (!active_flag[n]) continue; current_level = n; - gc[n]->forward_comm(GridComm::KSPACE,this,1,sizeof(double), + gc[n]->forward_comm(Grid3d::KSPACE,this,1,sizeof(double), FORWARD_RHO,gc_buf1[n],gc_buf2[n],MPI_DOUBLE); direct(n); restriction(n); @@ -182,15 +182,15 @@ void MSMCG::compute(int eflag, int vflag) if (domain->nonperiodic) { current_level = levels-1; gc[levels-1]-> - forward_comm(GridComm::KSPACE,this,1,sizeof(double), + forward_comm(Grid3d::KSPACE,this,1,sizeof(double), FORWARD_RHO,gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); direct_top(levels-1); gc[levels-1]-> - reverse_comm(GridComm::KSPACE,this,1,sizeof(double), + reverse_comm(Grid3d::KSPACE,this,1,sizeof(double), REVERSE_AD,gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); if (vflag_atom) gc[levels-1]-> - reverse_comm(GridComm::KSPACE,this,6,sizeof(double), + reverse_comm(Grid3d::KSPACE,this,6,sizeof(double), REVERSE_AD_PERATOM,gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); } else { @@ -201,7 +201,7 @@ void MSMCG::compute(int eflag, int vflag) current_level = levels-1; if (vflag_atom) gc[levels-1]-> - reverse_comm(GridComm::KSPACE,this,6,sizeof(double), + reverse_comm(Grid3d::KSPACE,this,6,sizeof(double), REVERSE_AD_PERATOM,gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); } } @@ -214,13 +214,13 @@ void MSMCG::compute(int eflag, int vflag) prolongation(n); current_level = n; - gc[n]->reverse_comm(GridComm::KSPACE,this,1,sizeof(double), + gc[n]->reverse_comm(Grid3d::KSPACE,this,1,sizeof(double), REVERSE_AD,gc_buf1[n],gc_buf2[n],MPI_DOUBLE); // extra per-atom virial communication if (vflag_atom) - gc[n]->reverse_comm(GridComm::KSPACE,this,6,sizeof(double), + gc[n]->reverse_comm(Grid3d::KSPACE,this,6,sizeof(double), REVERSE_AD_PERATOM,gc_buf1[n],gc_buf2[n],MPI_DOUBLE); } @@ -228,13 +228,13 @@ void MSMCG::compute(int eflag, int vflag) // to fill ghost cells surrounding their 3d bricks current_level = 0; - gcall->forward_comm(GridComm::KSPACE,this,1,sizeof(double), + gcall->forward_comm(Grid3d::KSPACE,this,1,sizeof(double), FORWARD_AD,gcall_buf1,gcall_buf2,MPI_DOUBLE); // extra per-atom energy/virial communication if (vflag_atom) - gcall->forward_comm(GridComm::KSPACE,this,6,sizeof(double), + gcall->forward_comm(Grid3d::KSPACE,this,6,sizeof(double), FORWARD_AD_PERATOM,gcall_buf1,gcall_buf2,MPI_DOUBLE); // calculate the force on my particles (interpolation) diff --git a/src/KSPACE/pppm.cpp b/src/KSPACE/pppm.cpp index e94193759f..bdcadaf4b8 100644 --- a/src/KSPACE/pppm.cpp +++ b/src/KSPACE/pppm.cpp @@ -29,7 +29,7 @@ #include "error.h" #include "fft3d_wrap.h" #include "force.h" -#include "gridcomm.h" +#include "grid3d.h" #include "math_const.h" #include "math_special.h" #include "memory.h" @@ -291,7 +291,7 @@ void PPPM::init() // or overlap is allowed, then done // else reduce order and try again - GridComm *gctmp = nullptr; + Grid3d *gctmp = nullptr; int iteration = 0; while (order >= minorder) { @@ -304,7 +304,7 @@ void PPPM::init() set_grid_local(); if (overlap_allowed) break; - gctmp = new GridComm(lmp,world,nx_pppm,ny_pppm,nz_pppm, + gctmp = 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); @@ -634,7 +634,7 @@ void PPPM::compute(int eflag, int vflag) // to fully sum contribution in their 3d bricks // remap from 3d decomposition to FFT decomposition - gc->reverse_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR), + gc->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), REVERSE_RHO,gc_buf1,gc_buf2,MPI_FFT_SCALAR); brick2fft(); @@ -649,20 +649,20 @@ void PPPM::compute(int eflag, int vflag) // to fill ghost cells surrounding their 3d bricks if (differentiation_flag == 1) - gc->forward_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR), + gc->forward_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), FORWARD_AD,gc_buf1,gc_buf2,MPI_FFT_SCALAR); else - gc->forward_comm(GridComm::KSPACE,this,3,sizeof(FFT_SCALAR), + gc->forward_comm(Grid3d::KSPACE,this,3,sizeof(FFT_SCALAR), FORWARD_IK,gc_buf1,gc_buf2,MPI_FFT_SCALAR); // extra per-atom energy/virial communication if (evflag_atom) { if (differentiation_flag == 1 && vflag_atom) - gc->forward_comm(GridComm::KSPACE,this,6,sizeof(FFT_SCALAR), + gc->forward_comm(Grid3d::KSPACE,this,6,sizeof(FFT_SCALAR), FORWARD_AD_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); else if (differentiation_flag == 0) - gc->forward_comm(GridComm::KSPACE,this,7,sizeof(FFT_SCALAR), + gc->forward_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR), FORWARD_IK_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); } @@ -810,9 +810,9 @@ void PPPM::allocate() 1,0,0,FFT_PRECISION,collective_flag); // create ghost grid object for rho and electric field communication - // also create 2 bufs for ghost grid cell comm, passed to GridComm methods + // also create 2 bufs for ghost grid cell comm, passed to Grid3d methods - gc = new GridComm(lmp,world,nx_pppm,ny_pppm,nz_pppm, + 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); @@ -3055,7 +3055,7 @@ double PPPM::memory_usage() bytes += (double)2 * nfft_both * sizeof(FFT_SCALAR);; } - // two GridComm bufs + // two Grid3d bufs bytes += (double)(ngc_buf1 + ngc_buf2) * npergrid * sizeof(FFT_SCALAR); @@ -3115,7 +3115,7 @@ void PPPM::compute_group_group(int groupbit_A, int groupbit_B, int AA_flag) density_brick = density_A_brick; density_fft = density_A_fft; - gc->reverse_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR), + gc->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), REVERSE_RHO,gc_buf1,gc_buf2,MPI_FFT_SCALAR); brick2fft(); @@ -3124,7 +3124,7 @@ void PPPM::compute_group_group(int groupbit_A, int groupbit_B, int AA_flag) density_brick = density_B_brick; density_fft = density_B_fft; - gc->reverse_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR), + gc->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), REVERSE_RHO,gc_buf1,gc_buf2,MPI_FFT_SCALAR); brick2fft(); diff --git a/src/KSPACE/pppm.h b/src/KSPACE/pppm.h index cac5338ed7..ec19023bb5 100644 --- a/src/KSPACE/pppm.h +++ b/src/KSPACE/pppm.h @@ -80,7 +80,7 @@ class PPPM : public KSpace { class FFT3d *fft1, *fft2; class Remap *remap; - class GridComm *gc; + class Grid3d *gc; FFT_SCALAR *gc_buf1, *gc_buf2; int ngc_buf1, ngc_buf2, npergrid; diff --git a/src/KSPACE/pppm_cg.cpp b/src/KSPACE/pppm_cg.cpp index 077eb9f3f4..f62da83cd5 100644 --- a/src/KSPACE/pppm_cg.cpp +++ b/src/KSPACE/pppm_cg.cpp @@ -21,7 +21,7 @@ #include "atom.h" #include "domain.h" #include "error.h" -#include "gridcomm.h" +#include "grid3d.h" #include "math_const.h" #include "memory.h" #include "neighbor.h" @@ -177,7 +177,7 @@ void PPPMCG::compute(int eflag, int vflag) // to fully sum contribution in their 3d bricks // remap from 3d decomposition to FFT decomposition - gc->reverse_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR), + gc->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), REVERSE_RHO,gc_buf1,gc_buf2,MPI_FFT_SCALAR); brick2fft(); @@ -192,20 +192,20 @@ void PPPMCG::compute(int eflag, int vflag) // to fill ghost cells surrounding their 3d bricks if (differentiation_flag == 1) - gc->forward_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR), + gc->forward_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), FORWARD_AD,gc_buf1,gc_buf2,MPI_FFT_SCALAR); else - gc->forward_comm(GridComm::KSPACE,this,3,sizeof(FFT_SCALAR), + gc->forward_comm(Grid3d::KSPACE,this,3,sizeof(FFT_SCALAR), FORWARD_IK,gc_buf1,gc_buf2,MPI_FFT_SCALAR); // extra per-atom energy/virial communication if (evflag_atom) { if (differentiation_flag == 1 && vflag_atom) - gc->forward_comm(GridComm::KSPACE,this,6,sizeof(FFT_SCALAR), + gc->forward_comm(Grid3d::KSPACE,this,6,sizeof(FFT_SCALAR), FORWARD_AD_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); else if (differentiation_flag == 0) - gc->forward_comm(GridComm::KSPACE,this,7,sizeof(FFT_SCALAR), + gc->forward_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR), FORWARD_IK_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); } diff --git a/src/KSPACE/pppm_dipole.cpp b/src/KSPACE/pppm_dipole.cpp index aef14b0189..0206119e37 100644 --- a/src/KSPACE/pppm_dipole.cpp +++ b/src/KSPACE/pppm_dipole.cpp @@ -24,7 +24,7 @@ #include "error.h" #include "fft3d_wrap.h" #include "force.h" -#include "gridcomm.h" +#include "grid3d.h" #include "math_const.h" #include "math_special.h" #include "memory.h" @@ -188,7 +188,7 @@ void PPPMDipole::init() // or overlap is allowed, then done // else reduce order and try again - GridComm *gctmp = nullptr; + Grid3d *gctmp = nullptr; int iteration = 0; while (order >= minorder) { @@ -201,7 +201,7 @@ void PPPMDipole::init() set_grid_local(); if (overlap_allowed) break; - gctmp = new GridComm(lmp,world,nx_pppm,ny_pppm,nz_pppm, + gctmp = 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); @@ -441,7 +441,7 @@ void PPPMDipole::compute(int eflag, int vflag) // to fully sum contribution in their 3d bricks // remap from 3d decomposition to FFT decomposition - gc_dipole->reverse_comm(GridComm::KSPACE,this,3,sizeof(FFT_SCALAR), + gc_dipole->reverse_comm(Grid3d::KSPACE,this,3,sizeof(FFT_SCALAR), REVERSE_MU,gc_buf1,gc_buf2,MPI_FFT_SCALAR); brick2fft_dipole(); @@ -455,13 +455,13 @@ void PPPMDipole::compute(int eflag, int vflag) // all procs communicate E-field values // to fill ghost cells surrounding their 3d bricks - gc_dipole->forward_comm(GridComm::KSPACE,this,9,sizeof(FFT_SCALAR), + gc_dipole->forward_comm(Grid3d::KSPACE,this,9,sizeof(FFT_SCALAR), FORWARD_MU,gc_buf1,gc_buf2,MPI_FFT_SCALAR); // extra per-atom energy/virial communication if (evflag_atom) - gc_dipole->forward_comm(GridComm::KSPACE,this,18,sizeof(FFT_SCALAR), + gc_dipole->forward_comm(Grid3d::KSPACE,this,18,sizeof(FFT_SCALAR), FORWARD_MU_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); // calculate the force on my particles @@ -603,9 +603,9 @@ void PPPMDipole::allocate() 1,0,0,FFT_PRECISION,collective_flag); // create ghost grid object for rho and electric field communication - // also create 2 bufs for ghost grid cell comm, passed to GridComm methods + // also create 2 bufs for ghost grid cell comm, passed to Grid3d methods - gc_dipole = new GridComm(lmp,world,nx_pppm,ny_pppm,nz_pppm, + gc_dipole = 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); @@ -2519,7 +2519,7 @@ double PPPMDipole::memory_usage() if (peratom_allocate_flag) bytes += (double)21 * nbrick * sizeof(FFT_SCALAR); - // two GridComm bufs + // two Grid3d bufs bytes += (double)(ngc_buf1 + ngc_buf2) * npergrid * sizeof(FFT_SCALAR); diff --git a/src/KSPACE/pppm_dipole.h b/src/KSPACE/pppm_dipole.h index 4415d4014e..0239a9a0a8 100644 --- a/src/KSPACE/pppm_dipole.h +++ b/src/KSPACE/pppm_dipole.h @@ -70,7 +70,7 @@ class PPPMDipole : public PPPM { FFT_SCALAR *work3, *work4; FFT_SCALAR *densityx_fft_dipole, *densityy_fft_dipole, *densityz_fft_dipole; - class GridComm *gc_dipole; + class Grid3d *gc_dipole; int only_dipole_flag; double musum, musqsum, mu2; diff --git a/src/KSPACE/pppm_dipole_spin.cpp b/src/KSPACE/pppm_dipole_spin.cpp index 148da52770..ea92eb4685 100644 --- a/src/KSPACE/pppm_dipole_spin.cpp +++ b/src/KSPACE/pppm_dipole_spin.cpp @@ -23,7 +23,7 @@ #include "domain.h" #include "error.h" #include "force.h" -#include "gridcomm.h" +#include "grid3d.h" #include "math_const.h" #include "memory.h" #include "pair.h" @@ -173,7 +173,7 @@ void PPPMDipoleSpin::init() // or overlap is allowed, then done // else reduce order and try again - GridComm *gctmp = nullptr; + Grid3d *gctmp = nullptr; int iteration = 0; while (order >= minorder) { @@ -186,7 +186,7 @@ void PPPMDipoleSpin::init() set_grid_local(); if (overlap_allowed) break; - gctmp = new GridComm(lmp,world,nx_pppm,ny_pppm,nz_pppm, + gctmp = 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); @@ -298,7 +298,7 @@ void PPPMDipoleSpin::compute(int eflag, int vflag) // to fully sum contribution in their 3d bricks // remap from 3d decomposition to FFT decomposition - gc_dipole->reverse_comm(GridComm::KSPACE,this,3,sizeof(FFT_SCALAR), + gc_dipole->reverse_comm(Grid3d::KSPACE,this,3,sizeof(FFT_SCALAR), REVERSE_MU,gc_buf1,gc_buf2,MPI_FFT_SCALAR); brick2fft_dipole(); @@ -312,13 +312,13 @@ void PPPMDipoleSpin::compute(int eflag, int vflag) // all procs communicate E-field values // to fill ghost cells surrounding their 3d bricks - gc_dipole->forward_comm(GridComm::KSPACE,this,9,sizeof(FFT_SCALAR), + gc_dipole->forward_comm(Grid3d::KSPACE,this,9,sizeof(FFT_SCALAR), FORWARD_MU,gc_buf1,gc_buf2,MPI_FFT_SCALAR); // extra per-atom energy/virial communication if (evflag_atom) - gc->forward_comm(GridComm::KSPACE,this,18,sizeof(FFT_SCALAR), + gc->forward_comm(Grid3d::KSPACE,this,18,sizeof(FFT_SCALAR), FORWARD_MU_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); // calculate the force on my particles diff --git a/src/KSPACE/pppm_disp.cpp b/src/KSPACE/pppm_disp.cpp index 7377ec6f39..a056574cfd 100644 --- a/src/KSPACE/pppm_disp.cpp +++ b/src/KSPACE/pppm_disp.cpp @@ -27,7 +27,7 @@ #include "error.h" #include "fft3d_wrap.h" #include "force.h" -#include "gridcomm.h" +#include "grid3d.h" #include "math_const.h" #include "memory.h" #include "neighbor.h" @@ -413,7 +413,7 @@ void PPPMDisp::init() int iteration = 0; if (function[0]) { - GridComm *gctmp = nullptr; + Grid3d *gctmp = nullptr; while (order >= minorder) { if (iteration && me == 0) @@ -441,7 +441,7 @@ void PPPMDisp::init() if (overlap_allowed) break; - gctmp = new GridComm(lmp,world,nx_pppm,ny_pppm,nz_pppm, + gctmp = 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); @@ -493,7 +493,7 @@ void PPPMDisp::init() iteration = 0; if (function[1] + function[2] + function[3]) { - GridComm *gctmp = nullptr; + Grid3d *gctmp = nullptr; while (order_6 >= minorder) { if (iteration && me == 0) @@ -519,7 +519,7 @@ void PPPMDisp::init() if (overlap_allowed) break; - gctmp = new GridComm(lmp,world,nx_pppm_6,ny_pppm_6,nz_pppm_6, + gctmp = new Grid3d(lmp,world,nx_pppm_6,ny_pppm_6,nz_pppm_6, nxlo_in_6,nxhi_in_6,nylo_in_6,nyhi_in_6, nzlo_in_6,nzhi_in_6, nxlo_out_6,nxhi_out_6,nylo_out_6,nyhi_out_6, @@ -926,7 +926,7 @@ void PPPMDisp::compute(int eflag, int vflag) make_rho_c(); - gc->reverse_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR), + gc->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), REVERSE_RHO,gc_buf1,gc_buf2,MPI_FFT_SCALAR); brick2fft(nxlo_in,nylo_in,nzlo_in,nxhi_in,nyhi_in,nzhi_in, @@ -941,13 +941,13 @@ void PPPMDisp::compute(int eflag, int vflag) virial_1,vg,vg2, u_brick,v0_brick,v1_brick,v2_brick,v3_brick,v4_brick,v5_brick); - gc->forward_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR), + gc->forward_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), FORWARD_AD,gc_buf1,gc_buf2,MPI_FFT_SCALAR); fieldforce_c_ad(); if (vflag_atom) - gc->forward_comm(GridComm::KSPACE,this,6,sizeof(FFT_SCALAR), + gc->forward_comm(Grid3d::KSPACE,this,6,sizeof(FFT_SCALAR), FORWARD_AD_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); } else { @@ -960,13 +960,13 @@ void PPPMDisp::compute(int eflag, int vflag) vdx_brick,vdy_brick,vdz_brick,virial_1,vg,vg2, u_brick,v0_brick,v1_brick,v2_brick,v3_brick,v4_brick,v5_brick); - gc->forward_comm(GridComm::KSPACE,this,3,sizeof(FFT_SCALAR), + gc->forward_comm(Grid3d::KSPACE,this,3,sizeof(FFT_SCALAR), FORWARD_IK,gc_buf1,gc_buf2,MPI_FFT_SCALAR); fieldforce_c_ik(); if (evflag_atom) - gc->forward_comm(GridComm::KSPACE,this,7,sizeof(FFT_SCALAR), + gc->forward_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR), FORWARD_IK_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); } @@ -984,7 +984,7 @@ void PPPMDisp::compute(int eflag, int vflag) make_rho_g(); - gc6->reverse_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR), + gc6->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), REVERSE_RHO_GEOM,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); brick2fft(nxlo_in_6,nylo_in_6,nzlo_in_6,nxhi_in_6,nyhi_in_6,nzhi_in_6, @@ -1000,13 +1000,13 @@ void PPPMDisp::compute(int eflag, int vflag) u_brick_g,v0_brick_g,v1_brick_g,v2_brick_g, v3_brick_g,v4_brick_g,v5_brick_g); - gc6->forward_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR), + gc6->forward_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), FORWARD_AD_GEOM,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); fieldforce_g_ad(); if (vflag_atom) - gc6->forward_comm(GridComm::KSPACE,this,6,sizeof(FFT_SCALAR), + gc6->forward_comm(Grid3d::KSPACE,this,6,sizeof(FFT_SCALAR), FORWARD_AD_PERATOM_GEOM,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } else { @@ -1020,13 +1020,13 @@ void PPPMDisp::compute(int eflag, int vflag) u_brick_g,v0_brick_g,v1_brick_g,v2_brick_g, v3_brick_g,v4_brick_g,v5_brick_g); - gc6->forward_comm(GridComm::KSPACE,this,3,sizeof(FFT_SCALAR), + gc6->forward_comm(Grid3d::KSPACE,this,3,sizeof(FFT_SCALAR), FORWARD_IK_GEOM,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); fieldforce_g_ik(); if (evflag_atom) - gc6->forward_comm(GridComm::KSPACE,this,7,sizeof(FFT_SCALAR), + gc6->forward_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR), FORWARD_IK_PERATOM_GEOM,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } @@ -1044,7 +1044,7 @@ void PPPMDisp::compute(int eflag, int vflag) make_rho_a(); - gc6->reverse_comm(GridComm::KSPACE,this,7,sizeof(FFT_SCALAR), + gc6->reverse_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR), REVERSE_RHO_ARITH,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); brick2fft_a(); @@ -1074,13 +1074,13 @@ void PPPMDisp::compute(int eflag, int vflag) u_brick_a4,v0_brick_a4,v1_brick_a4,v2_brick_a4, v3_brick_a4,v4_brick_a4,v5_brick_a4); - gc6->forward_comm(GridComm::KSPACE,this,7,sizeof(FFT_SCALAR), + gc6->forward_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR), FORWARD_AD_ARITH,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); fieldforce_a_ad(); if (evflag_atom) - gc6->forward_comm(GridComm::KSPACE,this,42,sizeof(FFT_SCALAR), + gc6->forward_comm(Grid3d::KSPACE,this,42,sizeof(FFT_SCALAR), FORWARD_AD_PERATOM_ARITH,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } else { @@ -1115,13 +1115,13 @@ void PPPMDisp::compute(int eflag, int vflag) u_brick_a4,v0_brick_a4,v1_brick_a4,v2_brick_a4, v3_brick_a4,v4_brick_a4,v5_brick_a4); - gc6->forward_comm(GridComm::KSPACE,this,21,sizeof(FFT_SCALAR), + gc6->forward_comm(Grid3d::KSPACE,this,21,sizeof(FFT_SCALAR), FORWARD_IK_ARITH,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); fieldforce_a_ik(); if (evflag_atom) - gc6->forward_comm(GridComm::KSPACE,this,49,sizeof(FFT_SCALAR), + gc6->forward_comm(Grid3d::KSPACE,this,49,sizeof(FFT_SCALAR), FORWARD_IK_PERATOM_ARITH,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } @@ -1139,7 +1139,7 @@ void PPPMDisp::compute(int eflag, int vflag) make_rho_none(); - gc6->reverse_comm(GridComm::KSPACE,this,nsplit_alloc,sizeof(FFT_SCALAR), + gc6->reverse_comm(Grid3d::KSPACE,this,nsplit_alloc,sizeof(FFT_SCALAR), REVERSE_RHO_NONE,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); brick2fft_none(); @@ -1154,13 +1154,13 @@ void PPPMDisp::compute(int eflag, int vflag) n += 2; } - gc6->forward_comm(GridComm::KSPACE,this,1*nsplit_alloc,sizeof(FFT_SCALAR), + gc6->forward_comm(Grid3d::KSPACE,this,1*nsplit_alloc,sizeof(FFT_SCALAR), FORWARD_AD_NONE,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); fieldforce_none_ad(); if (vflag_atom) - gc6->forward_comm(GridComm::KSPACE,this,6*nsplit_alloc,sizeof(FFT_SCALAR), + gc6->forward_comm(Grid3d::KSPACE,this,6*nsplit_alloc,sizeof(FFT_SCALAR), FORWARD_AD_PERATOM_NONE,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } else { @@ -1174,13 +1174,13 @@ void PPPMDisp::compute(int eflag, int vflag) n += 2; } - gc6->forward_comm(GridComm::KSPACE,this,3*nsplit_alloc,sizeof(FFT_SCALAR), + gc6->forward_comm(Grid3d::KSPACE,this,3*nsplit_alloc,sizeof(FFT_SCALAR), FORWARD_IK_NONE,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); fieldforce_none_ik(); if (evflag_atom) - gc6->forward_comm(GridComm::KSPACE,this,7*nsplit_alloc,sizeof(FFT_SCALAR), + gc6->forward_comm(Grid3d::KSPACE,this,7*nsplit_alloc,sizeof(FFT_SCALAR), FORWARD_IK_PERATOM_NONE,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } @@ -1748,9 +1748,9 @@ void _noopt PPPMDisp::allocate() 1,0,0,FFT_PRECISION,collective_flag); // create ghost grid object for rho and electric field communication - // also create 2 bufs for ghost grid cell comm, passed to GridComm methods + // also create 2 bufs for ghost grid cell comm, passed to Grid3d methods - gc = new GridComm(lmp,world,nx_pppm,ny_pppm,nz_pppm, + 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); @@ -1831,10 +1831,10 @@ void _noopt PPPMDisp::allocate() 1,0,0,FFT_PRECISION,collective_flag); // create ghost grid object for rho and electric field communication - // also create 2 bufs for ghost grid cell comm, passed to GridComm methods + // also create 2 bufs for ghost grid cell comm, passed to Grid3d methods gc6 = - new GridComm(lmp,world,nx_pppm_6,ny_pppm_6,nz_pppm_6, + new Grid3d(lmp,world,nx_pppm_6,ny_pppm_6,nz_pppm_6, nxlo_in_6,nxhi_in_6,nylo_in_6,nyhi_in_6,nzlo_in_6,nzhi_in_6, nxlo_out_6,nxhi_out_6,nylo_out_6,nyhi_out_6,nzlo_out_6,nzhi_out_6); @@ -1994,10 +1994,10 @@ void _noopt PPPMDisp::allocate() 1,0,0,FFT_PRECISION,collective_flag); // create ghost grid object for rho and electric field communication - // also create 2 bufs for ghost grid cell comm, passed to GridComm methods + // also create 2 bufs for ghost grid cell comm, passed to Grid3d methods gc6 = - new GridComm(lmp,world,nx_pppm_6,ny_pppm_6,nz_pppm_6, + new Grid3d(lmp,world,nx_pppm_6,ny_pppm_6,nz_pppm_6, nxlo_in_6,nxhi_in_6,nylo_in_6,nyhi_in_6,nzlo_in_6,nzhi_in_6, nxlo_out_6,nxhi_out_6,nylo_out_6,nyhi_out_6,nzlo_out_6,nzhi_out_6); @@ -2081,10 +2081,10 @@ void _noopt PPPMDisp::allocate() 1,0,0,FFT_PRECISION,collective_flag); // create ghost grid object for rho and electric field communication - // also create 2 bufs for ghost grid cell comm, passed to GridComm methods + // also create 2 bufs for ghost grid cell comm, passed to Grid3d methods gc6 = - new GridComm(lmp,world,nx_pppm_6,ny_pppm_6,nz_pppm_6, + new Grid3d(lmp,world,nx_pppm_6,ny_pppm_6,nz_pppm_6, nxlo_in_6,nxhi_in_6,nylo_in_6,nyhi_in_6,nzlo_in_6,nzhi_in_6, nxlo_out_6,nxhi_out_6,nylo_out_6,nyhi_out_6,nzlo_out_6,nzhi_out_6); @@ -8310,7 +8310,7 @@ double PPPMDisp::memory_usage() bytes += (double)nfft_both_6 * (mixing + 2) * sizeof(FFT_SCALAR); } - // four GridComm bufs + // four Grid3d bufs bytes += (double)(ngc_buf1 + ngc_buf2) * npergrid * sizeof(FFT_SCALAR); bytes += (double)(ngc6_buf1 + ngc6_buf2) * npergrid6 * sizeof(FFT_SCALAR); diff --git a/src/KSPACE/pppm_disp.h b/src/KSPACE/pppm_disp.h index 1f254e772d..9ba3b61a12 100644 --- a/src/KSPACE/pppm_disp.h +++ b/src/KSPACE/pppm_disp.h @@ -178,7 +178,7 @@ class PPPMDisp : public KSpace { class FFT3d *fft1, *fft2; class FFT3d *fft1_6, *fft2_6; class Remap *remap, *remap_6; - class GridComm *gc, *gc6; + class Grid3d *gc, *gc6; FFT_SCALAR *gc_buf1, *gc_buf2, *gc6_buf1, *gc6_buf2; int ngc_buf1, ngc_buf2, npergrid; diff --git a/src/KSPACE/pppm_stagger.cpp b/src/KSPACE/pppm_stagger.cpp index 35aec73169..b12f50f561 100644 --- a/src/KSPACE/pppm_stagger.cpp +++ b/src/KSPACE/pppm_stagger.cpp @@ -21,7 +21,7 @@ #include #include #include "atom.h" -#include "gridcomm.h" +#include "grid3d.h" #include "domain.h" #include "memory.h" #include "error.h" @@ -157,7 +157,7 @@ void PPPMStagger::compute(int eflag, int vflag) // to fully sum contribution in their 3d bricks // remap from 3d decomposition to FFT decomposition - gc->reverse_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR), + gc->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), REVERSE_RHO,gc_buf1,gc_buf2,MPI_FFT_SCALAR); brick2fft(); @@ -172,20 +172,20 @@ void PPPMStagger::compute(int eflag, int vflag) // to fill ghost cells surrounding their 3d bricks if (differentiation_flag == 1) - gc->forward_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR), + gc->forward_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), FORWARD_AD,gc_buf1,gc_buf2,MPI_FFT_SCALAR); else - gc->forward_comm(GridComm::KSPACE,this,3,sizeof(FFT_SCALAR), + gc->forward_comm(Grid3d::KSPACE,this,3,sizeof(FFT_SCALAR), FORWARD_IK,gc_buf1,gc_buf2,MPI_FFT_SCALAR); // extra per-atom energy/virial communication if (evflag_atom) { if (differentiation_flag == 1 && vflag_atom) - gc->forward_comm(GridComm::KSPACE,this,6,sizeof(FFT_SCALAR), + gc->forward_comm(Grid3d::KSPACE,this,6,sizeof(FFT_SCALAR), FORWARD_AD_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); else if (differentiation_flag == 0) - gc->forward_comm(GridComm::KSPACE,this,7,sizeof(FFT_SCALAR), + gc->forward_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR), FORWARD_IK_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); } diff --git a/src/gridcomm.cpp b/src/grid2d.cpp similarity index 92% rename from src/gridcomm.cpp rename to src/grid2d.cpp index fc53026cc8..f96770d3c9 100644 --- a/src/gridcomm.cpp +++ b/src/grid2d.cpp @@ -12,7 +12,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "gridcomm.h" +#include "grid3d.h" #include "comm.h" #include "error.h" @@ -48,10 +48,10 @@ enum{REGULAR,TILED}; communication is done across the periodic boundaries ------------------------------------------------------------------------- */ -GridComm::GridComm(LAMMPS *lmp, MPI_Comm gcomm, - int gnx, int gny, int gnz, - int ixlo, int ixhi, int iylo, int iyhi, int izlo, int izhi, - int oxlo, int oxhi, int oylo, int oyhi, int ozlo, int ozhi) +Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, + int gnx, int gny, int gnz, + int ixlo, int ixhi, int iylo, int iyhi, int izlo, int izhi, + int oxlo, int oxhi, int oylo, int oyhi, int ozlo, int ozhi) : Pointers(lmp) { if (comm->layout == Comm::LAYOUT_TILED) layout = TILED; @@ -87,11 +87,11 @@ GridComm::GridComm(LAMMPS *lmp, MPI_Comm gcomm, e xyz lohi for flag = 2: 6 neighbor procs ------------------------------------------------------------------------- */ -GridComm::GridComm(LAMMPS *lmp, MPI_Comm gcomm, int flag, - int gnx, int gny, int gnz, - int ixlo, int ixhi, int iylo, int iyhi, int izlo, int izhi, - int oxlo, int oxhi, int oylo, int oyhi, int ozlo, int ozhi, - int exlo, int exhi, int eylo, int eyhi, int ezlo, int ezhi) +Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, int flag, + int gnx, int gny, int gnz, + int ixlo, int ixhi, int iylo, int iyhi, int izlo, int izhi, + int oxlo, int oxhi, int oylo, int oyhi, int ozlo, int ozhi, + int exlo, int exhi, int eylo, int eyhi, int ezlo, int ezhi) : Pointers(lmp) { if (comm->layout == Comm::LAYOUT_TILED) layout = TILED; @@ -124,14 +124,14 @@ GridComm::GridComm(LAMMPS *lmp, MPI_Comm gcomm, int flag, oxlo,oxhi,oylo,oyhi,ozlo,ozhi, exlo,exhi,eylo,eyhi,ezlo,ezhi); } else { - error->all(FLERR,"GridComm does not support tiled layout with neighbor procs"); + error->all(FLERR,"Grid3d does not support tiled layout with neighbor procs"); } } } /* ---------------------------------------------------------------------- */ -GridComm::~GridComm() +Grid3d::~Grid3d() { // regular comm data struct @@ -164,16 +164,16 @@ GridComm::~GridComm() store constructor args in local variables ------------------------------------------------------------------------- */ -void GridComm::initialize(MPI_Comm gcomm, - int gnx, int gny, int gnz, - int ixlo, int ixhi, int iylo, int iyhi, - int izlo, int izhi, - int oxlo, int oxhi, int oylo, int oyhi, - int ozlo, int ozhi, - int fxlo, int fxhi, int fylo, int fyhi, - int fzlo, int fzhi, - int pxlo, int pxhi, int pylo, int pyhi, - int pzlo, int pzhi) +void Grid3d::initialize(MPI_Comm gcomm, + int gnx, int gny, int gnz, + int ixlo, int ixhi, int iylo, int iyhi, + int izlo, int izhi, + int oxlo, int oxhi, int oylo, int oyhi, + int ozlo, int ozhi, + int fxlo, int fxhi, int fylo, int fyhi, + int fzlo, int fzhi, + int pxlo, int pxhi, int pylo, int pyhi, + int pzlo, int pzhi) { gridcomm = gcomm; MPI_Comm_rank(gridcomm,&me); @@ -229,7 +229,7 @@ void GridComm::initialize(MPI_Comm gcomm, /* ---------------------------------------------------------------------- */ -void GridComm::setup(int &nbuf1, int &nbuf2) +void Grid3d::setup(int &nbuf1, int &nbuf2) { if (layout == REGULAR) setup_regular(nbuf1,nbuf2); else setup_tiled(nbuf1,nbuf2); @@ -244,7 +244,7 @@ void GridComm::setup(int &nbuf1, int &nbuf2) all procs perform same # of swaps in a direction, even if some don't need it ------------------------------------------------------------------------- */ -void GridComm::setup_regular(int &nbuf1, int &nbuf2) +void Grid3d::setup_regular(int &nbuf1, int &nbuf2) { int nsent,sendfirst,sendlast,recvfirst,recvlast; int sendplanes,recvplanes; @@ -545,7 +545,7 @@ void GridComm::setup_regular(int &nbuf1, int &nbuf2) no exchanges by dimension, unlike CommTiled forward/reverse comm of particles ------------------------------------------------------------------------- */ -void GridComm::setup_tiled(int &nbuf1, int &nbuf2) +void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) { int i,m; double xlo,xhi,ylo,yhi,zlo,zhi; @@ -557,7 +557,7 @@ void GridComm::setup_tiled(int &nbuf1, int &nbuf2) // dim is -1 for proc 0, but never accessed rcbinfo = (RCBinfo *) - memory->smalloc(nprocs*sizeof(RCBinfo),"GridComm:rcbinfo"); + memory->smalloc(nprocs*sizeof(RCBinfo),"grid3d:rcbinfo"); RCBinfo rcbone; rcbone.dim = comm->rcbcutdim; if (rcbone.dim <= 0) rcbone.cut = inxlo; @@ -580,7 +580,7 @@ void GridComm::setup_tiled(int &nbuf1, int &nbuf2) pbc[0] = pbc[1] = pbc[2] = 0; - memory->create(overlap_procs,nprocs,"GridComm:overlap_procs"); + memory->create(overlap_procs,nprocs,"grid3d:overlap_procs"); noverlap = maxoverlap = 0; overlap = nullptr; @@ -591,9 +591,9 @@ void GridComm::setup_tiled(int &nbuf1, int &nbuf2) // ncopy = # of overlaps with myself, across a periodic boundary int *proclist; - memory->create(proclist,noverlap,"GridComm:proclist"); + memory->create(proclist,noverlap,"grid3d:proclist"); srequest = (Request *) - memory->smalloc(noverlap*sizeof(Request),"GridComm:srequest"); + memory->smalloc(noverlap*sizeof(Request),"grid3d:srequest"); int nsend_request = 0; ncopy = 0; @@ -612,17 +612,17 @@ void GridComm::setup_tiled(int &nbuf1, int &nbuf2) auto irregular = new Irregular(lmp); int nrecv_request = irregular->create_data(nsend_request,proclist,1); - auto rrequest = (Request *) memory->smalloc(nrecv_request*sizeof(Request),"GridComm:rrequest"); + auto rrequest = (Request *) memory->smalloc(nrecv_request*sizeof(Request),"grid3d:rrequest"); irregular->exchange_data((char *) srequest,sizeof(Request),(char *) rrequest); irregular->destroy_data(); // compute overlaps between received ghost boxes and my owned box // overlap box used to setup my Send data struct and respond to requests - send = (Send *) memory->smalloc(nrecv_request*sizeof(Send),"GridComm:send"); - sresponse = (Response *) memory->smalloc(nrecv_request*sizeof(Response),"GridComm:sresponse"); + send = (Send *) memory->smalloc(nrecv_request*sizeof(Send),"grid3d:send"); + sresponse = (Response *) memory->smalloc(nrecv_request*sizeof(Response),"grid3d:sresponse"); memory->destroy(proclist); - memory->create(proclist,nrecv_request,"GridComm:proclist"); + memory->create(proclist,nrecv_request,"grid3d:proclist"); for (m = 0; m < nrecv_request; m++) { send[m].proc = rrequest[m].sender; @@ -651,7 +651,7 @@ void GridComm::setup_tiled(int &nbuf1, int &nbuf2) int nsend_response = nrecv_request; int nrecv_response = irregular->create_data(nsend_response,proclist,1); - auto rresponse = (Response *) memory->smalloc(nrecv_response*sizeof(Response),"GridComm:rresponse"); + auto rresponse = (Response *) memory->smalloc(nrecv_response*sizeof(Response),"grid3d:rresponse"); irregular->exchange_data((char *) sresponse,sizeof(Response),(char *) rresponse); irregular->destroy_data(); delete irregular; @@ -660,7 +660,7 @@ void GridComm::setup_tiled(int &nbuf1, int &nbuf2) // box used to setup my Recv data struct after unwrapping via PBC // adjacent = 0 if any box of ghost cells does not adjoin my owned cells - recv = (Recv *) memory->smalloc(nrecv_response*sizeof(Recv),"GridComm:recv"); + recv = (Recv *) memory->smalloc(nrecv_response*sizeof(Recv),"grid3d:recv"); adjacent = 1; for (i = 0; i < nrecv_response; i++) { @@ -683,7 +683,7 @@ void GridComm::setup_tiled(int &nbuf1, int &nbuf2) // create Copy data struct from overlaps with self - copy = (Copy *) memory->smalloc(ncopy*sizeof(Copy),"GridComm:copy"); + copy = (Copy *) memory->smalloc(ncopy*sizeof(Copy),"grid3d:copy"); ncopy = 0; for (m = 0; m < noverlap; m++) { @@ -770,7 +770,7 @@ void GridComm::setup_tiled(int &nbuf1, int &nbuf2) add all the procs it overlaps with to Overlap list ------------------------------------------------------------------------- */ -void GridComm::ghost_box_drop(int *box, int *pbc) +void Grid3d::ghost_box_drop(int *box, int *pbc) { int i,m; @@ -855,7 +855,7 @@ void GridComm::ghost_box_drop(int *box, int *pbc) return Np = # of procs, plist = proc IDs ------------------------------------------------------------------------- */ -void GridComm::box_drop_grid(int *box, int proclower, int procupper, +void Grid3d::box_drop_grid(int *box, int proclower, int procupper, int &np, int *plist) { // end recursion when partition is a single proc @@ -886,7 +886,7 @@ void GridComm::box_drop_grid(int *box, int proclower, int procupper, return 1 if yes, 0 if no ------------------------------------------------------------------------- */ -int GridComm::ghost_adjacent() +int Grid3d::ghost_adjacent() { if (layout == REGULAR) return ghost_adjacent_regular(); return ghost_adjacent_tiled(); @@ -897,7 +897,7 @@ int GridComm::ghost_adjacent() return 0 if adjacent=0 for any proc, else 1 ------------------------------------------------------------------------- */ -int GridComm::ghost_adjacent_regular() +int Grid3d::ghost_adjacent_regular() { adjacent = 1; if (ghostxlo > inxhi-inxlo+1) adjacent = 0; @@ -918,7 +918,7 @@ int GridComm::ghost_adjacent_regular() return 0 if adjacent=0 for any proc, else 1 ------------------------------------------------------------------------- */ -int GridComm::ghost_adjacent_tiled() +int Grid3d::ghost_adjacent_tiled() { int adjacent_all; MPI_Allreduce(&adjacent,&adjacent_all,1,MPI_INT,MPI_MIN,gridcomm); @@ -929,7 +929,7 @@ int GridComm::ghost_adjacent_tiled() forward comm of my owned cells to other's ghost cells ------------------------------------------------------------------------- */ -void GridComm::forward_comm(int caller, void *ptr, int nper, int nbyte, int which, +void Grid3d::forward_comm(int caller, void *ptr, int nper, int nbyte, int which, void *buf1, void *buf2, MPI_Datatype datatype) { if (layout == REGULAR) { @@ -960,7 +960,7 @@ void GridComm::forward_comm(int caller, void *ptr, int nper, int nbyte, int whic ------------------------------------------------------------------------- */ template < class T > -void GridComm:: +void Grid3d:: forward_comm_regular(T *ptr, int nper, int /*nbyte*/, int which, void *buf1, void *buf2, MPI_Datatype datatype) { @@ -990,7 +990,7 @@ forward_comm_regular(T *ptr, int nper, int /*nbyte*/, int which, ------------------------------------------------------------------------- */ template < class T > -void GridComm:: +void Grid3d:: forward_comm_tiled(T *ptr, int nper, int nbyte, int which, void *buf1, void *vbuf2, MPI_Datatype datatype) { @@ -1034,7 +1034,7 @@ forward_comm_tiled(T *ptr, int nper, int nbyte, int which, reverse comm of my ghost cells to sum to owner cells ------------------------------------------------------------------------- */ -void GridComm::reverse_comm(int caller, void *ptr, int nper, int nbyte, int which, +void Grid3d::reverse_comm(int caller, void *ptr, int nper, int nbyte, int which, void *buf1, void *buf2, MPI_Datatype datatype) { if (layout == REGULAR) { @@ -1065,7 +1065,7 @@ void GridComm::reverse_comm(int caller, void *ptr, int nper, int nbyte, int whic ------------------------------------------------------------------------- */ template < class T > -void GridComm:: +void Grid3d:: reverse_comm_regular(T *ptr, int nper, int /*nbyte*/, int which, void *buf1, void *buf2, MPI_Datatype datatype) { @@ -1095,7 +1095,7 @@ reverse_comm_regular(T *ptr, int nper, int /*nbyte*/, int which, ------------------------------------------------------------------------- */ template < class T > -void GridComm:: +void Grid3d:: reverse_comm_tiled(T *ptr, int nper, int nbyte, int which, void *buf1, void *vbuf2, MPI_Datatype datatype) { @@ -1142,7 +1142,7 @@ reverse_comm_tiled(T *ptr, int nper, int nbyte, int which, caller can decide whether to store chunks, output them, etc ------------------------------------------------------------------------- */ -void GridComm::gather(int /*caller*/, void *ptr, int nper, int nbyte, +void Grid3d::gather(int /*caller*/, void *ptr, int nper, int nbyte, int which, void *buf, MPI_Datatype datatype) { int me = comm->me; @@ -1158,8 +1158,8 @@ void GridComm::gather(int /*caller*/, void *ptr, int nper, int nbyte, // pack my data via callback to caller char *mybuf; - if (me == 0) memory->create(mybuf,maxsize*nbyte,"GridComm:mybuf"); - else memory->create(mybuf,mysize*nbyte,"GridComm:mybuf"); + if (me == 0) memory->create(mybuf,maxsize*nbyte,"grid3d:mybuf"); + else memory->create(mybuf,mysize*nbyte,"grid3d:mybuf"); fptr->pack_gather_grid(which,mybuf); // ping each proc for its data @@ -1219,10 +1219,10 @@ void GridComm::gather(int /*caller*/, void *ptr, int nper, int nbyte, same swap list used by forward and reverse communication ------------------------------------------------------------------------- */ -void GridComm::grow_swap() +void Grid3d::grow_swap() { maxswap += DELTA; - swap = (Swap *) memory->srealloc(swap,maxswap*sizeof(Swap),"GridComm:swap"); + swap = (Swap *) memory->srealloc(swap,maxswap*sizeof(Swap),"grid3d:swap"); } /* ---------------------------------------------------------------------- @@ -1233,11 +1233,11 @@ void GridComm::grow_swap() same swap list used by forward and reverse communication ------------------------------------------------------------------------- */ -void GridComm::grow_overlap() +void Grid3d::grow_overlap() { maxoverlap += DELTA; overlap = (Overlap *) - memory->srealloc(overlap,maxoverlap*sizeof(Overlap),"GridComm:overlap"); + memory->srealloc(overlap,maxoverlap*sizeof(Overlap),"grid3d:overlap"); } /* ---------------------------------------------------------------------- @@ -1246,11 +1246,11 @@ void GridComm::grow_overlap() (fullxlo:fullxhi,fullylo:fullyhi,fullzlo:fullzhi) ------------------------------------------------------------------------- */ -int GridComm::indices(int *&list, +int Grid3d::indices(int *&list, int xlo, int xhi, int ylo, int yhi, int zlo, int zhi) { int nmax = (xhi-xlo+1) * (yhi-ylo+1) * (zhi-zlo+1); - memory->create(list,nmax,"GridComm:indices"); + memory->create(list,nmax,"grid3d:indices"); if (nmax == 0) return 0; int nx = (fullxhi-fullxlo+1); diff --git a/src/gridcomm.h b/src/grid2d.h similarity index 95% rename from src/gridcomm.h rename to src/grid2d.h index 011faad9fb..5a48b8a6df 100644 --- a/src/gridcomm.h +++ b/src/grid2d.h @@ -11,22 +11,22 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#ifndef LMP_GRIDCOMM_H -#define LMP_GRIDCOMM_H +#ifndef LMP_GRID2D_H +#define LMP_GRID2D_H #include "pointers.h" namespace LAMMPS_NS { -class GridComm : protected Pointers { +class Grid2d : protected Pointers { public: enum { KSPACE = 0, PAIR = 1, FIX = 2 }; // calling classes - GridComm(class LAMMPS *, MPI_Comm, int, int, int, int, int, int, int, int, int, int, int, int, + Grid2d(class LAMMPS *, MPI_Comm, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int); - GridComm(class LAMMPS *, MPI_Comm, int, int, int, int, int, int, int, int, int, int, int, int, + Grid2d(class LAMMPS *, MPI_Comm, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int); - ~GridComm() override; + ~Grid2d() override; void setup(int &, int &); int ghost_adjacent(); void forward_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); diff --git a/src/grid3d.cpp b/src/grid3d.cpp new file mode 100644 index 0000000000..f96770d3c9 --- /dev/null +++ b/src/grid3d.cpp @@ -0,0 +1,1267 @@ +// clang-format off +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "grid3d.h" + +#include "comm.h" +#include "error.h" +#include "irregular.h" +#include "pair.h" +#include "kspace.h" +#include "fix.h" +#include "memory.h" + +using namespace LAMMPS_NS; + +enum{REGULAR,TILED}; + +#define DELTA 16 + +/* ---------------------------------------------------------------------- + NOTES + tiled implementation only currently works for RCB, not general tiled + b/c RCB tree is used to find neighboring tiles + if o indices for ghosts are < 0 or hi indices are >= N, + then grid is treated as periodic in that dimension, + communication is done across the periodic boundaries +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + constructor called by all classes except MSM + gcomm = world communicator + gn xyz = size of global grid + i xyz lohi = portion of global grid this proc owns, 0 <= index < N + o xyz lohi = owned grid portion + ghost grid cells needed in all directions + if o indices are < 0 or hi indices are >= N, + then grid is treated as periodic in that dimension, + communication is done across the periodic boundaries +------------------------------------------------------------------------- */ + +Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, + int gnx, int gny, int gnz, + int ixlo, int ixhi, int iylo, int iyhi, int izlo, int izhi, + int oxlo, int oxhi, int oylo, int oyhi, int ozlo, int ozhi) + : Pointers(lmp) +{ + if (comm->layout == Comm::LAYOUT_TILED) layout = TILED; + else layout = REGULAR; + + if (layout == REGULAR) { + int (*procneigh)[2] = comm->procneigh; + initialize(gcomm,gnx,gny,gnz, + ixlo,ixhi,iylo,iyhi,izlo,izhi, + oxlo,oxhi,oylo,oyhi,ozlo,ozhi, + oxlo,oxhi,oylo,oyhi,ozlo,ozhi, + procneigh[0][0],procneigh[0][1], + procneigh[1][0],procneigh[1][1], + procneigh[2][0],procneigh[2][1]); + } else { + initialize(gcomm,gnx,gny,gnz, + ixlo,ixhi,iylo,iyhi,izlo,izhi, + oxlo,oxhi,oylo,oyhi,ozlo,ozhi, + oxlo,oxhi,oylo,oyhi,ozlo,ozhi, + 0,0,0,0,0,0); + } +} + +/* ---------------------------------------------------------------------- + constructor called by MSM + gcomm = world communicator or sub-communicator for a hierarchical grid + flag = 1 if e xyz lohi values = larger grid stored by caller in gcomm = world + flag = 2 if e xyz lohi values = 6 neighbor procs in gcomm + gn xyz = size of global grid + i xyz lohi = portion of global grid this proc owns, 0 <= index < N + o xyz lohi = owned grid portion + ghost grid cells needed in all directions + e xyz lohi for flag = 1: extent of larger grid stored by caller + e xyz lohi for flag = 2: 6 neighbor procs +------------------------------------------------------------------------- */ + +Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, int flag, + int gnx, int gny, int gnz, + int ixlo, int ixhi, int iylo, int iyhi, int izlo, int izhi, + int oxlo, int oxhi, int oylo, int oyhi, int ozlo, int ozhi, + int exlo, int exhi, int eylo, int eyhi, int ezlo, int ezhi) + : Pointers(lmp) +{ + if (comm->layout == Comm::LAYOUT_TILED) layout = TILED; + else layout = REGULAR; + + if (flag == 1) { + if (layout == REGULAR) { + // this assumes gcomm = world + int (*procneigh)[2] = comm->procneigh; + initialize(gcomm,gnx,gny,gnz, + ixlo,ixhi,iylo,iyhi,izlo,izhi, + oxlo,oxhi,oylo,oyhi,ozlo,ozhi, + exlo,exhi,eylo,eyhi,ezlo,ezhi, + procneigh[0][0],procneigh[0][1], + procneigh[1][0],procneigh[1][1], + procneigh[2][0],procneigh[2][1]); + } else { + initialize(gcomm,gnx,gny,gnz, + ixlo,ixhi,iylo,iyhi,izlo,izhi, + oxlo,oxhi,oylo,oyhi,ozlo,ozhi, + exlo,exhi,eylo,eyhi,ezlo,ezhi, + 0,0,0,0,0,0); + } + + } else if (flag == 2) { + if (layout == REGULAR) { + initialize(gcomm,gnx,gny,gnz, + ixlo,ixhi,iylo,iyhi,izlo,izhi, + oxlo,oxhi,oylo,oyhi,ozlo,ozhi, + oxlo,oxhi,oylo,oyhi,ozlo,ozhi, + exlo,exhi,eylo,eyhi,ezlo,ezhi); + } else { + error->all(FLERR,"Grid3d does not support tiled layout with neighbor procs"); + } + } +} + +/* ---------------------------------------------------------------------- */ + +Grid3d::~Grid3d() +{ + // regular comm data struct + + for (int i = 0; i < nswap; i++) { + memory->destroy(swap[i].packlist); + memory->destroy(swap[i].unpacklist); + } + memory->sfree(swap); + + // tiled comm data structs + + for (int i = 0; i < nsend; i++) + memory->destroy(send[i].packlist); + memory->sfree(send); + + for (int i = 0; i < nrecv; i++) + memory->destroy(recv[i].unpacklist); + memory->sfree(recv); + + for (int i = 0; i < ncopy; i++) { + memory->destroy(copy[i].packlist); + memory->destroy(copy[i].unpacklist); + } + memory->sfree(copy); + + delete [] requests; +} + +/* ---------------------------------------------------------------------- + store constructor args in local variables +------------------------------------------------------------------------- */ + +void Grid3d::initialize(MPI_Comm gcomm, + int gnx, int gny, int gnz, + int ixlo, int ixhi, int iylo, int iyhi, + int izlo, int izhi, + int oxlo, int oxhi, int oylo, int oyhi, + int ozlo, int ozhi, + int fxlo, int fxhi, int fylo, int fyhi, + int fzlo, int fzhi, + int pxlo, int pxhi, int pylo, int pyhi, + int pzlo, int pzhi) +{ + gridcomm = gcomm; + MPI_Comm_rank(gridcomm,&me); + MPI_Comm_size(gridcomm,&nprocs); + + nx = gnx; + ny = gny; + nz = gnz; + + inxlo = ixlo; + inxhi = ixhi; + inylo = iylo; + inyhi = iyhi; + inzlo = izlo; + inzhi = izhi; + + outxlo = oxlo; + outxhi = oxhi; + outylo = oylo; + outyhi = oyhi; + outzlo = ozlo; + outzhi = ozhi; + + fullxlo = fxlo; + fullxhi = fxhi; + fullylo = fylo; + fullyhi = fyhi; + fullzlo = fzlo; + fullzhi = fzhi; + + // for REGULAR layout, proc xyz lohi = my 6 neighbor procs in this MPI_Comm + + if (layout == REGULAR) { + procxlo = pxlo; + procxhi = pxhi; + procylo = pylo; + procyhi = pyhi; + proczlo = pzlo; + proczhi = pzhi; + } + + // internal data initializations + + nswap = maxswap = 0; + swap = nullptr; + + nsend = nrecv = ncopy = 0; + send = nullptr; + recv = nullptr; + copy = nullptr; + requests = nullptr; +} + +/* ---------------------------------------------------------------------- */ + +void Grid3d::setup(int &nbuf1, int &nbuf2) +{ + if (layout == REGULAR) setup_regular(nbuf1,nbuf2); + else setup_tiled(nbuf1,nbuf2); +} + +/* ---------------------------------------------------------------------- + setup comm for a regular grid of procs + each proc has 6 neighbors + comm pattern = series of swaps with one of those 6 procs + can be multiple swaps with same proc if ghost extent is large + swap may not be symmetric if both procs do not need same layers of ghosts + all procs perform same # of swaps in a direction, even if some don't need it +------------------------------------------------------------------------- */ + +void Grid3d::setup_regular(int &nbuf1, int &nbuf2) +{ + int nsent,sendfirst,sendlast,recvfirst,recvlast; + int sendplanes,recvplanes; + int notdoneme,notdone; + + // notify 6 neighbor procs how many ghost grid planes I need from them + // ghost xyz lo = # of my lower grid planes that proc xyz lo needs as its ghosts + // ghost xyz hi = # of my upper grid planes that proc xyz hi needs as its ghosts + // if this proc is its own neighbor across periodic bounary, value is from self + + int nplanes = inxlo - outxlo; + if (procxlo != me) + MPI_Sendrecv(&nplanes,1,MPI_INT,procxlo,0, + &ghostxhi,1,MPI_INT,procxhi,0,gridcomm,MPI_STATUS_IGNORE); + else ghostxhi = nplanes; + + nplanes = outxhi - inxhi; + if (procxhi != me) + MPI_Sendrecv(&nplanes,1,MPI_INT,procxhi,0, + &ghostxlo,1,MPI_INT,procxlo,0,gridcomm,MPI_STATUS_IGNORE); + else ghostxlo = nplanes; + + nplanes = inylo - outylo; + if (procylo != me) + MPI_Sendrecv(&nplanes,1,MPI_INT,procylo,0, + &ghostyhi,1,MPI_INT,procyhi,0,gridcomm,MPI_STATUS_IGNORE); + else ghostyhi = nplanes; + + nplanes = outyhi - inyhi; + if (procyhi != me) + MPI_Sendrecv(&nplanes,1,MPI_INT,procyhi,0, + &ghostylo,1,MPI_INT,procylo,0,gridcomm,MPI_STATUS_IGNORE); + else ghostylo = nplanes; + + nplanes = inzlo - outzlo; + if (proczlo != me) + MPI_Sendrecv(&nplanes,1,MPI_INT,proczlo,0, + &ghostzhi,1,MPI_INT,proczhi,0,gridcomm,MPI_STATUS_IGNORE); + else ghostzhi = nplanes; + + nplanes = outzhi - inzhi; + if (proczhi != me) + MPI_Sendrecv(&nplanes,1,MPI_INT,proczhi,0, + &ghostzlo,1,MPI_INT,proczlo,0,gridcomm,MPI_STATUS_IGNORE); + else ghostzlo = nplanes; + + // setup swaps = exchange of grid data with one of 6 neighobr procs + // can be more than one in a direction if ghost region extends beyond neigh proc + // all procs have same swap count, but swapsize npack/nunpack can be empty + + nswap = 0; + + // send own grid pts to -x processor, recv ghost grid pts from +x processor + + nsent = 0; + sendfirst = inxlo; + sendlast = inxhi; + recvfirst = inxhi+1; + notdone = 1; + + while (notdone) { + if (nswap == maxswap) grow_swap(); + + swap[nswap].sendproc = procxlo; + swap[nswap].recvproc = procxhi; + sendplanes = MIN(sendlast-sendfirst+1,ghostxlo-nsent); + swap[nswap].npack = + indices(swap[nswap].packlist, + sendfirst,sendfirst+sendplanes-1,inylo,inyhi,inzlo,inzhi); + + if (procxlo != me) + MPI_Sendrecv(&sendplanes,1,MPI_INT,procxlo,0, + &recvplanes,1,MPI_INT,procxhi,0,gridcomm,MPI_STATUS_IGNORE); + else recvplanes = sendplanes; + + swap[nswap].nunpack = + indices(swap[nswap].unpacklist, + recvfirst,recvfirst+recvplanes-1,inylo,inyhi,inzlo,inzhi); + + nsent += sendplanes; + sendfirst += sendplanes; + sendlast += recvplanes; + recvfirst += recvplanes; + nswap++; + + if (nsent < ghostxlo) notdoneme = 1; + else notdoneme = 0; + MPI_Allreduce(¬doneme,¬done,1,MPI_INT,MPI_SUM,gridcomm); + } + + // send own grid pts to +x processor, recv ghost grid pts from -x processor + + nsent = 0; + sendfirst = inxlo; + sendlast = inxhi; + recvlast = inxlo-1; + notdone = 1; + + while (notdone) { + if (nswap == maxswap) grow_swap(); + + swap[nswap].sendproc = procxhi; + swap[nswap].recvproc = procxlo; + sendplanes = MIN(sendlast-sendfirst+1,ghostxhi-nsent); + swap[nswap].npack = + indices(swap[nswap].packlist, + sendlast-sendplanes+1,sendlast,inylo,inyhi,inzlo,inzhi); + + if (procxhi != me) + MPI_Sendrecv(&sendplanes,1,MPI_INT,procxhi,0, + &recvplanes,1,MPI_INT,procxlo,0,gridcomm,MPI_STATUS_IGNORE); + else recvplanes = sendplanes; + + swap[nswap].nunpack = + indices(swap[nswap].unpacklist, + recvlast-recvplanes+1,recvlast,inylo,inyhi,inzlo,inzhi); + + nsent += sendplanes; + sendfirst -= recvplanes; + sendlast -= sendplanes; + recvlast -= recvplanes; + nswap++; + + if (nsent < ghostxhi) notdoneme = 1; + else notdoneme = 0; + MPI_Allreduce(¬doneme,¬done,1,MPI_INT,MPI_SUM,gridcomm); + } + + // send own grid pts to -y processor, recv ghost grid pts from +y processor + + nsent = 0; + sendfirst = inylo; + sendlast = inyhi; + recvfirst = inyhi+1; + notdone = 1; + + while (notdone) { + if (nswap == maxswap) grow_swap(); + + swap[nswap].sendproc = procylo; + swap[nswap].recvproc = procyhi; + sendplanes = MIN(sendlast-sendfirst+1,ghostylo-nsent); + swap[nswap].npack = + indices(swap[nswap].packlist, + outxlo,outxhi,sendfirst,sendfirst+sendplanes-1,inzlo,inzhi); + + if (procylo != me) + MPI_Sendrecv(&sendplanes,1,MPI_INT,procylo,0, + &recvplanes,1,MPI_INT,procyhi,0,gridcomm,MPI_STATUS_IGNORE); + else recvplanes = sendplanes; + + swap[nswap].nunpack = + indices(swap[nswap].unpacklist, + outxlo,outxhi,recvfirst,recvfirst+recvplanes-1,inzlo,inzhi); + + nsent += sendplanes; + sendfirst += sendplanes; + sendlast += recvplanes; + recvfirst += recvplanes; + nswap++; + + if (nsent < ghostylo) notdoneme = 1; + else notdoneme = 0; + MPI_Allreduce(¬doneme,¬done,1,MPI_INT,MPI_SUM,gridcomm); + } + + // send own grid pts to +y processor, recv ghost grid pts from -y processor + + nsent = 0; + sendfirst = inylo; + sendlast = inyhi; + recvlast = inylo-1; + notdone = 1; + + while (notdone) { + if (nswap == maxswap) grow_swap(); + + swap[nswap].sendproc = procyhi; + swap[nswap].recvproc = procylo; + sendplanes = MIN(sendlast-sendfirst+1,ghostyhi-nsent); + swap[nswap].npack = + indices(swap[nswap].packlist, + outxlo,outxhi,sendlast-sendplanes+1,sendlast,inzlo,inzhi); + + if (procyhi != me) + MPI_Sendrecv(&sendplanes,1,MPI_INT,procyhi,0, + &recvplanes,1,MPI_INT,procylo,0,gridcomm,MPI_STATUS_IGNORE); + else recvplanes = sendplanes; + + swap[nswap].nunpack = + indices(swap[nswap].unpacklist, + outxlo,outxhi,recvlast-recvplanes+1,recvlast,inzlo,inzhi); + + nsent += sendplanes; + sendfirst -= recvplanes; + sendlast -= sendplanes; + recvlast -= recvplanes; + nswap++; + + if (nsent < ghostyhi) notdoneme = 1; + else notdoneme = 0; + MPI_Allreduce(¬doneme,¬done,1,MPI_INT,MPI_SUM,gridcomm); + } + + // send own grid pts to -z processor, recv ghost grid pts from +z processor + + nsent = 0; + sendfirst = inzlo; + sendlast = inzhi; + recvfirst = inzhi+1; + notdone = 1; + + while (notdone) { + if (nswap == maxswap) grow_swap(); + + swap[nswap].sendproc = proczlo; + swap[nswap].recvproc = proczhi; + sendplanes = MIN(sendlast-sendfirst+1,ghostzlo-nsent); + swap[nswap].npack = + indices(swap[nswap].packlist, + outxlo,outxhi,outylo,outyhi,sendfirst,sendfirst+sendplanes-1); + + if (proczlo != me) + MPI_Sendrecv(&sendplanes,1,MPI_INT,proczlo,0, + &recvplanes,1,MPI_INT,proczhi,0,gridcomm,MPI_STATUS_IGNORE); + else recvplanes = sendplanes; + + swap[nswap].nunpack = + indices(swap[nswap].unpacklist, + outxlo,outxhi,outylo,outyhi,recvfirst,recvfirst+recvplanes-1); + + nsent += sendplanes; + sendfirst += sendplanes; + sendlast += recvplanes; + recvfirst += recvplanes; + nswap++; + + if (nsent < ghostzlo) notdoneme = 1; + else notdoneme = 0; + MPI_Allreduce(¬doneme,¬done,1,MPI_INT,MPI_SUM,gridcomm); + } + + // send own grid pts to +z processor, recv ghost grid pts from -z processor + + nsent = 0; + sendfirst = inzlo; + sendlast = inzhi; + recvlast = inzlo-1; + notdone = 1; + + while (notdone) { + if (nswap == maxswap) grow_swap(); + + swap[nswap].sendproc = proczhi; + swap[nswap].recvproc = proczlo; + sendplanes = MIN(sendlast-sendfirst+1,ghostzhi-nsent); + swap[nswap].npack = + indices(swap[nswap].packlist, + outxlo,outxhi,outylo,outyhi,sendlast-sendplanes+1,sendlast); + + if (proczhi != me) + MPI_Sendrecv(&sendplanes,1,MPI_INT,proczhi,0, + &recvplanes,1,MPI_INT,proczlo,0,gridcomm,MPI_STATUS_IGNORE); + else recvplanes = sendplanes; + + swap[nswap].nunpack = + indices(swap[nswap].unpacklist, + outxlo,outxhi,outylo,outyhi,recvlast-recvplanes+1,recvlast); + + nsent += sendplanes; + sendfirst -= recvplanes; + sendlast -= sendplanes; + recvlast -= recvplanes; + nswap++; + + if (nsent < ghostzhi) notdoneme = 1; + else notdoneme = 0; + MPI_Allreduce(¬doneme,¬done,1,MPI_INT,MPI_SUM,gridcomm); + } + + // ngrid = max of any forward/reverse pack/unpack grid points + + int ngrid = 0; + for (int i = 0; i < nswap; i++) { + ngrid = MAX(ngrid,swap[i].npack); + ngrid = MAX(ngrid,swap[i].nunpack); + } + + nbuf1 = nbuf2 = ngrid; +} + +/* ---------------------------------------------------------------------- + setup comm for RCB tiled proc domains + each proc has arbitrary # of neighbors that overlap its ghost extent + identify which procs will send me ghost cells, and vice versa + may not be symmetric if both procs do not need same layers of ghosts + comm pattern = post recvs for all my ghosts, send my owned, wait on recvs + no exchanges by dimension, unlike CommTiled forward/reverse comm of particles +------------------------------------------------------------------------- */ + +void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) +{ + int i,m; + double xlo,xhi,ylo,yhi,zlo,zhi; + int ghostbox[6],pbc[3]; + + // setup RCB tree of cut info for grid + // access CommTiled to get cut dimension + // cut = this proc's inlo in that dim + // dim is -1 for proc 0, but never accessed + + rcbinfo = (RCBinfo *) + memory->smalloc(nprocs*sizeof(RCBinfo),"grid3d:rcbinfo"); + RCBinfo rcbone; + rcbone.dim = comm->rcbcutdim; + if (rcbone.dim <= 0) rcbone.cut = inxlo; + else if (rcbone.dim == 1) rcbone.cut = inylo; + else if (rcbone.dim == 2) rcbone.cut = inzlo; + MPI_Allgather(&rcbone,sizeof(RCBinfo),MPI_CHAR, + rcbinfo,sizeof(RCBinfo),MPI_CHAR,gridcomm); + + // find overlaps of my extended ghost box with all other procs + // accounts for crossings of periodic boundaries + // noverlap = # of overlaps, including self + // overlap = vector of overlap info using Overlap data struct + + ghostbox[0] = outxlo; + ghostbox[1] = outxhi; + ghostbox[2] = outylo; + ghostbox[3] = outyhi; + ghostbox[4] = outzlo; + ghostbox[5] = outzhi; + + pbc[0] = pbc[1] = pbc[2] = 0; + + memory->create(overlap_procs,nprocs,"grid3d:overlap_procs"); + noverlap = maxoverlap = 0; + overlap = nullptr; + + ghost_box_drop(ghostbox,pbc); + + // send each proc an overlap message + // content: me, index of my overlap, box that overlaps with its owned cells + // ncopy = # of overlaps with myself, across a periodic boundary + + int *proclist; + memory->create(proclist,noverlap,"grid3d:proclist"); + srequest = (Request *) + memory->smalloc(noverlap*sizeof(Request),"grid3d:srequest"); + + int nsend_request = 0; + ncopy = 0; + + for (m = 0; m < noverlap; m++) { + if (overlap[m].proc == me) ncopy++; + else { + proclist[nsend_request] = overlap[m].proc; + srequest[nsend_request].sender = me; + srequest[nsend_request].index = m; + for (i = 0; i < 6; i++) + srequest[nsend_request].box[i] = overlap[m].box[i]; + nsend_request++; + } + } + + auto irregular = new Irregular(lmp); + int nrecv_request = irregular->create_data(nsend_request,proclist,1); + auto rrequest = (Request *) memory->smalloc(nrecv_request*sizeof(Request),"grid3d:rrequest"); + irregular->exchange_data((char *) srequest,sizeof(Request),(char *) rrequest); + irregular->destroy_data(); + + // compute overlaps between received ghost boxes and my owned box + // overlap box used to setup my Send data struct and respond to requests + + send = (Send *) memory->smalloc(nrecv_request*sizeof(Send),"grid3d:send"); + sresponse = (Response *) memory->smalloc(nrecv_request*sizeof(Response),"grid3d:sresponse"); + memory->destroy(proclist); + memory->create(proclist,nrecv_request,"grid3d:proclist"); + + for (m = 0; m < nrecv_request; m++) { + send[m].proc = rrequest[m].sender; + xlo = MAX(rrequest[m].box[0],inxlo); + xhi = MIN(rrequest[m].box[1],inxhi); + ylo = MAX(rrequest[m].box[2],inylo); + yhi = MIN(rrequest[m].box[3],inyhi); + zlo = MAX(rrequest[m].box[4],inzlo); + zhi = MIN(rrequest[m].box[5],inzhi); + send[m].npack = indices(send[m].packlist,xlo,xhi,ylo,yhi,zlo,zhi); + + proclist[m] = rrequest[m].sender; + sresponse[m].index = rrequest[m].index; + sresponse[m].box[0] = xlo; + sresponse[m].box[1] = xhi; + sresponse[m].box[2] = ylo; + sresponse[m].box[3] = yhi; + sresponse[m].box[4] = zlo; + sresponse[m].box[5] = zhi; + } + + nsend = nrecv_request; + + // reply to each Request message with a Response message + // content: index for the overlap on requestor, overlap box on my owned grid + + int nsend_response = nrecv_request; + int nrecv_response = irregular->create_data(nsend_response,proclist,1); + auto rresponse = (Response *) memory->smalloc(nrecv_response*sizeof(Response),"grid3d:rresponse"); + irregular->exchange_data((char *) sresponse,sizeof(Response),(char *) rresponse); + irregular->destroy_data(); + delete irregular; + + // process received responses + // box used to setup my Recv data struct after unwrapping via PBC + // adjacent = 0 if any box of ghost cells does not adjoin my owned cells + + recv = (Recv *) memory->smalloc(nrecv_response*sizeof(Recv),"grid3d:recv"); + adjacent = 1; + + for (i = 0; i < nrecv_response; i++) { + m = rresponse[i].index; + recv[i].proc = overlap[m].proc; + xlo = rresponse[i].box[0] + overlap[m].pbc[0] * nx; + xhi = rresponse[i].box[1] + overlap[m].pbc[0] * nx; + ylo = rresponse[i].box[2] + overlap[m].pbc[1] * ny; + yhi = rresponse[i].box[3] + overlap[m].pbc[1] * ny; + zlo = rresponse[i].box[4] + overlap[m].pbc[2] * nz; + zhi = rresponse[i].box[5] + overlap[m].pbc[2] * nz; + recv[i].nunpack = indices(recv[i].unpacklist,xlo,xhi,ylo,yhi,zlo,zhi); + + if (xlo != inxhi+1 && xhi != inxlo-1 && + ylo != inyhi+1 && yhi != inylo-1 && + zlo != inzhi+1 && zhi != inzlo-1) adjacent = 0; + } + + nrecv = nrecv_response; + + // create Copy data struct from overlaps with self + + copy = (Copy *) memory->smalloc(ncopy*sizeof(Copy),"grid3d:copy"); + + ncopy = 0; + for (m = 0; m < noverlap; m++) { + if (overlap[m].proc != me) continue; + xlo = overlap[m].box[0]; + xhi = overlap[m].box[1]; + ylo = overlap[m].box[2]; + yhi = overlap[m].box[3]; + zlo = overlap[m].box[4]; + zhi = overlap[m].box[5]; + copy[ncopy].npack = indices(copy[ncopy].packlist,xlo,xhi,ylo,yhi,zlo,zhi); + xlo = overlap[m].box[0] + overlap[m].pbc[0] * nx; + xhi = overlap[m].box[1] + overlap[m].pbc[0] * nx; + ylo = overlap[m].box[2] + overlap[m].pbc[1] * ny; + yhi = overlap[m].box[3] + overlap[m].pbc[1] * ny; + zlo = overlap[m].box[4] + overlap[m].pbc[2] * nz; + zhi = overlap[m].box[5] + overlap[m].pbc[2] * nz; + copy[ncopy].nunpack = indices(copy[ncopy].unpacklist,xlo,xhi,ylo,yhi,zlo,zhi); + ncopy++; + } + + // set offsets for received data + + int offset = 0; + for (m = 0; m < nsend; m++) { + send[m].offset = offset; + offset += send[m].npack; + } + + offset = 0; + for (m = 0; m < nrecv; m++) { + recv[m].offset = offset; + offset += recv[m].nunpack; + } + + // length of MPI requests vector is max of nsend, nrecv + + int nrequest = MAX(nsend,nrecv); + requests = new MPI_Request[nrequest]; + + // clean-up + + memory->sfree(rcbinfo); + memory->destroy(proclist); + memory->destroy(overlap_procs); + memory->sfree(overlap); + memory->sfree(srequest); + memory->sfree(rrequest); + memory->sfree(sresponse); + memory->sfree(rresponse); + + // nbuf1 = largest pack or unpack in any Send or Recv or Copy + // nbuf2 = larget of sum of all packs or unpacks in Send or Recv + + nbuf1 = 0; + + for (m = 0; m < ncopy; m++) { + nbuf1 = MAX(nbuf1,copy[m].npack); + nbuf1 = MAX(nbuf1,copy[m].nunpack); + } + + int nbufs = 0; + for (m = 0; m < nsend; m++) { + nbuf1 = MAX(nbuf1,send[m].npack); + nbufs += send[m].npack; + } + + int nbufr = 0; + for (m = 0; m < nrecv; m++) { + nbuf1 = MAX(nbuf1,recv[m].nunpack); + nbufr += recv[m].nunpack; + } + + nbuf2 = MAX(nbufs,nbufr); +} + +/* ---------------------------------------------------------------------- + recursively split a box until it doesn't overlap any periodic boundaries + box = 6 integers = (xlo,xhi,ylo,yhi,zlo,zhi) + each lo/hi value may extend beyonw 0 to N-1 into another periodic image + pbc = flags in each dim of which periodic image the caller box was in + when a box straddles a periodic bounadry, split it in two + when a box does not straddle, drop it down RCB tree + add all the procs it overlaps with to Overlap list +------------------------------------------------------------------------- */ + +void Grid3d::ghost_box_drop(int *box, int *pbc) +{ + int i,m; + + // newbox12 and newpbc are initially copies of caller box and pbc + + int newbox1[6],newbox2[6],newpbc[3]; + + for (i = 0; i < 6; i++) newbox1[i] = newbox2[i] = box[i]; + for (i = 0; i < 3; i++) newpbc[i] = pbc[i]; + + // 6 if tests to see if box needs to be split across a periodic boundary + // newbox1 and 2 = new split boxes, newpbc increments current pbc + // final else is no split + + int splitflag = 1; + + if (box[0] < 0) { + newbox1[0] = 0; + newbox2[0] = box[0] + nx; + newbox2[1] = nx - 1; + newpbc[0]--; + } else if (box[1] >= nx) { + newbox1[1] = nx - 1; + newbox2[0] = 0; + newbox2[1] = box[1] - nx; + newpbc[0]++; + } else if (box[2] < 0) { + newbox1[2] = 0; + newbox2[2] = box[2] + ny; + newbox2[3] = ny - 1; + newpbc[1]--; + } else if (box[3] >= ny) { + newbox1[3] = ny - 1; + newbox2[2] = 0; + newbox2[3] = box[3] - ny; + newpbc[1]++; + } else if (box[4] < 0) { + newbox1[4] = 0; + newbox2[4] = box[4] + nz; + newbox2[5] = nz - 1; + newpbc[2]--; + } else if (box[5] >= nz) { + newbox1[5] = nz - 1; + newbox2[4] = 0; + newbox2[5] = box[5] - nz; + newpbc[2]++; + + // box is not split, drop on RCB tree + // returns nprocs = # of procs it overlaps, including self + // returns proc_overlap = list of proc IDs it overlaps + // skip self overlap if no crossing of periodic boundaries + // do not skip self if overlap is in another periodic image + + } else { + splitflag = 0; + int np = 0; + box_drop_grid(box,0,nprocs-1,np,overlap_procs); + for (m = 0; m < np; m++) { + if (noverlap == maxoverlap) grow_overlap(); + if (overlap_procs[m] == me && + pbc[0] == 0 && pbc[1] == 0 && pbc[2] == 0) continue; + overlap[noverlap].proc = overlap_procs[m]; + for (i = 0; i < 6; i++) overlap[noverlap].box[i] = box[i]; + for (i = 0; i < 3; i++) overlap[noverlap].pbc[i] = pbc[i]; + noverlap++; + } + } + + // recurse with 2 split boxes + + if (splitflag) { + ghost_box_drop(newbox1,pbc); + ghost_box_drop(newbox2,newpbc); + } +} + +/* ---------------------------------------------------------------------- + recursively drop a box down the RCB tree to find all procs it overlaps with + box = 6 integers = (xlo,xhi,ylo,yhi,zlo,zhi) + each lo/hi value ranges from 0 to N-1 in a dim, N = grid size in that dim + box is guaranteed to be wholly within the global domain + return Np = # of procs, plist = proc IDs +------------------------------------------------------------------------- */ + +void Grid3d::box_drop_grid(int *box, int proclower, int procupper, + int &np, int *plist) +{ + // end recursion when partition is a single proc + // add proclower to plist + + if (proclower == procupper) { + plist[np++] = proclower; + return; + } + + // drop box on each side of cut it extends beyond + // use < and >= criteria so does not include a box it only touches + // procmid = 1st processor in upper half of partition + // = location in tree that stores this cut + // cut = index of first grid cell in upper partition + // dim = 0,1,2 dimension of cut + + int procmid = proclower + (procupper - proclower) / 2 + 1; + int dim = rcbinfo[procmid].dim; + int cut = rcbinfo[procmid].cut; + + if (box[2*dim] < cut) box_drop_grid(box,proclower,procmid-1,np,plist); + if (box[2*dim+1] >= cut) box_drop_grid(box,procmid,procupper,np,plist); +} + +/* ---------------------------------------------------------------------- + check if all procs only need ghost info from adjacent procs + return 1 if yes, 0 if no +------------------------------------------------------------------------- */ + +int Grid3d::ghost_adjacent() +{ + if (layout == REGULAR) return ghost_adjacent_regular(); + return ghost_adjacent_tiled(); +} + +/* ---------------------------------------------------------------------- + adjacent = 0 if a proc's ghost xyz lohi values exceed its subdomain size + return 0 if adjacent=0 for any proc, else 1 +------------------------------------------------------------------------- */ + +int Grid3d::ghost_adjacent_regular() +{ + adjacent = 1; + if (ghostxlo > inxhi-inxlo+1) adjacent = 0; + if (ghostxhi > inxhi-inxlo+1) adjacent = 0; + if (ghostylo > inyhi-inylo+1) adjacent = 0; + if (ghostyhi > inyhi-inylo+1) adjacent = 0; + if (ghostzlo > inzhi-inzlo+1) adjacent = 0; + if (ghostzhi > inzhi-inzlo+1) adjacent = 0; + + int adjacent_all; + MPI_Allreduce(&adjacent,&adjacent_all,1,MPI_INT,MPI_MIN,gridcomm); + return adjacent_all; +} + +/* ---------------------------------------------------------------------- + adjacent = 0 if a proc's received ghosts were flagged + as non-adjacent in setup_tiled() + return 0 if adjacent=0 for any proc, else 1 +------------------------------------------------------------------------- */ + +int Grid3d::ghost_adjacent_tiled() +{ + int adjacent_all; + MPI_Allreduce(&adjacent,&adjacent_all,1,MPI_INT,MPI_MIN,gridcomm); + return adjacent_all; +} + +/* ---------------------------------------------------------------------- + forward comm of my owned cells to other's ghost cells +------------------------------------------------------------------------- */ + +void Grid3d::forward_comm(int caller, void *ptr, int nper, int nbyte, int which, + void *buf1, void *buf2, MPI_Datatype datatype) +{ + if (layout == REGULAR) { + if (caller == KSPACE) + forward_comm_regular((KSpace *) ptr,nper,nbyte,which, + buf1,buf2,datatype); + else if (caller == PAIR) + forward_comm_regular((Pair *) ptr,nper,nbyte,which, + buf1,buf2,datatype); + else if (caller == FIX) + forward_comm_regular((Fix *) ptr,nper,nbyte,which, + buf1,buf2,datatype); + } else { + if (caller == KSPACE) + forward_comm_tiled((KSpace *) ptr,nper,nbyte,which, + buf1,buf2,datatype); + else if (caller == PAIR) + forward_comm_tiled((Pair *) ptr,nper,nbyte,which, + buf1,buf2,datatype); + else if (caller == FIX) + forward_comm_tiled((Fix *) ptr,nper,nbyte, + which,buf1,buf2,datatype); + } +} + +/* ---------------------------------------------------------------------- + forward comm on regular grid of procs via list of swaps with 6 neighbor procs +------------------------------------------------------------------------- */ + +template < class T > +void Grid3d:: +forward_comm_regular(T *ptr, int nper, int /*nbyte*/, int which, + void *buf1, void *buf2, MPI_Datatype datatype) +{ + int m; + MPI_Request request; + + for (m = 0; m < nswap; m++) { + if (swap[m].sendproc == me) + ptr->pack_forward_grid(which,buf2,swap[m].npack,swap[m].packlist); + else + ptr->pack_forward_grid(which,buf1,swap[m].npack,swap[m].packlist); + + if (swap[m].sendproc != me) { + if (swap[m].nunpack) MPI_Irecv(buf2,nper*swap[m].nunpack,datatype, + swap[m].recvproc,0,gridcomm,&request); + if (swap[m].npack) MPI_Send(buf1,nper*swap[m].npack,datatype, + swap[m].sendproc,0,gridcomm); + if (swap[m].nunpack) MPI_Wait(&request,MPI_STATUS_IGNORE); + } + + ptr->unpack_forward_grid(which,buf2,swap[m].nunpack,swap[m].unpacklist); + } +} + +/* ---------------------------------------------------------------------- + forward comm on tiled grid decomp via Send/Recv lists of each neighbor proc +------------------------------------------------------------------------- */ + +template < class T > +void Grid3d:: +forward_comm_tiled(T *ptr, int nper, int nbyte, int which, + void *buf1, void *vbuf2, MPI_Datatype datatype) +{ + int i,m,offset; + + auto buf2 = (char *) vbuf2; + + // post all receives + + for (m = 0; m < nrecv; m++) { + offset = nper * recv[m].offset * nbyte; + MPI_Irecv((void *) &buf2[offset],nper*recv[m].nunpack,datatype, + recv[m].proc,0,gridcomm,&requests[m]); + } + + // perform all sends to other procs + + for (m = 0; m < nsend; m++) { + ptr->pack_forward_grid(which,buf1,send[m].npack,send[m].packlist); + MPI_Send(buf1,nper*send[m].npack,datatype,send[m].proc,0,gridcomm); + } + + // perform all copies to self + + for (m = 0; m < ncopy; m++) { + ptr->pack_forward_grid(which,buf1,copy[m].npack,copy[m].packlist); + ptr->unpack_forward_grid(which,buf1,copy[m].nunpack,copy[m].unpacklist); + } + + // unpack all received data + + for (i = 0; i < nrecv; i++) { + MPI_Waitany(nrecv,requests,&m,MPI_STATUS_IGNORE); + offset = nper * recv[m].offset * nbyte; + ptr->unpack_forward_grid(which,(void *) &buf2[offset], + recv[m].nunpack,recv[m].unpacklist); + } +} + +/* ---------------------------------------------------------------------- + reverse comm of my ghost cells to sum to owner cells +------------------------------------------------------------------------- */ + +void Grid3d::reverse_comm(int caller, void *ptr, int nper, int nbyte, int which, + void *buf1, void *buf2, MPI_Datatype datatype) +{ + if (layout == REGULAR) { + if (caller == KSPACE) + reverse_comm_regular((KSpace *) ptr,nper,nbyte,which, + buf1,buf2,datatype); + else if (caller == PAIR) + reverse_comm_regular((Pair *) ptr,nper,nbyte,which, + buf1,buf2,datatype); + else if (caller == FIX) + reverse_comm_regular((Fix *) ptr,nper,nbyte,which, + buf1,buf2,datatype); + } else { + if (caller == KSPACE) + reverse_comm_tiled((KSpace *) ptr,nper,nbyte,which, + buf1,buf2,datatype); + else if (caller == PAIR) + reverse_comm_tiled((Pair *) ptr,nper,nbyte,which, + buf1,buf2,datatype); + else if (caller == FIX) + reverse_comm_tiled((Fix *) ptr,nper,nbyte,which, + buf1,buf2,datatype); + } +} + +/* ---------------------------------------------------------------------- + reverse comm on regular grid of procs via list of swaps with 6 neighbor procs +------------------------------------------------------------------------- */ + +template < class T > +void Grid3d:: +reverse_comm_regular(T *ptr, int nper, int /*nbyte*/, int which, + void *buf1, void *buf2, MPI_Datatype datatype) +{ + int m; + MPI_Request request; + + for (m = nswap-1; m >= 0; m--) { + if (swap[m].recvproc == me) + ptr->pack_reverse_grid(which,buf2,swap[m].nunpack,swap[m].unpacklist); + else + ptr->pack_reverse_grid(which,buf1,swap[m].nunpack,swap[m].unpacklist); + + if (swap[m].recvproc != me) { + if (swap[m].npack) MPI_Irecv(buf2,nper*swap[m].npack,datatype, + swap[m].sendproc,0,gridcomm,&request); + if (swap[m].nunpack) MPI_Send(buf1,nper*swap[m].nunpack,datatype, + swap[m].recvproc,0,gridcomm); + if (swap[m].npack) MPI_Wait(&request,MPI_STATUS_IGNORE); + } + + ptr->unpack_reverse_grid(which,buf2,swap[m].npack,swap[m].packlist); + } +} + +/* ---------------------------------------------------------------------- + reverse comm on tiled grid decomp via Send/Recv lists of each neighbor proc +------------------------------------------------------------------------- */ + +template < class T > +void Grid3d:: +reverse_comm_tiled(T *ptr, int nper, int nbyte, int which, + void *buf1, void *vbuf2, MPI_Datatype datatype) +{ + int i,m,offset; + + auto buf2 = (char *) vbuf2; + + // post all receives + + for (m = 0; m < nsend; m++) { + offset = nper * send[m].offset * nbyte; + MPI_Irecv((void *) &buf2[offset],nper*send[m].npack,datatype, + send[m].proc,0,gridcomm,&requests[m]); + } + + // perform all sends to other procs + + for (m = 0; m < nrecv; m++) { + ptr->pack_reverse_grid(which,buf1,recv[m].nunpack,recv[m].unpacklist); + MPI_Send(buf1,nper*recv[m].nunpack,datatype,recv[m].proc,0,gridcomm); + } + + // perform all copies to self + + for (m = 0; m < ncopy; m++) { + ptr->pack_reverse_grid(which,buf1,copy[m].nunpack,copy[m].unpacklist); + ptr->unpack_reverse_grid(which,buf1,copy[m].npack,copy[m].packlist); + } + + // unpack all received data + + for (i = 0; i < nsend; i++) { + MPI_Waitany(nsend,requests,&m,MPI_STATUS_IGNORE); + offset = nper * send[m].offset * nbyte; + ptr->unpack_reverse_grid(which,(void *) &buf2[offset], + send[m].npack,send[m].packlist); + } +} + +/* ---------------------------------------------------------------------- + gather global grid values to proc 0, one grid chunk at a time + proc 0 pings each proc for its grid chunk + pack/unpack operations are performed by caller via callbacks + caller can decide whether to store chunks, output them, etc +------------------------------------------------------------------------- */ + +void Grid3d::gather(int /*caller*/, void *ptr, int nper, int nbyte, + int which, void *buf, MPI_Datatype datatype) +{ + int me = comm->me; + Fix *fptr = (Fix *) ptr; + + // maxsize = max grid data owned by any proc + + int mysize = (inxhi-inxlo+1) * (inyhi-inylo+1) * (inzhi-inzlo+1); + mysize *= nper; + int maxsize; + MPI_Allreduce(&mysize,&maxsize,1,MPI_INT,MPI_MAX,world); + + // pack my data via callback to caller + + char *mybuf; + if (me == 0) memory->create(mybuf,maxsize*nbyte,"grid3d:mybuf"); + else memory->create(mybuf,mysize*nbyte,"grid3d:mybuf"); + fptr->pack_gather_grid(which,mybuf); + + // ping each proc for its data + // unpack into full buffer via callback to caller + + int xlo,xhi,ylo,yhi,zlo,zhi,tmp; + int bounds[6]; + + if (me == 0) { + MPI_Status status; + MPI_Request request; + + for (int iproc = 0; iproc < nprocs; iproc++) { + if (iproc) { + MPI_Irecv(mybuf,maxsize,datatype,iproc,0,world,&request); + MPI_Send(&tmp,0,MPI_INT,iproc,0,world); + MPI_Wait(&request,&status); + MPI_Recv(bounds,6,MPI_INT,iproc,0,world,&status); + xlo = bounds[0]; + xhi = bounds[1]; + ylo = bounds[2]; + yhi = bounds[3]; + zlo = bounds[4]; + zhi = bounds[5]; + } else { + xlo = inxlo; + xhi = inxhi; + ylo = inylo; + yhi = inyhi; + zlo = inzlo; + zhi = inzhi; + } + + fptr->unpack_gather_grid(which,mybuf,buf,xlo,xhi,ylo,yhi,zlo,zhi); + } + + } else { + MPI_Recv(&tmp,0,MPI_INT,0,0,world,MPI_STATUS_IGNORE); + MPI_Rsend(mybuf,mysize,datatype,0,0,world); + bounds[0] = inxlo; + bounds[1] = inxhi; + bounds[2] = inylo; + bounds[3] = inyhi; + bounds[4] = inzlo; + bounds[5] = inzhi; + MPI_Send(bounds,6,MPI_INT,0,0,world); + } + + memory->destroy(mybuf); +} + +/* ---------------------------------------------------------------------- + create swap stencil for grid own/ghost communication + swaps covers all 3 dimensions and both directions + swaps cover multiple iterations in a direction if need grid pts + from further away than nearest-neighbor proc + same swap list used by forward and reverse communication +------------------------------------------------------------------------- */ + +void Grid3d::grow_swap() +{ + maxswap += DELTA; + swap = (Swap *) memory->srealloc(swap,maxswap*sizeof(Swap),"grid3d:swap"); +} + +/* ---------------------------------------------------------------------- + create swap stencil for grid own/ghost communication + swaps covers all 3 dimensions and both directions + swaps cover multiple iterations in a direction if need grid pts + from further away than nearest-neighbor proc + same swap list used by forward and reverse communication +------------------------------------------------------------------------- */ + +void Grid3d::grow_overlap() +{ + maxoverlap += DELTA; + overlap = (Overlap *) + memory->srealloc(overlap,maxoverlap*sizeof(Overlap),"grid3d:overlap"); +} + +/* ---------------------------------------------------------------------- + create 1d list of offsets into 3d array section (xlo:xhi,ylo:yhi,zlo:zhi) + assume 3d array is allocated as + (fullxlo:fullxhi,fullylo:fullyhi,fullzlo:fullzhi) +------------------------------------------------------------------------- */ + +int Grid3d::indices(int *&list, + int xlo, int xhi, int ylo, int yhi, int zlo, int zhi) +{ + int nmax = (xhi-xlo+1) * (yhi-ylo+1) * (zhi-zlo+1); + memory->create(list,nmax,"grid3d:indices"); + if (nmax == 0) return 0; + + int nx = (fullxhi-fullxlo+1); + int ny = (fullyhi-fullylo+1); + + int n = 0; + int ix,iy,iz; + for (iz = zlo; iz <= zhi; iz++) + for (iy = ylo; iy <= yhi; iy++) + for (ix = xlo; ix <= xhi; ix++) + list[n++] = (iz-fullzlo)*ny*nx + (iy-fullylo)*nx + (ix-fullxlo); + + return nmax; +} diff --git a/src/grid3d.h b/src/grid3d.h new file mode 100644 index 0000000000..1eb88871a1 --- /dev/null +++ b/src/grid3d.h @@ -0,0 +1,200 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifndef LMP_GRID3D_H +#define LMP_GRID3D_H + +#include "pointers.h" + +namespace LAMMPS_NS { + +class Grid3d : protected Pointers { + public: + enum { KSPACE = 0, PAIR = 1, FIX = 2 }; // calling classes + + Grid3d(class LAMMPS *, MPI_Comm, int, int, int, int, int, int, int, int, int, int, int, int, + int, int, int); + Grid3d(class LAMMPS *, MPI_Comm, int, int, int, int, int, int, int, int, int, int, int, int, + int, int, int, int, int, int, int, int, int, int); + ~Grid3d() override; + void setup(int &, int &); + int ghost_adjacent(); + void forward_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); + void reverse_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); + void gather(int, void *, int, int, int, void *, MPI_Datatype); + + protected: + int me, nprocs; + int layout; // REGULAR or TILED + MPI_Comm gridcomm; // communicator for this class + // usually world, but MSM calls with subset + + // inputs from caller via constructor + + int nx, ny, nz; // size of global grid in all 3 dims + int inxlo, inxhi; // inclusive extent of my grid chunk + int inylo, inyhi; // 0 <= in <= N-1 + int inzlo, inzhi; + int outxlo, outxhi; // inclusive extent of my grid chunk plus + int outylo, outyhi; // ghost cells in all 6 directions + int outzlo, outzhi; // lo indices can be < 0, hi indices can be >= N + int fullxlo, fullxhi; // extent of grid chunk that caller stores + int fullylo, fullyhi; // can be same as out indices or larger + int fullzlo, fullzhi; + + // ------------------------------------------- + // internal variables for REGULAR layout + // ------------------------------------------- + + int procxlo, procxhi; // 6 neighbor procs that adjoin me + int procylo, procyhi; // not used for comm_style = tiled + int proczlo, proczhi; + + int ghostxlo, ghostxhi; // # of my owned grid planes needed + int ghostylo, ghostyhi; // by neighobr procs in each dir as their ghost planes + int ghostzlo, ghostzhi; + + // swap = exchange of owned and ghost grid cells between 2 procs, including self + + struct Swap { + int sendproc; // proc to send to for forward comm + int recvproc; // proc to recv from for forward comm + int npack; // # of datums to pack + int nunpack; // # of datums to unpack + int *packlist; // 3d array offsets to pack + int *unpacklist; // 3d array offsets to unpack + }; + + int nswap, maxswap; + Swap *swap; + + // ------------------------------------------- + // internal variables for TILED layout + // ------------------------------------------- + + int *overlap_procs; // length of Nprocs in communicator + MPI_Request *requests; // length of max messages this proc receives + + // RCB tree of cut info + // each proc contributes one value, except proc 0 + + struct RCBinfo { + int dim; // 0,1,2 = which dim the cut is in + int cut; // grid index of lowest cell in upper half of cut + }; + + RCBinfo *rcbinfo; + + // overlap = a proc whose owned cells overlap with my extended ghost box + // includes overlaps across periodic boundaries, can also be self + + struct Overlap { + int proc; // proc whose owned cells overlap my ghost cells + int box[6]; // box that overlaps otherproc's owned cells + // this box is wholly contained within global grid + int pbc[3]; // PBC offsets to convert box to a portion of my ghost box + // my ghost box may extend beyond global grid + }; + + int noverlap, maxoverlap; + Overlap *overlap; + + // request = sent to each proc whose owned cells overlap my ghost cells + + struct Request { + int sender; // sending proc + int index; // index of overlap on sender + int box[6]; // box that overlaps receiver's owned cells + // wholly contained within global grid + }; + + Request *srequest, *rrequest; + + // response = reply from each proc whose owned cells overlap my ghost cells + + struct Response { + int index; // index of my overlap for the initial request + int box[6]; // box that overlaps responder's owned cells + // wholly contained within global grid + // has to unwrapped by PBC to map to my ghost cells + }; + + Response *sresponse, *rresponse; + + // send = proc to send a subset of my owned cells to, for forward comm + // for reverse comm, proc I receive ghost overlaps with my owned cells from + // offset used in reverse comm to recv a message in middle of a large buffer + + struct Send { + int proc; + int npack; + int *packlist; + int offset; + }; + + // recv = proc to recv a subset of my ghost cells from, for forward comm + // for reverse comm, proc I send a subset of my ghost cells to + // offset used in forward comm to recv a message in middle of a large buffer + + struct Recv { + int proc; + int nunpack; + int *unpacklist; + int offset; + }; + + int adjacent; // 0 on a proc who receives ghosts from a non-neighbor proc + + // copy = subset of my owned cells to copy into subset of my ghost cells + // that describes forward comm, for reverse comm it is the opposite + + struct Copy { + int npack; + int nunpack; + int *packlist; + int *unpacklist; + }; + + int nsend, nrecv, ncopy; + Send *send; + Recv *recv; + Copy *copy; + + // ------------------------------------------- + // internal methods + // ------------------------------------------- + + void initialize(MPI_Comm, int, int, int, int, int, int, int, int, int, int, int, int, int, int, + int, int, int, int, int, int, int, int, int, int, int, int, int); + virtual void setup_regular(int &, int &); + virtual void setup_tiled(int &, int &); + void ghost_box_drop(int *, int *); + void box_drop_grid(int *, int, int, int &, int *); + + int ghost_adjacent_regular(); + int ghost_adjacent_tiled(); + + template void forward_comm_regular(T *, int, int, int, void *, void *, MPI_Datatype); + template void forward_comm_tiled(T *, int, int, int, void *, void *, MPI_Datatype); + template void reverse_comm_regular(T *, int, int, int, void *, void *, MPI_Datatype); + template void reverse_comm_tiled(T *, int, int, int, void *, void *, MPI_Datatype); + + virtual void grow_swap(); + void grow_overlap(); + + int indices(int *&, int, int, int, int, int, int); +}; + +} // namespace LAMMPS_NS + +#endif From 5cb95cc0329a5c74b50e9844366e7862115b0568 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 18 Jul 2022 17:25:04 -0600 Subject: [PATCH 002/142] grid3d file as well --- src/grid3d.cpp | 80 +++++++++++++++++++++++++------------------------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/src/grid3d.cpp b/src/grid3d.cpp index f96770d3c9..8f65cb55b9 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -12,7 +12,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "grid3d.h" +#include "grid2d.h" #include "comm.h" #include "error.h" @@ -48,7 +48,7 @@ enum{REGULAR,TILED}; communication is done across the periodic boundaries ------------------------------------------------------------------------- */ -Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, +Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, int gnx, int gny, int gnz, int ixlo, int ixhi, int iylo, int iyhi, int izlo, int izhi, int oxlo, int oxhi, int oylo, int oyhi, int ozlo, int ozhi) @@ -87,7 +87,7 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, e xyz lohi for flag = 2: 6 neighbor procs ------------------------------------------------------------------------- */ -Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, int flag, +Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, int flag, int gnx, int gny, int gnz, int ixlo, int ixhi, int iylo, int iyhi, int izlo, int izhi, int oxlo, int oxhi, int oylo, int oyhi, int ozlo, int ozhi, @@ -124,14 +124,14 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, int flag, oxlo,oxhi,oylo,oyhi,ozlo,ozhi, exlo,exhi,eylo,eyhi,ezlo,ezhi); } else { - error->all(FLERR,"Grid3d does not support tiled layout with neighbor procs"); + error->all(FLERR,"Grid2d does not support tiled layout with neighbor procs"); } } } /* ---------------------------------------------------------------------- */ -Grid3d::~Grid3d() +Grid2d::~Grid2d() { // regular comm data struct @@ -164,7 +164,7 @@ Grid3d::~Grid3d() store constructor args in local variables ------------------------------------------------------------------------- */ -void Grid3d::initialize(MPI_Comm gcomm, +void Grid2d::initialize(MPI_Comm gcomm, int gnx, int gny, int gnz, int ixlo, int ixhi, int iylo, int iyhi, int izlo, int izhi, @@ -229,7 +229,7 @@ void Grid3d::initialize(MPI_Comm gcomm, /* ---------------------------------------------------------------------- */ -void Grid3d::setup(int &nbuf1, int &nbuf2) +void Grid2d::setup(int &nbuf1, int &nbuf2) { if (layout == REGULAR) setup_regular(nbuf1,nbuf2); else setup_tiled(nbuf1,nbuf2); @@ -244,7 +244,7 @@ void Grid3d::setup(int &nbuf1, int &nbuf2) all procs perform same # of swaps in a direction, even if some don't need it ------------------------------------------------------------------------- */ -void Grid3d::setup_regular(int &nbuf1, int &nbuf2) +void Grid2d::setup_regular(int &nbuf1, int &nbuf2) { int nsent,sendfirst,sendlast,recvfirst,recvlast; int sendplanes,recvplanes; @@ -545,7 +545,7 @@ void Grid3d::setup_regular(int &nbuf1, int &nbuf2) no exchanges by dimension, unlike CommTiled forward/reverse comm of particles ------------------------------------------------------------------------- */ -void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) +void Grid2d::setup_tiled(int &nbuf1, int &nbuf2) { int i,m; double xlo,xhi,ylo,yhi,zlo,zhi; @@ -557,7 +557,7 @@ void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) // dim is -1 for proc 0, but never accessed rcbinfo = (RCBinfo *) - memory->smalloc(nprocs*sizeof(RCBinfo),"grid3d:rcbinfo"); + memory->smalloc(nprocs*sizeof(RCBinfo),"grid2d:rcbinfo"); RCBinfo rcbone; rcbone.dim = comm->rcbcutdim; if (rcbone.dim <= 0) rcbone.cut = inxlo; @@ -580,7 +580,7 @@ void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) pbc[0] = pbc[1] = pbc[2] = 0; - memory->create(overlap_procs,nprocs,"grid3d:overlap_procs"); + memory->create(overlap_procs,nprocs,"grid2d:overlap_procs"); noverlap = maxoverlap = 0; overlap = nullptr; @@ -591,9 +591,9 @@ void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) // ncopy = # of overlaps with myself, across a periodic boundary int *proclist; - memory->create(proclist,noverlap,"grid3d:proclist"); + memory->create(proclist,noverlap,"grid2d:proclist"); srequest = (Request *) - memory->smalloc(noverlap*sizeof(Request),"grid3d:srequest"); + memory->smalloc(noverlap*sizeof(Request),"grid2d:srequest"); int nsend_request = 0; ncopy = 0; @@ -612,17 +612,17 @@ void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) auto irregular = new Irregular(lmp); int nrecv_request = irregular->create_data(nsend_request,proclist,1); - auto rrequest = (Request *) memory->smalloc(nrecv_request*sizeof(Request),"grid3d:rrequest"); + auto rrequest = (Request *) memory->smalloc(nrecv_request*sizeof(Request),"grid2d:rrequest"); irregular->exchange_data((char *) srequest,sizeof(Request),(char *) rrequest); irregular->destroy_data(); // compute overlaps between received ghost boxes and my owned box // overlap box used to setup my Send data struct and respond to requests - send = (Send *) memory->smalloc(nrecv_request*sizeof(Send),"grid3d:send"); - sresponse = (Response *) memory->smalloc(nrecv_request*sizeof(Response),"grid3d:sresponse"); + send = (Send *) memory->smalloc(nrecv_request*sizeof(Send),"grid2d:send"); + sresponse = (Response *) memory->smalloc(nrecv_request*sizeof(Response),"grid2d:sresponse"); memory->destroy(proclist); - memory->create(proclist,nrecv_request,"grid3d:proclist"); + memory->create(proclist,nrecv_request,"grid2d:proclist"); for (m = 0; m < nrecv_request; m++) { send[m].proc = rrequest[m].sender; @@ -651,7 +651,7 @@ void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) int nsend_response = nrecv_request; int nrecv_response = irregular->create_data(nsend_response,proclist,1); - auto rresponse = (Response *) memory->smalloc(nrecv_response*sizeof(Response),"grid3d:rresponse"); + auto rresponse = (Response *) memory->smalloc(nrecv_response*sizeof(Response),"grid2d:rresponse"); irregular->exchange_data((char *) sresponse,sizeof(Response),(char *) rresponse); irregular->destroy_data(); delete irregular; @@ -660,7 +660,7 @@ void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) // box used to setup my Recv data struct after unwrapping via PBC // adjacent = 0 if any box of ghost cells does not adjoin my owned cells - recv = (Recv *) memory->smalloc(nrecv_response*sizeof(Recv),"grid3d:recv"); + recv = (Recv *) memory->smalloc(nrecv_response*sizeof(Recv),"grid2d:recv"); adjacent = 1; for (i = 0; i < nrecv_response; i++) { @@ -683,7 +683,7 @@ void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) // create Copy data struct from overlaps with self - copy = (Copy *) memory->smalloc(ncopy*sizeof(Copy),"grid3d:copy"); + copy = (Copy *) memory->smalloc(ncopy*sizeof(Copy),"grid2d:copy"); ncopy = 0; for (m = 0; m < noverlap; m++) { @@ -770,7 +770,7 @@ void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) add all the procs it overlaps with to Overlap list ------------------------------------------------------------------------- */ -void Grid3d::ghost_box_drop(int *box, int *pbc) +void Grid2d::ghost_box_drop(int *box, int *pbc) { int i,m; @@ -855,7 +855,7 @@ void Grid3d::ghost_box_drop(int *box, int *pbc) return Np = # of procs, plist = proc IDs ------------------------------------------------------------------------- */ -void Grid3d::box_drop_grid(int *box, int proclower, int procupper, +void Grid2d::box_drop_grid(int *box, int proclower, int procupper, int &np, int *plist) { // end recursion when partition is a single proc @@ -886,7 +886,7 @@ void Grid3d::box_drop_grid(int *box, int proclower, int procupper, return 1 if yes, 0 if no ------------------------------------------------------------------------- */ -int Grid3d::ghost_adjacent() +int Grid2d::ghost_adjacent() { if (layout == REGULAR) return ghost_adjacent_regular(); return ghost_adjacent_tiled(); @@ -897,7 +897,7 @@ int Grid3d::ghost_adjacent() return 0 if adjacent=0 for any proc, else 1 ------------------------------------------------------------------------- */ -int Grid3d::ghost_adjacent_regular() +int Grid2d::ghost_adjacent_regular() { adjacent = 1; if (ghostxlo > inxhi-inxlo+1) adjacent = 0; @@ -918,7 +918,7 @@ int Grid3d::ghost_adjacent_regular() return 0 if adjacent=0 for any proc, else 1 ------------------------------------------------------------------------- */ -int Grid3d::ghost_adjacent_tiled() +int Grid2d::ghost_adjacent_tiled() { int adjacent_all; MPI_Allreduce(&adjacent,&adjacent_all,1,MPI_INT,MPI_MIN,gridcomm); @@ -929,7 +929,7 @@ int Grid3d::ghost_adjacent_tiled() forward comm of my owned cells to other's ghost cells ------------------------------------------------------------------------- */ -void Grid3d::forward_comm(int caller, void *ptr, int nper, int nbyte, int which, +void Grid2d::forward_comm(int caller, void *ptr, int nper, int nbyte, int which, void *buf1, void *buf2, MPI_Datatype datatype) { if (layout == REGULAR) { @@ -960,7 +960,7 @@ void Grid3d::forward_comm(int caller, void *ptr, int nper, int nbyte, int which, ------------------------------------------------------------------------- */ template < class T > -void Grid3d:: +void Grid2d:: forward_comm_regular(T *ptr, int nper, int /*nbyte*/, int which, void *buf1, void *buf2, MPI_Datatype datatype) { @@ -990,7 +990,7 @@ forward_comm_regular(T *ptr, int nper, int /*nbyte*/, int which, ------------------------------------------------------------------------- */ template < class T > -void Grid3d:: +void Grid2d:: forward_comm_tiled(T *ptr, int nper, int nbyte, int which, void *buf1, void *vbuf2, MPI_Datatype datatype) { @@ -1034,7 +1034,7 @@ forward_comm_tiled(T *ptr, int nper, int nbyte, int which, reverse comm of my ghost cells to sum to owner cells ------------------------------------------------------------------------- */ -void Grid3d::reverse_comm(int caller, void *ptr, int nper, int nbyte, int which, +void Grid2d::reverse_comm(int caller, void *ptr, int nper, int nbyte, int which, void *buf1, void *buf2, MPI_Datatype datatype) { if (layout == REGULAR) { @@ -1065,7 +1065,7 @@ void Grid3d::reverse_comm(int caller, void *ptr, int nper, int nbyte, int which, ------------------------------------------------------------------------- */ template < class T > -void Grid3d:: +void Grid2d:: reverse_comm_regular(T *ptr, int nper, int /*nbyte*/, int which, void *buf1, void *buf2, MPI_Datatype datatype) { @@ -1095,7 +1095,7 @@ reverse_comm_regular(T *ptr, int nper, int /*nbyte*/, int which, ------------------------------------------------------------------------- */ template < class T > -void Grid3d:: +void Grid2d:: reverse_comm_tiled(T *ptr, int nper, int nbyte, int which, void *buf1, void *vbuf2, MPI_Datatype datatype) { @@ -1142,7 +1142,7 @@ reverse_comm_tiled(T *ptr, int nper, int nbyte, int which, caller can decide whether to store chunks, output them, etc ------------------------------------------------------------------------- */ -void Grid3d::gather(int /*caller*/, void *ptr, int nper, int nbyte, +void Grid2d::gather(int /*caller*/, void *ptr, int nper, int nbyte, int which, void *buf, MPI_Datatype datatype) { int me = comm->me; @@ -1158,8 +1158,8 @@ void Grid3d::gather(int /*caller*/, void *ptr, int nper, int nbyte, // pack my data via callback to caller char *mybuf; - if (me == 0) memory->create(mybuf,maxsize*nbyte,"grid3d:mybuf"); - else memory->create(mybuf,mysize*nbyte,"grid3d:mybuf"); + if (me == 0) memory->create(mybuf,maxsize*nbyte,"grid2d:mybuf"); + else memory->create(mybuf,mysize*nbyte,"grid2d:mybuf"); fptr->pack_gather_grid(which,mybuf); // ping each proc for its data @@ -1219,10 +1219,10 @@ void Grid3d::gather(int /*caller*/, void *ptr, int nper, int nbyte, same swap list used by forward and reverse communication ------------------------------------------------------------------------- */ -void Grid3d::grow_swap() +void Grid2d::grow_swap() { maxswap += DELTA; - swap = (Swap *) memory->srealloc(swap,maxswap*sizeof(Swap),"grid3d:swap"); + swap = (Swap *) memory->srealloc(swap,maxswap*sizeof(Swap),"grid2d:swap"); } /* ---------------------------------------------------------------------- @@ -1233,11 +1233,11 @@ void Grid3d::grow_swap() same swap list used by forward and reverse communication ------------------------------------------------------------------------- */ -void Grid3d::grow_overlap() +void Grid2d::grow_overlap() { maxoverlap += DELTA; overlap = (Overlap *) - memory->srealloc(overlap,maxoverlap*sizeof(Overlap),"grid3d:overlap"); + memory->srealloc(overlap,maxoverlap*sizeof(Overlap),"grid2d:overlap"); } /* ---------------------------------------------------------------------- @@ -1246,11 +1246,11 @@ void Grid3d::grow_overlap() (fullxlo:fullxhi,fullylo:fullyhi,fullzlo:fullzhi) ------------------------------------------------------------------------- */ -int Grid3d::indices(int *&list, +int Grid2d::indices(int *&list, int xlo, int xhi, int ylo, int yhi, int zlo, int zhi) { int nmax = (xhi-xlo+1) * (yhi-ylo+1) * (zhi-zlo+1); - memory->create(list,nmax,"grid3d:indices"); + memory->create(list,nmax,"grid2d:indices"); if (nmax == 0) return 0; int nx = (fullxhi-fullxlo+1); From 68d5b3e3d9db2b6454e7a81d1114e728ab791b92 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 19 Jul 2022 09:46:16 -0600 Subject: [PATCH 003/142] grid2d class --- src/grid2d.cpp | 452 +++++++++++++------------------------------------ src/grid2d.h | 27 ++- 2 files changed, 133 insertions(+), 346 deletions(-) diff --git a/src/grid2d.cpp b/src/grid2d.cpp index f96770d3c9..a4f2108424 100644 --- a/src/grid2d.cpp +++ b/src/grid2d.cpp @@ -12,7 +12,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "grid3d.h" +#include "grid2d.h" #include "comm.h" #include "error.h" @@ -40,18 +40,18 @@ enum{REGULAR,TILED}; /* ---------------------------------------------------------------------- constructor called by all classes except MSM gcomm = world communicator - gn xyz = size of global grid - i xyz lohi = portion of global grid this proc owns, 0 <= index < N - o xyz lohi = owned grid portion + ghost grid cells needed in all directions + gn xy = size of global grid + i xy lohi = portion of global grid this proc owns, 0 <= index < N + o xy lohi = owned grid portion + ghost grid cells needed in all directions if o indices are < 0 or hi indices are >= N, then grid is treated as periodic in that dimension, communication is done across the periodic boundaries ------------------------------------------------------------------------- */ -Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, - int gnx, int gny, int gnz, - int ixlo, int ixhi, int iylo, int iyhi, int izlo, int izhi, - int oxlo, int oxhi, int oylo, int oyhi, int ozlo, int ozhi) +Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, + int gnx, int gny, + int ixlo, int ixhi, int iylo, int iyhi, + int oxlo, int oxhi, int oylo, int oyhi) : Pointers(lmp) { if (comm->layout == Comm::LAYOUT_TILED) layout = TILED; @@ -59,39 +59,36 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, if (layout == REGULAR) { int (*procneigh)[2] = comm->procneigh; - initialize(gcomm,gnx,gny,gnz, - ixlo,ixhi,iylo,iyhi,izlo,izhi, - oxlo,oxhi,oylo,oyhi,ozlo,ozhi, - oxlo,oxhi,oylo,oyhi,ozlo,ozhi, + initialize(gcomm,gnx,gny, + ixlo,ixhi,iylo,iyhi,oxlo,oxhi,oylo,oyhi, + oxlo,oxhi,oylo,oyhi, procneigh[0][0],procneigh[0][1], - procneigh[1][0],procneigh[1][1], - procneigh[2][0],procneigh[2][1]); + procneigh[1][0],procneigh[1][1]); } else { - initialize(gcomm,gnx,gny,gnz, - ixlo,ixhi,iylo,iyhi,izlo,izhi, - oxlo,oxhi,oylo,oyhi,ozlo,ozhi, - oxlo,oxhi,oylo,oyhi,ozlo,ozhi, - 0,0,0,0,0,0); + initialize(gcomm,gnx,gny, + ixlo,ixhi,iylo,iyhi,oxlo,oxhi,oylo,oyhi, + oxlo,oxhi,oylo,oyhi, + 0,0,0,0); } } /* ---------------------------------------------------------------------- constructor called by MSM gcomm = world communicator or sub-communicator for a hierarchical grid - flag = 1 if e xyz lohi values = larger grid stored by caller in gcomm = world - flag = 2 if e xyz lohi values = 6 neighbor procs in gcomm - gn xyz = size of global grid - i xyz lohi = portion of global grid this proc owns, 0 <= index < N - o xyz lohi = owned grid portion + ghost grid cells needed in all directions - e xyz lohi for flag = 1: extent of larger grid stored by caller - e xyz lohi for flag = 2: 6 neighbor procs + flag = 1 if e xy lohi values = larger grid stored by caller in gcomm = world + flag = 2 if e xy lohi values = 6 neighbor procs in gcomm + gn xy = size of global grid + i xy lohi = portion of global grid this proc owns, 0 <= index < N + o xy lohi = owned grid portion + ghost grid cells needed in all directions + e xy lohi for flag = 1: extent of larger grid stored by caller + e xy lohi for flag = 2: 4 neighbor procs ------------------------------------------------------------------------- */ -Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, int flag, - int gnx, int gny, int gnz, - int ixlo, int ixhi, int iylo, int iyhi, int izlo, int izhi, - int oxlo, int oxhi, int oylo, int oyhi, int ozlo, int ozhi, - int exlo, int exhi, int eylo, int eyhi, int ezlo, int ezhi) +Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, int flag, + int gnx, int gny, + int ixlo, int ixhi, int iylo, int iyhi, + int oxlo, int oxhi, int oylo, int oyhi, + int exlo, int exhi, int eylo, int eyhi) : Pointers(lmp) { if (comm->layout == Comm::LAYOUT_TILED) layout = TILED; @@ -101,37 +98,36 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, int flag, if (layout == REGULAR) { // this assumes gcomm = world int (*procneigh)[2] = comm->procneigh; - initialize(gcomm,gnx,gny,gnz, - ixlo,ixhi,iylo,iyhi,izlo,izhi, - oxlo,oxhi,oylo,oyhi,ozlo,ozhi, - exlo,exhi,eylo,eyhi,ezlo,ezhi, + initialize(gcomm,gnx,gny, + ixlo,ixhi,iylo,iyhi, + oxlo,oxhi,oylo,oyhi, + exlo,exhi,eylo,eyhi, procneigh[0][0],procneigh[0][1], - procneigh[1][0],procneigh[1][1], - procneigh[2][0],procneigh[2][1]); + procneigh[1][0],procneigh[1][1]); } else { - initialize(gcomm,gnx,gny,gnz, - ixlo,ixhi,iylo,iyhi,izlo,izhi, - oxlo,oxhi,oylo,oyhi,ozlo,ozhi, - exlo,exhi,eylo,eyhi,ezlo,ezhi, - 0,0,0,0,0,0); + initialize(gcomm,gnx,gny, + ixlo,ixhi,iylo,iyhi, + oxlo,oxhi,oylo,oyhi, + exlo,exhi,eylo,eyhi, + 0,0,0,0); } } else if (flag == 2) { if (layout == REGULAR) { - initialize(gcomm,gnx,gny,gnz, - ixlo,ixhi,iylo,iyhi,izlo,izhi, - oxlo,oxhi,oylo,oyhi,ozlo,ozhi, - oxlo,oxhi,oylo,oyhi,ozlo,ozhi, - exlo,exhi,eylo,eyhi,ezlo,ezhi); + initialize(gcomm,gnx,gny, + ixlo,ixhi,iylo,iyhi, + oxlo,oxhi,oylo,oyhi, + oxlo,oxhi,oylo,oyhi, + exlo,exhi,eylo,eyhi); } else { - error->all(FLERR,"Grid3d does not support tiled layout with neighbor procs"); + error->all(FLERR,"Grid2d does not support tiled layout with neighbor procs"); } } } /* ---------------------------------------------------------------------- */ -Grid3d::~Grid3d() +Grid2d::~Grid2d() { // regular comm data struct @@ -164,16 +160,12 @@ Grid3d::~Grid3d() store constructor args in local variables ------------------------------------------------------------------------- */ -void Grid3d::initialize(MPI_Comm gcomm, - int gnx, int gny, int gnz, +void Grid2d::initialize(MPI_Comm gcomm, + int gnx, int gny, int ixlo, int ixhi, int iylo, int iyhi, - int izlo, int izhi, int oxlo, int oxhi, int oylo, int oyhi, - int ozlo, int ozhi, int fxlo, int fxhi, int fylo, int fyhi, - int fzlo, int fzhi, - int pxlo, int pxhi, int pylo, int pyhi, - int pzlo, int pzhi) + int pxlo, int pxhi, int pylo, int pyhi) { gridcomm = gcomm; MPI_Comm_rank(gridcomm,&me); @@ -181,38 +173,29 @@ void Grid3d::initialize(MPI_Comm gcomm, nx = gnx; ny = gny; - nz = gnz; inxlo = ixlo; inxhi = ixhi; inylo = iylo; inyhi = iyhi; - inzlo = izlo; - inzhi = izhi; outxlo = oxlo; outxhi = oxhi; outylo = oylo; outyhi = oyhi; - outzlo = ozlo; - outzhi = ozhi; fullxlo = fxlo; fullxhi = fxhi; fullylo = fylo; fullyhi = fyhi; - fullzlo = fzlo; - fullzhi = fzhi; - // for REGULAR layout, proc xyz lohi = my 6 neighbor procs in this MPI_Comm + // for REGULAR layout, proc xy lohi = my 4 neighbor procs in this MPI_Comm if (layout == REGULAR) { procxlo = pxlo; procxhi = pxhi; procylo = pylo; procyhi = pyhi; - proczlo = pzlo; - proczhi = pzhi; } // internal data initializations @@ -229,7 +212,7 @@ void Grid3d::initialize(MPI_Comm gcomm, /* ---------------------------------------------------------------------- */ -void Grid3d::setup(int &nbuf1, int &nbuf2) +void Grid2d::setup(int &nbuf1, int &nbuf2) { if (layout == REGULAR) setup_regular(nbuf1,nbuf2); else setup_tiled(nbuf1,nbuf2); @@ -244,15 +227,15 @@ void Grid3d::setup(int &nbuf1, int &nbuf2) all procs perform same # of swaps in a direction, even if some don't need it ------------------------------------------------------------------------- */ -void Grid3d::setup_regular(int &nbuf1, int &nbuf2) +void Grid2d::setup_regular(int &nbuf1, int &nbuf2) { int nsent,sendfirst,sendlast,recvfirst,recvlast; int sendplanes,recvplanes; int notdoneme,notdone; // notify 6 neighbor procs how many ghost grid planes I need from them - // ghost xyz lo = # of my lower grid planes that proc xyz lo needs as its ghosts - // ghost xyz hi = # of my upper grid planes that proc xyz hi needs as its ghosts + // ghost xy lo = # of my lower grid planes that proc xy lo needs as its ghosts + // ghost xy hi = # of my upper grid planes that proc xy hi needs as its ghosts // if this proc is its own neighbor across periodic bounary, value is from self int nplanes = inxlo - outxlo; @@ -279,18 +262,6 @@ void Grid3d::setup_regular(int &nbuf1, int &nbuf2) &ghostylo,1,MPI_INT,procylo,0,gridcomm,MPI_STATUS_IGNORE); else ghostylo = nplanes; - nplanes = inzlo - outzlo; - if (proczlo != me) - MPI_Sendrecv(&nplanes,1,MPI_INT,proczlo,0, - &ghostzhi,1,MPI_INT,proczhi,0,gridcomm,MPI_STATUS_IGNORE); - else ghostzhi = nplanes; - - nplanes = outzhi - inzhi; - if (proczhi != me) - MPI_Sendrecv(&nplanes,1,MPI_INT,proczhi,0, - &ghostzlo,1,MPI_INT,proczlo,0,gridcomm,MPI_STATUS_IGNORE); - else ghostzlo = nplanes; - // setup swaps = exchange of grid data with one of 6 neighobr procs // can be more than one in a direction if ghost region extends beyond neigh proc // all procs have same swap count, but swapsize npack/nunpack can be empty @@ -313,7 +284,7 @@ void Grid3d::setup_regular(int &nbuf1, int &nbuf2) sendplanes = MIN(sendlast-sendfirst+1,ghostxlo-nsent); swap[nswap].npack = indices(swap[nswap].packlist, - sendfirst,sendfirst+sendplanes-1,inylo,inyhi,inzlo,inzhi); + sendfirst,sendfirst+sendplanes-1,inylo,inyhi); if (procxlo != me) MPI_Sendrecv(&sendplanes,1,MPI_INT,procxlo,0, @@ -322,7 +293,7 @@ void Grid3d::setup_regular(int &nbuf1, int &nbuf2) swap[nswap].nunpack = indices(swap[nswap].unpacklist, - recvfirst,recvfirst+recvplanes-1,inylo,inyhi,inzlo,inzhi); + recvfirst,recvfirst+recvplanes-1,inylo,inyhi); nsent += sendplanes; sendfirst += sendplanes; @@ -351,7 +322,7 @@ void Grid3d::setup_regular(int &nbuf1, int &nbuf2) sendplanes = MIN(sendlast-sendfirst+1,ghostxhi-nsent); swap[nswap].npack = indices(swap[nswap].packlist, - sendlast-sendplanes+1,sendlast,inylo,inyhi,inzlo,inzhi); + sendlast-sendplanes+1,sendlast,inylo,inyhi); if (procxhi != me) MPI_Sendrecv(&sendplanes,1,MPI_INT,procxhi,0, @@ -360,7 +331,7 @@ void Grid3d::setup_regular(int &nbuf1, int &nbuf2) swap[nswap].nunpack = indices(swap[nswap].unpacklist, - recvlast-recvplanes+1,recvlast,inylo,inyhi,inzlo,inzhi); + recvlast-recvplanes+1,recvlast,inylo,inyhi); nsent += sendplanes; sendfirst -= recvplanes; @@ -389,7 +360,7 @@ void Grid3d::setup_regular(int &nbuf1, int &nbuf2) sendplanes = MIN(sendlast-sendfirst+1,ghostylo-nsent); swap[nswap].npack = indices(swap[nswap].packlist, - outxlo,outxhi,sendfirst,sendfirst+sendplanes-1,inzlo,inzhi); + outxlo,outxhi,sendfirst,sendfirst+sendplanes-1); if (procylo != me) MPI_Sendrecv(&sendplanes,1,MPI_INT,procylo,0, @@ -398,7 +369,7 @@ void Grid3d::setup_regular(int &nbuf1, int &nbuf2) swap[nswap].nunpack = indices(swap[nswap].unpacklist, - outxlo,outxhi,recvfirst,recvfirst+recvplanes-1,inzlo,inzhi); + outxlo,outxhi,recvfirst,recvfirst+recvplanes-1); nsent += sendplanes; sendfirst += sendplanes; @@ -427,7 +398,7 @@ void Grid3d::setup_regular(int &nbuf1, int &nbuf2) sendplanes = MIN(sendlast-sendfirst+1,ghostyhi-nsent); swap[nswap].npack = indices(swap[nswap].packlist, - outxlo,outxhi,sendlast-sendplanes+1,sendlast,inzlo,inzhi); + outxlo,outxhi,sendlast-sendplanes+1,sendlast); if (procyhi != me) MPI_Sendrecv(&sendplanes,1,MPI_INT,procyhi,0, @@ -436,7 +407,7 @@ void Grid3d::setup_regular(int &nbuf1, int &nbuf2) swap[nswap].nunpack = indices(swap[nswap].unpacklist, - outxlo,outxhi,recvlast-recvplanes+1,recvlast,inzlo,inzhi); + outxlo,outxhi,recvlast-recvplanes+1,recvlast); nsent += sendplanes; sendfirst -= recvplanes; @@ -449,82 +420,6 @@ void Grid3d::setup_regular(int &nbuf1, int &nbuf2) MPI_Allreduce(¬doneme,¬done,1,MPI_INT,MPI_SUM,gridcomm); } - // send own grid pts to -z processor, recv ghost grid pts from +z processor - - nsent = 0; - sendfirst = inzlo; - sendlast = inzhi; - recvfirst = inzhi+1; - notdone = 1; - - while (notdone) { - if (nswap == maxswap) grow_swap(); - - swap[nswap].sendproc = proczlo; - swap[nswap].recvproc = proczhi; - sendplanes = MIN(sendlast-sendfirst+1,ghostzlo-nsent); - swap[nswap].npack = - indices(swap[nswap].packlist, - outxlo,outxhi,outylo,outyhi,sendfirst,sendfirst+sendplanes-1); - - if (proczlo != me) - MPI_Sendrecv(&sendplanes,1,MPI_INT,proczlo,0, - &recvplanes,1,MPI_INT,proczhi,0,gridcomm,MPI_STATUS_IGNORE); - else recvplanes = sendplanes; - - swap[nswap].nunpack = - indices(swap[nswap].unpacklist, - outxlo,outxhi,outylo,outyhi,recvfirst,recvfirst+recvplanes-1); - - nsent += sendplanes; - sendfirst += sendplanes; - sendlast += recvplanes; - recvfirst += recvplanes; - nswap++; - - if (nsent < ghostzlo) notdoneme = 1; - else notdoneme = 0; - MPI_Allreduce(¬doneme,¬done,1,MPI_INT,MPI_SUM,gridcomm); - } - - // send own grid pts to +z processor, recv ghost grid pts from -z processor - - nsent = 0; - sendfirst = inzlo; - sendlast = inzhi; - recvlast = inzlo-1; - notdone = 1; - - while (notdone) { - if (nswap == maxswap) grow_swap(); - - swap[nswap].sendproc = proczhi; - swap[nswap].recvproc = proczlo; - sendplanes = MIN(sendlast-sendfirst+1,ghostzhi-nsent); - swap[nswap].npack = - indices(swap[nswap].packlist, - outxlo,outxhi,outylo,outyhi,sendlast-sendplanes+1,sendlast); - - if (proczhi != me) - MPI_Sendrecv(&sendplanes,1,MPI_INT,proczhi,0, - &recvplanes,1,MPI_INT,proczlo,0,gridcomm,MPI_STATUS_IGNORE); - else recvplanes = sendplanes; - - swap[nswap].nunpack = - indices(swap[nswap].unpacklist, - outxlo,outxhi,outylo,outyhi,recvlast-recvplanes+1,recvlast); - - nsent += sendplanes; - sendfirst -= recvplanes; - sendlast -= sendplanes; - recvlast -= recvplanes; - nswap++; - - if (nsent < ghostzhi) notdoneme = 1; - else notdoneme = 0; - MPI_Allreduce(¬doneme,¬done,1,MPI_INT,MPI_SUM,gridcomm); - } - // ngrid = max of any forward/reverse pack/unpack grid points int ngrid = 0; @@ -545,11 +440,11 @@ void Grid3d::setup_regular(int &nbuf1, int &nbuf2) no exchanges by dimension, unlike CommTiled forward/reverse comm of particles ------------------------------------------------------------------------- */ -void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) +void Grid2d::setup_tiled(int &nbuf1, int &nbuf2) { int i,m; - double xlo,xhi,ylo,yhi,zlo,zhi; - int ghostbox[6],pbc[3]; + double xlo,xhi,ylo,yhi; + int ghostbox[4],pbc[2]; // setup RCB tree of cut info for grid // access CommTiled to get cut dimension @@ -557,12 +452,11 @@ void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) // dim is -1 for proc 0, but never accessed rcbinfo = (RCBinfo *) - memory->smalloc(nprocs*sizeof(RCBinfo),"grid3d:rcbinfo"); + memory->smalloc(nprocs*sizeof(RCBinfo),"grid2d:rcbinfo"); RCBinfo rcbone; rcbone.dim = comm->rcbcutdim; if (rcbone.dim <= 0) rcbone.cut = inxlo; else if (rcbone.dim == 1) rcbone.cut = inylo; - else if (rcbone.dim == 2) rcbone.cut = inzlo; MPI_Allgather(&rcbone,sizeof(RCBinfo),MPI_CHAR, rcbinfo,sizeof(RCBinfo),MPI_CHAR,gridcomm); @@ -575,12 +469,10 @@ void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) ghostbox[1] = outxhi; ghostbox[2] = outylo; ghostbox[3] = outyhi; - ghostbox[4] = outzlo; - ghostbox[5] = outzhi; - pbc[0] = pbc[1] = pbc[2] = 0; + pbc[0] = pbc[1] = 0; - memory->create(overlap_procs,nprocs,"grid3d:overlap_procs"); + memory->create(overlap_procs,nprocs,"grid2d:overlap_procs"); noverlap = maxoverlap = 0; overlap = nullptr; @@ -591,9 +483,9 @@ void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) // ncopy = # of overlaps with myself, across a periodic boundary int *proclist; - memory->create(proclist,noverlap,"grid3d:proclist"); + memory->create(proclist,noverlap,"grid2d:proclist"); srequest = (Request *) - memory->smalloc(noverlap*sizeof(Request),"grid3d:srequest"); + memory->smalloc(noverlap*sizeof(Request),"grid2d:srequest"); int nsend_request = 0; ncopy = 0; @@ -604,7 +496,7 @@ void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) proclist[nsend_request] = overlap[m].proc; srequest[nsend_request].sender = me; srequest[nsend_request].index = m; - for (i = 0; i < 6; i++) + for (i = 0; i < 4; i++) srequest[nsend_request].box[i] = overlap[m].box[i]; nsend_request++; } @@ -612,17 +504,17 @@ void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) auto irregular = new Irregular(lmp); int nrecv_request = irregular->create_data(nsend_request,proclist,1); - auto rrequest = (Request *) memory->smalloc(nrecv_request*sizeof(Request),"grid3d:rrequest"); + auto rrequest = (Request *) memory->smalloc(nrecv_request*sizeof(Request),"grid2d:rrequest"); irregular->exchange_data((char *) srequest,sizeof(Request),(char *) rrequest); irregular->destroy_data(); // compute overlaps between received ghost boxes and my owned box // overlap box used to setup my Send data struct and respond to requests - send = (Send *) memory->smalloc(nrecv_request*sizeof(Send),"grid3d:send"); - sresponse = (Response *) memory->smalloc(nrecv_request*sizeof(Response),"grid3d:sresponse"); + send = (Send *) memory->smalloc(nrecv_request*sizeof(Send),"grid2d:send"); + sresponse = (Response *) memory->smalloc(nrecv_request*sizeof(Response),"grid2d:sresponse"); memory->destroy(proclist); - memory->create(proclist,nrecv_request,"grid3d:proclist"); + memory->create(proclist,nrecv_request,"grid2d:proclist"); for (m = 0; m < nrecv_request; m++) { send[m].proc = rrequest[m].sender; @@ -630,9 +522,7 @@ void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) xhi = MIN(rrequest[m].box[1],inxhi); ylo = MAX(rrequest[m].box[2],inylo); yhi = MIN(rrequest[m].box[3],inyhi); - zlo = MAX(rrequest[m].box[4],inzlo); - zhi = MIN(rrequest[m].box[5],inzhi); - send[m].npack = indices(send[m].packlist,xlo,xhi,ylo,yhi,zlo,zhi); + send[m].npack = indices(send[m].packlist,xlo,xhi,ylo,yhi); proclist[m] = rrequest[m].sender; sresponse[m].index = rrequest[m].index; @@ -640,8 +530,6 @@ void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) sresponse[m].box[1] = xhi; sresponse[m].box[2] = ylo; sresponse[m].box[3] = yhi; - sresponse[m].box[4] = zlo; - sresponse[m].box[5] = zhi; } nsend = nrecv_request; @@ -651,7 +539,7 @@ void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) int nsend_response = nrecv_request; int nrecv_response = irregular->create_data(nsend_response,proclist,1); - auto rresponse = (Response *) memory->smalloc(nrecv_response*sizeof(Response),"grid3d:rresponse"); + auto rresponse = (Response *) memory->smalloc(nrecv_response*sizeof(Response),"grid2d:rresponse"); irregular->exchange_data((char *) sresponse,sizeof(Response),(char *) rresponse); irregular->destroy_data(); delete irregular; @@ -660,7 +548,7 @@ void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) // box used to setup my Recv data struct after unwrapping via PBC // adjacent = 0 if any box of ghost cells does not adjoin my owned cells - recv = (Recv *) memory->smalloc(nrecv_response*sizeof(Recv),"grid3d:recv"); + recv = (Recv *) memory->smalloc(nrecv_response*sizeof(Recv),"grid2d:recv"); adjacent = 1; for (i = 0; i < nrecv_response; i++) { @@ -670,20 +558,17 @@ void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) xhi = rresponse[i].box[1] + overlap[m].pbc[0] * nx; ylo = rresponse[i].box[2] + overlap[m].pbc[1] * ny; yhi = rresponse[i].box[3] + overlap[m].pbc[1] * ny; - zlo = rresponse[i].box[4] + overlap[m].pbc[2] * nz; - zhi = rresponse[i].box[5] + overlap[m].pbc[2] * nz; - recv[i].nunpack = indices(recv[i].unpacklist,xlo,xhi,ylo,yhi,zlo,zhi); + recv[i].nunpack = indices(recv[i].unpacklist,xlo,xhi,ylo,yhi); if (xlo != inxhi+1 && xhi != inxlo-1 && - ylo != inyhi+1 && yhi != inylo-1 && - zlo != inzhi+1 && zhi != inzlo-1) adjacent = 0; + ylo != inyhi+1 && yhi != inylo-1) adjacent = 0; } nrecv = nrecv_response; // create Copy data struct from overlaps with self - copy = (Copy *) memory->smalloc(ncopy*sizeof(Copy),"grid3d:copy"); + copy = (Copy *) memory->smalloc(ncopy*sizeof(Copy),"grid2d:copy"); ncopy = 0; for (m = 0; m < noverlap; m++) { @@ -692,16 +577,12 @@ void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) xhi = overlap[m].box[1]; ylo = overlap[m].box[2]; yhi = overlap[m].box[3]; - zlo = overlap[m].box[4]; - zhi = overlap[m].box[5]; - copy[ncopy].npack = indices(copy[ncopy].packlist,xlo,xhi,ylo,yhi,zlo,zhi); + copy[ncopy].npack = indices(copy[ncopy].packlist,xlo,xhi,ylo,yhi); xlo = overlap[m].box[0] + overlap[m].pbc[0] * nx; xhi = overlap[m].box[1] + overlap[m].pbc[0] * nx; ylo = overlap[m].box[2] + overlap[m].pbc[1] * ny; yhi = overlap[m].box[3] + overlap[m].pbc[1] * ny; - zlo = overlap[m].box[4] + overlap[m].pbc[2] * nz; - zhi = overlap[m].box[5] + overlap[m].pbc[2] * nz; - copy[ncopy].nunpack = indices(copy[ncopy].unpacklist,xlo,xhi,ylo,yhi,zlo,zhi); + copy[ncopy].nunpack = indices(copy[ncopy].unpacklist,xlo,xhi,ylo,yhi); ncopy++; } @@ -762,7 +643,7 @@ void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) /* ---------------------------------------------------------------------- recursively split a box until it doesn't overlap any periodic boundaries - box = 6 integers = (xlo,xhi,ylo,yhi,zlo,zhi) + box = 4 integers = (xlo,xhi,ylo,yhi) each lo/hi value may extend beyonw 0 to N-1 into another periodic image pbc = flags in each dim of which periodic image the caller box was in when a box straddles a periodic bounadry, split it in two @@ -770,18 +651,18 @@ void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) add all the procs it overlaps with to Overlap list ------------------------------------------------------------------------- */ -void Grid3d::ghost_box_drop(int *box, int *pbc) +void Grid2d::ghost_box_drop(int *box, int *pbc) { int i,m; // newbox12 and newpbc are initially copies of caller box and pbc - int newbox1[6],newbox2[6],newpbc[3]; + int newbox1[4],newbox2[4],newpbc[2]; - for (i = 0; i < 6; i++) newbox1[i] = newbox2[i] = box[i]; - for (i = 0; i < 3; i++) newpbc[i] = pbc[i]; + for (i = 0; i < 4; i++) newbox1[i] = newbox2[i] = box[i]; + for (i = 0; i < 2; i++) newpbc[i] = pbc[i]; - // 6 if tests to see if box needs to be split across a periodic boundary + // 4 if tests to see if box needs to be split across a periodic boundary // newbox1 and 2 = new split boxes, newpbc increments current pbc // final else is no split @@ -807,16 +688,6 @@ void Grid3d::ghost_box_drop(int *box, int *pbc) newbox2[2] = 0; newbox2[3] = box[3] - ny; newpbc[1]++; - } else if (box[4] < 0) { - newbox1[4] = 0; - newbox2[4] = box[4] + nz; - newbox2[5] = nz - 1; - newpbc[2]--; - } else if (box[5] >= nz) { - newbox1[5] = nz - 1; - newbox2[4] = 0; - newbox2[5] = box[5] - nz; - newpbc[2]++; // box is not split, drop on RCB tree // returns nprocs = # of procs it overlaps, including self @@ -833,8 +704,8 @@ void Grid3d::ghost_box_drop(int *box, int *pbc) if (overlap_procs[m] == me && pbc[0] == 0 && pbc[1] == 0 && pbc[2] == 0) continue; overlap[noverlap].proc = overlap_procs[m]; - for (i = 0; i < 6; i++) overlap[noverlap].box[i] = box[i]; - for (i = 0; i < 3; i++) overlap[noverlap].pbc[i] = pbc[i]; + for (i = 0; i < 4; i++) overlap[noverlap].box[i] = box[i]; + for (i = 0; i < 2; i++) overlap[noverlap].pbc[i] = pbc[i]; noverlap++; } } @@ -849,14 +720,14 @@ void Grid3d::ghost_box_drop(int *box, int *pbc) /* ---------------------------------------------------------------------- recursively drop a box down the RCB tree to find all procs it overlaps with - box = 6 integers = (xlo,xhi,ylo,yhi,zlo,zhi) + box = 4 integers = (xlo,xhi,ylo,yhi) each lo/hi value ranges from 0 to N-1 in a dim, N = grid size in that dim box is guaranteed to be wholly within the global domain return Np = # of procs, plist = proc IDs ------------------------------------------------------------------------- */ -void Grid3d::box_drop_grid(int *box, int proclower, int procupper, - int &np, int *plist) +void Grid2d::box_drop_grid(int *box, int proclower, int procupper, + int &np, int *plist) { // end recursion when partition is a single proc // add proclower to plist @@ -872,7 +743,7 @@ void Grid3d::box_drop_grid(int *box, int proclower, int procupper, // = location in tree that stores this cut // cut = index of first grid cell in upper partition // dim = 0,1,2 dimension of cut - + int procmid = proclower + (procupper - proclower) / 2 + 1; int dim = rcbinfo[procmid].dim; int cut = rcbinfo[procmid].cut; @@ -886,26 +757,24 @@ void Grid3d::box_drop_grid(int *box, int proclower, int procupper, return 1 if yes, 0 if no ------------------------------------------------------------------------- */ -int Grid3d::ghost_adjacent() +int Grid2d::ghost_adjacent() { if (layout == REGULAR) return ghost_adjacent_regular(); return ghost_adjacent_tiled(); } /* ---------------------------------------------------------------------- - adjacent = 0 if a proc's ghost xyz lohi values exceed its subdomain size + adjacent = 0 if a proc's ghost xy lohi values exceed its subdomain size return 0 if adjacent=0 for any proc, else 1 ------------------------------------------------------------------------- */ -int Grid3d::ghost_adjacent_regular() +int Grid2d::ghost_adjacent_regular() { adjacent = 1; if (ghostxlo > inxhi-inxlo+1) adjacent = 0; if (ghostxhi > inxhi-inxlo+1) adjacent = 0; if (ghostylo > inyhi-inylo+1) adjacent = 0; if (ghostyhi > inyhi-inylo+1) adjacent = 0; - if (ghostzlo > inzhi-inzlo+1) adjacent = 0; - if (ghostzhi > inzhi-inzlo+1) adjacent = 0; int adjacent_all; MPI_Allreduce(&adjacent,&adjacent_all,1,MPI_INT,MPI_MIN,gridcomm); @@ -918,7 +787,7 @@ int Grid3d::ghost_adjacent_regular() return 0 if adjacent=0 for any proc, else 1 ------------------------------------------------------------------------- */ -int Grid3d::ghost_adjacent_tiled() +int Grid2d::ghost_adjacent_tiled() { int adjacent_all; MPI_Allreduce(&adjacent,&adjacent_all,1,MPI_INT,MPI_MIN,gridcomm); @@ -929,8 +798,8 @@ int Grid3d::ghost_adjacent_tiled() forward comm of my owned cells to other's ghost cells ------------------------------------------------------------------------- */ -void Grid3d::forward_comm(int caller, void *ptr, int nper, int nbyte, int which, - void *buf1, void *buf2, MPI_Datatype datatype) +void Grid2d::forward_comm(int caller, void *ptr, int nper, int nbyte, int which, + void *buf1, void *buf2, MPI_Datatype datatype) { if (layout == REGULAR) { if (caller == KSPACE) @@ -960,7 +829,7 @@ void Grid3d::forward_comm(int caller, void *ptr, int nper, int nbyte, int which, ------------------------------------------------------------------------- */ template < class T > -void Grid3d:: +void Grid2d:: forward_comm_regular(T *ptr, int nper, int /*nbyte*/, int which, void *buf1, void *buf2, MPI_Datatype datatype) { @@ -990,7 +859,7 @@ forward_comm_regular(T *ptr, int nper, int /*nbyte*/, int which, ------------------------------------------------------------------------- */ template < class T > -void Grid3d:: +void Grid2d:: forward_comm_tiled(T *ptr, int nper, int nbyte, int which, void *buf1, void *vbuf2, MPI_Datatype datatype) { @@ -1034,8 +903,8 @@ forward_comm_tiled(T *ptr, int nper, int nbyte, int which, reverse comm of my ghost cells to sum to owner cells ------------------------------------------------------------------------- */ -void Grid3d::reverse_comm(int caller, void *ptr, int nper, int nbyte, int which, - void *buf1, void *buf2, MPI_Datatype datatype) +void Grid2d::reverse_comm(int caller, void *ptr, int nper, int nbyte, int which, + void *buf1, void *buf2, MPI_Datatype datatype) { if (layout == REGULAR) { if (caller == KSPACE) @@ -1065,7 +934,7 @@ void Grid3d::reverse_comm(int caller, void *ptr, int nper, int nbyte, int which, ------------------------------------------------------------------------- */ template < class T > -void Grid3d:: +void Grid2d:: reverse_comm_regular(T *ptr, int nper, int /*nbyte*/, int which, void *buf1, void *buf2, MPI_Datatype datatype) { @@ -1095,7 +964,7 @@ reverse_comm_regular(T *ptr, int nper, int /*nbyte*/, int which, ------------------------------------------------------------------------- */ template < class T > -void Grid3d:: +void Grid2d:: reverse_comm_tiled(T *ptr, int nper, int nbyte, int which, void *buf1, void *vbuf2, MPI_Datatype datatype) { @@ -1135,94 +1004,18 @@ reverse_comm_tiled(T *ptr, int nper, int nbyte, int which, } } -/* ---------------------------------------------------------------------- - gather global grid values to proc 0, one grid chunk at a time - proc 0 pings each proc for its grid chunk - pack/unpack operations are performed by caller via callbacks - caller can decide whether to store chunks, output them, etc -------------------------------------------------------------------------- */ - -void Grid3d::gather(int /*caller*/, void *ptr, int nper, int nbyte, - int which, void *buf, MPI_Datatype datatype) -{ - int me = comm->me; - Fix *fptr = (Fix *) ptr; - - // maxsize = max grid data owned by any proc - - int mysize = (inxhi-inxlo+1) * (inyhi-inylo+1) * (inzhi-inzlo+1); - mysize *= nper; - int maxsize; - MPI_Allreduce(&mysize,&maxsize,1,MPI_INT,MPI_MAX,world); - - // pack my data via callback to caller - - char *mybuf; - if (me == 0) memory->create(mybuf,maxsize*nbyte,"grid3d:mybuf"); - else memory->create(mybuf,mysize*nbyte,"grid3d:mybuf"); - fptr->pack_gather_grid(which,mybuf); - - // ping each proc for its data - // unpack into full buffer via callback to caller - - int xlo,xhi,ylo,yhi,zlo,zhi,tmp; - int bounds[6]; - - if (me == 0) { - MPI_Status status; - MPI_Request request; - - for (int iproc = 0; iproc < nprocs; iproc++) { - if (iproc) { - MPI_Irecv(mybuf,maxsize,datatype,iproc,0,world,&request); - MPI_Send(&tmp,0,MPI_INT,iproc,0,world); - MPI_Wait(&request,&status); - MPI_Recv(bounds,6,MPI_INT,iproc,0,world,&status); - xlo = bounds[0]; - xhi = bounds[1]; - ylo = bounds[2]; - yhi = bounds[3]; - zlo = bounds[4]; - zhi = bounds[5]; - } else { - xlo = inxlo; - xhi = inxhi; - ylo = inylo; - yhi = inyhi; - zlo = inzlo; - zhi = inzhi; - } - - fptr->unpack_gather_grid(which,mybuf,buf,xlo,xhi,ylo,yhi,zlo,zhi); - } - - } else { - MPI_Recv(&tmp,0,MPI_INT,0,0,world,MPI_STATUS_IGNORE); - MPI_Rsend(mybuf,mysize,datatype,0,0,world); - bounds[0] = inxlo; - bounds[1] = inxhi; - bounds[2] = inylo; - bounds[3] = inyhi; - bounds[4] = inzlo; - bounds[5] = inzhi; - MPI_Send(bounds,6,MPI_INT,0,0,world); - } - - memory->destroy(mybuf); -} - /* ---------------------------------------------------------------------- create swap stencil for grid own/ghost communication - swaps covers all 3 dimensions and both directions + swaps covers all 2 dimensions and both directions swaps cover multiple iterations in a direction if need grid pts from further away than nearest-neighbor proc same swap list used by forward and reverse communication ------------------------------------------------------------------------- */ -void Grid3d::grow_swap() +void Grid2d::grow_swap() { maxswap += DELTA; - swap = (Swap *) memory->srealloc(swap,maxswap*sizeof(Swap),"grid3d:swap"); + swap = (Swap *) memory->srealloc(swap,maxswap*sizeof(Swap),"grid2d:swap"); } /* ---------------------------------------------------------------------- @@ -1233,35 +1026,32 @@ void Grid3d::grow_swap() same swap list used by forward and reverse communication ------------------------------------------------------------------------- */ -void Grid3d::grow_overlap() +void Grid2d::grow_overlap() { maxoverlap += DELTA; overlap = (Overlap *) - memory->srealloc(overlap,maxoverlap*sizeof(Overlap),"grid3d:overlap"); + memory->srealloc(overlap,maxoverlap*sizeof(Overlap),"grid2d:overlap"); } /* ---------------------------------------------------------------------- - create 1d list of offsets into 3d array section (xlo:xhi,ylo:yhi,zlo:zhi) - assume 3d array is allocated as - (fullxlo:fullxhi,fullylo:fullyhi,fullzlo:fullzhi) + create 1d list of offsets into 2d array section (xlo:xhi,ylo:yhi) + assume 2d array is allocated as + (fullxlo:fullxhi,fullylo:fullyhi) ------------------------------------------------------------------------- */ -int Grid3d::indices(int *&list, - int xlo, int xhi, int ylo, int yhi, int zlo, int zhi) +int Grid2d::indices(int *&list, int xlo, int xhi, int ylo, int yhi) { - int nmax = (xhi-xlo+1) * (yhi-ylo+1) * (zhi-zlo+1); - memory->create(list,nmax,"grid3d:indices"); + int nmax = (xhi-xlo+1) * (yhi-ylo+1); + memory->create(list,nmax,"grid2d:indices"); if (nmax == 0) return 0; int nx = (fullxhi-fullxlo+1); - int ny = (fullyhi-fullylo+1); int n = 0; - int ix,iy,iz; - for (iz = zlo; iz <= zhi; iz++) - for (iy = ylo; iy <= yhi; iy++) - for (ix = xlo; ix <= xhi; ix++) - list[n++] = (iz-fullzlo)*ny*nx + (iy-fullylo)*nx + (ix-fullxlo); + int ix,iy; + for (iy = ylo; iy <= yhi; iy++) + for (ix = xlo; ix <= xhi; ix++) + list[n++] = (iy-fullylo)*nx + (ix-fullxlo); return nmax; } diff --git a/src/grid2d.h b/src/grid2d.h index 5a48b8a6df..8b67c84a18 100644 --- a/src/grid2d.h +++ b/src/grid2d.h @@ -22,10 +22,9 @@ class Grid2d : protected Pointers { public: enum { KSPACE = 0, PAIR = 1, FIX = 2 }; // calling classes - Grid2d(class LAMMPS *, MPI_Comm, int, int, int, int, int, int, int, int, int, int, int, int, - int, int, int); - Grid2d(class LAMMPS *, MPI_Comm, int, int, int, int, int, int, int, int, int, int, int, int, - int, int, int, int, int, int, int, int, int, int); + Grid2d(class LAMMPS *, MPI_Comm, int, int, int, int, int, int, int, int, int, int); + Grid2d(class LAMMPS *, MPI_Comm, int, int, int, int, int, int, int, int, int, int, + int, int, int, int, int); ~Grid2d() override; void setup(int &, int &); int ghost_adjacent(); @@ -56,13 +55,11 @@ class Grid2d : protected Pointers { // internal variables for REGULAR layout // ------------------------------------------- - int procxlo, procxhi; // 6 neighbor procs that adjoin me + int procxlo, procxhi; // 4 neighbor procs that adjoin me int procylo, procyhi; // not used for comm_style = tiled - int proczlo, proczhi; int ghostxlo, ghostxhi; // # of my owned grid planes needed int ghostylo, ghostyhi; // by neighobr procs in each dir as their ghost planes - int ghostzlo, ghostzhi; // swap = exchange of owned and ghost grid cells between 2 procs, including self @@ -89,7 +86,7 @@ class Grid2d : protected Pointers { // each proc contributes one value, except proc 0 struct RCBinfo { - int dim; // 0,1,2 = which dim the cut is in + int dim; // 0,1 = which dim the cut is in int cut; // grid index of lowest cell in upper half of cut }; @@ -100,9 +97,9 @@ class Grid2d : protected Pointers { struct Overlap { int proc; // proc whose owned cells overlap my ghost cells - int box[6]; // box that overlaps otherproc's owned cells + int box[4]; // box that overlaps otherproc's owned cells // this box is wholly contained within global grid - int pbc[3]; // PBC offsets to convert box to a portion of my ghost box + int pbc[2]; // PBC offsets to convert box to a portion of my ghost box // my ghost box may extend beyond global grid }; @@ -114,7 +111,7 @@ class Grid2d : protected Pointers { struct Request { int sender; // sending proc int index; // index of overlap on sender - int box[6]; // box that overlaps receiver's owned cells + int box[4]; // box that overlaps receiver's owned cells // wholly contained within global grid }; @@ -124,7 +121,7 @@ class Grid2d : protected Pointers { struct Response { int index; // index of my overlap for the initial request - int box[6]; // box that overlaps responder's owned cells + int box[4]; // box that overlaps responder's owned cells // wholly contained within global grid // has to unwrapped by PBC to map to my ghost cells }; @@ -174,8 +171,8 @@ class Grid2d : protected Pointers { // internal methods // ------------------------------------------- - void initialize(MPI_Comm, int, int, int, int, int, int, int, int, int, int, int, int, int, int, - int, int, int, int, int, int, int, int, int, int, int, int, int); + void initialize(MPI_Comm, int, int, int, int, int, int, int, int, int, int, + int, int, int, int, int, int, int, int); virtual void setup_regular(int &, int &); virtual void setup_tiled(int &, int &); void ghost_box_drop(int *, int *); @@ -192,7 +189,7 @@ class Grid2d : protected Pointers { virtual void grow_swap(); void grow_overlap(); - int indices(int *&, int, int, int, int, int, int); + int indices(int *&, int, int, int, int); }; } // namespace LAMMPS_NS From 5c81ba81d74137d9ae7b6bea1b5fa7c6c75d3b3d Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 19 Jul 2022 11:03:44 -0600 Subject: [PATCH 004/142] initial version of dump grid --- src/compute.h | 5 + src/dump_grid.cpp | 863 ++++++++++++++++++++++++++++++++++++++++++++++ src/dump_grid.h | 119 +++++++ src/fix.h | 2 + src/grid3d.cpp | 80 ++--- 5 files changed, 1029 insertions(+), 40 deletions(-) create mode 100644 src/dump_grid.cpp create mode 100644 src/dump_grid.h diff --git a/src/compute.h b/src/compute.h index 90b88c7d1d..8151bd8ee0 100644 --- a/src/compute.h +++ b/src/compute.h @@ -30,6 +30,7 @@ class Compute : protected Pointers { INVOKED_ARRAY = 1<<2, INVOKED_PERATOM = 1<<3, INVOKED_LOCAL = 1<<4, + INVOKED_PERGRID = 1<<5, }; // clang-format on static int instance_total; // # of Compute classes ever instantiated @@ -61,6 +62,8 @@ class Compute : protected Pointers { int size_local_rows; // rows in local vector or array int size_local_cols; // 0 = vector, N = columns in local array + int pergrid_flag; // 0/1 if compute_pergrid() function exists + int extscalar; // 0/1 if global scalar is intensive/extensive int extvector; // 0/1/-1 if global vector is all int/ext/extlist int *extlist; // list of 0/1 int/ext for each vec component @@ -91,6 +94,7 @@ class Compute : protected Pointers { bigint invoked_array; // ditto for compute_array() bigint invoked_peratom; // ditto for compute_peratom() bigint invoked_local; // ditto for compute_local() + bigint invoked_pergrid; // ditto for compute_grid() double dof; // degrees-of-freedom for temperature @@ -118,6 +122,7 @@ class Compute : protected Pointers { virtual void compute_array() {} virtual void compute_peratom() {} virtual void compute_local() {} + virtual void compute_pergrid() {} virtual void set_arrays(int) {} virtual int pack_forward_comm(int, int *, double *, int, int *) { return 0; } diff --git a/src/dump_grid.cpp b/src/dump_grid.cpp new file mode 100644 index 0000000000..2f6c510611 --- /dev/null +++ b/src/dump_grid.cpp @@ -0,0 +1,863 @@ +// clang-format off +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "dump_grid.h" + +#include "arg_info.h" +#include "compute.h" +#include "domain.h" +#include "error.h" +#include "fix.h" +#include "memory.h" +#include "modify.h" +#include "region.h" +#include "update.h" + +#include + +using namespace LAMMPS_NS; + +// customize by adding keyword +// also customize compute_atom_property.cpp + +enum{COMPUTE,FIX}; + +#define ONEFIELD 32 +#define DELTA 1048576 + +/* ---------------------------------------------------------------------- */ + +DumpGrid::DumpGrid(LAMMPS *lmp, int narg, char **arg) : + Dump(lmp, narg, arg) +{ + if (narg == 5) error->all(FLERR,"No dump grid arguments specified"); + + clearstep = 1; + + nevery = utils::inumeric(FLERR,arg[3],false,lmp); + if (nevery <= 0) error->all(FLERR,"Illegal dump grid command"); + + // expand args if any have wildcard character "*" + // ok to include trailing optional args, + // so long as they do not have "*" between square brackets + // nfield may be shrunk below if extra optional args exist + + expand = 0; + nfield = nargnew = utils::expand_args(FLERR,narg-5,&arg[5],1,earg,lmp); + if (earg != &arg[5]) expand = 1; + + // allocate field vectors + + pack_choice = new FnPtrPack[nfield]; + vtype = new int[nfield]; + memory->create(field2index,nfield,"dump:field2index"); + memory->create(argindex,nfield,"dump:argindex"); + + buffer_allow = 1; + buffer_flag = 1; + + // computes and fixes which the dump accesses + + ncompute = 0; + nfix = 0; + + // process attributes + // ioptional = start of additional optional args in expanded args + + ioptional = parse_fields(nfield,earg); + + if (ioptional < nfield && + strcmp(style,"image") != 0 && strcmp(style,"movie") != 0) + error->all(FLERR,"Invalid attribute {} in dump {} command",earg[ioptional],style); + + // noptional = # of optional args + // reset nfield to subtract off optional args + // reset ioptional to what it would be in original arg list + // only dump image and dump movie styles process optional args, + // they do not use expanded earg list + + int noptional = nfield - ioptional; + nfield -= noptional; + size_one = nfield; + ioptional = narg - noptional; + + // setup format strings + + vformat = new char*[nfield]; + std::string cols; + + cols.clear(); + for (int i = 0; i < nfield; i++) { + if (vtype[i] == Dump::INT) cols += "%d "; + else if (vtype[i] == Dump::DOUBLE) cols += "%g "; + else if (vtype[i] == Dump::STRING) cols += "%s "; + else if (vtype[i] == Dump::BIGINT) cols += BIGINT_FORMAT " "; + vformat[i] = nullptr; + } + cols.resize(cols.size()-1); + format_default = utils::strdup(cols); + + format_column_user = new char*[nfield]; + for (int i = 0; i < nfield; i++) format_column_user[i] = nullptr; + + // setup column string + + cols.clear(); + keyword_user.resize(nfield); + for (int iarg = 0; iarg < nfield; iarg++) { + key2col[earg[iarg]] = iarg; + keyword_user[iarg].clear(); + if (cols.size()) cols += " "; + cols += earg[iarg]; + } + columns_default = utils::strdup(cols); +} + +/* ---------------------------------------------------------------------- */ + +DumpGrid::~DumpGrid() +{ + // if wildcard expansion occurred, free earg memory from expand_args() + // could not do in constructor, b/c some derived classes process earg + + if (expand) { + for (int i = 0; i < nargnew; i++) delete[] earg[i]; + memory->sfree(earg); + } + + delete[] pack_choice; + delete[] vtype; + memory->destroy(field2index); + memory->destroy(argindex); + + delete[] idregion; + + for (int i = 0; i < ncompute; i++) delete[] id_compute[i]; + memory->sfree(id_compute); + delete[] compute; + + for (int i = 0; i < nfix; i++) delete[] id_fix[i]; + memory->sfree(id_fix); + delete[] fix; + + if (vformat) { + for (int i = 0; i < nfield; i++) delete[] vformat[i]; + delete[] vformat; + } + + if (format_column_user) { + for (int i = 0; i < nfield; i++) delete[] format_column_user[i]; + delete[] format_column_user; + } + + delete[] columns_default; + delete[] columns; +} + +/* ---------------------------------------------------------------------- */ + +void DumpGrid::init_style() +{ + // assemble ITEMS: column string from defaults and user values + + delete[] columns; + std::string combined; + int icol = 0; + for (auto item : utils::split_words(columns_default)) { + if (combined.size()) combined += " "; + if (keyword_user[icol].size()) combined += keyword_user[icol]; + else combined += item; + ++icol; + } + columns = utils::strdup(combined); + + // format = copy of default or user-specified line format + + delete[] format; + if (format_line_user) format = utils::strdup(format_line_user); + else format = utils::strdup(format_default); + + // tokenize the format string and add space at end of each format element + // if user-specified int/float format exists, use it instead + // if user-specified column format exists, use it instead + // lo priority = line, medium priority = int/float, hi priority = column + + auto words = utils::split_words(format); + if ((int) words.size() < nfield) + error->all(FLERR,"Dump_modify format line is too short"); + + int i=0; + for (const auto &word : words) { + delete[] vformat[i]; + + if (format_column_user[i]) + vformat[i] = utils::strdup(std::string(format_column_user[i]) + " "); + else if (vtype[i] == Dump::INT && format_int_user) + vformat[i] = utils::strdup(std::string(format_int_user) + " "); + else if (vtype[i] == Dump::DOUBLE && format_float_user) + vformat[i] = utils::strdup(std::string(format_float_user) + " "); + else if (vtype[i] == Dump::BIGINT && format_bigint_user) + vformat[i] = utils::strdup(std::string(format_bigint_user) + " "); + else vformat[i] = utils::strdup(word + " "); + + // remove trailing blank on last column's format + if (i == nfield-1) vformat[i][strlen(vformat[i])-1] = '\0'; + + ++i; + } + + // setup boundary string + + domain->boundary_string(boundstr); + + // setup function ptrs + + if (binary && domain->triclinic == 0) + header_choice = &DumpGrid::header_binary; + else if (binary && domain->triclinic == 1) + header_choice = &DumpGrid::header_binary_triclinic; + else if (!binary && domain->triclinic == 0) + header_choice = &DumpGrid::header_item; + else if (!binary && domain->triclinic == 1) + header_choice = &DumpGrid::header_item_triclinic; + + if (binary) write_choice = &DumpGrid::write_binary; + else if (buffer_flag == 1) write_choice = &DumpGrid::write_string; + else write_choice = &DumpGrid::write_lines; + + // find current ptr for each compute and fix + // check that fix frequency is acceptable + + for (i = 0; i < ncompute; i++) { + compute[i] = modify->get_compute_by_id(id_compute[i]); + if (!compute[i]) error->all(FLERR,"Could not find dump grid compute ID {}",id_compute[i]); + } + + for (i = 0; i < nfix; i++) { + fix[i] = modify->get_fix_by_id(id_fix[i]); + if (!fix[i]) error->all(FLERR,"Could not find dump grid fix ID {}", id_fix[i]); + if (nevery % fix[i]->peratom_freq) + error->all(FLERR,"Dump grid and fix not computed at compatible times"); + } + + // check validity of region + + if (idregion && !domain->get_region_by_id(idregion)) + error->all(FLERR,"Region {} for dump grid does not exist", idregion); + + // open single file, one time only + + if (multifile == 0) openfile(); +} + +/* ---------------------------------------------------------------------- */ + +void DumpGrid::write_header(bigint ndump) +{ + if (multiproc) (this->*header_choice)(ndump); + else if (me == 0) (this->*header_choice)(ndump); +} + +/* ---------------------------------------------------------------------- */ + +void DumpGrid::format_magic_string_binary() +{ + // use negative ntimestep as marker for new format + bigint fmtlen = strlen(MAGIC_STRING); + bigint marker = -fmtlen; + fwrite(&marker, sizeof(bigint), 1, fp); + fwrite(MAGIC_STRING, sizeof(char), fmtlen, fp); +} + +/* ---------------------------------------------------------------------- */ + +void DumpGrid::format_endian_binary() +{ + int endian = ENDIAN; + fwrite(&endian, sizeof(int), 1, fp); +} + +/* ---------------------------------------------------------------------- */ + +void DumpGrid::format_revision_binary() +{ + int revision = FORMAT_REVISION; + fwrite(&revision, sizeof(int), 1, fp); +} + +/* ---------------------------------------------------------------------- */ + +void DumpGrid::header_unit_style_binary() +{ + int len = 0; + if (unit_flag && !unit_count) { + ++unit_count; + len = strlen(update->unit_style); + fwrite(&len, sizeof(int), 1, fp); + fwrite(update->unit_style, sizeof(char), len, fp); + } else { + fwrite(&len, sizeof(int), 1, fp); + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpGrid::header_columns_binary() +{ + int len = strlen(columns); + fwrite(&len, sizeof(int), 1, fp); + fwrite(columns, sizeof(char), len, fp); +} + +/* ---------------------------------------------------------------------- */ + +void DumpGrid::header_time_binary() +{ + char flag = time_flag ? 1 : 0; + fwrite(&flag, sizeof(char), 1, fp); + + if (time_flag) { + double t = compute_time(); + fwrite(&t, sizeof(double), 1, fp); + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpGrid::header_format_binary() +{ + format_magic_string_binary(); + format_endian_binary(); + format_revision_binary(); +} + +/* ---------------------------------------------------------------------- */ + +void DumpGrid::header_binary(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->boundary[0][0],6*sizeof(int),1,fp); + fwrite(&boxxlo,sizeof(double),1,fp); + fwrite(&boxxhi,sizeof(double),1,fp); + fwrite(&boxylo,sizeof(double),1,fp); + fwrite(&boxyhi,sizeof(double),1,fp); + fwrite(&boxzlo,sizeof(double),1,fp); + fwrite(&boxzhi,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 DumpGrid::header_binary_triclinic(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->boundary[0][0],6*sizeof(int),1,fp); + fwrite(&boxxlo,sizeof(double),1,fp); + fwrite(&boxxhi,sizeof(double),1,fp); + fwrite(&boxylo,sizeof(double),1,fp); + fwrite(&boxyhi,sizeof(double),1,fp); + fwrite(&boxzlo,sizeof(double),1,fp); + fwrite(&boxzhi,sizeof(double),1,fp); + fwrite(&boxxy,sizeof(double),1,fp); + fwrite(&boxxz,sizeof(double),1,fp); + fwrite(&boxyz,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 DumpGrid::header_item(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 {}\n" + "{:>1.16e} {:>1.16e}\n" + "{:>1.16e} {:>1.16e}\n" + "{:>1.16e} {:>1.16e}\n", + boundstr,boxxlo,boxxhi,boxylo,boxyhi,boxzlo,boxzhi); + + fmt::print(fp,"ITEM: ATOMS {}\n",columns); +} + +/* ---------------------------------------------------------------------- */ + +void DumpGrid::header_item_triclinic(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 xy xz yz {}\n" + "{:>1.16e} {:>1.16e} {:>1.16e}\n" + "{:>1.16e} {:>1.16e} {:>1.16e}\n" + "{:>1.16e} {:>1.16e} {:>1.16e}\n", + boundstr,boxxlo,boxxhi,boxxy,boxylo,boxyhi,boxxz,boxzlo,boxzhi,boxyz); + + fmt::print(fp,"ITEM: ATOMS {}\n",columns); +} + +/* ---------------------------------------------------------------------- */ + +int DumpGrid::count() +{ + int i; + + // grow choose arrays if needed + // NOTE: needs to change + + /* + const int nlocal = atom->nlocal; + if (atom->nmax > maxlocal) { + maxlocal = atom->nmax; + + memory->destroy(choose); + memory->destroy(dchoose); + memory->destroy(clist); + memory->create(choose,maxlocal,"dump:choose"); + memory->create(dchoose,maxlocal,"dump:dchoose"); + memory->create(clist,maxlocal,"dump:clist"); + } + */ + + // invoke Computes for per-grid quantities + // only if within a run or minimize + // else require that computes are current + // this prevents a compute from being invoked by the WriteDump class + + if (ncompute) { + if (update->whichflag == 0) { + for (i = 0; i < ncompute; i++) + if (compute[i]->invoked_pergrid != update->ntimestep) + error->all(FLERR,"Compute used in dump between runs is not current"); + } else { + for (i = 0; i < ncompute; i++) { + if (!(compute[i]->invoked_flag & Compute::INVOKED_PERGRID)) { + compute[i]->compute_pergrid(); + compute[i]->invoked_flag |= Compute::INVOKED_PERGRID; + } + } + } + } + + // choose all local grid pts for output + // NOTE: this needs to change + + //for (i = 0; i < nlocal; i++) choose[i] = 1; + + // un-choose if not in region + // NOTE: this needs to change + + if (idregion) { + auto region = domain->get_region_by_id(idregion); + region->prematch(); + /* + double **x = atom->x; + for (i = 0; i < nlocal; i++) + if (choose[i] && region->match(x[i][0],x[i][1],x[i][2]) == 0) + choose[i] = 0; + */ + } + + // compress choose flags into clist + // nchoose = # of selected atoms + // clist[i] = local index of each selected atom + // NOTE: this neds to change + + nchoose = 0; + /* + for (i = 0; i < nlocal; i++) + if (choose[i]) clist[nchoose++] = i; + */ + + return nchoose; +} + +/* ---------------------------------------------------------------------- */ + +void DumpGrid::pack(tagint *ids) +{ + for (int n = 0; n < size_one; n++) (this->*pack_choice[n])(n); + // NOTE: this needs to be grid IDs ? + /* + if (ids) { + tagint *tag = atom->tag; + for (int i = 0; i < nchoose; i++) + ids[i] = tag[clist[i]]; + } + */ +} + +/* ---------------------------------------------------------------------- + convert mybuf of doubles to one big formatted string in sbuf + return -1 if strlen exceeds an int, since used as arg in MPI calls in Dump +------------------------------------------------------------------------- */ + +int DumpGrid::convert_string(int n, double *mybuf) +{ + int i,j; + + int offset = 0; + int m = 0; + for (i = 0; i < n; i++) { + if (offset + nfield*ONEFIELD > maxsbuf) { + if ((bigint) maxsbuf + DELTA > MAXSMALLINT) return -1; + maxsbuf += DELTA; + memory->grow(sbuf,maxsbuf,"dump:sbuf"); + } + + for (j = 0; j < nfield; j++) { + if (vtype[j] == Dump::INT) + offset += sprintf(&sbuf[offset],vformat[j],static_cast (mybuf[m])); + else if (vtype[j] == Dump::DOUBLE) + offset += sprintf(&sbuf[offset],vformat[j],mybuf[m]); + else if (vtype[j] == Dump::BIGINT) + offset += sprintf(&sbuf[offset],vformat[j], + static_cast (mybuf[m])); + m++; + } + offset += sprintf(&sbuf[offset],"\n"); + } + + return offset; +} + +/* ---------------------------------------------------------------------- */ + +void DumpGrid::write_data(int n, double *mybuf) +{ + (this->*write_choice)(n,mybuf); +} + +/* ---------------------------------------------------------------------- */ + +void DumpGrid::write_binary(int n, double *mybuf) +{ + n *= size_one; + fwrite(&n,sizeof(int),1,fp); + fwrite(mybuf,sizeof(double),n,fp); +} + +/* ---------------------------------------------------------------------- */ + +void DumpGrid::write_string(int n, double *mybuf) +{ + if (mybuf) + fwrite(mybuf,sizeof(char),n,fp); +} + +/* ---------------------------------------------------------------------- */ + +void DumpGrid::write_lines(int n, double *mybuf) +{ + int i,j; + + int m = 0; + for (i = 0; i < n; i++) { + for (j = 0; j < nfield; j++) { + if (vtype[j] == Dump::INT) fprintf(fp,vformat[j],static_cast (mybuf[m])); + else if (vtype[j] == Dump::DOUBLE) fprintf(fp,vformat[j],mybuf[m]); + else if (vtype[j] == Dump::BIGINT) + fprintf(fp,vformat[j],static_cast (mybuf[m])); + m++; + } + fprintf(fp,"\n"); + } +} + +/* ---------------------------------------------------------------------- */ + +int DumpGrid::parse_fields(int narg, char **arg) +{ + // customize by adding to if statement + + for (int iarg = 0; iarg < narg; iarg++) { + + int n,flag,cols; + ArgInfo argi(arg[iarg], ArgInfo::COMPUTE | ArgInfo::FIX); + argindex[iarg] = argi.get_index1(); + auto name = argi.get_name(); + Compute *icompute = nullptr; + Fix *ifix = nullptr; + + switch (argi.get_type()) { + + case ArgInfo::UNKNOWN: + error->all(FLERR,"Invalid attribute in dump grid command"); + break; + + // compute value = c_ID + // if no trailing [], then arg is set to 0, else arg is int between [] + + case ArgInfo::COMPUTE: + pack_choice[iarg] = &DumpGrid::pack_compute; + vtype[iarg] = Dump::DOUBLE; + + icompute = modify->get_compute_by_id(name); + if (!icompute) error->all(FLERR,"Could not find dump grid compute ID: {}",name); + if (icompute->pergrid_flag == 0) + error->all(FLERR,"Dump grid compute {} does not compute per-grid info",name); + /* + if (argi.get_dim() == 0 && icompute->size_pergrid_cols > 0) + error->all(FLERR,"Dump grid compute {} does not calculate per-grid vector",name); + if (argi.get_dim() > 0 && icompute->size_pergrid_cols == 0) + error->all(FLERR,"Dump grid compute {} does not calculate per-grid array",name); + if (argi.get_dim() > 0 && argi.get_index1() > icompute->size_pergrid_cols) + error->all(FLERR,"Dump grid compute {} vector is accessed out-of-range",name); + */ + + field2index[iarg] = add_compute(name); + break; + + // fix value = f_ID + // if no trailing [], then arg is set to 0, else arg is between [] + + case ArgInfo::FIX: + pack_choice[iarg] = &DumpGrid::pack_fix; + vtype[iarg] = Dump::DOUBLE; + + ifix = modify->get_fix_by_id(name); + if (!ifix) error->all(FLERR,"Could not find dump grid fix ID: {}",name); + if (ifix->pergrid_flag == 0) + error->all(FLERR,"Dump grid fix {} does not compute per-atom info",name); + + /* + if (argi.get_dim() == 0 && ifix->size_pergrid_cols > 0) + error->all(FLERR,"Dump grid fix {} does not compute per-atom vector",name); + if (argi.get_dim() > 0 && ifix->size_pergrid_cols == 0) + error->all(FLERR,"Dump grid fix {} does not compute per-atom array",name); + if (argi.get_dim() > 0 && argi.get_index1() > ifix->size_pergrid_cols) + error->all(FLERR,"Dump grid fix {} vector is accessed out-of-range",name); + */ + + field2index[iarg] = add_fix(name); + break; + + // no match + + default: + return iarg; + break; + } + } + + return narg; +} + +/* ---------------------------------------------------------------------- + add Compute to list of Compute objects used by dump + return index of where this Compute is in list + if already in list, do not add, just return index, else add to list +------------------------------------------------------------------------- */ + +int DumpGrid::add_compute(const char *id) +{ + int icompute; + for (icompute = 0; icompute < ncompute; icompute++) + if (strcmp(id,id_compute[icompute]) == 0) break; + if (icompute < ncompute) return icompute; + + id_compute = (char **) + memory->srealloc(id_compute,(ncompute+1)*sizeof(char *),"dump:id_compute"); + delete[] compute; + compute = new Compute*[ncompute+1]; + + id_compute[ncompute] = utils::strdup(id); + ncompute++; + return ncompute-1; +} + +/* ---------------------------------------------------------------------- + add Fix to list of Fix objects used by dump + return index of where this Fix is in list + if already in list, do not add, just return index, else add to list +------------------------------------------------------------------------- */ + +int DumpGrid::add_fix(const char *id) +{ + int ifix; + for (ifix = 0; ifix < nfix; ifix++) + if (strcmp(id,id_fix[ifix]) == 0) break; + if (ifix < nfix) return ifix; + + id_fix = (char **) + memory->srealloc(id_fix,(nfix+1)*sizeof(char *),"dump:id_fix"); + delete[] fix; + fix = new Fix*[nfix+1]; + + id_fix[nfix] = utils::strdup(id); + nfix++; + return nfix-1; +} + +/* ---------------------------------------------------------------------- */ + +int DumpGrid::modify_param(int narg, char **arg) +{ + if (strcmp(arg[0],"region") == 0) { + if (narg < 2) error->all(FLERR,"Illegal dump_modify command"); + if (strcmp(arg[1],"none") == 0) { + delete[] idregion; + idregion = nullptr; + } else { + delete[] idregion; + if (!domain->get_region_by_id(arg[1])) + error->all(FLERR,"Dump_modify region {} does not exist", arg[1]); + idregion = utils::strdup(arg[1]); + } + return 2; + } + + if (strcmp(arg[0],"format") == 0) { + if (narg < 2) error->all(FLERR,"Illegal dump_modify command"); + + if (strcmp(arg[1],"none") == 0) { + // just clear format_column_user allocated by this dump child class + for (int i = 0; i < nfield; i++) { + delete[] format_column_user[i]; + format_column_user[i] = nullptr; + } + return 2; + } + + if (narg < 3) error->all(FLERR,"Illegal dump_modify command"); + + if (strcmp(arg[1],"int") == 0) { + delete[] format_int_user; + format_int_user = utils::strdup(arg[2]); + delete[] format_bigint_user; + int n = strlen(format_int_user) + 8; + format_bigint_user = new char[n]; + // replace "d" in format_int_user with bigint format specifier + // use of &str[1] removes leading '%' from BIGINT_FORMAT string + char *ptr = strchr(format_int_user,'d'); + if (ptr == nullptr) + error->all(FLERR,"Dump_modify int format does not contain d character"); + char str[8]; + sprintf(str,"%s",BIGINT_FORMAT); + *ptr = '\0'; + sprintf(format_bigint_user,"%s%s%s",format_int_user,&str[1],ptr+1); + *ptr = 'd'; + + } else if (strcmp(arg[1],"float") == 0) { + delete[] format_float_user; + format_float_user = utils::strdup(arg[2]); + + } else { + int i = utils::inumeric(FLERR,arg[1],false,lmp) - 1; + if (i < 0 || i >= nfield) + error->all(FLERR,"Illegal dump_modify command"); + delete[] format_column_user[i]; + format_column_user[i] = utils::strdup(arg[2]); + } + return 3; + } + + return 0; +} + +/* ---------------------------------------------------------------------- + return # of bytes of allocated memory in buf, choose, variable arrays +------------------------------------------------------------------------- */ + +double DumpGrid::memory_usage() +{ + double bytes = Dump::memory_usage(); + bytes += memory->usage(choose,maxlocal); + bytes += memory->usage(dchoose,maxlocal); + bytes += memory->usage(clist,maxlocal); + return bytes; +} + +/* ---------------------------------------------------------------------- + extraction of Compute and Fix data +------------------------------------------------------------------------- */ + +void DumpGrid::pack_compute(int n) +{ + double *vector = compute[field2index[n]]->vector_atom; + double **array = compute[field2index[n]]->array_atom; + int index = argindex[n]; + + if (index == 0) { + for (int i = 0; i < nchoose; i++) { + buf[n] = vector[clist[i]]; + n += size_one; + } + } else { + index--; + for (int i = 0; i < nchoose; i++) { + buf[n] = array[clist[i]][index]; + n += size_one; + } + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpGrid::pack_fix(int n) +{ + double *vector = fix[field2index[n]]->vector_atom; + double **array = fix[field2index[n]]->array_atom; + int index = argindex[n]; + + if (index == 0) { + for (int i = 0; i < nchoose; i++) { + buf[n] = vector[clist[i]]; + n += size_one; + } + } else { + index--; + for (int i = 0; i < nchoose; i++) { + buf[n] = array[clist[i]][index]; + n += size_one; + } + } +} + diff --git a/src/dump_grid.h b/src/dump_grid.h new file mode 100644 index 0000000000..95714bd552 --- /dev/null +++ b/src/dump_grid.h @@ -0,0 +1,119 @@ +/* -*- 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 DUMP_CLASS +// clang-format off +DumpStyle(grid,DumpGrid); +// clang-format on +#else + +#ifndef LMP_DUMP_GRID_H +#define LMP_DUMP_GRID_H + +#include "dump.h" + +namespace LAMMPS_NS { + +class DumpGrid : public Dump { + public: + DumpGrid(class LAMMPS *, int, char **); + ~DumpGrid() override; + + const char *MAGIC_STRING = "DUMPGRID"; + const int FORMAT_REVISION = 0x0002; + const int ENDIAN = 0x0001; + + protected: + int nevery; // dump frequency for output + char *idregion; // region ID, nullptr if no region + + int expand; // flag for whether field args were expanded + char **earg; // field names with wildcard expansion + int nargnew; // size of earg + // + int *vtype; // type of each vector (INT, DOUBLE) + char **vformat; // format string for each vector element + // + char *columns; // column labels + char *columns_default; + + int nchoose; // # of selected atoms + int maxlocal; // size of atom selection and variable arrays + int *choose; // local indices of selected atoms + double *dchoose; // value for each atom to threshold against + int *clist; // compressed list of indices of selected atoms + + int nfield; // # of keywords listed by user + int ioptional; // index of start of optional args + // + int *field2index; // which compute,fix,variable,custom calcs this field + int *argindex; // index into compute,fix,custom per-atom data + // 0 for per-atom vector, 1-N for cols of per-atom array + + int ncompute; // # of Computes accessed by dump + char **id_compute; // their IDs + class Compute **compute; // list of ptrs to the Computes + + int nfix; // # of Fixes used by dump + char **id_fix; // their IDs + class Fix **fix; // list of ptrs to the Fixes + + // private methods + + void init_style() override; + void write_header(bigint) override; + int count() override; + void pack(tagint *) override; + int convert_string(int, double *) override; + void write_data(int, double *) override; + double memory_usage() override; + + int parse_fields(int, char **); + int add_compute(const char *); + int add_fix(const char *); + int modify_param(int, char **) override; + + void header_format_binary(); + void header_unit_style_binary(); + void header_time_binary(); + void header_columns_binary(); + void format_magic_string_binary(); + void format_endian_binary(); + void format_revision_binary(); + + typedef void (DumpGrid::*FnPtrHeader)(bigint); + FnPtrHeader header_choice; // ptr to write header functions + void header_binary(bigint); + void header_binary_triclinic(bigint); + void header_item(bigint); + void header_item_triclinic(bigint); + + typedef void (DumpGrid::*FnPtrWrite)(int, double *); + FnPtrWrite write_choice; // ptr to write data functions + void write_binary(int, double *); + void write_string(int, double *); + void write_lines(int, double *); + + // customize by adding a method prototype + + typedef void (DumpGrid::*FnPtrPack)(int); + FnPtrPack *pack_choice; // ptrs to pack functions + + void pack_compute(int); + void pack_fix(int); +}; + +} // namespace LAMMPS_NS + +#endif +#endif diff --git a/src/fix.h b/src/fix.h index 41a30d2d60..0b15bacff6 100644 --- a/src/fix.h +++ b/src/fix.h @@ -99,6 +99,8 @@ class Fix : protected Pointers { int size_local_cols; // 0 = vector, N = columns in local array int local_freq; // frequency local data is available at + int pergrid_flag; // 0/1 if per-grid data is stored + int extscalar; // 0/1 if global scalar is intensive/extensive int extvector; // 0/1/-1 if global vector is all int/ext/extlist int *extlist; // list of 0/1 int/ext for each vec component diff --git a/src/grid3d.cpp b/src/grid3d.cpp index 8f65cb55b9..f96770d3c9 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -12,7 +12,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "grid2d.h" +#include "grid3d.h" #include "comm.h" #include "error.h" @@ -48,7 +48,7 @@ enum{REGULAR,TILED}; communication is done across the periodic boundaries ------------------------------------------------------------------------- */ -Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, +Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, int gnx, int gny, int gnz, int ixlo, int ixhi, int iylo, int iyhi, int izlo, int izhi, int oxlo, int oxhi, int oylo, int oyhi, int ozlo, int ozhi) @@ -87,7 +87,7 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, e xyz lohi for flag = 2: 6 neighbor procs ------------------------------------------------------------------------- */ -Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, int flag, +Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, int flag, int gnx, int gny, int gnz, int ixlo, int ixhi, int iylo, int iyhi, int izlo, int izhi, int oxlo, int oxhi, int oylo, int oyhi, int ozlo, int ozhi, @@ -124,14 +124,14 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, int flag, oxlo,oxhi,oylo,oyhi,ozlo,ozhi, exlo,exhi,eylo,eyhi,ezlo,ezhi); } else { - error->all(FLERR,"Grid2d does not support tiled layout with neighbor procs"); + error->all(FLERR,"Grid3d does not support tiled layout with neighbor procs"); } } } /* ---------------------------------------------------------------------- */ -Grid2d::~Grid2d() +Grid3d::~Grid3d() { // regular comm data struct @@ -164,7 +164,7 @@ Grid2d::~Grid2d() store constructor args in local variables ------------------------------------------------------------------------- */ -void Grid2d::initialize(MPI_Comm gcomm, +void Grid3d::initialize(MPI_Comm gcomm, int gnx, int gny, int gnz, int ixlo, int ixhi, int iylo, int iyhi, int izlo, int izhi, @@ -229,7 +229,7 @@ void Grid2d::initialize(MPI_Comm gcomm, /* ---------------------------------------------------------------------- */ -void Grid2d::setup(int &nbuf1, int &nbuf2) +void Grid3d::setup(int &nbuf1, int &nbuf2) { if (layout == REGULAR) setup_regular(nbuf1,nbuf2); else setup_tiled(nbuf1,nbuf2); @@ -244,7 +244,7 @@ void Grid2d::setup(int &nbuf1, int &nbuf2) all procs perform same # of swaps in a direction, even if some don't need it ------------------------------------------------------------------------- */ -void Grid2d::setup_regular(int &nbuf1, int &nbuf2) +void Grid3d::setup_regular(int &nbuf1, int &nbuf2) { int nsent,sendfirst,sendlast,recvfirst,recvlast; int sendplanes,recvplanes; @@ -545,7 +545,7 @@ void Grid2d::setup_regular(int &nbuf1, int &nbuf2) no exchanges by dimension, unlike CommTiled forward/reverse comm of particles ------------------------------------------------------------------------- */ -void Grid2d::setup_tiled(int &nbuf1, int &nbuf2) +void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) { int i,m; double xlo,xhi,ylo,yhi,zlo,zhi; @@ -557,7 +557,7 @@ void Grid2d::setup_tiled(int &nbuf1, int &nbuf2) // dim is -1 for proc 0, but never accessed rcbinfo = (RCBinfo *) - memory->smalloc(nprocs*sizeof(RCBinfo),"grid2d:rcbinfo"); + memory->smalloc(nprocs*sizeof(RCBinfo),"grid3d:rcbinfo"); RCBinfo rcbone; rcbone.dim = comm->rcbcutdim; if (rcbone.dim <= 0) rcbone.cut = inxlo; @@ -580,7 +580,7 @@ void Grid2d::setup_tiled(int &nbuf1, int &nbuf2) pbc[0] = pbc[1] = pbc[2] = 0; - memory->create(overlap_procs,nprocs,"grid2d:overlap_procs"); + memory->create(overlap_procs,nprocs,"grid3d:overlap_procs"); noverlap = maxoverlap = 0; overlap = nullptr; @@ -591,9 +591,9 @@ void Grid2d::setup_tiled(int &nbuf1, int &nbuf2) // ncopy = # of overlaps with myself, across a periodic boundary int *proclist; - memory->create(proclist,noverlap,"grid2d:proclist"); + memory->create(proclist,noverlap,"grid3d:proclist"); srequest = (Request *) - memory->smalloc(noverlap*sizeof(Request),"grid2d:srequest"); + memory->smalloc(noverlap*sizeof(Request),"grid3d:srequest"); int nsend_request = 0; ncopy = 0; @@ -612,17 +612,17 @@ void Grid2d::setup_tiled(int &nbuf1, int &nbuf2) auto irregular = new Irregular(lmp); int nrecv_request = irregular->create_data(nsend_request,proclist,1); - auto rrequest = (Request *) memory->smalloc(nrecv_request*sizeof(Request),"grid2d:rrequest"); + auto rrequest = (Request *) memory->smalloc(nrecv_request*sizeof(Request),"grid3d:rrequest"); irregular->exchange_data((char *) srequest,sizeof(Request),(char *) rrequest); irregular->destroy_data(); // compute overlaps between received ghost boxes and my owned box // overlap box used to setup my Send data struct and respond to requests - send = (Send *) memory->smalloc(nrecv_request*sizeof(Send),"grid2d:send"); - sresponse = (Response *) memory->smalloc(nrecv_request*sizeof(Response),"grid2d:sresponse"); + send = (Send *) memory->smalloc(nrecv_request*sizeof(Send),"grid3d:send"); + sresponse = (Response *) memory->smalloc(nrecv_request*sizeof(Response),"grid3d:sresponse"); memory->destroy(proclist); - memory->create(proclist,nrecv_request,"grid2d:proclist"); + memory->create(proclist,nrecv_request,"grid3d:proclist"); for (m = 0; m < nrecv_request; m++) { send[m].proc = rrequest[m].sender; @@ -651,7 +651,7 @@ void Grid2d::setup_tiled(int &nbuf1, int &nbuf2) int nsend_response = nrecv_request; int nrecv_response = irregular->create_data(nsend_response,proclist,1); - auto rresponse = (Response *) memory->smalloc(nrecv_response*sizeof(Response),"grid2d:rresponse"); + auto rresponse = (Response *) memory->smalloc(nrecv_response*sizeof(Response),"grid3d:rresponse"); irregular->exchange_data((char *) sresponse,sizeof(Response),(char *) rresponse); irregular->destroy_data(); delete irregular; @@ -660,7 +660,7 @@ void Grid2d::setup_tiled(int &nbuf1, int &nbuf2) // box used to setup my Recv data struct after unwrapping via PBC // adjacent = 0 if any box of ghost cells does not adjoin my owned cells - recv = (Recv *) memory->smalloc(nrecv_response*sizeof(Recv),"grid2d:recv"); + recv = (Recv *) memory->smalloc(nrecv_response*sizeof(Recv),"grid3d:recv"); adjacent = 1; for (i = 0; i < nrecv_response; i++) { @@ -683,7 +683,7 @@ void Grid2d::setup_tiled(int &nbuf1, int &nbuf2) // create Copy data struct from overlaps with self - copy = (Copy *) memory->smalloc(ncopy*sizeof(Copy),"grid2d:copy"); + copy = (Copy *) memory->smalloc(ncopy*sizeof(Copy),"grid3d:copy"); ncopy = 0; for (m = 0; m < noverlap; m++) { @@ -770,7 +770,7 @@ void Grid2d::setup_tiled(int &nbuf1, int &nbuf2) add all the procs it overlaps with to Overlap list ------------------------------------------------------------------------- */ -void Grid2d::ghost_box_drop(int *box, int *pbc) +void Grid3d::ghost_box_drop(int *box, int *pbc) { int i,m; @@ -855,7 +855,7 @@ void Grid2d::ghost_box_drop(int *box, int *pbc) return Np = # of procs, plist = proc IDs ------------------------------------------------------------------------- */ -void Grid2d::box_drop_grid(int *box, int proclower, int procupper, +void Grid3d::box_drop_grid(int *box, int proclower, int procupper, int &np, int *plist) { // end recursion when partition is a single proc @@ -886,7 +886,7 @@ void Grid2d::box_drop_grid(int *box, int proclower, int procupper, return 1 if yes, 0 if no ------------------------------------------------------------------------- */ -int Grid2d::ghost_adjacent() +int Grid3d::ghost_adjacent() { if (layout == REGULAR) return ghost_adjacent_regular(); return ghost_adjacent_tiled(); @@ -897,7 +897,7 @@ int Grid2d::ghost_adjacent() return 0 if adjacent=0 for any proc, else 1 ------------------------------------------------------------------------- */ -int Grid2d::ghost_adjacent_regular() +int Grid3d::ghost_adjacent_regular() { adjacent = 1; if (ghostxlo > inxhi-inxlo+1) adjacent = 0; @@ -918,7 +918,7 @@ int Grid2d::ghost_adjacent_regular() return 0 if adjacent=0 for any proc, else 1 ------------------------------------------------------------------------- */ -int Grid2d::ghost_adjacent_tiled() +int Grid3d::ghost_adjacent_tiled() { int adjacent_all; MPI_Allreduce(&adjacent,&adjacent_all,1,MPI_INT,MPI_MIN,gridcomm); @@ -929,7 +929,7 @@ int Grid2d::ghost_adjacent_tiled() forward comm of my owned cells to other's ghost cells ------------------------------------------------------------------------- */ -void Grid2d::forward_comm(int caller, void *ptr, int nper, int nbyte, int which, +void Grid3d::forward_comm(int caller, void *ptr, int nper, int nbyte, int which, void *buf1, void *buf2, MPI_Datatype datatype) { if (layout == REGULAR) { @@ -960,7 +960,7 @@ void Grid2d::forward_comm(int caller, void *ptr, int nper, int nbyte, int which, ------------------------------------------------------------------------- */ template < class T > -void Grid2d:: +void Grid3d:: forward_comm_regular(T *ptr, int nper, int /*nbyte*/, int which, void *buf1, void *buf2, MPI_Datatype datatype) { @@ -990,7 +990,7 @@ forward_comm_regular(T *ptr, int nper, int /*nbyte*/, int which, ------------------------------------------------------------------------- */ template < class T > -void Grid2d:: +void Grid3d:: forward_comm_tiled(T *ptr, int nper, int nbyte, int which, void *buf1, void *vbuf2, MPI_Datatype datatype) { @@ -1034,7 +1034,7 @@ forward_comm_tiled(T *ptr, int nper, int nbyte, int which, reverse comm of my ghost cells to sum to owner cells ------------------------------------------------------------------------- */ -void Grid2d::reverse_comm(int caller, void *ptr, int nper, int nbyte, int which, +void Grid3d::reverse_comm(int caller, void *ptr, int nper, int nbyte, int which, void *buf1, void *buf2, MPI_Datatype datatype) { if (layout == REGULAR) { @@ -1065,7 +1065,7 @@ void Grid2d::reverse_comm(int caller, void *ptr, int nper, int nbyte, int which, ------------------------------------------------------------------------- */ template < class T > -void Grid2d:: +void Grid3d:: reverse_comm_regular(T *ptr, int nper, int /*nbyte*/, int which, void *buf1, void *buf2, MPI_Datatype datatype) { @@ -1095,7 +1095,7 @@ reverse_comm_regular(T *ptr, int nper, int /*nbyte*/, int which, ------------------------------------------------------------------------- */ template < class T > -void Grid2d:: +void Grid3d:: reverse_comm_tiled(T *ptr, int nper, int nbyte, int which, void *buf1, void *vbuf2, MPI_Datatype datatype) { @@ -1142,7 +1142,7 @@ reverse_comm_tiled(T *ptr, int nper, int nbyte, int which, caller can decide whether to store chunks, output them, etc ------------------------------------------------------------------------- */ -void Grid2d::gather(int /*caller*/, void *ptr, int nper, int nbyte, +void Grid3d::gather(int /*caller*/, void *ptr, int nper, int nbyte, int which, void *buf, MPI_Datatype datatype) { int me = comm->me; @@ -1158,8 +1158,8 @@ void Grid2d::gather(int /*caller*/, void *ptr, int nper, int nbyte, // pack my data via callback to caller char *mybuf; - if (me == 0) memory->create(mybuf,maxsize*nbyte,"grid2d:mybuf"); - else memory->create(mybuf,mysize*nbyte,"grid2d:mybuf"); + if (me == 0) memory->create(mybuf,maxsize*nbyte,"grid3d:mybuf"); + else memory->create(mybuf,mysize*nbyte,"grid3d:mybuf"); fptr->pack_gather_grid(which,mybuf); // ping each proc for its data @@ -1219,10 +1219,10 @@ void Grid2d::gather(int /*caller*/, void *ptr, int nper, int nbyte, same swap list used by forward and reverse communication ------------------------------------------------------------------------- */ -void Grid2d::grow_swap() +void Grid3d::grow_swap() { maxswap += DELTA; - swap = (Swap *) memory->srealloc(swap,maxswap*sizeof(Swap),"grid2d:swap"); + swap = (Swap *) memory->srealloc(swap,maxswap*sizeof(Swap),"grid3d:swap"); } /* ---------------------------------------------------------------------- @@ -1233,11 +1233,11 @@ void Grid2d::grow_swap() same swap list used by forward and reverse communication ------------------------------------------------------------------------- */ -void Grid2d::grow_overlap() +void Grid3d::grow_overlap() { maxoverlap += DELTA; overlap = (Overlap *) - memory->srealloc(overlap,maxoverlap*sizeof(Overlap),"grid2d:overlap"); + memory->srealloc(overlap,maxoverlap*sizeof(Overlap),"grid3d:overlap"); } /* ---------------------------------------------------------------------- @@ -1246,11 +1246,11 @@ void Grid2d::grow_overlap() (fullxlo:fullxhi,fullylo:fullyhi,fullzlo:fullzhi) ------------------------------------------------------------------------- */ -int Grid2d::indices(int *&list, +int Grid3d::indices(int *&list, int xlo, int xhi, int ylo, int yhi, int zlo, int zhi) { int nmax = (xhi-xlo+1) * (yhi-ylo+1) * (zhi-zlo+1); - memory->create(list,nmax,"grid2d:indices"); + memory->create(list,nmax,"grid3d:indices"); if (nmax == 0) return 0; int nx = (fullxhi-fullxlo+1); From 7dc478e201eeb61ce802a85ccff6706b2fbbbcd8 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 19 Jul 2022 11:35:50 -0600 Subject: [PATCH 005/142] remove unneeded info from dump custom header --- src/dump_custom.h | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/dump_custom.h b/src/dump_custom.h index b27a9950cd..dd653d5e98 100644 --- a/src/dump_custom.h +++ b/src/dump_custom.h @@ -127,11 +127,6 @@ class DumpCustom : public Dump { void header_item(bigint); void header_item_triclinic(bigint); - typedef int (DumpCustom::*FnPtrConvert)(int, double *); - FnPtrConvert convert_choice; // ptr to convert data functions - int convert_image(int, double *); - int convert_noimage(int, double *); - typedef void (DumpCustom::*FnPtrWrite)(int, double *); FnPtrWrite write_choice; // ptr to write data functions void write_binary(int, double *); From f69be2791b26459c35773e8d20496c40c037584e Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 19 Jul 2022 14:02:05 -0600 Subject: [PATCH 006/142] hooks from dump grid to fix --- src/dump_grid.cpp | 68 ++++++++++++++++++++++++++++++++++++++--------- src/fix.h | 3 +++ 2 files changed, 58 insertions(+), 13 deletions(-) diff --git a/src/dump_grid.cpp b/src/dump_grid.cpp index 2f6c510611..0519dc411d 100644 --- a/src/dump_grid.cpp +++ b/src/dump_grid.cpp @@ -657,26 +657,68 @@ int DumpGrid::parse_fields(int narg, char **arg) // fix value = f_ID // if no trailing [], then arg is set to 0, else arg is between [] - + case ArgInfo::FIX: pack_choice[iarg] = &DumpGrid::pack_fix; vtype[iarg] = Dump::DOUBLE; - ifix = modify->get_fix_by_id(name); - if (!ifix) error->all(FLERR,"Could not find dump grid fix ID: {}",name); + // name = idfix:gname:fname, split into 3 strings + + char *ptr = strchr(name,':'); + if (!ptr) error->all(FLERR,"Dump grid fix {} does not contain 2 ':' chars"); + *ptr = '\0'; + int n = strlen(name) + 1; + char *gname = new char[n]; + strcpy(gname,name); + char *ptr2 = strchr(ptr+1,':'); + if (!ptr) error->all(FLERR,"Dump grid fix {} does not contain 2 ':' chars"); + int n = strlen(ptr+1) + 1; + char *fname = new char[n]; + strcpy(fname,ptr+1); + *ptr = ':'; + *ptr2 = ':'; + + // error check + + ifix = modify->get_fix_by_id(idfix); + if (!ifix) error->all(FLERR,"Could not find dump grid fix ID: {}",idfix); if (ifix->pergrid_flag == 0) - error->all(FLERR,"Dump grid fix {} does not compute per-atom info",name); + error->all(FLERR,"Dump grid fix {} does not compute per-atom info",idfix); - /* - if (argi.get_dim() == 0 && ifix->size_pergrid_cols > 0) - error->all(FLERR,"Dump grid fix {} does not compute per-atom vector",name); - if (argi.get_dim() > 0 && ifix->size_pergrid_cols == 0) - error->all(FLERR,"Dump grid fix {} does not compute per-atom array",name); - if (argi.get_dim() > 0 && argi.get_index1() > ifix->size_pergrid_cols) - error->all(FLERR,"Dump grid fix {} vector is accessed out-of-range",name); - */ + int dim; + void *grid = ifix->grid_find_name(gname,dim); + if (!grid) error->all(FLERR,"Dump grid fix {} does not recognize grid {}", + idfix,gname); - field2index[iarg] = add_fix(name); + Grid2d *grid2d; + Grid3d *grid3d; + if (dim == 2) grid2d = (Grid2d *) grid; + if (dim == 3) grid2d = (Grid3d *) grid; + + int ncol; + void *field = ifix->grid_find_field(fname,ncol); + if (!grid) error->all(FLERR,"Dump grid fix {} does not recognize field {}", + idfix,fname); + + if (argi.get_dim() == 0 && ncol) + error->all(FLERR,"Dump grid fix {} field {} is not per-grid vector", + idfix,fname); + if (argi.get_dim() > 0 && ncol == 0) + error->all(FLERR,"Dump grid fix {} field {} is not per-grid array", + idfix,fname); + if (argi.get_dim() > 0 && argi.get_index1() > ncol) + error->all(FLERR,"Dump grid fix {} array {} is accessed out-of-range", + idfix,fname); + + if (ncol == 0) { + if (dim == 2) vec2d = (double **) field; + if (dim == 3) vec3d = (double ***) field; + } else if (ncol) { + if (dim == 2) array2d = (double ***) field; + if (dim == 3) array3d = (double ****) field; + } + + field2index[iarg] = add_fix(idfix); break; // no match diff --git a/src/fix.h b/src/fix.h index 0b15bacff6..a6d085b88a 100644 --- a/src/fix.h +++ b/src/fix.h @@ -221,6 +221,9 @@ class Fix : protected Pointers { virtual double compute_vector(int) { return 0.0; } virtual double compute_array(int, int) { return 0.0; } + virtual void *grid_find_name(char *, int &) { return nullptr; }; + virtual void *grid_find_field(char *, int &) { return nullptr; }; + virtual int dof(int) { return 0; } virtual void deform(int) {} virtual void reset_target(double) {} From d5113edc87b7a6d031382132282c7a4574ef93d3 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 20 Jul 2022 10:53:34 -0600 Subject: [PATCH 007/142] interface between dump grid and fixes --- src/EXTRA-FIX/fix_ttm_grid.cpp | 33 +++++++ src/EXTRA-FIX/fix_ttm_grid.h | 4 + src/dump_grid.cpp | 173 ++++++++++++++++++--------------- 3 files changed, 133 insertions(+), 77 deletions(-) diff --git a/src/EXTRA-FIX/fix_ttm_grid.cpp b/src/EXTRA-FIX/fix_ttm_grid.cpp index dd254cd892..9d8be6af87 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.cpp +++ b/src/EXTRA-FIX/fix_ttm_grid.cpp @@ -46,6 +46,8 @@ static constexpr int OFFSET = 16384; FixTTMGrid::FixTTMGrid(LAMMPS *lmp, int narg, char **arg) : FixTTM(lmp, narg, arg) { + pergrid_flag = 1; + skin_original = neighbor->skin; } @@ -625,6 +627,37 @@ void FixTTMGrid::unpack_gather_grid(int which, void *vbuf, void *vgbuf, int xlo, } } +/* ---------------------------------------------------------------------- + return ptr to Grid3d instance which matches name + set dim = 2/3 for 2d/3d grid +------------------------------------------------------------------------- */ + +void *FixTTMGrid::grid_find_name(char *name, int &dim) +{ + if (strcmp(name,"grid") == 0) { + dim = 3; + return gc; + } + + return nullptr; +} + +/* ---------------------------------------------------------------------- + return ptr to data field on a grid which matches name + set ncol = 0 for per-grid vector with a single value per grid pt + set ncol = M for per-grid array with M values per grid pt +------------------------------------------------------------------------- */ + +void *FixTTMGrid::grid_find_field(char *name, int &ncol) +{ + if (strcmp(name,"telectron") == 0) { + ncol = 0; + return T_electron; + } + + return nullptr; +} + /* ---------------------------------------------------------------------- return the energy of the electronic subsystem or the net_energy transfer between the subsystems diff --git a/src/EXTRA-FIX/fix_ttm_grid.h b/src/EXTRA-FIX/fix_ttm_grid.h index e42e602be9..4bc86ceaca 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.h +++ b/src/EXTRA-FIX/fix_ttm_grid.h @@ -44,6 +44,10 @@ class FixTTMGrid : public FixTTM { void write_restart(FILE *) override; void restart(char *) override; + + void *grid_find_name(char *, int &) override; + void *grid_find_field(char *, int &) override; + double compute_vector(int) override; double memory_usage() override; diff --git a/src/dump_grid.cpp b/src/dump_grid.cpp index 0519dc411d..d623f1cc1b 100644 --- a/src/dump_grid.cpp +++ b/src/dump_grid.cpp @@ -19,6 +19,8 @@ #include "domain.h" #include "error.h" #include "fix.h" +#include "grid2d.h" +#include "grid3d.h" #include "memory.h" #include "modify.h" #include "region.h" @@ -628,21 +630,23 @@ int DumpGrid::parse_fields(int narg, char **arg) switch (argi.get_type()) { - case ArgInfo::UNKNOWN: - error->all(FLERR,"Invalid attribute in dump grid command"); - break; - - // compute value = c_ID - // if no trailing [], then arg is set to 0, else arg is int between [] + case ArgInfo::UNKNOWN: { + error->all(FLERR,"Invalid attribute in dump grid command"); + } break; + + // compute value = c_ID + // if no trailing [], then arg is set to 0, else arg is int between [] - case ArgInfo::COMPUTE: - pack_choice[iarg] = &DumpGrid::pack_compute; - vtype[iarg] = Dump::DOUBLE; - - icompute = modify->get_compute_by_id(name); - if (!icompute) error->all(FLERR,"Could not find dump grid compute ID: {}",name); - if (icompute->pergrid_flag == 0) - error->all(FLERR,"Dump grid compute {} does not compute per-grid info",name); + case ArgInfo::COMPUTE: { + pack_choice[iarg] = &DumpGrid::pack_compute; + vtype[iarg] = Dump::DOUBLE; + + icompute = modify->get_compute_by_id(name); + if (!icompute) + error->all(FLERR,"Could not find dump grid compute ID: {}",name); + if (icompute->pergrid_flag == 0) + error->all(FLERR,"Dump grid compute {} does not compute per-grid info", + name); /* if (argi.get_dim() == 0 && icompute->size_pergrid_cols > 0) error->all(FLERR,"Dump grid compute {} does not calculate per-grid vector",name); @@ -652,80 +656,95 @@ int DumpGrid::parse_fields(int narg, char **arg) error->all(FLERR,"Dump grid compute {} vector is accessed out-of-range",name); */ - field2index[iarg] = add_compute(name); - break; + field2index[iarg] = add_compute(name); + } break; - // fix value = f_ID - // if no trailing [], then arg is set to 0, else arg is between [] - - case ArgInfo::FIX: - pack_choice[iarg] = &DumpGrid::pack_fix; - vtype[iarg] = Dump::DOUBLE; + // fix value = f_ID + // if no trailing [], then arg is set to 0, else arg is between [] - // name = idfix:gname:fname, split into 3 strings + case ArgInfo::FIX: { + pack_choice[iarg] = &DumpGrid::pack_fix; + vtype[iarg] = Dump::DOUBLE; - char *ptr = strchr(name,':'); - if (!ptr) error->all(FLERR,"Dump grid fix {} does not contain 2 ':' chars"); - *ptr = '\0'; - int n = strlen(name) + 1; - char *gname = new char[n]; - strcpy(gname,name); - char *ptr2 = strchr(ptr+1,':'); - if (!ptr) error->all(FLERR,"Dump grid fix {} does not contain 2 ':' chars"); - int n = strlen(ptr+1) + 1; - char *fname = new char[n]; - strcpy(fname,ptr+1); - *ptr = ':'; - *ptr2 = ':'; + // name = idfix:gname:fname, split into 3 strings - // error check + char *ptr1 = strchr((char *) name,':'); + if (!ptr1) + error->all(FLERR,"Dump grid fix {} does not contain 2 ':' chars"); + *ptr1 = '\0'; + char *ptr2 = strchr(ptr1+1,':'); + if (!ptr2) + error->all(FLERR,"Dump grid fix {} does not contain 2 ':' chars"); + *ptr2 = '\0'; - ifix = modify->get_fix_by_id(idfix); - if (!ifix) error->all(FLERR,"Could not find dump grid fix ID: {}",idfix); - if (ifix->pergrid_flag == 0) - error->all(FLERR,"Dump grid fix {} does not compute per-atom info",idfix); + int n = strlen(name) + 1; + char *idfix = new char[n]; + strcpy(idfix,name); + n = strlen(ptr1+1) + 1; + char *gname = new char[n]; + strcpy(gname,ptr1+1); + n = strlen(ptr2+1) + 1; + char *fname = new char[n]; + strcpy(fname,ptr2+1); + + *ptr1 = ':'; + *ptr2 = ':'; + + // error check + + ifix = modify->get_fix_by_id(idfix); + if (!ifix) error->all(FLERR,"Could not find dump grid fix ID: {}",idfix); + if (ifix->pergrid_flag == 0) + error->all(FLERR,"Dump grid fix {} does not compute per-grid info", + idfix); - int dim; - void *grid = ifix->grid_find_name(gname,dim); - if (!grid) error->all(FLERR,"Dump grid fix {} does not recognize grid {}", - idfix,gname); + int dim; + void *ggrid = ifix->grid_find_name(gname,dim); + if (!ggrid) + error->all(FLERR,"Dump grid fix {} does not recognize grid name {}", + idfix,gname); - Grid2d *grid2d; - Grid3d *grid3d; - if (dim == 2) grid2d = (Grid2d *) grid; - if (dim == 3) grid2d = (Grid3d *) grid; + Grid2d *grid2d; + Grid3d *grid3d; + if (dim == 2) grid2d = (Grid2d *) ggrid; + if (dim == 3) grid3d = (Grid3d *) ggrid; - int ncol; - void *field = ifix->grid_find_field(fname,ncol); - if (!grid) error->all(FLERR,"Dump grid fix {} does not recognize field {}", - idfix,fname); + int ncol; + void *gfield = ifix->grid_find_field(fname,ncol); + if (!gfield) + error->all(FLERR,"Dump grid fix {} does not recognize field name {}", + idfix,fname); - if (argi.get_dim() == 0 && ncol) - error->all(FLERR,"Dump grid fix {} field {} is not per-grid vector", - idfix,fname); - if (argi.get_dim() > 0 && ncol == 0) - error->all(FLERR,"Dump grid fix {} field {} is not per-grid array", - idfix,fname); - if (argi.get_dim() > 0 && argi.get_index1() > ncol) - error->all(FLERR,"Dump grid fix {} array {} is accessed out-of-range", - idfix,fname); - - if (ncol == 0) { - if (dim == 2) vec2d = (double **) field; - if (dim == 3) vec3d = (double ***) field; - } else if (ncol) { - if (dim == 2) array2d = (double ***) field; - if (dim == 3) array3d = (double ****) field; - } + if (argi.get_dim() == 0 && ncol) + error->all(FLERR,"Dump grid fix {} field {} is not per-grid vector", + idfix,fname); + if (argi.get_dim() > 0 && ncol == 0) + error->all(FLERR,"Dump grid fix {} field {} is not per-grid array", + idfix,fname); + if (argi.get_dim() > 0 && argi.get_index1() > ncol) + error->all(FLERR,"Dump grid fix {} array {} is accessed out-of-range", + idfix,fname); + + double **vec2d; + double ***vec3d; + double ***array2d; + double ****array3d; + if (ncol == 0) { + if (dim == 2) vec2d = (double **) gfield; + if (dim == 3) vec3d = (double ***) gfield; + } else if (ncol) { + if (dim == 2) array2d = (double ***) gfield; + if (dim == 3) array3d = (double ****) gfield; + } - field2index[iarg] = add_fix(idfix); - break; + field2index[iarg] = add_fix(idfix); + } break; - // no match - - default: - return iarg; - break; + // no match + + default: { + return iarg; + } break; } } From 465ac275db0a810d56514880663d73695fefecfd Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 20 Jul 2022 13:20:15 -0600 Subject: [PATCH 008/142] more in dump grid --- src/dump_grid.cpp | 117 ++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 97 insertions(+), 20 deletions(-) diff --git a/src/dump_grid.cpp b/src/dump_grid.cpp index d623f1cc1b..834926142c 100644 --- a/src/dump_grid.cpp +++ b/src/dump_grid.cpp @@ -41,7 +41,11 @@ enum{COMPUTE,FIX}; /* ---------------------------------------------------------------------- */ DumpGrid::DumpGrid(LAMMPS *lmp, int narg, char **arg) : - Dump(lmp, narg, arg) + Dump(lmp, narg, arg), idregion(nullptr), earg(nullptr), vtype(nullptr), + vformat(nullptr), columns(nullptr), columns_default(nullptr), + choose(nullptr), dchoose(nullptr), clist(nullptr), + field2index(nullptr), argindex(nullptr), id_compute(nullptr), compute(nullptr), + id_fix(nullptr), fix(nullptr), pack_choice(nullptr) { if (narg == 5) error->all(FLERR,"No dump grid arguments specified"); @@ -239,18 +243,17 @@ void DumpGrid::init_style() else write_choice = &DumpGrid::write_lines; // find current ptr for each compute and fix - // check that fix frequency is acceptable for (i = 0; i < ncompute; i++) { compute[i] = modify->get_compute_by_id(id_compute[i]); - if (!compute[i]) error->all(FLERR,"Could not find dump grid compute ID {}",id_compute[i]); + if (!compute[i]) + error->all(FLERR,"Could not find dump grid compute ID {}",id_compute[i]); } for (i = 0; i < nfix; i++) { fix[i] = modify->get_fix_by_id(id_fix[i]); - if (!fix[i]) error->all(FLERR,"Could not find dump grid fix ID {}", id_fix[i]); - if (nevery % fix[i]->peratom_freq) - error->all(FLERR,"Dump grid and fix not computed at compatible times"); + if (!fix[i]) + error->all(FLERR,"Could not find dump grid fix ID {}", id_fix[i]); } // check validity of region @@ -641,22 +644,79 @@ int DumpGrid::parse_fields(int narg, char **arg) pack_choice[iarg] = &DumpGrid::pack_compute; vtype[iarg] = Dump::DOUBLE; - icompute = modify->get_compute_by_id(name); + // name = idcompute:gname:fname, split into 3 strings + + char *ptr1 = strchr((char *) name,':'); + if (!ptr1) + error->all(FLERR,"Dump grid fix {} does not contain 2 ':' chars"); + *ptr1 = '\0'; + char *ptr2 = strchr(ptr1+1,':'); + if (!ptr2) + error->all(FLERR,"Dump grid fix {} does not contain 2 ':' chars"); + *ptr2 = '\0'; + + int n = strlen(name) + 1; + char *idcompute = new char[n]; + strcpy(idfix,name); + n = strlen(ptr1+1) + 1; + char *gname = new char[n]; + strcpy(gname,ptr1+1); + n = strlen(ptr2+1) + 1; + char *fname = new char[n]; + strcpy(fname,ptr2+1); + + *ptr1 = ':'; + *ptr2 = ':'; + + icompute = modify->get_compute_by_id(idcompute); if (!icompute) - error->all(FLERR,"Could not find dump grid compute ID: {}",name); + error->all(FLERR,"Could not find dump grid compute ID: {}",idcompute); if (icompute->pergrid_flag == 0) error->all(FLERR,"Dump grid compute {} does not compute per-grid info", - name); - /* - if (argi.get_dim() == 0 && icompute->size_pergrid_cols > 0) - error->all(FLERR,"Dump grid compute {} does not calculate per-grid vector",name); - if (argi.get_dim() > 0 && icompute->size_pergrid_cols == 0) - error->all(FLERR,"Dump grid compute {} does not calculate per-grid array",name); - if (argi.get_dim() > 0 && argi.get_index1() > icompute->size_pergrid_cols) - error->all(FLERR,"Dump grid compute {} vector is accessed out-of-range",name); - */ + idcompute); - field2index[iarg] = add_compute(name); + int dim; + void *ggrid = icompute->grid_find_name(gname,dim); + if (!ggrid) + error->all(FLERR,"Dump grid compute {} does not recognize grid name {}", + idcompute,gname); + + Grid2d *grid2d; + Grid3d *grid3d; + if (dim == 2) grid2d = (Grid2d *) ggrid; + if (dim == 3) grid3d = (Grid3d *) ggrid; + + int ncol; + void *gfield = icompute->grid_find_field(fname,ncol); + if (!gfield) + error->all(FLERR, + "Dump grid compute {} does not recognize field name {}", + idcompute,fname); + + if (argi.get_dim() == 0 && ncol) + error->all(FLERR,"Dump grid compute {} field {} is not per-grid vector", + idcompute,fname); + if (argi.get_dim() > 0 && ncol == 0) + error->all(FLERR,"Dump grid compute {} field {} is not per-grid array", + idcompute,fname); + if (argi.get_dim() > 0 && argi.get_index1() > ncol) + error->all(FLERR, + "Dump grid compute {} array {} is accessed out-of-range", + idcompute,fname); + + double **vec2d; + double ***vec3d; + double ***array2d; + double ****array3d; + if (ncol == 0) { + if (dim == 2) vec2d = (double **) gfield; + if (dim == 3) vec3d = (double ***) gfield; + } else if (ncol) { + if (dim == 2) array2d = (double ***) gfield; + if (dim == 3) array3d = (double ****) gfield; + } + + field2index[iarg] = add_compute(idcompute); } break; // fix value = f_ID @@ -690,8 +750,6 @@ int DumpGrid::parse_fields(int narg, char **arg) *ptr1 = ':'; *ptr2 = ':'; - // error check - ifix = modify->get_fix_by_id(idfix); if (!ifix) error->all(FLERR,"Could not find dump grid fix ID: {}",idfix); if (ifix->pergrid_flag == 0) @@ -908,6 +966,24 @@ void DumpGrid::pack_fix(int n) double **array = fix[field2index[n]]->array_atom; int index = argindex[n]; + if (index == 0) { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) { + buf[n] = vec3d[iz][iy][ix]; + n += size_one; + } + } else { + index--; + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) { + buf[n] = array3d[iz][iy][ix][index]; + n += size_one; + } + } + + /* if (index == 0) { for (int i = 0; i < nchoose; i++) { buf[n] = vector[clist[i]]; @@ -920,5 +996,6 @@ void DumpGrid::pack_fix(int n) n += size_one; } } + */ } From d819c890b6f4d81e0b07a01501776107efbc5a6f Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 21 Jul 2022 15:08:44 -0600 Subject: [PATCH 009/142] dump grid and compute property/grid --- src/compute.h | 5 + src/compute_property_grid.cpp | 282 +++++++++++++++++++++++++++++++ src/compute_property_grid.h | 77 +++++++++ src/dump_grid.cpp | 308 +++++++++++++++++++++------------- src/dump_grid.h | 19 ++- src/fix.h | 8 +- src/grid2d.cpp | 18 ++ src/grid2d.h | 3 +- src/grid3d.cpp | 21 +++ src/grid3d.h | 2 + 10 files changed, 622 insertions(+), 121 deletions(-) create mode 100644 src/compute_property_grid.cpp create mode 100644 src/compute_property_grid.h diff --git a/src/compute.h b/src/compute.h index 8151bd8ee0..76aa99fe11 100644 --- a/src/compute.h +++ b/src/compute.h @@ -130,6 +130,11 @@ class Compute : protected Pointers { virtual int pack_reverse_comm(int, int, double *) { return 0; } virtual void unpack_reverse_comm(int, int *, double *) {} + virtual int get_grid_by_name(char *, int &) { return -1; }; + virtual void *get_grid_by_index(int) { return nullptr; }; + virtual int get_griddata_by_name(int, char *, int &) { return -1; }; + virtual void *get_griddata_by_index(int) { return nullptr; }; + virtual void dof_remove_pre() {} virtual int dof_remove(int) { return 0; } virtual void remove_bias(int, double *) {} diff --git a/src/compute_property_grid.cpp b/src/compute_property_grid.cpp new file mode 100644 index 0000000000..c22dbe8275 --- /dev/null +++ b/src/compute_property_grid.cpp @@ -0,0 +1,282 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "compute_property_grid.h" + +#include "domain.h" +#include "error.h" +#include "memory.h" +#include "update.h" + +#include + +using namespace LAMMPS_NS; + +enum { ID, X, Y, Z, XS, YS, ZS, XC, YC, ZC, XSC, YSC, ZSC }; + +#define DELTA 10000 + +/* ---------------------------------------------------------------------- */ + +ComputePropertyGrid::ComputePropertyGrid(LAMMPS *lmp, int narg, char **arg) : + Compute(lmp, narg, arg), pack_choice(nullptr) +{ + if (narg < 7) error->all(FLERR, "Illegal compute property/grid command"); + + pergrid_flag = 1; + + dimension = domain->dimension; + + nx = utils::inumeric(FLERR,arg[3],false,lmp); + ny = utils::inumeric(FLERR,arg[4],false,lmp); + nz = utils::inumeric(FLERR,arg[5],false,lmp); + + if (dimension == 2 && nz != 1) + error->all(FLERR,"Compute property/grid for 2d requires nz = 1"); + + if (nx <= 0 || ny <= 0 || nz <= 0) + error->all(FLERR, "Illegal compute property/grid command"); + + nvalues = narg - 6; + pack_choice = new FnPtrPack[nvalues]; + + for (int iarg = 6; iarg < narg; iarg++) { + if (strcmp(arg[iarg], "id") == 0) { + pack_choice[iarg] = &ComputePropertyGrid::pack_id; + + } else if (strcmp(arg[iarg], "x") == 0) { + pack_choice[iarg] = &ComputePropertyGrid::pack_x; + } else if (strcmp(arg[iarg], "y") == 0) { + pack_choice[iarg] = &ComputePropertyGrid::pack_y; + } else if (strcmp(arg[iarg], "z") == 0) { + if (dimension == 2) + error->all(FLERR,"Compute property/grid for 2d cannot use z coord"); + pack_choice[iarg] = &ComputePropertyGrid::pack_z; + + } else if (strcmp(arg[iarg], "xs") == 0) { + pack_choice[iarg] = &ComputePropertyGrid::pack_xs; + } else if (strcmp(arg[iarg], "ys") == 0) { + pack_choice[iarg] = &ComputePropertyGrid::pack_ys; + } else if (strcmp(arg[iarg], "zs") == 0) { + if (dimension == 2) + error->all(FLERR,"Compute property/grid for 2d cannot use z coord"); + pack_choice[iarg] = &ComputePropertyGrid::pack_zs; + + } else if (strcmp(arg[iarg], "xc") == 0) { + pack_choice[iarg] = &ComputePropertyGrid::pack_xc; + } else if (strcmp(arg[iarg], "yc") == 0) { + pack_choice[iarg] = &ComputePropertyGrid::pack_yc; + } else if (strcmp(arg[iarg], "zc") == 0) { + if (dimension == 2) + error->all(FLERR,"Compute property/grid for 2d cannot use z coord"); + pack_choice[iarg] = &ComputePropertyGrid::pack_zc; + + } else if (strcmp(arg[iarg], "xsc") == 0) { + pack_choice[iarg] = &ComputePropertyGrid::pack_xsc; + } else if (strcmp(arg[iarg], "ysc") == 0) { + pack_choice[iarg] = &ComputePropertyGrid::pack_ysc; + } else if (strcmp(arg[iarg], "zsc") == 0) { + if (dimension == 2) + error->all(FLERR,"Compute property/grid for 2d cannot use z coord"); + pack_choice[iarg] = &ComputePropertyGrid::pack_zsc; + + } else error->all(FLERR, "Illegal compute property/grid command"); + } + + +} + +/* ---------------------------------------------------------------------- */ + +ComputePropertyGrid::~ComputePropertyGrid() +{ + delete[] pack_choice; +} + +/* ---------------------------------------------------------------------- */ + +void ComputePropertyGrid::compute_pergrid() +{ + invoked_pergrid = update->ntimestep; + + // fill vector or array with local values + + /* + if (nvalues == 1) { + buf = vlocal; + (this->*pack_choice[0])(0); + } else { + if (alocal) buf = &alocal[0][0]; + for (int n = 0; n < nvalues; n++) (this->*pack_choice[n])(n); + } + */ +} + +/* ---------------------------------------------------------------------- + return index of grid associated with name + this class can store M named grids, indexed 0 to M-1 + also set dim for 2d vs 3d grid +------------------------------------------------------------------------- */ + +int ComputePropertyGrid::get_grid_by_name(char *name, int &dim) +{ + if (strcmp(name,"grid") == 0) { + dim = 3; + return 0; + } + + return -1; +} + +/* ---------------------------------------------------------------------- + return ptr to Grid data struct for grid with index + this class can store M named grids, indexed 0 to M-1 +------------------------------------------------------------------------- */ + +void *ComputePropertyGrid::get_grid_by_index(int index) +{ + if (index == 0) return gc; + return nullptr; +} + +/* ---------------------------------------------------------------------- + return index of data associated with name in grid with index igrid + this class can store M named grids, indexed 0 to M-1 + each grid can store G named data sets, indexed 0 to G-1 + a data set name can be associated with multiple grids + also set ncol for data set, 0 = vector, 1-N for array with N columns + vector = single value per grid pt, array = N values per grid pt +------------------------------------------------------------------------- */ + +int ComputePropertyGrid::get_griddata_by_name(int igrid, char *name, int &ncol) +{ + if (igrid == 0 && strcmp(name,"data") == 0) { + ncol = nvalues; + return 0; + } + + return -1; +} + +/* ---------------------------------------------------------------------- + return ptr to multidim data array associated with index + this class can store G named data sets, indexed 0 to M-1 +------------------------------------------------------------------------- */ + +void *ComputePropertyGrid::get_griddata_by_index(int index) +{ + if (index == 0) return data; + return nullptr; +} + +/* ---------------------------------------------------------------------- + memory usage of grid data +------------------------------------------------------------------------- */ + +double ComputePropertyGrid::memory_usage() +{ + double bytes = 0.0; + //double bytes = (double) nmax * nvalues * sizeof(double); + //bytes += (double) nmax * 2 * sizeof(int); + return bytes; +} + +/* ---------------------------------------------------------------------- + one method for every keyword compute property/grid can output + packed into buf starting at n with stride nvalues +------------------------------------------------------------------------- */ + +void ComputePropertyGrid::pack_id(int n) +{ + int i; + + /* + for (int m = 0; m < ncount; m++) { + i = indices[m][0]; + buf[n] = tag[i]; + n += nvalues; + } + */ +} + +/* ---------------------------------------------------------------------- */ + +void ComputePropertyGrid::pack_x(int n) +{ +} + +/* ---------------------------------------------------------------------- */ + +void ComputePropertyGrid::pack_y(int n) +{ +} + +/* ---------------------------------------------------------------------- */ + +void ComputePropertyGrid::pack_z(int n) +{ +} + +/* ---------------------------------------------------------------------- */ + +void ComputePropertyGrid::pack_xs(int n) +{ +} + +/* ---------------------------------------------------------------------- */ + +void ComputePropertyGrid::pack_ys(int n) +{ +} + +/* ---------------------------------------------------------------------- */ + +void ComputePropertyGrid::pack_zs(int n) +{ +} + +/* ---------------------------------------------------------------------- */ + +void ComputePropertyGrid::pack_xc(int n) +{ +} + +/* ---------------------------------------------------------------------- */ + +void ComputePropertyGrid::pack_yc(int n) +{ +} + +/* ---------------------------------------------------------------------- */ + +void ComputePropertyGrid::pack_zc(int n) +{ +} + +/* ---------------------------------------------------------------------- */ + +void ComputePropertyGrid::pack_xsc(int n) +{ +} + +/* ---------------------------------------------------------------------- */ + +void ComputePropertyGrid::pack_ysc(int n) +{ +} + +/* ---------------------------------------------------------------------- */ + +void ComputePropertyGrid::pack_zsc(int n) +{ +} diff --git a/src/compute_property_grid.h b/src/compute_property_grid.h new file mode 100644 index 0000000000..1abcc8cffb --- /dev/null +++ b/src/compute_property_grid.h @@ -0,0 +1,77 @@ +/* -*- 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 COMPUTE_CLASS +// clang-format off +ComputeStyle(property/grid,ComputePropertyGrid); +// clang-format on +#else + +#ifndef LMP_COMPUTE_PROPERTY_GRID_H +#define LMP_COMPUTE_PROPERTY_GRID_H + +#include "compute.h" + +namespace LAMMPS_NS { + +class ComputePropertyGrid : public Compute { + public: + ComputePropertyGrid(class LAMMPS *, int, char **); + ~ComputePropertyGrid() override; + void init() override {} + void compute_pergrid() override; + + int get_grid_by_name(char *, int &); + void *get_grid_by_index(int); + int get_griddata_by_name(int, char *, int &); + void *get_griddata_by_index(int); + + double memory_usage() override; + + private: + int nx,ny,nz; + int nvalues; + int dimension; + + class Grid3d *gc; + int ngc_buf1, ngc_buf2; + double *gc_buf1, *gc_buf2; + + double ****data; + + typedef void (ComputePropertyGrid::*FnPtrPack)(int); + FnPtrPack *pack_choice; // ptrs to pack functions + + void pack_id(int); + + void pack_x(int); + void pack_y(int); + void pack_z(int); + + void pack_xs(int); + void pack_ys(int); + void pack_zs(int); + + void pack_xc(int); + void pack_yc(int); + void pack_zc(int); + + void pack_xsc(int); + void pack_ysc(int); + void pack_zsc(int); +}; + +} // namespace LAMMPS_NS + +#endif +#endif diff --git a/src/dump_grid.cpp b/src/dump_grid.cpp index 834926142c..272b2bdb57 100644 --- a/src/dump_grid.cpp +++ b/src/dump_grid.cpp @@ -44,7 +44,8 @@ DumpGrid::DumpGrid(LAMMPS *lmp, int narg, char **arg) : Dump(lmp, narg, arg), idregion(nullptr), earg(nullptr), vtype(nullptr), vformat(nullptr), columns(nullptr), columns_default(nullptr), choose(nullptr), dchoose(nullptr), clist(nullptr), - field2index(nullptr), argindex(nullptr), id_compute(nullptr), compute(nullptr), + field2index(nullptr), field2grid(nullptr), field2data(nullptr), + argindex(nullptr), id_compute(nullptr), compute(nullptr), id_fix(nullptr), fix(nullptr), pack_choice(nullptr) { if (narg == 5) error->all(FLERR,"No dump grid arguments specified"); @@ -67,12 +68,17 @@ DumpGrid::DumpGrid(LAMMPS *lmp, int narg, char **arg) : pack_choice = new FnPtrPack[nfield]; vtype = new int[nfield]; - memory->create(field2index,nfield,"dump:field2index"); - memory->create(argindex,nfield,"dump:argindex"); + field2source = new int[nfield]; + field2index = new int[nfield]; + field2grid = new int[nfield]; + field2data = new int[nfield]; + argindex = new int[nfield]; buffer_allow = 1; buffer_flag = 1; + dimension = domain->dimension; + // computes and fixes which the dump accesses ncompute = 0; @@ -144,9 +150,12 @@ DumpGrid::~DumpGrid() delete[] pack_choice; delete[] vtype; - memory->destroy(field2index); - memory->destroy(argindex); - + delete[] field2source; + delete[] field2index; + delete[] field2grid; + delete[] field2data; + delete[] argindex; + delete[] idregion; for (int i = 0; i < ncompute; i++) delete[] id_compute[i]; @@ -256,6 +265,48 @@ void DumpGrid::init_style() error->all(FLERR,"Could not find dump grid fix ID {}", id_fix[i]); } + // check that grid sizes for all fields are the same + + Compute *icompute; + Fix *ifix; + Grid2d *grid2d; + Grid3d *grid3d; + + int nx,ny,nz,nxtmp,nytmp,nztmp; + + for (int i = 1; i < nfield; i++) { + if (dimension == 2) { + if (field2source[i] == COMPUTE) { + icompute = compute[field2index[i]]; + grid2d = (Grid2d *) icompute->get_grid_by_index(field2grid[i]); + } else { + ifix = fix[field2index[i]]; + grid2d = (Grid2d *) ifix->get_grid_by_index(field2grid[i]); + } + if (i == 0) grid2d->query_global_size(nx,ny); + else { + grid2d->query_global_size(nxtmp,nytmp); + if (nxtmp != nx || nytmp != ny) + error->all(FLERR,"Dump grid field grid sizes do not match"); + } + + } else { + if (field2source[0] == COMPUTE) { + icompute = compute[field2index[i]]; + grid3d = (Grid3d *) icompute->get_grid_by_index(field2grid[i]); + } else { + ifix = fix[field2index[i]]; + grid3d = (Grid3d *) ifix->get_grid_by_index(field2grid[i]); + } + if (i == 0) grid3d->query_global_size(nx,ny,nz); + else { + grid3d->query_global_size(nxtmp,nytmp,nztmp); + if (nxtmp != nx || nytmp != ny || nztmp != nz) + error->all(FLERR,"Dump grid field grid sizes do not match"); + } + } + } + // check validity of region if (idregion && !domain->get_region_by_id(idregion)) @@ -471,6 +522,30 @@ int DumpGrid::count() } */ + // set current size for portion of grid on each proc + // may change between dump snapshots due to load balancing + + Grid2d *grid2d; + Grid3d *grid3d; + + if (dimension == 2) { + if (field2source[0] == COMPUTE) + grid2d = (Grid2d *) + compute[field2index[0]]->get_grid_by_index(field2grid[0]); + else if (field2source[0] == FIX) + grid2d = (Grid2d *) + fix[field2index[0]]->get_grid_by_index(field2grid[0]); + grid2d->query_in_bounds(nxlo_in,nxhi_in,nylo_in,nyhi_in); + } else { + if (field2source[0] == COMPUTE) + grid3d = (Grid3d *) + compute[field2index[0]]->get_grid_by_index(field2grid[0]); + else if (field2source[0] == FIX) + grid3d = (Grid3d *) + fix[field2index[0]]->get_grid_by_index(field2grid[0]); + grid3d->query_in_bounds(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in); + } + // invoke Computes for per-grid quantities // only if within a run or minimize // else require that computes are current @@ -491,6 +566,16 @@ int DumpGrid::count() } } + // return count of grid points I own + + int ngrid; + if (dimension == 2) + ngrid = (nxhi_in-nxlo_in+1) * (nyhi_in-nylo_in+1); + else + ngrid = (nxhi_in-nxlo_in+1) * (nyhi_in-nylo_in+1) * (nzhi_in-nzlo_in+1); + + return ngrid; + // choose all local grid pts for output // NOTE: this needs to change @@ -499,29 +584,29 @@ int DumpGrid::count() // un-choose if not in region // NOTE: this needs to change + /* if (idregion) { auto region = domain->get_region_by_id(idregion); region->prematch(); - /* double **x = atom->x; for (i = 0; i < nlocal; i++) if (choose[i] && region->match(x[i][0],x[i][1],x[i][2]) == 0) choose[i] = 0; - */ } + */ // compress choose flags into clist // nchoose = # of selected atoms // clist[i] = local index of each selected atom // NOTE: this neds to change - nchoose = 0; /* + nchoose = 0; for (i = 0; i < nlocal; i++) if (choose[i]) clist[nchoose++] = i; - */ return nchoose; + */ } /* ---------------------------------------------------------------------- */ @@ -641,8 +726,10 @@ int DumpGrid::parse_fields(int narg, char **arg) // if no trailing [], then arg is set to 0, else arg is int between [] case ArgInfo::COMPUTE: { - pack_choice[iarg] = &DumpGrid::pack_compute; + if (dimension == 2) pack_choice[iarg] = &DumpGrid::pack_grid2d; + else pack_choice[iarg] = &DumpGrid::pack_grid3d; vtype[iarg] = Dump::DOUBLE; + field2source[iarg] = COMPUTE; // name = idcompute:gname:fname, split into 3 strings @@ -657,13 +744,13 @@ int DumpGrid::parse_fields(int narg, char **arg) int n = strlen(name) + 1; char *idcompute = new char[n]; - strcpy(idfix,name); + strcpy(idcompute,name); n = strlen(ptr1+1) + 1; char *gname = new char[n]; strcpy(gname,ptr1+1); n = strlen(ptr2+1) + 1; - char *fname = new char[n]; - strcpy(fname,ptr2+1); + char *dname = new char[n]; + strcpy(dname,ptr2+1); *ptr1 = ':'; *ptr2 = ':'; @@ -676,55 +763,48 @@ int DumpGrid::parse_fields(int narg, char **arg) idcompute); int dim; - void *ggrid = icompute->grid_find_name(gname,dim); - if (!ggrid) + int igrid = icompute->get_grid_by_name(gname,dim); + if (igrid < 0) error->all(FLERR,"Dump grid compute {} does not recognize grid name {}", idcompute,gname); - Grid2d *grid2d; - Grid3d *grid3d; - if (dim == 2) grid2d = (Grid2d *) ggrid; - if (dim == 3) grid3d = (Grid3d *) ggrid; - int ncol; - void *gfield = icompute->grid_find_field(fname,ncol); - if (!gfield) + int idata = icompute->get_griddata_by_name(igrid,dname,ncol); + if (idata < 0) error->all(FLERR, - "Dump grid compute {} does not recognize field name {}", - idcompute,fname); + "Dump grid compute {} does not recognize data name {}", + idcompute,dname); if (argi.get_dim() == 0 && ncol) - error->all(FLERR,"Dump grid compute {} field {} is not per-grid vector", - idcompute,fname); + error->all(FLERR,"Dump grid compute {} data {} is not per-grid vector", + idcompute,dname); if (argi.get_dim() > 0 && ncol == 0) - error->all(FLERR,"Dump grid compute {} field {} is not per-grid array", - idcompute,fname); + error->all(FLERR,"Dump grid compute {} data {} is not per-grid array", + idcompute,dname); if (argi.get_dim() > 0 && argi.get_index1() > ncol) error->all(FLERR, "Dump grid compute {} array {} is accessed out-of-range", - idcompute,fname); + idcompute,dname); - double **vec2d; - double ***vec3d; - double ***array2d; - double ****array3d; - if (ncol == 0) { - if (dim == 2) vec2d = (double **) gfield; - if (dim == 3) vec3d = (double ***) gfield; - } else if (ncol) { - if (dim == 2) array2d = (double ***) gfield; - if (dim == 3) array3d = (double ****) gfield; - } field2index[iarg] = add_compute(idcompute); + field2grid[iarg] = igrid; + field2data[iarg] = idata; + + delete [] idcompute; + delete [] gname; + delete [] dname; + } break; // fix value = f_ID // if no trailing [], then arg is set to 0, else arg is between [] case ArgInfo::FIX: { - pack_choice[iarg] = &DumpGrid::pack_fix; + if (dimension == 2) pack_choice[iarg] = &DumpGrid::pack_grid2d; + else pack_choice[iarg] = &DumpGrid::pack_grid3d; vtype[iarg] = Dump::DOUBLE; + field2source[iarg] = FIX; // name = idfix:gname:fname, split into 3 strings @@ -744,8 +824,8 @@ int DumpGrid::parse_fields(int narg, char **arg) char *gname = new char[n]; strcpy(gname,ptr1+1); n = strlen(ptr2+1) + 1; - char *fname = new char[n]; - strcpy(fname,ptr2+1); + char *dname = new char[n]; + strcpy(dname,ptr2+1); *ptr1 = ':'; *ptr2 = ':'; @@ -757,45 +837,35 @@ int DumpGrid::parse_fields(int narg, char **arg) idfix); int dim; - void *ggrid = ifix->grid_find_name(gname,dim); - if (!ggrid) + int igrid = ifix->get_grid_by_name(gname,dim); + if (igrid < 0) error->all(FLERR,"Dump grid fix {} does not recognize grid name {}", idfix,gname); - Grid2d *grid2d; - Grid3d *grid3d; - if (dim == 2) grid2d = (Grid2d *) ggrid; - if (dim == 3) grid3d = (Grid3d *) ggrid; - int ncol; - void *gfield = ifix->grid_find_field(fname,ncol); - if (!gfield) - error->all(FLERR,"Dump grid fix {} does not recognize field name {}", - idfix,fname); + int idata = ifix->get_griddata_by_name(igrid,dname,ncol); + if (idata < 0) + error->all(FLERR,"Dump grid fix {} does not recognize data name {}", + idfix,dname); if (argi.get_dim() == 0 && ncol) - error->all(FLERR,"Dump grid fix {} field {} is not per-grid vector", - idfix,fname); + error->all(FLERR,"Dump grid fix {} data {} is not per-grid vector", + idfix,dname); if (argi.get_dim() > 0 && ncol == 0) - error->all(FLERR,"Dump grid fix {} field {} is not per-grid array", - idfix,fname); + error->all(FLERR,"Dump grid fix {} data {} is not per-grid array", + idfix,dname); if (argi.get_dim() > 0 && argi.get_index1() > ncol) error->all(FLERR,"Dump grid fix {} array {} is accessed out-of-range", - idfix,fname); + idfix,dname); - double **vec2d; - double ***vec3d; - double ***array2d; - double ****array3d; - if (ncol == 0) { - if (dim == 2) vec2d = (double **) gfield; - if (dim == 3) vec3d = (double ***) gfield; - } else if (ncol) { - if (dim == 2) array2d = (double ***) gfield; - if (dim == 3) array3d = (double ****) gfield; - } - field2index[iarg] = add_fix(idfix); + field2grid[iarg] = igrid; + field2data[iarg] = idata; + + delete [] idfix; + delete [] gname; + delete [] dname; + } break; // no match @@ -928,74 +998,86 @@ int DumpGrid::modify_param(int narg, char **arg) double DumpGrid::memory_usage() { double bytes = Dump::memory_usage(); - bytes += memory->usage(choose,maxlocal); - bytes += memory->usage(dchoose,maxlocal); - bytes += memory->usage(clist,maxlocal); + //NOTE: restre if use choose + //bytes += memory->usage(choose,maxlocal); + //bytes += memory->usage(dchoose,maxlocal); + //bytes += memory->usage(clist,maxlocal); return bytes; } /* ---------------------------------------------------------------------- - extraction of Compute and Fix data + extraction of 2d and 3d grid data + from either compute or fix ------------------------------------------------------------------------- */ -void DumpGrid::pack_compute(int n) +void DumpGrid::pack_grid2d(int n) { - double *vector = compute[field2index[n]]->vector_atom; - double **array = compute[field2index[n]]->array_atom; int index = argindex[n]; if (index == 0) { - for (int i = 0; i < nchoose; i++) { - buf[n] = vector[clist[i]]; - n += size_one; - } + double **vec2d; + if (field2source[n] == COMPUTE) + vec2d = (double **) + compute[field2index[n]]->get_griddata_by_index(field2data[n]); + else if (field2source[n] == FIX) + vec2d = (double **) + fix[field2index[n]]->get_griddata_by_index(field2data[n]); + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) { + buf[n] = vec2d[iy][ix]; + n += size_one; + } } else { + double ***array2d; + if (field2source[n] == COMPUTE) + array2d = (double ***) + compute[field2index[n]]->get_griddata_by_index(field2data[n]); + else if (field2source[n] == FIX) + array2d = (double ***) + fix[field2index[n]]->get_griddata_by_index(field2data[n]); index--; - for (int i = 0; i < nchoose; i++) { - buf[n] = array[clist[i]][index]; - n += size_one; - } + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) { + buf[n] = array2d[iy][ix][index]; + n += size_one; + } } } /* ---------------------------------------------------------------------- */ -void DumpGrid::pack_fix(int n) +void DumpGrid::pack_grid3d(int n) { - double *vector = fix[field2index[n]]->vector_atom; - double **array = fix[field2index[n]]->array_atom; int index = argindex[n]; if (index == 0) { + double ***vec3d; + if (field2source[n] == COMPUTE) + vec3d = (double ***) + compute[field2index[n]]->get_griddata_by_index(field2data[n]); + else if (field2source[n] == FIX) + vec3d = (double ***) + fix[field2index[n]]->get_griddata_by_index(field2data[n]); for (int iz = nzlo_in; iz <= nzhi_in; iz++) for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) { - buf[n] = vec3d[iz][iy][ix]; - n += size_one; - } + for (int ix = nxlo_in; ix <= nxhi_in; ix++) { + buf[n] = vec3d[iz][iy][ix]; + n += size_one; + } } else { + double ****array3d; + if (field2source[n] == COMPUTE) + array3d = (double ****) + compute[field2index[n]]->get_griddata_by_index(field2data[n]); + else if (field2source[n] == FIX) + array3d = (double ****) + fix[field2index[n]]->get_griddata_by_index(field2data[n]); index--; for (int iz = nzlo_in; iz <= nzhi_in; iz++) for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) { - buf[n] = array3d[iz][iy][ix][index]; + for (int ix = nxlo_in; ix <= nxhi_in; ix++) { + buf[n] = array3d[iz][iy][ix][index]; n += size_one; - } + } } - - /* - if (index == 0) { - for (int i = 0; i < nchoose; i++) { - buf[n] = vector[clist[i]]; - n += size_one; - } - } else { - index--; - for (int i = 0; i < nchoose; i++) { - buf[n] = array[clist[i]][index]; - n += size_one; - } - } - */ } - diff --git a/src/dump_grid.h b/src/dump_grid.h index 95714bd552..6b5b9f6d4b 100644 --- a/src/dump_grid.h +++ b/src/dump_grid.h @@ -47,6 +47,8 @@ class DumpGrid : public Dump { char *columns; // column labels char *columns_default; + int dimension; + int nchoose; // # of selected atoms int maxlocal; // size of atom selection and variable arrays int *choose; // local indices of selected atoms @@ -55,10 +57,15 @@ class DumpGrid : public Dump { int nfield; // # of keywords listed by user int ioptional; // index of start of optional args - // - int *field2index; // which compute,fix,variable,custom calcs this field + + // per field info + int *field2index; // which compute/fix + int *field2source; // COMPUTE or FIX + int *field2grid; // index of grid within compute/fix + int *field2data; // index of data within compute/fix int *argindex; // index into compute,fix,custom per-atom data // 0 for per-atom vector, 1-N for cols of per-atom array + void **dataptr; // ptr to grid data int ncompute; // # of Computes accessed by dump char **id_compute; // their IDs @@ -68,6 +75,10 @@ class DumpGrid : public Dump { char **id_fix; // their IDs class Fix **fix; // list of ptrs to the Fixes + int nxlo_in,nxhi_in; // bounds of this proc's portion of grids + int nylo_in,nyhi_in; + int nzlo_in,nzhi_in; + // private methods void init_style() override; @@ -109,8 +120,8 @@ class DumpGrid : public Dump { typedef void (DumpGrid::*FnPtrPack)(int); FnPtrPack *pack_choice; // ptrs to pack functions - void pack_compute(int); - void pack_fix(int); + void pack_grid2d(int); + void pack_grid3d(int); }; } // namespace LAMMPS_NS diff --git a/src/fix.h b/src/fix.h index a6d085b88a..589525c2ce 100644 --- a/src/fix.h +++ b/src/fix.h @@ -217,13 +217,15 @@ class Fix : protected Pointers { virtual void pack_gather_grid(int, void *){}; virtual void unpack_gather_grid(int, void *, void *, int, int, int, int, int, int){}; + virtual int get_grid_by_name(char *, int &) { return -1; }; + virtual void *get_grid_by_index(int) { return nullptr; }; + virtual int get_griddata_by_name(int, char *, int &) { return -1; }; + virtual void *get_griddata_by_index(int) { return nullptr; }; + virtual double compute_scalar() { return 0.0; } virtual double compute_vector(int) { return 0.0; } virtual double compute_array(int, int) { return 0.0; } - virtual void *grid_find_name(char *, int &) { return nullptr; }; - virtual void *grid_find_field(char *, int &) { return nullptr; }; - virtual int dof(int) { return 0; } virtual void deform(int) {} virtual void reset_target(double) {} diff --git a/src/grid2d.cpp b/src/grid2d.cpp index a4f2108424..619b879c3b 100644 --- a/src/grid2d.cpp +++ b/src/grid2d.cpp @@ -212,6 +212,24 @@ void Grid2d::initialize(MPI_Comm gcomm, /* ---------------------------------------------------------------------- */ +void Grid2d::query_global_size(int &nxgrid, int &nygrid) +{ + nxgrid = nx; + nygrid = ny; +} + +/* ---------------------------------------------------------------------- */ + +void Grid2d::query_in_bounds(int &xlo, int &xhi, int &ylo, int &yhi) +{ + xlo = inxlo; + xhi = inxhi; + ylo = inylo; + yhi = inyhi; +} + +/* ---------------------------------------------------------------------- */ + void Grid2d::setup(int &nbuf1, int &nbuf2) { if (layout == REGULAR) setup_regular(nbuf1,nbuf2); diff --git a/src/grid2d.h b/src/grid2d.h index 8b67c84a18..b5bf981d4f 100644 --- a/src/grid2d.h +++ b/src/grid2d.h @@ -26,11 +26,12 @@ class Grid2d : protected Pointers { Grid2d(class LAMMPS *, MPI_Comm, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int); ~Grid2d() override; + void query_global_size(int &, int &); + void query_in_bounds(int &, int &, int &, int &); void setup(int &, int &); int ghost_adjacent(); void forward_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); void reverse_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); - void gather(int, void *, int, int, int, void *, MPI_Datatype); protected: int me, nprocs; diff --git a/src/grid3d.cpp b/src/grid3d.cpp index f96770d3c9..abc816982b 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -229,6 +229,27 @@ void Grid3d::initialize(MPI_Comm gcomm, /* ---------------------------------------------------------------------- */ +void Grid3d::query_global_size(int &nxgrid, int &nygrid, int &nzgrid) +{ + nxgrid = nx; + nygrid = ny; + nzgrid = nz; +} + +/* ---------------------------------------------------------------------- */ + +void Grid3d::query_in_bounds(int &xlo, int &xhi, int &ylo, int &yhi, int &zlo, int &zhi) +{ + xlo = inxlo; + xhi = inxhi; + ylo = inylo; + yhi = inyhi; + zlo = inzlo; + zhi = inzhi; +} + +/* ---------------------------------------------------------------------- */ + void Grid3d::setup(int &nbuf1, int &nbuf2) { if (layout == REGULAR) setup_regular(nbuf1,nbuf2); diff --git a/src/grid3d.h b/src/grid3d.h index 1eb88871a1..eee44936d4 100644 --- a/src/grid3d.h +++ b/src/grid3d.h @@ -27,6 +27,8 @@ class Grid3d : protected Pointers { Grid3d(class LAMMPS *, MPI_Comm, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int); ~Grid3d() override; + void query_global_size(int &, int &, int &); + void query_in_bounds(int &, int &, int &, int &, int &, int &); void setup(int &, int &); int ghost_adjacent(); void forward_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); From 10eb07462e82cadc024a817e5d964bf56ceef6e7 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 21 Jul 2022 15:09:46 -0600 Subject: [PATCH 010/142] fix ttm changes --- src/EXTRA-FIX/fix_ttm.cpp | 1 + src/EXTRA-FIX/fix_ttm_grid.cpp | 46 ++++++++++++++++++++++++++-------- src/EXTRA-FIX/fix_ttm_grid.h | 6 +++-- 3 files changed, 41 insertions(+), 12 deletions(-) diff --git a/src/EXTRA-FIX/fix_ttm.cpp b/src/EXTRA-FIX/fix_ttm.cpp index be0df513ca..610a17ffcd 100644 --- a/src/EXTRA-FIX/fix_ttm.cpp +++ b/src/EXTRA-FIX/fix_ttm.cpp @@ -164,6 +164,7 @@ FixTTM::FixTTM(LAMMPS *lmp, int narg, char **arg) : FixTTM::~FixTTM() { delete [] infile; + delete [] outfile; delete random; diff --git a/src/EXTRA-FIX/fix_ttm_grid.cpp b/src/EXTRA-FIX/fix_ttm_grid.cpp index 9d8be6af87..3cf6d393c4 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.cpp +++ b/src/EXTRA-FIX/fix_ttm_grid.cpp @@ -628,33 +628,59 @@ void FixTTMGrid::unpack_gather_grid(int which, void *vbuf, void *vgbuf, int xlo, } /* ---------------------------------------------------------------------- - return ptr to Grid3d instance which matches name - set dim = 2/3 for 2d/3d grid + return index of grid associated with name + this class can store M named grids, indexed 0 to M-1 + also set dim for 2d vs 3d grid ------------------------------------------------------------------------- */ -void *FixTTMGrid::grid_find_name(char *name, int &dim) +int FixTTMGrid::get_grid_by_name(char *name, int &dim) { if (strcmp(name,"grid") == 0) { dim = 3; - return gc; + return 0; } + return -1; +} + +/* ---------------------------------------------------------------------- + return ptr to Grid data struct for grid with index + this class can store M named grids, indexed 0 to M-1 +------------------------------------------------------------------------- */ + +void *FixTTMGrid::get_grid_by_index(int index) +{ + if (index == 0) return gc; return nullptr; } /* ---------------------------------------------------------------------- - return ptr to data field on a grid which matches name - set ncol = 0 for per-grid vector with a single value per grid pt - set ncol = M for per-grid array with M values per grid pt + return index of data associated with name in grid with index igrid + this class can store M named grids, indexed 0 to M-1 + each grid can store G named data sets, indexed 0 to G-1 + a data set name can be associated with multiple grids + also set ncol for data set, 0 = vector, 1-N for array with N columns + vector = single value per grid pt, array = N values per grid pt ------------------------------------------------------------------------- */ -void *FixTTMGrid::grid_find_field(char *name, int &ncol) +int FixTTMGrid::get_griddata_by_name(int igrid, char *name, int &ncol) { - if (strcmp(name,"telectron") == 0) { + if (igrid == 0 && strcmp(name,"data") == 0) { ncol = 0; - return T_electron; + return 0; } + return -1; +} + +/* ---------------------------------------------------------------------- + return ptr to multidim data array associated with index + this class can store G named data sets, indexed 0 to M-1 +------------------------------------------------------------------------- */ + +void *FixTTMGrid::get_griddata_by_index(int index) +{ + if (index == 0) return T_electron; return nullptr; } diff --git a/src/EXTRA-FIX/fix_ttm_grid.h b/src/EXTRA-FIX/fix_ttm_grid.h index 4bc86ceaca..bff0a80316 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.h +++ b/src/EXTRA-FIX/fix_ttm_grid.h @@ -45,8 +45,10 @@ class FixTTMGrid : public FixTTM { void write_restart(FILE *) override; void restart(char *) override; - void *grid_find_name(char *, int &) override; - void *grid_find_field(char *, int &) override; + int get_grid_by_name(char *, int &); + void *get_grid_by_index(int); + int get_griddata_by_name(int, char *, int &); + void *get_griddata_by_index(int); double compute_vector(int) override; double memory_usage() override; From 22b6a49fba0d193a2819770e83a2fa44703581a7 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 21 Jul 2022 17:33:34 -0600 Subject: [PATCH 011/142] compute property/grid additions --- src/compute_property_grid.cpp | 74 +++++++++++++++++++++++++++-------- src/compute_property_grid.h | 10 +++-- src/dump_grid.h | 1 - 3 files changed, 64 insertions(+), 21 deletions(-) diff --git a/src/compute_property_grid.cpp b/src/compute_property_grid.cpp index c22dbe8275..0ef0c71699 100644 --- a/src/compute_property_grid.cpp +++ b/src/compute_property_grid.cpp @@ -15,6 +15,8 @@ #include "domain.h" #include "error.h" +#include "grid2d.h" +#include "grid3d.h" #include "memory.h" #include "update.h" @@ -93,6 +95,10 @@ ComputePropertyGrid::ComputePropertyGrid(LAMMPS *lmp, int narg, char **arg) : } else error->all(FLERR, "Illegal compute property/grid command"); } + + + // instanttiate the Grid2d/3d class + } @@ -109,17 +115,26 @@ void ComputePropertyGrid::compute_pergrid() { invoked_pergrid = update->ntimestep; - // fill vector or array with local values + // set current size for portion of grid on each proc + // may change between compute invocations due to load balancing + + if (dimension == 2) + grid2d->query_in_bounds(nxlo_in,nxhi_in,nylo_in,nyhi_in); + else + grid3d->query_in_bounds(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in); + + // reallocate data vector or array if changed + + + + + // fill data vector or array with values for my grid pts - /* if (nvalues == 1) { - buf = vlocal; (this->*pack_choice[0])(0); } else { - if (alocal) buf = &alocal[0][0]; for (int n = 0; n < nvalues; n++) (this->*pack_choice[n])(n); } - */ } /* ---------------------------------------------------------------------- @@ -131,7 +146,7 @@ void ComputePropertyGrid::compute_pergrid() int ComputePropertyGrid::get_grid_by_name(char *name, int &dim) { if (strcmp(name,"grid") == 0) { - dim = 3; + dim = dimension; return 0; } @@ -145,7 +160,10 @@ int ComputePropertyGrid::get_grid_by_name(char *name, int &dim) void *ComputePropertyGrid::get_grid_by_index(int index) { - if (index == 0) return gc; + if (index == 0) { + if (dimension == 2) return grid2d; + else return grid3d; + } return nullptr; } @@ -175,7 +193,15 @@ int ComputePropertyGrid::get_griddata_by_name(int igrid, char *name, int &ncol) void *ComputePropertyGrid::get_griddata_by_index(int index) { - if (index == 0) return data; + if (index == 0) { + if (dimension == 2) { + if (nvalues == 0) return vec2d; + else return array2d; + } else { + if (nvalues == 0) return vec3d; + else return array3d; + } + } return nullptr; } @@ -198,15 +224,31 @@ double ComputePropertyGrid::memory_usage() void ComputePropertyGrid::pack_id(int n) { - int i; - - /* - for (int m = 0; m < ncount; m++) { - i = indices[m][0]; - buf[n] = tag[i]; - n += nvalues; + if (dimension == 2) { + if (n == 0) { + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + vec2d[iy][ix] = iy*nx + ix + 1; + } else { + n--; + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + array2d[iy][ix][n] = iy*nx + ix + 1; + } + } else if (dimension == 3) { + if (n == 0) { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + vec3d[iz][iy][ix] = iz*ny*nx + iy*nx + ix + 1; + } else { + n--; + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + array3d[iz][iy][ix][n] = iz*ny*nx + iy*nx + ix + 1; + } } - */ } /* ---------------------------------------------------------------------- */ diff --git a/src/compute_property_grid.h b/src/compute_property_grid.h index 1abcc8cffb..bf76e2b6f0 100644 --- a/src/compute_property_grid.h +++ b/src/compute_property_grid.h @@ -43,11 +43,13 @@ class ComputePropertyGrid : public Compute { int nvalues; int dimension; - class Grid3d *gc; - int ngc_buf1, ngc_buf2; - double *gc_buf1, *gc_buf2; + class Grid2d *grid2d; + class Grid3d *grid3d; - double ****data; + int nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in; + + double **vec2d,***vec3d; + double ***array2d,****array3d; typedef void (ComputePropertyGrid::*FnPtrPack)(int); FnPtrPack *pack_choice; // ptrs to pack functions diff --git a/src/dump_grid.h b/src/dump_grid.h index 6b5b9f6d4b..1e5923d884 100644 --- a/src/dump_grid.h +++ b/src/dump_grid.h @@ -65,7 +65,6 @@ class DumpGrid : public Dump { int *field2data; // index of data within compute/fix int *argindex; // index into compute,fix,custom per-atom data // 0 for per-atom vector, 1-N for cols of per-atom array - void **dataptr; // ptr to grid data int ncompute; // # of Computes accessed by dump char **id_compute; // their IDs From 4a7daaa5d1f51871502cbe8c52d176922f1453e0 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 21 Jul 2022 17:34:41 -0600 Subject: [PATCH 012/142] tweak to dump grid --- src/dump_grid.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dump_grid.cpp b/src/dump_grid.cpp index 272b2bdb57..640ec44490 100644 --- a/src/dump_grid.cpp +++ b/src/dump_grid.cpp @@ -275,7 +275,7 @@ void DumpGrid::init_style() int nx,ny,nz,nxtmp,nytmp,nztmp; for (int i = 1; i < nfield; i++) { - if (dimension == 2) { + if (dimension == 2) { if (field2source[i] == COMPUTE) { icompute = compute[field2index[i]]; grid2d = (Grid2d *) icompute->get_grid_by_index(field2grid[i]); From dff206f2979c33685b47305dcf48503ad0a69565 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 25 Jul 2022 13:56:28 -0600 Subject: [PATCH 013/142] more work on grid classes --- src/EXTRA-FIX/fix_ttm_grid.cpp | 86 +++---- src/EXTRA-FIX/fix_ttm_grid.h | 6 +- src/comm.cpp | 37 +-- src/compute_property_grid.cpp | 425 ++++++++++++++++++++++++++++++--- src/compute_property_grid.h | 5 + src/dump_grid.cpp | 14 +- src/grid2d.cpp | 288 ++++++++++++++++++---- src/grid2d.h | 25 +- src/grid3d.cpp | 250 +++++++++++++++---- src/grid3d.h | 25 +- 10 files changed, 924 insertions(+), 237 deletions(-) diff --git a/src/EXTRA-FIX/fix_ttm_grid.cpp b/src/EXTRA-FIX/fix_ttm_grid.cpp index 3cf6d393c4..1f59ce8bb9 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.cpp +++ b/src/EXTRA-FIX/fix_ttm_grid.cpp @@ -39,7 +39,15 @@ using namespace FixConst; static constexpr int MAXLINE = 256; static constexpr int CHUNK = 1024; + +// OFFSET avoids outside-of-box atoms being rounded to grid pts incorrectly +// SHIFT = 0.0 assigns atoms to lower-left grid pt +// SHIFT = 0.5 assigns atoms to nearest grid pt +// use SHIFT = 0.0 for now since it allows fix ave/chunk +// to spatially average consistent with the TTM grid + static constexpr int OFFSET = 16384; +static constexpr double SHIFT = 0.5; /* ---------------------------------------------------------------------- */ @@ -48,6 +56,11 @@ FixTTMGrid::FixTTMGrid(LAMMPS *lmp, int narg, char **arg) : { pergrid_flag = 1; + /* + if (outfile) error->all(FLERR,"Fix ttm/grid does not support outfile option - " + "use dump grid instead"); + */ + skin_original = neighbor->skin; } @@ -88,7 +101,8 @@ void FixTTMGrid::post_constructor() if (infile) { read_electron_temperatures(infile); - gc->forward_comm(Grid3d::FIX,this,1,sizeof(double),0,gc_buf1,gc_buf2,MPI_DOUBLE); + grid->forward_comm(Grid3d::FIX,this,1,sizeof(double),0, + grid_buf1,grid_buf2,MPI_DOUBLE); } } @@ -195,8 +209,8 @@ void FixTTMGrid::end_of_step() flangevin[i][2]*v[i][2]); } - gc->reverse_comm(Grid3d::FIX,this,1,sizeof(double),0, - gc_buf1,gc_buf2,MPI_DOUBLE); + grid->reverse_comm(Grid3d::FIX,this,1,sizeof(double),0, + grid_buf1,grid_buf2,MPI_DOUBLE); // clang-format off @@ -248,7 +262,8 @@ void FixTTMGrid::end_of_step() // communicate new T_electron values to ghost grid points - gc->forward_comm(Grid3d::FIX,this,1,sizeof(double),0,gc_buf1,gc_buf2,MPI_DOUBLE); + grid->forward_comm(Grid3d::FIX,this,1,sizeof(double),0, + grid_buf1,grid_buf2,MPI_DOUBLE); } // clang-format on @@ -365,7 +380,7 @@ void FixTTMGrid::write_electron_temperatures(const std::string &filename) style); } - gc->gather(Grid3d::FIX, this, 1, sizeof(double), 1, nullptr, MPI_DOUBLE); + grid->gather(Grid3d::FIX, this, 1, sizeof(double), 1, nullptr, MPI_DOUBLE); if (comm->me == 0) fclose(FPout); } @@ -424,42 +439,13 @@ void FixTTMGrid::unpack_reverse_grid(int /*flag*/, void *vbuf, int nlist, int *l void FixTTMGrid::allocate_grid() { - // partition global grid across procs - // n xyz lo/hi in = lower/upper bounds of global grid this proc owns - // indices range from 0 to N-1 inclusive in each dim + double maxdist = 0.5 * neighbor->skin; - comm->partition_grid(nxgrid, nygrid, nzgrid, 0.0, nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, - nzhi_in); + grid = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid, 1, maxdist, SHIFT, + nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, nzhi_in, + nxlo_out, nxhi_out, nylo_out, nyhi_out, nzlo_out, nzhi_out); - // nlo,nhi = min/max index of global grid pt my owned atoms can be mapped to - // finite difference stencil requires extra grid pt around my owned grid pts - // max of these 2 quantities is the ghost cells needed in each dim - // nlo_out,nhi_out = nlo_in,nhi_in + ghost cells - - double *boxlo = domain->boxlo; - double *sublo = domain->sublo; - double *subhi = domain->subhi; - double dxinv = nxgrid / domain->xprd; - double dyinv = nxgrid / domain->yprd; - double dzinv = nxgrid / domain->zprd; - - int nlo, nhi; - double cuthalf = 0.5 * neighbor->skin; - - nlo = static_cast((sublo[0] - cuthalf - boxlo[0]) * dxinv + shift) - OFFSET; - nhi = static_cast((subhi[0] + cuthalf - boxlo[0]) * dxinv + shift) - OFFSET; - nxlo_out = MIN(nlo, nxlo_in - 1); - nxhi_out = MAX(nhi, nxhi_in + 1); - - nlo = static_cast((sublo[1] - cuthalf - boxlo[1]) * dyinv + shift) - OFFSET; - nhi = static_cast((subhi[1] + cuthalf - boxlo[1]) * dyinv + shift) - OFFSET; - nylo_out = MIN(nlo, nylo_in - 1); - nyhi_out = MAX(nhi, nyhi_in + 1); - - nlo = static_cast((sublo[2] - cuthalf - boxlo[2]) * dzinv + shift) - OFFSET; - nhi = static_cast((subhi[2] + cuthalf - boxlo[2]) * dzinv + shift) - OFFSET; - nzlo_out = MIN(nlo, nzlo_in - 1); - nzhi_out = MAX(nhi, nzhi_in + 1); + // set ngridout and ngridmine and error check bigint totalmine; totalmine = @@ -470,13 +456,12 @@ void FixTTMGrid::allocate_grid() totalmine = (bigint) (nxhi_in - nxlo_in + 1) * (nyhi_in - nylo_in + 1) * (nzhi_in - nzlo_in + 1); ngridmine = totalmine; - gc = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid, nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, - nzhi_in, nxlo_out, nxhi_out, nylo_out, nyhi_out, nzlo_out, nzhi_out); + // setup grid communication and allocate grid data structs - gc->setup(ngc_buf1, ngc_buf2); + grid->setup(ngrid_buf1, ngrid_buf2); - memory->create(gc_buf1, ngc_buf1, "ttm/grid:gc_buf1"); - memory->create(gc_buf2, ngc_buf2, "ttm/grid:gc_buf2"); + memory->create(grid_buf1, ngrid_buf1, "ttm/grid:grid_buf1"); + memory->create(grid_buf2, ngrid_buf2, "ttm/grid:grid_buf2"); memory->create3d_offset(T_electron_old, nzlo_out, nzhi_out, nylo_out, nyhi_out, nxlo_out, nxhi_out, "ttm/grid:T_electron_old"); @@ -492,9 +477,9 @@ void FixTTMGrid::allocate_grid() void FixTTMGrid::deallocate_grid() { - delete gc; - memory->destroy(gc_buf1); - memory->destroy(gc_buf2); + delete grid; + memory->destroy(grid_buf1); + memory->destroy(grid_buf2); memory->destroy3d_offset(T_electron_old, nzlo_out, nylo_out, nxlo_out); memory->destroy3d_offset(T_electron, nzlo_out, nylo_out, nxlo_out); @@ -519,7 +504,7 @@ void FixTTMGrid::write_restart(FILE *fp) // gather rest of rlist on proc 0 as global grid values - gc->gather(Grid3d::FIX, this, 1, sizeof(double), 0, &rlist[4], MPI_DOUBLE); + //grid->gather(Grid3d::FIX, this, 1, sizeof(double), 0, &rlist[4], MPI_DOUBLE); if (comm->me == 0) { int size = rsize * sizeof(double); @@ -570,7 +555,8 @@ void FixTTMGrid::restart(char *buf) // communicate new T_electron values to ghost grid points - gc->forward_comm(Grid3d::FIX, this, 1, sizeof(double), 0, gc_buf1, gc_buf2, MPI_DOUBLE); + grid->forward_comm(Grid3d::FIX, this, 1, sizeof(double), 0, + grid_buf1, grid_buf2, MPI_DOUBLE); } /* ---------------------------------------------------------------------- @@ -650,7 +636,7 @@ int FixTTMGrid::get_grid_by_name(char *name, int &dim) void *FixTTMGrid::get_grid_by_index(int index) { - if (index == 0) return gc; + if (index == 0) return grid; return nullptr; } diff --git a/src/EXTRA-FIX/fix_ttm_grid.h b/src/EXTRA-FIX/fix_ttm_grid.h index bff0a80316..6b8d3ea096 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.h +++ b/src/EXTRA-FIX/fix_ttm_grid.h @@ -61,9 +61,9 @@ class FixTTMGrid : public FixTTM { double skin_original; FILE *FPout; - class Grid3d *gc; - int ngc_buf1, ngc_buf2; - double *gc_buf1, *gc_buf2; + class Grid3d *grid; + int ngrid_buf1, ngrid_buf2; + double *grid_buf1, *grid_buf2; void allocate_grid() override; void deallocate_grid() override; diff --git a/src/comm.cpp b/src/comm.cpp index 9f46031185..97a7847431 100644 --- a/src/comm.cpp +++ b/src/comm.cpp @@ -806,6 +806,7 @@ int Comm::coord2proc(double *x, int &igx, int &igy, int &igz) this includes sub-domain lo boundary but excludes hi boundary nx,ny,nz = extent of global grid indices into the global grid range from 0 to N-1 in each dim + use nz=1 for 2d grid zfactor = 0.0 if the grid exactly covers the simulation box zfactor > 1.0 if the grid extends beyond the +z boundary by this factor used by 2d slab-mode PPPM @@ -859,42 +860,6 @@ void Comm::partition_grid(int nx, int ny, int nz, double zfactor, nzhi = static_cast (zfrachi * nz/zfactor); if (1.0*nzhi == zfrachi*nz) nzhi--; } - - // OLD code - // could sometimes map grid points slightly outside a proc to the proc - - /* - if (layout != LAYOUT_TILED) { - nxlo = static_cast (xsplit[myloc[0]] * nx); - nxhi = static_cast (xsplit[myloc[0]+1] * nx) - 1; - - nylo = static_cast (ysplit[myloc[1]] * ny); - nyhi = static_cast (ysplit[myloc[1]+1] * ny) - 1; - - if (zfactor == 0.0) { - nzlo = static_cast (zsplit[myloc[2]] * nz); - nzhi = static_cast (zsplit[myloc[2]+1] * nz) - 1; - } else { - nzlo = static_cast (zsplit[myloc[2]] * nz/zfactor); - nzhi = static_cast (zsplit[myloc[2]+1] * nz/zfactor) - 1; - } - - } else { - nxlo = static_cast (mysplit[0][0] * nx); - nxhi = static_cast (mysplit[0][1] * nx) - 1; - - nylo = static_cast (mysplit[1][0] * ny); - nyhi = static_cast (mysplit[1][1] * ny) - 1; - - if (zfactor == 0.0) { - nzlo = static_cast (mysplit[2][0] * nz); - nzhi = static_cast (mysplit[2][1] * nz) - 1; - } else { - nzlo = static_cast (mysplit[2][0] * nz/zfactor); - nzhi = static_cast (mysplit[2][1] * nz/zfactor) - 1; - } - } - */ } /* ---------------------------------------------------------------------- diff --git a/src/compute_property_grid.cpp b/src/compute_property_grid.cpp index 0ef0c71699..2e95279ac2 100644 --- a/src/compute_property_grid.cpp +++ b/src/compute_property_grid.cpp @@ -31,7 +31,9 @@ enum { ID, X, Y, Z, XS, YS, ZS, XC, YC, ZC, XSC, YSC, ZSC }; /* ---------------------------------------------------------------------- */ ComputePropertyGrid::ComputePropertyGrid(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), pack_choice(nullptr) + Compute(lmp, narg, arg), pack_choice(nullptr), + grid2d(nullptr), grid3d(nullptr), + vec2d(nullptr), array2d(nullptr), vec3d(nullptr), array3d(nullptr) { if (narg < 7) error->all(FLERR, "Illegal compute property/grid command"); @@ -53,53 +55,78 @@ ComputePropertyGrid::ComputePropertyGrid(LAMMPS *lmp, int narg, char **arg) : pack_choice = new FnPtrPack[nvalues]; for (int iarg = 6; iarg < narg; iarg++) { + int jarg = iarg - 6; + if (strcmp(arg[iarg], "id") == 0) { - pack_choice[iarg] = &ComputePropertyGrid::pack_id; + pack_choice[jarg] = &ComputePropertyGrid::pack_id; + + } else if (strcmp(arg[iarg], "ix") == 0) { + pack_choice[jarg] = &ComputePropertyGrid::pack_ix; + } else if (strcmp(arg[iarg], "iy") == 0) { + pack_choice[jarg] = &ComputePropertyGrid::pack_iy; + } else if (strcmp(arg[iarg], "iz") == 0) { + if (dimension == 2) + error->all(FLERR,"Compute property/grid for 2d cannot use z coord"); + pack_choice[jarg] = &ComputePropertyGrid::pack_iz; } else if (strcmp(arg[iarg], "x") == 0) { - pack_choice[iarg] = &ComputePropertyGrid::pack_x; + pack_choice[jarg] = &ComputePropertyGrid::pack_x; } else if (strcmp(arg[iarg], "y") == 0) { - pack_choice[iarg] = &ComputePropertyGrid::pack_y; + pack_choice[jarg] = &ComputePropertyGrid::pack_y; } else if (strcmp(arg[iarg], "z") == 0) { if (dimension == 2) error->all(FLERR,"Compute property/grid for 2d cannot use z coord"); - pack_choice[iarg] = &ComputePropertyGrid::pack_z; + pack_choice[jarg] = &ComputePropertyGrid::pack_z; } else if (strcmp(arg[iarg], "xs") == 0) { - pack_choice[iarg] = &ComputePropertyGrid::pack_xs; + pack_choice[jarg] = &ComputePropertyGrid::pack_xs; } else if (strcmp(arg[iarg], "ys") == 0) { - pack_choice[iarg] = &ComputePropertyGrid::pack_ys; + pack_choice[jarg] = &ComputePropertyGrid::pack_ys; } else if (strcmp(arg[iarg], "zs") == 0) { if (dimension == 2) error->all(FLERR,"Compute property/grid for 2d cannot use z coord"); - pack_choice[iarg] = &ComputePropertyGrid::pack_zs; + pack_choice[jarg] = &ComputePropertyGrid::pack_zs; } else if (strcmp(arg[iarg], "xc") == 0) { - pack_choice[iarg] = &ComputePropertyGrid::pack_xc; + pack_choice[jarg] = &ComputePropertyGrid::pack_xc; } else if (strcmp(arg[iarg], "yc") == 0) { - pack_choice[iarg] = &ComputePropertyGrid::pack_yc; + pack_choice[jarg] = &ComputePropertyGrid::pack_yc; } else if (strcmp(arg[iarg], "zc") == 0) { if (dimension == 2) error->all(FLERR,"Compute property/grid for 2d cannot use z coord"); - pack_choice[iarg] = &ComputePropertyGrid::pack_zc; + pack_choice[jarg] = &ComputePropertyGrid::pack_zc; } else if (strcmp(arg[iarg], "xsc") == 0) { - pack_choice[iarg] = &ComputePropertyGrid::pack_xsc; + pack_choice[jarg] = &ComputePropertyGrid::pack_xsc; } else if (strcmp(arg[iarg], "ysc") == 0) { - pack_choice[iarg] = &ComputePropertyGrid::pack_ysc; + pack_choice[jarg] = &ComputePropertyGrid::pack_ysc; } else if (strcmp(arg[iarg], "zsc") == 0) { if (dimension == 2) error->all(FLERR,"Compute property/grid for 2d cannot use z coord"); - pack_choice[iarg] = &ComputePropertyGrid::pack_zsc; + pack_choice[jarg] = &ComputePropertyGrid::pack_zsc; } else error->all(FLERR, "Illegal compute property/grid command"); } + // instantiate the Grid class and allocate per-grid memory + // NOTE: need new memory create methods for 2d - - // instanttiate the Grid2d/3d class - - + if (dimension == 2) { + + } else { + grid3d = new Grid3d(lmp, world, nx, ny, nz, 0, 0.0, 0.0, + nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, nzhi_in, + nxlo_out, nxhi_out, nylo_out, nyhi_out, + nzlo_out, nzhi_out); + if (nvalues == 1) + memory->create3d_offset(vec3d, nzlo_out, nzhi_out, nylo_out, + nyhi_out, nxlo_out, + nxhi_out, "property/grid:vec3d"); + else + memory->create4d_offset_last(array3d, nzlo_out, nzhi_out, nylo_out, + nyhi_out, nxlo_out, + nxhi_out, nvalues, "property/grid:array3d"); + } } /* ---------------------------------------------------------------------- */ @@ -107,6 +134,13 @@ ComputePropertyGrid::ComputePropertyGrid(LAMMPS *lmp, int narg, char **arg) : ComputePropertyGrid::~ComputePropertyGrid() { delete[] pack_choice; + + delete grid2d; + delete grid3d; + //memory->destroy2d_offset(vec2d); + //memory->destroy2d_offset(array2d); + memory->destroy3d_offset(vec3d,nzlo_out,nylo_out,nxlo_out); + memory->destroy4d_offset_last(array3d,nzlo_out,nylo_out,nxlo_out); } /* ---------------------------------------------------------------------- */ @@ -119,9 +153,9 @@ void ComputePropertyGrid::compute_pergrid() // may change between compute invocations due to load balancing if (dimension == 2) - grid2d->query_in_bounds(nxlo_in,nxhi_in,nylo_in,nyhi_in); + grid2d->query_bounds(nxlo_in,nxhi_in,nylo_in,nyhi_in); else - grid3d->query_in_bounds(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in); + grid3d->query_bounds(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in); // reallocate data vector or array if changed @@ -179,7 +213,8 @@ void *ComputePropertyGrid::get_grid_by_index(int index) int ComputePropertyGrid::get_griddata_by_name(int igrid, char *name, int &ncol) { if (igrid == 0 && strcmp(name,"data") == 0) { - ncol = nvalues; + if (nvalues == 1) ncol = 0; + else ncol = nvalues; return 0; } @@ -195,10 +230,10 @@ void *ComputePropertyGrid::get_griddata_by_index(int index) { if (index == 0) { if (dimension == 2) { - if (nvalues == 0) return vec2d; + if (nvalues == 1) return vec2d; else return array2d; } else { - if (nvalues == 0) return vec3d; + if (nvalues == 1) return vec3d; else return array3d; } } @@ -219,30 +254,27 @@ double ComputePropertyGrid::memory_usage() /* ---------------------------------------------------------------------- one method for every keyword compute property/grid can output - packed into buf starting at n with stride nvalues ------------------------------------------------------------------------- */ void ComputePropertyGrid::pack_id(int n) { if (dimension == 2) { - if (n == 0) { + if (nvalues == 0) { for (int iy = nylo_in; iy <= nyhi_in; iy++) for (int ix = nxlo_in; ix <= nxhi_in; ix++) vec2d[iy][ix] = iy*nx + ix + 1; } else { - n--; for (int iy = nylo_in; iy <= nyhi_in; iy++) for (int ix = nxlo_in; ix <= nxhi_in; ix++) array2d[iy][ix][n] = iy*nx + ix + 1; } } else if (dimension == 3) { - if (n == 0) { + if (nvalues == 0) { for (int iz = nzlo_in; iz <= nzhi_in; iz++) for (int iy = nylo_in; iy <= nyhi_in; iy++) for (int ix = nxlo_in; ix <= nxhi_in; ix++) vec3d[iz][iy][ix] = iz*ny*nx + iy*nx + ix + 1; } else { - n--; for (int iz = nzlo_in; iz <= nzhi_in; iz++) for (int iy = nylo_in; iy <= nyhi_in; iy++) for (int ix = nxlo_in; ix <= nxhi_in; ix++) @@ -253,72 +285,409 @@ void ComputePropertyGrid::pack_id(int n) /* ---------------------------------------------------------------------- */ +void ComputePropertyGrid::pack_ix(int n) +{ + if (dimension == 2) { + if (nvalues == 0) { + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + vec2d[iy][ix] = ix + 1; + } else { + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + array2d[iy][ix][n] = ix + 1; + } + } else if (dimension == 3) { + if (nvalues == 0) { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + vec3d[iz][iy][ix] = ix + 1; + } else { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + array3d[iz][iy][ix][n] = ix + 1; + } + } +} + +/* ---------------------------------------------------------------------- */ + +void ComputePropertyGrid::pack_iy(int n) +{ + if (dimension == 2) { + if (nvalues == 0) { + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + vec2d[iy][ix] = iy + 1; + } else { + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + array2d[iy][ix][n] = iy + 1; + } + } else if (dimension == 3) { + if (nvalues == 0) { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + vec3d[iz][iy][ix] = iy + 1; + } else { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + array3d[iz][iy][ix][n] = iy + 1; + } + } +} + +/* ---------------------------------------------------------------------- */ + +void ComputePropertyGrid::pack_iz(int n) +{ + if (nvalues == 0) { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + vec3d[iz][iy][ix] = iz + 1; + } else { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + array3d[iz][iy][ix][n] = iz + 1; + } +} + +/* ---------------------------------------------------------------------- */ + void ComputePropertyGrid::pack_x(int n) { + double boxlo,dx; + + if (dimension == 2) { + grid2d->query_box(0,boxlo,dx); + if (nvalues == 0) { + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + vec2d[iy][ix] = boxlo + ix*dx; + } else { + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + array2d[iy][ix][n] = boxlo + ix*dx; + } + } else if (dimension == 3) { + grid3d->query_box(0,boxlo,dx); + if (nvalues == 0) { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + vec3d[iz][iy][ix] = boxlo + ix*dx; + } else { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + array3d[iz][iy][ix][n] = boxlo + ix*dx; + } + } } /* ---------------------------------------------------------------------- */ void ComputePropertyGrid::pack_y(int n) { + double boxlo,dy; + + if (dimension == 2) { + grid2d->query_box(1,boxlo,dy); + if (nvalues == 0) { + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + vec2d[iy][ix] = boxlo + iy*dy; + } else { + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + array2d[iy][ix][n] = boxlo + iy*dy; + } + } else if (dimension == 3) { + grid3d->query_box(1,boxlo,dy); + if (nvalues == 0) { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + vec3d[iz][iy][ix] = boxlo + iy*dy; + } else { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + array3d[iz][iy][ix][n] = boxlo + iy*dy; + } + } } /* ---------------------------------------------------------------------- */ void ComputePropertyGrid::pack_z(int n) { + double boxlo,dz; + grid3d->query_box(2,boxlo,dz); + + if (nvalues == 0) { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + vec3d[iz][iy][ix] = boxlo + iz*dz; + } else { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + array3d[iz][iy][ix][n] = boxlo + iz*dz; + } } /* ---------------------------------------------------------------------- */ void ComputePropertyGrid::pack_xs(int n) { + double dx = 1.0/nx; + + if (dimension == 2) { + if (nvalues == 0) { + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + vec2d[iy][ix] = ix*dx; + } else { + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + array2d[iy][ix][n] = ix*dx; + } + } else if (dimension == 3) { + if (nvalues == 0) { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + vec3d[iz][iy][ix] = ix*dx; + } else { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + array3d[iz][iy][ix][n] = ix*dx; + } + } } /* ---------------------------------------------------------------------- */ void ComputePropertyGrid::pack_ys(int n) { + double dy = 1.0/ny; + + if (dimension == 2) { + if (nvalues == 0) { + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + vec2d[iy][ix] = iy*dy; + } else { + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + array2d[iy][ix][n] = iy*dy; + } + } else if (dimension == 3) { + if (nvalues == 0) { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + vec3d[iz][iy][ix] = iy*dy; + } else { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + array3d[iz][iy][ix][n] = iy*dy; + } + } } /* ---------------------------------------------------------------------- */ void ComputePropertyGrid::pack_zs(int n) { + double dz = 1.0/nz; + + if (nvalues == 0) { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + vec3d[iz][iy][ix] = iz*dz; + } else { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + array3d[iz][iy][ix][n] = iz*dz; + } } /* ---------------------------------------------------------------------- */ void ComputePropertyGrid::pack_xc(int n) { + double boxlo,dx; + + if (dimension == 2) { + grid2d->query_box(0,boxlo,dx); + if (nvalues == 0) { + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + vec2d[iy][ix] = boxlo + (ix+0.5)*dx; + } else { + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + array2d[iy][ix][n] = boxlo + (ix+0.5)*dx; + } + } else if (dimension == 3) { + grid3d->query_box(0,boxlo,dx); + if (nvalues == 0) { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + vec3d[iz][iy][ix] = boxlo + (ix+0.5)*dx; + } else { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + array3d[iz][iy][ix][n] = boxlo + (ix+0.5)*dx; + } + } } /* ---------------------------------------------------------------------- */ void ComputePropertyGrid::pack_yc(int n) { + double boxlo,dy; + + if (dimension == 2) { + grid2d->query_box(1,boxlo,dy); + if (nvalues == 0) { + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + vec2d[iy][ix] = boxlo + (iy+0.5)*dy; + } else { + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + array2d[iy][ix][n] = boxlo + (iy+0.5)*dy; + } + } else if (dimension == 3) { + grid3d->query_box(1,boxlo,dy); + if (nvalues == 0) { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + vec3d[iz][iy][ix] = boxlo + (iy+0.5)*dy; + } else { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + array3d[iz][iy][ix][n] = boxlo + (iy+0.5)*dy; + } + } } /* ---------------------------------------------------------------------- */ void ComputePropertyGrid::pack_zc(int n) { + double boxlo,dz; + grid3d->query_box(2,boxlo,dz); + + if (nvalues == 0) { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + vec3d[iz][iy][ix] = boxlo + (iz+0.5)*dz; + } else { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + array3d[iz][iy][ix][n] = boxlo + (iz+0.5)*dz; + } } /* ---------------------------------------------------------------------- */ void ComputePropertyGrid::pack_xsc(int n) { + double dx = 1.0/nx; + + if (dimension == 2) { + if (nvalues == 0) { + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + vec2d[iy][ix] = (ix+0.5)*dx; + } else { + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + array2d[iy][ix][n] = (ix+0.5)*dx; + } + } else if (dimension == 3) { + if (nvalues == 0) { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + vec3d[iz][iy][ix] = (ix+0.5)*dx; + } else { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + array3d[iz][iy][ix][n] = (ix+0.5)*dx; + } + } } /* ---------------------------------------------------------------------- */ void ComputePropertyGrid::pack_ysc(int n) { + double dy = 1.0/ny; + + if (dimension == 2) { + if (nvalues == 0) { + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + vec2d[iy][ix] = (iy+0.5)*dy; + } else { + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + array2d[iy][ix][n] = (iy+0.5)*dy; + } + } else if (dimension == 3) { + if (nvalues == 0) { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + vec3d[iz][iy][ix] = (iy+0.5)*dy; + } else { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + array3d[iz][iy][ix][n] = (iy+0.5)*dy; + } + } } /* ---------------------------------------------------------------------- */ void ComputePropertyGrid::pack_zsc(int n) { + double dz = 1.0/nz; + + if (nvalues == 0) { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + vec3d[iz][iy][ix] = (iz+0.5)*dz; + } else { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + array3d[iz][iy][ix][n] = (iz+0.5)*dz; + } } diff --git a/src/compute_property_grid.h b/src/compute_property_grid.h index bf76e2b6f0..97193966b1 100644 --- a/src/compute_property_grid.h +++ b/src/compute_property_grid.h @@ -47,6 +47,7 @@ class ComputePropertyGrid : public Compute { class Grid3d *grid3d; int nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in; + int nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out; double **vec2d,***vec3d; double ***array2d,****array3d; @@ -56,6 +57,10 @@ class ComputePropertyGrid : public Compute { void pack_id(int); + void pack_ix(int); + void pack_iy(int); + void pack_iz(int); + void pack_x(int); void pack_y(int); void pack_z(int); diff --git a/src/dump_grid.cpp b/src/dump_grid.cpp index 640ec44490..9070a904c9 100644 --- a/src/dump_grid.cpp +++ b/src/dump_grid.cpp @@ -274,7 +274,7 @@ void DumpGrid::init_style() int nx,ny,nz,nxtmp,nytmp,nztmp; - for (int i = 1; i < nfield; i++) { + for (int i = 0; i < nfield; i++) { if (dimension == 2) { if (field2source[i] == COMPUTE) { icompute = compute[field2index[i]]; @@ -283,9 +283,9 @@ void DumpGrid::init_style() ifix = fix[field2index[i]]; grid2d = (Grid2d *) ifix->get_grid_by_index(field2grid[i]); } - if (i == 0) grid2d->query_global_size(nx,ny); + if (i == 0) grid2d->query_size(nx,ny); else { - grid2d->query_global_size(nxtmp,nytmp); + grid2d->query_size(nxtmp,nytmp); if (nxtmp != nx || nytmp != ny) error->all(FLERR,"Dump grid field grid sizes do not match"); } @@ -298,9 +298,9 @@ void DumpGrid::init_style() ifix = fix[field2index[i]]; grid3d = (Grid3d *) ifix->get_grid_by_index(field2grid[i]); } - if (i == 0) grid3d->query_global_size(nx,ny,nz); + if (i == 0) grid3d->query_size(nx,ny,nz); else { - grid3d->query_global_size(nxtmp,nytmp,nztmp); + grid3d->query_size(nxtmp,nytmp,nztmp); if (nxtmp != nx || nytmp != ny || nztmp != nz) error->all(FLERR,"Dump grid field grid sizes do not match"); } @@ -535,7 +535,7 @@ int DumpGrid::count() else if (field2source[0] == FIX) grid2d = (Grid2d *) fix[field2index[0]]->get_grid_by_index(field2grid[0]); - grid2d->query_in_bounds(nxlo_in,nxhi_in,nylo_in,nyhi_in); + grid2d->query_bounds(nxlo_in,nxhi_in,nylo_in,nyhi_in); } else { if (field2source[0] == COMPUTE) grid3d = (Grid3d *) @@ -543,7 +543,7 @@ int DumpGrid::count() else if (field2source[0] == FIX) grid3d = (Grid3d *) fix[field2index[0]]->get_grid_by_index(field2grid[0]); - grid3d->query_in_bounds(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in); + grid3d->query_bounds(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in); } // invoke Computes for per-grid quantities diff --git a/src/grid2d.cpp b/src/grid2d.cpp index 619b879c3b..ba1c3bb71c 100644 --- a/src/grid2d.cpp +++ b/src/grid2d.cpp @@ -15,6 +15,7 @@ #include "grid2d.h" #include "comm.h" +#include "domain.h" #include "error.h" #include "irregular.h" #include "pair.h" @@ -28,6 +29,8 @@ enum{REGULAR,TILED}; #define DELTA 16 +static constexpr int OFFSET = 16384; + /* ---------------------------------------------------------------------- NOTES tiled implementation only currently works for RCB, not general tiled @@ -38,9 +41,108 @@ enum{REGULAR,TILED}; ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- - constructor called by all classes except MSM + constructor called by all classes except PPPM and MSM gcomm = world communicator - gn xy = size of global grid + gnx, gny = size of global grid + maxdist = max distance outside of proc domain a particle will be + extra = additional ghost grid pts needed in each dim, e.g. for stencil + shift = 0.0 for grid pt in lower-left corner of grid cell, 0.5 for center + return: + i xy lohi = portion of global grid this proc owns, 0 <= index < N + o xy lohi = owned + ghost grid cells needed in all directions + for non-periodic dims, o indices will not be < 0 or >= N, + since no grid communication is done across non-periodic boundaries +------------------------------------------------------------------------- */ + +Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, + int gnx, int gny, + double maxdist, int extra, double shift, + int &ixlo, int &ixhi, int &iylo, int &iyhi, + int &oxlo, int &oxhi, int &oylo, int &oyhi) + : Pointers(lmp) +{ + // store commnicator and global grid size + // set layout mode + + gridcomm = gcomm; + MPI_Comm_rank(gridcomm,&me); + MPI_Comm_size(gridcomm,&nprocs); + + nx = gnx; + ny = gny; + + ngrid[0] = nx; ngrid[1] = ny; + + if (comm->layout == Comm::LAYOUT_TILED) layout = TILED; + else layout = REGULAR; + + // partition global grid across procs + // i xyz lo/hi = lower/upper bounds of global grid this proc owns + // indices range from 0 to N-1 inclusive in each dim + + int tmp1,tmp2; + comm->partition_grid(nx, ny, 1, 0.0, ixlo, ixhi, iylo, iyhi, tmp1, tmp2); + + // nlo,nhi = min/max index of global grid pt my owned atoms can be mapped to + // finite difference stencil requires extra grid pt around my owned grid pts + // max of these 2 quantities is the ghost cells needed in each dim + // o xyz lo/hi = owned + ghost cells + + memcpy(boxlo,domain->boxlo,2*sizeof(double)); + memcpy(prd,domain->prd,2*sizeof(double)); + + double *sublo = domain->sublo; + double *subhi = domain->subhi; + int *periodicity = domain->periodicity; + + double dxinv = nx / domain->prd[0]; + double dyinv = ny / domain->prd[1]; + double SHIFT = OFFSET + shift; + int nlo, nhi; + + nlo = static_cast((sublo[0]-maxdist-boxlo[0]) * dxinv + SHIFT) - OFFSET; + nhi = static_cast((subhi[0]+maxdist-boxlo[0]) * dxinv + SHIFT) - OFFSET; + oxlo = MIN(nlo, ixlo - extra); + oxhi = MAX(nhi, ixhi + extra); + + nlo = static_cast((sublo[1]-maxdist-boxlo[1]) * dyinv + SHIFT) - OFFSET; + nhi = static_cast((subhi[1]+maxdist-boxlo[1]) * dyinv + SHIFT) - OFFSET; + oylo = MIN(nlo, iylo - extra); + oyhi = MAX(nhi, iyhi + extra); + + // limit o xyz lo/hi indices for non-periodic dimensions + + if (!periodicity[0]) { + oxlo = MAX(1,oxlo); + oxhi = MIN(gnx-1,oxhi); + } + + if (!periodicity[1]) { + oylo = MAX(1,oylo); + oyhi = MIN(gnx-1,oyhi); + } + + // store grid bounds and proc neighs + + if (layout == REGULAR) { + int (*procneigh)[2] = comm->procneigh; + store(ixlo,ixhi,iylo,iyhi, + oxlo,oxhi,oylo,oyhi, + oxlo,oxhi,oylo,oyhi, + procneigh[0][0],procneigh[0][1], + procneigh[1][0],procneigh[1][1]); + } else { + store(ixlo,ixhi,iylo,iyhi, + oxlo,oxhi,oylo,oyhi, + oxlo,oxhi,oylo,oyhi, + 0,0,0,0); + } +} + +/* ---------------------------------------------------------------------- + constructor called by PPPM classes + gcomm = world communicator + gnx, gny = size of global grid i xy lohi = portion of global grid this proc owns, 0 <= index < N o xy lohi = owned grid portion + ghost grid cells needed in all directions if o indices are < 0 or hi indices are >= N, @@ -54,21 +156,38 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, int oxlo, int oxhi, int oylo, int oyhi) : Pointers(lmp) { + // store commnicator and global grid size + // set layout mode + + gridcomm = gcomm; + MPI_Comm_rank(gridcomm,&me); + MPI_Comm_size(gridcomm,&nprocs); + + nx = gnx; + ny = gny; + + ngrid[0] = nx; ngrid[1] = ny; + if (comm->layout == Comm::LAYOUT_TILED) layout = TILED; else layout = REGULAR; + memcpy(boxlo,domain->boxlo,2*sizeof(double)); + memcpy(prd,domain->prd,2*sizeof(double)); + + // store grid bounds and proc neighs + if (layout == REGULAR) { int (*procneigh)[2] = comm->procneigh; - initialize(gcomm,gnx,gny, - ixlo,ixhi,iylo,iyhi,oxlo,oxhi,oylo,oyhi, - oxlo,oxhi,oylo,oyhi, - procneigh[0][0],procneigh[0][1], - procneigh[1][0],procneigh[1][1]); + store(ixlo,ixhi,iylo,iyhi, + oxlo,oxhi,oylo,oyhi, + oxlo,oxhi,oylo,oyhi, + procneigh[0][0],procneigh[0][1], + procneigh[1][0],procneigh[1][1]); } else { - initialize(gcomm,gnx,gny, - ixlo,ixhi,iylo,iyhi,oxlo,oxhi,oylo,oyhi, - oxlo,oxhi,oylo,oyhi, - 0,0,0,0); + store(ixlo,ixhi,iylo,iyhi, + oxlo,oxhi,oylo,oyhi, + oxlo,oxhi,oylo,oyhi, + 0,0,0,0); } } @@ -77,7 +196,7 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, gcomm = world communicator or sub-communicator for a hierarchical grid flag = 1 if e xy lohi values = larger grid stored by caller in gcomm = world flag = 2 if e xy lohi values = 6 neighbor procs in gcomm - gn xy = size of global grid + gnx, gny = size of global grid i xy lohi = portion of global grid this proc owns, 0 <= index < N o xy lohi = owned grid portion + ghost grid cells needed in all directions e xy lohi for flag = 1: extent of larger grid stored by caller @@ -91,34 +210,48 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, int flag, int exlo, int exhi, int eylo, int eyhi) : Pointers(lmp) { + // store commnicator and global grid size + // set layout mode + + gridcomm = gcomm; + MPI_Comm_rank(gridcomm,&me); + MPI_Comm_size(gridcomm,&nprocs); + + nx = gnx; + ny = gny; + + ngrid[0] = nx; ngrid[1] = ny; + if (comm->layout == Comm::LAYOUT_TILED) layout = TILED; else layout = REGULAR; + memcpy(boxlo,domain->boxlo,2*sizeof(double)); + memcpy(prd,domain->prd,2*sizeof(double)); + + // store grid bounds and proc neighs + if (flag == 1) { if (layout == REGULAR) { // this assumes gcomm = world int (*procneigh)[2] = comm->procneigh; - initialize(gcomm,gnx,gny, - ixlo,ixhi,iylo,iyhi, - oxlo,oxhi,oylo,oyhi, - exlo,exhi,eylo,eyhi, - procneigh[0][0],procneigh[0][1], - procneigh[1][0],procneigh[1][1]); + store(ixlo,ixhi,iylo,iyhi, + oxlo,oxhi,oylo,oyhi, + exlo,exhi,eylo,eyhi, + procneigh[0][0],procneigh[0][1], + procneigh[1][0],procneigh[1][1]); } else { - initialize(gcomm,gnx,gny, - ixlo,ixhi,iylo,iyhi, - oxlo,oxhi,oylo,oyhi, - exlo,exhi,eylo,eyhi, - 0,0,0,0); + store(ixlo,ixhi,iylo,iyhi, + oxlo,oxhi,oylo,oyhi, + exlo,exhi,eylo,eyhi, + 0,0,0,0); } } else if (flag == 2) { if (layout == REGULAR) { - initialize(gcomm,gnx,gny, - ixlo,ixhi,iylo,iyhi, - oxlo,oxhi,oylo,oyhi, - oxlo,oxhi,oylo,oyhi, - exlo,exhi,eylo,eyhi); + store(ixlo,ixhi,iylo,iyhi, + oxlo,oxhi,oylo,oyhi, + oxlo,oxhi,oylo,oyhi, + exlo,exhi,eylo,eyhi); } else { error->all(FLERR,"Grid2d does not support tiled layout with neighbor procs"); } @@ -160,20 +293,11 @@ Grid2d::~Grid2d() store constructor args in local variables ------------------------------------------------------------------------- */ -void Grid2d::initialize(MPI_Comm gcomm, - int gnx, int gny, - int ixlo, int ixhi, int iylo, int iyhi, - int oxlo, int oxhi, int oylo, int oyhi, - int fxlo, int fxhi, int fylo, int fyhi, - int pxlo, int pxhi, int pylo, int pyhi) +void Grid2d::store(int ixlo, int ixhi, int iylo, int iyhi, + int oxlo, int oxhi, int oylo, int oyhi, + int fxlo, int fxhi, int fylo, int fyhi, + int pxlo, int pxhi, int pylo, int pyhi) { - gridcomm = gcomm; - MPI_Comm_rank(gridcomm,&me); - MPI_Comm_size(gridcomm,&nprocs); - - nx = gnx; - ny = gny; - inxlo = ixlo; inxhi = ixhi; inylo = iylo; @@ -212,7 +336,7 @@ void Grid2d::initialize(MPI_Comm gcomm, /* ---------------------------------------------------------------------- */ -void Grid2d::query_global_size(int &nxgrid, int &nygrid) +void Grid2d::query_size(int &nxgrid, int &nygrid) { nxgrid = nx; nygrid = ny; @@ -220,7 +344,7 @@ void Grid2d::query_global_size(int &nxgrid, int &nygrid) /* ---------------------------------------------------------------------- */ -void Grid2d::query_in_bounds(int &xlo, int &xhi, int &ylo, int &yhi) +void Grid2d::query_bounds(int &xlo, int &xhi, int &ylo, int &yhi) { xlo = inxlo; xhi = inxhi; @@ -230,6 +354,14 @@ void Grid2d::query_in_bounds(int &xlo, int &xhi, int &ylo, int &yhi) /* ---------------------------------------------------------------------- */ +void Grid2d::query_box(int dim, double &lo, double &delta) +{ + lo = boxlo[dim]; + delta = prd[dim] / ngrid[dim]; +} + +/* ---------------------------------------------------------------------- */ + void Grid2d::setup(int &nbuf1, int &nbuf2) { if (layout == REGULAR) setup_regular(nbuf1,nbuf2); @@ -1022,6 +1154,76 @@ reverse_comm_tiled(T *ptr, int nper, int nbyte, int which, } } +/* ---------------------------------------------------------------------- + gather global grid values to proc 0, one grid chunk at a time + proc 0 pings each proc for its grid chunk + pack/unpack operations are performed by caller via callbacks + caller can decide whether to store chunks, output them, etc +------------------------------------------------------------------------- */ + +void Grid2d::gather(int /*caller*/, void *ptr, int nper, int nbyte, + int which, void *buf, MPI_Datatype datatype) +{ + int me = comm->me; + Fix *fptr = (Fix *) ptr; + + // maxsize = max grid data owned by any proc + + int mysize = (inxhi-inxlo+1) * (inyhi-inylo+1); + mysize *= nper; + int maxsize; + MPI_Allreduce(&mysize,&maxsize,1,MPI_INT,MPI_MAX,world); + + // pack my data via callback to caller + + char *mybuf; + if (me == 0) memory->create(mybuf,maxsize*nbyte,"grid2d:mybuf"); + else memory->create(mybuf,mysize*nbyte,"grid2d:mybuf"); + fptr->pack_gather_grid(which,mybuf); + + // ping each proc for its data + // unpack into full buffer via callback to caller + + int xlo,xhi,ylo,yhi,zlo,zhi,tmp; + int bounds[4]; + + if (me == 0) { + MPI_Status status; + MPI_Request request; + + for (int iproc = 0; iproc < nprocs; iproc++) { + if (iproc) { + MPI_Irecv(mybuf,maxsize,datatype,iproc,0,world,&request); + MPI_Send(&tmp,0,MPI_INT,iproc,0,world); + MPI_Wait(&request,&status); + MPI_Recv(bounds,4,MPI_INT,iproc,0,world,&status); + xlo = bounds[0]; + xhi = bounds[1]; + ylo = bounds[2]; + yhi = bounds[3]; + } else { + xlo = inxlo; + xhi = inxhi; + ylo = inylo; + yhi = inyhi; + } + + fptr->unpack_gather_grid(which,mybuf,buf,xlo,xhi,ylo,yhi,0,0); + } + + } else { + MPI_Recv(&tmp,0,MPI_INT,0,0,world,MPI_STATUS_IGNORE); + MPI_Rsend(mybuf,mysize,datatype,0,0,world); + bounds[0] = inxlo; + bounds[1] = inxhi; + bounds[2] = inylo; + bounds[3] = inyhi; + MPI_Send(bounds,4,MPI_INT,0,0,world); + } + + memory->destroy(mybuf); +} + /* ---------------------------------------------------------------------- create swap stencil for grid own/ghost communication swaps covers all 2 dimensions and both directions diff --git a/src/grid2d.h b/src/grid2d.h index b5bf981d4f..0fc5ff343c 100644 --- a/src/grid2d.h +++ b/src/grid2d.h @@ -22,16 +22,21 @@ class Grid2d : protected Pointers { public: enum { KSPACE = 0, PAIR = 1, FIX = 2 }; // calling classes + Grid2d(class LAMMPS *, MPI_Comm, int, int, double, int, double, + int &, int &, int &, int &, + int &, int &, int &, int &); Grid2d(class LAMMPS *, MPI_Comm, int, int, int, int, int, int, int, int, int, int); Grid2d(class LAMMPS *, MPI_Comm, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int); ~Grid2d() override; - void query_global_size(int &, int &); - void query_in_bounds(int &, int &, int &, int &); + void query_size(int &, int &); + void query_bounds(int &, int &, int &, int &); + void query_box(int, double &, double &); void setup(int &, int &); int ghost_adjacent(); void forward_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); void reverse_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); + void gather(int, void *, int, int, int, void *, MPI_Datatype); protected: int me, nprocs; @@ -39,18 +44,20 @@ class Grid2d : protected Pointers { MPI_Comm gridcomm; // communicator for this class // usually world, but MSM calls with subset + int ngrid[2]; // global grid size + double boxlo[2]; // current box that grid is mapped to + double prd[2]; + // inputs from caller via constructor - int nx, ny, nz; // size of global grid in all 3 dims + int nx, ny; // size of global grid in both dims int inxlo, inxhi; // inclusive extent of my grid chunk int inylo, inyhi; // 0 <= in <= N-1 - int inzlo, inzhi; int outxlo, outxhi; // inclusive extent of my grid chunk plus - int outylo, outyhi; // ghost cells in all 6 directions - int outzlo, outzhi; // lo indices can be < 0, hi indices can be >= N + int outylo, outyhi; // ghost cells in all 4 directions + // lo indices can be < 0, hi indices can be >= N int fullxlo, fullxhi; // extent of grid chunk that caller stores int fullylo, fullyhi; // can be same as out indices or larger - int fullzlo, fullzhi; // ------------------------------------------- // internal variables for REGULAR layout @@ -172,8 +179,8 @@ class Grid2d : protected Pointers { // internal methods // ------------------------------------------- - void initialize(MPI_Comm, int, int, int, int, int, int, int, int, int, int, - int, int, int, int, int, int, int, int); + void store(int, int, int, int, int, int, int, int, + int, int, int, int, int, int, int, int); virtual void setup_regular(int &, int &); virtual void setup_tiled(int &, int &); void ghost_box_drop(int *, int *); diff --git a/src/grid3d.cpp b/src/grid3d.cpp index abc816982b..1b8ab1b8e2 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -15,6 +15,7 @@ #include "grid3d.h" #include "comm.h" +#include "domain.h" #include "error.h" #include "irregular.h" #include "pair.h" @@ -28,6 +29,8 @@ enum{REGULAR,TILED}; #define DELTA 16 +static constexpr int OFFSET = 16384; + /* ---------------------------------------------------------------------- NOTES tiled implementation only currently works for RCB, not general tiled @@ -38,9 +41,120 @@ enum{REGULAR,TILED}; ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- - constructor called by all classes except MSM + constructor called by all classes except PPPM and MSM gcomm = world communicator - gn xyz = size of global grid + gnx, gny, gnz = size of global grid + maxdist = max distance outside of proc domain a particle will be + extra = additional ghost grid pts needed in each dim, e.g. for stencil + shift = 0.0 for grid pt in lower-left corner of grid cell, 0.5 for center + return: + i xyz lohi = portion of global grid this proc owns, 0 <= index < N + o xyz lohi = owned + ghost grid cells needed in all directions + for non-periodic dims, o indices will not be < 0 or >= N, + since no grid communication is done across non-periodic boundaries +------------------------------------------------------------------------- */ + +Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, + int gnx, int gny, int gnz, + double maxdist, int extra, double shift, + int &ixlo, int &ixhi, int &iylo, int &iyhi, int &izlo, int &izhi, + int &oxlo, int &oxhi, int &oylo, int &oyhi, int &ozlo, int &ozhi) + : Pointers(lmp) +{ + // store commnicator and global grid size + // set layout mode + + gridcomm = gcomm; + MPI_Comm_rank(gridcomm,&me); + MPI_Comm_size(gridcomm,&nprocs); + + nx = gnx; + ny = gny; + nz = gnz; + + ngrid[0] = nx; ngrid[1] = ny; ngrid[2] = nz; + + if (comm->layout == Comm::LAYOUT_TILED) layout = TILED; + else layout = REGULAR; + + // partition global grid across procs + // i xyz lo/hi = lower/upper bounds of global grid this proc owns + // indices range from 0 to N-1 inclusive in each dim + + comm->partition_grid(nx, ny, nz, 0.0, ixlo, ixhi, iylo, iyhi, izlo, izhi); + + // nlo,nhi = min/max index of global grid pt my owned atoms can be mapped to + // finite difference stencil requires extra grid pt around my owned grid pts + // max of these 2 quantities is the ghost cells needed in each dim + // o xyz lo/hi = owned + ghost cells + + memcpy(boxlo,domain->boxlo,3*sizeof(double)); + memcpy(prd,domain->prd,3*sizeof(double)); + + double *sublo = domain->sublo; + double *subhi = domain->subhi; + int *periodicity = domain->periodicity; + + double dxinv = nx / prd[0]; + double dyinv = ny / prd[1]; + double dzinv = nz / prd[2];; + double SHIFT = OFFSET + shift; + int nlo, nhi; + + nlo = static_cast((sublo[0]-maxdist-boxlo[0]) * dxinv + SHIFT) - OFFSET; + nhi = static_cast((subhi[0]+maxdist-boxlo[0]) * dxinv + SHIFT) - OFFSET; + oxlo = MIN(nlo, ixlo - extra); + oxhi = MAX(nhi, ixhi + extra); + + nlo = static_cast((sublo[1]-maxdist-boxlo[1]) * dyinv + SHIFT) - OFFSET; + nhi = static_cast((subhi[1]+maxdist-boxlo[1]) * dyinv + SHIFT) - OFFSET; + oylo = MIN(nlo, iylo - extra); + oyhi = MAX(nhi, iyhi + extra); + + nlo = static_cast((sublo[2]-maxdist-boxlo[2]) * dzinv + SHIFT) - OFFSET; + nhi = static_cast((subhi[2]+maxdist-boxlo[2]) * dzinv + SHIFT) - OFFSET; + ozlo = MIN(nlo, izlo - extra); + ozhi = MAX(nhi, izhi + extra); + + // limit o xyz lo/hi indices for non-periodic dimensions + + if (!periodicity[0]) { + oxlo = MAX(1,oxlo); + oxhi = MIN(gnx-1,oxhi); + } + + if (!periodicity[1]) { + oylo = MAX(1,oylo); + oyhi = MIN(gnx-1,oyhi); + } + + if (!periodicity[2]) { + ozlo = MAX(1,ozlo); + ozhi = MIN(gnx-1,ozhi); + } + + // store grid bounds and proc neighs + + if (layout == REGULAR) { + int (*procneigh)[2] = comm->procneigh; + store(ixlo,ixhi,iylo,iyhi,izlo,izhi, + oxlo,oxhi,oylo,oyhi,ozlo,ozhi, + oxlo,oxhi,oylo,oyhi,ozlo,ozhi, + procneigh[0][0],procneigh[0][1], + procneigh[1][0],procneigh[1][1], + procneigh[2][0],procneigh[2][1]); + } else { + store(ixlo,ixhi,iylo,iyhi,izlo,izhi, + oxlo,oxhi,oylo,oyhi,ozlo,ozhi, + oxlo,oxhi,oylo,oyhi,ozlo,ozhi, + 0,0,0,0,0,0); + } +} + +/* ---------------------------------------------------------------------- + constructor called by PPPM classes + gcomm = world communicator + gnx, gny, gnz = size of global grid i xyz lohi = portion of global grid this proc owns, 0 <= index < N o xyz lohi = owned grid portion + ghost grid cells needed in all directions if o indices are < 0 or hi indices are >= N, @@ -54,24 +168,40 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, int oxlo, int oxhi, int oylo, int oyhi, int ozlo, int ozhi) : Pointers(lmp) { + // store commnicator and global grid size + // set layout mode + + gridcomm = gcomm; + MPI_Comm_rank(gridcomm,&me); + MPI_Comm_size(gridcomm,&nprocs); + + nx = gnx; + ny = gny; + nz = gnz; + + ngrid[0] = nx; ngrid[1] = ny; ngrid[2] = nz; + if (comm->layout == Comm::LAYOUT_TILED) layout = TILED; else layout = REGULAR; + memcpy(boxlo,domain->boxlo,3*sizeof(double)); + memcpy(prd,domain->prd,3*sizeof(double)); + + // store grid bounds and proc neighs + if (layout == REGULAR) { int (*procneigh)[2] = comm->procneigh; - initialize(gcomm,gnx,gny,gnz, - ixlo,ixhi,iylo,iyhi,izlo,izhi, - oxlo,oxhi,oylo,oyhi,ozlo,ozhi, - oxlo,oxhi,oylo,oyhi,ozlo,ozhi, - procneigh[0][0],procneigh[0][1], - procneigh[1][0],procneigh[1][1], - procneigh[2][0],procneigh[2][1]); + store(ixlo,ixhi,iylo,iyhi,izlo,izhi, + oxlo,oxhi,oylo,oyhi,ozlo,ozhi, + oxlo,oxhi,oylo,oyhi,ozlo,ozhi, + procneigh[0][0],procneigh[0][1], + procneigh[1][0],procneigh[1][1], + procneigh[2][0],procneigh[2][1]); } else { - initialize(gcomm,gnx,gny,gnz, - ixlo,ixhi,iylo,iyhi,izlo,izhi, - oxlo,oxhi,oylo,oyhi,ozlo,ozhi, - oxlo,oxhi,oylo,oyhi,ozlo,ozhi, - 0,0,0,0,0,0); + store(ixlo,ixhi,iylo,iyhi,izlo,izhi, + oxlo,oxhi,oylo,oyhi,ozlo,ozhi, + oxlo,oxhi,oylo,oyhi,ozlo,ozhi, + 0,0,0,0,0,0); } } @@ -80,7 +210,7 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, gcomm = world communicator or sub-communicator for a hierarchical grid flag = 1 if e xyz lohi values = larger grid stored by caller in gcomm = world flag = 2 if e xyz lohi values = 6 neighbor procs in gcomm - gn xyz = size of global grid + gnx, gny, gnz = size of global grid i xyz lohi = portion of global grid this proc owns, 0 <= index < N o xyz lohi = owned grid portion + ghost grid cells needed in all directions e xyz lohi for flag = 1: extent of larger grid stored by caller @@ -94,35 +224,50 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, int flag, int exlo, int exhi, int eylo, int eyhi, int ezlo, int ezhi) : Pointers(lmp) { + // store commnicator and global grid size + // set layout mode + + gridcomm = gcomm; + MPI_Comm_rank(gridcomm,&me); + MPI_Comm_size(gridcomm,&nprocs); + + nx = gnx; + ny = gny; + nz = gnz; + + ngrid[0] = nx; ngrid[1] = ny; ngrid[2] = nz; + if (comm->layout == Comm::LAYOUT_TILED) layout = TILED; else layout = REGULAR; + memcpy(boxlo,domain->boxlo,3*sizeof(double)); + memcpy(prd,domain->prd,3*sizeof(double)); + + // store grid bounds and proc neighs + if (flag == 1) { if (layout == REGULAR) { // this assumes gcomm = world int (*procneigh)[2] = comm->procneigh; - initialize(gcomm,gnx,gny,gnz, - ixlo,ixhi,iylo,iyhi,izlo,izhi, - oxlo,oxhi,oylo,oyhi,ozlo,ozhi, - exlo,exhi,eylo,eyhi,ezlo,ezhi, - procneigh[0][0],procneigh[0][1], - procneigh[1][0],procneigh[1][1], - procneigh[2][0],procneigh[2][1]); + store(ixlo,ixhi,iylo,iyhi,izlo,izhi, + oxlo,oxhi,oylo,oyhi,ozlo,ozhi, + exlo,exhi,eylo,eyhi,ezlo,ezhi, + procneigh[0][0],procneigh[0][1], + procneigh[1][0],procneigh[1][1], + procneigh[2][0],procneigh[2][1]); } else { - initialize(gcomm,gnx,gny,gnz, - ixlo,ixhi,iylo,iyhi,izlo,izhi, - oxlo,oxhi,oylo,oyhi,ozlo,ozhi, - exlo,exhi,eylo,eyhi,ezlo,ezhi, - 0,0,0,0,0,0); + store(ixlo,ixhi,iylo,iyhi,izlo,izhi, + oxlo,oxhi,oylo,oyhi,ozlo,ozhi, + exlo,exhi,eylo,eyhi,ezlo,ezhi, + 0,0,0,0,0,0); } } else if (flag == 2) { if (layout == REGULAR) { - initialize(gcomm,gnx,gny,gnz, - ixlo,ixhi,iylo,iyhi,izlo,izhi, - oxlo,oxhi,oylo,oyhi,ozlo,ozhi, - oxlo,oxhi,oylo,oyhi,ozlo,ozhi, - exlo,exhi,eylo,eyhi,ezlo,ezhi); + store(ixlo,ixhi,iylo,iyhi,izlo,izhi, + oxlo,oxhi,oylo,oyhi,ozlo,ozhi, + oxlo,oxhi,oylo,oyhi,ozlo,ozhi, + exlo,exhi,eylo,eyhi,ezlo,ezhi); } else { error->all(FLERR,"Grid3d does not support tiled layout with neighbor procs"); } @@ -161,28 +306,18 @@ Grid3d::~Grid3d() } /* ---------------------------------------------------------------------- - store constructor args in local variables + store grid bounds and proc neighs in local variables ------------------------------------------------------------------------- */ -void Grid3d::initialize(MPI_Comm gcomm, - int gnx, int gny, int gnz, - int ixlo, int ixhi, int iylo, int iyhi, - int izlo, int izhi, - int oxlo, int oxhi, int oylo, int oyhi, - int ozlo, int ozhi, - int fxlo, int fxhi, int fylo, int fyhi, - int fzlo, int fzhi, - int pxlo, int pxhi, int pylo, int pyhi, - int pzlo, int pzhi) +void Grid3d::store(int ixlo, int ixhi, int iylo, int iyhi, + int izlo, int izhi, + int oxlo, int oxhi, int oylo, int oyhi, + int ozlo, int ozhi, + int fxlo, int fxhi, int fylo, int fyhi, + int fzlo, int fzhi, + int pxlo, int pxhi, int pylo, int pyhi, + int pzlo, int pzhi) { - gridcomm = gcomm; - MPI_Comm_rank(gridcomm,&me); - MPI_Comm_size(gridcomm,&nprocs); - - nx = gnx; - ny = gny; - nz = gnz; - inxlo = ixlo; inxhi = ixhi; inylo = iylo; @@ -229,7 +364,7 @@ void Grid3d::initialize(MPI_Comm gcomm, /* ---------------------------------------------------------------------- */ -void Grid3d::query_global_size(int &nxgrid, int &nygrid, int &nzgrid) +void Grid3d::query_size(int &nxgrid, int &nygrid, int &nzgrid) { nxgrid = nx; nygrid = ny; @@ -238,7 +373,8 @@ void Grid3d::query_global_size(int &nxgrid, int &nygrid, int &nzgrid) /* ---------------------------------------------------------------------- */ -void Grid3d::query_in_bounds(int &xlo, int &xhi, int &ylo, int &yhi, int &zlo, int &zhi) +void Grid3d::query_bounds(int &xlo, int &xhi, int &ylo, int &yhi, + int &zlo, int &zhi) { xlo = inxlo; xhi = inxhi; @@ -250,6 +386,14 @@ void Grid3d::query_in_bounds(int &xlo, int &xhi, int &ylo, int &yhi, int &zlo, i /* ---------------------------------------------------------------------- */ +void Grid3d::query_box(int dim, double &lo, double &delta) +{ + lo = boxlo[dim]; + delta = prd[dim] / ngrid[dim]; +} + +/* ---------------------------------------------------------------------- */ + void Grid3d::setup(int &nbuf1, int &nbuf2) { if (layout == REGULAR) setup_regular(nbuf1,nbuf2); diff --git a/src/grid3d.h b/src/grid3d.h index eee44936d4..a36600d070 100644 --- a/src/grid3d.h +++ b/src/grid3d.h @@ -22,13 +22,18 @@ class Grid3d : protected Pointers { public: enum { KSPACE = 0, PAIR = 1, FIX = 2 }; // calling classes - Grid3d(class LAMMPS *, MPI_Comm, int, int, int, int, int, int, int, int, int, int, int, int, - int, int, int); - Grid3d(class LAMMPS *, MPI_Comm, int, int, int, int, int, int, int, int, int, int, int, int, - int, int, int, int, int, int, int, int, int, int); + Grid3d(class LAMMPS *, MPI_Comm, int, int, int, double, int, double, + int &, int &, int &, int &, int &, int &, + int &, int &, int &, int &, int &, int &); + Grid3d(class LAMMPS *, MPI_Comm, int, int, int, int, int, int, int, int, int, + int, int, int, int, int, int); + Grid3d(class LAMMPS *, MPI_Comm, int, int, int, int, + int, int, int, int, int, int, int, int, int, int, int, int, + int, int, int, int, int, int); ~Grid3d() override; - void query_global_size(int &, int &, int &); - void query_in_bounds(int &, int &, int &, int &, int &, int &); + void query_size(int &, int &, int &); + void query_bounds(int &, int &, int &, int &, int &, int &); + void query_box(int, double &, double &); void setup(int &, int &); int ghost_adjacent(); void forward_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); @@ -41,6 +46,10 @@ class Grid3d : protected Pointers { MPI_Comm gridcomm; // communicator for this class // usually world, but MSM calls with subset + int ngrid[3]; // global grid size + double boxlo[3]; // current box that grid is mapped to + double prd[3]; + // inputs from caller via constructor int nx, ny, nz; // size of global grid in all 3 dims @@ -176,8 +185,8 @@ class Grid3d : protected Pointers { // internal methods // ------------------------------------------- - void initialize(MPI_Comm, int, int, int, int, int, int, int, int, int, int, int, int, int, int, - int, int, int, int, int, int, int, int, int, int, int, int, int); + void store(int, int, int, int, int, int, int, int, int, int, int, int, + int, int, int, int, int, int, int, int, int, int, int, int); virtual void setup_regular(int &, int &); virtual void setup_tiled(int &, int &); void ghost_box_drop(int *, int *); From 3e81cfb21756a6e7b36dd85b87be93baab579769 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 29 Jul 2022 10:13:23 -0600 Subject: [PATCH 014/142] refactoring --- src/EXTRA-FIX/fix_ttm_grid.cpp | 30 ++++--- src/EXTRA-FIX/fix_ttm_grid.h | 2 +- src/compute_property_grid.cpp | 57 +++++++----- src/compute_property_grid.h | 1 + src/dump_grid.cpp | 63 +++---------- src/grid2d.cpp | 12 ++- src/grid2d.h | 6 +- src/grid3d.cpp | 15 +++- src/grid3d.h | 6 +- src/memory.h | 160 +++++++++++++++++++++++++++++++-- src/utils.cpp | 26 ++++++ src/utils.h | 13 +++ 12 files changed, 284 insertions(+), 107 deletions(-) diff --git a/src/EXTRA-FIX/fix_ttm_grid.cpp b/src/EXTRA-FIX/fix_ttm_grid.cpp index 1f59ce8bb9..59ae7dcf4d 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.cpp +++ b/src/EXTRA-FIX/fix_ttm_grid.cpp @@ -57,6 +57,7 @@ FixTTMGrid::FixTTMGrid(LAMMPS *lmp, int narg, char **arg) : pergrid_flag = 1; /* + NOTE: uncomment this when ready to release if (outfile) error->all(FLERR,"Fix ttm/grid does not support outfile option - " "use dump grid instead"); */ @@ -285,7 +286,7 @@ void FixTTMGrid::read_electron_temperatures(const std::string &filename) int ***T_initial_set; memory->create3d_offset(T_initial_set, nzlo_in, nzhi_in, nylo_in, nyhi_in, nxlo_in, nxhi_in, "ttm/grid:T_initial_set"); - memset(&T_initial_set[nzlo_in][nylo_in][nxlo_in], 0, ngridmine * sizeof(int)); + memset(&T_initial_set[nzlo_in][nylo_in][nxlo_in], 0, ngridown * sizeof(int)); // proc 0 opens file @@ -365,6 +366,7 @@ void FixTTMGrid::read_electron_temperatures(const std::string &filename) /* ---------------------------------------------------------------------- write out current electron temperatures to user-specified file only written by proc 0 + NOTE: remove this function when ready to release ------------------------------------------------------------------------- */ void FixTTMGrid::write_electron_temperatures(const std::string &filename) @@ -445,16 +447,10 @@ void FixTTMGrid::allocate_grid() nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, nzhi_in, nxlo_out, nxhi_out, nylo_out, nyhi_out, nzlo_out, nzhi_out); - // set ngridout and ngridmine and error check - - bigint totalmine; - totalmine = - (bigint) (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1) * (nzhi_out - nzlo_out + 1); - if (totalmine > MAXSMALLINT) error->one(FLERR, "Too many owned+ghost grid points in fix ttm"); - ngridout = totalmine; - - totalmine = (bigint) (nxhi_in - nxlo_in + 1) * (nyhi_in - nylo_in + 1) * (nzhi_in - nzlo_in + 1); - ngridmine = totalmine; + ngridown = (nxhi_in - nxlo_in + 1) * (nyhi_in - nylo_in + 1) * + (nzhi_in - nzlo_in + 1); + ngridout = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1) * + (nzhi_out - nzlo_out + 1); // setup grid communication and allocate grid data structs @@ -562,6 +558,7 @@ void FixTTMGrid::restart(char *buf) /* ---------------------------------------------------------------------- pack values from local grid into buf used by which = 0 and 1 + NOTE: remove this function when ready to release ------------------------------------------------------------------------- */ void FixTTMGrid::pack_gather_grid(int /*which*/, void *vbuf) @@ -579,6 +576,7 @@ void FixTTMGrid::pack_gather_grid(int /*which*/, void *vbuf) /* ---------------------------------------------------------------------- which = 0: unpack values from buf into global gbuf based on their indices which = 1: print values from buf to FPout file + NOTE: remove this function when ready to release ------------------------------------------------------------------------- */ void FixTTMGrid::unpack_gather_grid(int which, void *vbuf, void *vgbuf, int xlo, int xhi, int ylo, @@ -617,6 +615,7 @@ void FixTTMGrid::unpack_gather_grid(int which, void *vbuf, void *vgbuf, int xlo, return index of grid associated with name this class can store M named grids, indexed 0 to M-1 also set dim for 2d vs 3d grid + return -1 if grid name not found ------------------------------------------------------------------------- */ int FixTTMGrid::get_grid_by_name(char *name, int &dim) @@ -632,6 +631,7 @@ int FixTTMGrid::get_grid_by_name(char *name, int &dim) /* ---------------------------------------------------------------------- return ptr to Grid data struct for grid with index this class can store M named grids, indexed 0 to M-1 + return nullptr if index is invalid ------------------------------------------------------------------------- */ void *FixTTMGrid::get_grid_by_index(int index) @@ -644,9 +644,10 @@ void *FixTTMGrid::get_grid_by_index(int index) return index of data associated with name in grid with index igrid this class can store M named grids, indexed 0 to M-1 each grid can store G named data sets, indexed 0 to G-1 - a data set name can be associated with multiple grids - also set ncol for data set, 0 = vector, 1-N for array with N columns - vector = single value per grid pt, array = N values per grid pt + a data set name can be associated with multiple grids + set ncol for data set, 0 = vector, 1-N for array with N columns + vector = single value per grid pt, array = N values per grid pt + return -1 if data name not found ------------------------------------------------------------------------- */ int FixTTMGrid::get_griddata_by_name(int igrid, char *name, int &ncol) @@ -662,6 +663,7 @@ int FixTTMGrid::get_griddata_by_name(int igrid, char *name, int &ncol) /* ---------------------------------------------------------------------- return ptr to multidim data array associated with index this class can store G named data sets, indexed 0 to M-1 + return nullptr if index is invalid ------------------------------------------------------------------------- */ void *FixTTMGrid::get_griddata_by_index(int index) diff --git a/src/EXTRA-FIX/fix_ttm_grid.h b/src/EXTRA-FIX/fix_ttm_grid.h index 6b8d3ea096..10a0dd8a77 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.h +++ b/src/EXTRA-FIX/fix_ttm_grid.h @@ -54,7 +54,7 @@ class FixTTMGrid : public FixTTM { double memory_usage() override; private: - int ngridmine, ngridout; + int ngridown, ngridout; int nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, nzhi_in; int nxlo_out, nxhi_out, nylo_out, nyhi_out, nzlo_out, nzhi_out; double delxinv, delyinv, delzinv; diff --git a/src/compute_property_grid.cpp b/src/compute_property_grid.cpp index 2e95279ac2..2731dcc559 100644 --- a/src/compute_property_grid.cpp +++ b/src/compute_property_grid.cpp @@ -109,9 +109,18 @@ ComputePropertyGrid::ComputePropertyGrid(LAMMPS *lmp, int narg, char **arg) : } // instantiate the Grid class and allocate per-grid memory - // NOTE: need new memory create methods for 2d if (dimension == 2) { + grid2d = new Grid2d(lmp, world, nx, ny, 0, 0.0, 0.0, + nxlo_in, nxhi_in, nylo_in, nyhi_in, + nxlo_out, nxhi_out, nylo_out, nyhi_out); + if (nvalues == 1) + memory->create2d_offset(vec2d, nylo_out, nyhi_out, nxlo_out, nxhi_out, + "property/grid:vec2d"); + else + memory->create3d_offset_last(array2d, nylo_out, nyhi_out, nxlo_out, + nxhi_out, nvalues, "property/grid:array2d"); + ngridout = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1); } else { grid3d = new Grid3d(lmp, world, nx, ny, nz, 0, 0.0, 0.0, @@ -126,6 +135,8 @@ ComputePropertyGrid::ComputePropertyGrid(LAMMPS *lmp, int narg, char **arg) : memory->create4d_offset_last(array3d, nzlo_out, nzhi_out, nylo_out, nyhi_out, nxlo_out, nxhi_out, nvalues, "property/grid:array3d"); + ngridout = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1) * + (nzhi_out - nzlo_out + 1); } } @@ -137,8 +148,8 @@ ComputePropertyGrid::~ComputePropertyGrid() delete grid2d; delete grid3d; - //memory->destroy2d_offset(vec2d); - //memory->destroy2d_offset(array2d); + memory->destroy2d_offset(vec2d,nylo_out,nxlo_out); + memory->destroy2d_offset(array2d,nylo_out,nxlo_out); memory->destroy3d_offset(vec3d,nzlo_out,nylo_out,nxlo_out); memory->destroy4d_offset_last(array3d,nzlo_out,nylo_out,nxlo_out); } @@ -153,12 +164,12 @@ void ComputePropertyGrid::compute_pergrid() // may change between compute invocations due to load balancing if (dimension == 2) - grid2d->query_bounds(nxlo_in,nxhi_in,nylo_in,nyhi_in); + grid2d->get_bounds(nxlo_in,nxhi_in,nylo_in,nyhi_in); else - grid3d->query_bounds(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in); + grid3d->get_bounds(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in); // reallocate data vector or array if changed - + // NOTE: still need to implement @@ -175,6 +186,7 @@ void ComputePropertyGrid::compute_pergrid() return index of grid associated with name this class can store M named grids, indexed 0 to M-1 also set dim for 2d vs 3d grid + return -1 if grid name not found ------------------------------------------------------------------------- */ int ComputePropertyGrid::get_grid_by_name(char *name, int &dim) @@ -190,6 +202,7 @@ int ComputePropertyGrid::get_grid_by_name(char *name, int &dim) /* ---------------------------------------------------------------------- return ptr to Grid data struct for grid with index this class can store M named grids, indexed 0 to M-1 + return nullptr if index is invalid ------------------------------------------------------------------------- */ void *ComputePropertyGrid::get_grid_by_index(int index) @@ -205,9 +218,10 @@ void *ComputePropertyGrid::get_grid_by_index(int index) return index of data associated with name in grid with index igrid this class can store M named grids, indexed 0 to M-1 each grid can store G named data sets, indexed 0 to G-1 - a data set name can be associated with multiple grids - also set ncol for data set, 0 = vector, 1-N for array with N columns - vector = single value per grid pt, array = N values per grid pt + a data set name can be associated with multiple grids + set ncol for data set, 0 = vector, 1-N for array with N columns + vector = single value per grid pt, array = N values per grid pt + return -1 if data name not found ------------------------------------------------------------------------- */ int ComputePropertyGrid::get_griddata_by_name(int igrid, char *name, int &ncol) @@ -224,6 +238,7 @@ int ComputePropertyGrid::get_griddata_by_name(int igrid, char *name, int &ncol) /* ---------------------------------------------------------------------- return ptr to multidim data array associated with index this class can store G named data sets, indexed 0 to M-1 + return nullptr if index is invalid ------------------------------------------------------------------------- */ void *ComputePropertyGrid::get_griddata_by_index(int index) @@ -246,9 +261,7 @@ void *ComputePropertyGrid::get_griddata_by_index(int index) double ComputePropertyGrid::memory_usage() { - double bytes = 0.0; - //double bytes = (double) nmax * nvalues * sizeof(double); - //bytes += (double) nmax * 2 * sizeof(int); + double bytes = (double) ngridout * nvalues * sizeof(double); return bytes; } @@ -365,7 +378,7 @@ void ComputePropertyGrid::pack_x(int n) double boxlo,dx; if (dimension == 2) { - grid2d->query_box(0,boxlo,dx); + grid2d->get_box(0,boxlo,dx); if (nvalues == 0) { for (int iy = nylo_in; iy <= nyhi_in; iy++) for (int ix = nxlo_in; ix <= nxhi_in; ix++) @@ -376,7 +389,7 @@ void ComputePropertyGrid::pack_x(int n) array2d[iy][ix][n] = boxlo + ix*dx; } } else if (dimension == 3) { - grid3d->query_box(0,boxlo,dx); + grid3d->get_box(0,boxlo,dx); if (nvalues == 0) { for (int iz = nzlo_in; iz <= nzhi_in; iz++) for (int iy = nylo_in; iy <= nyhi_in; iy++) @@ -398,7 +411,7 @@ void ComputePropertyGrid::pack_y(int n) double boxlo,dy; if (dimension == 2) { - grid2d->query_box(1,boxlo,dy); + grid2d->get_box(1,boxlo,dy); if (nvalues == 0) { for (int iy = nylo_in; iy <= nyhi_in; iy++) for (int ix = nxlo_in; ix <= nxhi_in; ix++) @@ -409,7 +422,7 @@ void ComputePropertyGrid::pack_y(int n) array2d[iy][ix][n] = boxlo + iy*dy; } } else if (dimension == 3) { - grid3d->query_box(1,boxlo,dy); + grid3d->get_box(1,boxlo,dy); if (nvalues == 0) { for (int iz = nzlo_in; iz <= nzhi_in; iz++) for (int iy = nylo_in; iy <= nyhi_in; iy++) @@ -429,7 +442,7 @@ void ComputePropertyGrid::pack_y(int n) void ComputePropertyGrid::pack_z(int n) { double boxlo,dz; - grid3d->query_box(2,boxlo,dz); + grid3d->get_box(2,boxlo,dz); if (nvalues == 0) { for (int iz = nzlo_in; iz <= nzhi_in; iz++) @@ -532,7 +545,7 @@ void ComputePropertyGrid::pack_xc(int n) double boxlo,dx; if (dimension == 2) { - grid2d->query_box(0,boxlo,dx); + grid2d->get_box(0,boxlo,dx); if (nvalues == 0) { for (int iy = nylo_in; iy <= nyhi_in; iy++) for (int ix = nxlo_in; ix <= nxhi_in; ix++) @@ -543,7 +556,7 @@ void ComputePropertyGrid::pack_xc(int n) array2d[iy][ix][n] = boxlo + (ix+0.5)*dx; } } else if (dimension == 3) { - grid3d->query_box(0,boxlo,dx); + grid3d->get_box(0,boxlo,dx); if (nvalues == 0) { for (int iz = nzlo_in; iz <= nzhi_in; iz++) for (int iy = nylo_in; iy <= nyhi_in; iy++) @@ -565,7 +578,7 @@ void ComputePropertyGrid::pack_yc(int n) double boxlo,dy; if (dimension == 2) { - grid2d->query_box(1,boxlo,dy); + grid2d->get_box(1,boxlo,dy); if (nvalues == 0) { for (int iy = nylo_in; iy <= nyhi_in; iy++) for (int ix = nxlo_in; ix <= nxhi_in; ix++) @@ -576,7 +589,7 @@ void ComputePropertyGrid::pack_yc(int n) array2d[iy][ix][n] = boxlo + (iy+0.5)*dy; } } else if (dimension == 3) { - grid3d->query_box(1,boxlo,dy); + grid3d->get_box(1,boxlo,dy); if (nvalues == 0) { for (int iz = nzlo_in; iz <= nzhi_in; iz++) for (int iy = nylo_in; iy <= nyhi_in; iy++) @@ -596,7 +609,7 @@ void ComputePropertyGrid::pack_yc(int n) void ComputePropertyGrid::pack_zc(int n) { double boxlo,dz; - grid3d->query_box(2,boxlo,dz); + grid3d->get_box(2,boxlo,dz); if (nvalues == 0) { for (int iz = nzlo_in; iz <= nzhi_in; iz++) diff --git a/src/compute_property_grid.h b/src/compute_property_grid.h index 97193966b1..84c39dfcd0 100644 --- a/src/compute_property_grid.h +++ b/src/compute_property_grid.h @@ -48,6 +48,7 @@ class ComputePropertyGrid : public Compute { int nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in; int nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out; + int ngridout; double **vec2d,***vec3d; double ***array2d,****array3d; diff --git a/src/dump_grid.cpp b/src/dump_grid.cpp index 9070a904c9..6df8b89ebe 100644 --- a/src/dump_grid.cpp +++ b/src/dump_grid.cpp @@ -283,9 +283,9 @@ void DumpGrid::init_style() ifix = fix[field2index[i]]; grid2d = (Grid2d *) ifix->get_grid_by_index(field2grid[i]); } - if (i == 0) grid2d->query_size(nx,ny); + if (i == 0) grid2d->get_size(nx,ny); else { - grid2d->query_size(nxtmp,nytmp); + grid2d->get_size(nxtmp,nytmp); if (nxtmp != nx || nytmp != ny) error->all(FLERR,"Dump grid field grid sizes do not match"); } @@ -298,9 +298,9 @@ void DumpGrid::init_style() ifix = fix[field2index[i]]; grid3d = (Grid3d *) ifix->get_grid_by_index(field2grid[i]); } - if (i == 0) grid3d->query_size(nx,ny,nz); + if (i == 0) grid3d->get_size(nx,ny,nz); else { - grid3d->query_size(nxtmp,nytmp,nztmp); + grid3d->get_size(nxtmp,nytmp,nztmp); if (nxtmp != nx || nytmp != ny || nztmp != nz) error->all(FLERR,"Dump grid field grid sizes do not match"); } @@ -535,7 +535,7 @@ int DumpGrid::count() else if (field2source[0] == FIX) grid2d = (Grid2d *) fix[field2index[0]]->get_grid_by_index(field2grid[0]); - grid2d->query_bounds(nxlo_in,nxhi_in,nylo_in,nyhi_in); + grid2d->get_bounds(nxlo_in,nxhi_in,nylo_in,nyhi_in); } else { if (field2source[0] == COMPUTE) grid3d = (Grid3d *) @@ -543,7 +543,7 @@ int DumpGrid::count() else if (field2source[0] == FIX) grid3d = (Grid3d *) fix[field2index[0]]->get_grid_by_index(field2grid[0]); - grid3d->query_bounds(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in); + grid3d->get_bounds(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in); } // invoke Computes for per-grid quantities @@ -614,6 +614,7 @@ int DumpGrid::count() void DumpGrid::pack(tagint *ids) { for (int n = 0; n < size_one; n++) (this->*pack_choice[n])(n); + // NOTE: this needs to be grid IDs ? /* if (ids) { @@ -731,29 +732,10 @@ int DumpGrid::parse_fields(int narg, char **arg) vtype[iarg] = Dump::DOUBLE; field2source[iarg] = COMPUTE; - // name = idcompute:gname:fname, split into 3 strings + // split name = idcompute:gname:dname into 3 strings - char *ptr1 = strchr((char *) name,':'); - if (!ptr1) - error->all(FLERR,"Dump grid fix {} does not contain 2 ':' chars"); - *ptr1 = '\0'; - char *ptr2 = strchr(ptr1+1,':'); - if (!ptr2) - error->all(FLERR,"Dump grid fix {} does not contain 2 ':' chars"); - *ptr2 = '\0'; - - int n = strlen(name) + 1; - char *idcompute = new char[n]; - strcpy(idcompute,name); - n = strlen(ptr1+1) + 1; - char *gname = new char[n]; - strcpy(gname,ptr1+1); - n = strlen(ptr2+1) + 1; - char *dname = new char[n]; - strcpy(dname,ptr2+1); - - *ptr1 = ':'; - *ptr2 = ':'; + char *idcompute,*gname,*dname; + utils::grid_parse(FLERR,name,idcompute,gname,dname,error); icompute = modify->get_compute_by_id(idcompute); if (!icompute) @@ -806,29 +788,10 @@ int DumpGrid::parse_fields(int narg, char **arg) vtype[iarg] = Dump::DOUBLE; field2source[iarg] = FIX; - // name = idfix:gname:fname, split into 3 strings + // split name = idfix:gname:dname into 3 strings - char *ptr1 = strchr((char *) name,':'); - if (!ptr1) - error->all(FLERR,"Dump grid fix {} does not contain 2 ':' chars"); - *ptr1 = '\0'; - char *ptr2 = strchr(ptr1+1,':'); - if (!ptr2) - error->all(FLERR,"Dump grid fix {} does not contain 2 ':' chars"); - *ptr2 = '\0'; - - int n = strlen(name) + 1; - char *idfix = new char[n]; - strcpy(idfix,name); - n = strlen(ptr1+1) + 1; - char *gname = new char[n]; - strcpy(gname,ptr1+1); - n = strlen(ptr2+1) + 1; - char *dname = new char[n]; - strcpy(dname,ptr2+1); - - *ptr1 = ':'; - *ptr2 = ':'; + char *idfix,*gname,*dname; + utils::grid_parse(FLERR,name,idfix,gname,dname,error); ifix = modify->get_fix_by_id(idfix); if (!ifix) error->all(FLERR,"Could not find dump grid fix ID: {}",idfix); diff --git a/src/grid2d.cpp b/src/grid2d.cpp index ba1c3bb71c..bea24421cf 100644 --- a/src/grid2d.cpp +++ b/src/grid2d.cpp @@ -122,6 +122,12 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, oyhi = MIN(gnx-1,oyhi); } + // error check on size of grid stored by this proc + + bigint total = (bigint) (oxhi - oxlo + 1) * (oyhi - oylo + 1); + if (total > MAXSMALLINT) + error->one(FLERR, "Too many owned+ghost grid2d points"); + // store grid bounds and proc neighs if (layout == REGULAR) { @@ -336,7 +342,7 @@ void Grid2d::store(int ixlo, int ixhi, int iylo, int iyhi, /* ---------------------------------------------------------------------- */ -void Grid2d::query_size(int &nxgrid, int &nygrid) +void Grid2d::get_size(int &nxgrid, int &nygrid) { nxgrid = nx; nygrid = ny; @@ -344,7 +350,7 @@ void Grid2d::query_size(int &nxgrid, int &nygrid) /* ---------------------------------------------------------------------- */ -void Grid2d::query_bounds(int &xlo, int &xhi, int &ylo, int &yhi) +void Grid2d::get_bounds(int &xlo, int &xhi, int &ylo, int &yhi) { xlo = inxlo; xhi = inxhi; @@ -354,7 +360,7 @@ void Grid2d::query_bounds(int &xlo, int &xhi, int &ylo, int &yhi) /* ---------------------------------------------------------------------- */ -void Grid2d::query_box(int dim, double &lo, double &delta) +void Grid2d::get_box(int dim, double &lo, double &delta) { lo = boxlo[dim]; delta = prd[dim] / ngrid[dim]; diff --git a/src/grid2d.h b/src/grid2d.h index 0fc5ff343c..df7ac4e4fa 100644 --- a/src/grid2d.h +++ b/src/grid2d.h @@ -29,9 +29,9 @@ class Grid2d : protected Pointers { Grid2d(class LAMMPS *, MPI_Comm, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int); ~Grid2d() override; - void query_size(int &, int &); - void query_bounds(int &, int &, int &, int &); - void query_box(int, double &, double &); + void get_size(int &, int &); + void get_bounds(int &, int &, int &, int &); + void get_box(int, double &, double &); void setup(int &, int &); int ghost_adjacent(); void forward_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); diff --git a/src/grid3d.cpp b/src/grid3d.cpp index 1b8ab1b8e2..ae42a6dcb0 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -132,6 +132,13 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, ozlo = MAX(1,ozlo); ozhi = MIN(gnx-1,ozhi); } + + // error check on size of grid stored by this proc + + bigint total = (bigint) + (oxhi - oxlo + 1) * (oyhi - oylo + 1) * (ozhi - ozlo + 1); + if (total > MAXSMALLINT) + error->one(FLERR, "Too many owned+ghost grid3d points"); // store grid bounds and proc neighs @@ -364,7 +371,7 @@ void Grid3d::store(int ixlo, int ixhi, int iylo, int iyhi, /* ---------------------------------------------------------------------- */ -void Grid3d::query_size(int &nxgrid, int &nygrid, int &nzgrid) +void Grid3d::get_size(int &nxgrid, int &nygrid, int &nzgrid) { nxgrid = nx; nygrid = ny; @@ -373,8 +380,8 @@ void Grid3d::query_size(int &nxgrid, int &nygrid, int &nzgrid) /* ---------------------------------------------------------------------- */ -void Grid3d::query_bounds(int &xlo, int &xhi, int &ylo, int &yhi, - int &zlo, int &zhi) +void Grid3d::get_bounds(int &xlo, int &xhi, int &ylo, int &yhi, + int &zlo, int &zhi) { xlo = inxlo; xhi = inxhi; @@ -386,7 +393,7 @@ void Grid3d::query_bounds(int &xlo, int &xhi, int &ylo, int &yhi, /* ---------------------------------------------------------------------- */ -void Grid3d::query_box(int dim, double &lo, double &delta) +void Grid3d::get_box(int dim, double &lo, double &delta) { lo = boxlo[dim]; delta = prd[dim] / ngrid[dim]; diff --git a/src/grid3d.h b/src/grid3d.h index a36600d070..38e5887f8b 100644 --- a/src/grid3d.h +++ b/src/grid3d.h @@ -31,9 +31,9 @@ class Grid3d : protected Pointers { int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int); ~Grid3d() override; - void query_size(int &, int &, int &); - void query_bounds(int &, int &, int &, int &, int &, int &); - void query_box(int, double &, double &); + void get_size(int &, int &, int &); + void get_bounds(int &, int &, int &, int &, int &, int &); + void get_box(int, double &, double &); void setup(int &, int &); int ghost_adjacent(); void forward_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); diff --git a/src/memory.h b/src/memory.h index 5493b5fa57..6c8df9cd2a 100644 --- a/src/memory.h +++ b/src/memory.h @@ -36,6 +36,10 @@ class Memory : protected Pointers { for these other cases, use smalloc/srealloc/sfree directly ------------------------------------------------------------------------- */ +// ------------------------------------------------------------------------- +// ------------------------------------------------------------------------- +// ------------------------------------------------------------------------- + /* ---------------------------------------------------------------------- create a 1d array ------------------------------------------------------------------------- */ @@ -91,6 +95,10 @@ class Memory : protected Pointers { array = nullptr; } +// ------------------------------------------------------------------------- +// ------------------------------------------------------------------------- +// ------------------------------------------------------------------------- + /* ---------------------------------------------------------------------- create a 1d array with index from nlo to nhi inclusive cannot grow it @@ -124,6 +132,10 @@ class Memory : protected Pointers { array = nullptr; } +// ------------------------------------------------------------------------- +// ------------------------------------------------------------------------- +// ------------------------------------------------------------------------- + /* ---------------------------------------------------------------------- create a 2d array ------------------------------------------------------------------------- */ @@ -200,6 +212,10 @@ class Memory : protected Pointers { array = nullptr; } +// ------------------------------------------------------------------------- +// ------------------------------------------------------------------------- +// ------------------------------------------------------------------------- + /* ---------------------------------------------------------------------- create a 2d array with a ragged 2nd dimension ------------------------------------------------------------------------- */ @@ -259,6 +275,10 @@ class Memory : protected Pointers { return array; } +// ------------------------------------------------------------------------- +// ------------------------------------------------------------------------- +// ------------------------------------------------------------------------- + /* ---------------------------------------------------------------------- create a 2d array with 2nd index from n2lo to n2hi inclusive cannot grow it @@ -296,6 +316,57 @@ class Memory : protected Pointers { array = nullptr; } +// ------------------------------------------------------------------------- +// ------------------------------------------------------------------------- +// ------------------------------------------------------------------------- + +/* ---------------------------------------------------------------------- + create a 2d array with both indices offset + 1st index from n1lo to n1hi inclusive + 2nd index from n2lo to n2hi inclusive + cannot grow it +------------------------------------------------------------------------- */ + + template + TYPE **create2d_offset(TYPE **&array, int n1lo, int n1hi, int n2lo, int n2hi, + const char *name) + { + if (n1lo > n1hi || n2lo > n2hi) return nullptr; + + int n1 = n1hi - n1lo + 1; + int n2 = n2hi - n2lo + 1; + create(array, n1, n2, name); + + for (int i = 0; i < n1; i++) array[i] -= n2lo; + array -= n1lo; + return array; + } + + template + TYPE ***create2d_offset(TYPE ***& /*array*/, int /*n1lo*/, int /*n1hi*/, int /*n2lo*/, + int /*n2hi*/, const char *name) + { + fail(name); + return nullptr; + } + + /* ---------------------------------------------------------------------- + free a 2d array with both indices offset +------------------------------------------------------------------------- */ + + template + void destroy2d_offset(TYPE **&array, int n1_offset, int n2_offset) + { + if (array == nullptr) return; + sfree(&array[n1_offset][n2_offset]); + sfree(&array[n1_offset]); + array = nullptr; + } + +// ------------------------------------------------------------------------- +// ------------------------------------------------------------------------- +// ------------------------------------------------------------------------- + /* ---------------------------------------------------------------------- create a 3d array ------------------------------------------------------------------------- */ @@ -389,6 +460,10 @@ class Memory : protected Pointers { array = nullptr; } +// ------------------------------------------------------------------------- +// ------------------------------------------------------------------------- +// ------------------------------------------------------------------------- + /* ---------------------------------------------------------------------- create a 3d array with 1st index from n1lo to n1hi inclusive cannot grow it @@ -426,6 +501,10 @@ class Memory : protected Pointers { array = nullptr; } +// ------------------------------------------------------------------------- +// ------------------------------------------------------------------------- +// ------------------------------------------------------------------------- + /* ---------------------------------------------------------------------- create a 3d array with all 3 indices offset 1st index from n1lo to n1hi inclusive @@ -474,6 +553,57 @@ class Memory : protected Pointers { array = nullptr; } +// ------------------------------------------------------------------------- +// ------------------------------------------------------------------------- +// ------------------------------------------------------------------------- + +/* ---------------------------------------------------------------------- + create a 3d array with indices 1,2 offset, but not last + 1st index from n1lo to n1hi inclusive + 2nd index from n2lo to n2hi inclusive + cannot grow it +------------------------------------------------------------------------- */ + + template + TYPE ***create3d_offset_last(TYPE ***&array, int n1lo, int n1hi, + int n2lo, int n2hi, int n3, + const char *name) + { + if (n1lo > n1hi || n2lo > n2hi || n3 < 0) return nullptr; + + int n1 = n1hi - n1lo + 1; + int n2 = n2hi - n2lo + 1; + create(array,n1,n2,n3,name); + + for (int i = 0; i < n1; i++) array[i] -= n2lo; + array -= n1lo; + return array; + } + + template + TYPE ***create3d_offset_last(TYPE ****& /*array*/, int /*n1lo*/, int /*n1hi*/, + int /*n2lo*/, int /*n2hi*/, int /*n3*/, + const char *name) + {fail(name); return nullptr;} + +/* ---------------------------------------------------------------------- + free a 3d array with indices 1,2 offset, but not last +------------------------------------------------------------------------- */ + + template + void destroy3d_offset_last(TYPE ***&array, int n1_offset, int n2_offset) + { + if (array == nullptr) return; + sfree(&array[n1_offset][n2_offset][0]); + sfree(&array[n1_offset][n2_offset]); + sfree(&array[n1_offset]); + array = nullptr; + } + +// ------------------------------------------------------------------------- +// ------------------------------------------------------------------------- +// ------------------------------------------------------------------------- + /* ---------------------------------------------------------------------- create a 4d array ------------------------------------------------------------------------- */ @@ -588,8 +718,12 @@ class Memory : protected Pointers { array = nullptr; } +// ------------------------------------------------------------------------- +// ------------------------------------------------------------------------- +// ------------------------------------------------------------------------- + /* ---------------------------------------------------------------------- - create a 4d array with indices 2,3,4 offset + create a 4d array with indices 2,3,4 offset, but not first 2nd index from n2lo to n2hi inclusive 3rd index from n3lo to n3hi inclusive 4th index from n4lo to n4hi inclusive @@ -624,7 +758,7 @@ class Memory : protected Pointers { } /* ---------------------------------------------------------------------- - free a 4d array with indices 2,3,4 offset + free a 4d array with indices 2,3,4 offset, but not first ------------------------------------------------------------------------- */ template @@ -638,11 +772,15 @@ class Memory : protected Pointers { array = nullptr; } +// ------------------------------------------------------------------------- +// ------------------------------------------------------------------------- +// ------------------------------------------------------------------------- + /* ---------------------------------------------------------------------- - create a 4d array with indices 1,2,3 offset - 1st index from n1lo to n2hi inclusive - 2nd index from n3lo to n3hi inclusive - 3rd index from n4lo to n4hi inclusive + create a 4d array with indices 1,2,3 offset, but not last + 1st index from n1lo to n1hi inclusive + 2nd index from n2lo to n2hi inclusive + 3rd index from n3lo to n3hi inclusive cannot grow it ------------------------------------------------------------------------- */ @@ -673,7 +811,7 @@ class Memory : protected Pointers { {fail(name); return nullptr;} /* ---------------------------------------------------------------------- - free a 4d array with indices 1,2,3 offset + free a 4d array with indices 1,2,3 offset, but not last ------------------------------------------------------------------------- */ template @@ -688,6 +826,10 @@ class Memory : protected Pointers { array = nullptr; } +// ------------------------------------------------------------------------- +// ------------------------------------------------------------------------- +// ------------------------------------------------------------------------- + /* ---------------------------------------------------------------------- create a 5d array ------------------------------------------------------------------------- */ @@ -757,6 +899,10 @@ class Memory : protected Pointers { array = nullptr; } +// ------------------------------------------------------------------------- +// ------------------------------------------------------------------------- +// ------------------------------------------------------------------------- + /* ---------------------------------------------------------------------- memory usage of arrays, including pointers ------------------------------------------------------------------------- */ diff --git a/src/utils.cpp b/src/utils.cpp index eb9e48985a..4d9f6c621b 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -766,6 +766,30 @@ int utils::expand_args(const char *file, int line, int narg, char **arg, int mod return newarg; } +/* ---------------------------------------------------------------------- + Parse grid reference into id:gridname:dataname + return ptrs to 3 substrings +------------------------------------------------------------------------- */ + +void utils::grid_parse(const char *file, int line, const std::string &name, + char *id, char *gridname, char *dataname, Error *error) +{ + char *copy = strdup(name); + + char *ptr1 = strchr(copy,':'); + if (!ptr1) + error->all(FLERR,"Grid reference {} does not contain 2 ':' chars",name); + *ptr1 = '\0'; + char *ptr2 = strchr(ptr1+1,':'); + if (!ptr2) + error->all(FLERR,"Grid reference {} does not contain 2 ':' chars",name); + *ptr2 = '\0'; + + id = strdup(copy); + gridname = strdup(ptr1+1); + dataname = strdup(ptr2+1); +} + /* ---------------------------------------------------------------------- Make copy of string in new storage. Works like the (non-portable) C-style strdup() but also accepts a C++ string as argument. @@ -1087,6 +1111,7 @@ std::vector utils::split_words(const std::string &text) /* ---------------------------------------------------------------------- Convert multi-line string into lines ------------------------------------------------------------------------- */ + std::vector utils::split_lines(const std::string &text) { return Tokenizer(text, "\r\n").as_vector(); @@ -1204,6 +1229,7 @@ std::string utils::get_potential_units(const std::string &path, const std::strin /* ---------------------------------------------------------------------- return bitmask of supported conversions for a given property ------------------------------------------------------------------------- */ + int utils::get_supported_conversions(const int property) { if (property == ENERGY) diff --git a/src/utils.h b/src/utils.h index a88244b694..55db4b2ab2 100644 --- a/src/utils.h +++ b/src/utils.h @@ -368,6 +368,19 @@ namespace utils { * \param text string that should be copied * \return new buffer with copy of string */ + void grid_parse(const char *file, int line, const std::string &name, + char *id, char *gridname, char *dataname, Error *error); + + /*! Parse grid reference name into 3 sub-strings + * + * Format of grid reference name = id:gridname:dataname + * Return ptrs to the 3 sub-strings + * + * \param name = grid reference + * \param id = ptr to 1st substring + * \param gridname = ptr to 2nd substring + * \param dataname = ptr to 3rd substring */ + char *strdup(const std::string &text); /*! Convert string to lowercase From 41fb8acf9eff6f0c9ad6aa918b947b4bec3c3888 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 29 Jul 2022 10:59:26 -0600 Subject: [PATCH 015/142] tweak doc for new utils function --- src/utils.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/utils.h b/src/utils.h index 55db4b2ab2..9cc49e8545 100644 --- a/src/utils.h +++ b/src/utils.h @@ -371,9 +371,9 @@ namespace utils { void grid_parse(const char *file, int line, const std::string &name, char *id, char *gridname, char *dataname, Error *error); - /*! Parse grid reference name into 3 sub-strings + /*! Parse grid reference into 3 sub-strings * - * Format of grid reference name = id:gridname:dataname + * Format of grid reference = id:gridname:dataname * Return ptrs to the 3 sub-strings * * \param name = grid reference From b1b778b45b91a6a0f1899ec806e9d12477f7eeb9 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 1 Aug 2022 10:02:12 -0600 Subject: [PATCH 016/142] first version of fix ave/grid --- src/dump_grid.cpp | 12 +- src/fix.h | 3 +- src/fix_ave_grid.cpp | 765 +++++++++++++++++++++++++++++++++++++++++++ src/fix_ave_grid.h | 70 ++++ 4 files changed, 844 insertions(+), 6 deletions(-) create mode 100644 src/fix_ave_grid.cpp create mode 100644 src/fix_ave_grid.h diff --git a/src/dump_grid.cpp b/src/dump_grid.cpp index 6df8b89ebe..fc3bc7e7b9 100644 --- a/src/dump_grid.cpp +++ b/src/dump_grid.cpp @@ -291,7 +291,7 @@ void DumpGrid::init_style() } } else { - if (field2source[0] == COMPUTE) { + if (field2source[i] == COMPUTE) { icompute = compute[field2index[i]]; grid3d = (Grid3d *) icompute->get_grid_by_index(field2grid[i]); } else { @@ -760,10 +760,10 @@ int DumpGrid::parse_fields(int narg, char **arg) if (argi.get_dim() == 0 && ncol) error->all(FLERR,"Dump grid compute {} data {} is not per-grid vector", idcompute,dname); - if (argi.get_dim() > 0 && ncol == 0) + if (argi.get_dim() && ncol == 0) error->all(FLERR,"Dump grid compute {} data {} is not per-grid array", idcompute,dname); - if (argi.get_dim() > 0 && argi.get_index1() > ncol) + if (argi.get_dim() && argi.get_index1() > ncol) error->all(FLERR, "Dump grid compute {} array {} is accessed out-of-range", idcompute,dname); @@ -798,7 +798,9 @@ int DumpGrid::parse_fields(int narg, char **arg) if (ifix->pergrid_flag == 0) error->all(FLERR,"Dump grid fix {} does not compute per-grid info", idfix); - + if (update->ntimestep % ifix->pergrid_freq) + error->all(FLERR,"Fix for dump grid not computed at compatible time"); + int dim; int igrid = ifix->get_grid_by_name(gname,dim); if (igrid < 0) @@ -961,7 +963,7 @@ int DumpGrid::modify_param(int narg, char **arg) double DumpGrid::memory_usage() { double bytes = Dump::memory_usage(); - //NOTE: restre if use choose + //NOTE: restore if use choose //bytes += memory->usage(choose,maxlocal); //bytes += memory->usage(dchoose,maxlocal); //bytes += memory->usage(clist,maxlocal); diff --git a/src/fix.h b/src/fix.h index 589525c2ce..aaf3c4799f 100644 --- a/src/fix.h +++ b/src/fix.h @@ -100,7 +100,8 @@ class Fix : protected Pointers { int local_freq; // frequency local data is available at int pergrid_flag; // 0/1 if per-grid data is stored - + int pergrid_freq; // frequency per-grid data is available at + int extscalar; // 0/1 if global scalar is intensive/extensive int extvector; // 0/1/-1 if global vector is all int/ext/extlist int *extlist; // list of 0/1 int/ext for each vec component diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp new file mode 100644 index 0000000000..608972ec43 --- /dev/null +++ b/src/fix_ave_grid.cpp @@ -0,0 +1,765 @@ +// clang-format off +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "fix_ave_grid.h" + +#include "arg_info.h" +#include "atom.h" +#include "compute.h" +#include "domain.h" +#include "error.h" +#include "grid2d.h" +#include "grid3d.h" +#include "input.h" +#include "memory.h" +#include "modify.h" +#include "update.h" +#include "variable.h" + +#include + +using namespace LAMMPS_NS; +using namespace FixConst; +enum{SAMPLE,ALL}; +enum{NOSCALE,ATOM}; +enum{ONE,RUNNING,WINDOW}; + +/* ---------------------------------------------------------------------- */ + +FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : + Fix(lmp, narg, arg), + which(nullptr), argindex(nullptr), ids(nullptr), + value2index(nullptr), value2grid(nullptr), value2data(nullptr), + grid2d(nullptr), grid3d(nullptr), + vec2d(nullptr), array2d(nullptr), vec3d(nullptr), array3d(nullptr) +{ + if (narg < 10) error->all(FLERR,"Illegal fix ave/grid command"); + + pergrid_flag = 1; + nevery = utils::inumeric(FLERR,arg[3],false,lmp); + nrepeat = utils::inumeric(FLERR,arg[4],false,lmp); + pergrid_freq = utils::inumeric(FLERR,arg[5],false,lmp); + time_depend = 1; + + // NOTE: test for Dxyz as well + + nx = utils::inumeric(FLERR,arg[6],false,lmp); + ny = utils::inumeric(FLERR,arg[7],false,lmp); + nz = utils::inumeric(FLERR,arg[8],false,lmp); + + // expand args if any have wildcard character "*" + // this can reset nvalues + + int expand = 0; + char **earg; + int nargnew = utils::expand_args(FLERR,nvalues,&arg[9],1,earg,lmp); + + if (earg != &arg[9]) expand = 1; + arg = earg; + + // parse values + + which = new int[nvalues]; + argindex = new int[nvalues]; + ids = new char*[nvalues]; + value2index = new int[nvalues]; + value2grid = new int[nvalues]; + value2data = new int[nvalues]; + + modeatom = modegrid = 0; + + int iarg = 0; + while (iarg < nargnew) { + ids[nvalues] = nullptr; + + if (strcmp(arg[iarg],"vx") == 0) { + which[nvalues] = ArgInfo::V; + argindex[nvalues++] = 0; + modeatom = 1; + } else if (strcmp(arg[iarg],"vy") == 0) { + which[nvalues] = ArgInfo::V; + argindex[nvalues++] = 1; + modeatom = 1; + } else if (strcmp(arg[iarg],"vz") == 0) { + which[nvalues] = ArgInfo::V; + argindex[nvalues++] = 2; + modeatom = 1; + + } else if (strcmp(arg[iarg],"fx") == 0) { + which[nvalues] = ArgInfo::F; + argindex[nvalues++] = 0; + modeatom = 1; + } else if (strcmp(arg[iarg],"fy") == 0) { + which[nvalues] = ArgInfo::F; + argindex[nvalues++] = 1; + modeatom = 1; + } else if (strcmp(arg[iarg],"fz") == 0) { + which[nvalues] = ArgInfo::F; + argindex[nvalues++] = 2; + modeatom = 1; + + } else if (strcmp(arg[iarg],"density/number") == 0) { + which[nvalues] = ArgInfo::DENSITY_NUMBER; + argindex[nvalues++] = 0; + modeatom = 1; + } else if (strcmp(arg[iarg],"density/mass") == 0) { + which[nvalues] = ArgInfo::DENSITY_MASS; + argindex[nvalues++] = 0; + modeatom = 1; + } else if (strcmp(arg[iarg],"mass") == 0) { + which[nvalues] = ArgInfo::MASS; + argindex[nvalues++] = 0; + modeatom = 1; + } else if (strcmp(arg[iarg],"temp") == 0) { + which[nvalues] = ArgInfo::TEMPERATURE; + argindex[nvalues++] = 0; + modeatom = 1; + + } else { + ArgInfo argi(arg[iarg]); + + if (argi.get_type() == ArgInfo::NONE) break; + if ((argi.get_type() == ArgInfo::UNKNOWN) || (argi.get_dim() > 1)) + error->all(FLERR,"Invalid fix ave/grid command"); + + which[nvalues] = argi.get_type(); + argindex[nvalues] = argi.get_index1(); + ids[nvalues] = argi.copy_name(); + + if (strchr(ids[nvalues],':')) modegrid = 1; + else modeatom = 1; + + if (modegrid && which[nvalues] == ArgInfo::VARIABLE) + error->all(FLERR,"Fix ave/grid cannot use variable for grid info"); + + nvalues++; + } + + iarg++; + } + + if (nvalues == 0) error->all(FLERR,"No values in fix ave/grid command"); + if (modeatom && modegrid) + error->all(FLERR,"Fix ave/grid cannot operate on per-atom and " + "per-grid values"); + + // optional args + + normflag = ALL; + scaleflag = ATOM; + ave = ONE; + nwindow = 0; + + while (iarg < nargnew) { + if (strcmp(arg[iarg],"norm") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/grid command"); + if (strcmp(arg[iarg+1],"all") == 0) { + normflag = ALL; + scaleflag = ATOM; + } else if (strcmp(arg[iarg+1],"sample") == 0) { + normflag = SAMPLE; + scaleflag = ATOM; + } else if (strcmp(arg[iarg+1],"none") == 0) { + normflag = SAMPLE; + scaleflag = NOSCALE; + } else error->all(FLERR,"Illegal fix ave/grid command"); + iarg += 2; + } else if (strcmp(arg[iarg],"ave") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/grid command"); + 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/grid command"); + if (ave == WINDOW) { + if (iarg+3 > narg) error->all(FLERR,"Illegal fix ave/grid command"); + nwindow = utils::inumeric(FLERR,arg[iarg+2],false,lmp); + if (nwindow <= 0) error->all(FLERR,"Illegal fix ave/grid command"); + } + iarg += 2; + if (ave == WINDOW) iarg++; + } + } + + // if wildcard expansion occurred, free earg memory from exapnd_args() + + if (expand) { + for (int i = 0; i < nvalues; i++) delete [] earg[i]; + memory->sfree(earg); + } + + // setup and error check + // for fix inputs, check that fix frequency is acceptable + + dimension = domain->dimension; + + if (nevery <= 0 || nrepeat <= 0 || pergrid_freq <= 0) + error->all(FLERR,"Illegal fix ave/grid command"); + if (pergrid_freq % nevery || nrepeat*nevery > pergrid_freq) + error->all(FLERR,"Illegal fix ave/grid command"); + + if (nx < 1 || ny < 1 || nz < 1) + error->all(FLERR,"Invalid fix ave/grid grid size"); + if (dimension == 2 && nz != 1) + error->all(FLERR,"Fix ave/grid grid Nz must be 1 for 2d simulation"); + + // error checks for ATOM mode + + if (modeatom) { + for (int i = 0; i < nvalues; i++) { + if (which[i] == ArgInfo::COMPUTE) { + int icompute = modify->find_compute(ids[i]); + if (icompute < 0) + error->all(FLERR,"Compute ID for fix ave/grid does not exist"); + if (modify->compute[icompute]->peratom_flag == 0) + error->all(FLERR, + "Fix ave/atom compute does not calculate per-atom values"); + if (argindex[i] == 0 && + modify->compute[icompute]->size_peratom_cols != 0) + error->all(FLERR,"Fix ave/atom compute does not " + "calculate a per-atom vector"); + if (argindex[i] && modify->compute[icompute]->size_peratom_cols == 0) + error->all(FLERR,"Fix ave/atom compute does not " + "calculate a per-atom array"); + if (argindex[i] && + argindex[i] > modify->compute[icompute]->size_peratom_cols) + error->all(FLERR,"Fix ave/atom compute array is accessed out-of-range"); + + } else if (which[i] == ArgInfo::FIX) { + int ifix = modify->find_fix(ids[i]); + if (ifix < 0) + error->all(FLERR,"Fix ID for fix ave/atom does not exist"); + if (modify->fix[ifix]->peratom_flag == 0) + error->all(FLERR,"Fix ave/atom fix does not calculate per-atom values"); + if (argindex[i] == 0 && modify->fix[ifix]->size_peratom_cols != 0) + error->all(FLERR, + "Fix ave/atom fix does not calculate a per-atom vector"); + if (argindex[i] && modify->fix[ifix]->size_peratom_cols == 0) + error->all(FLERR, + "Fix ave/atom fix does not calculate a per-atom array"); + if (argindex[i] && argindex[i] > modify->fix[ifix]->size_peratom_cols) + error->all(FLERR,"Fix ave/atom fix array is accessed out-of-range"); + if (nevery % modify->fix[ifix]->peratom_freq) + error->all(FLERR, + "Fix for fix ave/atom not computed at compatible time"); + + } else if (which[i] == ArgInfo::VARIABLE) { + int ivariable = input->variable->find(ids[i]); + if (ivariable < 0) + error->all(FLERR,"Variable name for fix ave/atom does not exist"); + if (input->variable->atomstyle(ivariable) == 0) + error->all(FLERR,"Fix ave/atom variable is not atom-style variable"); + } + } + } + + // setup and error checks for GRID mode + + if (modegrid) { + for (int i = 0; i < nvalues; i++) { + if (which[i] == ArgInfo::COMPUTE) { + + char *idcompute,*gname,*dname; + utils::grid_parse(FLERR,ids[i],idcompute,gname,dname,error); + + Compute *icompute = modify->get_compute_by_id(idcompute); + if (!icompute) + error->all(FLERR,"Could not find fix ave/grid compute ID: {}", + idcompute); + if (icompute->pergrid_flag == 0) + error->all(FLERR, + "Fix ave/grid compute {} does not compute per-grid info", + idcompute); + + int dim; + int igrid = icompute->get_grid_by_name(gname,dim); + if (igrid < 0) + error->all(FLERR, + "Fix ave/grid compute {} does not recognize grid name {}", + idcompute,gname); + + int ncol; + int idata = icompute->get_griddata_by_name(igrid,dname,ncol); + if (idata < 0) + error->all(FLERR, + "Fix ave/grid compute {} does not recognize data name {}", + idcompute,dname); + + if (argindex[i] == 0 && ncol) + error->all(FLERR, + "Fix ave/grid compute {} data {} is not per-grid vector", + idcompute,dname); + if (argindex[i] && ncol == 0) + error->all(FLERR, + "Fix ave/grid compute {} data {} is not per-grid array", + idcompute,dname); + if (argindex[i] && argindex[i] > ncol) + error->all(FLERR, + "Fix ave/grid compute {} array {} is accessed out-of-range", + idcompute,dname); + + value2grid[iarg] = igrid; + value2data[iarg] = idata; + + delete [] idcompute; + delete [] gname; + delete [] dname; + + } else if (which[i] == ArgInfo::FIX) { + + char *idfix,*gname,*dname; + utils::grid_parse(FLERR,ids[i],idfix,gname,dname,error); + + Fix *ifix = modify->get_fix_by_id(idfix); + if (!ifix) error->all(FLERR,"Could not find fix ave/grid fix ID: {}", + idfix); + if (ifix->pergrid_flag == 0) + error->all(FLERR,"Fix ave/grid fix {} does not compute per-grid info", + idfix); + if (nevery % ifix->pergrid_freq) + error->all(FLERR, + "Fix for fix grid/atom not computed at compatible time"); + + int dim; + int igrid = ifix->get_grid_by_name(gname,dim); + if (igrid < 0) + error->all(FLERR, + "Fix ave/grid compute {} does not recognize grid name {}", + idfix,gname); + + int ncol; + int idata = ifix->get_griddata_by_name(igrid,dname,ncol); + if (idata < 0) + error->all(FLERR, + "Fix ave/grid compute {} does not recognize data name {}", + idfix,dname); + + if (argindex[i] == 0 && ncol) + error->all(FLERR, + "Fix ave/grid compute {} data {} is not per-grid vector", + idfix,dname); + if (argindex[i] && ncol == 0) + error->all(FLERR, + "Fix ave/grid compute {} data {} is not per-grid array", + idfix,dname); + if (argindex[i] && argindex[i] > ncol) + error->all(FLERR, + "Fix ave/grid compute {} array {} is accessed out-of-range", + idfix,dname); + + value2grid[iarg] = igrid; + value2data[iarg] = idata; + + delete [] idfix; + delete [] gname; + delete [] dname; + } + } + } + + // instantiate the Grid class and allocate per-grid memory + // NOTE: need to extend ghost grid for ATOM mode ? + + if (dimension == 2) { + grid2d = new Grid2d(lmp, world, nx, ny, 0, 0.0, 0.0, + nxlo_in, nxhi_in, nylo_in, nyhi_in, + nxlo_out, nxhi_out, nylo_out, nyhi_out); + if (nvalues == 1) + memory->create2d_offset(vec2d, nylo_out, nyhi_out, nxlo_out, nxhi_out, + "fix_ave/grid:vec2d"); + else + memory->create3d_offset_last(array2d, nylo_out, nyhi_out, nxlo_out, + nxhi_out, nvalues, "fix_ave/grid:array2d"); + ngridout = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1); + + } else { + grid3d = new Grid3d(lmp, world, nx, ny, nz, 0, 0.0, 0.0, + nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, nzhi_in, + nxlo_out, nxhi_out, nylo_out, nyhi_out, + nzlo_out, nzhi_out); + if (nvalues == 1) + memory->create3d_offset(vec3d, nzlo_out, nzhi_out, nylo_out, + nyhi_out, nxlo_out, + nxhi_out, "fix_ave/grid:vec3d"); + else + memory->create4d_offset_last(array3d, nzlo_out, nzhi_out, nylo_out, + nyhi_out, nxlo_out, + nxhi_out, nvalues, "fix_ave/grid:array3d"); + ngridout = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1) * + (nzhi_out - nzlo_out + 1); + } + + // zero the array since dump may access it on timestep 0 + // zero the array since a variable may access it before first run + + /* + int nlocal = atom->nlocal; + for (int i = 0; i < nlocal; i++) + for (int m = 0; m < nvalues; m++) + array[i][m] = 0.0; + */ + + // nvalid = next step on which end_of_step does something + // add nvalid to all computes that store invocation times + // since don't know a priori which are invoked by this fix + // once in end_of_step() can set timestep for ones actually invoked + + irepeat = 0; + nvalid_last = -1; + nvalid = nextvalid(); + modify->addstep_compute_all(nvalid); +} + +/* ---------------------------------------------------------------------- */ + +FixAveGrid::~FixAveGrid() +{ + delete [] which; + delete [] argindex; + for (int m = 0; m < nvalues; m++) delete [] ids[m]; + delete [] ids; + delete [] value2index; + delete [] value2grid; + delete [] value2data; + + delete grid2d; + delete grid3d; + memory->destroy2d_offset(vec2d,nylo_out,nxlo_out); + memory->destroy2d_offset(array2d,nylo_out,nxlo_out); + memory->destroy3d_offset(vec3d,nzlo_out,nylo_out,nxlo_out); + memory->destroy4d_offset_last(array3d,nzlo_out,nylo_out,nxlo_out); +} + +/* ---------------------------------------------------------------------- */ + +int FixAveGrid::setmask() +{ + int mask = 0; + mask |= END_OF_STEP; + return mask; +} + +/* ---------------------------------------------------------------------- */ + +void FixAveGrid::init() +{ + // set indices and check validity of all computes,fixes,variables + + for (int m = 0; m < nvalues; m++) { + if (which[m] == ArgInfo::COMPUTE) { + int icompute = modify->find_compute(ids[m]); + if (icompute < 0) + error->all(FLERR,"Compute ID for fix ave/atom does not exist"); + value2index[m] = icompute; + + } else if (which[m] == ArgInfo::FIX) { + int ifix = modify->find_fix(ids[m]); + if (ifix < 0) + error->all(FLERR,"Fix ID for fix ave/atom does not exist"); + value2index[m] = ifix; + + } else if (which[m] == ArgInfo::VARIABLE) { + int ivariable = input->variable->find(ids[m]); + if (ivariable < 0) + error->all(FLERR,"Variable name for fix ave/atom does not exist"); + value2index[m] = ivariable; + + } else value2index[m] = -1; + } + + // check that grid sizes for all fields match grid size for this fix + + if (modegrid) { + Compute *icompute; + Fix *ifix; + Grid2d *grid2d; + Grid3d *grid3d; + + int nxtmp,nytmp,nztmp; + + for (int m = 0; m < nvalues; m++) { + if (dimension == 2) { + if (which[m] == ArgInfo::COMPUTE) { + icompute = modify->compute[value2index[m]]; + grid2d = (Grid2d *) icompute->get_grid_by_index(value2grid[m]); + } else { + ifix = modify->fix[value2index[m]]; + grid2d = (Grid2d *) ifix->get_grid_by_index(value2grid[m]); + } + grid2d->get_size(nxtmp,nytmp); + if (nxtmp != nx || nytmp != ny) + error->all(FLERR,"Fix ave/grid value grid sizes do not match"); + + } else { + if (which[m] == ArgInfo::COMPUTE) { + icompute = modify->compute[value2index[m]]; + grid3d = (Grid3d *) icompute->get_grid_by_index(value2grid[m]); + } else { + ifix = modify->fix[value2index[m]]; + grid3d = (Grid3d *) ifix->get_grid_by_index(value2grid[m]); + } + grid3d->get_size(nxtmp,nytmp,nztmp); + if (nxtmp != nx || nytmp != ny || nztmp != nz) + error->all(FLERR,"Fix ave/grid value grid sizes do not match"); + } + } + } + + // need to reset nvalid if nvalid < ntimestep b/c minimize was performed + + if (nvalid < update->ntimestep) { + irepeat = 0; + nvalid = nextvalid(); + modify->addstep_compute_all(nvalid); + } +} + +/* ---------------------------------------------------------------------- + only does something if nvalid = current timestep +------------------------------------------------------------------------- */ + +void FixAveGrid::setup(int /*vflag*/) +{ + end_of_step(); +} + +/* ---------------------------------------------------------------------- */ + +void FixAveGrid::end_of_step() +{ + int i,j,m,n; + + // skip if not step which requires doing something + + bigint ntimestep = update->ntimestep; + if (ntimestep != nvalid) return; + nvalid_last = nvalid; + + // zero if first step + + /* + if (irepeat == 0) + for (i = 0; i < nlocal; i++) + for (m = 0; m < nvalues; m++) + array[i][m] = 0.0; + */ + + // ATOM mode + // accumulate per-atom attributes,computes,fixes,variables to local grid + // compute/fix/variable may invoke computes so wrap with clear/add + + /* + if (modeatom) { + modify->clearstep_compute(); + + int *mask = atom->mask; + + for (m = 0; m < nvalues; m++) { + n = value2index[m]; + j = argindex[m]; + + if (which[m] == ArgInfo::X) { + double **x = atom->x; + for (i = 0; i < nlocal; i++) + if (mask[i] & groupbit) array[i][m] += x[i][j]; + + } else if (which[m] == ArgInfo::V) { + double **v = atom->v; + for (i = 0; i < nlocal; i++) + if (mask[i] & groupbit) array[i][m] += v[i][j]; + + } else if (which[m] == ArgInfo::F) { + double **f = atom->f; + for (i = 0; i < nlocal; i++) + if (mask[i] & groupbit) array[i][m] += f[i][j]; + + // invoke compute if not previously invoked + + } else if (which[m] == ArgInfo::COMPUTE) { + Compute *compute = modify->compute[n]; + if (!(compute->invoked_flag & Compute::INVOKED_PERATOM)) { + compute->compute_peratom(); + compute->invoked_flag |= Compute::INVOKED_PERATOM; + } + + if (j == 0) { + double *compute_vector = compute->vector_atom; + for (i = 0; i < nlocal; i++) + if (mask[i] & groupbit) array[i][m] += compute_vector[i]; + } else { + int jm1 = j - 1; + double **compute_array = compute->array_atom; + for (i = 0; i < nlocal; i++) + if (mask[i] & groupbit) array[i][m] += compute_array[i][jm1]; + } + + // access fix fields, guaranteed to be ready + + } else if (which[m] == ArgInfo::FIX) { + if (j == 0) { + double *fix_vector = modify->fix[n]->vector_atom; + for (i = 0; i < nlocal; i++) + if (mask[i] & groupbit) array[i][m] += fix_vector[i]; + } else { + int jm1 = j - 1; + double **fix_array = modify->fix[n]->array_atom; + for (i = 0; i < nlocal; i++) + if (mask[i] & groupbit) array[i][m] += fix_array[i][jm1]; + } + + // evaluate atom-style variable + // final argument = 1 sums result to array + + } else if (which[m] == ArgInfo::VARIABLE) { + if (array) input->variable->compute_atom(n,igroup,&array[0][m],nvalues,1); + else input->variable->compute_atom(n,igroup,nullptr,nvalues,1); + } + } + } + */ + + // GRID mode + // accumulate results of computes & fixes to local grid + + if (modegrid) { + } + + // done if irepeat < nrepeat + // else reset irepeat and nvalid + + irepeat++; + if (irepeat < nrepeat) { + nvalid += nevery; + modify->addstep_compute(nvalid); + return; + } + + irepeat = 0; + nvalid = ntimestep+peratom_freq - ((bigint)nrepeat-1)*nevery; + modify->addstep_compute(nvalid); + + // if (array == nullptr) return; + + + //NOTE: need to do comm for atom mode ? + + + // average the final result for the Nfreq timestep + + /* + double repeat = nrepeat; + for (i = 0; i < nlocal; i++) + for (m = 0; m < nvalues; m++) + array[i][m] /= repeat; + */ +} + +/* ---------------------------------------------------------------------- + return index of grid associated with name + this class can store M named grids, indexed 0 to M-1 + also set dim for 2d vs 3d grid + return -1 if grid name not found +------------------------------------------------------------------------- */ + +int FixAveGrid::get_grid_by_name(char *name, int &dim) +{ + if (strcmp(name,"grid") == 0) { + dim = dimension; + return 0; + } + + return -1; +} + +/* ---------------------------------------------------------------------- + return ptr to Grid data struct for grid with index + this class can store M named grids, indexed 0 to M-1 + return nullptr if index is invalid +------------------------------------------------------------------------- */ + +void *FixAveGrid::get_grid_by_index(int index) +{ + if (index == 0) { + if (dimension == 2) return grid2d; + else return grid3d; + } + return nullptr; +} + +/* ---------------------------------------------------------------------- + return index of data associated with name in grid with index igrid + this class can store M named grids, indexed 0 to M-1 + each grid can store G named data sets, indexed 0 to G-1 + a data set name can be associated with multiple grids + set ncol for data set, 0 = vector, 1-N for array with N columns + vector = single value per grid pt, array = N values per grid pt + return -1 if data name not found +------------------------------------------------------------------------- */ + +int FixAveGrid::get_griddata_by_name(int igrid, char *name, int &ncol) +{ + if (igrid == 0 && strcmp(name,"data") == 0) { + if (nvalues == 1) ncol = 0; + else ncol = nvalues; + return 0; + } + + return -1; +} + +/* ---------------------------------------------------------------------- + return ptr to multidim data array associated with index + this class can store G named data sets, indexed 0 to M-1 + return nullptr if index is invalid +------------------------------------------------------------------------- */ + +void *FixAveGrid::get_griddata_by_index(int index) +{ + if (index == 0) { + if (dimension == 2) { + if (nvalues == 1) return vec2d; + else return array2d; + } else { + if (nvalues == 1) return vec3d; + else return array3d; + } + } + return nullptr; +} + +/* ---------------------------------------------------------------------- + memory usage of local atom-based array +------------------------------------------------------------------------- */ + +double FixAveGrid::memory_usage() +{ + double bytes = (double) ngridout * nvalues * sizeof(double); + return bytes; +} + +/* ---------------------------------------------------------------------- + calculate nvalid = next step on which end_of_step does something + can be this timestep if multiple of nfreq and nrepeat = 1 + else backup from next multiple of nfreq +------------------------------------------------------------------------- */ + +bigint FixAveGrid::nextvalid() +{ + bigint nvalid = (update->ntimestep/peratom_freq)*peratom_freq + peratom_freq; + if (nvalid-peratom_freq == update->ntimestep && nrepeat == 1) + nvalid = update->ntimestep; + else + nvalid -= ((bigint)nrepeat-1)*nevery; + if (nvalid < update->ntimestep) nvalid += peratom_freq; + return nvalid; +} diff --git a/src/fix_ave_grid.h b/src/fix_ave_grid.h new file mode 100644 index 0000000000..1a98794e1c --- /dev/null +++ b/src/fix_ave_grid.h @@ -0,0 +1,70 @@ +/* -*- 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(ave/grid,FixAveGrid); +// clang-format on +#else + +#ifndef LMP_FIX_AVE_GRID_H +#define LMP_FIX_AVE_GRID_H + +#include "fix.h" + +namespace LAMMPS_NS { + +class FixAveGrid : public Fix { + public: + FixAveGrid(class LAMMPS *, int, char **); + ~FixAveGrid() override; + int setmask() override; + void init() override; + void setup(int) override; + void end_of_step() override; + int get_grid_by_name(char *, int &) override; + void *get_grid_by_index(int) override; + int get_griddata_by_name(int, char *, int &) override; + void *get_griddata_by_index(int) override; + double memory_usage() override; + + private: + int nx,ny,nz; + int nvalues; + int nrepeat, irepeat; + bigint nvalid, nvalid_last; + int modeatom,modegrid; + int normflag,scaleflag,ave,nwindow; + int dimension; + + int *which, *argindex; + char **ids; + int *value2index, *value2grid, *value2data; + + class Grid2d *grid2d; + class Grid3d *grid3d; + + int nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in; + int nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out; + int ngridout; + + double **vec2d,***vec3d; + double ***array2d,****array3d; + + bigint nextvalid(); +}; + +} // namespace LAMMPS_NS + +#endif +#endif From 02b8804457135824130ae244ca574e460b385a44 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 1 Aug 2022 10:03:04 -0600 Subject: [PATCH 017/142] add grid freq to fix ttm/grid --- src/EXTRA-FIX/fix_ttm_grid.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/EXTRA-FIX/fix_ttm_grid.cpp b/src/EXTRA-FIX/fix_ttm_grid.cpp index 59ae7dcf4d..e17c52d5f9 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.cpp +++ b/src/EXTRA-FIX/fix_ttm_grid.cpp @@ -55,6 +55,7 @@ FixTTMGrid::FixTTMGrid(LAMMPS *lmp, int narg, char **arg) : FixTTM(lmp, narg, arg) { pergrid_flag = 1; + pergrid_freq = 1; /* NOTE: uncomment this when ready to release From 7a4f5344bde740a277338e6de8baa65ba8084d5e Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 2 Aug 2022 17:46:03 -0600 Subject: [PATCH 018/142] more functionality for fix ave/grid --- src/fix_ave_grid.cpp | 511 ++++++++++++++++++++++++++++++++++--------- src/fix_ave_grid.h | 7 +- 2 files changed, 410 insertions(+), 108 deletions(-) diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index 608972ec43..d1ab15c857 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -31,10 +31,18 @@ using namespace LAMMPS_NS; using namespace FixConst; + enum{SAMPLE,ALL}; enum{NOSCALE,ATOM}; enum{ONE,RUNNING,WINDOW}; +// OFFSET avoids outside-of-box atoms being rounded to grid pts incorrectly +// SHIFT = 0.0 assigns atoms to lower-left grid pt +// SHIFT = 0.5 assigns atoms to nearest grid pt + +static constexpr int OFFSET = 16384; +static constexpr double SHIFT = 0.5; + /* ---------------------------------------------------------------------- */ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : @@ -52,11 +60,11 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : pergrid_freq = utils::inumeric(FLERR,arg[5],false,lmp); time_depend = 1; - // NOTE: test for Dxyz as well + // NOTE: allow Dxyz as well - nx = utils::inumeric(FLERR,arg[6],false,lmp); - ny = utils::inumeric(FLERR,arg[7],false,lmp); - nz = utils::inumeric(FLERR,arg[8],false,lmp); + nxgrid = utils::inumeric(FLERR,arg[6],false,lmp); + nygrid = utils::inumeric(FLERR,arg[7],false,lmp); + nzgrid = utils::inumeric(FLERR,arg[8],false,lmp); // expand args if any have wildcard character "*" // this can reset nvalues @@ -208,9 +216,9 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : if (pergrid_freq % nevery || nrepeat*nevery > pergrid_freq) error->all(FLERR,"Illegal fix ave/grid command"); - if (nx < 1 || ny < 1 || nz < 1) + if (nxgrid < 1 || nygrid < 1 || nzgrid < 1) error->all(FLERR,"Invalid fix ave/grid grid size"); - if (dimension == 2 && nz != 1) + if (dimension == 2 && nzgrid != 1) error->all(FLERR,"Fix ave/grid grid Nz must be 1 for 2d simulation"); // error checks for ATOM mode @@ -370,8 +378,12 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : // instantiate the Grid class and allocate per-grid memory // NOTE: need to extend ghost grid for ATOM mode ? + if (modeatom) shift = OFFSET + SHIFT; + else shift = 0.0; + if (dimension == 2) { - grid2d = new Grid2d(lmp, world, nx, ny, 0, 0.0, 0.0, + if (modeatom) + grid2d = new Grid2d(lmp, world, nxgrid, nygrid, 0, 0.0, shift, nxlo_in, nxhi_in, nylo_in, nyhi_in, nxlo_out, nxhi_out, nylo_out, nyhi_out); if (nvalues == 1) @@ -383,7 +395,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : ngridout = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1); } else { - grid3d = new Grid3d(lmp, world, nx, ny, nz, 0, 0.0, 0.0, + grid3d = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid, 0, 0.0, shift, nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, nzhi_in, nxlo_out, nxhi_out, nylo_out, nyhi_out, nzlo_out, nzhi_out); @@ -399,15 +411,14 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : (nzhi_out - nzlo_out + 1); } - // zero the array since dump may access it on timestep 0 - // zero the array since a variable may access it before first run + // zero the grid since dump may access it on timestep 0 - /* - int nlocal = atom->nlocal; - for (int i = 0; i < nlocal; i++) - for (int m = 0; m < nvalues; m++) - array[i][m] = 0.0; - */ + zero_grid(); + + // bin indices for ATOM mode + + maxatom = 0; + bin = nullptr; // nvalid = next step on which end_of_step does something // add nvalid to all computes that store invocation times @@ -438,6 +449,7 @@ FixAveGrid::~FixAveGrid() memory->destroy2d_offset(array2d,nylo_out,nxlo_out); memory->destroy3d_offset(vec3d,nzlo_out,nylo_out,nxlo_out); memory->destroy4d_offset_last(array3d,nzlo_out,nylo_out,nxlo_out); + memory->destroy(bin); } /* ---------------------------------------------------------------------- */ @@ -480,8 +492,8 @@ void FixAveGrid::init() // check that grid sizes for all fields match grid size for this fix if (modegrid) { - Compute *icompute; - Fix *ifix; + Compute *compute; + Fix *fix; Grid2d *grid2d; Grid3d *grid3d; @@ -490,26 +502,26 @@ void FixAveGrid::init() for (int m = 0; m < nvalues; m++) { if (dimension == 2) { if (which[m] == ArgInfo::COMPUTE) { - icompute = modify->compute[value2index[m]]; - grid2d = (Grid2d *) icompute->get_grid_by_index(value2grid[m]); + compute = modify->compute[value2index[m]]; + grid2d = (Grid2d *) compute->get_grid_by_index(value2grid[m]); } else { - ifix = modify->fix[value2index[m]]; - grid2d = (Grid2d *) ifix->get_grid_by_index(value2grid[m]); + fix = modify->fix[value2index[m]]; + grid2d = (Grid2d *) fix->get_grid_by_index(value2grid[m]); } grid2d->get_size(nxtmp,nytmp); - if (nxtmp != nx || nytmp != ny) + if (nxtmp != nxgrid || nytmp != nygrid) error->all(FLERR,"Fix ave/grid value grid sizes do not match"); } else { if (which[m] == ArgInfo::COMPUTE) { - icompute = modify->compute[value2index[m]]; - grid3d = (Grid3d *) icompute->get_grid_by_index(value2grid[m]); + compute = modify->compute[value2index[m]]; + grid3d = (Grid3d *) compute->get_grid_by_index(value2grid[m]); } else { - ifix = modify->fix[value2index[m]]; - grid3d = (Grid3d *) ifix->get_grid_by_index(value2grid[m]); + fix = modify->fix[value2index[m]]; + grid3d = (Grid3d *) fix->get_grid_by_index(value2grid[m]); } grid3d->get_size(nxtmp,nytmp,nztmp); - if (nxtmp != nx || nytmp != ny || nztmp != nz) + if (nxtmp != nxgrid || nytmp != nygrid || nztmp != nzgrid) error->all(FLERR,"Fix ave/grid value grid sizes do not match"); } } @@ -537,7 +549,7 @@ void FixAveGrid::setup(int /*vflag*/) void FixAveGrid::end_of_step() { - int i,j,m,n; + int i,j,m,n,ix,iy,iz; // skip if not step which requires doing something @@ -545,93 +557,332 @@ void FixAveGrid::end_of_step() if (ntimestep != nvalid) return; nvalid_last = nvalid; - // zero if first step - - /* - if (irepeat == 0) - for (i = 0; i < nlocal; i++) - for (m = 0; m < nvalues; m++) - array[i][m] = 0.0; - */ + // zero owned and ghost grid points if first step + + if (irepeat == 0) zero_grid(); // ATOM mode // accumulate per-atom attributes,computes,fixes,variables to local grid // compute/fix/variable may invoke computes so wrap with clear/add - - /* + if (modeatom) { - modify->clearstep_compute(); + modify->clearstep_compute(); - int *mask = atom->mask; + // bin[i][dim] = indices of bin each atom is in + // not set if group mask does not match + // NOTE: error check if atom out of grid bounds? - for (m = 0; m < nvalues; m++) { - n = value2index[m]; - j = argindex[m]; + double *boxlo = domain->boxlo; + double dxinv = nxgrid/domain->xprd; + double dyinv = nygrid/domain->yprd; + double dzinv = nzgrid/domain->zprd; - if (which[m] == ArgInfo::X) { - double **x = atom->x; - for (i = 0; i < nlocal; i++) - if (mask[i] & groupbit) array[i][m] += x[i][j]; + double **x = atom->x; + int *mask = atom->mask; + int nlocal = atom->nlocal; - } else if (which[m] == ArgInfo::V) { - double **v = atom->v; - for (i = 0; i < nlocal; i++) - if (mask[i] & groupbit) array[i][m] += v[i][j]; + if (nlocal > maxatom) { + memory->destroy(bin); + maxatom = atom->nmax; + memory->create(bin,maxatom,dimension,"fix_ave/grid:bin"); + } - } else if (which[m] == ArgInfo::F) { - double **f = atom->f; - for (i = 0; i < nlocal; i++) - if (mask[i] & groupbit) array[i][m] += f[i][j]; - - // invoke compute if not previously invoked - - } else if (which[m] == ArgInfo::COMPUTE) { - Compute *compute = modify->compute[n]; - if (!(compute->invoked_flag & Compute::INVOKED_PERATOM)) { - compute->compute_peratom(); - compute->invoked_flag |= Compute::INVOKED_PERATOM; + if (dimension == 2) { + for (i = 0; i < nlocal; i++) { + if (!(mask[i] & groupbit)) continue; + ix = static_cast ((x[i][0]-boxlo[0])*dxinv + shift) - OFFSET; + iy = static_cast ((x[i][1]-boxlo[1])*dyinv + shift) - OFFSET; + bin[i][0] = iy; + bin[i][1] = ix; } - - if (j == 0) { - double *compute_vector = compute->vector_atom; - for (i = 0; i < nlocal; i++) - if (mask[i] & groupbit) array[i][m] += compute_vector[i]; - } else { - int jm1 = j - 1; - double **compute_array = compute->array_atom; - for (i = 0; i < nlocal; i++) - if (mask[i] & groupbit) array[i][m] += compute_array[i][jm1]; + } else { + for (i = 0; i < nlocal; i++) { + if (!(mask[i] & groupbit)) continue; + ix = static_cast ((x[i][0]-boxlo[0])*dxinv + shift) - OFFSET; + iy = static_cast ((x[i][1]-boxlo[1])*dyinv + shift) - OFFSET; + iz = static_cast ((x[i][2]-boxlo[2])*dzinv + shift) - OFFSET; + bin[i][0] = iz; + bin[i][1] = iy; + bin[i][2] = ix; } + } - // access fix fields, guaranteed to be ready + for (m = 0; m < nvalues; m++) { + n = value2index[m]; + j = argindex[m]; + + if (which[m] == ArgInfo::X) { + if (dimension == 2) { + if (nvalues == 1) { + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) + vec2d[bin[i][0]][bin[i][1]] += x[i][j]; + } + } else + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) + array2d[bin[i][0]][bin[i][1]][m] += x[i][j]; + } + } else { + if (nvalues == 1) { + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) + vec3d[bin[i][0]][bin[i][1]][bin[i][2]] += x[i][j]; + } + } else + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) + array3d[bin[i][0]][bin[i][1]][bin[i][2]][m] += x[i][j]; + } + } + + } else if (which[m] == ArgInfo::V) { + double **v = atom->v; - } else if (which[m] == ArgInfo::FIX) { - if (j == 0) { - double *fix_vector = modify->fix[n]->vector_atom; - for (i = 0; i < nlocal; i++) - if (mask[i] & groupbit) array[i][m] += fix_vector[i]; - } else { - int jm1 = j - 1; - double **fix_array = modify->fix[n]->array_atom; - for (i = 0; i < nlocal; i++) - if (mask[i] & groupbit) array[i][m] += fix_array[i][jm1]; + if (dimension == 2) { + if (nvalues == 1) { + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) + vec2d[bin[i][0]][bin[i][1]] += v[i][j]; + } + } else + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) + array2d[bin[i][0]][bin[i][1]][m] += v[i][j]; + } + } else { + if (nvalues == 1) { + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) + vec3d[bin[i][0]][bin[i][1]][bin[i][2]] += v[i][j]; + } + } else + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) + array3d[bin[i][0]][bin[i][1]][bin[i][2]][m] += v[i][j]; + } + } + + } else if (which[m] == ArgInfo::F) { + double **f = atom->f; + + if (dimension == 2) { + if (nvalues == 1) { + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) + vec2d[bin[i][0]][bin[i][1]] += f[i][j]; + } + } else + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) + array2d[bin[i][0]][bin[i][1]][m] += f[i][j]; + } + } else { + if (nvalues == 1) { + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) + vec3d[bin[i][0]][bin[i][1]][bin[i][2]] += f[i][j]; + } + } else + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) + array3d[bin[i][0]][bin[i][1]][bin[i][2]][m] += f[i][j]; + } + } + + // per-atom compute or fix + // invoke compute if not previously invoked + + } else if (which[m] == ArgInfo::COMPUTE || which[m] == ArgInfo::FIX) { + double *ovector,**oarray; + + if (which[m] == ArgInfo::COMPUTE) { + Compute *compute = modify->compute[n]; + if (!(compute->invoked_flag & Compute::INVOKED_PERATOM)) { + compute->compute_peratom(); + compute->invoked_flag |= Compute::INVOKED_PERATOM; + } + if (j == 0) ovector = compute->vector_atom; + else oarray = compute->array_atom; + } else { + Fix *fix = modify->fix[n]; + if (j == 0) ovector = fix->vector_atom; + else oarray = fix->array_atom; + } + + if (dimension == 2) { + if (nvalues == 1) { + if (j == 0) { + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) + vec2d[bin[i][0]][bin[i][1]] += ovector[i]; + } + } else { + int jm1 = j = 1; + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) + vec2d[bin[i][0]][bin[i][1]] += oarray[i][jm1]; + } + } + } else { + if (j == 0) { + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) + array2d[bin[i][0]][bin[i][1]][m] += ovector[i]; + } + } else { + int jm1 = j - 1; + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) + array2d[bin[i][0]][bin[i][1]][m] += oarray[i][jm1]; + } + } + } + + } else { + if (nvalues == 1) { + if (j == 0) { + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) + vec3d[bin[i][0]][bin[i][1]][bin[i][2]] += ovector[i]; + } + } else { + int jm1 = j - 1; + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) + vec3d[bin[i][0]][bin[i][1]][bin[i][2]] += oarray[i][jm1]; + } + } + } else { + if (j == 0) { + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) + array3d[bin[i][0]][bin[i][1]][bin[i][2]][m] += ovector[i]; + } + } else { + int jm1 = j - 1; + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) + array3d[bin[i][0]][bin[i][1]][bin[i][2]][m] += oarray[i][jm1]; + } + } + } + } + + // evaluate atom-style variable + // final argument = 1 sums result to array + + } else if (which[m] == ArgInfo::VARIABLE) { + /* + if (array) input->variable->compute_atom(n,igroup,&array[0][m],nvalues,1); + else input->variable->compute_atom(n,igroup,nullptr,nvalues,1); + */ } - - // evaluate atom-style variable - // final argument = 1 sums result to array - - } else if (which[m] == ArgInfo::VARIABLE) { - if (array) input->variable->compute_atom(n,igroup,&array[0][m],nvalues,1); - else input->variable->compute_atom(n,igroup,nullptr,nvalues,1); } } - } - */ // GRID mode // accumulate results of computes & fixes to local grid if (modegrid) { + + for (m = 0; m < nvalues; m++) { + n = value2index[m]; + j = argindex[m]; + int idata = value2data[m]; + + Compute *compute; + Fix *fix; + + if (which[m] == ArgInfo::COMPUTE) { + compute = modify->compute[n]; + if (!(compute->invoked_flag & Compute::INVOKED_PERGRID)) { + compute->compute_pergrid(); + compute->invoked_flag |= Compute::INVOKED_PERGRID; + } + } else if (which[m] == ArgInfo::FIX) fix = modify->fix[n]; + + if (dimension == 2) { + double **ovec2d,***oarray2d; + if (which[m] == ArgInfo::COMPUTE) { + if (j == 0) + ovec2d = (double **) compute->get_griddata_by_index(idata); + else + oarray2d = (double ***) compute->get_griddata_by_index(idata); + } else { + if (j == 0) + ovec2d = (double **) fix->get_griddata_by_index(idata); + else + oarray2d = (double ***) fix->get_griddata_by_index(idata); + } + + if (nvalues == 1) { + if (j == 0) { + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + vec2d[iy][ix] += ovec2d[iy][ix]; + } else { + int jm1 = j - 1; + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + vec2d[iy][ix] += oarray2d[iy][ix][jm1]; + } + } else { + if (j == 0) { + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + array2d[iy][ix][m] += ovec2d[iy][ix]; + } else { + int jm1 = j - 1; + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + array2d[iy][ix][m] += oarray2d[iy][ix][jm1]; + } + } + + } else { + double ***ovec3d,****oarray3d; + if (which[m] == ArgInfo::COMPUTE) { + if (j == 0) + ovec3d = (double ***) compute->get_griddata_by_index(idata); + else + oarray3d = (double ****) compute->get_griddata_by_index(idata); + } else { + if (j == 0) + ovec3d = (double ***) fix->get_griddata_by_index(idata); + else + oarray3d = (double ****) fix->get_griddata_by_index(idata); + } + + if (nvalues == 1) { + if (j == 0) { + for (iz = nzlo_in; iz <= nzhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + vec3d[iz][iy][ix] += ovec3d[iz][iy][ix]; + } else { + int jm1 = j - 1; + for (iz = nzlo_in; iz <= nzhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + vec3d[iz][iy][ix] += oarray3d[iz][iy][ix][jm1]; + } + } else { + if (j == 0) { + for (iz = nzlo_in; iz <= nzhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + array3d[iz][iy][ix][m] += ovec3d[iz][iy][ix]; + } else { + int jm1 = j - 1; + for (iz = nzlo_in; iz <= nzhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + array3d[iz][iy][ix][m] += oarray3d[iz][iy][ix][jm1]; + } + } + } + } } // done if irepeat < nrepeat @@ -640,28 +891,74 @@ void FixAveGrid::end_of_step() irepeat++; if (irepeat < nrepeat) { nvalid += nevery; - modify->addstep_compute(nvalid); + if (modeatom) modify->addstep_compute(nvalid); return; } irepeat = 0; - nvalid = ntimestep+peratom_freq - ((bigint)nrepeat-1)*nevery; - modify->addstep_compute(nvalid); + nvalid = ntimestep+peratom_freq - ((bigint) nrepeat-1)*nevery; + if (modeatom) modify->addstep_compute(nvalid); - // if (array == nullptr) return; - - - //NOTE: need to do comm for atom mode ? + // just return if this proc owns no grid points + + if (ngridout == 0) return; + + + // NOTE: need to do comm for atom mode ? + // average the final result for the Nfreq timestep + // just loop over owned grid points + + double invrepeat = 1.0/nrepeat; - /* - double repeat = nrepeat; - for (i = 0; i < nlocal; i++) - for (m = 0; m < nvalues; m++) - array[i][m] /= repeat; - */ + if (dimension == 2) { + if (nvalues == 1) { + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + vec2d[iy][ix] *= invrepeat; + } else { + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + for (m = 0; m <= nvalues; m++) + array2d[iy][ix][m] *= invrepeat; + } + } else { + if (nvalues == 1) { + for (iz = nzlo_in; iz <= nzhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + vec3d[iz][iy][ix] *= invrepeat; + } else { + for (iz = nzlo_in; iz <= nzhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + for (m = 0; m <= nvalues; m++) + array3d[iz][iy][ix][m] *= invrepeat; + } + } +} + +/* ---------------------------------------------------------------------- + zero grid values incluing ghost cells +------------------------------------------------------------------------- */ + +void FixAveGrid::zero_grid() +{ + if (dimension == 2) { + if (nvalues == 1) { + if (ngridout) memcpy(&vec2d[0][0],0,ngridout*sizeof(double)); + } else { + if (ngridout) memcpy(&array2d[0][0][0],0,ngridout*nvalues*sizeof(double)); + } + } else { + if (nvalues == 1) { + if (ngridout) memcpy(&vec3d[0][0][0],0,ngridout*sizeof(double)); + } else { + if (ngridout) memcpy(&array3d[0][0][0][0],0,ngridout*nvalues*sizeof(double)); + } + } } /* ---------------------------------------------------------------------- diff --git a/src/fix_ave_grid.h b/src/fix_ave_grid.h index 1a98794e1c..dc6197062a 100644 --- a/src/fix_ave_grid.h +++ b/src/fix_ave_grid.h @@ -39,7 +39,7 @@ class FixAveGrid : public Fix { double memory_usage() override; private: - int nx,ny,nz; + int nxgrid,nygrid,nzgrid; int nvalues; int nrepeat, irepeat; bigint nvalid, nvalid_last; @@ -57,10 +57,15 @@ class FixAveGrid : public Fix { int nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in; int nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out; int ngridout; + double shift; double **vec2d,***vec3d; double ***array2d,****array3d; + int **bin; + int maxatom; + + void zero_grid(); bigint nextvalid(); }; From c3d563ca396ce2c1f0ef7b679243337c5873f5ec Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 3 Aug 2022 13:32:11 -0600 Subject: [PATCH 019/142] more enhancments --- src/fix_ave_grid.cpp | 726 +++++++++++++++++++++++-------------------- src/fix_ave_grid.h | 8 + 2 files changed, 390 insertions(+), 344 deletions(-) diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index d1ab15c857..c36dab9aa3 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -50,7 +50,8 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : which(nullptr), argindex(nullptr), ids(nullptr), value2index(nullptr), value2grid(nullptr), value2data(nullptr), grid2d(nullptr), grid3d(nullptr), - vec2d(nullptr), array2d(nullptr), vec3d(nullptr), array3d(nullptr) + vec2d(nullptr), array2d(nullptr), vec3d(nullptr), array3d(nullptr), + count2d(nullptr), count3d(nullptr) { if (narg < 10) error->all(FLERR,"Illegal fix ave/grid command"); @@ -71,21 +72,22 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : int expand = 0; char **earg; - int nargnew = utils::expand_args(FLERR,nvalues,&arg[9],1,earg,lmp); + int nargnew = utils::expand_args(FLERR,narg-9,&arg[9],1,earg,lmp); if (earg != &arg[9]) expand = 1; arg = earg; - // parse values + // parse values until one isn't recognized - which = new int[nvalues]; - argindex = new int[nvalues]; - ids = new char*[nvalues]; - value2index = new int[nvalues]; - value2grid = new int[nvalues]; - value2data = new int[nvalues]; + which = new int[nargnew]; + argindex = new int[nargnew]; + ids = new char*[nargnew]; + value2index = new int[nargnew]; + value2grid = new int[nargnew]; + value2data = new int[nargnew]; modeatom = modegrid = 0; + nvalues = 0; int iarg = 0; while (iarg < nargnew) { @@ -152,12 +154,16 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Fix ave/grid cannot use variable for grid info"); nvalues++; - } + + // unrecognized arg (option) + + } else break; iarg++; } if (nvalues == 0) error->all(FLERR,"No values in fix ave/grid command"); + if (modeatom && modegrid) error->all(FLERR,"Fix ave/grid cannot operate on per-atom and " "per-grid values"); @@ -196,7 +202,8 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : } iarg += 2; if (ave == WINDOW) iarg++; - } + + } else error->all(FLERR,"Illegal fix ave/grid command"); } // if wildcard expansion occurred, free earg memory from exapnd_args() @@ -386,29 +393,50 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : grid2d = new Grid2d(lmp, world, nxgrid, nygrid, 0, 0.0, shift, nxlo_in, nxhi_in, nylo_in, nyhi_in, nxlo_out, nxhi_out, nylo_out, nyhi_out); + + grid2d->setup(ngrid_buf1, ngrid_buf2); + memory->create(grid_buf1, ngrid_buf1, "ave/grid:grid_buf1"); + memory->create(grid_buf2, ngrid_buf2, "ave/grid:grid_buf2"); + + ngridout = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1); + if (nvalues == 1) memory->create2d_offset(vec2d, nylo_out, nyhi_out, nxlo_out, nxhi_out, - "fix_ave/grid:vec2d"); + "ave/grid:vec2d"); else memory->create3d_offset_last(array2d, nylo_out, nyhi_out, nxlo_out, - nxhi_out, nvalues, "fix_ave/grid:array2d"); - ngridout = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1); + nxhi_out, nvalues, "ave/grid:array2d"); + + if (modeatom) + memory->create2d_offset(count2d, nylo_out, nyhi_out, nxlo_out, nxhi_out, + "ave/grid:count2d"); } else { grid3d = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid, 0, 0.0, shift, nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, nzhi_in, nxlo_out, nxhi_out, nylo_out, nyhi_out, nzlo_out, nzhi_out); - if (nvalues == 1) - memory->create3d_offset(vec3d, nzlo_out, nzhi_out, nylo_out, - nyhi_out, nxlo_out, - nxhi_out, "fix_ave/grid:vec3d"); - else - memory->create4d_offset_last(array3d, nzlo_out, nzhi_out, nylo_out, - nyhi_out, nxlo_out, - nxhi_out, nvalues, "fix_ave/grid:array3d"); + + grid3d->setup(ngrid_buf1, ngrid_buf2); + memory->create(grid_buf1, ngrid_buf1, "ave/grid:grid_buf1"); + memory->create(grid_buf2, ngrid_buf2, "ave/grid:grid_buf2"); + ngridout = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1) * (nzhi_out - nzlo_out + 1); + + if (nvalues == 1) + memory->create3d_offset(vec3d, nzlo_out, nzhi_out, nylo_out, + nyhi_out, nxlo_out, nxhi_out, + "ave/grid:vec3d"); + else + memory->create4d_offset_last(array3d, nzlo_out, nzhi_out, nylo_out, + nyhi_out, nxlo_out, nxhi_out, nvalues, + "ave/grid:array3d"); + + if (modeatom) + memory->create3d_offset(count3d, nzlo_out, nzhi_out, nylo_out, + nyhi_out, nxlo_out, nxhi_out, + "ave/grid:vec3d"); } // zero the grid since dump may access it on timestep 0 @@ -416,10 +444,14 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : zero_grid(); // bin indices for ATOM mode + // vresult for per-atom variable evaluation maxatom = 0; bin = nullptr; + maxvar = 0; + vresult = nullptr; + // nvalid = next step on which end_of_step does something // add nvalid to all computes that store invocation times // since don't know a priori which are invoked by this fix @@ -445,11 +477,18 @@ FixAveGrid::~FixAveGrid() delete grid2d; delete grid3d; + memory->destroy(grid_buf1); + memory->destroy(grid_buf2); + memory->destroy2d_offset(vec2d,nylo_out,nxlo_out); memory->destroy2d_offset(array2d,nylo_out,nxlo_out); + memory->destroy2d_offset(count2d,nylo_out,nxlo_out); memory->destroy3d_offset(vec3d,nzlo_out,nylo_out,nxlo_out); memory->destroy4d_offset_last(array3d,nzlo_out,nylo_out,nxlo_out); + memory->destroy3d_offset(count3d,nzlo_out,nylo_out,nxlo_out); + memory->destroy(bin); + memory->destroy(vresult); } /* ---------------------------------------------------------------------- */ @@ -549,7 +588,7 @@ void FixAveGrid::setup(int /*vflag*/) void FixAveGrid::end_of_step() { - int i,j,m,n,ix,iy,iz; + int m,ix,iy,iz; // skip if not step which requires doing something @@ -558,331 +597,29 @@ void FixAveGrid::end_of_step() nvalid_last = nvalid; // zero owned and ghost grid points if first step - + // zero atom count per bin for ATOM mode + if (irepeat == 0) zero_grid(); - // ATOM mode - // accumulate per-atom attributes,computes,fixes,variables to local grid - // compute/fix/variable may invoke computes so wrap with clear/add - if (modeatom) { - modify->clearstep_compute(); - - // bin[i][dim] = indices of bin each atom is in - // not set if group mask does not match - // NOTE: error check if atom out of grid bounds? - - double *boxlo = domain->boxlo; - double dxinv = nxgrid/domain->xprd; - double dyinv = nygrid/domain->yprd; - double dzinv = nzgrid/domain->zprd; - - double **x = atom->x; - int *mask = atom->mask; - int nlocal = atom->nlocal; - - if (nlocal > maxatom) { - memory->destroy(bin); - maxatom = atom->nmax; - memory->create(bin,maxatom,dimension,"fix_ave/grid:bin"); - } - if (dimension == 2) { - for (i = 0; i < nlocal; i++) { - if (!(mask[i] & groupbit)) continue; - ix = static_cast ((x[i][0]-boxlo[0])*dxinv + shift) - OFFSET; - iy = static_cast ((x[i][1]-boxlo[1])*dyinv + shift) - OFFSET; - bin[i][0] = iy; - bin[i][1] = ix; - } + if (ngridout) memcpy(&count2d[0][0],0,ngridout*sizeof(int)); } else { - for (i = 0; i < nlocal; i++) { - if (!(mask[i] & groupbit)) continue; - ix = static_cast ((x[i][0]-boxlo[0])*dxinv + shift) - OFFSET; - iy = static_cast ((x[i][1]-boxlo[1])*dyinv + shift) - OFFSET; - iz = static_cast ((x[i][2]-boxlo[2])*dzinv + shift) - OFFSET; - bin[i][0] = iz; - bin[i][1] = iy; - bin[i][2] = ix; - } - } - - for (m = 0; m < nvalues; m++) { - n = value2index[m]; - j = argindex[m]; - - if (which[m] == ArgInfo::X) { - if (dimension == 2) { - if (nvalues == 1) { - for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) - vec2d[bin[i][0]][bin[i][1]] += x[i][j]; - } - } else - for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) - array2d[bin[i][0]][bin[i][1]][m] += x[i][j]; - } - } else { - if (nvalues == 1) { - for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) - vec3d[bin[i][0]][bin[i][1]][bin[i][2]] += x[i][j]; - } - } else - for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) - array3d[bin[i][0]][bin[i][1]][bin[i][2]][m] += x[i][j]; - } - } - - } else if (which[m] == ArgInfo::V) { - double **v = atom->v; - - if (dimension == 2) { - if (nvalues == 1) { - for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) - vec2d[bin[i][0]][bin[i][1]] += v[i][j]; - } - } else - for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) - array2d[bin[i][0]][bin[i][1]][m] += v[i][j]; - } - } else { - if (nvalues == 1) { - for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) - vec3d[bin[i][0]][bin[i][1]][bin[i][2]] += v[i][j]; - } - } else - for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) - array3d[bin[i][0]][bin[i][1]][bin[i][2]][m] += v[i][j]; - } - } - - } else if (which[m] == ArgInfo::F) { - double **f = atom->f; - - if (dimension == 2) { - if (nvalues == 1) { - for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) - vec2d[bin[i][0]][bin[i][1]] += f[i][j]; - } - } else - for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) - array2d[bin[i][0]][bin[i][1]][m] += f[i][j]; - } - } else { - if (nvalues == 1) { - for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) - vec3d[bin[i][0]][bin[i][1]][bin[i][2]] += f[i][j]; - } - } else - for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) - array3d[bin[i][0]][bin[i][1]][bin[i][2]][m] += f[i][j]; - } - } - - // per-atom compute or fix - // invoke compute if not previously invoked - - } else if (which[m] == ArgInfo::COMPUTE || which[m] == ArgInfo::FIX) { - double *ovector,**oarray; - - if (which[m] == ArgInfo::COMPUTE) { - Compute *compute = modify->compute[n]; - if (!(compute->invoked_flag & Compute::INVOKED_PERATOM)) { - compute->compute_peratom(); - compute->invoked_flag |= Compute::INVOKED_PERATOM; - } - if (j == 0) ovector = compute->vector_atom; - else oarray = compute->array_atom; - } else { - Fix *fix = modify->fix[n]; - if (j == 0) ovector = fix->vector_atom; - else oarray = fix->array_atom; - } - - if (dimension == 2) { - if (nvalues == 1) { - if (j == 0) { - for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) - vec2d[bin[i][0]][bin[i][1]] += ovector[i]; - } - } else { - int jm1 = j = 1; - for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) - vec2d[bin[i][0]][bin[i][1]] += oarray[i][jm1]; - } - } - } else { - if (j == 0) { - for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) - array2d[bin[i][0]][bin[i][1]][m] += ovector[i]; - } - } else { - int jm1 = j - 1; - for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) - array2d[bin[i][0]][bin[i][1]][m] += oarray[i][jm1]; - } - } - } - - } else { - if (nvalues == 1) { - if (j == 0) { - for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) - vec3d[bin[i][0]][bin[i][1]][bin[i][2]] += ovector[i]; - } - } else { - int jm1 = j - 1; - for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) - vec3d[bin[i][0]][bin[i][1]][bin[i][2]] += oarray[i][jm1]; - } - } - } else { - if (j == 0) { - for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) - array3d[bin[i][0]][bin[i][1]][bin[i][2]][m] += ovector[i]; - } - } else { - int jm1 = j - 1; - for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) - array3d[bin[i][0]][bin[i][1]][bin[i][2]][m] += oarray[i][jm1]; - } - } - } - } - - // evaluate atom-style variable - // final argument = 1 sums result to array - - } else if (which[m] == ArgInfo::VARIABLE) { - /* - if (array) input->variable->compute_atom(n,igroup,&array[0][m],nvalues,1); - else input->variable->compute_atom(n,igroup,nullptr,nvalues,1); - */ - } + if (ngridout) memcpy(&count3d[0][0][0],0,ngridout*sizeof(int)); } } - // GRID mode - // accumulate results of computes & fixes to local grid + // ATOM mode + // accumulate per-atom attributes,computes,fixes,variables to local grid + + // set local per-grid values for either ATOM or GRID mode + // per-atom compute/fix/variable may invoke computes so wrap with clear/add - if (modegrid) { - - for (m = 0; m < nvalues; m++) { - n = value2index[m]; - j = argindex[m]; - int idata = value2data[m]; - - Compute *compute; - Fix *fix; - - if (which[m] == ArgInfo::COMPUTE) { - compute = modify->compute[n]; - if (!(compute->invoked_flag & Compute::INVOKED_PERGRID)) { - compute->compute_pergrid(); - compute->invoked_flag |= Compute::INVOKED_PERGRID; - } - } else if (which[m] == ArgInfo::FIX) fix = modify->fix[n]; - - if (dimension == 2) { - double **ovec2d,***oarray2d; - if (which[m] == ArgInfo::COMPUTE) { - if (j == 0) - ovec2d = (double **) compute->get_griddata_by_index(idata); - else - oarray2d = (double ***) compute->get_griddata_by_index(idata); - } else { - if (j == 0) - ovec2d = (double **) fix->get_griddata_by_index(idata); - else - oarray2d = (double ***) fix->get_griddata_by_index(idata); - } - - if (nvalues == 1) { - if (j == 0) { - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - vec2d[iy][ix] += ovec2d[iy][ix]; - } else { - int jm1 = j - 1; - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - vec2d[iy][ix] += oarray2d[iy][ix][jm1]; - } - } else { - if (j == 0) { - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - array2d[iy][ix][m] += ovec2d[iy][ix]; - } else { - int jm1 = j - 1; - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - array2d[iy][ix][m] += oarray2d[iy][ix][jm1]; - } - } - - } else { - double ***ovec3d,****oarray3d; - if (which[m] == ArgInfo::COMPUTE) { - if (j == 0) - ovec3d = (double ***) compute->get_griddata_by_index(idata); - else - oarray3d = (double ****) compute->get_griddata_by_index(idata); - } else { - if (j == 0) - ovec3d = (double ***) fix->get_griddata_by_index(idata); - else - oarray3d = (double ****) fix->get_griddata_by_index(idata); - } - - if (nvalues == 1) { - if (j == 0) { - for (iz = nzlo_in; iz <= nzhi_in; iz++) - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - vec3d[iz][iy][ix] += ovec3d[iz][iy][ix]; - } else { - int jm1 = j - 1; - for (iz = nzlo_in; iz <= nzhi_in; iz++) - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - vec3d[iz][iy][ix] += oarray3d[iz][iy][ix][jm1]; - } - } else { - if (j == 0) { - for (iz = nzlo_in; iz <= nzhi_in; iz++) - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - array3d[iz][iy][ix][m] += ovec3d[iz][iy][ix]; - } else { - int jm1 = j - 1; - for (iz = nzlo_in; iz <= nzhi_in; iz++) - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - array3d[iz][iy][ix][m] += oarray3d[iz][iy][ix][jm1]; - } - } - } - } + if (modeatom) { + modify->clearstep_compute(); + atom2grid(); + } else { + grid2grid(); } // done if irepeat < nrepeat @@ -899,14 +636,21 @@ void FixAveGrid::end_of_step() nvalid = ntimestep+peratom_freq - ((bigint) nrepeat-1)*nevery; if (modeatom) modify->addstep_compute(nvalid); + // ghost to owned grid communication for atom mode + // NOTE: still need to implement pack/unpack methods + + if (modeatom) { + if (dimension == 2) + grid2d->reverse_comm(Grid2d::FIX,this,1,sizeof(double),0, + grid_buf1,grid_buf2,MPI_DOUBLE); + else + grid3d->reverse_comm(Grid3d::FIX,this,1,sizeof(double),0, + grid_buf1,grid_buf2,MPI_DOUBLE); + } + // just return if this proc owns no grid points if (ngridout == 0) return; - - - // NOTE: need to do comm for atom mode ? - - // average the final result for the Nfreq timestep // just loop over owned grid points @@ -940,6 +684,299 @@ void FixAveGrid::end_of_step() } } +/* ---------------------------------------------------------------------- + sum per-atom contributions to owned+ghost grid cells + sets one of vec2d,array2d,vec3d,array3d + also set count2d or count3d for atom count per bin +------------------------------------------------------------------------- */ + +void FixAveGrid::atom2grid() +{ + int i,j,k,m,n,ix,iy,iz; + + // bin[i][dim] = indices of bin each atom is in + // not set if group mask does not match + // also count atoms contributing to each bin + + // NOTE: error check if any atom out of grid bounds? + + double *boxlo = domain->boxlo; + double dxinv = nxgrid/domain->xprd; + double dyinv = nygrid/domain->yprd; + double dzinv = nzgrid/domain->zprd; + + double **x = atom->x; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + if (nlocal > maxatom) { + memory->destroy(bin); + maxatom = atom->nmax; + memory->create(bin,maxatom,dimension,"ave/grid:bin"); + } + + if (dimension == 2) { + for (i = 0; i < nlocal; i++) { + if (!(mask[i] & groupbit)) continue; + ix = static_cast ((x[i][0]-boxlo[0])*dxinv + shift) - OFFSET; + iy = static_cast ((x[i][1]-boxlo[1])*dyinv + shift) - OFFSET; + count2d[iy][ix]++; + bin[i][0] = iy; + bin[i][1] = ix; + } + } else { + for (i = 0; i < nlocal; i++) { + if (!(mask[i] & groupbit)) continue; + ix = static_cast ((x[i][0]-boxlo[0])*dxinv + shift) - OFFSET; + iy = static_cast ((x[i][1]-boxlo[1])*dyinv + shift) - OFFSET; + iz = static_cast ((x[i][2]-boxlo[2])*dzinv + shift) - OFFSET; + count3d[iz][iy][ix]++; + bin[i][0] = iz; + bin[i][1] = iy; + bin[i][2] = ix; + } + } + + // loop over user-specified values + + for (m = 0; m < nvalues; m++) { + n = value2index[m]; + j = argindex[m]; + + if (which[m] == ArgInfo::X || which[m] == ArgInfo::V || + which[m] == ArgInfo::F) { + double **attribute; + if (which[m] == ArgInfo::X) attribute = atom->x; + else if (which[m] == ArgInfo::V) attribute = atom->v; + else if (which[m] == ArgInfo::F) attribute = atom->f; + + if (dimension == 2) { + if (nvalues == 1) { + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) + vec2d[bin[i][0]][bin[i][1]] += attribute[i][j]; + } + } else + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) + array2d[bin[i][0]][bin[i][1]][m] += attribute[i][j]; + } + } else { + if (nvalues == 1) { + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) + vec3d[bin[i][0]][bin[i][1]][bin[i][2]] += attribute[i][j]; + } + } else + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) + array3d[bin[i][0]][bin[i][1]][bin[i][2]][m] += attribute[i][j]; + } + } + + // per-atom compute or fix or variable + // invoke compute if not previously invoked + // evaluate atom-style variable + + } else if (which[m] == ArgInfo::COMPUTE || which[m] == ArgInfo::FIX || + which[m] == ArgInfo::VARIABLE) { + double *ovector,**oarray; + + if (which[m] == ArgInfo::COMPUTE) { + Compute *compute = modify->compute[n]; + if (!(compute->invoked_flag & Compute::INVOKED_PERATOM)) { + compute->compute_peratom(); + compute->invoked_flag |= Compute::INVOKED_PERATOM; + } + if (j == 0) ovector = compute->vector_atom; + else oarray = compute->array_atom; + + } else if (which[m] == ArgInfo::FIX) { + Fix *fix = modify->fix[n]; + if (j == 0) ovector = fix->vector_atom; + else oarray = fix->array_atom; + } else if (which[m] == ArgInfo::VARIABLE) { + if (nlocal > maxvar) { + memory->destroy(vresult); + maxvar = atom->nmax; + memory->create(vresult,maxvar,"ave/grid:vresult"); + } + input->variable->compute_atom(n,igroup,vresult,1,0); + ovector = vresult; + } + + if (dimension == 2) { + if (nvalues == 1) { + if (j == 0) { + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) + vec2d[bin[i][0]][bin[i][1]] += ovector[i]; + } + } else { + int jm1 = j = 1; + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) + vec2d[bin[i][0]][bin[i][1]] += oarray[i][jm1]; + } + } + } else { + if (j == 0) { + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) + array2d[bin[i][0]][bin[i][1]][m] += ovector[i]; + } + } else { + int jm1 = j - 1; + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) + array2d[bin[i][0]][bin[i][1]][m] += oarray[i][jm1]; + } + } + } + + } else { + if (nvalues == 1) { + if (j == 0) { + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) + vec3d[bin[i][0]][bin[i][1]][bin[i][2]] += ovector[i]; + } + } else { + int jm1 = j - 1; + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) + vec3d[bin[i][0]][bin[i][1]][bin[i][2]] += oarray[i][jm1]; + } + } + } else { + if (j == 0) { + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) + array3d[bin[i][0]][bin[i][1]][bin[i][2]][m] += ovector[i]; + } + } else { + int jm1 = j - 1; + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) + array3d[bin[i][0]][bin[i][1]][bin[i][2]][m] += oarray[i][jm1]; + } + } + } + } + } + } +} + +/* ---------------------------------------------------------------------- + copy per-grid values from other computes/fixes to owned grid cells + sets one of vec2d,array2d,vec3d,array3d +------------------------------------------------------------------------- */ + +void FixAveGrid::grid2grid() +{ + int j,m,n,ix,iy,iz; + + // loop over user-specified values + + for (m = 0; m < nvalues; m++) { + n = value2index[m]; + j = argindex[m]; + int idata = value2data[m]; + + Compute *compute; + Fix *fix; + + if (which[m] == ArgInfo::COMPUTE) { + compute = modify->compute[n]; + if (!(compute->invoked_flag & Compute::INVOKED_PERGRID)) { + compute->compute_pergrid(); + compute->invoked_flag |= Compute::INVOKED_PERGRID; + } + } else if (which[m] == ArgInfo::FIX) fix = modify->fix[n]; + + if (dimension == 2) { + double **ovec2d,***oarray2d; + if (which[m] == ArgInfo::COMPUTE) { + if (j == 0) + ovec2d = (double **) compute->get_griddata_by_index(idata); + else + oarray2d = (double ***) compute->get_griddata_by_index(idata); + } else { + if (j == 0) + ovec2d = (double **) fix->get_griddata_by_index(idata); + else + oarray2d = (double ***) fix->get_griddata_by_index(idata); + } + + if (nvalues == 1) { + if (j == 0) { + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + vec2d[iy][ix] += ovec2d[iy][ix]; + } else { + int jm1 = j - 1; + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + vec2d[iy][ix] += oarray2d[iy][ix][jm1]; + } + } else { + if (j == 0) { + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + array2d[iy][ix][m] += ovec2d[iy][ix]; + } else { + int jm1 = j - 1; + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + array2d[iy][ix][m] += oarray2d[iy][ix][jm1]; + } + } + + } else { + double ***ovec3d,****oarray3d; + if (which[m] == ArgInfo::COMPUTE) { + if (j == 0) + ovec3d = (double ***) compute->get_griddata_by_index(idata); + else + oarray3d = (double ****) compute->get_griddata_by_index(idata); + } else { + if (j == 0) + ovec3d = (double ***) fix->get_griddata_by_index(idata); + else + oarray3d = (double ****) fix->get_griddata_by_index(idata); + } + + if (nvalues == 1) { + if (j == 0) { + for (iz = nzlo_in; iz <= nzhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + vec3d[iz][iy][ix] += ovec3d[iz][iy][ix]; + } else { + int jm1 = j - 1; + for (iz = nzlo_in; iz <= nzhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + vec3d[iz][iy][ix] += oarray3d[iz][iy][ix][jm1]; + } + } else { + if (j == 0) { + for (iz = nzlo_in; iz <= nzhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + array3d[iz][iy][ix][m] += ovec3d[iz][iy][ix]; + } else { + int jm1 = j - 1; + for (iz = nzlo_in; iz <= nzhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + array3d[iz][iy][ix][m] += oarray3d[iz][iy][ix][jm1]; + } + } + } + } +} + /* ---------------------------------------------------------------------- zero grid values incluing ghost cells ------------------------------------------------------------------------- */ @@ -1036,6 +1073,7 @@ void *FixAveGrid::get_griddata_by_index(int index) /* ---------------------------------------------------------------------- memory usage of local atom-based array + NOTE: add more memory tallying ------------------------------------------------------------------------- */ double FixAveGrid::memory_usage() diff --git a/src/fix_ave_grid.h b/src/fix_ave_grid.h index dc6197062a..d43edc80b8 100644 --- a/src/fix_ave_grid.h +++ b/src/fix_ave_grid.h @@ -53,6 +53,8 @@ class FixAveGrid : public Fix { class Grid2d *grid2d; class Grid3d *grid3d; + int ngrid_buf1, ngrid_buf2; + double *grid_buf1, *grid_buf2; int nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in; int nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out; @@ -61,10 +63,16 @@ class FixAveGrid : public Fix { double **vec2d,***vec3d; double ***array2d,****array3d; + int **count2d,***count3d; int **bin; int maxatom; + double *vresult; + int maxvar; + + void atom2grid(); + void grid2grid(); void zero_grid(); bigint nextvalid(); }; From c44794730bce49c5458c98cbeae4434223b41297 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 3 Aug 2022 17:43:04 -0600 Subject: [PATCH 020/142] debugging fixes --- src/EXTRA-FIX/fix_ttm_grid.cpp | 2 + src/compute_property_grid.cpp | 2 + src/fix_ave_grid.cpp | 77 +++++++++++++++++++++------------- src/fix_ave_grid.h | 2 +- src/utils.cpp | 2 +- src/utils.h | 2 +- 6 files changed, 56 insertions(+), 31 deletions(-) diff --git a/src/EXTRA-FIX/fix_ttm_grid.cpp b/src/EXTRA-FIX/fix_ttm_grid.cpp index e17c52d5f9..a403eb296c 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.cpp +++ b/src/EXTRA-FIX/fix_ttm_grid.cpp @@ -638,6 +638,7 @@ int FixTTMGrid::get_grid_by_name(char *name, int &dim) void *FixTTMGrid::get_grid_by_index(int index) { if (index == 0) return grid; + return nullptr; } @@ -670,6 +671,7 @@ int FixTTMGrid::get_griddata_by_name(int igrid, char *name, int &ncol) void *FixTTMGrid::get_griddata_by_index(int index) { if (index == 0) return T_electron; + return nullptr; } diff --git a/src/compute_property_grid.cpp b/src/compute_property_grid.cpp index 2731dcc559..e419a3eaa9 100644 --- a/src/compute_property_grid.cpp +++ b/src/compute_property_grid.cpp @@ -211,6 +211,7 @@ void *ComputePropertyGrid::get_grid_by_index(int index) if (dimension == 2) return grid2d; else return grid3d; } + return nullptr; } @@ -252,6 +253,7 @@ void *ComputePropertyGrid::get_griddata_by_index(int index) else return array3d; } } + return nullptr; } diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index c36dab9aa3..82765c7da1 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -50,6 +50,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : which(nullptr), argindex(nullptr), ids(nullptr), value2index(nullptr), value2grid(nullptr), value2data(nullptr), grid2d(nullptr), grid3d(nullptr), + grid_buf1(nullptr), grid_buf2(nullptr), vec2d(nullptr), array2d(nullptr), vec3d(nullptr), array3d(nullptr), count2d(nullptr), count3d(nullptr) { @@ -154,10 +155,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Fix ave/grid cannot use variable for grid info"); nvalues++; - - // unrecognized arg (option) - - } else break; + } iarg++; } @@ -286,6 +284,9 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : char *idcompute,*gname,*dname; utils::grid_parse(FLERR,ids[i],idcompute,gname,dname,error); + delete [] ids[i]; + ids[i] = new char[strlen(idcompute)+1]; + strcpy(ids[i],idcompute); Compute *icompute = modify->get_compute_by_id(idcompute); if (!icompute) @@ -323,8 +324,8 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : "Fix ave/grid compute {} array {} is accessed out-of-range", idcompute,dname); - value2grid[iarg] = igrid; - value2data[iarg] = idata; + value2grid[i] = igrid; + value2data[i] = idata; delete [] idcompute; delete [] gname; @@ -334,6 +335,9 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : char *idfix,*gname,*dname; utils::grid_parse(FLERR,ids[i],idfix,gname,dname,error); + delete [] ids[i]; + ids[i] = new char[strlen(idfix)+1]; + strcpy(ids[i],idfix); Fix *ifix = modify->get_fix_by_id(idfix); if (!ifix) error->all(FLERR,"Could not find fix ave/grid fix ID: {}", @@ -372,8 +376,8 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : "Fix ave/grid compute {} array {} is accessed out-of-range", idfix,dname); - value2grid[iarg] = igrid; - value2data[iarg] = idata; + value2grid[i] = igrid; + value2data[i] = idata; delete [] idfix; delete [] gname; @@ -483,6 +487,7 @@ FixAveGrid::~FixAveGrid() memory->destroy2d_offset(vec2d,nylo_out,nxlo_out); memory->destroy2d_offset(array2d,nylo_out,nxlo_out); memory->destroy2d_offset(count2d,nylo_out,nxlo_out); + memory->destroy3d_offset(vec3d,nzlo_out,nylo_out,nxlo_out); memory->destroy4d_offset_last(array3d,nzlo_out,nylo_out,nxlo_out); memory->destroy3d_offset(count3d,nzlo_out,nylo_out,nxlo_out); @@ -510,19 +515,19 @@ void FixAveGrid::init() if (which[m] == ArgInfo::COMPUTE) { int icompute = modify->find_compute(ids[m]); if (icompute < 0) - error->all(FLERR,"Compute ID for fix ave/atom does not exist"); + error->all(FLERR,"Compute ID for fix ave/grid does not exist"); value2index[m] = icompute; } else if (which[m] == ArgInfo::FIX) { int ifix = modify->find_fix(ids[m]); if (ifix < 0) - error->all(FLERR,"Fix ID for fix ave/atom does not exist"); + error->all(FLERR,"Fix ID for fix ave/grid does not exist"); value2index[m] = ifix; } else if (which[m] == ArgInfo::VARIABLE) { int ivariable = input->variable->find(ids[m]); if (ivariable < 0) - error->all(FLERR,"Variable name for fix ave/atom does not exist"); + error->all(FLERR,"Variable name for fix ave/grid does not exist"); value2index[m] = ivariable; } else value2index[m] = -1; @@ -598,20 +603,22 @@ void FixAveGrid::end_of_step() // zero owned and ghost grid points if first step // zero atom count per bin for ATOM mode + // NOTE: when should counts be zeroed + // NOTE: is anything normalized by count ? + // NOTE: can count be output ? if (irepeat == 0) zero_grid(); if (modeatom) { if (dimension == 2) { - if (ngridout) memcpy(&count2d[0][0],0,ngridout*sizeof(int)); + if (ngridout) memset(&count2d[nylo_out][nxlo_out],0, + ngridout*sizeof(double)); } else { - if (ngridout) memcpy(&count3d[0][0][0],0,ngridout*sizeof(int)); + if (ngridout) memset(&count3d[nzlo_out][nylo_out][nxlo_out],0, + ngridout*sizeof(double)); } } - // ATOM mode - // accumulate per-atom attributes,computes,fixes,variables to local grid - // set local per-grid values for either ATOM or GRID mode // per-atom compute/fix/variable may invoke computes so wrap with clear/add @@ -633,7 +640,7 @@ void FixAveGrid::end_of_step() } irepeat = 0; - nvalid = ntimestep+peratom_freq - ((bigint) nrepeat-1)*nevery; + nvalid = ntimestep+pergrid_freq - ((bigint) nrepeat-1)*nevery; if (modeatom) modify->addstep_compute(nvalid); // ghost to owned grid communication for atom mode @@ -720,7 +727,7 @@ void FixAveGrid::atom2grid() if (!(mask[i] & groupbit)) continue; ix = static_cast ((x[i][0]-boxlo[0])*dxinv + shift) - OFFSET; iy = static_cast ((x[i][1]-boxlo[1])*dyinv + shift) - OFFSET; - count2d[iy][ix]++; + count2d[iy][ix] += 1.0; bin[i][0] = iy; bin[i][1] = ix; } @@ -730,7 +737,7 @@ void FixAveGrid::atom2grid() ix = static_cast ((x[i][0]-boxlo[0])*dxinv + shift) - OFFSET; iy = static_cast ((x[i][1]-boxlo[1])*dyinv + shift) - OFFSET; iz = static_cast ((x[i][2]-boxlo[2])*dzinv + shift) - OFFSET; - count3d[iz][iy][ix]++; + count3d[iz][iy][ix] += 1.0; bin[i][0] = iz; bin[i][1] = iy; bin[i][2] = ix; @@ -940,9 +947,9 @@ void FixAveGrid::grid2grid() else oarray3d = (double ****) compute->get_griddata_by_index(idata); } else { - if (j == 0) + if (j == 0) { ovec3d = (double ***) fix->get_griddata_by_index(idata); - else + } else oarray3d = (double ****) fix->get_griddata_by_index(idata); } @@ -985,15 +992,19 @@ void FixAveGrid::zero_grid() { if (dimension == 2) { if (nvalues == 1) { - if (ngridout) memcpy(&vec2d[0][0],0,ngridout*sizeof(double)); + if (ngridout) memset(&vec2d[nylo_out][nxlo_out],0, + ngridout*sizeof(double)); } else { - if (ngridout) memcpy(&array2d[0][0][0],0,ngridout*nvalues*sizeof(double)); + if (ngridout) memset(&array2d[nylo_out][nxlo_out][0],0, + ngridout*nvalues*sizeof(double)); } } else { if (nvalues == 1) { - if (ngridout) memcpy(&vec3d[0][0][0],0,ngridout*sizeof(double)); + if (ngridout) memset(&vec3d[nzlo_out][nylo_out][nxlo_out],0, + ngridout*sizeof(double)); } else { - if (ngridout) memcpy(&array3d[0][0][0][0],0,ngridout*nvalues*sizeof(double)); + if (ngridout) memset(&array3d[nzlo_out][nylo_out][nxlo_out][0],0, + ngridout*nvalues*sizeof(double)); } } } @@ -1027,6 +1038,7 @@ void *FixAveGrid::get_grid_by_index(int index) if (dimension == 2) return grid2d; else return grid3d; } + return nullptr; } @@ -1047,6 +1059,10 @@ int FixAveGrid::get_griddata_by_name(int igrid, char *name, int &ncol) else ncol = nvalues; return 0; } + if (igrid == 0 && strcmp(name,"count") == 0) { + ncol = 0; + return 1; + } return -1; } @@ -1068,6 +1084,11 @@ void *FixAveGrid::get_griddata_by_index(int index) else return array3d; } } + if (index == 1) { + if (dimension == 2) return count2d; + else return count3d; + } + return nullptr; } @@ -1090,11 +1111,11 @@ double FixAveGrid::memory_usage() bigint FixAveGrid::nextvalid() { - bigint nvalid = (update->ntimestep/peratom_freq)*peratom_freq + peratom_freq; - if (nvalid-peratom_freq == update->ntimestep && nrepeat == 1) + bigint nvalid = (update->ntimestep/pergrid_freq)*pergrid_freq + pergrid_freq; + if (nvalid-pergrid_freq == update->ntimestep && nrepeat == 1) nvalid = update->ntimestep; else nvalid -= ((bigint)nrepeat-1)*nevery; - if (nvalid < update->ntimestep) nvalid += peratom_freq; + if (nvalid < update->ntimestep) nvalid += pergrid_freq; return nvalid; } diff --git a/src/fix_ave_grid.h b/src/fix_ave_grid.h index d43edc80b8..9a675852a1 100644 --- a/src/fix_ave_grid.h +++ b/src/fix_ave_grid.h @@ -63,7 +63,7 @@ class FixAveGrid : public Fix { double **vec2d,***vec3d; double ***array2d,****array3d; - int **count2d,***count3d; + double **count2d,***count3d; int **bin; int maxatom; diff --git a/src/utils.cpp b/src/utils.cpp index 4d9f6c621b..43925fd69c 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -772,7 +772,7 @@ int utils::expand_args(const char *file, int line, int narg, char **arg, int mod ------------------------------------------------------------------------- */ void utils::grid_parse(const char *file, int line, const std::string &name, - char *id, char *gridname, char *dataname, Error *error) + char *&id, char *&gridname, char *&dataname, Error *error) { char *copy = strdup(name); diff --git a/src/utils.h b/src/utils.h index 9cc49e8545..2e078a4fe5 100644 --- a/src/utils.h +++ b/src/utils.h @@ -369,7 +369,7 @@ namespace utils { * \return new buffer with copy of string */ void grid_parse(const char *file, int line, const std::string &name, - char *id, char *gridname, char *dataname, Error *error); + char *&id, char *&gridname, char *&dataname, Error *error); /*! Parse grid reference into 3 sub-strings * From 0e1463fdaac88d510dcc62ef70ab2495ad3d041d Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 11 Aug 2022 10:32:09 -0600 Subject: [PATCH 021/142] change AMOEBA grids to Grid3d from GridComm --- src/AMOEBA/amoeba_convolution.cpp | 42 +++++++++++++++---------------- src/AMOEBA/amoeba_convolution.h | 2 +- src/AMOEBA/pair_amoeba.cpp | 3 +-- src/KSPACE/pppm.cpp | 4 +-- 4 files changed, 24 insertions(+), 27 deletions(-) diff --git a/src/AMOEBA/amoeba_convolution.cpp b/src/AMOEBA/amoeba_convolution.cpp index 9d08dd6e79..b296da7df2 100644 --- a/src/AMOEBA/amoeba_convolution.cpp +++ b/src/AMOEBA/amoeba_convolution.cpp @@ -17,7 +17,7 @@ #include "comm.h" #include "domain.h" #include "fft3d_wrap.h" -#include "gridcomm.h" +#include "grid3d.h" #include "memory.h" #include "neighbor.h" #include "remap_wrap.h" @@ -198,25 +198,23 @@ AmoebaConvolution::AmoebaConvolution(LAMMPS *lmp, Pair *pair, ngrid_either = MAX(nbrick_owned,nfft_owned); - // instantiate FFT, GridComm, and Remap + // instantiate FFT, Grid3d, and Remap int tmp; fft1 = new FFT3d(lmp,world,nx,ny,nz, nxlo_fft,nxhi_fft,nylo_fft,nyhi_fft,nzlo_fft,nzhi_fft, nxlo_fft,nxhi_fft,nylo_fft,nyhi_fft,nzlo_fft,nzhi_fft, - 1,0,&tmp,0); - // 0,0,&tmp,0); + 1,0,&tmp,0); fft2 = new FFT3d(lmp,world,nx,ny,nz, nxlo_fft,nxhi_fft,nylo_fft,nyhi_fft,nzlo_fft,nzhi_fft, nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in, - //1,0,&tmp,0); 0,0,&tmp,0); - gc = new GridComm(lmp,world,nx,ny,nz, - 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,ny,nz, + nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in, + nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out); int nqty = flag3d ? 1 : 2; remap = new Remap(lmp,world, @@ -324,15 +322,15 @@ FFT_SCALAR *AmoebaConvolution::pre_convolution_3d() // reverse comm for 3d brick grid + ghosts #if DEBUG_AMOEBA - debug_scalar(GRIDBRICK_OUT,"PRE Convo / PRE GridComm"); + debug_scalar(GRIDBRICK_OUT,"PRE Convo / PRE Grid3d"); #endif - gc->reverse_comm(GridComm::PAIR,amoeba,1,sizeof(FFT_SCALAR),which, + gc->reverse_comm(Grid3d::PAIR,amoeba,1,sizeof(FFT_SCALAR),which, gc_buf1,gc_buf2,MPI_FFT_SCALAR); #if DEBUG_AMOEBA - debug_scalar(GRIDBRICK_IN,"PRE Convo / POST GridComm"); - debug_file(GRIDBRICK_IN,"pre.convo.post.gridcomm"); + debug_scalar(GRIDBRICK_IN,"PRE Convo / POST Grid3d"); + debug_file(GRIDBRICK_IN,"pre.convo.post.grid3d"); #endif // copy owned 3d brick grid values to FFT grid @@ -387,15 +385,15 @@ FFT_SCALAR *AmoebaConvolution::pre_convolution_4d() // reverse comm for 4d brick grid + ghosts #if DEBUG_AMOEBA - debug_scalar(GRIDBRICK_OUT,"PRE Convo / PRE GridComm"); + debug_scalar(GRIDBRICK_OUT,"PRE Convo / PRE Grid3d"); #endif - gc->reverse_comm(GridComm::PAIR,amoeba,2,sizeof(FFT_SCALAR),which, + gc->reverse_comm(Grid3d::PAIR,amoeba,2,sizeof(FFT_SCALAR),which, gc_buf1,gc_buf2,MPI_FFT_SCALAR); #if DEBUG_AMOEBA - debug_scalar(GRIDBRICK_IN,"PRE Convo / POST GridComm"); - debug_file(GRIDBRICK_IN,"pre.convo.post.gridcomm"); + debug_scalar(GRIDBRICK_IN,"PRE Convo / POST Grid3d"); + debug_file(GRIDBRICK_IN,"pre.convo.post.grid3d"); #endif // copy owned 4d brick grid values to FFT grid @@ -476,10 +474,10 @@ void *AmoebaConvolution::post_convolution_3d() // forward comm to populate ghost grid values #if DEBUG_AMOEBA - debug_scalar(GRIDBRICK_IN,"POST Convo / PRE gridcomm"); - debug_file(GRIDBRICK_IN,"post.convo.pre.gridcomm"); + debug_scalar(GRIDBRICK_IN,"POST Convo / PRE grid3d"); + debug_file(GRIDBRICK_IN,"post.convo.pre.grid3d"); #endif - gc->forward_comm(GridComm::PAIR,amoeba,1,sizeof(FFT_SCALAR),which, + gc->forward_comm(Grid3d::PAIR,amoeba,1,sizeof(FFT_SCALAR),which, gc_buf1,gc_buf2,MPI_FFT_SCALAR); return (void *) grid_brick; @@ -518,10 +516,10 @@ void *AmoebaConvolution::post_convolution_4d() // forward comm to populate ghost grid values #if DEBUG_AMOEBA - debug_scalar(GRIDBRICK_IN,"POST Convo / PRE gridcomm"); - debug_file(GRIDBRICK_IN,"post.convo.pre.gridcomm"); + debug_scalar(GRIDBRICK_IN,"POST Convo / PRE grid3d"); + debug_file(GRIDBRICK_IN,"post.convo.pre.grid3d"); #endif - gc->forward_comm(GridComm::PAIR,amoeba,2,sizeof(FFT_SCALAR),which, + gc->forward_comm(Grid3d::PAIR,amoeba,2,sizeof(FFT_SCALAR),which, gc_buf1,gc_buf2,MPI_FFT_SCALAR); return (void *) cgrid_brick; diff --git a/src/AMOEBA/amoeba_convolution.h b/src/AMOEBA/amoeba_convolution.h index d7c4f9fbd7..f7c1e74e6c 100644 --- a/src/AMOEBA/amoeba_convolution.h +++ b/src/AMOEBA/amoeba_convolution.h @@ -55,7 +55,7 @@ class AmoebaConvolution : protected Pointers { class Pair *amoeba; class FFT3d *fft1, *fft2; - class GridComm *gc; + class Grid3d *gc; class Remap *remap; double ***grid_brick; // 3d real brick grid with ghosts diff --git a/src/AMOEBA/pair_amoeba.cpp b/src/AMOEBA/pair_amoeba.cpp index bf52524567..e34a1e61af 100644 --- a/src/AMOEBA/pair_amoeba.cpp +++ b/src/AMOEBA/pair_amoeba.cpp @@ -23,7 +23,6 @@ #include "fix.h" #include "fix_store_peratom.h" #include "force.h" -#include "gridcomm.h" #include "group.h" #include "math_special.h" #include "memory.h" @@ -824,7 +823,7 @@ void PairAmoeba::init_style() // initialize KSpace Ewald settings and FFTs and parallel grid objects // Coulombic grid is used with two orders: bseorder and bsporder - // so need two GridComm instantiations for ghost comm + // so need two Grid3d instantiations for ghost comm if (first_flag) { kewald(); diff --git a/src/KSPACE/pppm.cpp b/src/KSPACE/pppm.cpp index bdcadaf4b8..43ba6405c6 100644 --- a/src/KSPACE/pppm.cpp +++ b/src/KSPACE/pppm.cpp @@ -305,8 +305,8 @@ void PPPM::init() if (overlap_allowed) break; gctmp = 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); + nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in, + nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out); int tmp1,tmp2; gctmp->setup(tmp1,tmp2); From 58800b51910e1c2314647ac1a39e2798e95b407c Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 11 Aug 2022 13:28:50 -0600 Subject: [PATCH 022/142] enable relancing to work with distributed grids --- src/AMOEBA/amoeba_convolution.cpp | 33 ++++++- src/AMOEBA/amoeba_convolution.h | 3 + src/AMOEBA/pair_amoeba.cpp | 27 ++++++ src/AMOEBA/pair_amoeba.h | 2 + src/ELECTRODE/pppm_electrode.cpp | 2 +- src/ELECTRODE/pppm_electrode.h | 2 +- src/EXTRA-FIX/fix_ttm_grid.cpp | 11 +++ src/EXTRA-FIX/fix_ttm_grid.h | 2 + src/KOKKOS/pppm_kokkos.cpp | 2 +- src/KOKKOS/pppm_kokkos.h | 2 +- src/KSPACE/fix_tune_kspace.cpp | 8 +- src/KSPACE/msm.cpp | 2 +- src/KSPACE/msm.h | 2 +- src/KSPACE/pppm.cpp | 2 +- src/KSPACE/pppm.h | 2 +- src/KSPACE/pppm_dipole.cpp | 2 +- src/KSPACE/pppm_dipole.h | 2 +- src/KSPACE/pppm_disp.cpp | 2 +- src/KSPACE/pppm_disp.h | 2 +- src/MISC/fix_ipi.cpp | 6 +- src/balance.cpp | 9 ++ src/compute.h | 2 + src/compute_property_grid.cpp | 141 +++++++++++++++++------------- src/compute_property_grid.h | 17 ++-- src/dump_custom.cpp | 1 + src/dump_grid.cpp | 86 +++++------------- src/dump_grid.h | 6 +- src/fix.h | 2 + src/fix_ave_grid.cpp | 11 +++ src/fix_ave_grid.h | 3 + src/fix_balance.cpp | 17 ++-- src/fix_balance.h | 5 +- src/kspace.h | 2 +- src/modify.cpp | 13 +++ src/modify.h | 2 + src/pair.h | 2 + 36 files changed, 264 insertions(+), 171 deletions(-) diff --git a/src/AMOEBA/amoeba_convolution.cpp b/src/AMOEBA/amoeba_convolution.cpp index b296da7df2..9ac4db1827 100644 --- a/src/AMOEBA/amoeba_convolution.cpp +++ b/src/AMOEBA/amoeba_convolution.cpp @@ -75,7 +75,34 @@ AmoebaConvolution::AmoebaConvolution(LAMMPS *lmp, Pair *pair, if (which == POLAR_GRIDC || which == INDUCE_GRIDC) flag3d = 0; nfft_global = (bigint) nx * ny * nz; +} +/* ---------------------------------------------------------------------- + free all memory +------------------------------------------------------------------------- */ + +AmoebaConvolution::~AmoebaConvolution() +{ + deallocate_grid(); +} + +/* ---------------------------------------------------------------------- + subset of FFT grids assigned to each proc may have changed + called by load balancer when proc subdomains are adjusted +------------------------------------------------------------------------- */ + +void AmoebaConvolution::reset_grid() +{ + deallocate_grid(); + allocate_grid(); +} + +/* ---------------------------------------------------------------------- + allocate all local grid data structs: FFT, Grid3d, Remap +------------------------------------------------------------------------- */ + +void AmoebaConvolution::allocate_grid() +{ // global indices of grid range from 0 to N-1 // nlo_in,nhi_in = lower/upper limits of the 3d sub-brick of // global grid that I own without ghost cells @@ -247,11 +274,9 @@ AmoebaConvolution::AmoebaConvolution(LAMMPS *lmp, Pair *pair, memory->create(remap_buf,nqty*nfft_owned,"amoeba:remap_buf"); } -/* ---------------------------------------------------------------------- - free all memory -------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- */ -AmoebaConvolution::~AmoebaConvolution() +void AmoebaConvolution::deallocate_grid() { memory->destroy3d_offset(grid_brick,nzlo_out,nylo_out,nxlo_out); memory->destroy4d_offset_last(cgrid_brick,nzlo_out,nylo_out,nxlo_out); diff --git a/src/AMOEBA/amoeba_convolution.h b/src/AMOEBA/amoeba_convolution.h index f7c1e74e6c..9d877bdcf0 100644 --- a/src/AMOEBA/amoeba_convolution.h +++ b/src/AMOEBA/amoeba_convolution.h @@ -42,6 +42,7 @@ class AmoebaConvolution : protected Pointers { AmoebaConvolution(class LAMMPS *, class Pair *, int, int, int, int, int); ~AmoebaConvolution(); + void reset_grid(); void *zero(); FFT_SCALAR *pre_convolution(); void *post_convolution(); @@ -67,6 +68,8 @@ class AmoebaConvolution : protected Pointers { double *gc_buf1, *gc_buf2; // buffers for GridComm double *remap_buf; // buffer for Remap + void allocate_grid(); + void deallocate_grid(); void *zero_3d(); void *zero_4d(); FFT_SCALAR *pre_convolution_3d(); diff --git a/src/AMOEBA/pair_amoeba.cpp b/src/AMOEBA/pair_amoeba.cpp index e34a1e61af..0ad80fb8d2 100644 --- a/src/AMOEBA/pair_amoeba.cpp +++ b/src/AMOEBA/pair_amoeba.cpp @@ -1409,6 +1409,33 @@ void PairAmoeba::unpack_reverse_comm(int n, int *list, double *buf) } } +/* ---------------------------------------------------------------------- + subset of FFT grids assigned to each proc may have changed + notify each instance of AmoebaConvolution class + called by load balancer when proc subdomains are adjusted +------------------------------------------------------------------------- */ + +void PairAmoeba::reset_grid() +{ + if (use_ewald) { + m_kspace->reset_grid(); + p_kspace->reset_grid(); + pc_kspace->reset_grid(); + i_kspace->reset_grid(); + ic_kspace->reset_grid(); + } + if (use_dewald) d_kspace->reset_grid(); + + // qfac is shared by induce and polar + // gridfft1 is copy of FFT grid used within polar + + memory->destroy(qfac); + memory->destroy(gridfft1); + int nmine = p_kspace->nfft_owned; + memory->create(qfac,nmine,"ameoba/induce:qfac"); + memory->create(gridfft1,2*nmine,"amoeba/polar:gridfft1"); +} + /* ---------------------------------------------------------------------- pack own values to buf to send to another proc ------------------------------------------------------------------------- */ diff --git a/src/AMOEBA/pair_amoeba.h b/src/AMOEBA/pair_amoeba.h index 84bc480062..9385a39870 100644 --- a/src/AMOEBA/pair_amoeba.h +++ b/src/AMOEBA/pair_amoeba.h @@ -44,6 +44,8 @@ class PairAmoeba : public Pair { int pack_reverse_comm(int, int, double *) override; void unpack_reverse_comm(int, int *, double *) override; + void reset_grid() override; + void pack_forward_grid(int, void *, int, int *) override; void unpack_forward_grid(int, void *, int, int *) override; void pack_reverse_grid(int, void *, int, int *) override; diff --git a/src/ELECTRODE/pppm_electrode.cpp b/src/ELECTRODE/pppm_electrode.cpp index 91d6acc2d5..a8d2d6f3df 100644 --- a/src/ELECTRODE/pppm_electrode.cpp +++ b/src/ELECTRODE/pppm_electrode.cpp @@ -378,7 +378,7 @@ void PPPMElectrode::setup() called by fix balance b/c it changed sizes of processor sub-domains ------------------------------------------------------------------------- */ -void PPPMElectrode::setup_grid() +void PPPMElectrode::reset_grid() { // free all arrays previously allocated diff --git a/src/ELECTRODE/pppm_electrode.h b/src/ELECTRODE/pppm_electrode.h index 4bfa05c65f..e5efbca205 100644 --- a/src/ELECTRODE/pppm_electrode.h +++ b/src/ELECTRODE/pppm_electrode.h @@ -35,7 +35,7 @@ class PPPMElectrode : public PPPM, public ElectrodeKSpace { ~PPPMElectrode() override; void init() override; void setup() override; - void setup_grid() override; + void reset_grid() override; void compute(int, int) override; void compute_vector(double *, int, int, bool) override; diff --git a/src/EXTRA-FIX/fix_ttm_grid.cpp b/src/EXTRA-FIX/fix_ttm_grid.cpp index a403eb296c..7e210c022e 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.cpp +++ b/src/EXTRA-FIX/fix_ttm_grid.cpp @@ -388,6 +388,17 @@ void FixTTMGrid::write_electron_temperatures(const std::string &filename) if (comm->me == 0) fclose(FPout); } +/* ---------------------------------------------------------------------- + subset of grid assigned to each proc may have changed + called by load balancer when proc subdomains are adjusted + not supported for now, b/c requires T_electron to persist, i.e. a remap() +------------------------------------------------------------------------- */ + +void FixTTMGrid::reset_grid() +{ + error->all(FLERR,"Fix ttm/grid does not support load balancing (yet)"); +} + /* ---------------------------------------------------------------------- pack own values to buf to send to another proc ------------------------------------------------------------------------- */ diff --git a/src/EXTRA-FIX/fix_ttm_grid.h b/src/EXTRA-FIX/fix_ttm_grid.h index 10a0dd8a77..1e5b57b47c 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.h +++ b/src/EXTRA-FIX/fix_ttm_grid.h @@ -35,6 +35,8 @@ class FixTTMGrid : public FixTTM { // grid communication + void reset_grid() override; + void pack_forward_grid(int, void *, int, int *) override; void unpack_forward_grid(int, void *, int, int *) override; void pack_reverse_grid(int, void *, int, int *) override; diff --git a/src/KOKKOS/pppm_kokkos.cpp b/src/KOKKOS/pppm_kokkos.cpp index 432e866b2c..8f8df1adda 100644 --- a/src/KOKKOS/pppm_kokkos.cpp +++ b/src/KOKKOS/pppm_kokkos.cpp @@ -551,7 +551,7 @@ void PPPMKokkos::operator()(TagPPPM_setup_triclinic2, const int &n) ------------------------------------------------------------------------- */ template -void PPPMKokkos::setup_grid() +void PPPMKokkos::reset_grid() { // free all arrays previously allocated diff --git a/src/KOKKOS/pppm_kokkos.h b/src/KOKKOS/pppm_kokkos.h index 701fe5c4d3..2e7bd6d537 100644 --- a/src/KOKKOS/pppm_kokkos.h +++ b/src/KOKKOS/pppm_kokkos.h @@ -124,7 +124,7 @@ class PPPMKokkos : public PPPM, public KokkosBaseFFT { ~PPPMKokkos() override; void init() override; void setup() override; - void setup_grid() override; + void reset_grid() override; void settings(int, char **) override; void compute(int, int) override; int timing_1d(int, double &) override; diff --git a/src/KSPACE/fix_tune_kspace.cpp b/src/KSPACE/fix_tune_kspace.cpp index 34fe89c651..637626804a 100644 --- a/src/KSPACE/fix_tune_kspace.cpp +++ b/src/KSPACE/fix_tune_kspace.cpp @@ -278,9 +278,13 @@ void FixTuneKspace::update_kspace_style(const std::string &new_kspace_style, force->init(); // set up grid - force->kspace->setup_grid(); - // Re-init neighbor list. Probably only needed when redefining the pair style. Should happen after pair->init() to get pair style neighbor list request registered + force->kspace->reset_grid(); + + // re-init neighbor list + // probably only needed when redefining the pair style + // should happen after pair->init() to get pair style + // neighbor list request registered neighbor->init(); diff --git a/src/KSPACE/msm.cpp b/src/KSPACE/msm.cpp index c1392fb1bd..ac9e2c4264 100644 --- a/src/KSPACE/msm.cpp +++ b/src/KSPACE/msm.cpp @@ -1379,7 +1379,7 @@ void MSM::set_proc_grid(int n) called by fix balance b/c it changed sizes of processor sub-domains ------------------------------------------------------------------------- */ -void MSM::setup_grid() +void MSM::reset_grid() { // free all arrays previously allocated // pre-compute volume-dependent coeffs diff --git a/src/KSPACE/msm.h b/src/KSPACE/msm.h index c5f9f1bc0a..b063e4f3a8 100644 --- a/src/KSPACE/msm.h +++ b/src/KSPACE/msm.h @@ -100,7 +100,7 @@ class MSM : public KSpace { void set_grid_global(); void set_proc_grid(int); void set_grid_local(); - void setup_grid() override; + void reset_grid() override; double estimate_1d_error(double, double); double estimate_3d_error(); double estimate_total_error(); diff --git a/src/KSPACE/pppm.cpp b/src/KSPACE/pppm.cpp index 43ba6405c6..5c1e4456ca 100644 --- a/src/KSPACE/pppm.cpp +++ b/src/KSPACE/pppm.cpp @@ -549,7 +549,7 @@ void PPPM::setup_triclinic() called by fix balance b/c it changed sizes of processor sub-domains ------------------------------------------------------------------------- */ -void PPPM::setup_grid() +void PPPM::reset_grid() { // free all arrays previously allocated diff --git a/src/KSPACE/pppm.h b/src/KSPACE/pppm.h index ec19023bb5..da1278ff4f 100644 --- a/src/KSPACE/pppm.h +++ b/src/KSPACE/pppm.h @@ -32,7 +32,7 @@ class PPPM : public KSpace { void settings(int, char **) override; void init() override; void setup() override; - void setup_grid() override; + void reset_grid() override; void compute(int, int) override; int timing_1d(int, double &) override; int timing_3d(int, double &) override; diff --git a/src/KSPACE/pppm_dipole.cpp b/src/KSPACE/pppm_dipole.cpp index 0206119e37..d6931d4c0e 100644 --- a/src/KSPACE/pppm_dipole.cpp +++ b/src/KSPACE/pppm_dipole.cpp @@ -356,7 +356,7 @@ void PPPMDipole::setup() called by fix balance b/c it changed sizes of processor sub-domains ------------------------------------------------------------------------- */ -void PPPMDipole::setup_grid() +void PPPMDipole::reset_grid() { // free all arrays previously allocated diff --git a/src/KSPACE/pppm_dipole.h b/src/KSPACE/pppm_dipole.h index 0239a9a0a8..3408a20086 100644 --- a/src/KSPACE/pppm_dipole.h +++ b/src/KSPACE/pppm_dipole.h @@ -30,7 +30,7 @@ class PPPMDipole : public PPPM { ~PPPMDipole() override; void init() override; void setup() override; - void setup_grid() override; + void reset_grid() override; void compute(int, int) override; int timing_1d(int, double &) override; int timing_3d(int, double &) override; diff --git a/src/KSPACE/pppm_disp.cpp b/src/KSPACE/pppm_disp.cpp index a056574cfd..75fbb046b9 100644 --- a/src/KSPACE/pppm_disp.cpp +++ b/src/KSPACE/pppm_disp.cpp @@ -794,7 +794,7 @@ void PPPMDisp::setup() called by fix balance b/c it changed sizes of processor sub-domains ------------------------------------------------------------------------- */ -void PPPMDisp::setup_grid() +void PPPMDisp::reset_grid() { // free all arrays previously allocated diff --git a/src/KSPACE/pppm_disp.h b/src/KSPACE/pppm_disp.h index 9ba3b61a12..5bcf7e01b0 100644 --- a/src/KSPACE/pppm_disp.h +++ b/src/KSPACE/pppm_disp.h @@ -34,7 +34,7 @@ class PPPMDisp : public KSpace { ~PPPMDisp() override; void init() override; void setup() override; - void setup_grid() override; + void reset_grid() override; void settings(int, char **) override; void compute(int, int) override; int timing_1d(int, double &) override; diff --git a/src/MISC/fix_ipi.cpp b/src/MISC/fix_ipi.cpp index 65e431146e..6cfb0cf8d5 100644 --- a/src/MISC/fix_ipi.cpp +++ b/src/MISC/fix_ipi.cpp @@ -374,9 +374,9 @@ void FixIPI::initial_integrate(int /*vflag*/) // kspace->setup() is in some cases not enough since, e.g., g_ewald needs // to be reestimated due to changes in box dimensions. force->init(); - // setup_grid() is necessary for pppm since init() is not calling - // setup() nor setup_grid() upon calling init(). - if (force->kspace->pppmflag) force->kspace->setup_grid(); + // reset_grid() is necessary for pppm since init() is not calling + // setup() nor reset_grid() upon calling init(). + if (force->kspace->pppmflag) force->kspace->reset_grid(); // other kspace styles might need too another setup()? } else if (!reset_flag && kspace_flag) { // original version diff --git a/src/balance.cpp b/src/balance.cpp index c67e561738..7fc5593ca3 100644 --- a/src/balance.cpp +++ b/src/balance.cpp @@ -27,6 +27,7 @@ #include "comm.h" #include "domain.h" #include "fix_store_peratom.h" +#include "force.h" #include "imbalance.h" #include "imbalance_group.h" #include "imbalance_neigh.h" @@ -36,6 +37,7 @@ #include "irregular.h" #include "memory.h" #include "modify.h" +#include "pair.h" #include "rcb.h" #include "error.h" @@ -366,6 +368,13 @@ void Balance::command(int narg, char **arg) if (outflag) dumpout(update->ntimestep); + // notify all classes that store distributed grids + // so they can adjust to new proc sub-domains + // no need to invoke kspace->reset_grid() b/c it does this in its init() + + modify->reset_grid(); + if (force->pair) force->pair->reset_grid(); + // check if any particles were lost bigint natoms; diff --git a/src/compute.h b/src/compute.h index 76aa99fe11..fa48d125f8 100644 --- a/src/compute.h +++ b/src/compute.h @@ -130,6 +130,8 @@ class Compute : protected Pointers { virtual int pack_reverse_comm(int, int, double *) { return 0; } virtual void unpack_reverse_comm(int, int *, double *) {} + virtual void reset_grid(){}; + virtual int get_grid_by_name(char *, int &) { return -1; }; virtual void *get_grid_by_index(int) { return nullptr; }; virtual int get_griddata_by_name(int, char *, int &) { return -1; }; diff --git a/src/compute_property_grid.cpp b/src/compute_property_grid.cpp index e419a3eaa9..4d4703834c 100644 --- a/src/compute_property_grid.cpp +++ b/src/compute_property_grid.cpp @@ -41,14 +41,14 @@ ComputePropertyGrid::ComputePropertyGrid(LAMMPS *lmp, int narg, char **arg) : dimension = domain->dimension; - nx = utils::inumeric(FLERR,arg[3],false,lmp); - ny = utils::inumeric(FLERR,arg[4],false,lmp); - nz = utils::inumeric(FLERR,arg[5],false,lmp); + nxgrid = utils::inumeric(FLERR,arg[3],false,lmp); + nygrid = utils::inumeric(FLERR,arg[4],false,lmp); + nzgrid = utils::inumeric(FLERR,arg[5],false,lmp); - if (dimension == 2 && nz != 1) + if (dimension == 2 && nzgrid != 1) error->all(FLERR,"Compute property/grid for 2d requires nz = 1"); - if (nx <= 0 || ny <= 0 || nz <= 0) + if (nxgrid <= 0 || nygrid <= 0 || nzgrid <= 0) error->all(FLERR, "Illegal compute property/grid command"); nvalues = narg - 6; @@ -108,36 +108,9 @@ ComputePropertyGrid::ComputePropertyGrid(LAMMPS *lmp, int narg, char **arg) : } else error->all(FLERR, "Illegal compute property/grid command"); } - // instantiate the Grid class and allocate per-grid memory + // initial setup of distributed grid - if (dimension == 2) { - grid2d = new Grid2d(lmp, world, nx, ny, 0, 0.0, 0.0, - nxlo_in, nxhi_in, nylo_in, nyhi_in, - nxlo_out, nxhi_out, nylo_out, nyhi_out); - if (nvalues == 1) - memory->create2d_offset(vec2d, nylo_out, nyhi_out, nxlo_out, nxhi_out, - "property/grid:vec2d"); - else - memory->create3d_offset_last(array2d, nylo_out, nyhi_out, nxlo_out, - nxhi_out, nvalues, "property/grid:array2d"); - ngridout = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1); - - } else { - grid3d = new Grid3d(lmp, world, nx, ny, nz, 0, 0.0, 0.0, - nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, nzhi_in, - nxlo_out, nxhi_out, nylo_out, nyhi_out, - nzlo_out, nzhi_out); - if (nvalues == 1) - memory->create3d_offset(vec3d, nzlo_out, nzhi_out, nylo_out, - nyhi_out, nxlo_out, - nxhi_out, "property/grid:vec3d"); - else - memory->create4d_offset_last(array3d, nzlo_out, nzhi_out, nylo_out, - nyhi_out, nxlo_out, - nxhi_out, nvalues, "property/grid:array3d"); - ngridout = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1) * - (nzhi_out - nzlo_out + 1); - } + allocate_grid(); } /* ---------------------------------------------------------------------- */ @@ -146,12 +119,7 @@ ComputePropertyGrid::~ComputePropertyGrid() { delete[] pack_choice; - delete grid2d; - delete grid3d; - memory->destroy2d_offset(vec2d,nylo_out,nxlo_out); - memory->destroy2d_offset(array2d,nylo_out,nxlo_out); - memory->destroy3d_offset(vec3d,nzlo_out,nylo_out,nxlo_out); - memory->destroy4d_offset_last(array3d,nzlo_out,nylo_out,nxlo_out); + deallocate_grid(); } /* ---------------------------------------------------------------------- */ @@ -160,19 +128,6 @@ void ComputePropertyGrid::compute_pergrid() { invoked_pergrid = update->ntimestep; - // set current size for portion of grid on each proc - // may change between compute invocations due to load balancing - - if (dimension == 2) - grid2d->get_bounds(nxlo_in,nxhi_in,nylo_in,nyhi_in); - else - grid3d->get_bounds(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in); - - // reallocate data vector or array if changed - // NOTE: still need to implement - - - // fill data vector or array with values for my grid pts if (nvalues == 1) { @@ -182,6 +137,18 @@ void ComputePropertyGrid::compute_pergrid() } } +/* ---------------------------------------------------------------------- + subset of grid assigned to each proc may have changed + deallocate and reallocate Grid class and local data structs + called by load balancer when proc subdomains are adjusted +---------------------------------------------------------------------- */ + +void ComputePropertyGrid::reset_grid() +{ + deallocate_grid(); + allocate_grid(); +} + /* ---------------------------------------------------------------------- return index of grid associated with name this class can store M named grids, indexed 0 to M-1 @@ -257,6 +224,54 @@ void *ComputePropertyGrid::get_griddata_by_index(int index) return nullptr; } +/* ---------------------------------------------------------------------- + instantiate the Grid class and allocate local per-grid memory +---------------------------------------------------------------------- */ + +void ComputePropertyGrid::allocate_grid() +{ + if (dimension == 2) { + grid2d = new Grid2d(lmp, world, nxgrid, nygrid, 0, 0.0, 0.0, + nxlo_in, nxhi_in, nylo_in, nyhi_in, + nxlo_out, nxhi_out, nylo_out, nyhi_out); + if (nvalues == 1) + memory->create2d_offset(vec2d, nylo_out, nyhi_out, nxlo_out, nxhi_out, + "property/grid:vec2d"); + else + memory->create3d_offset_last(array2d, nylo_out, nyhi_out, nxlo_out, + nxhi_out, nvalues, "property/grid:array2d"); + ngridout = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1); + + } else { + grid3d = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid, 0, 0.0, 0.0, + nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, nzhi_in, + nxlo_out, nxhi_out, nylo_out, nyhi_out, + nzlo_out, nzhi_out); + if (nvalues == 1) + memory->create3d_offset(vec3d, nzlo_out, nzhi_out, nylo_out, + nyhi_out, nxlo_out, + nxhi_out, "property/grid:vec3d"); + else + memory->create4d_offset_last(array3d, nzlo_out, nzhi_out, nylo_out, + nyhi_out, nxlo_out, + nxhi_out, nvalues, "property/grid:array3d"); + ngridout = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1) * + (nzhi_out - nzlo_out + 1); + } +} + +/* ---------------------------------------------------------------------- */ + +void ComputePropertyGrid::deallocate_grid() +{ + delete grid2d; + delete grid3d; + memory->destroy2d_offset(vec2d,nylo_out,nxlo_out); + memory->destroy2d_offset(array2d,nylo_out,nxlo_out); + memory->destroy3d_offset(vec3d,nzlo_out,nylo_out,nxlo_out); + memory->destroy4d_offset_last(array3d,nzlo_out,nylo_out,nxlo_out); +} + /* ---------------------------------------------------------------------- memory usage of grid data ------------------------------------------------------------------------- */ @@ -277,23 +292,23 @@ void ComputePropertyGrid::pack_id(int n) if (nvalues == 0) { for (int iy = nylo_in; iy <= nyhi_in; iy++) for (int ix = nxlo_in; ix <= nxhi_in; ix++) - vec2d[iy][ix] = iy*nx + ix + 1; + vec2d[iy][ix] = iy*nxgrid + ix + 1; } else { for (int iy = nylo_in; iy <= nyhi_in; iy++) for (int ix = nxlo_in; ix <= nxhi_in; ix++) - array2d[iy][ix][n] = iy*nx + ix + 1; + array2d[iy][ix][n] = iy*nxgrid + ix + 1; } } else if (dimension == 3) { if (nvalues == 0) { for (int iz = nzlo_in; iz <= nzhi_in; iz++) for (int iy = nylo_in; iy <= nyhi_in; iy++) for (int ix = nxlo_in; ix <= nxhi_in; ix++) - vec3d[iz][iy][ix] = iz*ny*nx + iy*nx + ix + 1; + vec3d[iz][iy][ix] = iz*nygrid*nxgrid + iy*nxgrid + ix + 1; } else { for (int iz = nzlo_in; iz <= nzhi_in; iz++) for (int iy = nylo_in; iy <= nyhi_in; iy++) for (int ix = nxlo_in; ix <= nxhi_in; ix++) - array3d[iz][iy][ix][n] = iz*ny*nx + iy*nx + ix + 1; + array3d[iz][iy][ix][n] = iz*nygrid*nxgrid + iy*nxgrid + ix + 1; } } } @@ -463,7 +478,7 @@ void ComputePropertyGrid::pack_z(int n) void ComputePropertyGrid::pack_xs(int n) { - double dx = 1.0/nx; + double dx = 1.0/nxgrid; if (dimension == 2) { if (nvalues == 0) { @@ -494,7 +509,7 @@ void ComputePropertyGrid::pack_xs(int n) void ComputePropertyGrid::pack_ys(int n) { - double dy = 1.0/ny; + double dy = 1.0/nygrid; if (dimension == 2) { if (nvalues == 0) { @@ -525,7 +540,7 @@ void ComputePropertyGrid::pack_ys(int n) void ComputePropertyGrid::pack_zs(int n) { - double dz = 1.0/nz; + double dz = 1.0/nzgrid; if (nvalues == 0) { for (int iz = nzlo_in; iz <= nzhi_in; iz++) @@ -630,7 +645,7 @@ void ComputePropertyGrid::pack_zc(int n) void ComputePropertyGrid::pack_xsc(int n) { - double dx = 1.0/nx; + double dx = 1.0/nxgrid; if (dimension == 2) { if (nvalues == 0) { @@ -661,7 +676,7 @@ void ComputePropertyGrid::pack_xsc(int n) void ComputePropertyGrid::pack_ysc(int n) { - double dy = 1.0/ny; + double dy = 1.0/nygrid; if (dimension == 2) { if (nvalues == 0) { @@ -692,7 +707,7 @@ void ComputePropertyGrid::pack_ysc(int n) void ComputePropertyGrid::pack_zsc(int n) { - double dz = 1.0/nz; + double dz = 1.0/nzgrid; if (nvalues == 0) { for (int iz = nzlo_in; iz <= nzhi_in; iz++) diff --git a/src/compute_property_grid.h b/src/compute_property_grid.h index 84c39dfcd0..4948888ca7 100644 --- a/src/compute_property_grid.h +++ b/src/compute_property_grid.h @@ -31,15 +31,17 @@ class ComputePropertyGrid : public Compute { void init() override {} void compute_pergrid() override; - int get_grid_by_name(char *, int &); - void *get_grid_by_index(int); - int get_griddata_by_name(int, char *, int &); - void *get_griddata_by_index(int); + void reset_grid() override; + + int get_grid_by_name(char *, int &) override; + void *get_grid_by_index(int) override; + int get_griddata_by_name(int, char *, int &) override; + void *get_griddata_by_index(int) override; double memory_usage() override; private: - int nx,ny,nz; + int nxgrid,nygrid,nzgrid; int nvalues; int dimension; @@ -53,6 +55,11 @@ class ComputePropertyGrid : public Compute { double **vec2d,***vec3d; double ***array2d,****array3d; + // local methods + + void allocate_grid(); + void deallocate_grid(); + typedef void (ComputePropertyGrid::*FnPtrPack)(int); FnPtrPack *pack_choice; // ptrs to pack functions diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp index 9389839aca..1a7b3a5917 100644 --- a/src/dump_custom.cpp +++ b/src/dump_custom.cpp @@ -1149,6 +1149,7 @@ int DumpCustom::count() void DumpCustom::pack(tagint *ids) { for (int n = 0; n < size_one; n++) (this->*pack_choice[n])(n); + if (ids) { tagint *tag = atom->tag; for (int i = 0; i < nchoose; i++) diff --git a/src/dump_grid.cpp b/src/dump_grid.cpp index fc3bc7e7b9..4dad0d611e 100644 --- a/src/dump_grid.cpp +++ b/src/dump_grid.cpp @@ -43,7 +43,6 @@ enum{COMPUTE,FIX}; DumpGrid::DumpGrid(LAMMPS *lmp, int narg, char **arg) : Dump(lmp, narg, arg), idregion(nullptr), earg(nullptr), vtype(nullptr), vformat(nullptr), columns(nullptr), columns_default(nullptr), - choose(nullptr), dchoose(nullptr), clist(nullptr), field2index(nullptr), field2grid(nullptr), field2data(nullptr), argindex(nullptr), id_compute(nullptr), compute(nullptr), id_fix(nullptr), fix(nullptr), pack_choice(nullptr) @@ -91,7 +90,8 @@ DumpGrid::DumpGrid(LAMMPS *lmp, int narg, char **arg) : if (ioptional < nfield && strcmp(style,"image") != 0 && strcmp(style,"movie") != 0) - error->all(FLERR,"Invalid attribute {} in dump {} command",earg[ioptional],style); + error->all(FLERR,"Invalid attribute {} in dump {} command", + earg[ioptional],style); // noptional = # of optional args // reset nfield to subtract off optional args @@ -272,7 +272,7 @@ void DumpGrid::init_style() Grid2d *grid2d; Grid3d *grid3d; - int nx,ny,nz,nxtmp,nytmp,nztmp; + int nxtmp,nytmp,nztmp; for (int i = 0; i < nfield; i++) { if (dimension == 2) { @@ -283,10 +283,10 @@ void DumpGrid::init_style() ifix = fix[field2index[i]]; grid2d = (Grid2d *) ifix->get_grid_by_index(field2grid[i]); } - if (i == 0) grid2d->get_size(nx,ny); + if (i == 0) grid2d->get_size(nxgrid,nygrid); else { grid2d->get_size(nxtmp,nytmp); - if (nxtmp != nx || nytmp != ny) + if (nxtmp != nxgrid || nytmp != nygrid) error->all(FLERR,"Dump grid field grid sizes do not match"); } @@ -298,10 +298,10 @@ void DumpGrid::init_style() ifix = fix[field2index[i]]; grid3d = (Grid3d *) ifix->get_grid_by_index(field2grid[i]); } - if (i == 0) grid3d->get_size(nx,ny,nz); + if (i == 0) grid3d->get_size(nxgrid,nygrid,nzgrid); else { grid3d->get_size(nxtmp,nytmp,nztmp); - if (nxtmp != nx || nytmp != ny || nztmp != nz) + if (nxtmp != nxgrid || nytmp != nygrid || nztmp != nzgrid) error->all(FLERR,"Dump grid field grid sizes do not match"); } } @@ -505,23 +505,6 @@ int DumpGrid::count() { int i; - // grow choose arrays if needed - // NOTE: needs to change - - /* - const int nlocal = atom->nlocal; - if (atom->nmax > maxlocal) { - maxlocal = atom->nmax; - - memory->destroy(choose); - memory->destroy(dchoose); - memory->destroy(clist); - memory->create(choose,maxlocal,"dump:choose"); - memory->create(dchoose,maxlocal,"dump:dchoose"); - memory->create(clist,maxlocal,"dump:clist"); - } - */ - // set current size for portion of grid on each proc // may change between dump snapshots due to load balancing @@ -575,38 +558,6 @@ int DumpGrid::count() ngrid = (nxhi_in-nxlo_in+1) * (nyhi_in-nylo_in+1) * (nzhi_in-nzlo_in+1); return ngrid; - - // choose all local grid pts for output - // NOTE: this needs to change - - //for (i = 0; i < nlocal; i++) choose[i] = 1; - - // un-choose if not in region - // NOTE: this needs to change - - /* - if (idregion) { - auto region = domain->get_region_by_id(idregion); - region->prematch(); - double **x = atom->x; - for (i = 0; i < nlocal; i++) - if (choose[i] && region->match(x[i][0],x[i][1],x[i][2]) == 0) - choose[i] = 0; - } - */ - - // compress choose flags into clist - // nchoose = # of selected atoms - // clist[i] = local index of each selected atom - // NOTE: this neds to change - - /* - nchoose = 0; - for (i = 0; i < nlocal; i++) - if (choose[i]) clist[nchoose++] = i; - - return nchoose; - */ } /* ---------------------------------------------------------------------- */ @@ -615,14 +566,21 @@ void DumpGrid::pack(tagint *ids) { for (int n = 0; n < size_one; n++) (this->*pack_choice[n])(n); - // NOTE: this needs to be grid IDs ? - /* + // ids = list of my grid IDs + if (ids) { - tagint *tag = atom->tag; - for (int i = 0; i < nchoose; i++) - ids[i] = tag[clist[i]]; + int m = 0; + if (dimension == 2) { + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + ids[m++] = iy*nxgrid + ix + 1; + } else if (dimension == 3) { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + ids[m++] = iz*nygrid*nxgrid + iy*nxgrid + ix + 1; + } } - */ } /* ---------------------------------------------------------------------- @@ -963,10 +921,6 @@ int DumpGrid::modify_param(int narg, char **arg) double DumpGrid::memory_usage() { double bytes = Dump::memory_usage(); - //NOTE: restore if use choose - //bytes += memory->usage(choose,maxlocal); - //bytes += memory->usage(dchoose,maxlocal); - //bytes += memory->usage(clist,maxlocal); return bytes; } diff --git a/src/dump_grid.h b/src/dump_grid.h index 1e5923d884..edf21688b9 100644 --- a/src/dump_grid.h +++ b/src/dump_grid.h @@ -49,11 +49,7 @@ class DumpGrid : public Dump { int dimension; - int nchoose; // # of selected atoms - int maxlocal; // size of atom selection and variable arrays - int *choose; // local indices of selected atoms - double *dchoose; // value for each atom to threshold against - int *clist; // compressed list of indices of selected atoms + int nxgrid,nygrid,nzgrid; // global grid size int nfield; // # of keywords listed by user int ioptional; // index of start of optional args diff --git a/src/fix.h b/src/fix.h index aaf3c4799f..c16c781648 100644 --- a/src/fix.h +++ b/src/fix.h @@ -211,6 +211,8 @@ class Fix : protected Pointers { virtual int pack_reverse_comm(int, int, double *) { return 0; } virtual void unpack_reverse_comm(int, int *, double *) {} + virtual void reset_grid(){}; + virtual void pack_forward_grid(int, void *, int, int *){}; virtual void unpack_forward_grid(int, void *, int, int *){}; virtual void pack_reverse_grid(int, void *, int, int *){}; diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index 82765c7da1..05acc7cd9e 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -691,6 +691,17 @@ void FixAveGrid::end_of_step() } } +/* ---------------------------------------------------------------------- + subset of grid assigned to each proc may have changed + called by load balancer when proc subdomains are adjusted + not supported for now, b/c requires per-grid values to persist, i.e. a remap() +------------------------------------------------------------------------- */ + +void FixAveGrid::reset_grid() +{ + error->all(FLERR,"Fix ave/grid does not support load balancing (yet)"); +} + /* ---------------------------------------------------------------------- sum per-atom contributions to owned+ghost grid cells sets one of vec2d,array2d,vec3d,array3d diff --git a/src/fix_ave_grid.h b/src/fix_ave_grid.h index 9a675852a1..60fc7248fe 100644 --- a/src/fix_ave_grid.h +++ b/src/fix_ave_grid.h @@ -32,6 +32,9 @@ class FixAveGrid : public Fix { void init() override; void setup(int) override; void end_of_step() override; + + void reset_grid() override; + int get_grid_by_name(char *, int &) override; void *get_grid_by_index(int) override; int get_griddata_by_name(int, char *, int &) override; diff --git a/src/fix_balance.cpp b/src/fix_balance.cpp index 1ce3c212d4..2a4d64a34b 100644 --- a/src/fix_balance.cpp +++ b/src/fix_balance.cpp @@ -25,6 +25,7 @@ #include "kspace.h" #include "modify.h" #include "neighbor.h" +#include "pair.h" #include "rcb.h" #include "update.h" @@ -155,9 +156,6 @@ void FixBalance::post_constructor() void FixBalance::init() { - if (force->kspace) kspace_flag = 1; - else kspace_flag = 0; - balance->init_imbalance(1); } @@ -278,11 +276,13 @@ void FixBalance::rebalance() } // reset proc sub-domains - // check and warn if any proc's subbox is smaller than neigh skin - // since may lead to lost atoms in comm->exchange() if (domain->triclinic) domain->set_lamda_box(); domain->set_local_box(); + + // check and warn if any proc's subbox is smaller than neigh skin + // since may lead to lost atoms in comm->exchange() + domain->subbox_too_small_check(neighbor->skin); // output of new decomposition @@ -303,9 +303,12 @@ void FixBalance::rebalance() else if (irregular->migrate_check()) irregular->migrate_atoms(); if (domain->triclinic) domain->lamda2x(atom->nlocal); - // invoke KSpace setup_grid() to adjust to new proc sub-domains + // notify all classes that store distributed grids + // so they can adjust to new proc sub-domains - if (kspace_flag) force->kspace->setup_grid(); + modify->reset_grid(); + if (force->pair) force->pair->reset_grid(); + if (force->kspace) force->kspace->reset_grid(); // pending triggers pre_neighbor() to compute final imbalance factor // can only be done after atoms migrate in comm->exchange() diff --git a/src/fix_balance.h b/src/fix_balance.h index 0a67825daa..f81443351a 100644 --- a/src/fix_balance.h +++ b/src/fix_balance.h @@ -43,16 +43,15 @@ class FixBalance : public Fix { int nevery, lbstyle, nitermax; double thresh, stopthresh; char bstr[4]; - int wtflag; // 1 for weighted balancing + int wtflag; // 1 for weighted balancing double imbnow; // current imbalance factor double imbprev; // imbalance factor before last rebalancing double imbfinal; // imbalance factor after last rebalancing double maxloadperproc; // max load on any processor int itercount; // iteration count of last call to Balance - int kspace_flag; // 1 if KSpace solver defined int pending; - bigint lastbalance; // last timestep balancing was attempted + bigint lastbalance; // last timestep balancing was attempted class Balance *balance; class Irregular *irregular; diff --git a/src/kspace.h b/src/kspace.h index 3dca77c3c3..24d0b99355 100644 --- a/src/kspace.h +++ b/src/kspace.h @@ -124,7 +124,7 @@ class KSpace : protected Pointers { virtual void settings(int, char **){}; virtual void init() = 0; virtual void setup() = 0; - virtual void setup_grid(){}; + virtual void reset_grid(){}; virtual void compute(int, int) = 0; virtual void compute_group_group(int, int, int){}; diff --git a/src/modify.cpp b/src/modify.cpp index aac08bb31e..2b256febdc 100644 --- a/src/modify.cpp +++ b/src/modify.cpp @@ -791,6 +791,19 @@ int Modify::min_reset_ref() return itmpall; } +/* ---------------------------------------------------------------------- + reset grids for any Fix or Compute that uses distributed grids + called by load balancer when proc sub-domains change +------------------------------------------------------------------------- */ + +void Modify::reset_grid() +{ + for (int i = 0; i < nfix; i++) + if (fix[i]->pergrid_flag) fix[i]->reset_grid(); + for (int i = 0; i < ncompute; i++) + if (compute[i]->pergrid_flag) compute[i]->reset_grid(); +} + /* ---------------------------------------------------------------------- add a new fix or replace one with same ID ------------------------------------------------------------------------- */ diff --git a/src/modify.h b/src/modify.h index 820b957033..56b82def8d 100644 --- a/src/modify.h +++ b/src/modify.h @@ -101,6 +101,8 @@ class Modify : protected Pointers { virtual int min_dof(); virtual int min_reset_ref(); + void reset_grid(); + Fix *add_fix(int, char **, int trysuffix = 1); Fix *add_fix(const std::string &, int trysuffix = 1); Fix *replace_fix(const char *, int, char **, int trysuffix = 1); diff --git a/src/pair.h b/src/pair.h index 048abb6bb9..14dc6d2e65 100644 --- a/src/pair.h +++ b/src/pair.h @@ -203,6 +203,8 @@ class Pair : protected Pointers { virtual int pack_reverse_comm(int, int, double *) { return 0; } virtual void unpack_reverse_comm(int, int *, double *) {} + virtual void reset_grid() {} + virtual void pack_forward_grid(int, void *, int, int *) {} virtual void unpack_forward_grid(int, void *, int, int *) {} virtual void pack_reverse_grid(int, void *, int, int *) {} From 8b637b5b7055f4c82ffee005737444c9088ee8a0 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 11 Aug 2022 13:51:42 -0600 Subject: [PATCH 023/142] error check for particle mapping to grid --- src/EXTRA-FIX/fix_ttm_grid.cpp | 2 +- src/compute_property_grid.cpp | 4 ++-- src/fix_ave_grid.cpp | 44 ++++++++++++++++++++++++++-------- 3 files changed, 37 insertions(+), 13 deletions(-) diff --git a/src/EXTRA-FIX/fix_ttm_grid.cpp b/src/EXTRA-FIX/fix_ttm_grid.cpp index 7e210c022e..02e2c31826 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.cpp +++ b/src/EXTRA-FIX/fix_ttm_grid.cpp @@ -455,7 +455,7 @@ void FixTTMGrid::allocate_grid() { double maxdist = 0.5 * neighbor->skin; - grid = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid, 1, maxdist, SHIFT, + grid = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid, maxdist, 1, SHIFT, nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, nzhi_in, nxlo_out, nxhi_out, nylo_out, nyhi_out, nzlo_out, nzhi_out); diff --git a/src/compute_property_grid.cpp b/src/compute_property_grid.cpp index 4d4703834c..1e83c0eb28 100644 --- a/src/compute_property_grid.cpp +++ b/src/compute_property_grid.cpp @@ -231,7 +231,7 @@ void *ComputePropertyGrid::get_griddata_by_index(int index) void ComputePropertyGrid::allocate_grid() { if (dimension == 2) { - grid2d = new Grid2d(lmp, world, nxgrid, nygrid, 0, 0.0, 0.0, + grid2d = new Grid2d(lmp, world, nxgrid, nygrid, 0.0, 0, 0.0, nxlo_in, nxhi_in, nylo_in, nyhi_in, nxlo_out, nxhi_out, nylo_out, nyhi_out); if (nvalues == 1) @@ -243,7 +243,7 @@ void ComputePropertyGrid::allocate_grid() ngridout = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1); } else { - grid3d = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid, 0, 0.0, 0.0, + grid3d = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid, 0.0, 0, 0.0, nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, nzhi_in, nxlo_out, nxhi_out, nylo_out, nyhi_out, nzlo_out, nzhi_out); diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index 05acc7cd9e..04e9b8362f 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -24,6 +24,7 @@ #include "input.h" #include "memory.h" #include "modify.h" +#include "neighbor.h" #include "update.h" #include "variable.h" @@ -387,17 +388,22 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : } // instantiate the Grid class and allocate per-grid memory - // NOTE: need to extend ghost grid for ATOM mode ? - if (modeatom) shift = OFFSET + SHIFT; - else shift = 0.0; + double maxdist,shift; + + if (modeatom) { + maxdist = 0.5 * neighbor->skin; + shift = SHIFT; + } else if (modegrid) { + maxdist = 0.0; + shift = 0.0; + } if (dimension == 2) { - if (modeatom) - grid2d = new Grid2d(lmp, world, nxgrid, nygrid, 0, 0.0, shift, + grid2d = new Grid2d(lmp, world, nxgrid, nygrid, maxdist, 0, shift, nxlo_in, nxhi_in, nylo_in, nyhi_in, nxlo_out, nxhi_out, nylo_out, nyhi_out); - + grid2d->setup(ngrid_buf1, ngrid_buf2); memory->create(grid_buf1, ngrid_buf1, "ave/grid:grid_buf1"); memory->create(grid_buf2, ngrid_buf2, "ave/grid:grid_buf2"); @@ -416,7 +422,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : "ave/grid:count2d"); } else { - grid3d = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid, 0, 0.0, shift, + grid3d = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid, maxdist, 0, shift, nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, nzhi_in, nxlo_out, nxhi_out, nylo_out, nyhi_out, nzlo_out, nzhi_out); @@ -644,7 +650,7 @@ void FixAveGrid::end_of_step() if (modeatom) modify->addstep_compute(nvalid); // ghost to owned grid communication for atom mode - // NOTE: still need to implement pack/unpack methods + // NOTE: still need to implement pack/unpack methods, for count as well? if (modeatom) { if (dimension == 2) @@ -715,9 +721,8 @@ void FixAveGrid::atom2grid() // bin[i][dim] = indices of bin each atom is in // not set if group mask does not match // also count atoms contributing to each bin + // check if any atom is out of bounds for my local grid - // NOTE: error check if any atom out of grid bounds? - double *boxlo = domain->boxlo; double dxinv = nxgrid/domain->xprd; double dyinv = nygrid/domain->yprd; @@ -733,11 +738,20 @@ void FixAveGrid::atom2grid() memory->create(bin,maxatom,dimension,"ave/grid:bin"); } + int flag = 0; + if (dimension == 2) { for (i = 0; i < nlocal; i++) { if (!(mask[i] & groupbit)) continue; ix = static_cast ((x[i][0]-boxlo[0])*dxinv + shift) - OFFSET; iy = static_cast ((x[i][1]-boxlo[1])*dyinv + shift) - OFFSET; + + if (ix < nxlo_out || ix > nxhi_out || + iy < nylo_out || iy > nyhi_out) { + flag = 1; + continue; + } + count2d[iy][ix] += 1.0; bin[i][0] = iy; bin[i][1] = ix; @@ -748,6 +762,14 @@ void FixAveGrid::atom2grid() ix = static_cast ((x[i][0]-boxlo[0])*dxinv + shift) - OFFSET; iy = static_cast ((x[i][1]-boxlo[1])*dyinv + shift) - OFFSET; iz = static_cast ((x[i][2]-boxlo[2])*dzinv + shift) - OFFSET; + + if (ix < nxlo_out || ix > nxhi_out || + iy < nylo_out || iy > nyhi_out || + iz < nzlo_out || iz > nzhi_out) { + flag = 1; + continue; + } + count3d[iz][iy][ix] += 1.0; bin[i][0] = iz; bin[i][1] = iy; @@ -755,6 +777,8 @@ void FixAveGrid::atom2grid() } } + if (flag) error->one(FLERR,"Out of range fix ave/grid atoms"); + // loop over user-specified values for (m = 0; m < nvalues; m++) { From 9750c72822d3e520383c5d707452250f4961e3dc Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 12 Aug 2022 10:50:19 -0600 Subject: [PATCH 024/142] output of fix ave/grid --- src/fix_ave_chunk.cpp | 1 - src/fix_ave_grid.cpp | 267 +++++++++++++++++++++++++++++++----------- src/fix_ave_grid.h | 4 + 3 files changed, 200 insertions(+), 72 deletions(-) diff --git a/src/fix_ave_chunk.cpp b/src/fix_ave_chunk.cpp index f3242cac54..ce549335a2 100644 --- a/src/fix_ave_chunk.cpp +++ b/src/fix_ave_chunk.cpp @@ -38,7 +38,6 @@ enum{SAMPLE,ALL}; enum{NOSCALE,ATOM}; enum{ONE,RUNNING,WINDOW}; - /* ---------------------------------------------------------------------- */ FixAveChunk::FixAveChunk(LAMMPS *lmp, int narg, char **arg) : diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index 04e9b8362f..7678832d0d 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -169,6 +169,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : // optional args + /* normflag = ALL; scaleflag = ATOM; ave = ONE; @@ -204,6 +205,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : } else error->all(FLERR,"Illegal fix ave/grid command"); } + */ // if wildcard expansion occurred, free earg memory from exapnd_args() @@ -449,7 +451,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : "ave/grid:vec3d"); } - // zero the grid since dump may access it on timestep 0 + // zero the grid and counts since dump may access it on timestep 0 zero_grid(); @@ -607,25 +609,11 @@ void FixAveGrid::end_of_step() if (ntimestep != nvalid) return; nvalid_last = nvalid; - // zero owned and ghost grid points if first step - // zero atom count per bin for ATOM mode - // NOTE: when should counts be zeroed - // NOTE: is anything normalized by count ? - // NOTE: can count be output ? + // zero owned and ghost grid points and counts if first sample in epoch if (irepeat == 0) zero_grid(); - if (modeatom) { - if (dimension == 2) { - if (ngridout) memset(&count2d[nylo_out][nxlo_out],0, - ngridout*sizeof(double)); - } else { - if (ngridout) memset(&count3d[nzlo_out][nylo_out][nxlo_out],0, - ngridout*sizeof(double)); - } - } - - // set local per-grid values for either ATOM or GRID mode + // accumulate per-grid values for one sample for either ATOM or GRID mode // per-atom compute/fix/variable may invoke computes so wrap with clear/add if (modeatom) { @@ -649,15 +637,15 @@ void FixAveGrid::end_of_step() nvalid = ntimestep+pergrid_freq - ((bigint) nrepeat-1)*nevery; if (modeatom) modify->addstep_compute(nvalid); - // ghost to owned grid communication for atom mode - // NOTE: still need to implement pack/unpack methods, for count as well? + // for ATOM mode, perform ghost to owned grid communication + // nvalues + 1 more for atom count if (modeatom) { if (dimension == 2) - grid2d->reverse_comm(Grid2d::FIX,this,1,sizeof(double),0, + grid2d->reverse_comm(Grid2d::FIX,this,nvalues+1,sizeof(double),0, grid_buf1,grid_buf2,MPI_DOUBLE); else - grid3d->reverse_comm(Grid3d::FIX,this,1,sizeof(double),0, + grid3d->reverse_comm(Grid3d::FIX,this,nvalues+1,sizeof(double),0, grid_buf1,grid_buf2,MPI_DOUBLE); } @@ -665,47 +653,91 @@ void FixAveGrid::end_of_step() if (ngridout == 0) return; - // average the final result for the Nfreq timestep - // just loop over owned grid points - - double invrepeat = 1.0/nrepeat; + // average the final results for the Nfreq output + // for ATOM mode, divide total values by total count + // for GRID mode, divide total values by # of samples - if (dimension == 2) { - if (nvalues == 1) { - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - vec2d[iy][ix] *= invrepeat; + if (modeatom) { + double count,invcount; + + if (dimension == 2) { + if (nvalues == 1) { + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) { + count = count2d[iy][ix]; + if (count) { + vec2d[iy][ix] /= count; + count2d[iy][iz] /= nrepeat; + } + } + } else { + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) { + count = count2d[iy][ix]; + if (count) { + invcount = 1.0/count; + for (m = 0; m <= nvalues; m++) + array2d[iy][ix][m] *= invcount; + count2d[iy][iz] /= nrepeat; + } + } + } } else { - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - for (m = 0; m <= nvalues; m++) - array2d[iy][ix][m] *= invrepeat; - } - } else { - if (nvalues == 1) { - for (iz = nzlo_in; iz <= nzhi_in; iz++) - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - vec3d[iz][iy][ix] *= invrepeat; - } else { - for (iz = nzlo_in; iz <= nzhi_in; iz++) - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - for (m = 0; m <= nvalues; m++) - array3d[iz][iy][ix][m] *= invrepeat; + if (nvalues == 1) { + for (iz = nzlo_in; iz <= nzhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) { + count = count3d[iz][iy][ix]; + if (count) { + vec3d[iz][iy][ix] /= count; + count3d[iz][iy][iz] /= nrepeat; + } + } + } else { + for (iz = nzlo_in; iz <= nzhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) { + count = count3d[iz][iy][ix]; + if (count) { + invcount = 1.0/count; + for (m = 0; m <= nvalues; m++) + array3d[iz][iy][ix][m] *= invcount; + count3d[iz][iy][iz] /= nrepeat; + } + } + } } } -} -/* ---------------------------------------------------------------------- - subset of grid assigned to each proc may have changed - called by load balancer when proc subdomains are adjusted - not supported for now, b/c requires per-grid values to persist, i.e. a remap() -------------------------------------------------------------------------- */ + if (modegrid) { + double invrepeat = 1.0/nrepeat; -void FixAveGrid::reset_grid() -{ - error->all(FLERR,"Fix ave/grid does not support load balancing (yet)"); + if (dimension == 2) { + if (nvalues == 1) { + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + vec2d[iy][ix] *= invrepeat; + } else { + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + for (m = 0; m <= nvalues; m++) + array2d[iy][ix][m] *= invrepeat; + } + } else { + if (nvalues == 1) { + for (iz = nzlo_in; iz <= nzhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + vec3d[iz][iy][ix] *= invrepeat; + } else { + for (iz = nzlo_in; iz <= nzhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + for (m = 0; m <= nvalues; m++) + array3d[iz][iy][ix][m] *= invrepeat; + } + } + } } /* ---------------------------------------------------------------------- @@ -1021,29 +1053,119 @@ void FixAveGrid::grid2grid() /* ---------------------------------------------------------------------- zero grid values incluing ghost cells + if ATOM mode, also zero per-cell counts ------------------------------------------------------------------------- */ void FixAveGrid::zero_grid() { + if (!ngridout) return; + if (dimension == 2) { - if (nvalues == 1) { - if (ngridout) memset(&vec2d[nylo_out][nxlo_out],0, - ngridout*sizeof(double)); - } else { - if (ngridout) memset(&array2d[nylo_out][nxlo_out][0],0, - ngridout*nvalues*sizeof(double)); + if (nvalues == 1) + memset(&vec2d[nylo_out][nxlo_out],0, ngridout*sizeof(double)); + else + memset(&array2d[nylo_out][nxlo_out][0],0,ngridout*nvalues*sizeof(double)); + if (modeatom) + memset(&count2d[nylo_out][nxlo_out],0,ngridout*sizeof(double)); + } else { + if (nvalues == 1) + memset(&vec3d[nzlo_out][nylo_out][nxlo_out],0,ngridout*sizeof(double)); + else + memset(&array3d[nzlo_out][nylo_out][nxlo_out][0],0, + ngridout*nvalues*sizeof(double)); + if (modeatom) + memset(&count3d[nzlo_out][nylo_out][nxlo_out],0,ngridout*sizeof(double)); + } +} + +/* ---------------------------------------------------------------------- + pack ghost values into buf to send to another proc + nvalues per grid point + count +------------------------------------------------------------------------- */ + +void FixAveGrid::pack_reverse_grid(int /*flag*/, void *vbuf, int nlist, int *list) +{ + int i,j,m; + + auto buf = (double *) vbuf; + double *count,*data,*values; + m = 0; + + if (dimension == 2) { + count = &count2d[nylo_out][nxlo_out]; + if (nvalues == 1) data = &vec2d[nylo_out][nxlo_out]; + else data = &array2d[nylo_out][nxlo_out][0]; + } else if (dimension == 3) { + count = &count3d[nzlo_out][nylo_out][nxlo_out]; + if (nvalues == 1) data = &vec3d[nzlo_out][nylo_out][nxlo_out]; + else data = &array3d[nzlo_out][nylo_out][nxlo_out][0]; + } + + if (nvalues == 1) { + for (i = 0; i < nlist; i++) { + buf[m++] = count[list[i]]; + buf[m++] = data[list[i]]; } } else { - if (nvalues == 1) { - if (ngridout) memset(&vec3d[nzlo_out][nylo_out][nxlo_out],0, - ngridout*sizeof(double)); - } else { - if (ngridout) memset(&array3d[nzlo_out][nylo_out][nxlo_out][0],0, - ngridout*nvalues*sizeof(double)); + for (i = 0; i < nlist; i++) { + buf[m++] = count[list[i]]; + values = &data[nvalues*list[i]]; + for (j = 0; j <= nvalues; j++) + buf[m++] = values[j]; } } } +/* ---------------------------------------------------------------------- + unpack another proc's ghost values from buf and add to own values + nvalues per grid point + count +------------------------------------------------------------------------- */ + +void FixAveGrid::unpack_reverse_grid(int /*flag*/, void *vbuf, int nlist, int *list) +{ + int i,j,m; + + auto buf = (double *) vbuf; + double *count,*data,*values; + m = 0; + + if (dimension == 2) { + count = &count2d[nylo_out][nxlo_out]; + if (nvalues == 1) data = &vec2d[nylo_out][nxlo_out]; + else data = &array2d[nylo_out][nxlo_out][0]; + } else if (dimension == 3) { + count = &count3d[nzlo_out][nylo_out][nxlo_out]; + if (nvalues == 1) data = &vec3d[nzlo_out][nylo_out][nxlo_out]; + else data = &array3d[nzlo_out][nylo_out][nxlo_out][0]; + } + + if (nvalues == 1) { + for (i = 0; i < nlist; i++) { + count[list[i]] += buf[m++]; + data[list[i]] += buf[m++]; + } + } else { + for (i = 0; i < nlist; i++) { + count[list[i]] = buf[m++]; + values = &data[nvalues*list[i]]; + for (j = 0; j <= nvalues; j++) + values[j] = buf[m++]; + } + } +} + +/* ---------------------------------------------------------------------- + subset of grid assigned to each proc may have changed + called by load balancer when proc subdomains are adjusted + not supported for now, b/c requires per-grid values to persist, i.e. a remap() +------------------------------------------------------------------------- */ + +void FixAveGrid::reset_grid() +{ + error->all(FLERR,"Fix ave/grid does not support load balancing (yet)"); +} + + /* ---------------------------------------------------------------------- return index of grid associated with name this class can store M named grids, indexed 0 to M-1 @@ -1094,7 +1216,10 @@ int FixAveGrid::get_griddata_by_name(int igrid, char *name, int &ncol) else ncol = nvalues; return 0; } - if (igrid == 0 && strcmp(name,"count") == 0) { + + // count is only produced for ATOM mode + + if (modeatom && igrid == 0 && strcmp(name,"count") == 0) { ncol = 0; return 1; } @@ -1129,12 +1254,12 @@ void *FixAveGrid::get_griddata_by_index(int index) /* ---------------------------------------------------------------------- memory usage of local atom-based array - NOTE: add more memory tallying ------------------------------------------------------------------------- */ double FixAveGrid::memory_usage() { - double bytes = (double) ngridout * nvalues * sizeof(double); + double bytes = (double) ngridout * nvalues * sizeof(double); // vec/array 2d/3d + if (modeatom) bytes += (double) ngridout * sizeof(double); // count2d/3d return bytes; } diff --git a/src/fix_ave_grid.h b/src/fix_ave_grid.h index 60fc7248fe..f2210c4d05 100644 --- a/src/fix_ave_grid.h +++ b/src/fix_ave_grid.h @@ -33,12 +33,16 @@ class FixAveGrid : public Fix { void setup(int) override; void end_of_step() override; + void pack_reverse_grid(int, void *, int, int *) override; + void unpack_reverse_grid(int, void *, int, int *) override; + void reset_grid() override; int get_grid_by_name(char *, int &) override; void *get_grid_by_index(int) override; int get_griddata_by_name(int, char *, int &) override; void *get_griddata_by_index(int) override; + double memory_usage() override; private: From ce4ca0603549d3aa860aad192b308a6408cfe714 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 15 Aug 2022 16:02:46 -0600 Subject: [PATCH 025/142] support for density, mass, temperature values --- src/compute_chunk_atom.cpp | 1 + src/fix_ave_grid.cpp | 341 ++++++++++++++++++++++++++++++++----- src/fix_ave_grid.h | 9 +- 3 files changed, 306 insertions(+), 45 deletions(-) diff --git a/src/compute_chunk_atom.cpp b/src/compute_chunk_atom.cpp index f16ab05598..bc32ee4dc9 100644 --- a/src/compute_chunk_atom.cpp +++ b/src/compute_chunk_atom.cpp @@ -629,6 +629,7 @@ void ComputeChunkAtom::compute_peratom() to return the number of chunks, we first need to make certain that compute_peratom() has been called. ------------------------------------------------------------------------- */ + double ComputeChunkAtom::compute_scalar() { if (invoked_peratom != update->ntimestep) compute_peratom(); diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index 7678832d0d..f6d2a3707e 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -19,6 +19,7 @@ #include "compute.h" #include "domain.h" #include "error.h" +#include "force.h" #include "grid2d.h" #include "grid3d.h" #include "input.h" @@ -169,11 +170,14 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : // optional args - /* normflag = ALL; scaleflag = ATOM; ave = ONE; nwindow = 0; + biasflag = 0; + id_bias = nullptr; + adof = domain->dimension; + cdof = 0.0; while (iarg < nargnew) { if (strcmp(arg[iarg],"norm") == 0) { @@ -189,6 +193,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : scaleflag = NOSCALE; } else error->all(FLERR,"Illegal fix ave/grid command"); iarg += 2; + } else if (strcmp(arg[iarg],"ave") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/grid command"); if (strcmp(arg[iarg+1],"one") == 0) ave = ONE; @@ -203,9 +208,26 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : iarg += 2; if (ave == WINDOW) iarg++; + } else if (strcmp(arg[iarg],"bias") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal fix ave/grid command"); + biasflag = 1; + id_bias = utils::strdup(arg[iarg+1]); + iarg += 2; + + } else if (strcmp(arg[iarg],"adof") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal fix ave/grid command"); + adof = utils::numeric(FLERR,arg[iarg+1],false,lmp); + iarg += 2; + } else if (strcmp(arg[iarg],"cdof") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal fix ave/grid command"); + cdof = utils::numeric(FLERR,arg[iarg+1],false,lmp); + iarg += 2; + } else error->all(FLERR,"Illegal fix ave/grid command"); } - */ // if wildcard expansion occurred, free earg memory from exapnd_args() @@ -229,6 +251,21 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : if (dimension == 2 && nzgrid != 1) error->all(FLERR,"Fix ave/grid grid Nz must be 1 for 2d simulation"); + if (biasflag) { + tbias = modify->get_compute_by_id(id_bias); + if (!tbias) + error->all(FLERR,"Could not find compute ID for temperature bias"); + if (tbias->tempflag == 0) + error->all(FLERR,"Bias compute does not calculate temperature"); + if (tbias->tempbias == 0) + error->all(FLERR,"Bias compute does not calculate a velocity bias"); + } + + if (normflag != ALL) + error->all(FLERR,"Fix ave/grid norm all is required for now"); + if (normflag != ONE) + error->all(FLERR,"Fix ave/grid ave one is required for now"); + // error checks for ATOM mode if (modeatom) { @@ -517,6 +554,12 @@ int FixAveGrid::setmask() void FixAveGrid::init() { + if (biasflag) { + tbias = modify->get_compute_by_id(id_bias); + if (!tbias) + error->all(FLERR,"Could not find compute ID for temperature bias"); + } + // set indices and check validity of all computes,fixes,variables for (int m = 0; m < nvalues; m++) { @@ -579,6 +622,10 @@ void FixAveGrid::init() } } + // set triclinic flag + + triclinic = domain->triclinic; + // need to reset nvalid if nvalid < ntimestep b/c minimize was performed if (nvalid < update->ntimestep) { @@ -653,12 +700,33 @@ void FixAveGrid::end_of_step() if (ngridout == 0) return; - // average the final results for the Nfreq output - // for ATOM mode, divide total values by total count - // for GRID mode, divide total values by # of samples + // average the final results across Nrepeat samples + // for ATOM mode, result = total_value / total_count + // exception is DENSITY_NUMBER: + // result = value / (current binvol * Nrepeat) + // exception is DENSITY_MASS: + // result = (value * mv2d) / (current binvol * Nrepeat) + // exception is TEMPERATURE: + // result = (value * mvv2e) / (Nrepeat*cdof + adof*count) * boltz) + // for GRID mode, final is total value / Nrepeat if (modeatom) { - double count,invcount; + double mvv2e = force->mvv2e; + double mv2d = force->mv2d; + double boltz = force->boltz; + + double count,invcount,norm; + double repeat = nrepeat; + double invrepeat = 1.0/nrepeat; + + double *prd = domain->prd; + double dx = prd[0]/nxgrid; + double dy = prd[1]/nygrid; + double dz = prd[2]/nzgrid; + + double binvol; + if (dimension == 2) binvol = dx*dy; + else binvol = dx*dy*dz; if (dimension == 2) { if (nvalues == 1) { @@ -666,8 +734,16 @@ void FixAveGrid::end_of_step() for (ix = nxlo_in; ix <= nxhi_in; ix++) { count = count2d[iy][ix]; if (count) { - vec2d[iy][ix] /= count; - count2d[iy][iz] /= nrepeat; + if (which[0] == ArgInfo::DENSITY_NUMBER) + norm = 1.0 / (binvol * repeat); + else if (which[0] == ArgInfo::DENSITY_MASS) + norm = mv2d / (binvol * nrepeat); + else if (which[0] == ArgInfo::TEMPERATURE) + norm = mvv2e /((repeat*cdof + adof*count) * boltz); + else + norm = 1.0/count; + vec2d[iy][ix] *= norm; + count2d[iy][iz] *= invrepeat; } } } else { @@ -676,9 +752,18 @@ void FixAveGrid::end_of_step() count = count2d[iy][ix]; if (count) { invcount = 1.0/count; - for (m = 0; m <= nvalues; m++) - array2d[iy][ix][m] *= invcount; - count2d[iy][iz] /= nrepeat; + for (m = 0; m <= nvalues; m++) { + if (which[m] == ArgInfo::DENSITY_NUMBER) + norm = 1.0 / (binvol * repeat); + else if (which[m] == ArgInfo::DENSITY_MASS) + norm = mv2d / (binvol * nrepeat); + else if (which[m] == ArgInfo::TEMPERATURE) + norm = mvv2e /((repeat*cdof + adof*count) * boltz); + else + norm = 1.0/count; + array2d[iy][ix][m] *= norm; + } + count2d[iy][iz] *= invrepeat; } } } @@ -689,8 +774,16 @@ void FixAveGrid::end_of_step() for (ix = nxlo_in; ix <= nxhi_in; ix++) { count = count3d[iz][iy][ix]; if (count) { - vec3d[iz][iy][ix] /= count; - count3d[iz][iy][iz] /= nrepeat; + if (which[0] == ArgInfo::DENSITY_NUMBER) + norm = 1.0 / (binvol * repeat); + else if (which[0] == ArgInfo::DENSITY_MASS) + norm = mv2d / (binvol * nrepeat); + else if (which[0] == ArgInfo::TEMPERATURE) + norm = mvv2e /((repeat*cdof + adof*count) * boltz); + else + norm = 1.0/count; + vec3d[iz][iy][ix] *= norm; + count3d[iz][iy][iz] *= invrepeat; } } } else { @@ -700,9 +793,18 @@ void FixAveGrid::end_of_step() count = count3d[iz][iy][ix]; if (count) { invcount = 1.0/count; - for (m = 0; m <= nvalues; m++) - array3d[iz][iy][ix][m] *= invcount; - count3d[iz][iy][iz] /= nrepeat; + for (m = 0; m <= nvalues; m++) { + if (which[m] == ArgInfo::DENSITY_NUMBER) + norm = 1.0 / (binvol * repeat); + else if (which[m] == ArgInfo::DENSITY_MASS) + norm = mv2d / (binvol * nrepeat); + else if (which[m] == ArgInfo::TEMPERATURE) + norm = mvv2e /((repeat*cdof + adof*count) * boltz); + else + norm = 1.0/count; + array3d[iz][iy][ix][m] *= norm; + } + count3d[iz][iy][iz] *= invrepeat; } } } @@ -755,10 +857,20 @@ void FixAveGrid::atom2grid() // also count atoms contributing to each bin // check if any atom is out of bounds for my local grid - double *boxlo = domain->boxlo; - double dxinv = nxgrid/domain->xprd; - double dyinv = nygrid/domain->yprd; - double dzinv = nzgrid/domain->zprd; + double *boxlo,*prd; + int *periodicity = domain->periodicity; + + if (triclinic) { + boxlo = domain->boxlo_lamda; + prd = domain->prd_lamda; + } else { + boxlo = domain->boxlo; + prd = domain->prd; + } + + double dxinv = nxgrid/prd[0]; + double dyinv = nygrid/prd[1]; + double dzinv = nzgrid/prd[2]; double **x = atom->x; int *mask = atom->mask; @@ -766,42 +878,69 @@ void FixAveGrid::atom2grid() if (nlocal > maxatom) { memory->destroy(bin); + memory->destroy(skip); maxatom = atom->nmax; memory->create(bin,maxatom,dimension,"ave/grid:bin"); + memory->create(skip,maxatom,"ave/grid:skip"); } + if (triclinic) domain->x2lamda(nlocal); int flag = 0; if (dimension == 2) { for (i = 0; i < nlocal; i++) { - if (!(mask[i] & groupbit)) continue; - ix = static_cast ((x[i][0]-boxlo[0])*dxinv + shift) - OFFSET; - iy = static_cast ((x[i][1]-boxlo[1])*dyinv + shift) - OFFSET; - - if (ix < nxlo_out || ix > nxhi_out || - iy < nylo_out || iy > nyhi_out) { - flag = 1; + if (!(mask[i] & groupbit)) { + skip[i] = 1; continue; } + ix = static_cast ((x[i][0]-boxlo[0])*dxinv + shift) - OFFSET; + iy = static_cast ((x[i][1]-boxlo[1])*dyinv + shift) - OFFSET; + + if (ix < nxlo_out || ix > nxhi_out) { + if (periodicity[0]) flag = 1; + else skip[i] = 1; + continue; + } + if (iy < nylo_out || iy > nyhi_out) { + if (periodicity[1]) flag = 1; + else skip[i] = 1; + continue; + } + + skip[i] = 0; count2d[iy][ix] += 1.0; bin[i][0] = iy; bin[i][1] = ix; } } else { for (i = 0; i < nlocal; i++) { - if (!(mask[i] & groupbit)) continue; + if (!(mask[i] & groupbit)) { + skip[i] = 1; + continue; + } + ix = static_cast ((x[i][0]-boxlo[0])*dxinv + shift) - OFFSET; iy = static_cast ((x[i][1]-boxlo[1])*dyinv + shift) - OFFSET; iz = static_cast ((x[i][2]-boxlo[2])*dzinv + shift) - OFFSET; - if (ix < nxlo_out || ix > nxhi_out || - iy < nylo_out || iy > nyhi_out || - iz < nzlo_out || iz > nzhi_out) { - flag = 1; + if (ix < nxlo_out || ix > nxhi_out) { + if (periodicity[0]) flag = 1; + else skip[i] = 1; + continue; + } + if (iy < nylo_out || iy > nyhi_out) { + if (periodicity[1]) flag = 1; + else skip[i] = 1; + continue; + } + if (iz < nzlo_out || iz > nyhi_out) { + if (periodicity[2]) flag = 1; + else skip[i] = 1; continue; } + skip[i] = 0; count3d[iz][iy][ix] += 1.0; bin[i][0] = iz; bin[i][1] = iy; @@ -810,6 +949,7 @@ void FixAveGrid::atom2grid() } if (flag) error->one(FLERR,"Out of range fix ave/grid atoms"); + if (triclinic) domain->lamda2x(nlocal); // loop over user-specified values @@ -817,8 +957,11 @@ void FixAveGrid::atom2grid() n = value2index[m]; j = argindex[m]; + // X,V,F adds coord,velocity,force to value + if (which[m] == ArgInfo::X || which[m] == ArgInfo::V || which[m] == ArgInfo::F) { + double **attribute; if (which[m] == ArgInfo::X) attribute = atom->x; else if (which[m] == ArgInfo::V) attribute = atom->v; @@ -827,27 +970,137 @@ void FixAveGrid::atom2grid() if (dimension == 2) { if (nvalues == 1) { for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) + if (!skip[i]) vec2d[bin[i][0]][bin[i][1]] += attribute[i][j]; } } else for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) + if (skip[i]) array2d[bin[i][0]][bin[i][1]][m] += attribute[i][j]; } } else { if (nvalues == 1) { for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) + if (!skip[i]) vec3d[bin[i][0]][bin[i][1]][bin[i][2]] += attribute[i][j]; } } else for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) + if (!skip[i]) array3d[bin[i][0]][bin[i][1]][bin[i][2]][m] += attribute[i][j]; } } + // DENSITY_NUMBER adds 1 to value + // DENSITY_MASS or MASS adds mass to value + + } else if ((which[m] == ArgInfo::DENSITY_NUMBER) || + (which[m] == ArgInfo::DENSITY_MASS) || + (which[m] == ArgInfo::MASS)) { + + int *type = atom->type; + double *mass = atom->mass; + double *rmass = atom->rmass; + double one; + + if (dimension == 2) { + if (nvalues == 1) { + for (i = 0; i < nlocal; i++) { + if (!skip[i]) { + if (which[m] == ArgInfo::DENSITY_NUMBER) one = 1.0; + else if (rmass) one = rmass[i]; + else one = mass[type[i]]; + vec2d[bin[i][0]][bin[i][1]] += one; + } + } + } else + for (i = 0; i < nlocal; i++) { + if (skip[i]) { + if (which[m] == ArgInfo::DENSITY_NUMBER) one = 1.0; + else if (rmass) one = rmass[i]; + else one = mass[type[i]]; + array2d[bin[i][0]][bin[i][1]][m] += one; + } + } + } else { + if (nvalues == 1) { + for (i = 0; i < nlocal; i++) { + if (!skip[i]) { + if (which[m] == ArgInfo::DENSITY_NUMBER) one = 1.0; + else if (rmass) one = rmass[i]; + else one = mass[type[i]]; + vec3d[bin[i][0]][bin[i][1]][bin[i][2]] += one; + } + } + } else + for (i = 0; i < nlocal; i++) { + if (!skip[i]) { + if (which[m] == ArgInfo::DENSITY_NUMBER) one = 1.0; + else if (rmass) one = rmass[i]; + else one = mass[type[i]]; + array3d[bin[i][0]][bin[i][1]][bin[i][2]][m] += one; + } + } + } + + // TEMPERATURE adds KE to values + // subtract and restore velocity bias if requested + + } else if (which[m] == ArgInfo::TEMPERATURE) { + + if (biasflag) { + if (tbias->invoked_scalar != update->ntimestep) tbias->compute_scalar(); + tbias->remove_bias_all(); + } + + double **v = atom->v; + int *type = atom->type; + double *mass = atom->mass; + double *rmass = atom->rmass; + double vsq,one; + + if (dimension == 2) { + if (nvalues == 1) { + for (i = 0; i < nlocal; i++) { + if (!skip[i]) { + vsq = v[i][0]*v[i][0] + v[i][1]*v[i][1] + v[i][2]*v[i][2]; + if (rmass) one = rmass[i]; + else one = mass[type[i]]; + vec2d[bin[i][0]][bin[i][1]] += one*vsq; + } + } + } else + for (i = 0; i < nlocal; i++) { + if (skip[i]) { + vsq = v[i][0]*v[i][0] + v[i][1]*v[i][1] + v[i][2]*v[i][2]; + if (rmass) one = rmass[i]; + else one = mass[type[i]]; + array2d[bin[i][0]][bin[i][1]][m] += one*vsq;; + } + } + } else { + if (nvalues == 1) { + for (i = 0; i < nlocal; i++) { + if (!skip[i]) { + vsq = v[i][0]*v[i][0] + v[i][1]*v[i][1] + v[i][2]*v[i][2]; + if (rmass) one = rmass[i]; + else one = mass[type[i]]; + vec3d[bin[i][0]][bin[i][1]][bin[i][2]] += one*vsq; + } + } + } else + for (i = 0; i < nlocal; i++) { + if (!skip[i]) { + vsq = v[i][0]*v[i][0] + v[i][1]*v[i][1] + v[i][2]*v[i][2]; + if (rmass) one = rmass[i]; + else one = mass[type[i]]; + array3d[bin[i][0]][bin[i][1]][bin[i][2]][m] += one*vsq; + } + } + } + + if (biasflag) tbias->restore_bias_all(); + // per-atom compute or fix or variable // invoke compute if not previously invoked // evaluate atom-style variable @@ -883,26 +1136,26 @@ void FixAveGrid::atom2grid() if (nvalues == 1) { if (j == 0) { for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) + if (!skip[i]) vec2d[bin[i][0]][bin[i][1]] += ovector[i]; } } else { int jm1 = j = 1; for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) + if (!skip[i]) vec2d[bin[i][0]][bin[i][1]] += oarray[i][jm1]; } } } else { if (j == 0) { for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) + if (!skip[i]) array2d[bin[i][0]][bin[i][1]][m] += ovector[i]; } } else { int jm1 = j - 1; for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) + if (!skip[i]) array2d[bin[i][0]][bin[i][1]][m] += oarray[i][jm1]; } } @@ -912,26 +1165,26 @@ void FixAveGrid::atom2grid() if (nvalues == 1) { if (j == 0) { for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) + if (!skip[i]) vec3d[bin[i][0]][bin[i][1]][bin[i][2]] += ovector[i]; } } else { int jm1 = j - 1; for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) + if (!skip[i]) vec3d[bin[i][0]][bin[i][1]][bin[i][2]] += oarray[i][jm1]; } } } else { if (j == 0) { for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) + if (!skip[i]) array3d[bin[i][0]][bin[i][1]][bin[i][2]][m] += ovector[i]; } } else { int jm1 = j - 1; for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) + if (!skip[i]) array3d[bin[i][0]][bin[i][1]][bin[i][2]][m] += oarray[i][jm1]; } } diff --git a/src/fix_ave_grid.h b/src/fix_ave_grid.h index f2210c4d05..5216b7e503 100644 --- a/src/fix_ave_grid.h +++ b/src/fix_ave_grid.h @@ -52,7 +52,13 @@ class FixAveGrid : public Fix { bigint nvalid, nvalid_last; int modeatom,modegrid; int normflag,scaleflag,ave,nwindow; - int dimension; + + int biasflag; + char *id_bias; + class Compute *tbias; // ptr to additional bias compute + double adof,cdof; + + int dimension,triclinic; int *which, *argindex; char **ids; @@ -73,6 +79,7 @@ class FixAveGrid : public Fix { double **count2d,***count3d; int **bin; + int *skip; int maxatom; double *vresult; From e6e9e1b59c80d5ed11e07ed89e3bfe8a8eef756b Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 15 Aug 2022 17:29:11 -0600 Subject: [PATCH 026/142] initial doc pages --- doc/src/Howto_output.rst | 333 +++++++++++++++++++---------- doc/src/compute_property_chunk.rst | 65 +++--- doc/src/compute_property_grid.rst | 110 ++++++++++ doc/src/compute_property_local.rst | 26 ++- 4 files changed, 379 insertions(+), 155 deletions(-) create mode 100644 doc/src/compute_property_grid.rst diff --git a/doc/src/Howto_output.rst b/doc/src/Howto_output.rst index d17b865bbd..fe9a8f5f79 100644 --- a/doc/src/Howto_output.rst +++ b/doc/src/Howto_output.rst @@ -22,14 +22,17 @@ commands you specify. As discussed below, LAMMPS gives you a variety of ways to determine what quantities are computed and printed when the thermodynamics, dump, or fix commands listed above perform output. Throughout this -discussion, note that users can also :doc:`add their own computes and fixes to LAMMPS ` which can then generate values that can then be -output with these commands. +discussion, note that users can also :doc:`add their own computes and +fixes to LAMMPS ` which can then generate values that can then +be output with these commands. -The following sub-sections discuss different LAMMPS command related +The following sub-sections discuss different LAMMPS commands related to output and the kind of data they operate on and produce: -* :ref:`Global/per-atom/local data ` +* :ref:`Global/per-atom/local/per-grid data ` * :ref:`Scalar/vector/array data ` +* :ref:`Per-grid data ` +* :ref:`Disambiguation ` * :ref:`Thermodynamic output ` * :ref:`Dump file output ` * :ref:`Fixes that write output files ` @@ -42,27 +45,32 @@ to output and the kind of data they operate on and produce: .. _global: -Global/per-atom/local data --------------------------- +Global/per-atom/local/per-grid data +----------------------------------- -Various output-related commands work with three different styles of -data: global, per-atom, or local. A global datum is one or more -system-wide values, e.g. the temperature of the system. A per-atom -datum is one or more values per atom, e.g. the kinetic energy of each -atom. Local datums are calculated by each processor based on the -atoms it owns, but there may be zero or more per atom, e.g. a list of -bond distances. +Various output-related commands work with four different styles of +data: global, per-atom, local, and per-grid. A global datum is one or +more system-wide values, e.g. the temperature of the system. A +per-atom datum is one or more values per atom, e.g. the kinetic energy +of each atom. Local datums are calculated by each processor based on +the atoms it owns, but there may be zero or more per atom, e.g. a list +of bond distances. + +A per-grid datum is one or more values per grid point, for a grid +which overlays the simulation domain. Each processor owns the grid +points which fall within its sub-domain. Thus the grid points and the +data they store are distributed across processors. .. _scalar: Scalar/vector/array data ------------------------ -Global, per-atom, and local datums can each come in three kinds: a -single scalar value, a vector of values, or a 2d array of values. The -doc page for a "compute" or "fix" or "variable" that generates data -will specify both the style and kind of data it produces, e.g. a -per-atom vector. +Global, per-atom, and local datums can come in three kinds: a single +scalar value, a vector of values, or a 2d array of values. The doc +page for a "compute" or "fix" or "variable" that generates data will +specify both the style and kind of data it produces, e.g. a per-atom +vector. When a quantity is accessed, as in many of the output commands discussed below, it can be referenced via the following bracket @@ -83,6 +91,39 @@ the dimension twice (array -> scalar). Thus a command that uses scalar values as input can typically also process elements of a vector or array. +.. _grid: + +Per-grid data +------------------------ + +Per-grid data can come in two kinds: a vector of values (one per grid +point), or a 2d array of values (multiple values per grid point). The +doc page for a "compute" or "fix" that generates data will specify +both the style and kind of data it produces, e.g. a per-grid vector or +array. + +Only computes and fixes produce and output per-grid data. Per-grid +variables have not (yet) been implemented. A compute or fix may +define one or more grids, e.g. of differing sizes. Each grid can +store one or more data fields. + +Another command accesses grid data in the following syntax: + +* c_ID:gname:dname +* c_ID:gname:dname[I] +* f_ID:gname:dname +* f_ID:gname:dname[I] + +The prefix "c_" or "f_" refers to the ID of the compute or fix. Gname +is the name of the grid, which is assinged by the compute or fix. +Dname is the name of the data field, which is also assinged by the +compute or fix. If the data field is a per-grid vector (one value per +grid point), then no brackets are used to access the values. If the +data field is a per-grid array (multiple values per grid point), then +brackets are used to specify the column I of the array. I ranges from +1 to Ncol inclusive, where Ncol is the number of columns in the array +and is defined by the compute or fix. + .. _disambiguation: Disambiguation @@ -90,15 +131,15 @@ Disambiguation Some computes and fixes produce data in multiple styles, e.g. a global scalar and a per-atom vector. Usually the context in which the input -script references the data determines which style is meant. Example: if -a compute provides both a global scalar and a per-atom vector, the +script references the data determines which style is meant. Example: +if a compute provides both a global scalar and a per-atom vector, the former will be accessed by using ``c_ID`` in an equal-style variable, while the latter will be accessed by using ``c_ID`` in an atom-style -variable. Note that atom-style variable formulas can also access global -scalars, but in this case it is not possible to do directly because of -the ambiguity. Instead, an equal-style variable can be defined which -accesses the global scalar, and that variable used in the atom-style -variable formula in place of ``c_ID``. +variable. Note that atom-style variable formulas can also access +global scalars, but in this case it is not possible to do this +directly because of the ambiguity. Instead, an equal-style variable +can be defined which accesses the global scalar, and that variable can +be used in the atom-style variable formula in place of ``c_ID``. .. _thermo: @@ -141,9 +182,10 @@ There is also a :doc:`dump custom ` format where the user specifies what values are output with each atom. Pre-defined atom attributes can be specified (id, x, fx, etc). Three additional kinds of keywords can also be specified (c_ID, f_ID, v_name), where a -:doc:`compute ` or :doc:`fix ` or :doc:`variable ` -provides the values to be output. In each case, the compute, fix, or -variable must generate per-atom values for input to the :doc:`dump custom ` command. +:doc:`compute ` or :doc:`fix ` or :doc:`variable +` provides the values to be output. In each case, the +compute, fix, or variable must generate per-atom values for input to +the :doc:`dump custom ` command. There is also a :doc:`dump local ` format where the user specifies what local values to output. A pre-defined index keyword can be @@ -154,18 +196,23 @@ provides the values to be output. In each case, the compute or fix must generate local values for input to the :doc:`dump local ` command. +There is also a :doc:`dump grid ` format where the user +specifies what per-grid values to output (c_ID:gname:fname or +f_ID:gname:fname) from computes of fixes that generate per-grid data. + .. _fixoutput: Fixes that write output files ----------------------------- Several fixes take various quantities as input and can write output -files: :doc:`fix ave/time `, :doc:`fix ave/chunk `, :doc:`fix ave/histo `, -:doc:`fix ave/correlate `, and :doc:`fix print `. +files: :doc:`fix ave/time `, :doc:`fix ave/chunk +`, :doc:`fix ave/histo `, :doc:`fix +ave/correlate `, and :doc:`fix print `. -The :doc:`fix ave/time ` command enables direct output to -a file and/or time-averaging of global scalars or vectors. The user -specifies one or more quantities as input. These can be global +The :doc:`fix ave/time ` command enables direct output +to a file and/or time-averaging of global scalars or vectors. The +user specifies one or more quantities as input. These can be global :doc:`compute ` values, global :doc:`fix ` values, or :doc:`variables ` of any style except the atom style which produces per-atom values. Since a variable can refer to keywords used @@ -184,8 +231,14 @@ atoms, e.g. individual molecules. The per-atom quantities can be atom density (mass or number) or atom attributes such as position, velocity, force. They can also be per-atom quantities calculated by a :doc:`compute `, by a :doc:`fix `, or by an atom-style -:doc:`variable `. The chunk-averaged output of this fix can -also be used as input to other output commands. +:doc:`variable `. The chunk-averaged output of this fix is +global and can also be used as input to other output commands. + +Note that the :doc:`fix ave/grid ` command can also +average the same per-atom quantities within spatial bins, but it does +this for a distributed grid whose grid points are owned by different +processors. It outputs per-grid data, not global data, so is more +efficient for large numbers of averaging bins. The :doc:`fix ave/histo ` command enables direct output to a file of histogrammed quantities, which can be global or per-atom @@ -202,38 +255,53 @@ written to the screen and log file or to a separate file, periodically during a running simulation. The line can contain one or more :doc:`variable ` values for any style variable except the vector or atom styles). As explained above, variables themselves can -contain references to global values generated by :doc:`thermodynamic keywords `, :doc:`computes `, -:doc:`fixes `, or other :doc:`variables `, or to per-atom -values for a specific atom. Thus the :doc:`fix print ` -command is a means to output a wide variety of quantities separate -from normal thermodynamic or dump file output. +contain references to global values generated by :doc:`thermodynamic +keywords `, :doc:`computes `, :doc:`fixes +`, or other :doc:`variables `, or to per-atom values +for a specific atom. Thus the :doc:`fix print ` command is +a means to output a wide variety of quantities separate from normal +thermodynamic or dump file output. .. _computeoutput: Computes that process output quantities --------------------------------------- -The :doc:`compute reduce ` and :doc:`compute reduce/region ` commands take one or more per-atom -or local vector quantities as inputs and "reduce" them (sum, min, max, +The :doc:`compute reduce ` and :doc:`compute +reduce/region ` commands take one or more per-atom or +local vector quantities as inputs and "reduce" them (sum, min, max, ave) to scalar quantities. These are produced as output values which can be used as input to other output commands. -The :doc:`compute slice ` command take one or more global -vector or array quantities as inputs and extracts a subset of their -values to create a new vector or array. These are produced as output -values which can be used as input to other output commands. +The :doc:`compute slice ` command take one or more +global vector or array quantities as inputs and extracts a subset of +their values to create a new vector or array. These are produced as +output values which can be used as input to other output commands. -The :doc:`compute property/atom ` command takes a -list of one or more pre-defined atom attributes (id, x, fx, etc) and +The :doc:`compute property/atom ` command takes +a list of one or more pre-defined atom attributes (id, x, fx, etc) and stores the values in a per-atom vector or array. These are produced as output values which can be used as input to other output commands. -The list of atom attributes is the same as for the :doc:`dump custom ` command. +The list of atom attributes is the same as for the :doc:`dump custom +` command. -The :doc:`compute property/local ` command takes -a list of one or more pre-defined local attributes (bond info, angle -info, etc) and stores the values in a local vector or array. These -are produced as output values which can be used as input to other -output commands. +The :doc:`compute property/local ` command +takes a list of one or more pre-defined local attributes (bond info, +angle info, etc) and stores the values in a local vector or array. +These are produced as output values which can be used as input to +other output commands. + +The :doc:`compute property/grid ` command takes +a list of one or more pre-defined per-grid attributes (id, grid point +coords, etc) and stores the values in a per-grid vector or array. +These are produced as output values which can be used as input to the +:doc:`dump grid ` command. + +The :doc:`compute property/chunk ` command +takes a list of one or more pre-defined chunk attributes (id, count, +coords for spatial bins) and stores the values in a global vector or +array. These are produced as output values which can be used as input +to other output commands. .. _fixprocoutput: @@ -247,18 +315,42 @@ a time. The :doc:`fix ave/atom ` command performs time-averaging of per-atom vectors. The per-atom quantities can be atom attributes such as position, velocity, force. They can also be per-atom -quantities calculated by a :doc:`compute `, by a -:doc:`fix `, or by an atom-style :doc:`variable `. The +quantities calculated by a :doc:`compute `, by a :doc:`fix +`, or by an atom-style :doc:`variable `. The time-averaged per-atom output of this fix can be used as input to other output commands. -The :doc:`fix store/state ` command can archive one or -more per-atom attributes at a particular time, so that the old values -can be used in a future calculation or output. The list of atom -attributes is the same as for the :doc:`dump custom ` command, -including per-atom quantities calculated by a :doc:`compute `, -by a :doc:`fix `, or by an atom-style :doc:`variable `. -The output of this fix can be used as input to other output commands. +The :doc:`fix store/state ` command can archive one +or more per-atom attributes at a particular time, so that the old +values can be used in a future calculation or output. The list of +atom attributes is the same as for the :doc:`dump custom ` +command, including per-atom quantities calculated by a :doc:`compute +`, by a :doc:`fix `, or by an atom-style :doc:`variable +`. The output of this fix can be used as input to other +output commands. + +The :doc:`fix ave/grid ` command performs time-averaging +of either per-atom or per-grid data. + +For per-atom data it performs averaging for the atoms within each grid +cell, similar to the :doc:`fix ave/chunk ` command when +its chunks are defined as regular 2d or 3d bins. The per-atom +quantities can be atom density (mass or number) or atom attributes +such as position, velocity, force. They can also be per-atom +quantities calculated by a :doc:`compute `, by a :doc:`fix +`, or by an atom-style :doc:`variable `. + +The chief difference between the :doc:`fix ave/grid ` +and :doc:`fix ave/chunk ` commands when used in this +context is that the former uses a distributed grid, while the latter +uses a global grid. Distributed means that each processor owns the +subset of grid points within its subdomain. Global means that each +processor owns a copy of the entire grid. Distributed is thus more +efficient for large grids. + +For per-grid data, the :doc:`fix ave/grid ` command +takes inputs for grid data produced by other computes or fixes and +averages the values for each grid point over time. .. _compute: @@ -266,24 +358,25 @@ Computes that generate values to output --------------------------------------- Every :doc:`compute ` in LAMMPS produces either global or -per-atom or local values. The values can be scalars or vectors or -arrays of data. These values can be output using the other commands -described in this section. The page for each compute command +per-atom or local or per-grid values. The values can be scalars or +vectors or arrays of data. These values can be output using the other +commands described in this section. The page for each compute command describes what it produces. Computes that produce per-atom or local -values have the word "atom" or "local" in their style name. Computes -without the word "atom" or "local" produce global values. +or per-grid values have the word "atom" or "local" or "grid as the +last word in their style name. Computes without the word "atom" or +"local" or "grid" produce global values. .. _fix: Fixes that generate values to output ------------------------------------ -Some :doc:`fixes ` in LAMMPS produces either global or per-atom or -local values which can be accessed by other commands. The values can -be scalars or vectors or arrays of data. These values can be output -using the other commands described in this section. The page for -each fix command tells whether it produces any output quantities and -describes them. +Some :doc:`fixes ` in LAMMPS produces either global or per-atom +or local or per-grid values which can be accessed by other commands. +The values can be scalars or vectors or arrays of data. These values +can be output using the other commands described in this section. The +page for each fix command tells whether it produces any output +quantities and describes them. .. _variable: @@ -300,6 +393,8 @@ computes, fixes, and other variables. The values generated by variables can be used as input to and thus output by the other commands described in this section. +Per-grid variables have not (yet) been implemented. + .. _table: Summary table of output options and data flow between commands @@ -319,44 +414,52 @@ Also note that, as described above, when a command takes a scalar as input, that could be an element of a vector or array. Likewise a vector input could be a column of an array. -+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+ -| Command | Input | Output | -+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+ -| :doc:`thermo_style custom ` | global scalars | screen, log file | -+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+ -| :doc:`dump custom ` | per-atom vectors | dump file | -+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+ -| :doc:`dump local ` | local vectors | dump file | -+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+ -| :doc:`fix print ` | global scalar from variable | screen, file | -+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+ -| :doc:`print ` | global scalar from variable | screen | -+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+ -| :doc:`computes ` | N/A | global/per-atom/local scalar/vector/array | -+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+ -| :doc:`fixes ` | N/A | global/per-atom/local scalar/vector/array | -+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+ -| :doc:`variables ` | global scalars and vectors, per-atom vectors | global scalar and vector, per-atom vector | -+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+ -| :doc:`compute reduce ` | per-atom/local vectors | global scalar/vector | -+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+ -| :doc:`compute slice ` | global vectors/arrays | global vector/array | -+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+ -| :doc:`compute property/atom ` | per-atom vectors | per-atom vector/array | -+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+ -| :doc:`compute property/local ` | local vectors | local vector/array | -+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+ -| :doc:`fix vector ` | global scalars | global vector | -+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+ -| :doc:`fix ave/atom ` | per-atom vectors | per-atom vector/array | -+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+ -| :doc:`fix ave/time ` | global scalars/vectors | global scalar/vector/array, file | -+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+ -| :doc:`fix ave/chunk ` | per-atom vectors | global array, file | -+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+ -| :doc:`fix ave/histo ` | global/per-atom/local scalars and vectors | global array, file | -+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+ -| :doc:`fix ave/correlate ` | global scalars | global array, file | -+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+ -| :doc:`fix store/state ` | per-atom vectors | per-atom vector/array | -+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+ ++--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+ +| Command | Input | Output | ++--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+ +| :doc:`thermo_style custom ` | global scalars | screen, log file | ++--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+ +| :doc:`dump custom ` | per-atom vectors | dump file | ++--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+ +| :doc:`dump local ` | local vectors | dump file | ++--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+ +| :doc:`dump grid ` | per-grid vectors | dump file | ++--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+ +| :doc:`fix print ` | global scalar from variable | screen, file | ++--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+ +| :doc:`print ` | global scalar from variable | screen | ++--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+ +| :doc:`computes ` | N/A | global/per-atom/local/per-grid scalar/vector/array | ++--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+ +| :doc:`fixes ` | N/A | global/per-atom/local/per-grid scalar/vector/array | ++--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+ +| :doc:`variables ` | global scalars and vectors, per-atom vectors | global scalar and vector, per-atom vector | ++--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+ +| :doc:`compute reduce ` | per-atom/local vectors | global scalar/vector | ++--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+ +| :doc:`compute slice ` | global vectors/arrays | global vector/array | ++--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+ +| :doc:`compute property/atom ` | N/A | per-atom vector/array | ++--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+ +| :doc:`compute property/local ` | N/A | local vector/array | ++--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+ +| :doc:`compute property/grid ` | N/A | per-grid vector/array | ++--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+ +| :doc:`compute property/chunk ` | N/A | global vector/array | ++--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+ +| :doc:`fix vector ` | global scalars | global vector | ++--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+ +| :doc:`fix ave/atom ` | per-atom vectors | per-atom vector/array | ++--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+ +| :doc:`fix ave/time ` | global scalars/vectors | global scalar/vector/array, file | ++--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+ +| :doc:`fix ave/chunk ` | per-atom vectors | global array, file | ++--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+ +| :doc:`fix ave/grid ` | per-atom vectors or per-grid vectors | per-grid vector/array | ++--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+ +| :doc:`fix ave/histo ` | global/per-atom/local scalars and vectors | global array, file | ++--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+ +| :doc:`fix ave/correlate ` | global scalars | global array, file | ++--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+ +| :doc:`fix store/state ` | per-atom vectors | per-atom vector/array | ++--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+ diff --git a/doc/src/compute_property_chunk.rst b/doc/src/compute_property_chunk.rst index 48b3641e84..ba4a8368d7 100644 --- a/doc/src/compute_property_chunk.rst +++ b/doc/src/compute_property_chunk.rst @@ -12,7 +12,8 @@ Syntax * ID, group-ID are documented in :doc:`compute ` command * property/chunk = style name of this compute command -* input = one or more attributes +* chunkID = ID of :doc:`compute chunk/atom ` command that defines the chunks +* input1,etc = one or more attributes .. parsed-literal:: @@ -26,8 +27,8 @@ Examples .. code-block:: LAMMPS - compute 1 all property/chunk count - compute 1 all property/chunk ID coord1 + compute 1 all property/chunk bin2d id count + compute 1 all property/chunk myChunks id coord1 Description """"""""""" @@ -35,24 +36,28 @@ Description Define a computation that stores the specified attributes of chunks of atoms. -In LAMMPS, chunks are collections of atoms defined by a :doc:`compute chunk/atom ` command, which assigns each atom -to a single chunk (or no chunk). The ID for this command is specified -as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the :doc:`compute chunk/atom ` and :doc:`Howto chunk ` -doc pages for details of how chunks can be defined and examples of how -they can be used to measure properties of a system. +In LAMMPS, chunks are collections of atoms defined by a :doc:`compute +chunk/atom ` command, which assigns each atom to a +single chunk (or no chunk). The ID for this command is specified as +chunkID. For example, a single chunk could be the atoms in a molecule +or atoms in a spatial bin. See the :doc:`compute chunk/atom +` and :doc:`Howto chunk ` doc pages +for details of how chunks can be defined and examples of how they can +be used to measure properties of a system. This compute calculates and stores the specified attributes of chunks -as global data so they can be accessed by other :doc:`output commands ` and used in conjunction with other -commands that generate per-chunk data, such as :doc:`compute com/chunk ` or :doc:`compute msd/chunk `. +as global data so they can be accessed by other :doc:`output commands +` and used in conjunction with other commands that +generate per-chunk data, such as :doc:`compute com/chunk +` or :doc:`compute msd/chunk `. Note that only atoms in the specified group contribute to the -calculation of the *count* attribute. The :doc:`compute chunk/atom ` command defines its own group; -atoms will have a chunk ID = 0 if they are not in that group, -signifying they are not assigned to a chunk, and will thus also not -contribute to this calculation. You can specify the "all" group for -this command if you simply want to include atoms with non-zero chunk -IDs. +calculation of the *count* attribute. The :doc:`compute chunk/atom +` command defines its own group; atoms will have a +chunk ID = 0 if they are not in that group, signifying they are not +assigned to a chunk, and will thus also not contribute to this +calculation. You can specify the "all" group for this command if you +simply want to include atoms with non-zero chunk IDs. The *count* attribute is the number of atoms in the chunk. @@ -61,21 +66,23 @@ can only be used if the *compress* keyword was set to *yes* for the :doc:`compute chunk/atom ` command referenced by chunkID. This means that the original chunk IDs (e.g. molecule IDs) will have been compressed to remove chunk IDs with no atoms assigned -to them. Thus a compressed chunk ID of 3 may correspond to an original -chunk ID (molecule ID in this case) of 415. The *id* attribute will -then be 415 for the third chunk. +to them. Thus a compressed chunk ID of 3 may correspond to an +original chunk ID (molecule ID in this case) of 415. The *id* +attribute will then be 415 for the third chunk. The *coordN* attributes can only be used if a *binning* style was used -in the :doc:`compute chunk/atom ` command referenced -by chunkID. For *bin/1d*, *bin/2d*, and *bin/3d* styles the attribute -is the center point of the bin in the corresponding dimension. Style -*bin/1d* only defines a *coord1* attribute. Style *bin/2d* adds a -*coord2* attribute. Style *bin/3d* adds a *coord3* attribute. +in the :doc:`compute chunk/atom ` command +referenced by chunkID. For *bin/1d*, *bin/2d*, and *bin/3d* styles +the attribute is the center point of the bin in the corresponding +dimension. Style *bin/1d* only defines a *coord1* attribute. Style +*bin/2d* adds a *coord2* attribute. Style *bin/3d* adds a *coord3* +attribute. -Note that if the value of the *units* keyword used in the :doc:`compute chunk/atom command ` is *box* or *lattice*, the -*coordN* attributes will be in distance :doc:`units `. If the -value of the *units* keyword is *reduced*, the *coordN* attributes -will be in unitless reduced units (0-1). +Note that if the value of the *units* keyword used in the +:doc:`compute chunk/atom command ` is *box* or +*lattice*, the *coordN* attributes will be in distance :doc:`units +`. If the value of the *units* keyword is *reduced*, the +*coordN* attributes will be in unitless reduced units (0-1). The simplest way to output the results of the compute property/chunk calculation to a file is to use the :doc:`fix ave/time ` diff --git a/doc/src/compute_property_grid.rst b/doc/src/compute_property_grid.rst new file mode 100644 index 0000000000..9d037e629c --- /dev/null +++ b/doc/src/compute_property_grid.rst @@ -0,0 +1,110 @@ +.. index:: compute property/grid + +compute property/grid command +============================= + +Syntax +"""""" + +.. parsed-literal:: + + compute ID group-ID property/grid input1 input2 ... + +* ID, group-ID are documented in :doc:`compute ` command +* property/grid = style name of this compute command +* input1,etc = one or more attributes + + .. parsed-literal:: + + attributes = id, ix, iy, iz, x, y, z, xs, ys, zs, xc, yc, zc, xsc, ysc, zsc + id = ID of grid point, x fastest, y next, z slowest + ix,iy,iz = grid indices in each dimension (1 to N inclusive) + x,y,z = coords of lower left corner of grid cell + xs,ys,zs = scaled coords of lower left corner of grid cell (0.0 to 1.0) + xc,yc,zc = coords of center point of grid cell + xsc,ysc,zsc = scaled coords of center point of grid cell (0.0 to 1.0) + +Examples +"""""""" + +.. code-block:: LAMMPS + + compute 1 all property/grid id ix iy iz + compute 1 all property/grid id xc yc zc + +Description +""""""""""" + +Define a computation that stores the specified attributes of a +distributed grid. In LAMMPS, distributed grids are regular 2d or 3d +grids which overlay a 2d or 3d simulation domain. Each processor owns +the grid points within its subdomain. + +See the :doc:`Howto grid ` doc page for details of how +distributed grids can be defined by various commands and examples of +how they can be used to measure properties of a system. + +This compute stores the specified attributes of grids as per-grid data +so they can be accessed by other :doc:`output commands ` +such as :doc:`dump grid `. + +The *id* attribute stores the grid ID for each grid point. For a +global grid of size Nx by Ny by Nz (in 3d simulations) the grid IDs +range from 1 to Nx*Ny*Nz. They are ordered with the X index of the 3d +grid varying fastest, then Y, then Z slowest. For 2d grids (in 2d +simulations), the grid IDs range from 1 to Nx*Ny, with X varying +fastest and Y slowest. + +The *ix*, *iy*, *iz* attributes are the indices of a grid point in +each dimension. They range from 1 to Nx inclusive in the X dimension, +and similar for Y and Z. + +The *x*, *y*, *z* attributes are the coordinates of the lower left +corner point of each grid cell. + +The *xs*, *ys*, *zs* attributes are also coordinates of the lower left +corner point of each grid cell, except in scaled coordinates, where +the lower-left corner of the entire simulation box is (0,0,0) and he +upper right corner is (1,1,1). + + +Only in triclinic. + +For 2d simulations, none of the attributes which refer to +the Z dimension can be used. + + + +Output info +""""""""""" + +This compute calculates a per-grid vector or array depending on the +number of input values. The length of the vector or number of rows +for each processor is the the number of grid points it owns. + +This compute calculates a global vector or global array where the +number of rows = the number of chunks *Nchunk* as calculated by the +specified :doc:`compute chunk/atom ` command. If a +single input is specified, a global vector is produced. If two or +more inputs are specified, a global array is produced where the number +of columns = the number of inputs. The vector or array can be +accessed by any command that uses global values from a compute as +input. See the :doc:`Howto output ` page for an +overview of LAMMPS output options. + +The vector or array values are "intensive". The values will be +unitless or in the units discussed above. + +Restrictions +"""""""""""" + none + +Related commands +"""""""""""""""" + +:doc:`fix ave/grid ` + +Default +""""""" + +none diff --git a/doc/src/compute_property_local.rst b/doc/src/compute_property_local.rst index 357f46b70d..b62bb744be 100644 --- a/doc/src/compute_property_local.rst +++ b/doc/src/compute_property_local.rst @@ -57,10 +57,11 @@ Description """"""""""" Define a computation that stores the specified attributes as local -data so it can be accessed by other :doc:`output commands `. If the input attributes refer to bond -information, then the number of datums generated, aggregated across -all processors, equals the number of bonds in the system. Ditto for -pairs, angles, etc. +data so it can be accessed by other :doc:`output commands +`. If the input attributes refer to bond information, +then the number of datums generated, aggregated across all processors, +equals the number of bonds in the system. Ditto for pairs, angles, +etc. If multiple attributes are specified then they must all generate the same amount of information, so that the resulting local array has the @@ -101,17 +102,20 @@ specified compute group. Likewise for angles, dihedrals, etc. For bonds and angles, a bonds/angles that have been broken by setting their bond/angle type to 0 will not be included. Bonds/angles that have been turned off (see the :doc:`fix shake ` or -:doc:`delete_bonds ` commands) by setting their bond/angle -type negative are written into the file. This is consistent with the -:doc:`compute bond/local ` and :doc:`compute angle/local ` commands +:doc:`delete_bonds ` commands) by setting their +bond/angle type negative are written into the file. This is +consistent with the :doc:`compute bond/local ` and +:doc:`compute angle/local ` commands Note that as atoms migrate from processor to processor, there will be no consistent ordering of the entries within the local vector or array from one timestep to the next. The only consistency that is guaranteed is that the ordering on a particular timestep will be the same for local vectors or arrays generated by other compute commands. -For example, output from the :doc:`compute bond/local ` command can be combined with bond -atom indices from this command and output by the :doc:`dump local ` command in a consistent way. +For example, output from the :doc:`compute bond/local +` command can be combined with bond atom indices +from this command and output by the :doc:`dump local ` command +in a consistent way. The *natom1* and *natom2*, or *patom1* and *patom2* attributes refer to the atom IDs of the 2 atoms in each pairwise interaction computed @@ -149,8 +153,8 @@ the array is the number of bonds, angles, etc. If a single input is specified, a local vector is produced. If two or more inputs are specified, a local array is produced where the number of columns = the number of inputs. The vector or array can be accessed by any command -that uses local values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output -options. +that uses local values from a compute as input. See the :doc:`Howto +output ` page for an overview of LAMMPS output options. The vector or array values will be integers that correspond to the specified attribute. From 206ab141c956301fd32b1e6338f9ac192adce5be Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 16 Aug 2022 11:33:55 -0600 Subject: [PATCH 027/142] more doc info for per-grid commands --- doc/src/Commands_compute.rst | 1 + doc/src/Commands_fix.rst | 1 + doc/src/Howto.rst | 1 + doc/src/Howto_grid.rst | 90 ++++++++++++++ doc/src/Howto_output.rst | 45 ++----- doc/src/compute.rst | 54 +++++---- doc/src/compute_property_grid.rst | 50 ++++---- doc/src/dump.rst | 190 +++++++++++++++++++----------- doc/src/fix.rst | 38 +++--- doc/src/velocity.rst | 42 ++++--- 10 files changed, 327 insertions(+), 185 deletions(-) create mode 100644 doc/src/Howto_grid.rst diff --git a/doc/src/Commands_compute.rst b/doc/src/Commands_compute.rst index 682a75f201..a1cfb662c8 100644 --- a/doc/src/Commands_compute.rst +++ b/doc/src/Commands_compute.rst @@ -107,6 +107,7 @@ KOKKOS, o = OPENMP, t = OPT. * :doc:`pressure/uef ` * :doc:`property/atom ` * :doc:`property/chunk ` + * :doc:`property/grid ` * :doc:`property/local ` * :doc:`ptm/atom ` * :doc:`rdf ` diff --git a/doc/src/Commands_fix.rst b/doc/src/Commands_fix.rst index cb61cbe17b..36d50cb709 100644 --- a/doc/src/Commands_fix.rst +++ b/doc/src/Commands_fix.rst @@ -38,6 +38,7 @@ OPT. * :doc:`ave/chunk ` * :doc:`ave/correlate ` * :doc:`ave/correlate/long ` + * :doc:`ave/grid ` * :doc:`ave/histo ` * :doc:`ave/histo/weight ` * :doc:`ave/time ` diff --git a/doc/src/Howto.rst b/doc/src/Howto.rst index b4f14bccfa..b0e1b7e463 100644 --- a/doc/src/Howto.rst +++ b/doc/src/Howto.rst @@ -50,6 +50,7 @@ Analysis howto Howto_output Howto_chunk + Howto_grid Howto_temperature Howto_elastic Howto_kappa diff --git a/doc/src/Howto_grid.rst b/doc/src/Howto_grid.rst new file mode 100644 index 0000000000..4601b19a20 --- /dev/null +++ b/doc/src/Howto_grid.rst @@ -0,0 +1,90 @@ +Distributed grids +================= + +LAMMPS has internal capabilities to create uniformly spaced grids +which overlay the simulation domain. For 2d and 3d simulations these +are 2d and 3d grids respectively. Conceptually a grid can be thought +of as a collection of grid cells, each of which has an associated grid +point. Internally, the grid point can either be a corner point of the +grid cell, or at its center. Each grid cell (or point) stores one or +more values (data). + +The grid points and data they store are distributed across processors. +Each processor owns the grid points (and their data) that lie within +the spatial subdomain of the processor. If needed for its +computations, it may also store ghost grid points with data. + +These grids can overlay orthogonal or triclinic simulation boxes; see +the :doc:`Howto triclinic ` doc page for an +explanation of the latter. For a triclinic box, the grid cells +conform to the shape of the simulation domain, e.g. parallelograms +instead of rectangles in 2d. + +If the box size or shape changes during a simulation, the grid changes +with it, so that it always overlays the entire simulation domain. For +non-periodic dimensions, the grid size in that dimension matches the +box size, i.e. as set by the :doc:`boundary ` command for +fixed or shrink-wrapped boundaries. + +If load-balancing is invoked by the :doc:`balance ` or +:doc:`fix balance ` commands, then the subdomain owned by +a processor will change which would also change which grid points they +own. Some of the commands listed below support that operation; others +do not. Eventually we plan to have all commands which define and +store per-grid data support load-balancing. + +.. note:: + + For developers, distributed grids are implemented within the code + via two classes: Grid2d and Grid3d. These partition the grid + across processors and have methods which allow forward and reverse + communication of ghost grid data. If you write a new compute or + fix which needs a distributed grid, these are the classes to look + at. A new pair style could use a distributed grid by having a fix + define it. + +---------- + +These are the commands which currently define or use distributed +grids: + +* :doc:`fix ave/grid ` - time average per-atom or per-grid values +* :doc:`fix ttm/grid ` - store electron temperature on grid +* :doc:`compute property/grid ` - generate grid IDs and coords +* :doc:`dump grid ` - output per-grid values +* :doc:`kspace_style pppm ` (and variants) - FFT grids +* :doc:`kspace_style msm ` (and variants) - MSM grids + +The grids used by the :doc:`kspace_style ` can not be +referenced by an input script. However the grids and data created and +used by the other commands can be. + +A compute or fix command may create one or more grids (of different +sizes). Each grid can store one or more data fields. A data field +can be a single value per grid point (per-grid vector) or multiple +values per grid point (per-grid array). See the :doc:`Howto output +` doc page for an explanation of how per-grid data can +be generated by some commands and used by others. + +A command accesses grid data from a compute or fix with the following +syntax: + +* c_ID:gname:dname +* c_ID:gname:dname[I] +* f_ID:gname:dname +* f_ID:gname:dname[I] + +The prefix "c_" or "f_" refers to the ID of the compute or fix. Gname +is the name of the grid, which is assigned by the compute or fix. +Dname is the name of the data field, which is also assigned by the +compute or fix. + +If the data field is a per-grid vector (one value per grid point), +then no brackets are used to access the values. If the data field is +a per-grid array (multiple values per grid point), then brackets are +used to specify the column I of the array. I ranges from 1 to Ncol +inclusive, where Ncol is the number of columns in the array and is +defined by the compute or fix. + +Currently, there are no per-grid variables implemented in LAMMPS. We +may add this feature at some point. diff --git a/doc/src/Howto_output.rst b/doc/src/Howto_output.rst index fe9a8f5f79..f21bafe81c 100644 --- a/doc/src/Howto_output.rst +++ b/doc/src/Howto_output.rst @@ -57,9 +57,9 @@ the atoms it owns, but there may be zero or more per atom, e.g. a list of bond distances. A per-grid datum is one or more values per grid point, for a grid -which overlays the simulation domain. Each processor owns the grid -points which fall within its sub-domain. Thus the grid points and the -data they store are distributed across processors. +which overlays the simulation domain. The grid points and the data +they store are distributed across processors; each processor owns the +grid points which fall within its sub-domain. .. _scalar: @@ -99,30 +99,8 @@ Per-grid data Per-grid data can come in two kinds: a vector of values (one per grid point), or a 2d array of values (multiple values per grid point). The doc page for a "compute" or "fix" that generates data will specify -both the style and kind of data it produces, e.g. a per-grid vector or -array. - -Only computes and fixes produce and output per-grid data. Per-grid -variables have not (yet) been implemented. A compute or fix may -define one or more grids, e.g. of differing sizes. Each grid can -store one or more data fields. - -Another command accesses grid data in the following syntax: - -* c_ID:gname:dname -* c_ID:gname:dname[I] -* f_ID:gname:dname -* f_ID:gname:dname[I] - -The prefix "c_" or "f_" refers to the ID of the compute or fix. Gname -is the name of the grid, which is assinged by the compute or fix. -Dname is the name of the data field, which is also assinged by the -compute or fix. If the data field is a per-grid vector (one value per -grid point), then no brackets are used to access the values. If the -data field is a per-grid array (multiple values per grid point), then -brackets are used to specify the column I of the array. I ranges from -1 to Ncol inclusive, where Ncol is the number of columns in the array -and is defined by the compute or fix. +names for both the grid(s) and datum(s) it produces, e.g. per-grid +vectors or arrays, which can be referenced by other commands. .. _disambiguation: @@ -154,8 +132,7 @@ are calculated and written out. Pre-defined keywords can be specified (e.g. press, etotal, etc). Three additional kinds of keywords can also be specified (c_ID, f_ID, v_name), where a :doc:`compute ` or :doc:`fix ` or :doc:`variable ` provides the value to be -output. In each case, the compute, fix, or variable must generate -global values for input to the :doc:`thermo_style custom ` +output. In each case, the compute, fix, or variable must generateglobal values for input to the :doc:`thermo_style custom ` command. Note that thermodynamic output values can be "extensive" or @@ -197,8 +174,8 @@ must generate local values for input to the :doc:`dump local ` command. There is also a :doc:`dump grid ` format where the user -specifies what per-grid values to output (c_ID:gname:fname or -f_ID:gname:fname) from computes of fixes that generate per-grid data. +specifies what per-grid values to output from computes or fixes that +generate per-grid data. .. _fixoutput: @@ -237,7 +214,7 @@ global and can also be used as input to other output commands. Note that the :doc:`fix ave/grid ` command can also average the same per-atom quantities within spatial bins, but it does this for a distributed grid whose grid points are owned by different -processors. It outputs per-grid data, not global data, so is more +processors. It outputs per-grid data, not global data, so it is more efficient for large numbers of averaging bins. The :doc:`fix ave/histo ` command enables direct output @@ -345,8 +322,8 @@ and :doc:`fix ave/chunk ` commands when used in this context is that the former uses a distributed grid, while the latter uses a global grid. Distributed means that each processor owns the subset of grid points within its subdomain. Global means that each -processor owns a copy of the entire grid. Distributed is thus more -efficient for large grids. +processor owns a copy of the entire grid. The :doc:`fix ave/grid +` command is thus more efficient for large grids. For per-grid data, the :doc:`fix ave/grid ` command takes inputs for grid data produced by other computes or fixes and diff --git a/doc/src/compute.rst b/doc/src/compute.rst index 508c440e78..9ba6d09406 100644 --- a/doc/src/compute.rst +++ b/doc/src/compute.rst @@ -43,29 +43,38 @@ underscores. ---------- -Computes calculate one of three styles of quantities: global, -per-atom, or local. A global quantity is one or more system-wide -values, e.g. the temperature of the system. A per-atom quantity is -one or more values per atom, e.g. the kinetic energy of each atom. -Per-atom values are set to 0.0 for atoms not in the specified compute -group. Local quantities are calculated by each processor based on the -atoms it owns, but there may be zero or more per atom, e.g. a list of -bond distances. Computes that produce per-atom quantities have the -word "atom" in their style, e.g. *ke/atom*\ . Computes that produce -local quantities have the word "local" in their style, -e.g. *bond/local*\ . Styles with neither "atom" or "local" in their -style produce global quantities. +Computes calculate one or more of four styles of quantities: global, +per-atom, local, or per-atom. A global quantity is one or more +system-wide values, e.g. the temperature of the system. A per-atom +quantity is one or more values per atom, e.g. the kinetic energy of +each atom. Per-atom values are set to 0.0 for atoms not in the +specified compute group. Local quantities are calculated by each +processor based on the atoms it owns, but there may be zero or more +per atom, e.g. a list of bond distances. Per-grid quantities are +calculated on a regular 2d or 3d grid which overlays a 2d or 3d +simulation domain. The grid points and the data they store are +distributed across processors; each processor owns the grid points +which fall within its sub-domain. -Note that a single compute can produce either global or per-atom or -local quantities, but not both global and per-atom. It can produce -local quantities in tandem with global or per-atom quantities. The -compute page will explain. +Computes that produce per-atom quantities have the word "atom" at the +end of their style, e.g. *ke/atom*\ . Computes that produce local +quantities have the word "local" at the end of their style, +e.g. *bond/local*\ . Computes that produce per-grid quantities have +the word "grid" at the end of their style, e.g. *property/grid*\ . +Styles with neither "atom" or "local" or "grid" at the end of their +style name produce global quantities. -Global, per-atom, and local quantities each come in three kinds: a -single scalar value, a vector of values, or a 2d array of values. The -doc page for each compute describes the style and kind of values it -produces, e.g. a per-atom vector. Some computes produce more than one -kind of a single style, e.g. a global scalar and a global vector. +Note that a single compute typically produces either global or +per-atom or local or per-grid values. It does not compute both global +and per-atom values. It can produce local values or per-grid values +in tandem with global or per-atom quantities. The compute doc page +will explain the details. + +Global, per-atom, local, and per-grid quantities come in three kinds: +a single scalar value, a vector of values, or a 2d array of values. +The doc page for each compute describes the style and kind of values +it produces, e.g. a per-atom vector. Some computes produce more than +one kind of a single style, e.g. a global scalar and a global vector. When a compute quantity is accessed, as in many of the output commands discussed below, it can be referenced via the following bracket @@ -252,7 +261,8 @@ The individual style names on the :doc:`Commands compute ` pag * :doc:`pressure/uef ` - pressure tensor in the reference frame of an applied flow field * :doc:`property/atom ` - convert atom attributes to per-atom vectors/arrays * :doc:`property/chunk ` - extract various per-chunk attributes -* :doc:`property/local ` - convert local attributes to localvectors/arrays +* :doc:`property/grid ` - convert per-grid attributes to per-grid vectors/arrays +* :doc:`property/local ` - convert local attributes to local vectors/arrays * :doc:`ptm/atom ` - determines the local lattice structure based on the Polyhedral Template Matching method * :doc:`rdf ` - radial distribution function g(r) histogram of group of atoms * :doc:`reduce ` - combine per-atom quantities into a single global value diff --git a/doc/src/compute_property_grid.rst b/doc/src/compute_property_grid.rst index 9d037e629c..86c0ffbc46 100644 --- a/doc/src/compute_property_grid.rst +++ b/doc/src/compute_property_grid.rst @@ -38,11 +38,9 @@ Description Define a computation that stores the specified attributes of a distributed grid. In LAMMPS, distributed grids are regular 2d or 3d grids which overlay a 2d or 3d simulation domain. Each processor owns -the grid points within its subdomain. - -See the :doc:`Howto grid ` doc page for details of how -distributed grids can be defined by various commands and examples of -how they can be used to measure properties of a system. +the grid points within its subdomain. See the :doc:`Howto grid +` doc page for details of how distributed grids can be +defined by various commands and referenced. This compute stores the specified attributes of grids as per-grid data so they can be accessed by other :doc:`output commands ` @@ -64,45 +62,45 @@ corner point of each grid cell. The *xs*, *ys*, *zs* attributes are also coordinates of the lower left corner point of each grid cell, except in scaled coordinates, where -the lower-left corner of the entire simulation box is (0,0,0) and he +the lower-left corner of the entire simulation box is (0,0,0) and the upper right corner is (1,1,1). +The *xc*, *yc*, *zc* attributes are the coordinates of the center +point of each grid cell. -Only in triclinic. - -For 2d simulations, none of the attributes which refer to -the Z dimension can be used. - +The *xsc*, *ysc*, *zsc* attributes are also coordinates of the center +point each grid cell, except in scaled coordinates, where the +lower-left corner of the entire simulation box is (0,0,0) and the upper +right corner is (1,1,1). +For :doc:`triclinic simulation boxes `, the grid +point coordinates for (x,y,z) and (xc,yc,zc) will reflect the +triclinic geometry. For (xs,yz,zs) and (xsc,ysc,zsc), the coordinates +are the same for orthogonal versus triclinic boxes. Output info """"""""""" This compute calculates a per-grid vector or array depending on the -number of input values. The length of the vector or number of rows -for each processor is the the number of grid points it owns. +number of input values. The length of the vector or number of array +rows for each processor is the number of grid points it owns. -This compute calculates a global vector or global array where the -number of rows = the number of chunks *Nchunk* as calculated by the -specified :doc:`compute chunk/atom ` command. If a -single input is specified, a global vector is produced. If two or -more inputs are specified, a global array is produced where the number -of columns = the number of inputs. The vector or array can be -accessed by any command that uses global values from a compute as -input. See the :doc:`Howto output ` page for an -overview of LAMMPS output options. +For access by other commands, the name of the grid produced +by this command is "grid". The name of its data is "data". -The vector or array values are "intensive". The values will be -unitless or in the units discussed above. +The (x,y,z) and (xc,yc,zc) coordinates are in distance :doc:`units +`. Restrictions """""""""""" - none + +For 2d simulations, the attributes which refer to +the Z dimension cannot be used. Related commands """""""""""""""" -:doc:`fix ave/grid ` +:doc:`dump grid ` Default """"""" diff --git a/doc/src/dump.rst b/doc/src/dump.rst index b0b7b7abae..a141b66e79 100644 --- a/doc/src/dump.rst +++ b/doc/src/dump.rst @@ -3,6 +3,7 @@ .. index:: dump cfg .. index:: dump custom .. index:: dump dcd +.. index:: dump grid .. index:: dump local .. index:: dump xtc .. index:: dump yaml @@ -61,7 +62,7 @@ Syntax * ID = user-assigned name for the dump * group-ID = ID of the group of atoms to be dumped -* style = *atom* or *atom/gz* or *atom/zstd* or *atom/mpiio* or *cfg* or *cfg/gz* or *cfg/zstd* or *cfg/mpiio* or *cfg/uef* or *custom* or *custom/gz* or *custom/zstd* or *custom/mpiio* or *dcd* or *h5md* or *image* or *local* or *local/gz* or *local/zstd* or *molfile* or *movie* or *netcdf* or *netcdf/mpiio* or *vtk* or *xtc* or *xyz* or *xyz/gz* or *xyz/zstd* or *xyz/mpiio* or *yaml* +* style = *atom* or *atom/gz* or *atom/zstd* or *atom/mpiio* or *cfg* or *cfg/gz* or *cfg/zstd* or *cfg/mpiio* or *cfg/uef* or *custom* or *custom/gz* or *custom/zstd* or *custom/mpiio* or *dcd* or *grid* or *h5md* or *image* or *local* or *local/gz* or *local/zstd* or *molfile* or *movie* or *netcdf* or *netcdf/mpiio* or *vtk* or *xtc* or *xyz* or *xyz/gz* or *xyz/zstd* or *xyz/mpiio* or *yaml* * N = dump every this many timesteps * file = name of file to write dump info to * args = list of arguments for a particular style @@ -82,6 +83,7 @@ Syntax *custom/adios* args = same as *custom* args, discussed on :doc:`dump custom/adios ` page *dcd* args = none *h5md* args = discussed on :doc:`dump h5md ` page + *grid* args = see below *image* args = discussed on :doc:`dump image ` page *local*, *local/gz*, *local/zstd* args = see below *molfile* args = discussed on :doc:`dump molfile ` page @@ -154,6 +156,18 @@ Syntax f_ID = local vector calculated by a fix with ID f_ID[I] = Ith column of local array calculated by a fix with ID, I can include wildcard (see below) +* *grid* args = list of grid attributes + + .. parsed-literal:: + + possible attributes = c_ID:gname:dname, c_ID:gname:dname[I], f_ID:gname:dname, f_ID:gname:dname[I] + gname = name of grid defined by compute or fix + ename = name of data field defined by compute or fix + c_ID = per-grid vector calculated by a compute with ID + c_ID[I] = Ith column of per-grid array calculated by a compute with ID, I can include wildcard (see below) + f_ID = per-grid vector calculated by a fix with ID + f_ID[I] = Ith column of per-grid array calculated by a fix with ID, I can include wildcard (see below) + Examples """""""" @@ -564,18 +578,19 @@ MPI-IO. Note that MPI-IO dump files are one large file which all processors write to. You thus cannot use the "%" wildcard character described above in the filename since that specifies generation of multiple -files. You can use the ".bin" or ".lammpsbin" suffix described below in an MPI-IO -dump file; again this file will be written in parallel and have the -same binary format as if it were written without MPI-IO. +files. You can use the ".bin" or ".lammpsbin" suffix described below +in an MPI-IO dump file; again this file will be written in parallel +and have the same binary format as if it were written without MPI-IO. -If the filename ends with ".bin" or ".lammpsbin", the dump file (or files, if "\*" or -"%" is also used) is written in binary format. A binary dump file -will be about the same size as a text version, but will typically -write out much faster. Of course, when post-processing, you will need -to convert it back to text format (see the :ref:`binary2txt tool `) or write your own code to read the binary -file. The format of the binary file can be understood by looking at -the tools/binary2txt.cpp file. This option is only available for the -*atom* and *custom* styles. +If the filename ends with ".bin" or ".lammpsbin", the dump file (or +files, if "\*" or "%" is also used) is written in binary format. A +binary dump file will be about the same size as a text version, but +will typically write out much faster. Of course, when +post-processing, you will need to convert it back to text format (see +the :ref:`binary2txt tool `) or write your own code to read +the binary file. The format of the binary file can be understood by +looking at the tools/binary2txt.cpp file. This option is only +available for the *atom* and *custom* styles. If the filename ends with ".gz", the dump file (or files, if "\*" or "%" is also used) is written in gzipped format. A gzipped dump file will @@ -610,62 +625,6 @@ command creates a per-atom array with 6 columns: ---------- -This section explains the local attributes that can be specified as -part of the *local* style. - -The *index* attribute can be used to generate an index number from 1 -to N for each line written into the dump file, where N is the total -number of local datums from all processors, or lines of output that -will appear in the snapshot. Note that because data from different -processors depend on what atoms they currently own, and atoms migrate -between processor, there is no guarantee that the same index will be -used for the same info (e.g. a particular bond) in successive -snapshots. - -The *c_ID* and *c_ID[I]* attributes allow local vectors or arrays -calculated by a :doc:`compute ` to be output. The ID in the -attribute should be replaced by the actual ID of the compute that has -been defined previously in the input script. See the -:doc:`compute ` command for details. There are computes for -calculating local information such as indices, types, and energies for -bonds and angles. - -Note that computes which calculate global or per-atom quantities, as -opposed to local quantities, cannot be output in a dump local command. -Instead, global quantities can be output by the :doc:`thermo_style -custom ` command, and per-atom quantities can be output -by the dump custom command. - -If *c_ID* is used as a attribute, then the local vector calculated by -the compute is printed. If *c_ID[I]* is used, then I must be in the -range from 1-M, which will print the Ith column of the local array -with M columns calculated by the compute. See the discussion above -for how I can be specified with a wildcard asterisk to effectively -specify multiple values. - -The *f_ID* and *f_ID[I]* attributes allow local vectors or arrays -calculated by a :doc:`fix ` to be output. The ID in the attribute -should be replaced by the actual ID of the fix that has been defined -previously in the input script. - -If *f_ID* is used as a attribute, then the local vector calculated by -the fix is printed. If *f_ID[I]* is used, then I must be in the -range from 1-M, which will print the Ith column of the local with M -columns calculated by the fix. See the discussion above for how I can -be specified with a wildcard asterisk to effectively specify multiple -values. - -Here is an example of how to dump bond info for a system, including -the distance and energy of each bond: - -.. code-block:: LAMMPS - - compute 1 all property/local batom1 batom2 btype - compute 2 all bond/local dist eng - dump 1 all local 1000 tmp.dump index c_1[1] c_1[2] c_1[3] c_2[1] c_2[2] - ----------- - This section explains the atom attributes that can be specified as part of the *custom* and *cfg* styles. @@ -800,6 +759,101 @@ which could then be output into dump files. ---------- +This section explains the local attributes that can be specified as +part of the *local* style. + +The *index* attribute can be used to generate an index number from 1 +to N for each line written into the dump file, where N is the total +number of local datums from all processors, or lines of output that +will appear in the snapshot. Note that because data from different +processors depend on what atoms they currently own, and atoms migrate +between processor, there is no guarantee that the same index will be +used for the same info (e.g. a particular bond) in successive +snapshots. + +The *c_ID* and *c_ID[I]* attributes allow local vectors or arrays +calculated by a :doc:`compute ` to be output. The ID in the +attribute should be replaced by the actual ID of the compute that has +been defined previously in the input script. See the +:doc:`compute ` command for details. There are computes for +calculating local information such as indices, types, and energies for +bonds and angles. + +Note that computes which calculate global or per-atom quantities, as +opposed to local quantities, cannot be output in a dump local command. +Instead, global quantities can be output by the :doc:`thermo_style +custom ` command, and per-atom quantities can be output +by the dump custom command. + +If *c_ID* is used as a attribute, then the local vector calculated by +the compute is printed. If *c_ID[I]* is used, then I must be in the +range from 1-M, which will print the Ith column of the local array +with M columns calculated by the compute. See the discussion above +for how I can be specified with a wildcard asterisk to effectively +specify multiple values. + +The *f_ID* and *f_ID[I]* attributes allow local vectors or arrays +calculated by a :doc:`fix ` to be output. The ID in the attribute +should be replaced by the actual ID of the fix that has been defined +previously in the input script. + +If *f_ID* is used as a attribute, then the local vector calculated by +the fix is printed. If *f_ID[I]* is used, then I must be in the +range from 1-M, which will print the Ith column of the local with M +columns calculated by the fix. See the discussion above for how I can +be specified with a wildcard asterisk to effectively specify multiple +values. + +Here is an example of how to dump bond info for a system, including +the distance and energy of each bond: + +.. code-block:: LAMMPS + + compute 1 all property/local batom1 batom2 btype + compute 2 all bond/local dist eng + dump 1 all local 1000 tmp.dump index c_1[1] c_1[2] c_1[3] c_2[1] c_2[2] + +---------- + +This section explains the per-grid attributes that can be specified as +part of the *grid* style. + +The attributes that begin with *c_ID** and *f_ID* both take +colon-separated fields *gname* and *dname*. These refer to a grid +name and data field name which is defined by the compute or fix. Note +that a compute or fix can define one or more grids (of different +sizes) and one or more data fields for each of those grids. The sizes +of all grids output in a single dump grid command must be the same. + +The *c_ID:gname:dname* and *c_ID:gname:dname[I]* attributes allow +per-grid vectors or arrays calculated by a :doc:`compute ` to +be output. The ID in the attribute should be replaced by the actual +ID of the compute that has been defined previously in the input +script. See the :doc:`compute ` command for details. There +are computes for calculating local information such as indices, types, +and energies for bonds and angles. + +If *c_ID:gname:dname* is used as a attribute, then the per-grid vector +calculated by the compute is printed. If *c_ID:gname:dname[I]* is +used, then I must be in the range from 1-M, which will print the Ith +column of the per-grid array with M columns calculated by the compute. +See the discussion above for how I can be specified with a wildcard +asterisk to effectively specify multiple values. + +The *f_ID:gname:dname* and *f_ID:gname:dname[I]* attributes allow +per-grid vectors or arrays calculated by a :doc:`fix ` to be +output. The ID in the attribute should be replaced by the actual ID +of the fix that has been defined previously in the input script. + +If *f_ID:gname:dname* is used as a attribute, then the per-grid vector +calculated by the fix is printed. If *f_ID:gname:dname[I]* is used, +then I must be in the range from 1-M, which will print the Ith column +of the per-grid with M columns calculated by the fix. See the +discussion above for how I can be specified with a wildcard asterisk +to effectively specify multiple values. + +---------- + Restrictions """""""""""" diff --git a/doc/src/fix.rst b/doc/src/fix.rst index 2ec4437b39..f9a6e0a3c6 100644 --- a/doc/src/fix.rst +++ b/doc/src/fix.rst @@ -77,24 +77,29 @@ for individual fixes for info on which ones can be restarted. ---------- -Some fixes calculate one of three styles of quantities: global, -per-atom, or local, which can be used by other commands or output as -described below. A global quantity is one or more system-wide values, -e.g. the energy of a wall interacting with particles. A per-atom -quantity is one or more values per atom, e.g. the displacement vector -for each atom since time 0. Per-atom values are set to 0.0 for atoms -not in the specified fix group. Local quantities are calculated by -each processor based on the atoms it owns, but there may be zero or -more per atoms. +Some fixes calculate one or more of four styles of quantities: global, +per-atom, local, or per-grid, which can be used by other commands or +output as described below. A global quantity is one or more +system-wide values, e.g. the energy of a wall interacting with +particles. A per-atom quantity is one or more values per atom, +e.g. the displacement vector for each atom since time 0. Per-atom +values are set to 0.0 for atoms not in the specified fix group. Local +quantities are calculated by each processor based on the atoms it +owns, but there may be zero or more per atoms. Per-grid quantities +are calculated on a regular 2d or 3d grid which overlays a 2d or 3d +simulation domain. The grid points and the data they store are +distributed across processors; each processor owns the grid points +which fall within its sub-domain. -Note that a single fix can produce either global or per-atom or local -quantities (or none at all), but not both global and per-atom. It can -produce local quantities in tandem with global or per-atom quantities. -The fix page will explain. +Note that a single fix typically produces either global or per-atom or +local or per-grid values (or none at all). It does not produce both +global and per-atom. It can produce local or per-grid values in +tandem with global or per-atom values. The fix doc page will explain +the details. -Global, per-atom, and local quantities each come in three kinds: a -single scalar value, a vector of values, or a 2d array of values. The -doc page for each fix describes the style and kind of values it +Global, per-atom, local, and per-grid quantities come in three kinds: +a single scalar value, a vector of values, or a 2d array of values. +The doc page for each fix describes the style and kind of values it produces, e.g. a per-atom vector. Some fixes produce more than one kind of a single style, e.g. a global scalar and a global vector. @@ -180,6 +185,7 @@ accelerated styles exist. * :doc:`ave/chunk ` - compute per-chunk time-averaged quantities * :doc:`ave/correlate ` - compute/output time correlations * :doc:`ave/correlate/long ` - +* :doc:`ave/grid ` - compute per-grid time-averaged quantities * :doc:`ave/histo ` - compute/output time-averaged histograms * :doc:`ave/histo/weight ` - weighted version of fix ave/histo * :doc:`ave/time ` - compute/output global time-averaged quantities diff --git a/doc/src/velocity.rst b/doc/src/velocity.rst index cd283de399..0c1a231e92 100644 --- a/doc/src/velocity.rst +++ b/doc/src/velocity.rst @@ -154,7 +154,8 @@ temperature using a compute that is defined internally as follows: where group-ID is the same ID used in the velocity command. i.e. the group of atoms whose velocity is being altered. This compute is -deleted when the velocity command is finished. See the :doc:`compute temp ` command for details. If the calculated +deleted when the velocity command is finished. See the :doc:`compute +temp ` command for details. If the calculated temperature should have degrees-of-freedom removed due to fix constraints (e.g. SHAKE or rigid-body constraints), then the appropriate fix command must be specified before the velocity command @@ -163,13 +164,13 @@ is issued. The *bias* keyword with a *yes* setting is used by *create* and *scale*, but only if the *temp* keyword is also used to specify a :doc:`compute ` that calculates temperature in a desired way. -If the temperature compute also calculates a velocity bias, the -bias is subtracted from atom velocities before the *create* and -*scale* operations are performed. After the operations, the bias is -added back to the atom velocities. See the :doc:`Howto thermostat ` page for more discussion of -temperature computes with biases. Note that the velocity bias is only -applied to atoms in the temperature compute specified with the *temp* -keyword. +If the temperature compute also calculates a velocity bias, the bias +is subtracted from atom velocities before the *create* and *scale* +operations are performed. After the operations, the bias is added +back to the atom velocities. See the :doc:`Howto thermostat +` page for more discussion of temperature computes +with biases. Note that the velocity bias is only applied to atoms in +the temperature compute specified with the *temp* keyword. As an example, assume atoms are currently streaming in a flow direction (which could be separately initialized with the *ramp* @@ -218,7 +219,8 @@ coordinate as stored on a particular machine. ---------- The *rigid* keyword only has meaning when used with the *zero* style. -It allows specification of a fix-ID for one of the :doc:`rigid-body fix ` variants which defines a set of rigid bodies. The +It allows specification of a fix-ID for one of the :doc:`rigid-body +fix ` variants which defines a set of rigid bodies. The zeroing of linear or angular momentum is then performed for each rigid body defined by the fix, as described above. @@ -235,16 +237,18 @@ command must have been previously used to define the lattice spacing. Restrictions """""""""""" -Assigning a temperature via the *create* style to a system with :doc:`rigid bodies ` or :doc:`SHAKE constraints ` may not -have the desired outcome for two reasons. First, the velocity command -can be invoked before all of the relevant fixes are created and -initialized and the number of adjusted degrees of freedom (DOFs) is -known. Thus it is not possible to compute the target temperature -correctly. Second, the assigned velocities may be partially canceled -when constraints are first enforced, leading to a different -temperature than desired. A workaround for this is to perform a :doc:`run 0 ` command, which insures all DOFs are accounted for -properly, and then rescale the temperature to the desired value before -performing a simulation. For example: +Assigning a temperature via the *create* style to a system with +:doc:`rigid bodies ` or :doc:`SHAKE constraints +` may not have the desired outcome for two reasons. First, +the velocity command can be invoked before all of the relevant fixes +are created and initialized and the number of adjusted degrees of +freedom (DOFs) is known. Thus it is not possible to compute the +target temperature correctly. Second, the assigned velocities may be +partially canceled when constraints are first enforced, leading to a +different temperature than desired. A workaround for this is to +perform a :doc:`run 0 ` command, which insures all DOFs are +accounted for properly, and then rescale the temperature to the +desired value before performing a simulation. For example: .. code-block:: LAMMPS From 5e935519bf1cee5448396aa573d05b70200098fd Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 16 Aug 2022 15:42:48 -0600 Subject: [PATCH 028/142] finished first draft of doc pages --- doc/src/compute_modify.rst | 23 +- doc/src/compute_property_grid.rst | 16 +- doc/src/compute_temp.rst | 8 +- doc/src/dump.rst | 8 +- doc/src/fix_ave_chunk.rst | 9 +- doc/src/fix_ave_grid.rst | 436 +++++++++++++++++++++ doc/src/fix_ttm.rst | 7 + src/compute_property_grid.cpp | 609 +++++++++++------------------- src/compute_property_grid.h | 25 +- src/fix_ave_grid.cpp | 10 +- 10 files changed, 702 insertions(+), 449 deletions(-) create mode 100644 doc/src/fix_ave_grid.rst diff --git a/doc/src/compute_modify.rst b/doc/src/compute_modify.rst index a68f3c14e1..2e00157d5e 100644 --- a/doc/src/compute_modify.rst +++ b/doc/src/compute_modify.rst @@ -40,21 +40,26 @@ all compute styles support all parameters. The *extra/dof* or *extra* keyword refers to how many degrees-of-freedom are subtracted (typically from 3N) as a normalizing factor in a temperature computation. Only computes that compute a -temperature use this option. The default is 2 or 3 for :doc:`2d or 3d systems ` which is a correction factor for an ensemble -of velocities with zero total linear momentum. For compute -temp/partial, if one or more velocity components are excluded, the -value used for *extra* is scaled accordingly. You can use a negative -number for the *extra* parameter if you need to add -degrees-of-freedom. See the :doc:`compute temp/asphere ` command for an example. +temperature use this option. The default is 2 or 3 for :doc:`2d or 3d +systems ` which is a correction factor for an ensemble of +velocities with zero total linear momentum. For compute temp/partial, +if one or more velocity components are excluded, the value used for +*extra* is scaled accordingly. You can use a negative number for the +*extra* parameter if you need to add degrees-of-freedom. See the +:doc:`compute temp/asphere ` command for an +example. The *dynamic/dof* or *dynamic* keyword determines whether the number of atoms N in the compute group and their associated degrees of freedom are re-computed each time a temperature is computed. Only compute styles that calculate a temperature use this option. By default, N and their DOF are assumed to be constant. If you are -adding atoms or molecules to the system (see the :doc:`fix pour `, :doc:`fix deposit `, and :doc:`fix gcmc ` commands) or expect atoms or molecules to be lost -(e.g. due to exiting the simulation box or via :doc:`fix evaporate `), then this option should be used to -insure the temperature is correctly normalized. +adding atoms or molecules to the system (see the :doc:`fix pour +`, :doc:`fix deposit `, and :doc:`fix gcmc +` commands) or expect atoms or molecules to be lost +(e.g. due to exiting the simulation box or via :doc:`fix evaporate +`), then this option should be used to insure the +temperature is correctly normalized. .. note:: diff --git a/doc/src/compute_property_grid.rst b/doc/src/compute_property_grid.rst index 86c0ffbc46..7471637b48 100644 --- a/doc/src/compute_property_grid.rst +++ b/doc/src/compute_property_grid.rst @@ -8,10 +8,11 @@ Syntax .. parsed-literal:: - compute ID group-ID property/grid input1 input2 ... + compute ID group-ID property/grid Nx Ny Nz input1 input2 ... * ID, group-ID are documented in :doc:`compute ` command * property/grid = style name of this compute command +* Nx, Ny, Nz = grid size in each dimension * input1,etc = one or more attributes .. parsed-literal:: @@ -46,6 +47,12 @@ This compute stores the specified attributes of grids as per-grid data so they can be accessed by other :doc:`output commands ` such as :doc:`dump grid `. +*Nx*, *Ny*, and *Nz* define the size of the grid. For a 2d simulation +*Nz* must be 1. When this compute is used by :doc:`dump grid `, +*to output per-grid values from other computes of fixes, the grid size +*specified for this command must be consistent with the grid sizes +*used by the other commands. + The *id* attribute stores the grid ID for each grid point. For a global grid of size Nx by Ny by Nz (in 3d simulations) the grid IDs range from 1 to Nx*Ny*Nz. They are ordered with the X index of the 3d @@ -83,10 +90,9 @@ Output info This compute calculates a per-grid vector or array depending on the number of input values. The length of the vector or number of array -rows for each processor is the number of grid points it owns. - -For access by other commands, the name of the grid produced -by this command is "grid". The name of its data is "data". +rows (distributed across all processors) is Nx * Ny * Nz. For access +by other commands, the name of the grid produced by this command is +"grid". The name of its data is "data". The (x,y,z) and (xc,yc,zc) coordinates are in distance :doc:`units `. diff --git a/doc/src/compute_temp.rst b/doc/src/compute_temp.rst index 3163de2272..c4984d97cc 100644 --- a/doc/src/compute_temp.rst +++ b/doc/src/compute_temp.rst @@ -29,7 +29,9 @@ Description Define a computation that calculates the temperature of a group of atoms. A compute of this style can be used by any command that -computes a temperature, e.g. :doc:`thermo_modify `, :doc:`fix temp/rescale `, :doc:`fix npt `, etc. +computes a temperature, e.g. :doc:`thermo_modify `, +:doc:`fix temp/rescale `, :doc:`fix npt `, +etc. The temperature is calculated by the formula KE = dim/2 N k T, where KE = total kinetic energy of the group of atoms (sum of 1/2 m v\^2), @@ -79,8 +81,8 @@ Output info This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output -options. +vector values from a compute as input. See the :doc:`Howto output +` page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The vector values are "extensive". diff --git a/doc/src/dump.rst b/doc/src/dump.rst index a141b66e79..78f019adb9 100644 --- a/doc/src/dump.rst +++ b/doc/src/dump.rst @@ -162,7 +162,7 @@ Syntax possible attributes = c_ID:gname:dname, c_ID:gname:dname[I], f_ID:gname:dname, f_ID:gname:dname[I] gname = name of grid defined by compute or fix - ename = name of data field defined by compute or fix + dname = name of data field defined by compute or fix c_ID = per-grid vector calculated by a compute with ID c_ID[I] = Ith column of per-grid array calculated by a compute with ID, I can include wildcard (see below) f_ID = per-grid vector calculated by a fix with ID @@ -818,7 +818,7 @@ the distance and energy of each bond: This section explains the per-grid attributes that can be specified as part of the *grid* style. -The attributes that begin with *c_ID** and *f_ID* both take +The attributes that begin with *c_ID* and *f_ID* both take colon-separated fields *gname* and *dname*. These refer to a grid name and data field name which is defined by the compute or fix. Note that a compute or fix can define one or more grids (of different @@ -829,9 +829,7 @@ The *c_ID:gname:dname* and *c_ID:gname:dname[I]* attributes allow per-grid vectors or arrays calculated by a :doc:`compute ` to be output. The ID in the attribute should be replaced by the actual ID of the compute that has been defined previously in the input -script. See the :doc:`compute ` command for details. There -are computes for calculating local information such as indices, types, -and energies for bonds and angles. +script. If *c_ID:gname:dname* is used as a attribute, then the per-grid vector calculated by the compute is printed. If *c_ID:gname:dname[I]* is diff --git a/doc/src/fix_ave_chunk.rst b/doc/src/fix_ave_chunk.rst index cda706a217..5acdb89cd8 100644 --- a/doc/src/fix_ave_chunk.rst +++ b/doc/src/fix_ave_chunk.rst @@ -137,10 +137,11 @@ quantities. :doc:`Variables ` of style *atom* are the only ones that can be used with this fix since all other styles of variable produce global quantities. -Note that for values from a compute or fix, the bracketed index I can -be specified using a wildcard asterisk with the index to effectively -specify multiple values. This takes the form "\*" or "\*n" or "n\*" or -"m\*n". If N = the size of the vector (for *mode* = scalar) or the +Note that for values from a compute or fix that produces a per-atom +array (multiple values per atom), the bracketed index I can be +specified using a wildcard asterisk with the index to effectively +specify multiple values. This takes the form "\*" or "\*n" or "n\*" +or "m\*n". If N = the size of the vector (for *mode* = scalar) or the number of columns in the array (for *mode* = vector), then an asterisk with no numeric values means all indices from 1 to N. A leading asterisk means all indices from 1 to n (inclusive). A trailing diff --git a/doc/src/fix_ave_grid.rst b/doc/src/fix_ave_grid.rst new file mode 100644 index 0000000000..1c454a609e --- /dev/null +++ b/doc/src/fix_ave_grid.rst @@ -0,0 +1,436 @@ +.. index:: fix ave/grid + +fix ave/grid command +===================== + +Syntax +"""""" + +.. parsed-literal:: + + fix ID group-ID ave/grid Nevery Nrepeat Nfreq Nx Ny Nz value1 value2 ... keyword args ... + +* ID, group-ID are documented in :doc:`fix ` command +* ave/grid = style name of this fix command +* Nevery = use input values every this many timesteps +* Nrepeat = # of times to use input values for calculating averages +* Nfreq = calculate averages every this many timesteps +* Nx, Ny, Nz = grid size in each dimension +* one or more per-atom or per-grid input values can be listed +* per-atom value = vx, vy, vz, fx, fy, fz, density/mass, density/number, mass, temp, c_ID, c_ID[I], f_ID, f_ID[I], v_name + + .. parsed-literal:: + + vx,vy,vz,fx,fy,fz,mass = atom attribute (velocity, force component, mass) + density/number, density/mass = number or mass density (per volume) + temp = temperature + 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 + f_ID[I] = Ith column of per-atom array calculated by a fix with ID, I can include wildcard (see below) + v_name = per-atom vector calculated by an atom-style variable with name + +* per-grid value = c_ID:gname:dname, c_ID:gname:dname[I], f_ID:gname:dname, f_ID:gname:dname[I] + + .. parsed-literal:: + + gname = name of grid defined by compute or fix + dname = name of data field defined by compute or fix + c_ID = per-grid vector calculated by a compute with ID + c_ID[I] = Ith column of per-grid array calculated by a compute with ID, I can include wildcard (see below) + f_ID = per-grid vector calculated by a fix with ID + f_ID[I] = Ith column of per-grid array calculated by a fix with ID, I can include wildcard (see below) + +* zero or more keyword/arg pairs may be appended +* keyword = *norm* or *ave* or *bias* or *adof* or *cdof* + + .. parsed-literal:: + + *norm* arg = *all* or *sample* or *none* = how output on *Nfreq* steps is normalized + all = output is sum of atoms across all *Nrepeat* samples, divided by atom count + sample = output is sum of *Nrepeat* sample averages, divided by *Nrepeat* + none = output is sum of *Nrepeat* sample sums, divided by *Nrepeat* + *ave* args = *one* or *running* or *window M* + one = output new average value every Nfreq steps + running = output cumulative average of all previous Nfreq steps + window M = output average of M most recent Nfreq steps + *bias* arg = bias-ID + bias-ID = ID of a temperature compute that removes a velocity bias for temperature calculation + *adof* value = dof_per_atom + dof_per_atom = define this many degrees-of-freedom per atom for temperature calculation + *cdof* value = dof_per_grid_cell + dof_per_grid_cell = add this many degrees-of-freedom per grid_cell for temperature calculation + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix 1 all ave/grid 10000 1 10000 10 10 10 fx fy fz c_myMSD[*] + fix 1 flow ave/chunk 100 10 1000 20 20 30 f_TTM:grid:data + +Description +""""""""""" + +Overlay the 2d or 3d simulation box with a uniformly spaced 2d or 3d +grid and use it to either (a) time-average per-atom quantities for the +atoms in each grid cell, or to (b) time-average per-grid quantities +produced by other computes or fixes. This fix operates in either +"per-atom mode" (all input values are per-atom) or in "per-grid mode" +(all input values are per-grid). + +The grid created by this command is distributed; each processor owns +the grid points that are within its subdomain. This is in contrast to +the :doc:`fix ave/chunk ` command when it uses chunks +from the :doc:`compute chunk/atom ` command which +are 2d or 3d regular bins. The per-bin outputs in that case are +global; each processor stores a copy of the entire set of bin data. +Thus it is better to use this command when the grid is large and a +simulation is run on many processors. + +For per-atom mode, only atoms in the specified group contribute to the +summing and averaging calculations. For per-grid mode, the specified +group is ignored. + +---------- + +The *Nevery*, *Nrepeat*, and *Nfreq* arguments specify on what +timesteps the input values will be accessed and contribute to the +average. The final averaged quantities are generated on timesteps +that are a multiples of *Nfreq*\ . The average is over *Nrepeat* +quantities, computed in the preceding portion of the simulation every +*Nevery* timesteps. *Nfreq* must be a multiple of *Nevery* and +*Nevery* must be non-zero even if *Nrepeat* is 1. Also, the timesteps +contributing to the average value cannot overlap, i.e. Nrepeat\*Nevery +can not exceed Nfreq. + +For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on +timesteps 90,92,94,96,98,100 will be used to compute the final average +on timestep 100. Similarly for timesteps 190,192,194,196,198,200 on +timestep 200, etc. If Nrepeat=1 and Nfreq = 100, then no time +averaging is done; values are simply generated on timesteps +100,200,etc. + +In per-atom mode, each input value can also be averaged over the atoms +in each grid cell. The way the averaging is done across the *Nrepeat* +timesteps to produce output on the *Nfreq* timesteps, and across +multiple *Nfreq* outputs, is determined by the *norm* and *ave* +keyword settings, as discussed below. + +---------- + +In both per-atom and per-grid mode, input values from a compute or fix +that produces an array of values (multiple values per atom or per grid +point), the bracketed index I can be specified using a wildcard +asterisk with the index to effectively specify multiple values. This +takes the form "\*" or "\*n" or "n\*" or "m\*n". If N = the number of +columns in the array (for *mode* = vector), then an asterisk with no +numeric values means all indices from 1 to N. A leading asterisk +means all indices from 1 to n (inclusive). A trailing asterisk means +all indices from n to N (inclusive). A middle asterisk means all +indices from m to n (inclusive). + +Using a wildcard is the same as if the individual columns of the array +had been listed one by one. E.g. if there were a compute fft/grid +command which produced 3 values for each grid point, these two fix +ave/grid commands would be equivalent: + +.. code-block:: LAMMPS + + compute myFFT all fft/grid 10 10 10 ... + fix 1 all ave/grid 100 1 100 10 10 10 c_myFFT:grid:data[*] + fix 2 all ave/grid 100 1 100 10 10 10 c_myFFT:grid:data[*][1] c_myFFT:grid:data[*][2] c_myFFT:grid:data[3] + +---------- + +*Per-atom mode*: + +Each specified per-atom value can be an atom attribute (velocity, +force component), a number or mass density, a mass or temperature, or +the result of a :doc:`compute ` or :doc:`fix ` or the +evaluation of an atom-style :doc:`variable `. In the latter +cases, the compute, fix, or variable must produce a per-atom quantity, +not a global quantity. Note that the :doc:`compute property/atom +` command provides access to any attribute +defined and stored by atoms. + +The per-atom values of each input vector are summed and averaged +independently of the per-atom values in other input vectors. + +:doc:`Computes ` that produce per-atom quantities are those +which have the word *atom* in their style name. See the doc pages for +individual :doc:`fixes ` to determine which ones produce per-atom +quantities. :doc:`Variables ` of style *atom* are the only +ones that can be used with this fix since all other styles of variable +produce global quantities. + +---------- + +The atom attribute values (vx,vy,vz,fx,fy,fz,mass) are +self-explanatory. As noted above, any other atom attributes can be +used as input values to this fix by using the :doc:`compute +property/atom ` command and then specifying an +input value from that compute. + +The *density/number* value means the number density is computed for +each grid cell, i.e. number/volume. The *density/mass* value means +the mass density is computed for each grid/cell, +i.e. total-mass/volume. The output values are in units of 1/volume or +density (mass/volume). See the :doc:`units ` command page for +the definition of density for each choice of units, e.g. gram/cm\^3. + +The *temp* value means the temperature is computed for each grid cell, +by the formula KE = DOF/2 k T, where KE = total kinetic energy of the +atoms in the grid cell (sum of 1/2 m v\^2), DOF = the total number of +degrees of freedom for all atoms in the grid cell, k = Boltzmann +constant, and T = temperature. + +The DOF is calculated as N\*adof + cdof, where N = number of atoms in +the grid cell, adof = degrees of freedom per atom, and cdof = degrees +of freedom per grid cell. By default adof = 2 or 3 = dimensionality +of system, as set via the :doc:`dimension ` command, and +cdof = 0.0. This gives the usual formula for temperature. + +Note that currently this temperature only includes translational +degrees of freedom for each atom. No rotational degrees of freedom +are included for finite-size particles. Also no degrees of freedom +are subtracted for any velocity bias or constraints that are applied, +such as :doc:`compute temp/partial `, or +:doc:`fix shake ` or :doc:`fix rigid `. This is +because those degrees of freedom (e.g. a constrained bond) could apply +to sets of atoms that are both inside and outside a specific grid +cell, and hence the concept is somewhat ill-defined. In some cases, +you can use the *adof* and *cdof* keywords to adjust the calculated +degrees of freedom appropriately, as explained below. + +Also note that a bias can be subtracted from atom velocities before +they are used in the above formula for KE, by using the *bias* +keyword. This allows, for example, a thermal temperature to be +computed after removal of a flow velocity profile. + +Note that the per-grid-cell temperature calculated by this fix and the +:doc:`compute temp/chunk ` command (using bins) +can be different. The compute calculates the temperature for each +chunk for a single snapshot. This fix can do that but can also time +average those values over many snapshots, or it can compute a +temperature as if the atoms in the grid cell on different timesteps +were collected together as one set of atoms to calculate their +temperature. The compute allows the center-of-mass velocity of each +chunk to be subtracted before calculating the temperature; this fix +does not. + +If a value begins with "c\_", a compute ID must follow which has been +previously defined in the input script. If no bracketed integer is +appended, the per-atom vector calculated by the compute is used. If a +bracketed integer is appended, the Ith column of the per-atom array +calculated by the compute is used. Users can also write code for +their own compute styles and :doc:`add them to LAMMPS `. See +the discussion above for how I can be specified with a wildcard +asterisk to effectively specify multiple values. + +If a value begins with "f\_", a fix ID must follow which has been +previously defined in the input script. If no bracketed integer is +appended, the per-atom vector calculated by the fix is used. If a +bracketed integer is appended, the Ith column of the per-atom array +calculated by the fix is used. Note that some fixes only produce +their values on certain timesteps, which must be compatible with +*Nevery*, else an error results. Users can also write code for their +own fix styles and :doc:`add them to LAMMPS `. See the +discussion above for how I can be specified with a wildcard asterisk +to effectively specify multiple values. + +If a value begins with "v\_", a variable name must follow which has +been previously defined in the input script. Variables of style +*atom* can reference thermodynamic keywords and various per-atom +attributes, or invoke other computes, fixes, or variables when they +are evaluated, so this is a very general means of generating per-atom +quantities to average within grid cells. + +---------- + +*Per-grid mode*: + +The attributes that begin with *c_ID* and *f_ID* both take +colon-separated fields *gname* and *dname*. These refer to a grid +name and data field name which is defined by the compute or fix. Note +that a compute or fix can define one or more grids (of different +sizes) and one or more data fields for each of those grids. The sizes +of all grids used as values for one instance of this fix must be the +same. + +The *c_ID:gname:dname* and *c_ID:gname:dname[I]* attributes allow +per-grid vectors or arrays calculated by a :doc:`compute ` to +be accessed. The ID in the attribute should be replaced by the actual +ID of the compute that has been defined previously in the input +script. + +If *c_ID:gname:dname* is used as a attribute, then the per-grid vector +calculated by the compute is accessed. If *c_ID:gname:dname[I]* is +used, then I must be in the range from 1-M, which will acccess the Ith +column of the per-grid array with M columns calculated by the compute. +See the discussion above for how I can be specified with a wildcard +asterisk to effectively specify multiple values. + +The *f_ID:gname:dname* and *f_ID:gname:dname[I]* attributes allow +per-grid vectors or arrays calculated by a :doc:`fix ` to be +output. The ID in the attribute should be replaced by the actual ID +of the fix that has been defined previously in the input script. + +If *f_ID:gname:dname* is used as a attribute, then the per-grid vector +calculated by the fix is printed. If *f_ID:gname:dname[I]* is used, +then I must be in the range from 1-M, which will print the Ith column +of the per-grid with M columns calculated by the fix. See the +discussion above for how I can be specified with a wildcard asterisk +to effectively specify multiple values. + +---------- + +Additional optional keywords also affect the operation of this fix and +its outputs. Some are only applicable to per-atom mode. Some are +applicable to both per-atom and per-grid mode. + +The *norm* keyword is only applicable to per-atom mode. It affects +how averaging is done for the per-grid values that are output once +every *Nfreq* timesteps when *Nrepeat* samples contribute to the +output. It has 3 possible settings: *all* or *sample* or *none*. +*All* is the default. + +In per-atom mode, *norm all* means the output grid value is summed +over all atoms in all *Nrepeat* samples, as is the count of atoms in +each grid cell. The averaged output value for a grid cell on the +*Nfreq* timesteps is Total-sum / Total-count. In other words it is an +average over atoms across the entire *Nfreq* timescale. For the +*density/number* and *density/mass* values, the grid cell volume used +in the final normalization will be the volume at the final *Nfreq* +timestep. For the *temp* values, degrees of freedom and kinetic energy +are summed separately across the entire *Nfreq* timescale, and the +output value is calculated by dividing those two sums. + +In per-atom mode, *norm sample* means the output grid value is summed +over atoms for each sample, as is the count, and an "average sample +value" is computed for each sample, i.e. Sample-sum / Sample-count. +The output grid value on the *Nfreq* timesteps is the average of the +*Nrepeat* "average sample values", i.e. the sum of *Nrepeat* "average +sample values" divided by *Nrepeat*\ . In other words it is an +average of an average. For the *density/number* and *density/mass* +values, the grid cell volume used in the per-sample normalization will +be the current grid cell volume at each sampling step. + +In per-atom mode, *norm none* perfomrma a similar computation as *norm +sample*, except the individual "average sample values" are "summed +sample values". A summed sample value is simply the grid value summed +over atoms in the sample, without dividing by the number of atoms in +the sample. The output grid value on the *Nfreq* timesteps is the +average of the *Nrepeat* "summed sample values", i.e. the sum of +*Nrepeat* "summed sample values" divided by *Nrepeat*\ . For the +*density/number* and *density/mass* values, the grid cell volume used +in the per-sample sum normalization will be the current grid cell +volume at each sampling step. + +In per-grid mode, all the *norm* keyword options operate the same. +The output grid value is summed over the grid value in each of the +*Nrepeat* samples and then divided by *Nrepeat*. + +The *ave* keyword is applicated to both per-atom and per-grid mode. +Itdetermines how the per-grid values produced once every *Nfreq* steps +are averaged with values produced on previous steps that were +multiples of *Nfreq*, before they are accessed by another output +command. + +If the *ave* setting is *one*, which is the default, then the grid +values produced on *Nfreq* timesteps are independent of each other; +they are output as-is without further averaging. + +If the *ave* setting is *running*, then the grid values produced on +*Nfreq* timesteps are summed and averaged in a cumulative sense before +being output. Each output grid value is thus the average of the grid +value produced on that timestep with all preceding values for the same +grid value. This running average begins when the fix is defined; it +can only be restarted by deleting the fix via the :doc:`unfix ` +command, or re-defining the fix by re-specifying it. + +If the *ave* setting is *window*, then the grid values produced on +*Nfreq* timesteps are summed and averaged within a moving "window" of +time, so that the last M values for the same grid are used to produce +the output. E.g. if M = 3 and Nfreq = 1000, then the grid value +output on step 10000 will be the average of the grid values on steps +8000,9000,10000. Outputs on early steps will average over less than M +values if they are not available. + +The *bias*, *adof*, and *cdof* keywords are only applicable to +per-atom mode. + +The *bias* keyword specifies the ID of a temperature compute that +removes a "bias" velocity from each atom, specified as *bias-ID*\ . +It is only used when the *temp* value is calculated, to compute the +thermal temperature of each grid cell after the translational kinetic +energy components have been altered in a prescribed way, e.g. to +remove a flow velocity profile. See the doc pages for individual +computes that calculate a temperature to see which ones implement a +bias. + +The *adof* and *cdof* keywords define the values used in the degree of +freedom (DOF) formula described above for temperature calculation for +each grid cell. They are only used when the *temp* value is +calculated. They can be used to calculate a more appropriate +temperature in some cases. Here are 3 examples: + +If grid cells contain some number of water molecules and :doc:`fix +shake ` is used to make each molecule rigid, then you could +calculate a temperature with 6 degrees of freedom (DOF) (3 +translational, 3 rotational) per molecule by setting *adof* to 2.0. + +If :doc:`compute temp/partial ` is used with the +*bias* keyword to only allow the x component of velocity to contribute +to the temperature, then *adof* = 1.0 would be appropriate. + +Using *cdof* = -2 or -3 (for 2d or 3d simulations) will subtract out 2 +or 3 degrees of freedom for each grid cell, similar to how the +:doc:`compute temp ` command subtracts out 3 DOF for the +entire system. + +---------- + +Restart, fix_modify, output, run start/stop, minimize info +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +No information about this fix is written to :doc:`binary restart files +`. None of the :doc:`fix_modify ` options are +relevant to this fix. + +This fix computes a global array of values which can be accessed by +various :doc:`output commands `. The values can only be +accessed on timesteps that are multiples of *Nfreq* since that is when +averaging is performed. The global array has # of rows = the number +of grids *grid* as calculated by the specified :doc:`compute +grid/atom ` command. The # of columns = +M+1+Nvalues, where M = 1 to 4, depending on whether the optional +columns for OrigID and CoordN are used, as explained above. Following +the optional columns, the next column contains the count of atoms in +the grid, and the remaining columns are the Nvalue quantities. When +the array is accessed with a row I that exceeds the current number of +grids, than a 0.0 is returned by the fix instead of an error, since +the number of grids can vary as a simulation runs depending on how +that value is computed by the compute grid/atom command. + +The array values calculated by this fix are treated as "intensive", +since they are typically already normalized by the count of atoms in +each grid. + +No parameter of this fix can be used with the *start/stop* keywords of +the :doc:`run ` command. This fix is not invoked during +:doc:`energy minimization `. + +Restrictions +"""""""""""" +none + +Related commands +"""""""""""""""" + +:doc:`fix ave/atom `, :doc:`fix ave/chunk ` + +Default +""""""" + +The option defaults are norm = all, ave = one, and bias = none. diff --git a/doc/src/fix_ttm.rst b/doc/src/fix_ttm.rst index d146321395..5ecb2f30f4 100644 --- a/doc/src/fix_ttm.rst +++ b/doc/src/fix_ttm.rst @@ -371,6 +371,13 @@ electronic subsystem energies reported at the end of the timestep. The vector values calculated are "extensive". +Th fix ttm/grid command also calculates a per-grid vector which store +the electron temperature for each grid cell in temperature :doc:`units +`. The length of the vector (distributed across all +processors) is Nx * Ny * Nz. For access by other commands, the name +of the grid produced by fix ttm/grid is "grid". The name of its data +is "data". + No parameter of the fixes can be used with the *start/stop* keywords of the :doc:`run ` command. The fixes are not invoked during :doc:`energy minimization `. diff --git a/src/compute_property_grid.cpp b/src/compute_property_grid.cpp index 1e83c0eb28..8a33eab9e2 100644 --- a/src/compute_property_grid.cpp +++ b/src/compute_property_grid.cpp @@ -24,7 +24,8 @@ using namespace LAMMPS_NS; -enum { ID, X, Y, Z, XS, YS, ZS, XC, YC, ZC, XSC, YSC, ZSC }; +enum { LOW, CTR }; +enum { UNSCALED, SCALED }; #define DELTA 10000 @@ -61,49 +62,49 @@ ComputePropertyGrid::ComputePropertyGrid(LAMMPS *lmp, int narg, char **arg) : pack_choice[jarg] = &ComputePropertyGrid::pack_id; } else if (strcmp(arg[iarg], "ix") == 0) { - pack_choice[jarg] = &ComputePropertyGrid::pack_ix; + pack_choice[jarg] = &ComputePropertyGrid::pack_indices<0>; } else if (strcmp(arg[iarg], "iy") == 0) { - pack_choice[jarg] = &ComputePropertyGrid::pack_iy; + pack_choice[jarg] = &ComputePropertyGrid::pack_indices<1>; } else if (strcmp(arg[iarg], "iz") == 0) { if (dimension == 2) error->all(FLERR,"Compute property/grid for 2d cannot use z coord"); - pack_choice[jarg] = &ComputePropertyGrid::pack_iz; + pack_choice[jarg] = &ComputePropertyGrid::pack_indices<2>; } else if (strcmp(arg[iarg], "x") == 0) { - pack_choice[jarg] = &ComputePropertyGrid::pack_x; + pack_choice[jarg] = &ComputePropertyGrid::pack_coords; } else if (strcmp(arg[iarg], "y") == 0) { - pack_choice[jarg] = &ComputePropertyGrid::pack_y; + pack_choice[jarg] = &ComputePropertyGrid::pack_coords; } else if (strcmp(arg[iarg], "z") == 0) { if (dimension == 2) error->all(FLERR,"Compute property/grid for 2d cannot use z coord"); - pack_choice[jarg] = &ComputePropertyGrid::pack_z; + pack_choice[jarg] = &ComputePropertyGrid::pack_coords; } else if (strcmp(arg[iarg], "xs") == 0) { - pack_choice[jarg] = &ComputePropertyGrid::pack_xs; + pack_choice[jarg] = &ComputePropertyGrid::pack_coords; } else if (strcmp(arg[iarg], "ys") == 0) { - pack_choice[jarg] = &ComputePropertyGrid::pack_ys; + pack_choice[jarg] = &ComputePropertyGrid::pack_coords; } else if (strcmp(arg[iarg], "zs") == 0) { if (dimension == 2) error->all(FLERR,"Compute property/grid for 2d cannot use z coord"); - pack_choice[jarg] = &ComputePropertyGrid::pack_zs; + pack_choice[jarg] = &ComputePropertyGrid::pack_coords; - } else if (strcmp(arg[iarg], "xc") == 0) { - pack_choice[jarg] = &ComputePropertyGrid::pack_xc; + } else if (strcmp(arg[iarg], "xc") == 0) { + pack_choice[jarg] = &ComputePropertyGrid::pack_coords; } else if (strcmp(arg[iarg], "yc") == 0) { - pack_choice[jarg] = &ComputePropertyGrid::pack_yc; + pack_choice[jarg] = &ComputePropertyGrid::pack_coords; } else if (strcmp(arg[iarg], "zc") == 0) { if (dimension == 2) error->all(FLERR,"Compute property/grid for 2d cannot use z coord"); - pack_choice[jarg] = &ComputePropertyGrid::pack_zc; + pack_choice[jarg] = &ComputePropertyGrid::pack_coords; } else if (strcmp(arg[iarg], "xsc") == 0) { - pack_choice[jarg] = &ComputePropertyGrid::pack_xsc; + pack_choice[jarg] = &ComputePropertyGrid::pack_coords; } else if (strcmp(arg[iarg], "ysc") == 0) { - pack_choice[jarg] = &ComputePropertyGrid::pack_ysc; + pack_choice[jarg] = &ComputePropertyGrid::pack_coords; } else if (strcmp(arg[iarg], "zsc") == 0) { if (dimension == 2) error->all(FLERR,"Compute property/grid for 2d cannot use z coord"); - pack_choice[jarg] = &ComputePropertyGrid::pack_zsc; + pack_choice[jarg] = &ComputePropertyGrid::pack_coords; } else error->all(FLERR, "Illegal compute property/grid command"); } @@ -124,6 +125,13 @@ ComputePropertyGrid::~ComputePropertyGrid() /* ---------------------------------------------------------------------- */ +void ComputePropertyGrid::init() +{ + triclinic = domain->triclinic; +} + +/* ---------------------------------------------------------------------- */ + void ComputePropertyGrid::compute_pergrid() { invoked_pergrid = update->ntimestep; @@ -283,7 +291,7 @@ double ComputePropertyGrid::memory_usage() } /* ---------------------------------------------------------------------- - one method for every keyword compute property/grid can output + compute grid point IDs ------------------------------------------------------------------------- */ void ComputePropertyGrid::pack_id(int n) @@ -313,411 +321,220 @@ void ComputePropertyGrid::pack_id(int n) } } -/* ---------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + compute grid indices via templating +------------------------------------------------------------------------- */ -void ComputePropertyGrid::pack_ix(int n) +template void ComputePropertyGrid::pack_indices(int n) { if (dimension == 2) { if (nvalues == 0) { for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - vec2d[iy][ix] = ix + 1; + for (int ix = nxlo_in; ix <= nxhi_in; ix++) { + if (IDIM == 0) vec2d[iy][ix] = ix + 1; + if (IDIM == 1) vec2d[iy][ix] = iy + 1; + } } else { for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - array2d[iy][ix][n] = ix + 1; + for (int ix = nxlo_in; ix <= nxhi_in; ix++) { + if (IDIM == 0) array2d[iy][ix][n] = ix + 1; + if (IDIM == 1) array2d[iy][ix][n] = iy + 1; + } } + } else if (dimension == 3) { if (nvalues == 0) { for (int iz = nzlo_in; iz <= nzhi_in; iz++) for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - vec3d[iz][iy][ix] = ix + 1; + for (int ix = nxlo_in; ix <= nxhi_in; ix++) { + if (IDIM == 0) vec3d[iz][iy][ix] = ix + 1; + if (IDIM == 1) vec3d[iz][iy][ix] = iy + 1; + if (IDIM == 2) vec3d[iz][iy][ix] = iz + 1; + } } else { for (int iz = nzlo_in; iz <= nzhi_in; iz++) for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - array3d[iz][iy][ix][n] = ix + 1; + for (int ix = nxlo_in; ix <= nxhi_in; ix++) { + if (IDIM == 0) array3d[iz][iy][ix][n] = ix + 1; + if (IDIM == 1) array3d[iz][iy][ix][n] = iy + 1; + if (IDIM == 2) array3d[iz][iy][ix][n] = iz + 1; + } } } } -/* ---------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + compute LOW/CTR, SCALED/UNSCALED, orthogonal/triclinic grid point coords + via templating +------------------------------------------------------------------------- */ -void ComputePropertyGrid::pack_iy(int n) +template +void ComputePropertyGrid::pack_coords(int n) { - if (dimension == 2) { - if (nvalues == 0) { - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - vec2d[iy][ix] = iy + 1; - } else { - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - array2d[iy][ix][n] = iy + 1; - } - } else if (dimension == 3) { - if (nvalues == 0) { - for (int iz = nzlo_in; iz <= nzhi_in; iz++) - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - vec3d[iz][iy][ix] = iy + 1; - } else { - for (int iz = nzlo_in; iz <= nzhi_in; iz++) - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - array3d[iz][iy][ix][n] = iy + 1; - } - } -} + double boxlo,delta; + double lamda[3],xone[3]; -/* ---------------------------------------------------------------------- */ - -void ComputePropertyGrid::pack_iz(int n) -{ - if (nvalues == 0) { - for (int iz = nzlo_in; iz <= nzhi_in; iz++) - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - vec3d[iz][iy][ix] = iz + 1; - } else { - for (int iz = nzlo_in; iz <= nzhi_in; iz++) - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - array3d[iz][iy][ix][n] = iz + 1; - } -} - -/* ---------------------------------------------------------------------- */ - -void ComputePropertyGrid::pack_x(int n) -{ - double boxlo,dx; + // 2d grid if (dimension == 2) { - grid2d->get_box(0,boxlo,dx); - if (nvalues == 0) { - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - vec2d[iy][ix] = boxlo + ix*dx; + + // for coords which are orthogonal OR scaled + + if (!triclinic || MODE == SCALED) { + + if (MODE == UNSCALED) grid2d->get_box(IDIM,boxlo,delta); + if (MODE == SCALED) { + boxlo = 0.0; + if (IDIM == 0) delta = 1.0/nxgrid; + if (IDIM == 1) delta = 1.0/nygrid; + } + + if (nvalues == 0) { + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) { + if (POS == LOW) { + if (IDIM == 0) vec2d[iy][ix] = boxlo + ix*delta; + if (IDIM == 1) vec2d[iy][ix] = boxlo + iy*delta; + } + if (POS == CTR) { + if (IDIM == 0) vec2d[iy][ix] = boxlo + (ix+0.5)*delta; + if (IDIM == 1) vec2d[iy][ix] = boxlo + (iy+0.5)*delta; + } + } + + } else { + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) { + if (POS == LOW) { + if (IDIM == 0) array2d[iy][ix][n] = boxlo + ix*delta; + if (IDIM == 1) array2d[iy][ix][n] = boxlo + iy*delta; + } + if (POS == CTR) { + if (IDIM == 0) array2d[iy][ix][n] = boxlo + (ix+0.5)*delta; + if (IDIM == 1) array2d[iy][ix][n] = boxlo + (iy+0.5)*delta; + } + } + } + + // only for coords which are triclinic AND unscaled + } else { - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - array2d[iy][ix][n] = boxlo + ix*dx; + + double dx = 1.0/nxgrid; + double dy = 1.0/nygrid; + lamda[2] = 0.0; + + if (nvalues == 0) { + for (int iy = nylo_in; iy <= nyhi_in; iy++) { + lamda[1] = iy*dy; + for (int ix = nxlo_in; ix <= nxhi_in; ix++) { + lamda[0] = ix*dx; + domain->lamda2x(lamda,xone); + if (IDIM == 0) vec2d[iy][ix] = xone[0]; + if (IDIM == 1) vec2d[iy][ix] = xone[1]; + } + } + + } else { + for (int iy = nylo_in; iy <= nyhi_in; iy++) { + lamda[1] = iy*dy; + for (int ix = nxlo_in; ix <= nxhi_in; ix++) { + lamda[0] = ix*dx; + domain->lamda2x(lamda,xone); + if (IDIM == 0) array2d[iy][ix][n] = xone[0]; + if (IDIM == 1) array2d[iy][ix][n] = xone[1]; + } + } + } } - } else if (dimension == 3) { - grid3d->get_box(0,boxlo,dx); - if (nvalues == 0) { - for (int iz = nzlo_in; iz <= nzhi_in; iz++) - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - vec3d[iz][iy][ix] = boxlo + ix*dx; + + // 3d grid + + } else if (dimension == 3) { + + // for coords which are orthogonal OR scaled + + if (!triclinic || MODE == SCALED) { + + if (MODE == UNSCALED) grid3d->get_box(IDIM,boxlo,delta); + if (MODE == SCALED) { + boxlo = 0.0; + if (IDIM == 0) delta = 1.0/nxgrid; + if (IDIM == 1) delta = 1.0/nygrid; + if (IDIM == 2) delta = 1.0/nzgrid; + } + + if (nvalues == 0) { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) { + if (POS == LOW) { + if (IDIM == 0) vec3d[iz][iy][ix] = boxlo + ix*delta; + if (IDIM == 1) vec3d[iz][iy][ix] = boxlo + iy*delta; + if (IDIM == 2) vec3d[iz][iy][ix] = boxlo + iz*delta; + } + if (POS == CTR) { + if (IDIM == 0) vec3d[iz][iy][ix] = boxlo + (ix+0.5)*delta; + if (IDIM == 1) vec3d[iz][iy][ix] = boxlo + (iy+0.5)*delta; + if (IDIM == 2) vec3d[iz][iy][ix] = boxlo + (iz+0.5)*delta; + } + } + + } else { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) { + if (POS == LOW) { + if (IDIM == 0) array3d[iz][iy][ix][n] = boxlo + ix*delta; + if (IDIM == 1) array3d[iz][iy][ix][n] = boxlo + iy*delta; + if (IDIM == 2) array3d[iz][iy][ix][n] = boxlo + iz*delta; + } + if (POS == CTR) { + if (IDIM == 0) array3d[iz][iy][ix][n] = boxlo + (ix+0.5)*delta; + if (IDIM == 1) array3d[iz][iy][ix][n] = boxlo + (iy+0.5)*delta; + if (IDIM == 2) array3d[iz][iy][ix][n] = boxlo + (iz+0.5)*delta; + } + } + } + + // only for coords which are triclinic AND unscaled + } else { - for (int iz = nzlo_in; iz <= nzhi_in; iz++) - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - array3d[iz][iy][ix][n] = boxlo + ix*dx; + + double dx = 1.0/nxgrid; + double dy = 1.0/nygrid; + double dz = 1.0/nzgrid; + + if (nvalues == 0) { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) { + lamda[2] = iz*dz; + for (int iy = nylo_in; iy <= nyhi_in; iy++) { + lamda[1] = iy*dy; + for (int ix = nxlo_in; ix <= nxhi_in; ix++) { + lamda[0] = ix*dx; + domain->lamda2x(lamda,xone); + if (IDIM == 0) vec3d[iz][iy][ix] = xone[0]; + if (IDIM == 1) vec3d[iz][iy][ix] = xone[1]; + if (IDIM == 2) vec3d[iz][iy][ix] = xone[2]; + } + } + } + + } else { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) { + lamda[2] = iz*dz; + for (int iy = nylo_in; iy <= nyhi_in; iy++) { + lamda[1] = iy*dy; + for (int ix = nxlo_in; ix <= nxhi_in; ix++) { + lamda[0] = ix*dx; + domain->lamda2x(lamda,xone); + if (IDIM == 0) array3d[iz][iy][ix][n] = xone[0]; + if (IDIM == 1) array3d[iz][iy][ix][n] = xone[1]; + if (IDIM == 2) array3d[iz][iy][ix][n] = xone[2]; + } + } + } + } } } } - -/* ---------------------------------------------------------------------- */ - -void ComputePropertyGrid::pack_y(int n) -{ - double boxlo,dy; - - if (dimension == 2) { - grid2d->get_box(1,boxlo,dy); - if (nvalues == 0) { - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - vec2d[iy][ix] = boxlo + iy*dy; - } else { - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - array2d[iy][ix][n] = boxlo + iy*dy; - } - } else if (dimension == 3) { - grid3d->get_box(1,boxlo,dy); - if (nvalues == 0) { - for (int iz = nzlo_in; iz <= nzhi_in; iz++) - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - vec3d[iz][iy][ix] = boxlo + iy*dy; - } else { - for (int iz = nzlo_in; iz <= nzhi_in; iz++) - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - array3d[iz][iy][ix][n] = boxlo + iy*dy; - } - } -} - -/* ---------------------------------------------------------------------- */ - -void ComputePropertyGrid::pack_z(int n) -{ - double boxlo,dz; - grid3d->get_box(2,boxlo,dz); - - if (nvalues == 0) { - for (int iz = nzlo_in; iz <= nzhi_in; iz++) - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - vec3d[iz][iy][ix] = boxlo + iz*dz; - } else { - for (int iz = nzlo_in; iz <= nzhi_in; iz++) - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - array3d[iz][iy][ix][n] = boxlo + iz*dz; - } -} - -/* ---------------------------------------------------------------------- */ - -void ComputePropertyGrid::pack_xs(int n) -{ - double dx = 1.0/nxgrid; - - if (dimension == 2) { - if (nvalues == 0) { - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - vec2d[iy][ix] = ix*dx; - } else { - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - array2d[iy][ix][n] = ix*dx; - } - } else if (dimension == 3) { - if (nvalues == 0) { - for (int iz = nzlo_in; iz <= nzhi_in; iz++) - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - vec3d[iz][iy][ix] = ix*dx; - } else { - for (int iz = nzlo_in; iz <= nzhi_in; iz++) - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - array3d[iz][iy][ix][n] = ix*dx; - } - } -} - -/* ---------------------------------------------------------------------- */ - -void ComputePropertyGrid::pack_ys(int n) -{ - double dy = 1.0/nygrid; - - if (dimension == 2) { - if (nvalues == 0) { - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - vec2d[iy][ix] = iy*dy; - } else { - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - array2d[iy][ix][n] = iy*dy; - } - } else if (dimension == 3) { - if (nvalues == 0) { - for (int iz = nzlo_in; iz <= nzhi_in; iz++) - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - vec3d[iz][iy][ix] = iy*dy; - } else { - for (int iz = nzlo_in; iz <= nzhi_in; iz++) - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - array3d[iz][iy][ix][n] = iy*dy; - } - } -} - -/* ---------------------------------------------------------------------- */ - -void ComputePropertyGrid::pack_zs(int n) -{ - double dz = 1.0/nzgrid; - - if (nvalues == 0) { - for (int iz = nzlo_in; iz <= nzhi_in; iz++) - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - vec3d[iz][iy][ix] = iz*dz; - } else { - for (int iz = nzlo_in; iz <= nzhi_in; iz++) - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - array3d[iz][iy][ix][n] = iz*dz; - } -} - -/* ---------------------------------------------------------------------- */ - -void ComputePropertyGrid::pack_xc(int n) -{ - double boxlo,dx; - - if (dimension == 2) { - grid2d->get_box(0,boxlo,dx); - if (nvalues == 0) { - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - vec2d[iy][ix] = boxlo + (ix+0.5)*dx; - } else { - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - array2d[iy][ix][n] = boxlo + (ix+0.5)*dx; - } - } else if (dimension == 3) { - grid3d->get_box(0,boxlo,dx); - if (nvalues == 0) { - for (int iz = nzlo_in; iz <= nzhi_in; iz++) - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - vec3d[iz][iy][ix] = boxlo + (ix+0.5)*dx; - } else { - for (int iz = nzlo_in; iz <= nzhi_in; iz++) - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - array3d[iz][iy][ix][n] = boxlo + (ix+0.5)*dx; - } - } -} - -/* ---------------------------------------------------------------------- */ - -void ComputePropertyGrid::pack_yc(int n) -{ - double boxlo,dy; - - if (dimension == 2) { - grid2d->get_box(1,boxlo,dy); - if (nvalues == 0) { - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - vec2d[iy][ix] = boxlo + (iy+0.5)*dy; - } else { - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - array2d[iy][ix][n] = boxlo + (iy+0.5)*dy; - } - } else if (dimension == 3) { - grid3d->get_box(1,boxlo,dy); - if (nvalues == 0) { - for (int iz = nzlo_in; iz <= nzhi_in; iz++) - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - vec3d[iz][iy][ix] = boxlo + (iy+0.5)*dy; - } else { - for (int iz = nzlo_in; iz <= nzhi_in; iz++) - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - array3d[iz][iy][ix][n] = boxlo + (iy+0.5)*dy; - } - } -} - -/* ---------------------------------------------------------------------- */ - -void ComputePropertyGrid::pack_zc(int n) -{ - double boxlo,dz; - grid3d->get_box(2,boxlo,dz); - - if (nvalues == 0) { - for (int iz = nzlo_in; iz <= nzhi_in; iz++) - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - vec3d[iz][iy][ix] = boxlo + (iz+0.5)*dz; - } else { - for (int iz = nzlo_in; iz <= nzhi_in; iz++) - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - array3d[iz][iy][ix][n] = boxlo + (iz+0.5)*dz; - } -} - -/* ---------------------------------------------------------------------- */ - -void ComputePropertyGrid::pack_xsc(int n) -{ - double dx = 1.0/nxgrid; - - if (dimension == 2) { - if (nvalues == 0) { - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - vec2d[iy][ix] = (ix+0.5)*dx; - } else { - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - array2d[iy][ix][n] = (ix+0.5)*dx; - } - } else if (dimension == 3) { - if (nvalues == 0) { - for (int iz = nzlo_in; iz <= nzhi_in; iz++) - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - vec3d[iz][iy][ix] = (ix+0.5)*dx; - } else { - for (int iz = nzlo_in; iz <= nzhi_in; iz++) - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - array3d[iz][iy][ix][n] = (ix+0.5)*dx; - } - } -} - -/* ---------------------------------------------------------------------- */ - -void ComputePropertyGrid::pack_ysc(int n) -{ - double dy = 1.0/nygrid; - - if (dimension == 2) { - if (nvalues == 0) { - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - vec2d[iy][ix] = (iy+0.5)*dy; - } else { - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - array2d[iy][ix][n] = (iy+0.5)*dy; - } - } else if (dimension == 3) { - if (nvalues == 0) { - for (int iz = nzlo_in; iz <= nzhi_in; iz++) - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - vec3d[iz][iy][ix] = (iy+0.5)*dy; - } else { - for (int iz = nzlo_in; iz <= nzhi_in; iz++) - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - array3d[iz][iy][ix][n] = (iy+0.5)*dy; - } - } -} - -/* ---------------------------------------------------------------------- */ - -void ComputePropertyGrid::pack_zsc(int n) -{ - double dz = 1.0/nzgrid; - - if (nvalues == 0) { - for (int iz = nzlo_in; iz <= nzhi_in; iz++) - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - vec3d[iz][iy][ix] = (iz+0.5)*dz; - } else { - for (int iz = nzlo_in; iz <= nzhi_in; iz++) - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - array3d[iz][iy][ix][n] = (iz+0.5)*dz; - } -} diff --git a/src/compute_property_grid.h b/src/compute_property_grid.h index 4948888ca7..929346ad7a 100644 --- a/src/compute_property_grid.h +++ b/src/compute_property_grid.h @@ -28,7 +28,7 @@ class ComputePropertyGrid : public Compute { public: ComputePropertyGrid(class LAMMPS *, int, char **); ~ComputePropertyGrid() override; - void init() override {} + void init() override; void compute_pergrid() override; void reset_grid() override; @@ -44,6 +44,7 @@ class ComputePropertyGrid : public Compute { int nxgrid,nygrid,nzgrid; int nvalues; int dimension; + int triclinic; class Grid2d *grid2d; class Grid3d *grid3d; @@ -64,26 +65,8 @@ class ComputePropertyGrid : public Compute { FnPtrPack *pack_choice; // ptrs to pack functions void pack_id(int); - - void pack_ix(int); - void pack_iy(int); - void pack_iz(int); - - void pack_x(int); - void pack_y(int); - void pack_z(int); - - void pack_xs(int); - void pack_ys(int); - void pack_zs(int); - - void pack_xc(int); - void pack_yc(int); - void pack_zc(int); - - void pack_xsc(int); - void pack_ysc(int); - void pack_zsc(int); + template void pack_indices(int); + template void pack_coords(int); }; } // namespace LAMMPS_NS diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index f6d2a3707e..2b63d04e3c 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -64,7 +64,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : pergrid_freq = utils::inumeric(FLERR,arg[5],false,lmp); time_depend = 1; - // NOTE: allow Dxyz as well + // NOTE: allow Dxyz as well at some point nxgrid = utils::inumeric(FLERR,arg[6],false,lmp); nygrid = utils::inumeric(FLERR,arg[7],false,lmp); @@ -957,14 +957,12 @@ void FixAveGrid::atom2grid() n = value2index[m]; j = argindex[m]; - // X,V,F adds coord,velocity,force to value + // V,F adds velocity,force to value - if (which[m] == ArgInfo::X || which[m] == ArgInfo::V || - which[m] == ArgInfo::F) { + if (which[m] == ArgInfo::V || which[m] == ArgInfo::F) { double **attribute; - if (which[m] == ArgInfo::X) attribute = atom->x; - else if (which[m] == ArgInfo::V) attribute = atom->v; + if (which[m] == ArgInfo::V) attribute = atom->v; else if (which[m] == ArgInfo::F) attribute = atom->f; if (dimension == 2) { From 9109677eb34d0c4e127ccba42a90394ab0549747 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 16 Aug 2022 17:17:15 -0600 Subject: [PATCH 029/142] tweak to doc page --- doc/src/dump.rst | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/doc/src/dump.rst b/doc/src/dump.rst index 78f019adb9..53174637d1 100644 --- a/doc/src/dump.rst +++ b/doc/src/dump.rst @@ -602,14 +602,14 @@ styles. Note that in the discussion which follows, for styles which can reference values from a compute or fix or custom atom property, like -the *custom*\ , *cfg*\ , or *local* styles, the bracketed index I can -be specified using a wildcard asterisk with the index to effectively -specify multiple values. This takes the form "\*" or "\*n" or "n\*" -or "m\*n". If N = the number of columns in the array, then an -asterisk with no numeric values means all column indices from 1 to N. -A leading asterisk means all indices from 1 to n (inclusive). A -trailing asterisk means all indices from n to N (inclusive). A middle -asterisk means all indices from m to n (inclusive). +the *custom*\ , *cfg*\ , *local*, or *grid* styles, the bracketed +index I can be specified using a wildcard asterisk with the index to +effectively specify multiple values. This takes the form "\*" or +"\*n" or "n\*" or "m\*n". If N = the number of columns in the array, +then an asterisk with no numeric values means all column indices from +1 to N. A leading asterisk means all indices from 1 to n (inclusive). +A trailing asterisk means all indices from n to N (inclusive). A +middle asterisk means all indices from m to n (inclusive). Using a wildcard is the same as if the individual columns of the array had been listed one by one. E.g. these 2 dump commands are From 7a0636ca0c22eee4f5a409362dd30c104445be02 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 17 Aug 2022 10:15:30 -0400 Subject: [PATCH 030/142] whitespace fixes --- doc/src/Howto_grid.rst | 2 +- doc/src/Howto_output.rst | 6 +- doc/src/fix_ave_grid.rst | 2 +- src/EXTRA-FIX/fix_ttm_grid.cpp | 10 +-- src/KSPACE/fix_tune_kspace.cpp | 2 +- src/compute_property_grid.cpp | 50 +++++------ src/dump_grid.cpp | 122 ++++++++++++------------- src/fix.h | 2 +- src/fix_ave_grid.cpp | 160 ++++++++++++++++----------------- src/grid2d.cpp | 10 +-- src/grid2d.h | 4 +- src/grid3d.cpp | 16 ++-- src/grid3d.h | 12 +-- src/utils.cpp | 6 +- 14 files changed, 202 insertions(+), 202 deletions(-) diff --git a/doc/src/Howto_grid.rst b/doc/src/Howto_grid.rst index 4601b19a20..4ac0898780 100644 --- a/doc/src/Howto_grid.rst +++ b/doc/src/Howto_grid.rst @@ -77,7 +77,7 @@ syntax: The prefix "c_" or "f_" refers to the ID of the compute or fix. Gname is the name of the grid, which is assigned by the compute or fix. Dname is the name of the data field, which is also assigned by the -compute or fix. +compute or fix. If the data field is a per-grid vector (one value per grid point), then no brackets are used to access the values. If the data field is diff --git a/doc/src/Howto_output.rst b/doc/src/Howto_output.rst index f21bafe81c..5ff58afaee 100644 --- a/doc/src/Howto_output.rst +++ b/doc/src/Howto_output.rst @@ -209,7 +209,7 @@ density (mass or number) or atom attributes such as position, velocity, force. They can also be per-atom quantities calculated by a :doc:`compute `, by a :doc:`fix `, or by an atom-style :doc:`variable `. The chunk-averaged output of this fix is -global and can also be used as input to other output commands. +global and can also be used as input to other output commands. Note that the :doc:`fix ave/grid ` command can also average the same per-atom quantities within spatial bins, but it does @@ -307,7 +307,7 @@ command, including per-atom quantities calculated by a :doc:`compute output commands. The :doc:`fix ave/grid ` command performs time-averaging -of either per-atom or per-grid data. +of either per-atom or per-grid data. For per-atom data it performs averaging for the atoms within each grid cell, similar to the :doc:`fix ave/chunk ` command when @@ -315,7 +315,7 @@ its chunks are defined as regular 2d or 3d bins. The per-atom quantities can be atom density (mass or number) or atom attributes such as position, velocity, force. They can also be per-atom quantities calculated by a :doc:`compute `, by a :doc:`fix -`, or by an atom-style :doc:`variable `. +`, or by an atom-style :doc:`variable `. The chief difference between the :doc:`fix ave/grid ` and :doc:`fix ave/chunk ` commands when used in this diff --git a/doc/src/fix_ave_grid.rst b/doc/src/fix_ave_grid.rst index 1c454a609e..61d09c8bdb 100644 --- a/doc/src/fix_ave_grid.rst +++ b/doc/src/fix_ave_grid.rst @@ -152,7 +152,7 @@ evaluation of an atom-style :doc:`variable `. In the latter cases, the compute, fix, or variable must produce a per-atom quantity, not a global quantity. Note that the :doc:`compute property/atom ` command provides access to any attribute -defined and stored by atoms. +defined and stored by atoms. The per-atom values of each input vector are summed and averaged independently of the per-atom values in other input vectors. diff --git a/src/EXTRA-FIX/fix_ttm_grid.cpp b/src/EXTRA-FIX/fix_ttm_grid.cpp index 02e2c31826..7b3e712f9d 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.cpp +++ b/src/EXTRA-FIX/fix_ttm_grid.cpp @@ -62,7 +62,7 @@ FixTTMGrid::FixTTMGrid(LAMMPS *lmp, int narg, char **arg) : if (outfile) error->all(FLERR,"Fix ttm/grid does not support outfile option - " "use dump grid instead"); */ - + skin_original = neighbor->skin; } @@ -456,12 +456,12 @@ void FixTTMGrid::allocate_grid() double maxdist = 0.5 * neighbor->skin; grid = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid, maxdist, 1, SHIFT, - nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, nzhi_in, + nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, nzhi_in, nxlo_out, nxhi_out, nylo_out, nyhi_out, nzlo_out, nzhi_out); - ngridown = (nxhi_in - nxlo_in + 1) * (nyhi_in - nylo_in + 1) * + ngridown = (nxhi_in - nxlo_in + 1) * (nyhi_in - nylo_in + 1) * (nzhi_in - nzlo_in + 1); - ngridout = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1) * + ngridout = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1) * (nzhi_out - nzlo_out + 1); // setup grid communication and allocate grid data structs @@ -563,7 +563,7 @@ void FixTTMGrid::restart(char *buf) // communicate new T_electron values to ghost grid points - grid->forward_comm(Grid3d::FIX, this, 1, sizeof(double), 0, + grid->forward_comm(Grid3d::FIX, this, 1, sizeof(double), 0, grid_buf1, grid_buf2, MPI_DOUBLE); } diff --git a/src/KSPACE/fix_tune_kspace.cpp b/src/KSPACE/fix_tune_kspace.cpp index 637626804a..729e39466e 100644 --- a/src/KSPACE/fix_tune_kspace.cpp +++ b/src/KSPACE/fix_tune_kspace.cpp @@ -283,7 +283,7 @@ void FixTuneKspace::update_kspace_style(const std::string &new_kspace_style, // re-init neighbor list // probably only needed when redefining the pair style - // should happen after pair->init() to get pair style + // should happen after pair->init() to get pair style // neighbor list request registered neighbor->init(); diff --git a/src/compute_property_grid.cpp b/src/compute_property_grid.cpp index 8a33eab9e2..a028517d71 100644 --- a/src/compute_property_grid.cpp +++ b/src/compute_property_grid.cpp @@ -32,8 +32,8 @@ enum { UNSCALED, SCALED }; /* ---------------------------------------------------------------------- */ ComputePropertyGrid::ComputePropertyGrid(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), pack_choice(nullptr), - grid2d(nullptr), grid3d(nullptr), + Compute(lmp, narg, arg), pack_choice(nullptr), + grid2d(nullptr), grid3d(nullptr), vec2d(nullptr), array2d(nullptr), vec3d(nullptr), array3d(nullptr) { if (narg < 7) error->all(FLERR, "Illegal compute property/grid command"); @@ -46,12 +46,12 @@ ComputePropertyGrid::ComputePropertyGrid(LAMMPS *lmp, int narg, char **arg) : nygrid = utils::inumeric(FLERR,arg[4],false,lmp); nzgrid = utils::inumeric(FLERR,arg[5],false,lmp); - if (dimension == 2 && nzgrid != 1) + if (dimension == 2 && nzgrid != 1) error->all(FLERR,"Compute property/grid for 2d requires nz = 1"); - if (nxgrid <= 0 || nygrid <= 0 || nzgrid <= 0) + if (nxgrid <= 0 || nygrid <= 0 || nzgrid <= 0) error->all(FLERR, "Illegal compute property/grid command"); - + nvalues = narg - 6; pack_choice = new FnPtrPack[nvalues]; @@ -66,7 +66,7 @@ ComputePropertyGrid::ComputePropertyGrid(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg], "iy") == 0) { pack_choice[jarg] = &ComputePropertyGrid::pack_indices<1>; } else if (strcmp(arg[iarg], "iz") == 0) { - if (dimension == 2) + if (dimension == 2) error->all(FLERR,"Compute property/grid for 2d cannot use z coord"); pack_choice[jarg] = &ComputePropertyGrid::pack_indices<2>; @@ -75,7 +75,7 @@ ComputePropertyGrid::ComputePropertyGrid(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg], "y") == 0) { pack_choice[jarg] = &ComputePropertyGrid::pack_coords; } else if (strcmp(arg[iarg], "z") == 0) { - if (dimension == 2) + if (dimension == 2) error->all(FLERR,"Compute property/grid for 2d cannot use z coord"); pack_choice[jarg] = &ComputePropertyGrid::pack_coords; @@ -84,16 +84,16 @@ ComputePropertyGrid::ComputePropertyGrid(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg], "ys") == 0) { pack_choice[jarg] = &ComputePropertyGrid::pack_coords; } else if (strcmp(arg[iarg], "zs") == 0) { - if (dimension == 2) + if (dimension == 2) error->all(FLERR,"Compute property/grid for 2d cannot use z coord"); pack_choice[jarg] = &ComputePropertyGrid::pack_coords; - } else if (strcmp(arg[iarg], "xc") == 0) { + } else if (strcmp(arg[iarg], "xc") == 0) { pack_choice[jarg] = &ComputePropertyGrid::pack_coords; } else if (strcmp(arg[iarg], "yc") == 0) { pack_choice[jarg] = &ComputePropertyGrid::pack_coords; } else if (strcmp(arg[iarg], "zc") == 0) { - if (dimension == 2) + if (dimension == 2) error->all(FLERR,"Compute property/grid for 2d cannot use z coord"); pack_choice[jarg] = &ComputePropertyGrid::pack_coords; @@ -102,7 +102,7 @@ ComputePropertyGrid::ComputePropertyGrid(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg], "ysc") == 0) { pack_choice[jarg] = &ComputePropertyGrid::pack_coords; } else if (strcmp(arg[iarg], "zsc") == 0) { - if (dimension == 2) + if (dimension == 2) error->all(FLERR,"Compute property/grid for 2d cannot use z coord"); pack_choice[jarg] = &ComputePropertyGrid::pack_coords; @@ -243,27 +243,27 @@ void ComputePropertyGrid::allocate_grid() nxlo_in, nxhi_in, nylo_in, nyhi_in, nxlo_out, nxhi_out, nylo_out, nyhi_out); if (nvalues == 1) - memory->create2d_offset(vec2d, nylo_out, nyhi_out, nxlo_out, nxhi_out, + memory->create2d_offset(vec2d, nylo_out, nyhi_out, nxlo_out, nxhi_out, "property/grid:vec2d"); else memory->create3d_offset_last(array2d, nylo_out, nyhi_out, nxlo_out, nxhi_out, nvalues, "property/grid:array2d"); ngridout = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1); - + } else { grid3d = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid, 0.0, 0, 0.0, - nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, nzhi_in, - nxlo_out, nxhi_out, nylo_out, nyhi_out, + nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, nzhi_in, + nxlo_out, nxhi_out, nylo_out, nyhi_out, nzlo_out, nzhi_out); if (nvalues == 1) - memory->create3d_offset(vec3d, nzlo_out, nzhi_out, nylo_out, + memory->create3d_offset(vec3d, nzlo_out, nzhi_out, nylo_out, nyhi_out, nxlo_out, nxhi_out, "property/grid:vec3d"); else - memory->create4d_offset_last(array3d, nzlo_out, nzhi_out, nylo_out, + memory->create4d_offset_last(array3d, nzlo_out, nzhi_out, nylo_out, nyhi_out, nxlo_out, nxhi_out, nvalues, "property/grid:array3d"); - ngridout = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1) * + ngridout = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1) * (nzhi_out - nzlo_out + 1); } } @@ -331,7 +331,7 @@ template void ComputePropertyGrid::pack_indices(int n) if (nvalues == 0) { for (int iy = nylo_in; iy <= nyhi_in; iy++) for (int ix = nxlo_in; ix <= nxhi_in; ix++) { - if (IDIM == 0) vec2d[iy][ix] = ix + 1; + if (IDIM == 0) vec2d[iy][ix] = ix + 1; if (IDIM == 1) vec2d[iy][ix] = iy + 1; } } else { @@ -368,7 +368,7 @@ template void ComputePropertyGrid::pack_indices(int n) via templating ------------------------------------------------------------------------- */ -template +template void ComputePropertyGrid::pack_coords(int n) { double boxlo,delta; @@ -401,7 +401,7 @@ void ComputePropertyGrid::pack_coords(int n) if (IDIM == 1) vec2d[iy][ix] = boxlo + (iy+0.5)*delta; } } - + } else { for (int iy = nylo_in; iy <= nyhi_in; iy++) for (int ix = nxlo_in; ix <= nxhi_in; ix++) { @@ -423,7 +423,7 @@ void ComputePropertyGrid::pack_coords(int n) double dx = 1.0/nxgrid; double dy = 1.0/nygrid; lamda[2] = 0.0; - + if (nvalues == 0) { for (int iy = nylo_in; iy <= nyhi_in; iy++) { lamda[1] = iy*dy; @@ -434,7 +434,7 @@ void ComputePropertyGrid::pack_coords(int n) if (IDIM == 1) vec2d[iy][ix] = xone[1]; } } - + } else { for (int iy = nylo_in; iy <= nyhi_in; iy++) { lamda[1] = iy*dy; @@ -450,7 +450,7 @@ void ComputePropertyGrid::pack_coords(int n) // 3d grid - } else if (dimension == 3) { + } else if (dimension == 3) { // for coords which are orthogonal OR scaled @@ -504,7 +504,7 @@ void ComputePropertyGrid::pack_coords(int n) double dx = 1.0/nxgrid; double dy = 1.0/nygrid; double dz = 1.0/nzgrid; - + if (nvalues == 0) { for (int iz = nzlo_in; iz <= nzhi_in; iz++) { lamda[2] = iz*dz; diff --git a/src/dump_grid.cpp b/src/dump_grid.cpp index 4dad0d611e..e0fbb95990 100644 --- a/src/dump_grid.cpp +++ b/src/dump_grid.cpp @@ -41,8 +41,8 @@ enum{COMPUTE,FIX}; /* ---------------------------------------------------------------------- */ DumpGrid::DumpGrid(LAMMPS *lmp, int narg, char **arg) : - Dump(lmp, narg, arg), idregion(nullptr), earg(nullptr), vtype(nullptr), - vformat(nullptr), columns(nullptr), columns_default(nullptr), + Dump(lmp, narg, arg), idregion(nullptr), earg(nullptr), vtype(nullptr), + vformat(nullptr), columns(nullptr), columns_default(nullptr), field2index(nullptr), field2grid(nullptr), field2data(nullptr), argindex(nullptr), id_compute(nullptr), compute(nullptr), id_fix(nullptr), fix(nullptr), pack_choice(nullptr) @@ -155,7 +155,7 @@ DumpGrid::~DumpGrid() delete[] field2grid; delete[] field2data; delete[] argindex; - + delete[] idregion; for (int i = 0; i < ncompute; i++) delete[] id_compute[i]; @@ -255,13 +255,13 @@ void DumpGrid::init_style() for (i = 0; i < ncompute; i++) { compute[i] = modify->get_compute_by_id(id_compute[i]); - if (!compute[i]) + if (!compute[i]) error->all(FLERR,"Could not find dump grid compute ID {}",id_compute[i]); } for (i = 0; i < nfix; i++) { fix[i] = modify->get_fix_by_id(id_fix[i]); - if (!fix[i]) + if (!fix[i]) error->all(FLERR,"Could not find dump grid fix ID {}", id_fix[i]); } @@ -271,9 +271,9 @@ void DumpGrid::init_style() Fix *ifix; Grid2d *grid2d; Grid3d *grid3d; - + int nxtmp,nytmp,nztmp; - + for (int i = 0; i < nfield; i++) { if (dimension == 2) { if (field2source[i] == COMPUTE) { @@ -286,7 +286,7 @@ void DumpGrid::init_style() if (i == 0) grid2d->get_size(nxgrid,nygrid); else { grid2d->get_size(nxtmp,nytmp); - if (nxtmp != nxgrid || nytmp != nygrid) + if (nxtmp != nxgrid || nytmp != nygrid) error->all(FLERR,"Dump grid field grid sizes do not match"); } @@ -513,18 +513,18 @@ int DumpGrid::count() if (dimension == 2) { if (field2source[0] == COMPUTE) - grid2d = (Grid2d *) + grid2d = (Grid2d *) compute[field2index[0]]->get_grid_by_index(field2grid[0]); else if (field2source[0] == FIX) - grid2d = (Grid2d *) + grid2d = (Grid2d *) fix[field2index[0]]->get_grid_by_index(field2grid[0]); grid2d->get_bounds(nxlo_in,nxhi_in,nylo_in,nyhi_in); } else { if (field2source[0] == COMPUTE) - grid3d = (Grid3d *) + grid3d = (Grid3d *) compute[field2index[0]]->get_grid_by_index(field2grid[0]); else if (field2source[0] == FIX) - grid3d = (Grid3d *) + grid3d = (Grid3d *) fix[field2index[0]]->get_grid_by_index(field2grid[0]); grid3d->get_bounds(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in); } @@ -550,11 +550,11 @@ int DumpGrid::count() } // return count of grid points I own - + int ngrid; - if (dimension == 2) + if (dimension == 2) ngrid = (nxhi_in-nxlo_in+1) * (nyhi_in-nylo_in+1); - else + else ngrid = (nxhi_in-nxlo_in+1) * (nyhi_in-nylo_in+1) * (nzhi_in-nzlo_in+1); return ngrid; @@ -674,43 +674,43 @@ int DumpGrid::parse_fields(int narg, char **arg) auto name = argi.get_name(); Compute *icompute = nullptr; Fix *ifix = nullptr; - + switch (argi.get_type()) { - + case ArgInfo::UNKNOWN: { error->all(FLERR,"Invalid attribute in dump grid command"); } break; - + // compute value = c_ID // if no trailing [], then arg is set to 0, else arg is int between [] - + case ArgInfo::COMPUTE: { - if (dimension == 2) pack_choice[iarg] = &DumpGrid::pack_grid2d; + if (dimension == 2) pack_choice[iarg] = &DumpGrid::pack_grid2d; else pack_choice[iarg] = &DumpGrid::pack_grid3d; vtype[iarg] = Dump::DOUBLE; - field2source[iarg] = COMPUTE; - + field2source[iarg] = COMPUTE; + // split name = idcompute:gname:dname into 3 strings char *idcompute,*gname,*dname; utils::grid_parse(FLERR,name,idcompute,gname,dname,error); icompute = modify->get_compute_by_id(idcompute); - if (!icompute) + if (!icompute) error->all(FLERR,"Could not find dump grid compute ID: {}",idcompute); if (icompute->pergrid_flag == 0) error->all(FLERR,"Dump grid compute {} does not compute per-grid info", idcompute); - + int dim; int igrid = icompute->get_grid_by_name(gname,dim); - if (igrid < 0) + if (igrid < 0) error->all(FLERR,"Dump grid compute {} does not recognize grid name {}", idcompute,gname); - + int ncol; int idata = icompute->get_griddata_by_name(igrid,dname,ncol); - if (idata < 0) + if (idata < 0) error->all(FLERR, "Dump grid compute {} does not recognize data name {}", idcompute,dname); @@ -718,18 +718,18 @@ int DumpGrid::parse_fields(int narg, char **arg) if (argi.get_dim() == 0 && ncol) error->all(FLERR,"Dump grid compute {} data {} is not per-grid vector", idcompute,dname); - if (argi.get_dim() && ncol == 0) + if (argi.get_dim() && ncol == 0) error->all(FLERR,"Dump grid compute {} data {} is not per-grid array", idcompute,dname); if (argi.get_dim() && argi.get_index1() > ncol) error->all(FLERR, "Dump grid compute {} array {} is accessed out-of-range", idcompute,dname); - - + + field2index[iarg] = add_compute(idcompute); - field2grid[iarg] = igrid; - field2data[iarg] = idata; + field2grid[iarg] = igrid; + field2data[iarg] = idata; delete [] idcompute; delete [] gname; @@ -744,7 +744,7 @@ int DumpGrid::parse_fields(int narg, char **arg) if (dimension == 2) pack_choice[iarg] = &DumpGrid::pack_grid2d; else pack_choice[iarg] = &DumpGrid::pack_grid3d; vtype[iarg] = Dump::DOUBLE; - field2source[iarg] = FIX; + field2source[iarg] = FIX; // split name = idfix:gname:dname into 3 strings @@ -761,29 +761,29 @@ int DumpGrid::parse_fields(int narg, char **arg) int dim; int igrid = ifix->get_grid_by_name(gname,dim); - if (igrid < 0) + if (igrid < 0) error->all(FLERR,"Dump grid fix {} does not recognize grid name {}", idfix,gname); - + int ncol; int idata = ifix->get_griddata_by_name(igrid,dname,ncol); - if (idata < 0) + if (idata < 0) error->all(FLERR,"Dump grid fix {} does not recognize data name {}", idfix,dname); if (argi.get_dim() == 0 && ncol) error->all(FLERR,"Dump grid fix {} data {} is not per-grid vector", idfix,dname); - if (argi.get_dim() > 0 && ncol == 0) + if (argi.get_dim() > 0 && ncol == 0) error->all(FLERR,"Dump grid fix {} data {} is not per-grid array", idfix,dname); if (argi.get_dim() > 0 && argi.get_index1() > ncol) error->all(FLERR,"Dump grid fix {} array {} is accessed out-of-range", idfix,dname); - + field2index[iarg] = add_fix(idfix); - field2grid[iarg] = igrid; - field2data[iarg] = idata; + field2grid[iarg] = igrid; + field2data[iarg] = idata; delete [] idfix; delete [] gname; @@ -792,13 +792,13 @@ int DumpGrid::parse_fields(int narg, char **arg) } break; // no match - + default: { return iarg; } break; } } - + return narg; } @@ -936,29 +936,29 @@ void DumpGrid::pack_grid2d(int n) if (index == 0) { double **vec2d; if (field2source[n] == COMPUTE) - vec2d = (double **) + vec2d = (double **) compute[field2index[n]]->get_griddata_by_index(field2data[n]); else if (field2source[n] == FIX) - vec2d = (double **) + vec2d = (double **) fix[field2index[n]]->get_griddata_by_index(field2data[n]); for (int iy = nylo_in; iy <= nyhi_in; iy++) for (int ix = nxlo_in; ix <= nxhi_in; ix++) { - buf[n] = vec2d[iy][ix]; - n += size_one; + buf[n] = vec2d[iy][ix]; + n += size_one; } } else { double ***array2d; if (field2source[n] == COMPUTE) - array2d = (double ***) + array2d = (double ***) compute[field2index[n]]->get_griddata_by_index(field2data[n]); else if (field2source[n] == FIX) - array2d = (double ***) + array2d = (double ***) fix[field2index[n]]->get_griddata_by_index(field2data[n]); index--; for (int iy = nylo_in; iy <= nyhi_in; iy++) for (int ix = nxlo_in; ix <= nxhi_in; ix++) { - buf[n] = array2d[iy][ix][index]; - n += size_one; + buf[n] = array2d[iy][ix][index]; + n += size_one; } } } @@ -972,31 +972,31 @@ void DumpGrid::pack_grid3d(int n) if (index == 0) { double ***vec3d; if (field2source[n] == COMPUTE) - vec3d = (double ***) + vec3d = (double ***) compute[field2index[n]]->get_griddata_by_index(field2data[n]); else if (field2source[n] == FIX) - vec3d = (double ***) + vec3d = (double ***) fix[field2index[n]]->get_griddata_by_index(field2data[n]); for (int iz = nzlo_in; iz <= nzhi_in; iz++) for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) { - buf[n] = vec3d[iz][iy][ix]; - n += size_one; - } + for (int ix = nxlo_in; ix <= nxhi_in; ix++) { + buf[n] = vec3d[iz][iy][ix]; + n += size_one; + } } else { double ****array3d; if (field2source[n] == COMPUTE) - array3d = (double ****) + array3d = (double ****) compute[field2index[n]]->get_griddata_by_index(field2data[n]); else if (field2source[n] == FIX) - array3d = (double ****) + array3d = (double ****) fix[field2index[n]]->get_griddata_by_index(field2data[n]); index--; for (int iz = nzlo_in; iz <= nzhi_in; iz++) for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) { - buf[n] = array3d[iz][iy][ix][index]; + for (int ix = nxlo_in; ix <= nxhi_in; ix++) { + buf[n] = array3d[iz][iy][ix][index]; n += size_one; - } + } } } diff --git a/src/fix.h b/src/fix.h index c16c781648..8171f2ee31 100644 --- a/src/fix.h +++ b/src/fix.h @@ -101,7 +101,7 @@ class Fix : protected Pointers { int pergrid_flag; // 0/1 if per-grid data is stored int pergrid_freq; // frequency per-grid data is available at - + int extscalar; // 0/1 if global scalar is intensive/extensive int extvector; // 0/1/-1 if global vector is all int/ext/extlist int *extlist; // list of 0/1 int/ext for each vec component diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index 2b63d04e3c..72c2b8dcb6 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -51,8 +51,8 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), which(nullptr), argindex(nullptr), ids(nullptr), value2index(nullptr), value2grid(nullptr), value2data(nullptr), - grid2d(nullptr), grid3d(nullptr), - grid_buf1(nullptr), grid_buf2(nullptr), + grid2d(nullptr), grid3d(nullptr), + grid_buf1(nullptr), grid_buf2(nullptr), vec2d(nullptr), array2d(nullptr), vec3d(nullptr), array3d(nullptr), count2d(nullptr), count3d(nullptr) { @@ -141,7 +141,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : } else { ArgInfo argi(arg[iarg]); - + if (argi.get_type() == ArgInfo::NONE) break; if ((argi.get_type() == ArgInfo::UNKNOWN) || (argi.get_dim() > 1)) error->all(FLERR,"Invalid fix ave/grid command"); @@ -164,7 +164,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : if (nvalues == 0) error->all(FLERR,"No values in fix ave/grid command"); - if (modeatom && modegrid) + if (modeatom && modegrid) error->all(FLERR,"Fix ave/grid cannot operate on per-atom and " "per-grid values"); @@ -235,12 +235,12 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : for (int i = 0; i < nvalues; i++) delete [] earg[i]; memory->sfree(earg); } - + // setup and error check // for fix inputs, check that fix frequency is acceptable dimension = domain->dimension; - + if (nevery <= 0 || nrepeat <= 0 || pergrid_freq <= 0) error->all(FLERR,"Illegal fix ave/grid command"); if (pergrid_freq % nevery || nrepeat*nevery > pergrid_freq) @@ -253,7 +253,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : if (biasflag) { tbias = modify->get_compute_by_id(id_bias); - if (!tbias) + if (!tbias) error->all(FLERR,"Could not find compute ID for temperature bias"); if (tbias->tempflag == 0) error->all(FLERR,"Bias compute does not calculate temperature"); @@ -261,9 +261,9 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Bias compute does not calculate a velocity bias"); } - if (normflag != ALL) + if (normflag != ALL) error->all(FLERR,"Fix ave/grid norm all is required for now"); - if (normflag != ONE) + if (normflag != ONE) error->all(FLERR,"Fix ave/grid ave one is required for now"); // error checks for ATOM mode @@ -305,7 +305,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : if (nevery % modify->fix[ifix]->peratom_freq) error->all(FLERR, "Fix for fix ave/atom not computed at compatible time"); - + } else if (which[i] == ArgInfo::VARIABLE) { int ivariable = input->variable->find(ids[i]); if (ivariable < 0) @@ -329,7 +329,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : strcpy(ids[i],idcompute); Compute *icompute = modify->get_compute_by_id(idcompute); - if (!icompute) + if (!icompute) error->all(FLERR,"Could not find fix ave/grid compute ID: {}", idcompute); if (icompute->pergrid_flag == 0) @@ -339,14 +339,14 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : int dim; int igrid = icompute->get_grid_by_name(gname,dim); - if (igrid < 0) + if (igrid < 0) error->all(FLERR, "Fix ave/grid compute {} does not recognize grid name {}", idcompute,gname); - + int ncol; int idata = icompute->get_griddata_by_name(igrid,dname,ncol); - if (idata < 0) + if (idata < 0) error->all(FLERR, "Fix ave/grid compute {} does not recognize data name {}", idcompute,dname); @@ -355,7 +355,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR, "Fix ave/grid compute {} data {} is not per-grid vector", idcompute,dname); - if (argindex[i] && ncol == 0) + if (argindex[i] && ncol == 0) error->all(FLERR, "Fix ave/grid compute {} data {} is not per-grid array", idcompute,dname); @@ -363,9 +363,9 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR, "Fix ave/grid compute {} array {} is accessed out-of-range", idcompute,dname); - - value2grid[i] = igrid; - value2data[i] = idata; + + value2grid[i] = igrid; + value2data[i] = idata; delete [] idcompute; delete [] gname; @@ -391,14 +391,14 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : int dim; int igrid = ifix->get_grid_by_name(gname,dim); - if (igrid < 0) + if (igrid < 0) error->all(FLERR, "Fix ave/grid compute {} does not recognize grid name {}", idfix,gname); - + int ncol; int idata = ifix->get_griddata_by_name(igrid,dname,ncol); - if (idata < 0) + if (idata < 0) error->all(FLERR, "Fix ave/grid compute {} does not recognize data name {}", idfix,dname); @@ -407,7 +407,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR, "Fix ave/grid compute {} data {} is not per-grid vector", idfix,dname); - if (argindex[i] && ncol == 0) + if (argindex[i] && ncol == 0) error->all(FLERR, "Fix ave/grid compute {} data {} is not per-grid array", idfix,dname); @@ -415,9 +415,9 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR, "Fix ave/grid compute {} array {} is accessed out-of-range", idfix,dname); - - value2grid[i] = igrid; - value2data[i] = idata; + + value2grid[i] = igrid; + value2data[i] = idata; delete [] idfix; delete [] gname; @@ -442,7 +442,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : grid2d = new Grid2d(lmp, world, nxgrid, nygrid, maxdist, 0, shift, nxlo_in, nxhi_in, nylo_in, nyhi_in, nxlo_out, nxhi_out, nylo_out, nyhi_out); - + grid2d->setup(ngrid_buf1, ngrid_buf2); memory->create(grid_buf1, ngrid_buf1, "ave/grid:grid_buf1"); memory->create(grid_buf2, ngrid_buf2, "ave/grid:grid_buf2"); @@ -450,41 +450,41 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : ngridout = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1); if (nvalues == 1) - memory->create2d_offset(vec2d, nylo_out, nyhi_out, nxlo_out, nxhi_out, + memory->create2d_offset(vec2d, nylo_out, nyhi_out, nxlo_out, nxhi_out, "ave/grid:vec2d"); else memory->create3d_offset_last(array2d, nylo_out, nyhi_out, nxlo_out, nxhi_out, nvalues, "ave/grid:array2d"); - if (modeatom) - memory->create2d_offset(count2d, nylo_out, nyhi_out, nxlo_out, nxhi_out, + if (modeatom) + memory->create2d_offset(count2d, nylo_out, nyhi_out, nxlo_out, nxhi_out, "ave/grid:count2d"); - + } else { grid3d = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid, maxdist, 0, shift, - nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, nzhi_in, - nxlo_out, nxhi_out, nylo_out, nyhi_out, + nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, nzhi_in, + nxlo_out, nxhi_out, nylo_out, nyhi_out, nzlo_out, nzhi_out); grid3d->setup(ngrid_buf1, ngrid_buf2); memory->create(grid_buf1, ngrid_buf1, "ave/grid:grid_buf1"); memory->create(grid_buf2, ngrid_buf2, "ave/grid:grid_buf2"); - ngridout = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1) * + ngridout = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1) * (nzhi_out - nzlo_out + 1); if (nvalues == 1) - memory->create3d_offset(vec3d, nzlo_out, nzhi_out, nylo_out, - nyhi_out, nxlo_out, nxhi_out, + memory->create3d_offset(vec3d, nzlo_out, nzhi_out, nylo_out, + nyhi_out, nxlo_out, nxhi_out, "ave/grid:vec3d"); else - memory->create4d_offset_last(array3d, nzlo_out, nzhi_out, nylo_out, - nyhi_out, nxlo_out, nxhi_out, nvalues, + memory->create4d_offset_last(array3d, nzlo_out, nzhi_out, nylo_out, + nyhi_out, nxlo_out, nxhi_out, nvalues, "ave/grid:array3d"); if (modeatom) - memory->create3d_offset(count3d, nzlo_out, nzhi_out, nylo_out, - nyhi_out, nxlo_out, nxhi_out, + memory->create3d_offset(count3d, nzlo_out, nzhi_out, nylo_out, + nyhi_out, nxlo_out, nxhi_out, "ave/grid:vec3d"); } @@ -591,9 +591,9 @@ void FixAveGrid::init() Fix *fix; Grid2d *grid2d; Grid3d *grid3d; - + int nxtmp,nytmp,nztmp; - + for (int m = 0; m < nvalues; m++) { if (dimension == 2) { if (which[m] == ArgInfo::COMPUTE) { @@ -604,7 +604,7 @@ void FixAveGrid::init() grid2d = (Grid2d *) fix->get_grid_by_index(value2grid[m]); } grid2d->get_size(nxtmp,nytmp); - if (nxtmp != nxgrid || nytmp != nygrid) + if (nxtmp != nxgrid || nytmp != nygrid) error->all(FLERR,"Fix ave/grid value grid sizes do not match"); } else { @@ -688,18 +688,18 @@ void FixAveGrid::end_of_step() // nvalues + 1 more for atom count if (modeatom) { - if (dimension == 2) + if (dimension == 2) grid2d->reverse_comm(Grid2d::FIX,this,nvalues+1,sizeof(double),0, grid_buf1,grid_buf2,MPI_DOUBLE); - else + else grid3d->reverse_comm(Grid3d::FIX,this,nvalues+1,sizeof(double),0, grid_buf1,grid_buf2,MPI_DOUBLE); } // just return if this proc owns no grid points - + if (ngridout == 0) return; - + // average the final results across Nrepeat samples // for ATOM mode, result = total_value / total_count // exception is DENSITY_NUMBER: @@ -734,11 +734,11 @@ void FixAveGrid::end_of_step() for (ix = nxlo_in; ix <= nxhi_in; ix++) { count = count2d[iy][ix]; if (count) { - if (which[0] == ArgInfo::DENSITY_NUMBER) + if (which[0] == ArgInfo::DENSITY_NUMBER) norm = 1.0 / (binvol * repeat); - else if (which[0] == ArgInfo::DENSITY_MASS) + else if (which[0] == ArgInfo::DENSITY_MASS) norm = mv2d / (binvol * nrepeat); - else if (which[0] == ArgInfo::TEMPERATURE) + else if (which[0] == ArgInfo::TEMPERATURE) norm = mvv2e /((repeat*cdof + adof*count) * boltz); else norm = 1.0/count; @@ -753,11 +753,11 @@ void FixAveGrid::end_of_step() if (count) { invcount = 1.0/count; for (m = 0; m <= nvalues; m++) { - if (which[m] == ArgInfo::DENSITY_NUMBER) + if (which[m] == ArgInfo::DENSITY_NUMBER) norm = 1.0 / (binvol * repeat); - else if (which[m] == ArgInfo::DENSITY_MASS) + else if (which[m] == ArgInfo::DENSITY_MASS) norm = mv2d / (binvol * nrepeat); - else if (which[m] == ArgInfo::TEMPERATURE) + else if (which[m] == ArgInfo::TEMPERATURE) norm = mvv2e /((repeat*cdof + adof*count) * boltz); else norm = 1.0/count; @@ -774,11 +774,11 @@ void FixAveGrid::end_of_step() for (ix = nxlo_in; ix <= nxhi_in; ix++) { count = count3d[iz][iy][ix]; if (count) { - if (which[0] == ArgInfo::DENSITY_NUMBER) + if (which[0] == ArgInfo::DENSITY_NUMBER) norm = 1.0 / (binvol * repeat); - else if (which[0] == ArgInfo::DENSITY_MASS) + else if (which[0] == ArgInfo::DENSITY_MASS) norm = mv2d / (binvol * nrepeat); - else if (which[0] == ArgInfo::TEMPERATURE) + else if (which[0] == ArgInfo::TEMPERATURE) norm = mvv2e /((repeat*cdof + adof*count) * boltz); else norm = 1.0/count; @@ -794,11 +794,11 @@ void FixAveGrid::end_of_step() if (count) { invcount = 1.0/count; for (m = 0; m <= nvalues; m++) { - if (which[m] == ArgInfo::DENSITY_NUMBER) + if (which[m] == ArgInfo::DENSITY_NUMBER) norm = 1.0 / (binvol * repeat); - else if (which[m] == ArgInfo::DENSITY_MASS) + else if (which[m] == ArgInfo::DENSITY_MASS) norm = mv2d / (binvol * nrepeat); - else if (which[m] == ArgInfo::TEMPERATURE) + else if (which[m] == ArgInfo::TEMPERATURE) norm = mvv2e /((repeat*cdof + adof*count) * boltz); else norm = 1.0/count; @@ -836,7 +836,7 @@ void FixAveGrid::end_of_step() for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) for (m = 0; m <= nvalues; m++) - array3d[iz][iy][ix][m] *= invrepeat; + array3d[iz][iy][ix][m] *= invrepeat; } } } @@ -871,7 +871,7 @@ void FixAveGrid::atom2grid() double dxinv = nxgrid/prd[0]; double dyinv = nygrid/prd[1]; double dzinv = nzgrid/prd[2]; - + double **x = atom->x; int *mask = atom->mask; int nlocal = atom->nlocal; @@ -956,7 +956,7 @@ void FixAveGrid::atom2grid() for (m = 0; m < nvalues; m++) { n = value2index[m]; j = argindex[m]; - + // V,F adds velocity,force to value if (which[m] == ArgInfo::V || which[m] == ArgInfo::F) { @@ -964,7 +964,7 @@ void FixAveGrid::atom2grid() double **attribute; if (which[m] == ArgInfo::V) attribute = atom->v; else if (which[m] == ArgInfo::F) attribute = atom->f; - + if (dimension == 2) { if (nvalues == 1) { for (i = 0; i < nlocal; i++) { @@ -988,14 +988,14 @@ void FixAveGrid::atom2grid() array3d[bin[i][0]][bin[i][1]][bin[i][2]][m] += attribute[i][j]; } } - + // DENSITY_NUMBER adds 1 to value // DENSITY_MASS or MASS adds mass to value - } else if ((which[m] == ArgInfo::DENSITY_NUMBER) || - (which[m] == ArgInfo::DENSITY_MASS) || + } else if ((which[m] == ArgInfo::DENSITY_NUMBER) || + (which[m] == ArgInfo::DENSITY_MASS) || (which[m] == ArgInfo::MASS)) { - + int *type = atom->type; double *mass = atom->mass; double *rmass = atom->rmass; @@ -1106,7 +1106,7 @@ void FixAveGrid::atom2grid() } else if (which[m] == ArgInfo::COMPUTE || which[m] == ArgInfo::FIX || which[m] == ArgInfo::VARIABLE) { double *ovector,**oarray; - + if (which[m] == ArgInfo::COMPUTE) { Compute *compute = modify->compute[n]; if (!(compute->invoked_flag & Compute::INVOKED_PERATOM)) { @@ -1166,7 +1166,7 @@ void FixAveGrid::atom2grid() if (!skip[i]) vec3d[bin[i][0]][bin[i][1]][bin[i][2]] += ovector[i]; } - } else { + } else { int jm1 = j - 1; for (i = 0; i < nlocal; i++) { if (!skip[i]) @@ -1207,10 +1207,10 @@ void FixAveGrid::grid2grid() n = value2index[m]; j = argindex[m]; int idata = value2data[m]; - + Compute *compute; Fix *fix; - + if (which[m] == ArgInfo::COMPUTE) { compute = modify->compute[n]; if (!(compute->invoked_flag & Compute::INVOKED_PERGRID)) { @@ -1222,17 +1222,17 @@ void FixAveGrid::grid2grid() if (dimension == 2) { double **ovec2d,***oarray2d; if (which[m] == ArgInfo::COMPUTE) { - if (j == 0) + if (j == 0) ovec2d = (double **) compute->get_griddata_by_index(idata); else oarray2d = (double ***) compute->get_griddata_by_index(idata); } else { - if (j == 0) + if (j == 0) ovec2d = (double **) fix->get_griddata_by_index(idata); - else + else oarray2d = (double ***) fix->get_griddata_by_index(idata); } - + if (nvalues == 1) { if (j == 0) { for (iy = nylo_in; iy <= nyhi_in; iy++) @@ -1256,18 +1256,18 @@ void FixAveGrid::grid2grid() array2d[iy][ix][m] += oarray2d[iy][ix][jm1]; } } - + } else { double ***ovec3d,****oarray3d; if (which[m] == ArgInfo::COMPUTE) { - if (j == 0) + if (j == 0) ovec3d = (double ***) compute->get_griddata_by_index(idata); - else + else oarray3d = (double ****) compute->get_griddata_by_index(idata); } else { if (j == 0) { ovec3d = (double ***) fix->get_griddata_by_index(idata); - } else + } else oarray3d = (double ****) fix->get_griddata_by_index(idata); } @@ -1316,11 +1316,11 @@ void FixAveGrid::zero_grid() memset(&vec2d[nylo_out][nxlo_out],0, ngridout*sizeof(double)); else memset(&array2d[nylo_out][nxlo_out][0],0,ngridout*nvalues*sizeof(double)); - if (modeatom) + if (modeatom) memset(&count2d[nylo_out][nxlo_out],0,ngridout*sizeof(double)); } else { if (nvalues == 1) - memset(&vec3d[nzlo_out][nylo_out][nxlo_out],0,ngridout*sizeof(double)); + memset(&vec3d[nzlo_out][nylo_out][nxlo_out],0,ngridout*sizeof(double)); else memset(&array3d[nzlo_out][nylo_out][nxlo_out][0],0, ngridout*nvalues*sizeof(double)); diff --git a/src/grid2d.cpp b/src/grid2d.cpp index bea24421cf..6a5a0c8446 100644 --- a/src/grid2d.cpp +++ b/src/grid2d.cpp @@ -125,7 +125,7 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, // error check on size of grid stored by this proc bigint total = (bigint) (oxhi - oxlo + 1) * (oyhi - oylo + 1); - if (total > MAXSMALLINT) + if (total > MAXSMALLINT) error->one(FLERR, "Too many owned+ghost grid2d points"); // store grid bounds and proc neighs @@ -883,7 +883,7 @@ void Grid2d::ghost_box_drop(int *box, int *pbc) ------------------------------------------------------------------------- */ void Grid2d::box_drop_grid(int *box, int proclower, int procupper, - int &np, int *plist) + int &np, int *plist) { // end recursion when partition is a single proc // add proclower to plist @@ -899,7 +899,7 @@ void Grid2d::box_drop_grid(int *box, int proclower, int procupper, // = location in tree that stores this cut // cut = index of first grid cell in upper partition // dim = 0,1,2 dimension of cut - + int procmid = proclower + (procupper - proclower) / 2 + 1; int dim = rcbinfo[procmid].dim; int cut = rcbinfo[procmid].cut; @@ -955,7 +955,7 @@ int Grid2d::ghost_adjacent_tiled() ------------------------------------------------------------------------- */ void Grid2d::forward_comm(int caller, void *ptr, int nper, int nbyte, int which, - void *buf1, void *buf2, MPI_Datatype datatype) + void *buf1, void *buf2, MPI_Datatype datatype) { if (layout == REGULAR) { if (caller == KSPACE) @@ -1060,7 +1060,7 @@ forward_comm_tiled(T *ptr, int nper, int nbyte, int which, ------------------------------------------------------------------------- */ void Grid2d::reverse_comm(int caller, void *ptr, int nper, int nbyte, int which, - void *buf1, void *buf2, MPI_Datatype datatype) + void *buf1, void *buf2, MPI_Datatype datatype) { if (layout == REGULAR) { if (caller == KSPACE) diff --git a/src/grid2d.h b/src/grid2d.h index df7ac4e4fa..dc4c306bfe 100644 --- a/src/grid2d.h +++ b/src/grid2d.h @@ -22,12 +22,12 @@ class Grid2d : protected Pointers { public: enum { KSPACE = 0, PAIR = 1, FIX = 2 }; // calling classes - Grid2d(class LAMMPS *, MPI_Comm, int, int, double, int, double, + Grid2d(class LAMMPS *, MPI_Comm, int, int, double, int, double, int &, int &, int &, int &, int &, int &, int &, int &); Grid2d(class LAMMPS *, MPI_Comm, int, int, int, int, int, int, int, int, int, int); Grid2d(class LAMMPS *, MPI_Comm, int, int, int, int, int, int, int, int, int, int, - int, int, int, int, int); + int, int, int, int, int); ~Grid2d() override; void get_size(int &, int &); void get_bounds(int &, int &, int &, int &); diff --git a/src/grid3d.cpp b/src/grid3d.cpp index ae42a6dcb0..fb7334e1f1 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -55,7 +55,7 @@ static constexpr int OFFSET = 16384; ------------------------------------------------------------------------- */ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, - int gnx, int gny, int gnz, + int gnx, int gny, int gnz, double maxdist, int extra, double shift, int &ixlo, int &ixhi, int &iylo, int &iyhi, int &izlo, int &izhi, int &oxlo, int &oxhi, int &oylo, int &oyhi, int &ozlo, int &ozhi) @@ -72,7 +72,7 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, ny = gny; nz = gnz; - ngrid[0] = nx; ngrid[1] = ny; ngrid[2] = nz; + ngrid[0] = nx; ngrid[1] = ny; ngrid[2] = nz; if (comm->layout == Comm::LAYOUT_TILED) layout = TILED; else layout = REGULAR; @@ -132,12 +132,12 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, ozlo = MAX(1,ozlo); ozhi = MIN(gnx-1,ozhi); } - + // error check on size of grid stored by this proc - bigint total = (bigint) + bigint total = (bigint) (oxhi - oxlo + 1) * (oyhi - oylo + 1) * (ozhi - ozlo + 1); - if (total > MAXSMALLINT) + if (total > MAXSMALLINT) error->one(FLERR, "Too many owned+ghost grid3d points"); // store grid bounds and proc neighs @@ -186,7 +186,7 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, ny = gny; nz = gnz; - ngrid[0] = nx; ngrid[1] = ny; ngrid[2] = nz; + ngrid[0] = nx; ngrid[1] = ny; ngrid[2] = nz; if (comm->layout == Comm::LAYOUT_TILED) layout = TILED; else layout = REGULAR; @@ -242,7 +242,7 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, int flag, ny = gny; nz = gnz; - ngrid[0] = nx; ngrid[1] = ny; ngrid[2] = nz; + ngrid[0] = nx; ngrid[1] = ny; ngrid[2] = nz; if (comm->layout == Comm::LAYOUT_TILED) layout = TILED; else layout = REGULAR; @@ -380,7 +380,7 @@ void Grid3d::get_size(int &nxgrid, int &nygrid, int &nzgrid) /* ---------------------------------------------------------------------- */ -void Grid3d::get_bounds(int &xlo, int &xhi, int &ylo, int &yhi, +void Grid3d::get_bounds(int &xlo, int &xhi, int &ylo, int &yhi, int &zlo, int &zhi) { xlo = inxlo; diff --git a/src/grid3d.h b/src/grid3d.h index 38e5887f8b..9f751bbeb7 100644 --- a/src/grid3d.h +++ b/src/grid3d.h @@ -22,13 +22,13 @@ class Grid3d : protected Pointers { public: enum { KSPACE = 0, PAIR = 1, FIX = 2 }; // calling classes - Grid3d(class LAMMPS *, MPI_Comm, int, int, int, double, int, double, - int &, int &, int &, int &, int &, int &, + Grid3d(class LAMMPS *, MPI_Comm, int, int, int, double, int, double, + int &, int &, int &, int &, int &, int &, int &, int &, int &, int &, int &, int &); - Grid3d(class LAMMPS *, MPI_Comm, int, int, int, int, int, int, int, int, int, + Grid3d(class LAMMPS *, MPI_Comm, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int); - Grid3d(class LAMMPS *, MPI_Comm, int, int, int, int, - int, int, int, int, int, int, int, int, int, int, int, int, + Grid3d(class LAMMPS *, MPI_Comm, int, int, int, int, + int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int); ~Grid3d() override; void get_size(int &, int &, int &); @@ -185,7 +185,7 @@ class Grid3d : protected Pointers { // internal methods // ------------------------------------------- - void store(int, int, int, int, int, int, int, int, int, int, int, int, + void store(int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int); virtual void setup_regular(int &, int &); virtual void setup_tiled(int &, int &); diff --git a/src/utils.cpp b/src/utils.cpp index 43925fd69c..cbcb5c1a23 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -771,17 +771,17 @@ int utils::expand_args(const char *file, int line, int narg, char **arg, int mod return ptrs to 3 substrings ------------------------------------------------------------------------- */ -void utils::grid_parse(const char *file, int line, const std::string &name, +void utils::grid_parse(const char *file, int line, const std::string &name, char *&id, char *&gridname, char *&dataname, Error *error) { char *copy = strdup(name); char *ptr1 = strchr(copy,':'); - if (!ptr1) + if (!ptr1) error->all(FLERR,"Grid reference {} does not contain 2 ':' chars",name); *ptr1 = '\0'; char *ptr2 = strchr(ptr1+1,':'); - if (!ptr2) + if (!ptr2) error->all(FLERR,"Grid reference {} does not contain 2 ':' chars",name); *ptr2 = '\0'; From f8d119b073ed6bf7c8f0356b4eb847d3e5609a6d Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 17 Aug 2022 08:51:57 -0600 Subject: [PATCH 031/142] change GridComm to Grid3d in DIELECTRIC package --- src/DIELECTRIC/msm_dielectric.cpp | 22 ++++++------- src/DIELECTRIC/pppm_dielectric.cpp | 12 +++---- src/DIELECTRIC/pppm_disp_dielectric.cpp | 42 ++++++++++++------------- 3 files changed, 38 insertions(+), 38 deletions(-) diff --git a/src/DIELECTRIC/msm_dielectric.cpp b/src/DIELECTRIC/msm_dielectric.cpp index 3217c8dbad..b5cdfbb04f 100644 --- a/src/DIELECTRIC/msm_dielectric.cpp +++ b/src/DIELECTRIC/msm_dielectric.cpp @@ -23,7 +23,7 @@ #include "comm.h" #include "domain.h" #include "error.h" -#include "gridcomm.h" +#include "grid3d.h" #include "math_const.h" #include "memory.h" @@ -130,7 +130,7 @@ void MSMDielectric::compute(int eflag, int vflag) // to fully sum contribution in their 3d grid current_level = 0; - gcall->reverse_comm(GridComm::KSPACE,this,1,sizeof(double),REVERSE_RHO, + gcall->reverse_comm(Grid3d::KSPACE,this,1,sizeof(double),REVERSE_RHO, gcall_buf1,gcall_buf2,MPI_DOUBLE); // forward communicate charge density values to fill ghost grid points @@ -139,7 +139,7 @@ void MSMDielectric::compute(int eflag, int vflag) for (int n=0; n<=levels-2; n++) { if (!active_flag[n]) continue; current_level = n; - gc[n]->forward_comm(GridComm::KSPACE,this,1,sizeof(double),FORWARD_RHO, + gc[n]->forward_comm(Grid3d::KSPACE,this,1,sizeof(double),FORWARD_RHO, gc_buf1[n],gc_buf2[n],MPI_DOUBLE); direct(n); restriction(n); @@ -152,15 +152,15 @@ void MSMDielectric::compute(int eflag, int vflag) if (domain->nonperiodic) { current_level = levels-1; gc[levels-1]-> - forward_comm(GridComm::KSPACE,this,1,sizeof(double),FORWARD_RHO, + forward_comm(Grid3d::KSPACE,this,1,sizeof(double),FORWARD_RHO, gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); direct_top(levels-1); gc[levels-1]-> - reverse_comm(GridComm::KSPACE,this,1,sizeof(double),REVERSE_AD, + reverse_comm(Grid3d::KSPACE,this,1,sizeof(double),REVERSE_AD, gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); if (vflag_atom) gc[levels-1]-> - reverse_comm(GridComm::KSPACE,this,6,sizeof(double),REVERSE_AD_PERATOM, + reverse_comm(Grid3d::KSPACE,this,6,sizeof(double),REVERSE_AD_PERATOM, gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); } else { @@ -171,7 +171,7 @@ void MSMDielectric::compute(int eflag, int vflag) current_level = levels-1; if (vflag_atom) gc[levels-1]-> - reverse_comm(GridComm::KSPACE,this,6,sizeof(double),REVERSE_AD_PERATOM, + reverse_comm(Grid3d::KSPACE,this,6,sizeof(double),REVERSE_AD_PERATOM, gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); } } @@ -184,13 +184,13 @@ void MSMDielectric::compute(int eflag, int vflag) prolongation(n); current_level = n; - gc[n]->reverse_comm(GridComm::KSPACE,this,1,sizeof(double),REVERSE_AD, + gc[n]->reverse_comm(Grid3d::KSPACE,this,1,sizeof(double),REVERSE_AD, gc_buf1[n],gc_buf2[n],MPI_DOUBLE); // extra per-atom virial communication if (vflag_atom) - gc[n]->reverse_comm(GridComm::KSPACE,this,6,sizeof(double), + gc[n]->reverse_comm(Grid3d::KSPACE,this,6,sizeof(double), REVERSE_AD_PERATOM,gc_buf1[n],gc_buf2[n],MPI_DOUBLE); } @@ -198,13 +198,13 @@ void MSMDielectric::compute(int eflag, int vflag) // to fill ghost cells surrounding their 3d bricks current_level = 0; - gcall->forward_comm(GridComm::KSPACE,this,1,sizeof(double),FORWARD_AD, + gcall->forward_comm(Grid3d::KSPACE,this,1,sizeof(double),FORWARD_AD, gcall_buf1,gcall_buf2,MPI_DOUBLE); // extra per-atom energy/virial communication if (vflag_atom) - gcall->forward_comm(GridComm::KSPACE,this,6,sizeof(double),FORWARD_AD_PERATOM, + gcall->forward_comm(Grid3d::KSPACE,this,6,sizeof(double),FORWARD_AD_PERATOM, gcall_buf1,gcall_buf2,MPI_DOUBLE); // calculate the force on my particles (interpolation) diff --git a/src/DIELECTRIC/pppm_dielectric.cpp b/src/DIELECTRIC/pppm_dielectric.cpp index 92bd89ebd9..16a2111419 100644 --- a/src/DIELECTRIC/pppm_dielectric.cpp +++ b/src/DIELECTRIC/pppm_dielectric.cpp @@ -24,7 +24,7 @@ #include "domain.h" #include "error.h" #include "force.h" -#include "gridcomm.h" +#include "grid3d.h" #include "math_const.h" #include "math_special.h" #include "memory.h" @@ -129,7 +129,7 @@ void PPPMDielectric::compute(int eflag, int vflag) // to fully sum contribution in their 3d bricks // remap from 3d decomposition to FFT decomposition - gc->reverse_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR), + gc->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), REVERSE_RHO,gc_buf1,gc_buf2,MPI_FFT_SCALAR); brick2fft(); @@ -144,20 +144,20 @@ void PPPMDielectric::compute(int eflag, int vflag) // to fill ghost cells surrounding their 3d bricks if (differentiation_flag == 1) - gc->forward_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR), + gc->forward_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), FORWARD_AD,gc_buf1,gc_buf2,MPI_FFT_SCALAR); else - gc->forward_comm(GridComm::KSPACE,this,3,sizeof(FFT_SCALAR), + gc->forward_comm(Grid3d::KSPACE,this,3,sizeof(FFT_SCALAR), FORWARD_IK,gc_buf1,gc_buf2,MPI_FFT_SCALAR); // extra per-atom energy/virial communication if (evflag_atom) { if (differentiation_flag == 1 && vflag_atom) - gc->forward_comm(GridComm::KSPACE,this,6,sizeof(FFT_SCALAR), + gc->forward_comm(Grid3d::KSPACE,this,6,sizeof(FFT_SCALAR), FORWARD_AD_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); else if (differentiation_flag == 0) - gc->forward_comm(GridComm::KSPACE,this,7,sizeof(FFT_SCALAR), + gc->forward_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR), FORWARD_IK_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); } diff --git a/src/DIELECTRIC/pppm_disp_dielectric.cpp b/src/DIELECTRIC/pppm_disp_dielectric.cpp index d4d84e0f62..2a8b027ff3 100644 --- a/src/DIELECTRIC/pppm_disp_dielectric.cpp +++ b/src/DIELECTRIC/pppm_disp_dielectric.cpp @@ -24,7 +24,7 @@ #include "domain.h" #include "error.h" #include "force.h" -#include "gridcomm.h" +#include "grid3d.h" #include "math_const.h" #include "memory.h" @@ -148,7 +148,7 @@ void PPPMDispDielectric::compute(int eflag, int vflag) make_rho_c(); - gc->reverse_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR), + gc->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), REVERSE_RHO,gc_buf1,gc_buf2,MPI_FFT_SCALAR); brick2fft(nxlo_in,nylo_in,nzlo_in,nxhi_in,nyhi_in,nzhi_in, @@ -163,13 +163,13 @@ void PPPMDispDielectric::compute(int eflag, int vflag) virial_1,vg,vg2, u_brick,v0_brick,v1_brick,v2_brick,v3_brick,v4_brick,v5_brick); - gc->forward_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR),FORWARD_AD, + gc->forward_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR),FORWARD_AD, gc_buf1,gc_buf2,MPI_FFT_SCALAR); fieldforce_c_ad(); if (vflag_atom) - gc->forward_comm(GridComm::KSPACE,this,6,sizeof(FFT_SCALAR), + gc->forward_comm(Grid3d::KSPACE,this,6,sizeof(FFT_SCALAR), FORWARD_AD_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); } else { @@ -182,13 +182,13 @@ void PPPMDispDielectric::compute(int eflag, int vflag) vdx_brick,vdy_brick,vdz_brick,virial_1,vg,vg2, u_brick,v0_brick,v1_brick,v2_brick,v3_brick,v4_brick,v5_brick); - gc->forward_comm(GridComm::KSPACE,this,3,sizeof(FFT_SCALAR),FORWARD_IK, + gc->forward_comm(Grid3d::KSPACE,this,3,sizeof(FFT_SCALAR),FORWARD_IK, gc_buf1,gc_buf2,MPI_FFT_SCALAR); fieldforce_c_ik(); if (evflag_atom) - gc->forward_comm(GridComm::KSPACE,this,7,sizeof(FFT_SCALAR), + gc->forward_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR), FORWARD_IK_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); } @@ -206,7 +206,7 @@ void PPPMDispDielectric::compute(int eflag, int vflag) make_rho_g(); - gc6->reverse_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR), + gc6->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), REVERSE_RHO_GEOM,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); brick2fft(nxlo_in_6,nylo_in_6,nzlo_in_6,nxhi_in_6,nyhi_in_6,nzhi_in_6, @@ -222,13 +222,13 @@ void PPPMDispDielectric::compute(int eflag, int vflag) u_brick_g,v0_brick_g,v1_brick_g,v2_brick_g, v3_brick_g,v4_brick_g,v5_brick_g); - gc6->forward_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR), + gc6->forward_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), FORWARD_AD_GEOM,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); fieldforce_g_ad(); if (vflag_atom) - gc6->forward_comm(GridComm::KSPACE,this,6,sizeof(FFT_SCALAR), + gc6->forward_comm(Grid3d::KSPACE,this,6,sizeof(FFT_SCALAR), FORWARD_AD_PERATOM_GEOM, gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); @@ -243,13 +243,13 @@ void PPPMDispDielectric::compute(int eflag, int vflag) u_brick_g,v0_brick_g,v1_brick_g,v2_brick_g, v3_brick_g,v4_brick_g,v5_brick_g); - gc6->forward_comm(GridComm::KSPACE,this,3,sizeof(FFT_SCALAR), + gc6->forward_comm(Grid3d::KSPACE,this,3,sizeof(FFT_SCALAR), FORWARD_IK_GEOM,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); fieldforce_g_ik(); if (evflag_atom) - gc6->forward_comm(GridComm::KSPACE,this,7,sizeof(FFT_SCALAR), + gc6->forward_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR), FORWARD_IK_PERATOM_GEOM, gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } @@ -268,7 +268,7 @@ void PPPMDispDielectric::compute(int eflag, int vflag) make_rho_a(); - gc6->reverse_comm(GridComm::KSPACE,this,7,sizeof(FFT_SCALAR), + gc6->reverse_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR), REVERSE_RHO_ARITH,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); brick2fft_a(); @@ -298,13 +298,13 @@ void PPPMDispDielectric::compute(int eflag, int vflag) u_brick_a4,v0_brick_a4,v1_brick_a4,v2_brick_a4, v3_brick_a4,v4_brick_a4,v5_brick_a4); - gc6->forward_comm(GridComm::KSPACE,this,7,sizeof(FFT_SCALAR), + gc6->forward_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR), FORWARD_AD_ARITH,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); fieldforce_a_ad(); if (evflag_atom) - gc6->forward_comm(GridComm::KSPACE,this,42,sizeof(FFT_SCALAR), + gc6->forward_comm(Grid3d::KSPACE,this,42,sizeof(FFT_SCALAR), FORWARD_AD_PERATOM_ARITH, gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); @@ -340,13 +340,13 @@ void PPPMDispDielectric::compute(int eflag, int vflag) u_brick_a4,v0_brick_a4,v1_brick_a4,v2_brick_a4, v3_brick_a4,v4_brick_a4,v5_brick_a4); - gc6->forward_comm(GridComm::KSPACE,this,21,sizeof(FFT_SCALAR), + gc6->forward_comm(Grid3d::KSPACE,this,21,sizeof(FFT_SCALAR), FORWARD_IK_ARITH,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); fieldforce_a_ik(); if (evflag_atom) - gc6->forward_comm(GridComm::KSPACE,this,49,sizeof(FFT_SCALAR), + gc6->forward_comm(Grid3d::KSPACE,this,49,sizeof(FFT_SCALAR), FORWARD_IK_PERATOM_ARITH, gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } @@ -365,7 +365,7 @@ void PPPMDispDielectric::compute(int eflag, int vflag) make_rho_none(); - gc6->reverse_comm(GridComm::KSPACE,this,nsplit_alloc,sizeof(FFT_SCALAR), + gc6->reverse_comm(Grid3d::KSPACE,this,nsplit_alloc,sizeof(FFT_SCALAR), REVERSE_RHO_NONE,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); brick2fft_none(); @@ -380,13 +380,13 @@ void PPPMDispDielectric::compute(int eflag, int vflag) n += 2; } - gc6->forward_comm(GridComm::KSPACE,this,1*nsplit_alloc,sizeof(FFT_SCALAR), + gc6->forward_comm(Grid3d::KSPACE,this,1*nsplit_alloc,sizeof(FFT_SCALAR), FORWARD_AD_NONE,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); fieldforce_none_ad(); if (vflag_atom) - gc6->forward_comm(GridComm::KSPACE,this,6*nsplit_alloc,sizeof(FFT_SCALAR), + gc6->forward_comm(Grid3d::KSPACE,this,6*nsplit_alloc,sizeof(FFT_SCALAR), FORWARD_AD_PERATOM_NONE, gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); @@ -401,13 +401,13 @@ void PPPMDispDielectric::compute(int eflag, int vflag) n += 2; } - gc6->forward_comm(GridComm::KSPACE,this,3*nsplit_alloc,sizeof(FFT_SCALAR), + gc6->forward_comm(Grid3d::KSPACE,this,3*nsplit_alloc,sizeof(FFT_SCALAR), FORWARD_IK_NONE,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); fieldforce_none_ik(); if (evflag_atom) - gc6->forward_comm(GridComm::KSPACE,this,7*nsplit_alloc,sizeof(FFT_SCALAR), + gc6->forward_comm(Grid3d::KSPACE,this,7*nsplit_alloc,sizeof(FFT_SCALAR), FORWARD_IK_PERATOM_NONE, gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } From e2f2663df26a6a3518d9ba73fd87dff9b6e3a810 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 17 Aug 2022 10:08:34 -0600 Subject: [PATCH 032/142] more changes from GridComm to Grid3d in packages --- src/ELECTRODE/pppm_electrode.cpp | 24 ++++++++--------- src/GPU/pppm_gpu.cpp | 18 ++++++------- src/INTEL/pppm_disp_intel.cpp | 42 +++++++++++++++--------------- src/INTEL/pppm_electrode_intel.cpp | 18 ++++++------- src/INTEL/pppm_intel.cpp | 12 ++++----- src/OPENMP/msm_cg_omp.cpp | 22 ++++++++-------- 6 files changed, 68 insertions(+), 68 deletions(-) diff --git a/src/ELECTRODE/pppm_electrode.cpp b/src/ELECTRODE/pppm_electrode.cpp index a8d2d6f3df..0929533748 100644 --- a/src/ELECTRODE/pppm_electrode.cpp +++ b/src/ELECTRODE/pppm_electrode.cpp @@ -26,7 +26,7 @@ #include "error.h" #include "fft3d_wrap.h" #include "force.h" -#include "gridcomm.h" +#include "grid3d.h" #include "math_const.h" #include "math_special.h" #include "memory.h" @@ -200,7 +200,7 @@ void PPPMElectrode::init() // or overlap is allowed, then done // else reduce order and try again - GridComm *gctmp = nullptr; + Grid3d *gctmp = nullptr; int iteration = 0; while (order >= minorder) { @@ -215,8 +215,8 @@ void PPPMElectrode::init() if (overlap_allowed) break; gctmp = - new GridComm(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); + 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); int tmp1, tmp2; gctmp->setup(tmp1, tmp2); @@ -445,7 +445,7 @@ void PPPMElectrode::compute(int eflag, int vflag) // TODO: this is dangerous now that compute_vector's interface has been // changed since a compute could call an arbitrary source, needs tightening make_rho_in_brick(last_source_grpbit, density_brick, !last_invert_source); - gc->reverse_comm(GridComm::KSPACE, this, 1, sizeof(FFT_SCALAR), REVERSE_RHO, gc_buf1, gc_buf2, + gc->reverse_comm(Grid3d::KSPACE, this, 1, sizeof(FFT_SCALAR), REVERSE_RHO, gc_buf1, gc_buf2, MPI_FFT_SCALAR); for (int nz = nzlo_out; nz <= nzhi_out; nz++) for (int ny = nylo_out; ny <= nyhi_out; ny++) @@ -459,7 +459,7 @@ void PPPMElectrode::compute(int eflag, int vflag) // to fully sum contribution in their 3d bricks // remap from 3d decomposition to FFT decomposition - gc->reverse_comm(GridComm::KSPACE, this, 1, sizeof(FFT_SCALAR), REVERSE_RHO, gc_buf1, gc_buf2, + gc->reverse_comm(Grid3d::KSPACE, this, 1, sizeof(FFT_SCALAR), REVERSE_RHO, gc_buf1, gc_buf2, MPI_FFT_SCALAR); } @@ -479,20 +479,20 @@ void PPPMElectrode::compute(int eflag, int vflag) // to fill ghost cells surrounding their 3d bricks if (differentiation_flag == 1) - gc->forward_comm(GridComm::KSPACE, this, 1, sizeof(FFT_SCALAR), FORWARD_AD, gc_buf1, gc_buf2, + gc->forward_comm(Grid3d::KSPACE, this, 1, sizeof(FFT_SCALAR), FORWARD_AD, gc_buf1, gc_buf2, MPI_FFT_SCALAR); else - gc->forward_comm(GridComm::KSPACE, this, 3, sizeof(FFT_SCALAR), FORWARD_IK, gc_buf1, gc_buf2, + gc->forward_comm(Grid3d::KSPACE, this, 3, sizeof(FFT_SCALAR), FORWARD_IK, gc_buf1, gc_buf2, MPI_FFT_SCALAR); // extra per-atom energy/virial communication if (evflag_atom) { if (differentiation_flag == 1 && vflag_atom) - gc->forward_comm(GridComm::KSPACE, this, 6, sizeof(FFT_SCALAR), FORWARD_AD_PERATOM, gc_buf1, + gc->forward_comm(Grid3d::KSPACE, this, 6, sizeof(FFT_SCALAR), FORWARD_AD_PERATOM, gc_buf1, gc_buf2, MPI_FFT_SCALAR); else if (differentiation_flag == 0) - gc->forward_comm(GridComm::KSPACE, this, 7, sizeof(FFT_SCALAR), FORWARD_IK_PERATOM, gc_buf1, + gc->forward_comm(Grid3d::KSPACE, this, 7, sizeof(FFT_SCALAR), FORWARD_IK_PERATOM, gc_buf1, gc_buf2, MPI_FFT_SCALAR); } @@ -590,7 +590,7 @@ void PPPMElectrode::compute_vector(double *vec, int sensor_grpbit, int source_gr make_rho_in_brick(source_grpbit, electrolyte_density_brick, invert_source); density_brick = electrolyte_density_brick; density_fft = electrolyte_density_fft; - gc->reverse_comm(GridComm::KSPACE, this, 1, sizeof(FFT_SCALAR), REVERSE_RHO, gc_buf1, gc_buf2, + gc->reverse_comm(Grid3d::KSPACE, this, 1, sizeof(FFT_SCALAR), REVERSE_RHO, gc_buf1, gc_buf2, MPI_FFT_SCALAR); brick2fft(); // switch back pointers @@ -618,7 +618,7 @@ void PPPMElectrode::compute_vector(double *vec, int sensor_grpbit, int source_gr u_brick[k][j][i] = work2[n]; n += 2; } - gc->forward_comm(GridComm::KSPACE, this, 1, sizeof(FFT_SCALAR), FORWARD_AD, gc_buf1, gc_buf2, + gc->forward_comm(Grid3d::KSPACE, this, 1, sizeof(FFT_SCALAR), FORWARD_AD, gc_buf1, gc_buf2, MPI_FFT_SCALAR); project_psi(vec, sensor_grpbit); compute_vector_called = true; diff --git a/src/GPU/pppm_gpu.cpp b/src/GPU/pppm_gpu.cpp index d0fd3e66ea..9baf85b21d 100644 --- a/src/GPU/pppm_gpu.cpp +++ b/src/GPU/pppm_gpu.cpp @@ -25,7 +25,7 @@ #include "fix.h" #include "force.h" #include "gpu_extra.h" -#include "gridcomm.h" +#include "grid3d.h" #include "math_const.h" #include "memory.h" #include "modify.h" @@ -252,11 +252,11 @@ void PPPMGPU::compute(int eflag, int vflag) // remap from 3d decomposition to FFT decomposition if (triclinic == 0) { - gc->reverse_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR), + gc->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), REVERSE_RHO_GPU,gc_buf1,gc_buf2,MPI_FFT_SCALAR); brick2fft_gpu(); } else { - gc->reverse_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR), + gc->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), REVERSE_RHO,gc_buf1,gc_buf2,MPI_FFT_SCALAR); PPPM::brick2fft(); } @@ -271,20 +271,20 @@ void PPPMGPU::compute(int eflag, int vflag) // to fill ghost cells surrounding their 3d bricks if (differentiation_flag == 1) - gc->forward_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR), + gc->forward_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), FORWARD_AD,gc_buf1,gc_buf2,MPI_FFT_SCALAR); else - gc->forward_comm(GridComm::KSPACE,this,3,sizeof(FFT_SCALAR), + gc->forward_comm(Grid3d::KSPACE,this,3,sizeof(FFT_SCALAR), FORWARD_IK,gc_buf1,gc_buf2,MPI_FFT_SCALAR); // extra per-atom energy/virial communication if (evflag_atom) { if (differentiation_flag == 1 && vflag_atom) - gc->forward_comm(GridComm::KSPACE,this,6,sizeof(FFT_SCALAR), + gc->forward_comm(Grid3d::KSPACE,this,6,sizeof(FFT_SCALAR), FORWARD_AD_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); else if (differentiation_flag == 0) - gc->forward_comm(GridComm::KSPACE,this,7,sizeof(FFT_SCALAR), + gc->forward_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR), FORWARD_IK_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); } @@ -828,7 +828,7 @@ void PPPMGPU::compute_group_group(int groupbit_A, int groupbit_B, int AA_flag) density_brick = density_A_brick; density_fft = density_A_fft; - gc->reverse_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR), + gc->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), REVERSE_RHO,gc_buf1,gc_buf2,MPI_FFT_SCALAR); brick2fft(); @@ -837,7 +837,7 @@ void PPPMGPU::compute_group_group(int groupbit_A, int groupbit_B, int AA_flag) density_brick = density_B_brick; density_fft = density_B_fft; - gc->reverse_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR), + gc->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), REVERSE_RHO,gc_buf1,gc_buf2,MPI_FFT_SCALAR); brick2fft(); diff --git a/src/INTEL/pppm_disp_intel.cpp b/src/INTEL/pppm_disp_intel.cpp index 7921dd157e..eecfbb3b35 100644 --- a/src/INTEL/pppm_disp_intel.cpp +++ b/src/INTEL/pppm_disp_intel.cpp @@ -23,7 +23,7 @@ #include "domain.h" #include "error.h" #include "force.h" -#include "gridcomm.h" +#include "grid3d.h" #include "math_const.h" #include "math_special.h" #include "memory.h" @@ -292,7 +292,7 @@ void PPPMDispIntel::compute(int eflag, int vflag) make_rho_c(fix->get_single_buffers()); } - gc->reverse_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR),REVERSE_RHO, + gc->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR),REVERSE_RHO, gc_buf1,gc_buf2,MPI_FFT_SCALAR); brick2fft(nxlo_in, nylo_in, nzlo_in, nxhi_in, nyhi_in, nzhi_in, @@ -306,7 +306,7 @@ void PPPMDispIntel::compute(int eflag, int vflag) energy_1, greensfn, virial_1, vg,vg2, u_brick, v0_brick, v1_brick, v2_brick, v3_brick, v4_brick, v5_brick); - gc->forward_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR),FORWARD_AD, + gc->forward_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR),FORWARD_AD, gc_buf1,gc_buf2,MPI_FFT_SCALAR); if (fix->precision() == FixIntel::PREC_MODE_MIXED) { @@ -318,7 +318,7 @@ void PPPMDispIntel::compute(int eflag, int vflag) } if (vflag_atom) - gc->forward_comm(GridComm::KSPACE,this,6,sizeof(FFT_SCALAR), + gc->forward_comm(Grid3d::KSPACE,this,6,sizeof(FFT_SCALAR), FORWARD_AD_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); } else { @@ -331,7 +331,7 @@ void PPPMDispIntel::compute(int eflag, int vflag) u_brick, v0_brick, v1_brick, v2_brick, v3_brick, v4_brick, v5_brick); - gc->forward_comm(GridComm::KSPACE,this,3,sizeof(FFT_SCALAR),FORWARD_IK, + gc->forward_comm(Grid3d::KSPACE,this,3,sizeof(FFT_SCALAR),FORWARD_IK, gc_buf1,gc_buf2,MPI_FFT_SCALAR); if (fix->precision() == FixIntel::PREC_MODE_MIXED) { @@ -343,7 +343,7 @@ void PPPMDispIntel::compute(int eflag, int vflag) } if (evflag_atom) - gc->forward_comm(GridComm::KSPACE,this,7,sizeof(FFT_SCALAR), + gc->forward_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR), FORWARD_IK_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); } if (evflag_atom) fieldforce_c_peratom(); @@ -376,7 +376,7 @@ void PPPMDispIntel::compute(int eflag, int vflag) make_rho_g(fix->get_single_buffers()); } - gc6->reverse_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR),REVERSE_RHO_G, + gc6->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR),REVERSE_RHO_G, gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); brick2fft(nxlo_in_6, nylo_in_6, nzlo_in_6, nxhi_in_6, nyhi_in_6, nzhi_in_6, @@ -391,7 +391,7 @@ void PPPMDispIntel::compute(int eflag, int vflag) virial_6, vg_6, vg2_6, u_brick_g, v0_brick_g, v1_brick_g, v2_brick_g, v3_brick_g, v4_brick_g, v5_brick_g); - gc6->forward_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR),FORWARD_AD_G, + gc6->forward_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR),FORWARD_AD_G, gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); if (fix->precision() == FixIntel::PREC_MODE_MIXED) { @@ -403,7 +403,7 @@ void PPPMDispIntel::compute(int eflag, int vflag) } if (vflag_atom) - gc6->forward_comm(GridComm::KSPACE,this,7,sizeof(FFT_SCALAR), + gc6->forward_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR), FORWARD_AD_PERATOM_G,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } else { @@ -416,7 +416,7 @@ void PPPMDispIntel::compute(int eflag, int vflag) vdz_brick_g, virial_6, vg_6, vg2_6, u_brick_g, v0_brick_g, v1_brick_g, v2_brick_g, v3_brick_g, v4_brick_g, v5_brick_g); - gc6->forward_comm(GridComm::KSPACE,this,3,sizeof(FFT_SCALAR),FORWARD_IK_G, + gc6->forward_comm(Grid3d::KSPACE,this,3,sizeof(FFT_SCALAR),FORWARD_IK_G, gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); if (fix->precision() == FixIntel::PREC_MODE_MIXED) { @@ -428,7 +428,7 @@ void PPPMDispIntel::compute(int eflag, int vflag) } if (evflag_atom) - gc6->forward_comm(GridComm::KSPACE,this,6,sizeof(FFT_SCALAR), + gc6->forward_comm(Grid3d::KSPACE,this,6,sizeof(FFT_SCALAR), FORWARD_IK_PERATOM_G,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } @@ -461,7 +461,7 @@ void PPPMDispIntel::compute(int eflag, int vflag) make_rho_a(fix->get_single_buffers()); } - gc->reverse_comm(GridComm::KSPACE,this,7,sizeof(FFT_SCALAR),REVERSE_RHO_A, + gc->reverse_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR),REVERSE_RHO_A, gc_buf1,gc_buf2,MPI_FFT_SCALAR); brick2fft_a(); @@ -487,7 +487,7 @@ void PPPMDispIntel::compute(int eflag, int vflag) v5_brick_a2, u_brick_a4, v0_brick_a4, v1_brick_a4, v2_brick_a4, v3_brick_a4, v4_brick_a4, v5_brick_a4); - gc6->forward_comm(GridComm::KSPACE,this,7,sizeof(FFT_SCALAR),FORWARD_AD_A, + gc6->forward_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR),FORWARD_AD_A, gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); if (fix->precision() == FixIntel::PREC_MODE_MIXED) { @@ -499,7 +499,7 @@ void PPPMDispIntel::compute(int eflag, int vflag) } if (evflag_atom) - gc6->forward_comm(GridComm::KSPACE,this,42,sizeof(FFT_SCALAR), + gc6->forward_comm(Grid3d::KSPACE,this,42,sizeof(FFT_SCALAR), FORWARD_AD_PERATOM_A,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } else { @@ -530,7 +530,7 @@ void PPPMDispIntel::compute(int eflag, int vflag) u_brick_a4, v0_brick_a4, v1_brick_a4, v2_brick_a4, v3_brick_a4, v4_brick_a4, v5_brick_a4); - gc6->forward_comm(GridComm::KSPACE,this,18,sizeof(FFT_SCALAR),FORWARD_IK_A, + gc6->forward_comm(Grid3d::KSPACE,this,18,sizeof(FFT_SCALAR),FORWARD_IK_A, gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); if (fix->precision() == FixIntel::PREC_MODE_MIXED) { @@ -542,7 +542,7 @@ void PPPMDispIntel::compute(int eflag, int vflag) } if (evflag_atom) - gc6->forward_comm(GridComm::KSPACE,this,49,sizeof(FFT_SCALAR), + gc6->forward_comm(Grid3d::KSPACE,this,49,sizeof(FFT_SCALAR), FORWARD_IK_PERATOM_A,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } @@ -576,7 +576,7 @@ void PPPMDispIntel::compute(int eflag, int vflag) make_rho_none(fix->get_single_buffers()); } - gc->reverse_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR),REVERSE_RHO_NONE, + gc->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR),REVERSE_RHO_NONE, gc_buf1,gc_buf2,MPI_FFT_SCALAR); brick2fft_none(); @@ -592,7 +592,7 @@ void PPPMDispIntel::compute(int eflag, int vflag) n += 2; } - gc6->forward_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR), + gc6->forward_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), FORWARD_AD_NONE,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); if (fix->precision() == FixIntel::PREC_MODE_MIXED) { @@ -604,7 +604,7 @@ void PPPMDispIntel::compute(int eflag, int vflag) } if (vflag_atom) - gc6->forward_comm(GridComm::KSPACE,this,6,sizeof(FFT_SCALAR), + gc6->forward_comm(Grid3d::KSPACE,this,6,sizeof(FFT_SCALAR), FORWARD_AD_PERATOM_NONE, gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); @@ -622,7 +622,7 @@ void PPPMDispIntel::compute(int eflag, int vflag) n += 2; } - gc6->forward_comm(GridComm::KSPACE,this,3,sizeof(FFT_SCALAR), + gc6->forward_comm(Grid3d::KSPACE,this,3,sizeof(FFT_SCALAR), FORWARD_IK_NONE, gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); @@ -635,7 +635,7 @@ void PPPMDispIntel::compute(int eflag, int vflag) } if (evflag_atom) - gc6->forward_comm(GridComm::KSPACE,this,7,sizeof(FFT_SCALAR), + gc6->forward_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR), FORWARD_IK_PERATOM_NONE, gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } diff --git a/src/INTEL/pppm_electrode_intel.cpp b/src/INTEL/pppm_electrode_intel.cpp index cff6ff6b9a..abd5c9a761 100644 --- a/src/INTEL/pppm_electrode_intel.cpp +++ b/src/INTEL/pppm_electrode_intel.cpp @@ -28,7 +28,7 @@ #include "error.h" #include "fft3d_wrap.h" #include "force.h" -#include "gridcomm.h" +#include "grid3d.h" #include "math_const.h" #include "math_special.h" #include "memory.h" @@ -210,7 +210,7 @@ void PPPMElectrodeIntel::compute(int eflag, int vflag) make_rho_in_brick(fix->get_single_buffers(), last_source_grpbit, density_brick, !last_invert_source); } - gc->reverse_comm(GridComm::KSPACE, this, 1, sizeof(FFT_SCALAR), REVERSE_RHO, gc_buf1, gc_buf2, + gc->reverse_comm(Grid3d::KSPACE, this, 1, sizeof(FFT_SCALAR), REVERSE_RHO, gc_buf1, gc_buf2, MPI_FFT_SCALAR); for (int nz = nzlo_out; nz <= nzhi_out; nz++) for (int ny = nylo_out; ny <= nyhi_out; ny++) @@ -232,7 +232,7 @@ void PPPMElectrodeIntel::compute(int eflag, int vflag) // to fully sum contribution in their 3d bricks // remap from 3d decomposition to FFT decomposition - gc->reverse_comm(GridComm::KSPACE, this, 1, sizeof(FFT_SCALAR), REVERSE_RHO, gc_buf1, gc_buf2, + gc->reverse_comm(Grid3d::KSPACE, this, 1, sizeof(FFT_SCALAR), REVERSE_RHO, gc_buf1, gc_buf2, MPI_FFT_SCALAR); } @@ -252,20 +252,20 @@ void PPPMElectrodeIntel::compute(int eflag, int vflag) // to fill ghost cells surrounding their 3d bricks if (differentiation_flag == 1) - gc->forward_comm(GridComm::KSPACE, this, 1, sizeof(FFT_SCALAR), FORWARD_AD, gc_buf1, gc_buf2, + gc->forward_comm(Grid3d::KSPACE, this, 1, sizeof(FFT_SCALAR), FORWARD_AD, gc_buf1, gc_buf2, MPI_FFT_SCALAR); else - gc->forward_comm(GridComm::KSPACE, this, 3, sizeof(FFT_SCALAR), FORWARD_IK, gc_buf1, gc_buf2, + gc->forward_comm(Grid3d::KSPACE, this, 3, sizeof(FFT_SCALAR), FORWARD_IK, gc_buf1, gc_buf2, MPI_FFT_SCALAR); // extra per-atom energy/virial communication if (evflag_atom) { if (differentiation_flag == 1 && vflag_atom) - gc->forward_comm(GridComm::KSPACE, this, 6, sizeof(FFT_SCALAR), FORWARD_AD_PERATOM, gc_buf1, + gc->forward_comm(Grid3d::KSPACE, this, 6, sizeof(FFT_SCALAR), FORWARD_AD_PERATOM, gc_buf1, gc_buf2, MPI_FFT_SCALAR); else if (differentiation_flag == 0) - gc->forward_comm(GridComm::KSPACE, this, 7, sizeof(FFT_SCALAR), FORWARD_IK_PERATOM, gc_buf1, + gc->forward_comm(Grid3d::KSPACE, this, 7, sizeof(FFT_SCALAR), FORWARD_IK_PERATOM, gc_buf1, gc_buf2, MPI_FFT_SCALAR); } int tempslabflag = slabflag; @@ -340,7 +340,7 @@ void PPPMElectrodeIntel::compute_vector(double *vec, int sensor_grpbit, int sour } density_brick = electrolyte_density_brick; density_fft = electrolyte_density_fft; - gc->reverse_comm(GridComm::KSPACE, this, 1, sizeof(FFT_SCALAR), REVERSE_RHO, gc_buf1, gc_buf2, + gc->reverse_comm(Grid3d::KSPACE, this, 1, sizeof(FFT_SCALAR), REVERSE_RHO, gc_buf1, gc_buf2, MPI_FFT_SCALAR); brick2fft(); // switch back pointers @@ -370,7 +370,7 @@ void PPPMElectrodeIntel::compute_vector(double *vec, int sensor_grpbit, int sour n += 2; } - gc->forward_comm(GridComm::KSPACE, this, 1, sizeof(FFT_SCALAR), FORWARD_AD, gc_buf1, gc_buf2, + gc->forward_comm(Grid3d::KSPACE, this, 1, sizeof(FFT_SCALAR), FORWARD_AD, gc_buf1, gc_buf2, MPI_FFT_SCALAR); switch (fix->precision()) { diff --git a/src/INTEL/pppm_intel.cpp b/src/INTEL/pppm_intel.cpp index 72c5791f75..af98958594 100644 --- a/src/INTEL/pppm_intel.cpp +++ b/src/INTEL/pppm_intel.cpp @@ -26,7 +26,7 @@ #include "domain.h" #include "error.h" #include "force.h" -#include "gridcomm.h" +#include "grid3d.h" #include "math_const.h" #include "math_special.h" #include "memory.h" @@ -227,7 +227,7 @@ void PPPMIntel::compute_first(int eflag, int vflag) // to fully sum contribution in their 3d bricks // remap from 3d decomposition to FFT decomposition - gc->reverse_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR),REVERSE_RHO, + gc->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR),REVERSE_RHO, gc_buf1,gc_buf2,MPI_FFT_SCALAR); brick2fft(); @@ -243,20 +243,20 @@ void PPPMIntel::compute_first(int eflag, int vflag) // to fill ghost cells surrounding their 3d bricks if (differentiation_flag == 1) - gc->forward_comm(GridComm::KSPACE,this,1,sizeof(FFT_SCALAR),FORWARD_AD, + gc->forward_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR),FORWARD_AD, gc_buf1,gc_buf2,MPI_FFT_SCALAR); else - gc->forward_comm(GridComm::KSPACE,this,3,sizeof(FFT_SCALAR),FORWARD_IK, + gc->forward_comm(Grid3d::KSPACE,this,3,sizeof(FFT_SCALAR),FORWARD_IK, gc_buf1,gc_buf2,MPI_FFT_SCALAR); // extra per-atom energy/virial communication if (evflag_atom) { if (differentiation_flag == 1 && vflag_atom) - gc->forward_comm(GridComm::KSPACE,this,6,sizeof(FFT_SCALAR), + gc->forward_comm(Grid3d::KSPACE,this,6,sizeof(FFT_SCALAR), FORWARD_AD_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); else if (differentiation_flag == 0) - gc->forward_comm(GridComm::KSPACE,this,7,sizeof(FFT_SCALAR), + gc->forward_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR), FORWARD_IK_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); } } diff --git a/src/OPENMP/msm_cg_omp.cpp b/src/OPENMP/msm_cg_omp.cpp index c45e75f9a5..688b726e21 100644 --- a/src/OPENMP/msm_cg_omp.cpp +++ b/src/OPENMP/msm_cg_omp.cpp @@ -23,7 +23,7 @@ #include "domain.h" #include "error.h" #include "force.h" -#include "gridcomm.h" +#include "grid3d.h" #include "memory.h" #include "neighbor.h" #include "thr_omp.h" @@ -166,7 +166,7 @@ void MSMCGOMP::compute(int eflag, int vflag) // to fully sum contribution in their 3d grid current_level = 0; - gcall->reverse_comm(GridComm::KSPACE,this,1,sizeof(double),REVERSE_RHO, + gcall->reverse_comm(Grid3d::KSPACE,this,1,sizeof(double),REVERSE_RHO, gcall_buf1,gcall_buf2,MPI_DOUBLE); // forward communicate charge density values to fill ghost grid points @@ -175,7 +175,7 @@ void MSMCGOMP::compute(int eflag, int vflag) for (int n=0; n<=levels-2; n++) { if (!active_flag[n]) continue; current_level = n; - gc[n]->forward_comm(GridComm::KSPACE,this,1,sizeof(double),FORWARD_RHO, + gc[n]->forward_comm(Grid3d::KSPACE,this,1,sizeof(double),FORWARD_RHO, gc_buf1[n],gc_buf2[n],MPI_DOUBLE); direct(n); restriction(n); @@ -188,15 +188,15 @@ void MSMCGOMP::compute(int eflag, int vflag) if (domain->nonperiodic) { current_level = levels-1; gc[levels-1]-> - forward_comm(GridComm::KSPACE,this,1,sizeof(double),FORWARD_RHO, + forward_comm(Grid3d::KSPACE,this,1,sizeof(double),FORWARD_RHO, gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); direct_top(levels-1); gc[levels-1]-> - reverse_comm(GridComm::KSPACE,this,1,sizeof(double),REVERSE_AD, + reverse_comm(Grid3d::KSPACE,this,1,sizeof(double),REVERSE_AD, gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); if (vflag_atom) gc[levels-1]-> - reverse_comm(GridComm::KSPACE,this,6,sizeof(double),REVERSE_AD_PERATOM, + reverse_comm(Grid3d::KSPACE,this,6,sizeof(double),REVERSE_AD_PERATOM, gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); } else { @@ -207,7 +207,7 @@ void MSMCGOMP::compute(int eflag, int vflag) current_level = levels-1; if (vflag_atom) gc[levels-1]-> - reverse_comm(GridComm::KSPACE,this,6,sizeof(double),REVERSE_AD_PERATOM, + reverse_comm(Grid3d::KSPACE,this,6,sizeof(double),REVERSE_AD_PERATOM, gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); } } @@ -220,13 +220,13 @@ void MSMCGOMP::compute(int eflag, int vflag) prolongation(n); current_level = n; - gc[n]->reverse_comm(GridComm::KSPACE,this,1,sizeof(double),REVERSE_AD, + gc[n]->reverse_comm(Grid3d::KSPACE,this,1,sizeof(double),REVERSE_AD, gc_buf1[n],gc_buf2[n],MPI_DOUBLE); // extra per-atom virial communication if (vflag_atom) - gc[n]->reverse_comm(GridComm::KSPACE,this,6,sizeof(double), + gc[n]->reverse_comm(Grid3d::KSPACE,this,6,sizeof(double), REVERSE_AD_PERATOM,gc_buf1[n],gc_buf2[n],MPI_DOUBLE); } @@ -234,13 +234,13 @@ void MSMCGOMP::compute(int eflag, int vflag) // to fill ghost cells surrounding their 3d bricks current_level = 0; - gcall->forward_comm(GridComm::KSPACE,this,1,sizeof(double),FORWARD_AD, + gcall->forward_comm(Grid3d::KSPACE,this,1,sizeof(double),FORWARD_AD, gcall_buf1,gcall_buf2,MPI_DOUBLE); // extra per-atom energy/virial communication if (vflag_atom) - gcall->forward_comm(GridComm::KSPACE,this,6,sizeof(double),FORWARD_AD_PERATOM, + gcall->forward_comm(Grid3d::KSPACE,this,6,sizeof(double),FORWARD_AD_PERATOM, gcall_buf1,gcall_buf2,MPI_DOUBLE); // calculate the force on my particles (interpolation) From eeb9209af8a33a7c2cea06228603ad2019133071 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 17 Aug 2022 10:55:28 -0600 Subject: [PATCH 033/142] bug fix --- src/fix_ave_grid.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index 72c2b8dcb6..5d0c5d8be6 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -263,7 +263,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : if (normflag != ALL) error->all(FLERR,"Fix ave/grid norm all is required for now"); - if (normflag != ONE) + if (ave != ONE) error->all(FLERR,"Fix ave/grid ave one is required for now"); // error checks for ATOM mode From 22a9bfebe5ff3999e44d3a73f64ce38c146808f2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 17 Aug 2022 13:03:31 -0400 Subject: [PATCH 034/142] reimplement utils::gridid_parse() function and update related code --- doc/src/Developer_utils.rst | 3 + src/compute.h | 4 +- src/compute_property_grid.cpp | 13 ++-- src/compute_property_grid.h | 4 +- src/dump_grid.cpp | 106 +++++++++++------------------ src/dump_grid.h | 42 ++++++------ src/fix.h | 4 +- src/fix_ave_grid.cpp | 122 +++++++++++++--------------------- src/fix_ave_grid.h | 4 +- src/utils.cpp | 27 +++----- src/utils.h | 26 ++++---- unittest/utils/test_utils.cpp | 28 ++++++++ 12 files changed, 174 insertions(+), 209 deletions(-) diff --git a/doc/src/Developer_utils.rst b/doc/src/Developer_utils.rst index e1a5f7741d..622988908a 100644 --- a/doc/src/Developer_utils.rst +++ b/doc/src/Developer_utils.rst @@ -205,6 +205,9 @@ Argument processing .. doxygenfunction:: expand_args :project: progguide +.. doxygenfunction:: gridid_parse + :project: progguide + Convenience functions ^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/compute.h b/src/compute.h index fa48d125f8..d1c6cdb77a 100644 --- a/src/compute.h +++ b/src/compute.h @@ -132,9 +132,9 @@ class Compute : protected Pointers { virtual void reset_grid(){}; - virtual int get_grid_by_name(char *, int &) { return -1; }; + virtual int get_grid_by_name(const std::string &, int &) { return -1; }; virtual void *get_grid_by_index(int) { return nullptr; }; - virtual int get_griddata_by_name(int, char *, int &) { return -1; }; + virtual int get_griddata_by_name(int, const std::string &, int &) { return -1; }; virtual void *get_griddata_by_index(int) { return nullptr; }; virtual void dof_remove_pre() {} diff --git a/src/compute_property_grid.cpp b/src/compute_property_grid.cpp index a028517d71..510c2e134e 100644 --- a/src/compute_property_grid.cpp +++ b/src/compute_property_grid.cpp @@ -32,9 +32,8 @@ enum { UNSCALED, SCALED }; /* ---------------------------------------------------------------------- */ ComputePropertyGrid::ComputePropertyGrid(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), pack_choice(nullptr), - grid2d(nullptr), grid3d(nullptr), - vec2d(nullptr), array2d(nullptr), vec3d(nullptr), array3d(nullptr) + Compute(lmp, narg, arg), grid2d(nullptr), grid3d(nullptr), vec2d(nullptr), vec3d(nullptr), + array2d(nullptr), array3d(nullptr), pack_choice(nullptr) { if (narg < 7) error->all(FLERR, "Illegal compute property/grid command"); @@ -164,9 +163,9 @@ void ComputePropertyGrid::reset_grid() return -1 if grid name not found ------------------------------------------------------------------------- */ -int ComputePropertyGrid::get_grid_by_name(char *name, int &dim) +int ComputePropertyGrid::get_grid_by_name(const std::string &name, int &dim) { - if (strcmp(name,"grid") == 0) { + if (name == "grid") { dim = dimension; return 0; } @@ -200,9 +199,9 @@ void *ComputePropertyGrid::get_grid_by_index(int index) return -1 if data name not found ------------------------------------------------------------------------- */ -int ComputePropertyGrid::get_griddata_by_name(int igrid, char *name, int &ncol) +int ComputePropertyGrid::get_griddata_by_name(int igrid, const std::string &name, int &ncol) { - if (igrid == 0 && strcmp(name,"data") == 0) { + if ((igrid == 0) && (name == "data")) { if (nvalues == 1) ncol = 0; else ncol = nvalues; return 0; diff --git a/src/compute_property_grid.h b/src/compute_property_grid.h index 929346ad7a..9083293636 100644 --- a/src/compute_property_grid.h +++ b/src/compute_property_grid.h @@ -33,9 +33,9 @@ class ComputePropertyGrid : public Compute { void reset_grid() override; - int get_grid_by_name(char *, int &) override; + int get_grid_by_name(const std::string &, int &) override; void *get_grid_by_index(int) override; - int get_griddata_by_name(int, char *, int &) override; + int get_griddata_by_name(int, const std::string &, int &) override; void *get_griddata_by_index(int) override; double memory_usage() override; diff --git a/src/dump_grid.cpp b/src/dump_grid.cpp index e0fbb95990..de61e281ab 100644 --- a/src/dump_grid.cpp +++ b/src/dump_grid.cpp @@ -44,8 +44,7 @@ DumpGrid::DumpGrid(LAMMPS *lmp, int narg, char **arg) : Dump(lmp, narg, arg), idregion(nullptr), earg(nullptr), vtype(nullptr), vformat(nullptr), columns(nullptr), columns_default(nullptr), field2index(nullptr), field2grid(nullptr), field2data(nullptr), - argindex(nullptr), id_compute(nullptr), compute(nullptr), - id_fix(nullptr), fix(nullptr), pack_choice(nullptr) + argindex(nullptr), id_compute(nullptr), id_fix(nullptr), pack_choice(nullptr) { if (narg == 5) error->all(FLERR,"No dump grid arguments specified"); @@ -160,11 +159,9 @@ DumpGrid::~DumpGrid() for (int i = 0; i < ncompute; i++) delete[] id_compute[i]; memory->sfree(id_compute); - delete[] compute; for (int i = 0; i < nfix; i++) delete[] id_fix[i]; memory->sfree(id_fix); - delete[] fix; if (vformat) { for (int i = 0; i < nfield; i++) delete[] vformat[i]; @@ -668,12 +665,9 @@ int DumpGrid::parse_fields(int narg, char **arg) for (int iarg = 0; iarg < narg; iarg++) { - int n,flag,cols; ArgInfo argi(arg[iarg], ArgInfo::COMPUTE | ArgInfo::FIX); argindex[iarg] = argi.get_index1(); auto name = argi.get_name(); - Compute *icompute = nullptr; - Fix *ifix = nullptr; switch (argi.get_type()) { @@ -691,50 +685,38 @@ int DumpGrid::parse_fields(int narg, char **arg) field2source[iarg] = COMPUTE; // split name = idcompute:gname:dname into 3 strings + + auto words = utils::gridid_parse(FLERR,name,error); + const auto &idcompute = words[0]; + const auto &gname = words[1]; + const auto &dname = words[2]; - char *idcompute,*gname,*dname; - utils::grid_parse(FLERR,name,idcompute,gname,dname,error); - - icompute = modify->get_compute_by_id(idcompute); - if (!icompute) - error->all(FLERR,"Could not find dump grid compute ID: {}",idcompute); + auto icompute = modify->get_compute_by_id(idcompute); + if (!icompute) error->all(FLERR,"Could not find dump grid compute ID: {}",idcompute); if (icompute->pergrid_flag == 0) - error->all(FLERR,"Dump grid compute {} does not compute per-grid info", - idcompute); + error->all(FLERR,"Dump grid compute {} does not compute per-grid info",idcompute); int dim; int igrid = icompute->get_grid_by_name(gname,dim); if (igrid < 0) - error->all(FLERR,"Dump grid compute {} does not recognize grid name {}", - idcompute,gname); + error->all(FLERR,"Dump grid compute {} does not recognize grid name {}",idcompute,gname); int ncol; int idata = icompute->get_griddata_by_name(igrid,dname,ncol); if (idata < 0) - error->all(FLERR, - "Dump grid compute {} does not recognize data name {}", - idcompute,dname); + error->all(FLERR,"Dump grid compute {} does not recognize data name {}",idcompute,dname); if (argi.get_dim() == 0 && ncol) - error->all(FLERR,"Dump grid compute {} data {} is not per-grid vector", - idcompute,dname); + error->all(FLERR,"Dump grid compute {} data {} is not per-grid vector",idcompute,dname); if (argi.get_dim() && ncol == 0) - error->all(FLERR,"Dump grid compute {} data {} is not per-grid array", - idcompute,dname); + error->all(FLERR,"Dump grid compute {} data {} is not per-grid array",idcompute,dname); if (argi.get_dim() && argi.get_index1() > ncol) - error->all(FLERR, - "Dump grid compute {} array {} is accessed out-of-range", - idcompute,dname); + error->all(FLERR,"Dump grid compute {} array {} is accessed out-of-range",idcompute,dname); - - field2index[iarg] = add_compute(idcompute); + field2index[iarg] = add_compute(idcompute,icompute); field2grid[iarg] = igrid; field2data[iarg] = idata; - delete [] idcompute; - delete [] gname; - delete [] dname; - } break; // fix value = f_ID @@ -748,47 +730,39 @@ int DumpGrid::parse_fields(int narg, char **arg) // split name = idfix:gname:dname into 3 strings - char *idfix,*gname,*dname; - utils::grid_parse(FLERR,name,idfix,gname,dname,error); + auto words = utils::gridid_parse(FLERR,name,error); + const auto &idfix = words[0]; + const auto &gname = words[1]; + const auto &dname = words[2]; - ifix = modify->get_fix_by_id(idfix); + auto ifix = modify->get_fix_by_id(idfix); if (!ifix) error->all(FLERR,"Could not find dump grid fix ID: {}",idfix); if (ifix->pergrid_flag == 0) - error->all(FLERR,"Dump grid fix {} does not compute per-grid info", - idfix); + error->all(FLERR,"Dump grid fix {} does not compute per-grid info",idfix); if (update->ntimestep % ifix->pergrid_freq) - error->all(FLERR,"Fix for dump grid not computed at compatible time"); + error->all(FLERR,"Fix ID {} for dump grid not computed at compatible time",idfix); int dim; int igrid = ifix->get_grid_by_name(gname,dim); if (igrid < 0) - error->all(FLERR,"Dump grid fix {} does not recognize grid name {}", - idfix,gname); + error->all(FLERR,"Dump grid fix {} does not recognize grid name {}",idfix,gname); int ncol; int idata = ifix->get_griddata_by_name(igrid,dname,ncol); if (idata < 0) - error->all(FLERR,"Dump grid fix {} does not recognize data name {}", - idfix,dname); + error->all(FLERR,"Dump grid fix {} does not recognize data name {}",idfix,dname); if (argi.get_dim() == 0 && ncol) - error->all(FLERR,"Dump grid fix {} data {} is not per-grid vector", - idfix,dname); + error->all(FLERR,"Dump grid fix {} data {} is not per-grid vector",idfix,dname); if (argi.get_dim() > 0 && ncol == 0) - error->all(FLERR,"Dump grid fix {} data {} is not per-grid array", - idfix,dname); + error->all(FLERR,"Dump grid fix {} data {} is not per-grid array",idfix,dname); if (argi.get_dim() > 0 && argi.get_index1() > ncol) - error->all(FLERR,"Dump grid fix {} array {} is accessed out-of-range", - idfix,dname); + error->all(FLERR,"Dump grid fix {} array {} is accessed out-of-range",idfix,dname); - field2index[iarg] = add_fix(idfix); + field2index[iarg] = add_fix(idfix,ifix); field2grid[iarg] = igrid; field2data[iarg] = idata; - delete [] idfix; - delete [] gname; - delete [] dname; - } break; // no match @@ -808,19 +782,17 @@ int DumpGrid::parse_fields(int narg, char **arg) if already in list, do not add, just return index, else add to list ------------------------------------------------------------------------- */ -int DumpGrid::add_compute(const char *id) +int DumpGrid::add_compute(const std::string &id, Compute *cptr) { int icompute; for (icompute = 0; icompute < ncompute; icompute++) - if (strcmp(id,id_compute[icompute]) == 0) break; + if (id == id_compute[icompute]) break; if (icompute < ncompute) return icompute; - id_compute = (char **) - memory->srealloc(id_compute,(ncompute+1)*sizeof(char *),"dump:id_compute"); - delete[] compute; - compute = new Compute*[ncompute+1]; - + id_compute = (char **) memory->srealloc(id_compute,(ncompute+1)*sizeof(char *),"dump:id_compute"); id_compute[ncompute] = utils::strdup(id); + compute.push_back(cptr); + ncompute++; return ncompute-1; } @@ -831,19 +803,17 @@ int DumpGrid::add_compute(const char *id) if already in list, do not add, just return index, else add to list ------------------------------------------------------------------------- */ -int DumpGrid::add_fix(const char *id) +int DumpGrid::add_fix(const std::string &id, Fix *fptr) { int ifix; for (ifix = 0; ifix < nfix; ifix++) - if (strcmp(id,id_fix[ifix]) == 0) break; + if (id == id_fix[ifix]) break; if (ifix < nfix) return ifix; - id_fix = (char **) - memory->srealloc(id_fix,(nfix+1)*sizeof(char *),"dump:id_fix"); - delete[] fix; - fix = new Fix*[nfix+1]; - + id_fix = (char **) memory->srealloc(id_fix,(nfix+1)*sizeof(char *),"dump:id_fix"); id_fix[nfix] = utils::strdup(id); + fix.push_back(fptr); + nfix++; return nfix-1; } diff --git a/src/dump_grid.h b/src/dump_grid.h index edf21688b9..ac3d13b3c9 100644 --- a/src/dump_grid.h +++ b/src/dump_grid.h @@ -49,30 +49,30 @@ class DumpGrid : public Dump { int dimension; - int nxgrid,nygrid,nzgrid; // global grid size + int nxgrid, nygrid, nzgrid; // global grid size - int nfield; // # of keywords listed by user - int ioptional; // index of start of optional args + int nfield; // # of keywords listed by user + int ioptional; // index of start of optional args - // per field info - int *field2index; // which compute/fix - int *field2source; // COMPUTE or FIX - int *field2grid; // index of grid within compute/fix - int *field2data; // index of data within compute/fix - int *argindex; // index into compute,fix,custom per-atom data - // 0 for per-atom vector, 1-N for cols of per-atom array + // per field info + int *field2index; // which compute/fix + int *field2source; // COMPUTE or FIX + int *field2grid; // index of grid within compute/fix + int *field2data; // index of data within compute/fix + int *argindex; // index into compute,fix,custom per-atom data + // 0 for per-atom vector, 1-N for cols of per-atom array - int ncompute; // # of Computes accessed by dump - char **id_compute; // their IDs - class Compute **compute; // list of ptrs to the Computes + int ncompute; // # of Computes accessed by dump + char **id_compute; // their IDs + std::vector compute; // list of ptrs to the Computes - int nfix; // # of Fixes used by dump - char **id_fix; // their IDs - class Fix **fix; // list of ptrs to the Fixes + int nfix; // # of Fixes used by dump + char **id_fix; // their IDs + std::vector fix; // list of ptrs to the Fixes - int nxlo_in,nxhi_in; // bounds of this proc's portion of grids - int nylo_in,nyhi_in; - int nzlo_in,nzhi_in; + int nxlo_in, nxhi_in; // bounds of this proc's portion of grids + int nylo_in, nyhi_in; + int nzlo_in, nzhi_in; // private methods @@ -85,8 +85,8 @@ class DumpGrid : public Dump { double memory_usage() override; int parse_fields(int, char **); - int add_compute(const char *); - int add_fix(const char *); + int add_compute(const std::string &, class Compute *); + int add_fix(const std::string &, class Fix *); int modify_param(int, char **) override; void header_format_binary(); diff --git a/src/fix.h b/src/fix.h index 8171f2ee31..7312a52d0e 100644 --- a/src/fix.h +++ b/src/fix.h @@ -220,9 +220,9 @@ class Fix : protected Pointers { virtual void pack_gather_grid(int, void *){}; virtual void unpack_gather_grid(int, void *, void *, int, int, int, int, int, int){}; - virtual int get_grid_by_name(char *, int &) { return -1; }; + virtual int get_grid_by_name(const std::string &, int &) { return -1; }; virtual void *get_grid_by_index(int) { return nullptr; }; - virtual int get_griddata_by_name(int, char *, int &) { return -1; }; + virtual int get_griddata_by_name(int, const std::string &, int &) { return -1; }; virtual void *get_griddata_by_index(int) { return nullptr; }; virtual double compute_scalar() { return 0.0; } diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index 72c2b8dcb6..6d04a766e1 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -53,7 +53,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : value2index(nullptr), value2grid(nullptr), value2data(nullptr), grid2d(nullptr), grid3d(nullptr), grid_buf1(nullptr), grid_buf2(nullptr), - vec2d(nullptr), array2d(nullptr), vec3d(nullptr), array3d(nullptr), + vec2d(nullptr), vec3d(nullptr), array2d(nullptr), array3d(nullptr), count2d(nullptr), count3d(nullptr) { if (narg < 10) error->all(FLERR,"Illegal fix ave/grid command"); @@ -232,7 +232,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : // if wildcard expansion occurred, free earg memory from exapnd_args() if (expand) { - for (int i = 0; i < nvalues; i++) delete [] earg[i]; + for (int i = 0; i < nvalues; i++) delete[] earg[i]; memory->sfree(earg); } @@ -322,106 +322,78 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : for (int i = 0; i < nvalues; i++) { if (which[i] == ArgInfo::COMPUTE) { - char *idcompute,*gname,*dname; - utils::grid_parse(FLERR,ids[i],idcompute,gname,dname,error); - delete [] ids[i]; - ids[i] = new char[strlen(idcompute)+1]; - strcpy(ids[i],idcompute); + auto words = utils::gridid_parse(FLERR,ids[i],error); + const auto &idcompute = words[0]; + const auto &gname = words[1]; + const auto &dname = words[2]; - Compute *icompute = modify->get_compute_by_id(idcompute); - if (!icompute) - error->all(FLERR,"Could not find fix ave/grid compute ID: {}", - idcompute); + delete[] ids[i]; + ids[i] = utils::strdup(idcompute); + + auto icompute = modify->get_compute_by_id(idcompute); + if (!icompute) error->all(FLERR,"Could not find fix ave/grid compute ID: {}",idcompute); if (icompute->pergrid_flag == 0) - error->all(FLERR, - "Fix ave/grid compute {} does not compute per-grid info", - idcompute); + error->all(FLERR,"Fix ave/grid compute {} does not compute per-grid info",idcompute); int dim; int igrid = icompute->get_grid_by_name(gname,dim); if (igrid < 0) - error->all(FLERR, - "Fix ave/grid compute {} does not recognize grid name {}", + error->all(FLERR,"Fix ave/grid compute {} does not recognize grid name {}", idcompute,gname); int ncol; int idata = icompute->get_griddata_by_name(igrid,dname,ncol); if (idata < 0) - error->all(FLERR, - "Fix ave/grid compute {} does not recognize data name {}", + error->all(FLERR,"Fix ave/grid compute {} does not recognize data name {}", idcompute,dname); if (argindex[i] == 0 && ncol) - error->all(FLERR, - "Fix ave/grid compute {} data {} is not per-grid vector", - idcompute,dname); + error->all(FLERR,"Fix ave/grid compute {} data {} is not per-grid vector",idcompute,dname); if (argindex[i] && ncol == 0) - error->all(FLERR, - "Fix ave/grid compute {} data {} is not per-grid array", - idcompute,dname); + error->all(FLERR,"Fix ave/grid compute {} data {} is not per-grid array",idcompute,dname); if (argindex[i] && argindex[i] > ncol) - error->all(FLERR, - "Fix ave/grid compute {} array {} is accessed out-of-range", + error->all(FLERR,"Fix ave/grid compute {} array {} is accessed out-of-range", idcompute,dname); value2grid[i] = igrid; value2data[i] = idata; - delete [] idcompute; - delete [] gname; - delete [] dname; - } else if (which[i] == ArgInfo::FIX) { - char *idfix,*gname,*dname; - utils::grid_parse(FLERR,ids[i],idfix,gname,dname,error); - delete [] ids[i]; - ids[i] = new char[strlen(idfix)+1]; - strcpy(ids[i],idfix); + auto words = utils::gridid_parse(FLERR,ids[i],error); + const auto &idfix = words[0]; + const auto &gname = words[1]; + const auto &dname = words[2]; + + delete[] ids[i]; + ids[i] = utils::strdup(idfix); Fix *ifix = modify->get_fix_by_id(idfix); - if (!ifix) error->all(FLERR,"Could not find fix ave/grid fix ID: {}", - idfix); + if (!ifix) error->all(FLERR,"Could not find fix ave/grid fix ID: {}",idfix); if (ifix->pergrid_flag == 0) - error->all(FLERR,"Fix ave/grid fix {} does not compute per-grid info", - idfix); + error->all(FLERR,"Fix ave/grid fix {} does not compute per-grid info",idfix); if (nevery % ifix->pergrid_freq) - error->all(FLERR, - "Fix for fix grid/atom not computed at compatible time"); + error->all(FLERR, "Fix ID {} for fix grid/atom not computed at compatible time",idfix); int dim; int igrid = ifix->get_grid_by_name(gname,dim); if (igrid < 0) - error->all(FLERR, - "Fix ave/grid compute {} does not recognize grid name {}", - idfix,gname); + error->all(FLERR,"Fix ave/grid fix {} does not recognize grid name {}",idfix,gname); int ncol; int idata = ifix->get_griddata_by_name(igrid,dname,ncol); if (idata < 0) - error->all(FLERR, - "Fix ave/grid compute {} does not recognize data name {}", - idfix,dname); + error->all(FLERR,"Fix ave/grid fix {} does not recognize data name {}",idfix,dname); if (argindex[i] == 0 && ncol) - error->all(FLERR, - "Fix ave/grid compute {} data {} is not per-grid vector", - idfix,dname); + error->all(FLERR, "Fix ave/grid fix {} data {} is not per-grid vector",idfix,dname); if (argindex[i] && ncol == 0) - error->all(FLERR, - "Fix ave/grid compute {} data {} is not per-grid array", - idfix,dname); + error->all(FLERR,"Fix ave/grid fix {} data {} is not per-grid array",idfix,dname); if (argindex[i] && argindex[i] > ncol) - error->all(FLERR, - "Fix ave/grid compute {} array {} is accessed out-of-range", - idfix,dname); + error->all(FLERR,"Fix ave/grid fix {} array {} is accessed out-of-range",idfix,dname); value2grid[i] = igrid; value2data[i] = idata; - - delete [] idfix; - delete [] gname; - delete [] dname; } } } @@ -516,13 +488,13 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : FixAveGrid::~FixAveGrid() { - delete [] which; - delete [] argindex; - for (int m = 0; m < nvalues; m++) delete [] ids[m]; - delete [] ids; - delete [] value2index; - delete [] value2grid; - delete [] value2data; + delete[] which; + delete[] argindex; + for (int m = 0; m < nvalues; m++) delete[] ids[m]; + delete[] ids; + delete[] value2index; + delete[] value2grid; + delete[] value2data; delete grid2d; delete grid3d; @@ -715,7 +687,7 @@ void FixAveGrid::end_of_step() double mv2d = force->mv2d; double boltz = force->boltz; - double count,invcount,norm; + double count,norm; double repeat = nrepeat; double invrepeat = 1.0/nrepeat; @@ -751,7 +723,6 @@ void FixAveGrid::end_of_step() for (ix = nxlo_in; ix <= nxhi_in; ix++) { count = count2d[iy][ix]; if (count) { - invcount = 1.0/count; for (m = 0; m <= nvalues; m++) { if (which[m] == ArgInfo::DENSITY_NUMBER) norm = 1.0 / (binvol * repeat); @@ -792,7 +763,6 @@ void FixAveGrid::end_of_step() for (ix = nxlo_in; ix <= nxhi_in; ix++) { count = count3d[iz][iy][ix]; if (count) { - invcount = 1.0/count; for (m = 0; m <= nvalues; m++) { if (which[m] == ArgInfo::DENSITY_NUMBER) norm = 1.0 / (binvol * repeat); @@ -850,7 +820,7 @@ void FixAveGrid::end_of_step() void FixAveGrid::atom2grid() { - int i,j,k,m,n,ix,iy,iz; + int i,j,m,n,ix,iy,iz; // bin[i][dim] = indices of bin each atom is in // not set if group mask does not match @@ -1424,9 +1394,9 @@ void FixAveGrid::reset_grid() return -1 if grid name not found ------------------------------------------------------------------------- */ -int FixAveGrid::get_grid_by_name(char *name, int &dim) +int FixAveGrid::get_grid_by_name(const std::string &name, int &dim) { - if (strcmp(name,"grid") == 0) { + if (name == "grid") { dim = dimension; return 0; } @@ -1460,9 +1430,9 @@ void *FixAveGrid::get_grid_by_index(int index) return -1 if data name not found ------------------------------------------------------------------------- */ -int FixAveGrid::get_griddata_by_name(int igrid, char *name, int &ncol) +int FixAveGrid::get_griddata_by_name(int igrid, const std::string &name, int &ncol) { - if (igrid == 0 && strcmp(name,"data") == 0) { + if ((igrid == 0) && (name == "data")) { if (nvalues == 1) ncol = 0; else ncol = nvalues; return 0; @@ -1470,7 +1440,7 @@ int FixAveGrid::get_griddata_by_name(int igrid, char *name, int &ncol) // count is only produced for ATOM mode - if (modeatom && igrid == 0 && strcmp(name,"count") == 0) { + if (modeatom && (igrid == 0) && (name == "count")) { ncol = 0; return 1; } diff --git a/src/fix_ave_grid.h b/src/fix_ave_grid.h index 5216b7e503..9445884b41 100644 --- a/src/fix_ave_grid.h +++ b/src/fix_ave_grid.h @@ -38,9 +38,9 @@ class FixAveGrid : public Fix { void reset_grid() override; - int get_grid_by_name(char *, int &) override; + int get_grid_by_name(const std::string &, int &) override; void *get_grid_by_index(int) override; - int get_griddata_by_name(int, char *, int &) override; + int get_griddata_by_name(int, const std::string &, int &) override; void *get_griddata_by_index(int) override; double memory_usage() override; diff --git a/src/utils.cpp b/src/utils.cpp index cbcb5c1a23..e68900d7e5 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -768,26 +768,21 @@ int utils::expand_args(const char *file, int line, int narg, char **arg, int mod /* ---------------------------------------------------------------------- Parse grid reference into id:gridname:dataname - return ptrs to 3 substrings + return vector of 3 substrings ------------------------------------------------------------------------- */ -void utils::grid_parse(const char *file, int line, const std::string &name, - char *&id, char *&gridname, char *&dataname, Error *error) +std::vector utils::gridid_parse(const char *file, int line, const std::string &name, + Error *error) { - char *copy = strdup(name); + auto words = Tokenizer(name, ":").as_vector(); + if (words.size() != 3) { + if (error) + error->all(FLERR, "Grid ID {} does not contain two ':' characters", name); + else + return {"", "", ""}; + } - char *ptr1 = strchr(copy,':'); - if (!ptr1) - error->all(FLERR,"Grid reference {} does not contain 2 ':' chars",name); - *ptr1 = '\0'; - char *ptr2 = strchr(ptr1+1,':'); - if (!ptr2) - error->all(FLERR,"Grid reference {} does not contain 2 ':' chars",name); - *ptr2 = '\0'; - - id = strdup(copy); - gridname = strdup(ptr1+1); - dataname = strdup(ptr2+1); + return words; } /* ---------------------------------------------------------------------- diff --git a/src/utils.h b/src/utils.h index 1e0fbf779f..3d8cb3d2de 100644 --- a/src/utils.h +++ b/src/utils.h @@ -359,6 +359,19 @@ namespace utils { int expand_args(const char *file, int line, int narg, char **arg, int mode, char **&earg, LAMMPS *lmp); + /*! Parse grid reference into 3 sub-strings + * + * Format of grid ID reference = id:gridname:dataname + * Return vector with the 3 sub-strings + * + * \param name = grid reference + * \param id = ptr to 1st substring + * \param gridname = ptr to 2nd substring + * \param dataname = ptr to 3rd substring */ + + std::vector gridid_parse(const char *file, int line, const std::string &name, + Error *error); + /*! Make C-style copy of string in new storage * * This allocates a storage buffer and copies the C-style or @@ -368,19 +381,6 @@ namespace utils { * \param text string that should be copied * \return new buffer with copy of string */ - void grid_parse(const char *file, int line, const std::string &name, - char *&id, char *&gridname, char *&dataname, Error *error); - - /*! Parse grid reference into 3 sub-strings - * - * Format of grid reference = id:gridname:dataname - * Return ptrs to the 3 sub-strings - * - * \param name = grid reference - * \param id = ptr to 1st substring - * \param gridname = ptr to 2nd substring - * \param dataname = ptr to 3rd substring */ - char *strdup(const std::string &text); /*! Convert string to lowercase diff --git a/unittest/utils/test_utils.cpp b/unittest/utils/test_utils.cpp index decd7d6379..74b1ac3de1 100644 --- a/unittest/utils/test_utils.cpp +++ b/unittest/utils/test_utils.cpp @@ -785,6 +785,34 @@ TEST(Utils, boundsbig_case3) ASSERT_EQ(nhi, -1); } +TEST(Utils, gridid_parse) +{ + auto words = utils::gridid_parse(FLERR, "c_1:full:density", nullptr); + ASSERT_THAT(words[0], StrEq("c_1")); + ASSERT_THAT(words[1], StrEq("full")); + ASSERT_THAT(words[2], StrEq("density")); + + words = utils::gridid_parse(FLERR, "c_1_full_density", nullptr); + ASSERT_THAT(words[0], StrEq("")); + ASSERT_THAT(words[1], StrEq("")); + ASSERT_THAT(words[0], StrEq("")); + + words = utils::gridid_parse(FLERR, "c_1:full:", nullptr); + ASSERT_THAT(words[0], StrEq("c_1")); + ASSERT_THAT(words[1], StrEq("full")); + ASSERT_THAT(words[0], StrEq("")); + + words = utils::gridid_parse(FLERR, ":full:density", nullptr); + ASSERT_THAT(words[0], StrEq("")); + ASSERT_THAT(words[1], StrEq("full")); + ASSERT_THAT(words[0], StrEq("density")); + + words = utils::gridid_parse(FLERR, "c_1:full", nullptr); + ASSERT_THAT(words[0], StrEq("")); + ASSERT_THAT(words[1], StrEq("")); + ASSERT_THAT(words[0], StrEq("")); +} + TEST(Utils, errorurl) { auto errmesg = utils::errorurl(10); From c8f379dbabf4ba0210dc7d21775a18ba7fea1681 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 17 Aug 2022 13:18:55 -0400 Subject: [PATCH 035/142] whitespace --- src/dump_grid.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dump_grid.cpp b/src/dump_grid.cpp index de61e281ab..99a966a70e 100644 --- a/src/dump_grid.cpp +++ b/src/dump_grid.cpp @@ -685,7 +685,7 @@ int DumpGrid::parse_fields(int narg, char **arg) field2source[iarg] = COMPUTE; // split name = idcompute:gname:dname into 3 strings - + auto words = utils::gridid_parse(FLERR,name,error); const auto &idcompute = words[0]; const auto &gname = words[1]; From c1b664b4be043d672681950db88a86b33debfae3 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 17 Aug 2022 13:25:47 -0400 Subject: [PATCH 036/142] improve error message and update unit tests accordingly --- src/utils.cpp | 2 +- unittest/utils/test_utils.cpp | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/utils.cpp b/src/utils.cpp index e68900d7e5..cb209fcc30 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -777,7 +777,7 @@ std::vector utils::gridid_parse(const char *file, int line, const s auto words = Tokenizer(name, ":").as_vector(); if (words.size() != 3) { if (error) - error->all(FLERR, "Grid ID {} does not contain two ':' characters", name); + error->all(file, line, "Grid ID {} must be 3 strings separated by 2 ':'characters", name); else return {"", "", ""}; } diff --git a/unittest/utils/test_utils.cpp b/unittest/utils/test_utils.cpp index 74b1ac3de1..eb5dd7e3ca 100644 --- a/unittest/utils/test_utils.cpp +++ b/unittest/utils/test_utils.cpp @@ -798,14 +798,14 @@ TEST(Utils, gridid_parse) ASSERT_THAT(words[0], StrEq("")); words = utils::gridid_parse(FLERR, "c_1:full:", nullptr); - ASSERT_THAT(words[0], StrEq("c_1")); - ASSERT_THAT(words[1], StrEq("full")); + ASSERT_THAT(words[0], StrEq("")); + ASSERT_THAT(words[1], StrEq("")); ASSERT_THAT(words[0], StrEq("")); words = utils::gridid_parse(FLERR, ":full:density", nullptr); ASSERT_THAT(words[0], StrEq("")); - ASSERT_THAT(words[1], StrEq("full")); - ASSERT_THAT(words[0], StrEq("density")); + ASSERT_THAT(words[1], StrEq("")); + ASSERT_THAT(words[0], StrEq("")); words = utils::gridid_parse(FLERR, "c_1:full", nullptr); ASSERT_THAT(words[0], StrEq("")); From e4e7272c227af5e4d4282a38d14388c1e4f208a3 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 18 Aug 2022 17:33:29 -0400 Subject: [PATCH 037/142] rename utils::gridid_parse() to utils::parse_gridid() --- doc/src/Developer_utils.rst | 2 +- src/dump_grid.cpp | 16 ++++++---------- src/fix_ave_grid.cpp | 4 ++-- src/utils.cpp | 2 +- src/utils.h | 10 ++++------ 5 files changed, 14 insertions(+), 20 deletions(-) diff --git a/doc/src/Developer_utils.rst b/doc/src/Developer_utils.rst index 622988908a..dd7382a616 100644 --- a/doc/src/Developer_utils.rst +++ b/doc/src/Developer_utils.rst @@ -205,7 +205,7 @@ Argument processing .. doxygenfunction:: expand_args :project: progguide -.. doxygenfunction:: gridid_parse +.. doxygenfunction:: parse_gridid :project: progguide Convenience functions diff --git a/src/dump_grid.cpp b/src/dump_grid.cpp index 99a966a70e..c0a7d83942 100644 --- a/src/dump_grid.cpp +++ b/src/dump_grid.cpp @@ -510,19 +510,15 @@ int DumpGrid::count() if (dimension == 2) { if (field2source[0] == COMPUTE) - grid2d = (Grid2d *) - compute[field2index[0]]->get_grid_by_index(field2grid[0]); + grid2d = (Grid2d *) compute[field2index[0]]->get_grid_by_index(field2grid[0]); else if (field2source[0] == FIX) - grid2d = (Grid2d *) - fix[field2index[0]]->get_grid_by_index(field2grid[0]); + grid2d = (Grid2d *) fix[field2index[0]]->get_grid_by_index(field2grid[0]); grid2d->get_bounds(nxlo_in,nxhi_in,nylo_in,nyhi_in); } else { if (field2source[0] == COMPUTE) - grid3d = (Grid3d *) - compute[field2index[0]]->get_grid_by_index(field2grid[0]); + grid3d = (Grid3d *) compute[field2index[0]]->get_grid_by_index(field2grid[0]); else if (field2source[0] == FIX) - grid3d = (Grid3d *) - fix[field2index[0]]->get_grid_by_index(field2grid[0]); + grid3d = (Grid3d *) fix[field2index[0]]->get_grid_by_index(field2grid[0]); grid3d->get_bounds(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in); } @@ -686,7 +682,7 @@ int DumpGrid::parse_fields(int narg, char **arg) // split name = idcompute:gname:dname into 3 strings - auto words = utils::gridid_parse(FLERR,name,error); + auto words = utils::parse_gridid(FLERR,name,error); const auto &idcompute = words[0]; const auto &gname = words[1]; const auto &dname = words[2]; @@ -730,7 +726,7 @@ int DumpGrid::parse_fields(int narg, char **arg) // split name = idfix:gname:dname into 3 strings - auto words = utils::gridid_parse(FLERR,name,error); + auto words = utils::parse_gridid(FLERR,name,error); const auto &idfix = words[0]; const auto &gname = words[1]; const auto &dname = words[2]; diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index 49cc5ec74e..e1ceb03e58 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -322,7 +322,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : for (int i = 0; i < nvalues; i++) { if (which[i] == ArgInfo::COMPUTE) { - auto words = utils::gridid_parse(FLERR,ids[i],error); + auto words = utils::parse_gridid(FLERR,ids[i],error); const auto &idcompute = words[0]; const auto &gname = words[1]; const auto &dname = words[2]; @@ -360,7 +360,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : } else if (which[i] == ArgInfo::FIX) { - auto words = utils::gridid_parse(FLERR,ids[i],error); + auto words = utils::parse_gridid(FLERR,ids[i],error); const auto &idfix = words[0]; const auto &gname = words[1]; const auto &dname = words[2]; diff --git a/src/utils.cpp b/src/utils.cpp index cb209fcc30..59e8ce7446 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -771,7 +771,7 @@ int utils::expand_args(const char *file, int line, int narg, char **arg, int mod return vector of 3 substrings ------------------------------------------------------------------------- */ -std::vector utils::gridid_parse(const char *file, int line, const std::string &name, +std::vector utils::parse_gridid(const char *file, int line, const std::string &name, Error *error) { auto words = Tokenizer(name, ":").as_vector(); diff --git a/src/utils.h b/src/utils.h index 3d8cb3d2de..d8224f3826 100644 --- a/src/utils.h +++ b/src/utils.h @@ -361,15 +361,13 @@ namespace utils { /*! Parse grid reference into 3 sub-strings * - * Format of grid ID reference = id:gridname:dataname + * Format of grid ID reference = id:gname:dname * Return vector with the 3 sub-strings * - * \param name = grid reference - * \param id = ptr to 1st substring - * \param gridname = ptr to 2nd substring - * \param dataname = ptr to 3rd substring */ + * \param name = complete grid ID + * \return std::vector containing the 3 sub-strings */ - std::vector gridid_parse(const char *file, int line, const std::string &name, + std::vector parse_gridid(const char *file, int line, const std::string &name, Error *error); /*! Make C-style copy of string in new storage From 2f026e12c0ba4dd3eef5bb9e73fa857a7936447f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 18 Aug 2022 17:34:04 -0400 Subject: [PATCH 038/142] update grid data interface for fix ttm/grid --- src/EXTRA-FIX/fix_ttm_grid.cpp | 8 ++++---- src/EXTRA-FIX/fix_ttm_grid.h | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/EXTRA-FIX/fix_ttm_grid.cpp b/src/EXTRA-FIX/fix_ttm_grid.cpp index 7b3e712f9d..e5af0a8991 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.cpp +++ b/src/EXTRA-FIX/fix_ttm_grid.cpp @@ -630,9 +630,9 @@ void FixTTMGrid::unpack_gather_grid(int which, void *vbuf, void *vgbuf, int xlo, return -1 if grid name not found ------------------------------------------------------------------------- */ -int FixTTMGrid::get_grid_by_name(char *name, int &dim) +int FixTTMGrid::get_grid_by_name(const std::string &name, int &dim) { - if (strcmp(name,"grid") == 0) { + if (name == "grid") { dim = 3; return 0; } @@ -663,9 +663,9 @@ void *FixTTMGrid::get_grid_by_index(int index) return -1 if data name not found ------------------------------------------------------------------------- */ -int FixTTMGrid::get_griddata_by_name(int igrid, char *name, int &ncol) +int FixTTMGrid::get_griddata_by_name(int igrid, const std::string &name, int &ncol) { - if (igrid == 0 && strcmp(name,"data") == 0) { + if ((igrid == 0) && (name == "data")) { ncol = 0; return 0; } diff --git a/src/EXTRA-FIX/fix_ttm_grid.h b/src/EXTRA-FIX/fix_ttm_grid.h index 1e5b57b47c..0e77232337 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.h +++ b/src/EXTRA-FIX/fix_ttm_grid.h @@ -47,10 +47,10 @@ class FixTTMGrid : public FixTTM { void write_restart(FILE *) override; void restart(char *) override; - int get_grid_by_name(char *, int &); - void *get_grid_by_index(int); - int get_griddata_by_name(int, char *, int &); - void *get_griddata_by_index(int); + int get_grid_by_name(const std::string &, int &) override; + void *get_grid_by_index(int) override; + int get_griddata_by_name(int, const std::string &, int &) override; + void *get_griddata_by_index(int) override; double compute_vector(int) override; double memory_usage() override; From 819674556289b5a485fc97fd01e403e0328abee6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 18 Aug 2022 17:34:40 -0400 Subject: [PATCH 039/142] update utils::expand_args() to it can handle gridIDs --- src/utils.cpp | 126 ++++++++++++++++++++++++++++++++++++++------------ src/utils.h | 12 +++-- 2 files changed, 104 insertions(+), 34 deletions(-) diff --git a/src/utils.cpp b/src/utils.cpp index 59e8ce7446..ab93290963 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -628,11 +628,79 @@ int utils::expand_args(const char *file, int line, int narg, char **arg, int mod std::string word(arg[iarg]); expandflag = 0; - // match compute, fix, or custom property array reference with a '*' wildcard - // number range in the first pair of square brackets + // match grids - if (strmatch(word, "^[cfv]_\\w+\\[\\d*\\*\\d*\\]") || - strmatch(word, "^[id]2_\\w+\\[\\d*\\*\\d*\\]")) { + if (strmatch(word, "^[cf]_\\w+:\\w+:\\w+\\[\\d*\\*\\d*\\]")) { + auto gridid = utils::parse_gridid(FLERR, word, lmp->error); + + size_t first = gridid[2].find('['); + size_t second = gridid[2].find(']', first + 1); + id = gridid[2].substr(0, first); + wc = gridid[2].substr(first + 1, second - first - 1); + tail = gridid[2].substr(second + 1); + + // grids from compute + + if (gridid[0][0] == 'c') { + + auto compute = lmp->modify->get_compute_by_id(gridid[0].substr(2)); + if (compute && compute->pergrid_flag) { + + int dim = 0; + int igrid = compute->get_grid_by_name(gridid[1], dim); + + if (igrid >= 0) { + + int ncol = 0; + int idata = compute->get_griddata_by_name(igrid, id, ncol); + nmax = ncol; + + expandflag = 1; + } + } + // grids from fix + + } else if (gridid[0][0] == 'f') { + + auto fix = lmp->modify->get_fix_by_id(gridid[0].substr(2)); + if (fix && fix->pergrid_flag) { + + int dim = 0; + int igrid = fix->get_grid_by_name(gridid[1], dim); + + if (igrid >= 0) { + + int ncol = 0; + int idata = fix->get_griddata_by_name(igrid, id, ncol); + nmax = ncol; + + expandflag = 1; + } + } + } + + // expand wild card string to nlo/nhi numbers + + if (expandflag) { + utils::bounds(file, line, wc, 1, nmax, nlo, nhi, lmp->error); + + if (newarg + nhi - nlo + 1 > maxarg) { + maxarg += nhi - nlo + 1; + earg = (char **) lmp->memory->srealloc(earg, maxarg * sizeof(char *), "input:earg"); + } + + for (int index = nlo; index <= nhi; index++) { + earg[newarg] = + utils::strdup(fmt::format("{}:{}:{}[{}]{}", gridid[0], gridid[1], id, index, tail)); + newarg++; + } + } + + // match compute, fix, or custom property array reference with a '*' wildcard + // number range in the first pair of square brackets + + } else if (strmatch(word, "^[cfv]_\\w+\\[\\d*\\*\\d*\\]") || + strmatch(word, "^[id]2_\\w+\\[\\d*\\*\\d*\\]")) { // split off the compute/fix/property ID, the wildcard and trailing text @@ -726,30 +794,33 @@ int utils::expand_args(const char *file, int line, int narg, char **arg, int mod } } } + + // expansion will take place + + if (expandflag) { + + // expand wild card string to nlo/nhi numbers + + utils::bounds(file, line, wc, 1, nmax, nlo, nhi, lmp->error); + + if (newarg + nhi - nlo + 1 > maxarg) { + maxarg += nhi - nlo + 1; + earg = (char **) lmp->memory->srealloc(earg, maxarg * sizeof(char *), "input:earg"); + } + + for (int index = nlo; index <= nhi; index++) { + if (word[1] == '2') + earg[newarg] = utils::strdup(fmt::format("{}2_{}[{}]{}", word[0], id, index, tail)); + else + earg[newarg] = utils::strdup(fmt::format("{}_{}[{}]{}", word[0], id, index, tail)); + newarg++; + } + } } - // expansion will take place + // no expansion: duplicate original string - if (expandflag) { - - // expand wild card string to nlo/nhi numbers - - utils::bounds(file, line, wc, 1, nmax, nlo, nhi, lmp->error); - - if (newarg + nhi - nlo + 1 > maxarg) { - maxarg += nhi - nlo + 1; - earg = (char **) lmp->memory->srealloc(earg, maxarg * sizeof(char *), "input:earg"); - } - - for (int index = nlo; index <= nhi; index++) { - if (word[1] == '2') - earg[newarg] = utils::strdup(fmt::format("{}2_{}[{}]{}", word[0], id, index, tail)); - else - earg[newarg] = utils::strdup(fmt::format("{}_{}[{}]{}", word[0], id, index, tail)); - newarg++; - } - } else { - // no expansion: duplicate original string + if (!expandflag) { if (newarg == maxarg) { maxarg++; earg = (char **) lmp->memory->srealloc(earg, maxarg * sizeof(char *), "input:earg"); @@ -759,10 +830,7 @@ int utils::expand_args(const char *file, int line, int narg, char **arg, int mod } } - //printf("NEWARG %d\n",newarg); - //for (int i = 0; i < newarg; i++) - // printf(" arg %d: %s\n",i,earg[i]); - + // printf("NEWARG %d\n",newarg); for (int i = 0; i < newarg; i++) printf(" arg %d: %s\n",i,earg[i]); return newarg; } diff --git a/src/utils.h b/src/utils.h index d8224f3826..320f17609c 100644 --- a/src/utils.h +++ b/src/utils.h @@ -334,13 +334,15 @@ namespace utils { /*! Expand list of arguments when containing fix/compute wildcards * * This function searches the list of arguments in *arg* for strings - * of the kind c_ID[*] or f_ID[*] referring to computes or fixes. + * of the kind c_ID[*], f_ID[*], v_ID[*], i2_ID[*], d2_ID[*], or + * c_ID:gname:dname[*] referring to computes, fixes, vector style + * variables, custom per-atom arrays, or grids, respectively. * Any such strings are replaced by one or more strings with the * '*' character replaced by the corresponding possible numbers as - * determined from the fix or compute instance. Other strings are - * just copied. If the *mode* parameter is set to 0, expand global - * vectors, but not global arrays; if it is set to 1, expand global - * arrays (by column) but not global vectors. + * determined from the fix, compute, variable, property, or grid instance. + * Unrecognized strings are just copied. If the *mode* parameter + * is set to 0, expand global vectors, but not global arrays; if it is + * set to 1, expand global arrays (by column) but not global vectors. * * If any expansion happens, the earg list and all its * strings are new allocations and must be freed explicitly by the From 3e6b78b2564d167e7197a7b887ec2cff98a1e7f0 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 18 Aug 2022 17:35:10 -0400 Subject: [PATCH 040/142] fix documentation issues --- doc/src/Commands_dump.rst | 2 +- doc/src/Howto_grid.rst | 14 +++++----- doc/src/Howto_output.rst | 18 ++++++------ doc/src/compute_property_grid.rst | 10 +++---- doc/src/fix_ave_grid.rst | 31 ++++++++++----------- doc/utils/sphinx-config/false_positives.txt | 8 ++++++ 6 files changed, 45 insertions(+), 38 deletions(-) diff --git a/doc/src/Commands_dump.rst b/doc/src/Commands_dump.rst index 12dd7b2321..bf71b19a8d 100644 --- a/doc/src/Commands_dump.rst +++ b/doc/src/Commands_dump.rst @@ -36,7 +36,7 @@ An alphabetic list of all LAMMPS :doc:`dump ` commands. * :doc:`custom/mpiio ` * :doc:`custom/zstd ` * :doc:`dcd ` - * :doc:`deprecated ` + * :doc:`grid ` * :doc:`h5md ` * :doc:`image ` * :doc:`local ` diff --git a/doc/src/Howto_grid.rst b/doc/src/Howto_grid.rst index 4ac0898780..efc19a2cb4 100644 --- a/doc/src/Howto_grid.rst +++ b/doc/src/Howto_grid.rst @@ -11,7 +11,7 @@ more values (data). The grid points and data they store are distributed across processors. Each processor owns the grid points (and their data) that lie within -the spatial subdomain of the processor. If needed for its +the spatial sub-domain of the processor. If needed for its computations, it may also store ghost grid points with data. These grids can overlay orthogonal or triclinic simulation boxes; see @@ -27,7 +27,7 @@ box size, i.e. as set by the :doc:`boundary ` command for fixed or shrink-wrapped boundaries. If load-balancing is invoked by the :doc:`balance ` or -:doc:`fix balance ` commands, then the subdomain owned by +:doc:`fix balance ` commands, then the sub-domain owned by a processor will change which would also change which grid points they own. Some of the commands listed below support that operation; others do not. Eventually we plan to have all commands which define and @@ -49,7 +49,7 @@ These are the commands which currently define or use distributed grids: * :doc:`fix ave/grid ` - time average per-atom or per-grid values -* :doc:`fix ttm/grid ` - store electron temperature on grid +* :doc:`fix ttm/grid ` - store electron temperature on grid * :doc:`compute property/grid ` - generate grid IDs and coords * :doc:`dump grid ` - output per-grid values * :doc:`kspace_style pppm ` (and variants) - FFT grids @@ -74,10 +74,10 @@ syntax: * f_ID:gname:dname * f_ID:gname:dname[I] -The prefix "c_" or "f_" refers to the ID of the compute or fix. Gname -is the name of the grid, which is assigned by the compute or fix. -Dname is the name of the data field, which is also assigned by the -compute or fix. +The prefix "c\_" or "f\_" refers to the ID of the compute or fix; gname is +the name of the grid, which is assigned by the compute or fix; dname is +the name of the data field, which is also assigned by the compute or +fix. If the data field is a per-grid vector (one value per grid point), then no brackets are used to access the values. If the data field is diff --git a/doc/src/Howto_output.rst b/doc/src/Howto_output.rst index 5ff58afaee..792c8f8398 100644 --- a/doc/src/Howto_output.rst +++ b/doc/src/Howto_output.rst @@ -126,14 +126,14 @@ Thermodynamic output The frequency and format of thermodynamic output is set by the :doc:`thermo `, :doc:`thermo_style `, and -:doc:`thermo_modify ` commands. The -:doc:`thermo_style ` command also specifies what values -are calculated and written out. Pre-defined keywords can be specified -(e.g. press, etotal, etc). Three additional kinds of keywords can -also be specified (c_ID, f_ID, v_name), where a :doc:`compute ` -or :doc:`fix ` or :doc:`variable ` provides the value to be -output. In each case, the compute, fix, or variable must generateglobal values for input to the :doc:`thermo_style custom ` -command. +:doc:`thermo_modify ` commands. The :doc:`thermo_style +` command also specifies what values are calculated and +written out. Pre-defined keywords can be specified (e.g. press, etotal, +etc). Three additional kinds of keywords can also be specified (c_ID, +f_ID, v_name), where a :doc:`compute ` or :doc:`fix ` or +:doc:`variable ` provides the value to be output. In each +case, the compute, fix, or variable must generate global values for +input to the :doc:`thermo_style custom ` command. Note that thermodynamic output values can be "extensive" or "intensive". The former scale with the number of atoms in the system @@ -321,7 +321,7 @@ The chief difference between the :doc:`fix ave/grid ` and :doc:`fix ave/chunk ` commands when used in this context is that the former uses a distributed grid, while the latter uses a global grid. Distributed means that each processor owns the -subset of grid points within its subdomain. Global means that each +subset of grid points within its sub-domain. Global means that each processor owns a copy of the entire grid. The :doc:`fix ave/grid ` command is thus more efficient for large grids. diff --git a/doc/src/compute_property_grid.rst b/doc/src/compute_property_grid.rst index 7471637b48..b2edd18dde 100644 --- a/doc/src/compute_property_grid.rst +++ b/doc/src/compute_property_grid.rst @@ -39,7 +39,7 @@ Description Define a computation that stores the specified attributes of a distributed grid. In LAMMPS, distributed grids are regular 2d or 3d grids which overlay a 2d or 3d simulation domain. Each processor owns -the grid points within its subdomain. See the :doc:`Howto grid +the grid points within its sub-domain. See the :doc:`Howto grid ` doc page for details of how distributed grids can be defined by various commands and referenced. @@ -49,9 +49,9 @@ such as :doc:`dump grid `. *Nx*, *Ny*, and *Nz* define the size of the grid. For a 2d simulation *Nz* must be 1. When this compute is used by :doc:`dump grid `, -*to output per-grid values from other computes of fixes, the grid size -*specified for this command must be consistent with the grid sizes -*used by the other commands. +to output per-grid values from other computes of fixes, the grid size +specified for this command must be consistent with the grid sizes +used by the other commands. The *id* attribute stores the grid ID for each grid point. For a global grid of size Nx by Ny by Nz (in 3d simulations) the grid IDs @@ -80,7 +80,7 @@ point each grid cell, except in scaled coordinates, where the lower-left corner of the entire simulation box is (0,0,0) and the upper right corner is (1,1,1). -For :doc:`triclinic simulation boxes `, the grid +For :doc:`triclinic simulation boxes `, the grid point coordinates for (x,y,z) and (xc,yc,zc) will reflect the triclinic geometry. For (xs,yz,zs) and (xsc,ysc,zsc), the coordinates are the same for orthogonal versus triclinic boxes. diff --git a/doc/src/fix_ave_grid.rst b/doc/src/fix_ave_grid.rst index 61d09c8bdb..cd9eb8967a 100644 --- a/doc/src/fix_ave_grid.rst +++ b/doc/src/fix_ave_grid.rst @@ -80,7 +80,7 @@ produced by other computes or fixes. This fix operates in either (all input values are per-grid). The grid created by this command is distributed; each processor owns -the grid points that are within its subdomain. This is in contrast to +the grid points that are within its sub-domain. This is in contrast to the :doc:`fix ave/chunk ` command when it uses chunks from the :doc:`compute chunk/atom ` command which are 2d or 3d regular bins. The per-bin outputs in that case are @@ -266,7 +266,7 @@ script. If *c_ID:gname:dname* is used as a attribute, then the per-grid vector calculated by the compute is accessed. If *c_ID:gname:dname[I]* is -used, then I must be in the range from 1-M, which will acccess the Ith +used, then I must be in the range from 1-M, which will access the Ith column of the per-grid array with M columns calculated by the compute. See the discussion above for how I can be specified with a wildcard asterisk to effectively specify multiple values. @@ -316,26 +316,25 @@ average of an average. For the *density/number* and *density/mass* values, the grid cell volume used in the per-sample normalization will be the current grid cell volume at each sampling step. -In per-atom mode, *norm none* perfomrma a similar computation as *norm +In per-atom mode, *norm none* performs a similar computation as *norm sample*, except the individual "average sample values" are "summed sample values". A summed sample value is simply the grid value summed -over atoms in the sample, without dividing by the number of atoms in -the sample. The output grid value on the *Nfreq* timesteps is the -average of the *Nrepeat* "summed sample values", i.e. the sum of -*Nrepeat* "summed sample values" divided by *Nrepeat*\ . For the -*density/number* and *density/mass* values, the grid cell volume used -in the per-sample sum normalization will be the current grid cell -volume at each sampling step. +over atoms in the sample, without dividing by the number of atoms in the +sample. The output grid value on the *Nfreq* timesteps is the average +of the *Nrepeat* "summed sample values", i.e. the sum of *Nrepeat* +"summed sample values" divided by *Nrepeat*\ . For the *density/number* +and *density/mass* values, the grid cell volume used in the per-sample +sum normalization will be the current grid cell volume at each sampling +step. In per-grid mode, all the *norm* keyword options operate the same. The output grid value is summed over the grid value in each of the *Nrepeat* samples and then divided by *Nrepeat*. -The *ave* keyword is applicated to both per-atom and per-grid mode. -Itdetermines how the per-grid values produced once every *Nfreq* steps -are averaged with values produced on previous steps that were -multiples of *Nfreq*, before they are accessed by another output -command. +The *ave* keyword is applied to both per-atom and per-grid mode. It +determines how the per-grid values produced once every *Nfreq* steps are +averaged with values produced on previous steps that were multiples of +*Nfreq*, before they are accessed by another output command. If the *ave* setting is *one*, which is the default, then the grid values produced on *Nfreq* timesteps are independent of each other; @@ -403,7 +402,7 @@ various :doc:`output commands `. The values can only be accessed on timesteps that are multiples of *Nfreq* since that is when averaging is performed. The global array has # of rows = the number of grids *grid* as calculated by the specified :doc:`compute -grid/atom ` command. The # of columns = +property/grid ` command. The # of columns = M+1+Nvalues, where M = 1 to 4, depending on whether the optional columns for OrigID and CoordN are used, as explained above. Following the optional columns, the next column contains the count of atoms in diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index a324f41941..373a2d2aae 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -759,6 +759,7 @@ dmax Dmax dmg dmi +dname dnf DNi Dobnikar @@ -1225,6 +1226,7 @@ gmask Gmask GMock gmres +gname gneb GNEB Goldfarb @@ -3801,6 +3803,7 @@ xa xAVX xb Xc +xc xcm Xcm Xcode @@ -3832,6 +3835,7 @@ xplane XPlor xrd xs +xsc xstk xsu xtc @@ -3855,6 +3859,7 @@ Yazdani Ybar ybox Yc +yc ycm Yeh yellowgreen @@ -3870,6 +3875,7 @@ ymin yml Yoshida ys +ysc ysu yu Yu @@ -3887,6 +3893,7 @@ Zavattieri zbl ZBL Zc +zc zcm zeeman Zeeman @@ -3914,6 +3921,7 @@ zmin zmq zN zs +zsc zst Zstandard zstd From 7639d57657720c3c71a2639e8f425ed3fa9d4ac6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 18 Aug 2022 17:48:59 -0400 Subject: [PATCH 041/142] update unit test for utils::parse_gridid() --- unittest/utils/test_utils.cpp | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/unittest/utils/test_utils.cpp b/unittest/utils/test_utils.cpp index eb5dd7e3ca..687009b696 100644 --- a/unittest/utils/test_utils.cpp +++ b/unittest/utils/test_utils.cpp @@ -785,29 +785,39 @@ TEST(Utils, boundsbig_case3) ASSERT_EQ(nhi, -1); } -TEST(Utils, gridid_parse) +TEST(Utils, parse_gridid) { - auto words = utils::gridid_parse(FLERR, "c_1:full:density", nullptr); + auto words = utils::parse_gridid(FLERR, "c_1:full:density", nullptr); ASSERT_THAT(words[0], StrEq("c_1")); ASSERT_THAT(words[1], StrEq("full")); ASSERT_THAT(words[2], StrEq("density")); - words = utils::gridid_parse(FLERR, "c_1_full_density", nullptr); + words = utils::parse_gridid(FLERR, "c_1:full:density[1]", nullptr); + ASSERT_THAT(words[0], StrEq("c_1")); + ASSERT_THAT(words[1], StrEq("full")); + ASSERT_THAT(words[2], StrEq("density[1]")); + + words = utils::parse_gridid(FLERR, "c_1:full:density[*]", nullptr); + ASSERT_THAT(words[0], StrEq("c_1")); + ASSERT_THAT(words[1], StrEq("full")); + ASSERT_THAT(words[2], StrEq("density[*]")); + + words = utils::parse_gridid(FLERR, "c_1_full_density", nullptr); ASSERT_THAT(words[0], StrEq("")); ASSERT_THAT(words[1], StrEq("")); ASSERT_THAT(words[0], StrEq("")); - words = utils::gridid_parse(FLERR, "c_1:full:", nullptr); + words = utils::parse_gridid(FLERR, "c_1:full:", nullptr); ASSERT_THAT(words[0], StrEq("")); ASSERT_THAT(words[1], StrEq("")); ASSERT_THAT(words[0], StrEq("")); - words = utils::gridid_parse(FLERR, ":full:density", nullptr); + words = utils::parse_gridid(FLERR, ":full:density", nullptr); ASSERT_THAT(words[0], StrEq("")); ASSERT_THAT(words[1], StrEq("")); ASSERT_THAT(words[0], StrEq("")); - words = utils::gridid_parse(FLERR, "c_1:full", nullptr); + words = utils::parse_gridid(FLERR, "c_1:full", nullptr); ASSERT_THAT(words[0], StrEq("")); ASSERT_THAT(words[1], StrEq("")); ASSERT_THAT(words[0], StrEq("")); From 6bc48f088263b52c967316323dc7851cf49fa1f5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 19 Aug 2022 06:11:28 -0400 Subject: [PATCH 042/142] improve error messages and apply clang-format --- src/compute_property_grid.cpp | 233 +++++++++++++++++----------------- src/dump_grid.cpp | 46 +++---- 2 files changed, 131 insertions(+), 148 deletions(-) diff --git a/src/compute_property_grid.cpp b/src/compute_property_grid.cpp index 510c2e134e..e436a89752 100644 --- a/src/compute_property_grid.cpp +++ b/src/compute_property_grid.cpp @@ -32,24 +32,24 @@ enum { UNSCALED, SCALED }; /* ---------------------------------------------------------------------- */ ComputePropertyGrid::ComputePropertyGrid(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), grid2d(nullptr), grid3d(nullptr), vec2d(nullptr), vec3d(nullptr), - array2d(nullptr), array3d(nullptr), pack_choice(nullptr) + Compute(lmp, narg, arg), grid2d(nullptr), grid3d(nullptr), vec2d(nullptr), vec3d(nullptr), + array2d(nullptr), array3d(nullptr), pack_choice(nullptr) { - if (narg < 7) error->all(FLERR, "Illegal compute property/grid command"); + if (narg < 7) utils::missing_cmd_args(FLERR, "compute property/grid", error); pergrid_flag = 1; dimension = domain->dimension; - nxgrid = utils::inumeric(FLERR,arg[3],false,lmp); - nygrid = utils::inumeric(FLERR,arg[4],false,lmp); - nzgrid = utils::inumeric(FLERR,arg[5],false,lmp); + nxgrid = utils::inumeric(FLERR, arg[3], false, lmp); + nygrid = utils::inumeric(FLERR, arg[4], false, lmp); + nzgrid = utils::inumeric(FLERR, arg[5], false, lmp); if (dimension == 2 && nzgrid != 1) - error->all(FLERR,"Compute property/grid for 2d requires nz = 1"); + error->all(FLERR, "Compute property/grid for 2d requires nz = 1"); if (nxgrid <= 0 || nygrid <= 0 || nzgrid <= 0) - error->all(FLERR, "Illegal compute property/grid command"); + error->all(FLERR, "All compute property/grid grid counts must be > 0"); nvalues = narg - 6; pack_choice = new FnPtrPack[nvalues]; @@ -65,47 +65,43 @@ ComputePropertyGrid::ComputePropertyGrid(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg], "iy") == 0) { pack_choice[jarg] = &ComputePropertyGrid::pack_indices<1>; } else if (strcmp(arg[iarg], "iz") == 0) { - if (dimension == 2) - error->all(FLERR,"Compute property/grid for 2d cannot use z coord"); + if (dimension == 2) error->all(FLERR, "Compute property/grid for 2d cannot use z coord"); pack_choice[jarg] = &ComputePropertyGrid::pack_indices<2>; } else if (strcmp(arg[iarg], "x") == 0) { - pack_choice[jarg] = &ComputePropertyGrid::pack_coords; + pack_choice[jarg] = &ComputePropertyGrid::pack_coords; } else if (strcmp(arg[iarg], "y") == 0) { - pack_choice[jarg] = &ComputePropertyGrid::pack_coords; + pack_choice[jarg] = &ComputePropertyGrid::pack_coords; } else if (strcmp(arg[iarg], "z") == 0) { - if (dimension == 2) - error->all(FLERR,"Compute property/grid for 2d cannot use z coord"); - pack_choice[jarg] = &ComputePropertyGrid::pack_coords; + if (dimension == 2) error->all(FLERR, "Compute property/grid for 2d cannot use z coord"); + pack_choice[jarg] = &ComputePropertyGrid::pack_coords; } else if (strcmp(arg[iarg], "xs") == 0) { - pack_choice[jarg] = &ComputePropertyGrid::pack_coords; + pack_choice[jarg] = &ComputePropertyGrid::pack_coords; } else if (strcmp(arg[iarg], "ys") == 0) { - pack_choice[jarg] = &ComputePropertyGrid::pack_coords; + pack_choice[jarg] = &ComputePropertyGrid::pack_coords; } else if (strcmp(arg[iarg], "zs") == 0) { - if (dimension == 2) - error->all(FLERR,"Compute property/grid for 2d cannot use z coord"); - pack_choice[jarg] = &ComputePropertyGrid::pack_coords; + if (dimension == 2) error->all(FLERR, "Compute property/grid for 2d cannot use z coord"); + pack_choice[jarg] = &ComputePropertyGrid::pack_coords; } else if (strcmp(arg[iarg], "xc") == 0) { - pack_choice[jarg] = &ComputePropertyGrid::pack_coords; + pack_choice[jarg] = &ComputePropertyGrid::pack_coords; } else if (strcmp(arg[iarg], "yc") == 0) { - pack_choice[jarg] = &ComputePropertyGrid::pack_coords; + pack_choice[jarg] = &ComputePropertyGrid::pack_coords; } else if (strcmp(arg[iarg], "zc") == 0) { - if (dimension == 2) - error->all(FLERR,"Compute property/grid for 2d cannot use z coord"); - pack_choice[jarg] = &ComputePropertyGrid::pack_coords; + if (dimension == 2) error->all(FLERR, "Compute property/grid for 2d cannot use z coord"); + pack_choice[jarg] = &ComputePropertyGrid::pack_coords; } else if (strcmp(arg[iarg], "xsc") == 0) { - pack_choice[jarg] = &ComputePropertyGrid::pack_coords; + pack_choice[jarg] = &ComputePropertyGrid::pack_coords; } else if (strcmp(arg[iarg], "ysc") == 0) { - pack_choice[jarg] = &ComputePropertyGrid::pack_coords; + pack_choice[jarg] = &ComputePropertyGrid::pack_coords; } else if (strcmp(arg[iarg], "zsc") == 0) { - if (dimension == 2) - error->all(FLERR,"Compute property/grid for 2d cannot use z coord"); - pack_choice[jarg] = &ComputePropertyGrid::pack_coords; + if (dimension == 2) error->all(FLERR, "Compute property/grid for 2d cannot use z coord"); + pack_choice[jarg] = &ComputePropertyGrid::pack_coords; - } else error->all(FLERR, "Illegal compute property/grid command"); + } else + error->all(FLERR, "Unknown compute property/grid keyword: {}", arg[iarg]); } // initial setup of distributed grid @@ -182,8 +178,10 @@ int ComputePropertyGrid::get_grid_by_name(const std::string &name, int &dim) void *ComputePropertyGrid::get_grid_by_index(int index) { if (index == 0) { - if (dimension == 2) return grid2d; - else return grid3d; + if (dimension == 2) + return grid2d; + else + return grid3d; } return nullptr; @@ -202,8 +200,10 @@ void *ComputePropertyGrid::get_grid_by_index(int index) int ComputePropertyGrid::get_griddata_by_name(int igrid, const std::string &name, int &ncol) { if ((igrid == 0) && (name == "data")) { - if (nvalues == 1) ncol = 0; - else ncol = nvalues; + if (nvalues == 1) + ncol = 0; + else + ncol = nvalues; return 0; } @@ -220,11 +220,15 @@ void *ComputePropertyGrid::get_griddata_by_index(int index) { if (index == 0) { if (dimension == 2) { - if (nvalues == 1) return vec2d; - else return array2d; + if (nvalues == 1) + return vec2d; + else + return array2d; } else { - if (nvalues == 1) return vec3d; - else return array3d; + if (nvalues == 1) + return vec3d; + else + return array3d; } } @@ -238,32 +242,26 @@ void *ComputePropertyGrid::get_griddata_by_index(int index) void ComputePropertyGrid::allocate_grid() { if (dimension == 2) { - grid2d = new Grid2d(lmp, world, nxgrid, nygrid, 0.0, 0, 0.0, - nxlo_in, nxhi_in, nylo_in, nyhi_in, + grid2d = new Grid2d(lmp, world, nxgrid, nygrid, 0.0, 0, 0.0, nxlo_in, nxhi_in, nylo_in, nyhi_in, nxlo_out, nxhi_out, nylo_out, nyhi_out); if (nvalues == 1) - memory->create2d_offset(vec2d, nylo_out, nyhi_out, nxlo_out, nxhi_out, - "property/grid:vec2d"); + memory->create2d_offset(vec2d, nylo_out, nyhi_out, nxlo_out, nxhi_out, "property/grid:vec2d"); else - memory->create3d_offset_last(array2d, nylo_out, nyhi_out, nxlo_out, - nxhi_out, nvalues, "property/grid:array2d"); + memory->create3d_offset_last(array2d, nylo_out, nyhi_out, nxlo_out, nxhi_out, nvalues, + "property/grid:array2d"); ngridout = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1); } else { - grid3d = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid, 0.0, 0, 0.0, - nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, nzhi_in, - nxlo_out, nxhi_out, nylo_out, nyhi_out, - nzlo_out, nzhi_out); + grid3d = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid, 0.0, 0, 0.0, nxlo_in, nxhi_in, nylo_in, + nyhi_in, nzlo_in, nzhi_in, nxlo_out, nxhi_out, nylo_out, nyhi_out, nzlo_out, + nzhi_out); if (nvalues == 1) - memory->create3d_offset(vec3d, nzlo_out, nzhi_out, nylo_out, - nyhi_out, nxlo_out, - nxhi_out, "property/grid:vec3d"); + memory->create3d_offset(vec3d, nzlo_out, nzhi_out, nylo_out, nyhi_out, nxlo_out, nxhi_out, + "property/grid:vec3d"); else - memory->create4d_offset_last(array3d, nzlo_out, nzhi_out, nylo_out, - nyhi_out, nxlo_out, + memory->create4d_offset_last(array3d, nzlo_out, nzhi_out, nylo_out, nyhi_out, nxlo_out, nxhi_out, nvalues, "property/grid:array3d"); - ngridout = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1) * - (nzhi_out - nzlo_out + 1); + ngridout = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1) * (nzhi_out - nzlo_out + 1); } } @@ -273,10 +271,10 @@ void ComputePropertyGrid::deallocate_grid() { delete grid2d; delete grid3d; - memory->destroy2d_offset(vec2d,nylo_out,nxlo_out); - memory->destroy2d_offset(array2d,nylo_out,nxlo_out); - memory->destroy3d_offset(vec3d,nzlo_out,nylo_out,nxlo_out); - memory->destroy4d_offset_last(array3d,nzlo_out,nylo_out,nxlo_out); + memory->destroy2d_offset(vec2d, nylo_out, nxlo_out); + memory->destroy2d_offset(array2d, nylo_out, nxlo_out); + memory->destroy3d_offset(vec3d, nzlo_out, nylo_out, nxlo_out); + memory->destroy4d_offset_last(array3d, nzlo_out, nylo_out, nxlo_out); } /* ---------------------------------------------------------------------- @@ -298,24 +296,22 @@ void ComputePropertyGrid::pack_id(int n) if (dimension == 2) { if (nvalues == 0) { for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - vec2d[iy][ix] = iy*nxgrid + ix + 1; + for (int ix = nxlo_in; ix <= nxhi_in; ix++) vec2d[iy][ix] = iy * nxgrid + ix + 1; } else { for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) - array2d[iy][ix][n] = iy*nxgrid + ix + 1; + for (int ix = nxlo_in; ix <= nxhi_in; ix++) array2d[iy][ix][n] = iy * nxgrid + ix + 1; } } else if (dimension == 3) { if (nvalues == 0) { for (int iz = nzlo_in; iz <= nzhi_in; iz++) for (int iy = nylo_in; iy <= nyhi_in; iy++) for (int ix = nxlo_in; ix <= nxhi_in; ix++) - vec3d[iz][iy][ix] = iz*nygrid*nxgrid + iy*nxgrid + ix + 1; + vec3d[iz][iy][ix] = iz * nygrid * nxgrid + iy * nxgrid + ix + 1; } else { for (int iz = nzlo_in; iz <= nzhi_in; iz++) for (int iy = nylo_in; iy <= nyhi_in; iy++) for (int ix = nxlo_in; ix <= nxhi_in; ix++) - array3d[iz][iy][ix][n] = iz*nygrid*nxgrid + iy*nxgrid + ix + 1; + array3d[iz][iy][ix][n] = iz * nygrid * nxgrid + iy * nxgrid + ix + 1; } } } @@ -367,11 +363,10 @@ template void ComputePropertyGrid::pack_indices(int n) via templating ------------------------------------------------------------------------- */ -template -void ComputePropertyGrid::pack_coords(int n) +template void ComputePropertyGrid::pack_coords(int n) { - double boxlo,delta; - double lamda[3],xone[3]; + double boxlo, delta; + double lamda[3], xone[3]; // 2d grid @@ -381,23 +376,23 @@ void ComputePropertyGrid::pack_coords(int n) if (!triclinic || MODE == SCALED) { - if (MODE == UNSCALED) grid2d->get_box(IDIM,boxlo,delta); + if (MODE == UNSCALED) grid2d->get_box(IDIM, boxlo, delta); if (MODE == SCALED) { boxlo = 0.0; - if (IDIM == 0) delta = 1.0/nxgrid; - if (IDIM == 1) delta = 1.0/nygrid; + if (IDIM == 0) delta = 1.0 / nxgrid; + if (IDIM == 1) delta = 1.0 / nygrid; } if (nvalues == 0) { for (int iy = nylo_in; iy <= nyhi_in; iy++) for (int ix = nxlo_in; ix <= nxhi_in; ix++) { if (POS == LOW) { - if (IDIM == 0) vec2d[iy][ix] = boxlo + ix*delta; - if (IDIM == 1) vec2d[iy][ix] = boxlo + iy*delta; + if (IDIM == 0) vec2d[iy][ix] = boxlo + ix * delta; + if (IDIM == 1) vec2d[iy][ix] = boxlo + iy * delta; } if (POS == CTR) { - if (IDIM == 0) vec2d[iy][ix] = boxlo + (ix+0.5)*delta; - if (IDIM == 1) vec2d[iy][ix] = boxlo + (iy+0.5)*delta; + if (IDIM == 0) vec2d[iy][ix] = boxlo + (ix + 0.5) * delta; + if (IDIM == 1) vec2d[iy][ix] = boxlo + (iy + 0.5) * delta; } } @@ -405,30 +400,30 @@ void ComputePropertyGrid::pack_coords(int n) for (int iy = nylo_in; iy <= nyhi_in; iy++) for (int ix = nxlo_in; ix <= nxhi_in; ix++) { if (POS == LOW) { - if (IDIM == 0) array2d[iy][ix][n] = boxlo + ix*delta; - if (IDIM == 1) array2d[iy][ix][n] = boxlo + iy*delta; + if (IDIM == 0) array2d[iy][ix][n] = boxlo + ix * delta; + if (IDIM == 1) array2d[iy][ix][n] = boxlo + iy * delta; } if (POS == CTR) { - if (IDIM == 0) array2d[iy][ix][n] = boxlo + (ix+0.5)*delta; - if (IDIM == 1) array2d[iy][ix][n] = boxlo + (iy+0.5)*delta; + if (IDIM == 0) array2d[iy][ix][n] = boxlo + (ix + 0.5) * delta; + if (IDIM == 1) array2d[iy][ix][n] = boxlo + (iy + 0.5) * delta; } } } - // only for coords which are triclinic AND unscaled + // only for coords which are triclinic AND unscaled } else { - double dx = 1.0/nxgrid; - double dy = 1.0/nygrid; + double dx = 1.0 / nxgrid; + double dy = 1.0 / nygrid; lamda[2] = 0.0; if (nvalues == 0) { for (int iy = nylo_in; iy <= nyhi_in; iy++) { - lamda[1] = iy*dy; + lamda[1] = iy * dy; for (int ix = nxlo_in; ix <= nxhi_in; ix++) { - lamda[0] = ix*dx; - domain->lamda2x(lamda,xone); + lamda[0] = ix * dx; + domain->lamda2x(lamda, xone); if (IDIM == 0) vec2d[iy][ix] = xone[0]; if (IDIM == 1) vec2d[iy][ix] = xone[1]; } @@ -436,10 +431,10 @@ void ComputePropertyGrid::pack_coords(int n) } else { for (int iy = nylo_in; iy <= nyhi_in; iy++) { - lamda[1] = iy*dy; + lamda[1] = iy * dy; for (int ix = nxlo_in; ix <= nxhi_in; ix++) { - lamda[0] = ix*dx; - domain->lamda2x(lamda,xone); + lamda[0] = ix * dx; + domain->lamda2x(lamda, xone); if (IDIM == 0) array2d[iy][ix][n] = xone[0]; if (IDIM == 1) array2d[iy][ix][n] = xone[1]; } @@ -447,7 +442,7 @@ void ComputePropertyGrid::pack_coords(int n) } } - // 3d grid + // 3d grid } else if (dimension == 3) { @@ -455,12 +450,12 @@ void ComputePropertyGrid::pack_coords(int n) if (!triclinic || MODE == SCALED) { - if (MODE == UNSCALED) grid3d->get_box(IDIM,boxlo,delta); + if (MODE == UNSCALED) grid3d->get_box(IDIM, boxlo, delta); if (MODE == SCALED) { boxlo = 0.0; - if (IDIM == 0) delta = 1.0/nxgrid; - if (IDIM == 1) delta = 1.0/nygrid; - if (IDIM == 2) delta = 1.0/nzgrid; + if (IDIM == 0) delta = 1.0 / nxgrid; + if (IDIM == 1) delta = 1.0 / nygrid; + if (IDIM == 2) delta = 1.0 / nzgrid; } if (nvalues == 0) { @@ -468,14 +463,14 @@ void ComputePropertyGrid::pack_coords(int n) for (int iy = nylo_in; iy <= nyhi_in; iy++) for (int ix = nxlo_in; ix <= nxhi_in; ix++) { if (POS == LOW) { - if (IDIM == 0) vec3d[iz][iy][ix] = boxlo + ix*delta; - if (IDIM == 1) vec3d[iz][iy][ix] = boxlo + iy*delta; - if (IDIM == 2) vec3d[iz][iy][ix] = boxlo + iz*delta; + if (IDIM == 0) vec3d[iz][iy][ix] = boxlo + ix * delta; + if (IDIM == 1) vec3d[iz][iy][ix] = boxlo + iy * delta; + if (IDIM == 2) vec3d[iz][iy][ix] = boxlo + iz * delta; } if (POS == CTR) { - if (IDIM == 0) vec3d[iz][iy][ix] = boxlo + (ix+0.5)*delta; - if (IDIM == 1) vec3d[iz][iy][ix] = boxlo + (iy+0.5)*delta; - if (IDIM == 2) vec3d[iz][iy][ix] = boxlo + (iz+0.5)*delta; + if (IDIM == 0) vec3d[iz][iy][ix] = boxlo + (ix + 0.5) * delta; + if (IDIM == 1) vec3d[iz][iy][ix] = boxlo + (iy + 0.5) * delta; + if (IDIM == 2) vec3d[iz][iy][ix] = boxlo + (iz + 0.5) * delta; } } @@ -484,34 +479,34 @@ void ComputePropertyGrid::pack_coords(int n) for (int iy = nylo_in; iy <= nyhi_in; iy++) for (int ix = nxlo_in; ix <= nxhi_in; ix++) { if (POS == LOW) { - if (IDIM == 0) array3d[iz][iy][ix][n] = boxlo + ix*delta; - if (IDIM == 1) array3d[iz][iy][ix][n] = boxlo + iy*delta; - if (IDIM == 2) array3d[iz][iy][ix][n] = boxlo + iz*delta; + if (IDIM == 0) array3d[iz][iy][ix][n] = boxlo + ix * delta; + if (IDIM == 1) array3d[iz][iy][ix][n] = boxlo + iy * delta; + if (IDIM == 2) array3d[iz][iy][ix][n] = boxlo + iz * delta; } if (POS == CTR) { - if (IDIM == 0) array3d[iz][iy][ix][n] = boxlo + (ix+0.5)*delta; - if (IDIM == 1) array3d[iz][iy][ix][n] = boxlo + (iy+0.5)*delta; - if (IDIM == 2) array3d[iz][iy][ix][n] = boxlo + (iz+0.5)*delta; + if (IDIM == 0) array3d[iz][iy][ix][n] = boxlo + (ix + 0.5) * delta; + if (IDIM == 1) array3d[iz][iy][ix][n] = boxlo + (iy + 0.5) * delta; + if (IDIM == 2) array3d[iz][iy][ix][n] = boxlo + (iz + 0.5) * delta; } } } - // only for coords which are triclinic AND unscaled + // only for coords which are triclinic AND unscaled } else { - double dx = 1.0/nxgrid; - double dy = 1.0/nygrid; - double dz = 1.0/nzgrid; + double dx = 1.0 / nxgrid; + double dy = 1.0 / nygrid; + double dz = 1.0 / nzgrid; if (nvalues == 0) { for (int iz = nzlo_in; iz <= nzhi_in; iz++) { - lamda[2] = iz*dz; + lamda[2] = iz * dz; for (int iy = nylo_in; iy <= nyhi_in; iy++) { - lamda[1] = iy*dy; + lamda[1] = iy * dy; for (int ix = nxlo_in; ix <= nxhi_in; ix++) { - lamda[0] = ix*dx; - domain->lamda2x(lamda,xone); + lamda[0] = ix * dx; + domain->lamda2x(lamda, xone); if (IDIM == 0) vec3d[iz][iy][ix] = xone[0]; if (IDIM == 1) vec3d[iz][iy][ix] = xone[1]; if (IDIM == 2) vec3d[iz][iy][ix] = xone[2]; @@ -521,12 +516,12 @@ void ComputePropertyGrid::pack_coords(int n) } else { for (int iz = nzlo_in; iz <= nzhi_in; iz++) { - lamda[2] = iz*dz; + lamda[2] = iz * dz; for (int iy = nylo_in; iy <= nyhi_in; iy++) { - lamda[1] = iy*dy; + lamda[1] = iy * dy; for (int ix = nxlo_in; ix <= nxhi_in; ix++) { - lamda[0] = ix*dx; - domain->lamda2x(lamda,xone); + lamda[0] = ix * dx; + domain->lamda2x(lamda, xone); if (IDIM == 0) array3d[iz][iy][ix][n] = xone[0]; if (IDIM == 1) array3d[iz][iy][ix][n] = xone[1]; if (IDIM == 2) array3d[iz][iy][ix][n] = xone[2]; diff --git a/src/dump_grid.cpp b/src/dump_grid.cpp index c0a7d83942..0ee0f3a1f4 100644 --- a/src/dump_grid.cpp +++ b/src/dump_grid.cpp @@ -264,41 +264,31 @@ void DumpGrid::init_style() // check that grid sizes for all fields are the same - Compute *icompute; - Fix *ifix; - Grid2d *grid2d; - Grid3d *grid3d; - + Grid2d *grid2d = nullptr; + Grid3d *grid3d = nullptr; int nxtmp,nytmp,nztmp; - for (int i = 0; i < nfield; i++) { if (dimension == 2) { - if (field2source[i] == COMPUTE) { - icompute = compute[field2index[i]]; - grid2d = (Grid2d *) icompute->get_grid_by_index(field2grid[i]); - } else { - ifix = fix[field2index[i]]; - grid2d = (Grid2d *) ifix->get_grid_by_index(field2grid[i]); - } + if (field2source[i] == COMPUTE) + grid2d = (Grid2d *) compute[field2index[i]]->get_grid_by_index(field2grid[i]); + else + grid2d = (Grid2d *) fix[field2index[i]]->get_grid_by_index(field2grid[i]); if (i == 0) grid2d->get_size(nxgrid,nygrid); else { grid2d->get_size(nxtmp,nytmp); - if (nxtmp != nxgrid || nytmp != nygrid) + if ((nxtmp != nxgrid) || (nytmp != nygrid)) error->all(FLERR,"Dump grid field grid sizes do not match"); } } else { - if (field2source[i] == COMPUTE) { - icompute = compute[field2index[i]]; - grid3d = (Grid3d *) icompute->get_grid_by_index(field2grid[i]); - } else { - ifix = fix[field2index[i]]; - grid3d = (Grid3d *) ifix->get_grid_by_index(field2grid[i]); - } + if (field2source[i] == COMPUTE) + grid3d = (Grid3d *) compute[field2index[i]]->get_grid_by_index(field2grid[i]); + else + grid3d = (Grid3d *) fix[field2index[i]]->get_grid_by_index(field2grid[i]); if (i == 0) grid3d->get_size(nxgrid,nygrid,nzgrid); else { grid3d->get_size(nxtmp,nytmp,nztmp); - if (nxtmp != nxgrid || nytmp != nygrid || nztmp != nzgrid) + if ((nxtmp != nxgrid) || (nytmp != nygrid) || (nztmp != nzgrid)) error->all(FLERR,"Dump grid field grid sizes do not match"); } } @@ -505,8 +495,8 @@ int DumpGrid::count() // set current size for portion of grid on each proc // may change between dump snapshots due to load balancing - Grid2d *grid2d; - Grid3d *grid3d; + Grid2d *grid2d = nullptr; + Grid3d *grid3d = nullptr; if (dimension == 2) { if (field2source[0] == COMPUTE) @@ -531,7 +521,7 @@ int DumpGrid::count() if (update->whichflag == 0) { for (i = 0; i < ncompute; i++) if (compute[i]->invoked_pergrid != update->ntimestep) - error->all(FLERR,"Compute used in dump between runs is not current"); + error->all(FLERR,"Compute {} used in dump between runs is not current", compute[i]->id); } else { for (i = 0; i < ncompute; i++) { if (!(compute[i]->invoked_flag & Compute::INVOKED_PERGRID)) { @@ -600,8 +590,7 @@ int DumpGrid::convert_string(int n, double *mybuf) else if (vtype[j] == Dump::DOUBLE) offset += sprintf(&sbuf[offset],vformat[j],mybuf[m]); else if (vtype[j] == Dump::BIGINT) - offset += sprintf(&sbuf[offset],vformat[j], - static_cast (mybuf[m])); + offset += sprintf(&sbuf[offset],vformat[j], static_cast (mybuf[m])); m++; } offset += sprintf(&sbuf[offset],"\n"); @@ -645,8 +634,7 @@ void DumpGrid::write_lines(int n, double *mybuf) for (j = 0; j < nfield; j++) { if (vtype[j] == Dump::INT) fprintf(fp,vformat[j],static_cast (mybuf[m])); else if (vtype[j] == Dump::DOUBLE) fprintf(fp,vformat[j],mybuf[m]); - else if (vtype[j] == Dump::BIGINT) - fprintf(fp,vformat[j],static_cast (mybuf[m])); + else if (vtype[j] == Dump::BIGINT) fprintf(fp,vformat[j],static_cast (mybuf[m])); m++; } fprintf(fp,"\n"); From 8292a23f94db9b9c2cb444c254e82f7e899ec36f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 19 Aug 2022 06:13:22 -0400 Subject: [PATCH 043/142] fix array indexing bugs flagged by compiler warnings --- src/fix_ave_grid.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index e1ceb03e58..93d3afcf78 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -715,7 +715,7 @@ void FixAveGrid::end_of_step() else norm = 1.0/count; vec2d[iy][ix] *= norm; - count2d[iy][iz] *= invrepeat; + count2d[iy][ix] *= invrepeat; } } } else { @@ -734,7 +734,7 @@ void FixAveGrid::end_of_step() norm = 1.0/count; array2d[iy][ix][m] *= norm; } - count2d[iy][iz] *= invrepeat; + count2d[iy][ix] *= invrepeat; } } } @@ -754,7 +754,7 @@ void FixAveGrid::end_of_step() else norm = 1.0/count; vec3d[iz][iy][ix] *= norm; - count3d[iz][iy][iz] *= invrepeat; + count3d[iz][iy][ix] *= invrepeat; } } } else { @@ -774,7 +774,7 @@ void FixAveGrid::end_of_step() norm = 1.0/count; array3d[iz][iy][ix][m] *= norm; } - count3d[iz][iy][iz] *= invrepeat; + count3d[iz][iy][ix] *= invrepeat; } } } From 9e6deb1a95b8adc2d7824e91d19f191d2c80fd7d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 19 Aug 2022 06:13:34 -0400 Subject: [PATCH 044/142] remove unused variables --- src/grid2d.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/grid2d.cpp b/src/grid2d.cpp index 6a5a0c8446..8aef2acbe4 100644 --- a/src/grid2d.cpp +++ b/src/grid2d.cpp @@ -1190,7 +1190,7 @@ void Grid2d::gather(int /*caller*/, void *ptr, int nper, int nbyte, // ping each proc for its data // unpack into full buffer via callback to caller - int xlo,xhi,ylo,yhi,zlo,zhi,tmp; + int xlo,xhi,ylo,yhi,tmp; int bounds[4]; if (me == 0) { From 75933f1965688032f635ec45ffcf39236f517a01 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 19 Aug 2022 09:42:27 -0600 Subject: [PATCH 045/142] comment tweaks --- src/compute_property_grid.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/compute_property_grid.cpp b/src/compute_property_grid.cpp index 510c2e134e..f7303d8c62 100644 --- a/src/compute_property_grid.cpp +++ b/src/compute_property_grid.cpp @@ -289,8 +289,12 @@ double ComputePropertyGrid::memory_usage() return bytes; } +// ---------------------------------------------------------------------- +// pack methods for all values +// ---------------------------------------------------------------------- + /* ---------------------------------------------------------------------- - compute grid point IDs + grid point IDs ------------------------------------------------------------------------- */ void ComputePropertyGrid::pack_id(int n) @@ -321,7 +325,7 @@ void ComputePropertyGrid::pack_id(int n) } /* ---------------------------------------------------------------------- - compute grid indices via templating + grid indices via templating ------------------------------------------------------------------------- */ template void ComputePropertyGrid::pack_indices(int n) @@ -363,8 +367,8 @@ template void ComputePropertyGrid::pack_indices(int n) } /* ---------------------------------------------------------------------- - compute LOW/CTR, SCALED/UNSCALED, orthogonal/triclinic grid point coords - via templating + grid point coords + LOW/CTR, SCALED/UNSCALED, orthogonal/triclinic via templating ------------------------------------------------------------------------- */ template From 77c0ad4d262e153be72b266b0c395f9d4fa40a28 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 19 Aug 2022 10:59:25 -0600 Subject: [PATCH 046/142] adding support for normflag and aveflag --- src/fix_ave_grid.cpp | 277 +++++++++++++++++++++++++++++++------------ src/fix_ave_grid.h | 13 +- 2 files changed, 216 insertions(+), 74 deletions(-) diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index 93d3afcf78..fdd234daa9 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -34,8 +34,7 @@ using namespace LAMMPS_NS; using namespace FixConst; -enum{SAMPLE,ALL}; -enum{NOSCALE,ATOM}; +enum{ALL,SAMPLE,NONORM}; enum{ONE,RUNNING,WINDOW}; // OFFSET avoids outside-of-box atoms being rounded to grid pts incorrectly @@ -171,7 +170,6 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : // optional args normflag = ALL; - scaleflag = ATOM; ave = ONE; nwindow = 0; biasflag = 0; @@ -182,16 +180,10 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : while (iarg < nargnew) { if (strcmp(arg[iarg],"norm") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/grid command"); - if (strcmp(arg[iarg+1],"all") == 0) { - normflag = ALL; - scaleflag = ATOM; - } else if (strcmp(arg[iarg+1],"sample") == 0) { - normflag = SAMPLE; - scaleflag = ATOM; - } else if (strcmp(arg[iarg+1],"none") == 0) { - normflag = SAMPLE; - scaleflag = NOSCALE; - } else error->all(FLERR,"Illegal fix ave/grid command"); + if (strcmp(arg[iarg+1],"all") == 0) normflag = ALL; + else if (strcmp(arg[iarg+1],"sample") == 0) normflag = SAMPLE; + else if (strcmp(arg[iarg+1],"none") == 0) normflag = NONORM; + else error->all(FLERR,"Illegal fix ave/grid command"); iarg += 2; } else if (strcmp(arg[iarg],"ave") == 0) { @@ -460,9 +452,9 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : "ave/grid:vec3d"); } - // zero the grid and counts since dump may access it on timestep 0 + // zero the output grid and counts since dump may access it on timestep 0 - zero_grid(); + zero_output(); // bin indices for ATOM mode // vresult for per-atom variable evaluation @@ -629,8 +621,9 @@ void FixAveGrid::end_of_step() nvalid_last = nvalid; // zero owned and ghost grid points and counts if first sample in epoch - - if (irepeat == 0) zero_grid(); + + if (irepeat == 0) zero_epoch(); + if (irepeat == 0 || normflag == SAMPLE) zero_sample(); // accumulate per-grid values for one sample for either ATOM or GRID mode // per-atom compute/fix/variable may invoke computes so wrap with clear/add @@ -642,22 +635,18 @@ void FixAveGrid::end_of_step() grid2grid(); } - // done if irepeat < nrepeat - // else reset irepeat and nvalid + // return if irepeat < nrepeat and norm = SAMPLE or NONORM irepeat++; - if (irepeat < nrepeat) { + if (irepeat < nrepeat && (normflag == ALL || normflag == NONORM)) { nvalid += nevery; if (modeatom) modify->addstep_compute(nvalid); return; } - irepeat = 0; - nvalid = ntimestep+pergrid_freq - ((bigint) nrepeat-1)*nevery; - if (modeatom) modify->addstep_compute(nvalid); - // for ATOM mode, perform ghost to owned grid communication - // nvalues + 1 more for atom count + // done every sample for norm = SAMPLE, else once per Nfreq epoch + // nvalues + 1 for atom count if (modeatom) { if (dimension == 2) @@ -668,10 +657,40 @@ void FixAveGrid::end_of_step() grid_buf1,grid_buf2,MPI_DOUBLE); } + // for norm = SAMPLE, sum per-sample values and count to per-epoch + // for ATOM mode, also need to normalize per-sample values + // then return if irepeat < nrepeat + + if (normflag == SAMPLE) { + + + + + + sum_sample_to_epoch(); + + if (irepeat < nrepeat && (normflag == ALL || normflag == NONORM)) { + nvalid += nevery; + if (modeatom) modify->addstep_compute(nvalid); + return; + } + } + + // reset irepeat and nvalid + + irepeat = 0; + nvalid = ntimestep+pergrid_freq - ((bigint) nrepeat-1)*nevery; + if (modeatom) modify->addstep_compute(nvalid); + // just return if this proc owns no grid points if (ngridout == 0) return; + + + + + // average the final results across Nrepeat samples // for ATOM mode, result = total_value / total_count // exception is DENSITY_NUMBER: @@ -814,7 +833,7 @@ void FixAveGrid::end_of_step() /* ---------------------------------------------------------------------- sum per-atom contributions to owned+ghost grid cells - sets one of vec2d,array2d,vec3d,array3d + sets one of vec2d,array2d,vec3d,array3d sample also set count2d or count3d for atom count per bin ------------------------------------------------------------------------- */ @@ -939,23 +958,23 @@ void FixAveGrid::atom2grid() if (nvalues == 1) { for (i = 0; i < nlocal; i++) { if (!skip[i]) - vec2d[bin[i][0]][bin[i][1]] += attribute[i][j]; + vec2d_sample[bin[i][0]][bin[i][1]] += attribute[i][j]; } } else for (i = 0; i < nlocal; i++) { if (skip[i]) - array2d[bin[i][0]][bin[i][1]][m] += attribute[i][j]; + array2d_sample[bin[i][0]][bin[i][1]][m] += attribute[i][j]; } } else { if (nvalues == 1) { for (i = 0; i < nlocal; i++) { if (!skip[i]) - vec3d[bin[i][0]][bin[i][1]][bin[i][2]] += attribute[i][j]; + vec3d_sample[bin[i][0]][bin[i][1]][bin[i][2]] += attribute[i][j]; } } else for (i = 0; i < nlocal; i++) { if (!skip[i]) - array3d[bin[i][0]][bin[i][1]][bin[i][2]][m] += attribute[i][j]; + array3d_sample[bin[i][0]][bin[i][1]][bin[i][2]][m] += attribute[i][j]; } } @@ -978,7 +997,7 @@ void FixAveGrid::atom2grid() if (which[m] == ArgInfo::DENSITY_NUMBER) one = 1.0; else if (rmass) one = rmass[i]; else one = mass[type[i]]; - vec2d[bin[i][0]][bin[i][1]] += one; + vec2d_sample[bin[i][0]][bin[i][1]] += one; } } } else @@ -987,7 +1006,7 @@ void FixAveGrid::atom2grid() if (which[m] == ArgInfo::DENSITY_NUMBER) one = 1.0; else if (rmass) one = rmass[i]; else one = mass[type[i]]; - array2d[bin[i][0]][bin[i][1]][m] += one; + array2d_sample[bin[i][0]][bin[i][1]][m] += one; } } } else { @@ -997,7 +1016,7 @@ void FixAveGrid::atom2grid() if (which[m] == ArgInfo::DENSITY_NUMBER) one = 1.0; else if (rmass) one = rmass[i]; else one = mass[type[i]]; - vec3d[bin[i][0]][bin[i][1]][bin[i][2]] += one; + vec3d_sample[bin[i][0]][bin[i][1]][bin[i][2]] += one; } } } else @@ -1006,7 +1025,7 @@ void FixAveGrid::atom2grid() if (which[m] == ArgInfo::DENSITY_NUMBER) one = 1.0; else if (rmass) one = rmass[i]; else one = mass[type[i]]; - array3d[bin[i][0]][bin[i][1]][bin[i][2]][m] += one; + array3d_sample[bin[i][0]][bin[i][1]][bin[i][2]][m] += one; } } } @@ -1034,7 +1053,7 @@ void FixAveGrid::atom2grid() vsq = v[i][0]*v[i][0] + v[i][1]*v[i][1] + v[i][2]*v[i][2]; if (rmass) one = rmass[i]; else one = mass[type[i]]; - vec2d[bin[i][0]][bin[i][1]] += one*vsq; + vec2d_sample[bin[i][0]][bin[i][1]] += one*vsq; } } } else @@ -1043,7 +1062,7 @@ void FixAveGrid::atom2grid() vsq = v[i][0]*v[i][0] + v[i][1]*v[i][1] + v[i][2]*v[i][2]; if (rmass) one = rmass[i]; else one = mass[type[i]]; - array2d[bin[i][0]][bin[i][1]][m] += one*vsq;; + array2d_sample[bin[i][0]][bin[i][1]][m] += one*vsq;; } } } else { @@ -1053,7 +1072,7 @@ void FixAveGrid::atom2grid() vsq = v[i][0]*v[i][0] + v[i][1]*v[i][1] + v[i][2]*v[i][2]; if (rmass) one = rmass[i]; else one = mass[type[i]]; - vec3d[bin[i][0]][bin[i][1]][bin[i][2]] += one*vsq; + vec3d_sample[bin[i][0]][bin[i][1]][bin[i][2]] += one*vsq; } } } else @@ -1062,7 +1081,7 @@ void FixAveGrid::atom2grid() vsq = v[i][0]*v[i][0] + v[i][1]*v[i][1] + v[i][2]*v[i][2]; if (rmass) one = rmass[i]; else one = mass[type[i]]; - array3d[bin[i][0]][bin[i][1]][bin[i][2]][m] += one*vsq; + array3d_sample[bin[i][0]][bin[i][1]][bin[i][2]][m] += one*vsq; } } } @@ -1105,26 +1124,26 @@ void FixAveGrid::atom2grid() if (j == 0) { for (i = 0; i < nlocal; i++) { if (!skip[i]) - vec2d[bin[i][0]][bin[i][1]] += ovector[i]; + vec2d_sample[bin[i][0]][bin[i][1]] += ovector[i]; } } else { int jm1 = j = 1; for (i = 0; i < nlocal; i++) { if (!skip[i]) - vec2d[bin[i][0]][bin[i][1]] += oarray[i][jm1]; + vec2d_sample[bin[i][0]][bin[i][1]] += oarray[i][jm1]; } } } else { if (j == 0) { for (i = 0; i < nlocal; i++) { if (!skip[i]) - array2d[bin[i][0]][bin[i][1]][m] += ovector[i]; + array2d_sample[bin[i][0]][bin[i][1]][m] += ovector[i]; } } else { int jm1 = j - 1; for (i = 0; i < nlocal; i++) { if (!skip[i]) - array2d[bin[i][0]][bin[i][1]][m] += oarray[i][jm1]; + array2d_sample[bin[i][0]][bin[i][1]][m] += oarray[i][jm1]; } } } @@ -1134,26 +1153,26 @@ void FixAveGrid::atom2grid() if (j == 0) { for (i = 0; i < nlocal; i++) { if (!skip[i]) - vec3d[bin[i][0]][bin[i][1]][bin[i][2]] += ovector[i]; + vec3d_sample[bin[i][0]][bin[i][1]][bin[i][2]] += ovector[i]; } } else { int jm1 = j - 1; for (i = 0; i < nlocal; i++) { if (!skip[i]) - vec3d[bin[i][0]][bin[i][1]][bin[i][2]] += oarray[i][jm1]; + vec3d_sample[bin[i][0]][bin[i][1]][bin[i][2]] += oarray[i][jm1]; } } } else { if (j == 0) { for (i = 0; i < nlocal; i++) { if (!skip[i]) - array3d[bin[i][0]][bin[i][1]][bin[i][2]][m] += ovector[i]; + array3d_sample[bin[i][0]][bin[i][1]][bin[i][2]][m] += ovector[i]; } } else { int jm1 = j - 1; for (i = 0; i < nlocal; i++) { if (!skip[i]) - array3d[bin[i][0]][bin[i][1]][bin[i][2]][m] += oarray[i][jm1]; + array3d_sample[bin[i][0]][bin[i][1]][bin[i][2]][m] += oarray[i][jm1]; } } } @@ -1207,23 +1226,23 @@ void FixAveGrid::grid2grid() if (j == 0) { for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) - vec2d[iy][ix] += ovec2d[iy][ix]; + vec2d_sample[iy][ix] += ovec2d[iy][ix]; } else { int jm1 = j - 1; for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) - vec2d[iy][ix] += oarray2d[iy][ix][jm1]; + vec2d_sample[iy][ix] += oarray2d[iy][ix][jm1]; } } else { if (j == 0) { for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) - array2d[iy][ix][m] += ovec2d[iy][ix]; + array2d_sample[iy][ix][m] += ovec2d[iy][ix]; } else { int jm1 = j - 1; for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) - array2d[iy][ix][m] += oarray2d[iy][ix][jm1]; + array2d_sample[iy][ix][m] += oarray2d[iy][ix][jm1]; } } @@ -1246,26 +1265,26 @@ void FixAveGrid::grid2grid() for (iz = nzlo_in; iz <= nzhi_in; iz++) for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) - vec3d[iz][iy][ix] += ovec3d[iz][iy][ix]; + vec3d_sample[iz][iy][ix] += ovec3d[iz][iy][ix]; } else { int jm1 = j - 1; for (iz = nzlo_in; iz <= nzhi_in; iz++) for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) - vec3d[iz][iy][ix] += oarray3d[iz][iy][ix][jm1]; + vec3d_sample[iz][iy][ix] += oarray3d[iz][iy][ix][jm1]; } } else { if (j == 0) { for (iz = nzlo_in; iz <= nzhi_in; iz++) for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) - array3d[iz][iy][ix][m] += ovec3d[iz][iy][ix]; + array3d_sample[iz][iy][ix][m] += ovec3d[iz][iy][ix]; } else { int jm1 = j - 1; for (iz = nzlo_in; iz <= nzhi_in; iz++) for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) - array3d[iz][iy][ix][m] += oarray3d[iz][iy][ix][jm1]; + array3d_sample[iz][iy][ix][m] += oarray3d[iz][iy][ix][jm1]; } } } @@ -1273,29 +1292,141 @@ void FixAveGrid::grid2grid() } /* ---------------------------------------------------------------------- - zero grid values incluing ghost cells + zero values for sample grids incluing ghost cells if ATOM mode, also zero per-cell counts ------------------------------------------------------------------------- */ -void FixAveGrid::zero_grid() +void FixAveGrid::zero_sample() { if (!ngridout) return; if (dimension == 2) { if (nvalues == 1) - memset(&vec2d[nylo_out][nxlo_out],0, ngridout*sizeof(double)); + memset(&vec2d_sample[nylo_out][nxlo_out],0, + ngridout*sizeof(double)); else - memset(&array2d[nylo_out][nxlo_out][0],0,ngridout*nvalues*sizeof(double)); + memset(&array2d_sample[nylo_out][nxlo_out][0],0, + ngridout*nvalues*sizeof(double)); if (modeatom) - memset(&count2d[nylo_out][nxlo_out],0,ngridout*sizeof(double)); + memset(&count2d_sample[nylo_out][nxlo_out],0, + ngridout*sizeof(double)); } else { if (nvalues == 1) - memset(&vec3d[nzlo_out][nylo_out][nxlo_out],0,ngridout*sizeof(double)); + memset(&vec3d_sample[nzlo_out][nylo_out][nxlo_out],0, + ngridout*sizeof(double)); + else + memset(&array3d_sample[nzlo_out][nylo_out][nxlo_out][0],0, + ngridout*nvalues*sizeof(double)); + if (modeatom) + memset(&count3d_sample[nzlo_out][nylo_out][nxlo_out],0, + ngridout*sizeof(double)); + } +} + +/* ---------------------------------------------------------------------- + zero values for Nfreq epoch grids incluing ghost cells + if ATOM mode, also zero per-cell counts +------------------------------------------------------------------------- */ + +void FixAveGrid::zero_epoch() +{ + if (!ngridout) return; + + if (dimension == 2) { + if (nvalues == 1) + memset(&vec2d_epoch[nylo_out][nxlo_out],0, + ngridout*sizeof(double)); + else + memset(&array2d_epoch[nylo_out][nxlo_out][0],0, + ngridout*nvalues*sizeof(double)); + if (modeatom) + memset(&count2d_epoch[nylo_out][nxlo_out],0, + ngridout*sizeof(double)); + + } else { + if (nvalues == 1) + memset(&vec3d_epoch[nzlo_out][nylo_out][nxlo_out],0, + ngridout*sizeof(double)); + else + memset(&array3d_epoch[nzlo_out][nylo_out][nxlo_out][0],0, + ngridout*nvalues*sizeof(double)); + if (modeatom) + memset(&count3d_epoch[nzlo_out][nylo_out][nxlo_out],0, + ngridout*sizeof(double)); + } +} + +/* ---------------------------------------------------------------------- + zero values for output grids incluing ghost cells + if ATOM mode, also zero per-cell counts +------------------------------------------------------------------------- */ + +void FixAveGrid::zero_output() +{ + if (!ngridout) return; + + if (dimension == 2) { + if (nvalues == 1) + memset(&vec2d[nylo_out][nxlo_out],0, + ngridout*sizeof(double)); + else + memset(&array2d[nylo_out][nxlo_out][0],0, + ngridout*nvalues*sizeof(double)); + if (modeatom) + memset(&count2d[nylo_out][nxlo_out],0, + ngridout*sizeof(double)); + + } else { + if (nvalues == 1) + memset(&vec3d[nzlo_out][nylo_out][nxlo_out],0, + ngridout*sizeof(double)); else memset(&array3d[nzlo_out][nylo_out][nxlo_out][0],0, ngridout*nvalues*sizeof(double)); if (modeatom) - memset(&count3d[nzlo_out][nylo_out][nxlo_out],0,ngridout*sizeof(double)); + memset(&count3d[nzlo_out][nylo_out][nxlo_out],0, + ngridout*sizeof(double)); + } +} + +/* ---------------------------------------------------------------------- + sum sample grid values to Nfreq epoch grids, just for owned grid cells + if ATOM mode, also sum per-cell counts +------------------------------------------------------------------------- */ + +void FixAveGrid::sum_sample_to_epoch() +{ + int ix,iy,iz,m; + + if (!ngridout) return; + + if (dimension == 2) { + if (nvalues == 1) { + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + vec2d_epoch[iy][ix] += vec2d_sample[iy][ix]; + } else { + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + for (m = 0; m <= nvalues; m++) + array2d_epoch[iy][ix][m] += array2d_sample[iy][ix][m]; + } + if (modeatom) count2d_epoch[iy][ix] += count2d_sample[iy][ix]; + + } else { + if (nvalues == 1) { + for (iz = nylo_in; iz <= nyhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + vec3d_epoch[iz][iy][ix] += vec3d_sample[iz][iy][ix]; + } else { + for (iz = nylo_in; iz <= nyhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + for (m = 0; m <= nvalues; m++) + array3d_epoch[iz][iy][ix][m] += array3d_sample[iz][iy][ix][m]; + } + if (modeatom) count3d_epoch[iz][iy][ix] += count3d_sample[iz][iy][ix]; } } @@ -1313,13 +1444,13 @@ void FixAveGrid::pack_reverse_grid(int /*flag*/, void *vbuf, int nlist, int *lis m = 0; if (dimension == 2) { - count = &count2d[nylo_out][nxlo_out]; - if (nvalues == 1) data = &vec2d[nylo_out][nxlo_out]; - else data = &array2d[nylo_out][nxlo_out][0]; + count = &count2d_sample[nylo_out][nxlo_out]; + if (nvalues == 1) data = &vec2d_sample[nylo_out][nxlo_out]; + else data = &array2d_sample[nylo_out][nxlo_out][0]; } else if (dimension == 3) { - count = &count3d[nzlo_out][nylo_out][nxlo_out]; - if (nvalues == 1) data = &vec3d[nzlo_out][nylo_out][nxlo_out]; - else data = &array3d[nzlo_out][nylo_out][nxlo_out][0]; + count = &count3d_sample[nzlo_out][nylo_out][nxlo_out]; + if (nvalues == 1) data = &vec3d_sample[nzlo_out][nylo_out][nxlo_out]; + else data = &array3d_sample[nzlo_out][nylo_out][nxlo_out][0]; } if (nvalues == 1) { @@ -1351,13 +1482,13 @@ void FixAveGrid::unpack_reverse_grid(int /*flag*/, void *vbuf, int nlist, int *l m = 0; if (dimension == 2) { - count = &count2d[nylo_out][nxlo_out]; - if (nvalues == 1) data = &vec2d[nylo_out][nxlo_out]; - else data = &array2d[nylo_out][nxlo_out][0]; + count = &count2d_sample[nylo_out][nxlo_out]; + if (nvalues == 1) data = &vec2d_sample[nylo_out][nxlo_out]; + else data = &array2d_sample[nylo_out][nxlo_out][0]; } else if (dimension == 3) { - count = &count3d[nzlo_out][nylo_out][nxlo_out]; - if (nvalues == 1) data = &vec3d[nzlo_out][nylo_out][nxlo_out]; - else data = &array3d[nzlo_out][nylo_out][nxlo_out][0]; + count = &count3d_sample[nzlo_out][nylo_out][nxlo_out]; + if (nvalues == 1) data = &vec3d_sample[nzlo_out][nylo_out][nxlo_out]; + else data = &array3d_sample[nzlo_out][nylo_out][nxlo_out][0]; } if (nvalues == 1) { diff --git a/src/fix_ave_grid.h b/src/fix_ave_grid.h index 9445884b41..1e6a919bbf 100644 --- a/src/fix_ave_grid.h +++ b/src/fix_ave_grid.h @@ -74,6 +74,14 @@ class FixAveGrid : public Fix { int ngridout; double shift; + double **vec2d_sample,***vec3d_sample; + double ***array2d_sample,****array3d_sample; + double **count2d_sample,***count3d_sample; + + double **vec2d_epoch,***vec3d_epoch; + double ***array2d_epoch,****array3d_epoch; + double **count2d_epoch,***count3d_epoch; + double **vec2d,***vec3d; double ***array2d,****array3d; double **count2d,***count3d; @@ -87,7 +95,10 @@ class FixAveGrid : public Fix { void atom2grid(); void grid2grid(); - void zero_grid(); + void zero_sample(); + void zero_epoch(); + void zero_output(); + void sum_sample_to_epoch(); bigint nextvalid(); }; From 06e6a168f6e3bc76a278da1879ce95d94afd1035 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 19 Aug 2022 14:05:41 -0600 Subject: [PATCH 047/142] more normalization --- src/fix_ave_grid.cpp | 322 ++++++++++++++++++++++++------------------- 1 file changed, 177 insertions(+), 145 deletions(-) diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index fdd234daa9..416ddd59c8 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -646,7 +646,7 @@ void FixAveGrid::end_of_step() // for ATOM mode, perform ghost to owned grid communication // done every sample for norm = SAMPLE, else once per Nfreq epoch - // nvalues + 1 for atom count + // nvalues+1 includes atom count if (modeatom) { if (dimension == 2) @@ -658,15 +658,11 @@ void FixAveGrid::end_of_step() } // for norm = SAMPLE, sum per-sample values and count to per-epoch - // for ATOM mode, also need to normalize per-sample values + // for ATOM mode, also need to normalize for single sample // then return if irepeat < nrepeat if (normflag == SAMPLE) { - - - - - + if (modeatom) normalize_atom(1); sum_sample_to_epoch(); if (irepeat < nrepeat && (normflag == ALL || normflag == NONORM)) { @@ -686,149 +682,24 @@ void FixAveGrid::end_of_step() if (ngridout == 0) return; - - - - - - // average the final results across Nrepeat samples - // for ATOM mode, result = total_value / total_count - // exception is DENSITY_NUMBER: - // result = value / (current binvol * Nrepeat) - // exception is DENSITY_MASS: - // result = (value * mv2d) / (current binvol * Nrepeat) - // exception is TEMPERATURE: - // result = (value * mvv2e) / (Nrepeat*cdof + adof*count) * boltz) - // for GRID mode, final is total value / Nrepeat + // average the final results for the entire epoch + // for norm = ALL, normalize values_sample by Nrepeat and counts + // for norm = SAMPLE, normalize values_epoch by Nrepeat if (modeatom) { - double mvv2e = force->mvv2e; - double mv2d = force->mv2d; - double boltz = force->boltz; - - double count,norm; - double repeat = nrepeat; - double invrepeat = 1.0/nrepeat; - - double *prd = domain->prd; - double dx = prd[0]/nxgrid; - double dy = prd[1]/nygrid; - double dz = prd[2]/nzgrid; - - double binvol; - if (dimension == 2) binvol = dx*dy; - else binvol = dx*dy*dz; - - if (dimension == 2) { - if (nvalues == 1) { - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) { - count = count2d[iy][ix]; - if (count) { - if (which[0] == ArgInfo::DENSITY_NUMBER) - norm = 1.0 / (binvol * repeat); - else if (which[0] == ArgInfo::DENSITY_MASS) - norm = mv2d / (binvol * nrepeat); - else if (which[0] == ArgInfo::TEMPERATURE) - norm = mvv2e /((repeat*cdof + adof*count) * boltz); - else - norm = 1.0/count; - vec2d[iy][ix] *= norm; - count2d[iy][ix] *= invrepeat; - } - } - } else { - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) { - count = count2d[iy][ix]; - if (count) { - for (m = 0; m <= nvalues; m++) { - if (which[m] == ArgInfo::DENSITY_NUMBER) - norm = 1.0 / (binvol * repeat); - else if (which[m] == ArgInfo::DENSITY_MASS) - norm = mv2d / (binvol * nrepeat); - else if (which[m] == ArgInfo::TEMPERATURE) - norm = mvv2e /((repeat*cdof + adof*count) * boltz); - else - norm = 1.0/count; - array2d[iy][ix][m] *= norm; - } - count2d[iy][ix] *= invrepeat; - } - } - } - } else { - if (nvalues == 1) { - for (iz = nzlo_in; iz <= nzhi_in; iz++) - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) { - count = count3d[iz][iy][ix]; - if (count) { - if (which[0] == ArgInfo::DENSITY_NUMBER) - norm = 1.0 / (binvol * repeat); - else if (which[0] == ArgInfo::DENSITY_MASS) - norm = mv2d / (binvol * nrepeat); - else if (which[0] == ArgInfo::TEMPERATURE) - norm = mvv2e /((repeat*cdof + adof*count) * boltz); - else - norm = 1.0/count; - vec3d[iz][iy][ix] *= norm; - count3d[iz][iy][ix] *= invrepeat; - } - } - } else { - for (iz = nzlo_in; iz <= nzhi_in; iz++) - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) { - count = count3d[iz][iy][ix]; - if (count) { - for (m = 0; m <= nvalues; m++) { - if (which[m] == ArgInfo::DENSITY_NUMBER) - norm = 1.0 / (binvol * repeat); - else if (which[m] == ArgInfo::DENSITY_MASS) - norm = mv2d / (binvol * nrepeat); - else if (which[m] == ArgInfo::TEMPERATURE) - norm = mvv2e /((repeat*cdof + adof*count) * boltz); - else - norm = 1.0/count; - array3d[iz][iy][ix][m] *= norm; - } - count3d[iz][iy][ix] *= invrepeat; - } - } - } - } + if (normflag == ALL) normalize_atom(nrepeat); + else if (normflag == SAMPLE) + normalize_grid(vec2d_epoch,array2d_epoch,vec3d_epoch,array3d_epoch); + else if (normflag == NONORM) normalize_atom(); } - if (modegrid) { - double invrepeat = 1.0/nrepeat; + if (modegrid) + normalize_grid(vec2d_sample,array2d_sample,vec3d_sample,array3d_sample); + + + + // create Nfreq output - if (dimension == 2) { - if (nvalues == 1) { - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - vec2d[iy][ix] *= invrepeat; - } else { - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - for (m = 0; m <= nvalues; m++) - array2d[iy][ix][m] *= invrepeat; - } - } else { - if (nvalues == 1) { - for (iz = nzlo_in; iz <= nzhi_in; iz++) - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - vec3d[iz][iy][ix] *= invrepeat; - } else { - for (iz = nzlo_in; iz <= nzhi_in; iz++) - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - for (m = 0; m <= nvalues; m++) - array3d[iz][iy][ix][m] *= invrepeat; - } - } - } } /* ---------------------------------------------------------------------- @@ -1430,6 +1301,167 @@ void FixAveGrid::sum_sample_to_epoch() } } +/* ---------------------------------------------------------------------- + normalize grid values and per-cell counts for ATOM mode for owned cells + flag = SAMPLE or EPOCH + set repeat = 1 for SAMPLE, Nrepeat for EPOCH + sample_value & count are either for one sample or summed over epoch + result = sample_value / count + exception is DENSITY_NUMBER: + result = value / (current binvol * Nrepeat) + exception is DENSITY_MASS: + result = (value * mv2d) / (current binvol * Nrepeat) + exception is TEMPERATURE: + result = (value * mvv2e) / (Nrepeat*cdof + adof*count) * boltz) +------------------------------------------------------------------------- */ + +void FixAveGrid::normalize_atom(int flag) +{ + int ix,iy,iz,m; + double count,norm; + double repeat,invrepeat; + + double mvv2e = force->mvv2e; + double mv2d = force->mv2d; + double boltz = force->boltz; + + if (flag == EPOCH) { + repeat = nrepeat; + invrepeat = 1.0/nrepeat; + } else if (flag == SAMPLE) { + repeat = invrepeat = 1.0; + } + + double *prd = domain->prd; + double dx = prd[0]/nxgrid; + double dy = prd[1]/nygrid; + double dz = prd[2]/nzgrid; + + double binvol; + if (dimension == 2) binvol = dx*dy; + else binvol = dx*dy*dz; + + if (dimension == 2) { + if (nvalues == 1) { + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) { + count = count2d[iy][ix]; + if (count) { + if (which[0] == ArgInfo::DENSITY_NUMBER) + norm = 1.0 / (binvol * repeat); + else if (which[0] == ArgInfo::DENSITY_MASS) + norm = mv2d / (binvol * nrepeat); + else if (which[0] == ArgInfo::TEMPERATURE) + norm = mvv2e /((repeat*cdof + adof*count) * boltz); + else + norm = 1.0/count; + vec2d_sample[iy][ix] *= norm; + count2d_sample[iy][ix] *= invrepeat; + } + } + } else { + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) { + count = count2d[iy][ix]; + if (count) { + for (m = 0; m <= nvalues; m++) { + if (which[m] == ArgInfo::DENSITY_NUMBER) + norm = 1.0 / (binvol * repeat); + else if (which[m] == ArgInfo::DENSITY_MASS) + norm = mv2d / (binvol * nrepeat); + else if (which[m] == ArgInfo::TEMPERATURE) + norm = mvv2e /((repeat*cdof + adof*count) * boltz); + else + norm = 1.0/count; + array2d_sample[iy][ix][m] *= norm; + } + count2d_sample[iy][ix] *= invrepeat; + } + } + } + } else { + if (nvalues == 1) { + for (iz = nzlo_in; iz <= nzhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) { + count = count3d[iz][iy][ix]; + if (count) { + if (which[0] == ArgInfo::DENSITY_NUMBER) + norm = 1.0 / (binvol * repeat); + else if (which[0] == ArgInfo::DENSITY_MASS) + norm = mv2d / (binvol * nrepeat); + else if (which[0] == ArgInfo::TEMPERATURE) + norm = mvv2e /((repeat*cdof + adof*count) * boltz); + else + norm = 1.0/count; + vec3d_sample[iz][iy][ix] *= norm; + count3d_value[iz][iy][ix] *= invrepeat; + } + } + } else { + for (iz = nzlo_in; iz <= nzhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) { + count = count3d[iz][iy][ix]; + if (count) { + for (m = 0; m <= nvalues; m++) { + if (which[m] == ArgInfo::DENSITY_NUMBER) + norm = 1.0 / (binvol * repeat); + else if (which[m] == ArgInfo::DENSITY_MASS) + norm = mv2d / (binvol * nrepeat); + else if (which[m] == ArgInfo::TEMPERATURE) + norm = mvv2e /((repeat*cdof + adof*count) * boltz); + else + norm = 1.0/count; + array3d_sample[iz][iy][ix][m] *= norm; + } + count3d_sample[iz][iy][ix] *= invrepeat; + } + } + } + } +} + +/* ---------------------------------------------------------------------- + normalize grid values by Nrepeat + used for GRID mode + used for ATOM MODE with norm = SAMPLE +------------------------------------------------------------------------- */ + +void FixAveGrid::normalize_grid(double **v2d, double ***a2d, + double ***v3d, double ****a3d) +{ + int ix,iy,iz,m; + + double invrepeat = 1.0/nrepeat; + + if (dimension == 2) { + if (nvalues == 1) { + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + v2d[iy][ix] *= invrepeat; + } else { + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + for (m = 0; m <= nvalues; m++) + a2d[iy][ix][m] *= invrepeat; + } + } else { + if (nvalues == 1) { + for (iz = nzlo_in; iz <= nzhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + v3d[iz][iy][ix] *= invrepeat; + } else { + for (iz = nzlo_in; iz <= nzhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + for (m = 0; m <= nvalues; m++) + a3d[iz][iy][ix][m] *= invrepeat; + } + } +} + /* ---------------------------------------------------------------------- pack ghost values into buf to send to another proc nvalues per grid point + count From b26ee6d75dcc2cd1b0f9d492deb8c302fe72b2ec Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 19 Aug 2022 17:13:04 -0600 Subject: [PATCH 048/142] more normalization code --- src/fix_ave_grid.cpp | 282 +++++++++++++++++++++++-------------------- src/fix_ave_grid.h | 29 ++++- 2 files changed, 178 insertions(+), 133 deletions(-) diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index 416ddd59c8..cbab992794 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -170,7 +170,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : // optional args normflag = ALL; - ave = ONE; + aveflag = ONE; nwindow = 0; biasflag = 0; id_bias = nullptr; @@ -188,17 +188,17 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"ave") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/grid command"); - 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; + if (strcmp(arg[iarg+1],"one") == 0) aveflag = ONE; + else if (strcmp(arg[iarg+1],"running") == 0) aveflag = RUNNING; + else if (strcmp(arg[iarg+1],"window") == 0) aveflag = WINDOW; else error->all(FLERR,"Illegal fix ave/grid command"); - if (ave == WINDOW) { + if (aveflag == WINDOW) { if (iarg+3 > narg) error->all(FLERR,"Illegal fix ave/grid command"); nwindow = utils::inumeric(FLERR,arg[iarg+2],false,lmp); if (nwindow <= 0) error->all(FLERR,"Illegal fix ave/grid command"); + iarg++; } iarg += 2; - if (ave == WINDOW) iarg++; } else if (strcmp(arg[iarg],"bias") == 0) { if (iarg+2 > narg) @@ -253,11 +253,6 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Bias compute does not calculate a velocity bias"); } - if (normflag != ALL) - error->all(FLERR,"Fix ave/grid norm all is required for now"); - if (ave != ONE) - error->all(FLERR,"Fix ave/grid ave one is required for now"); - // error checks for ATOM mode if (modeatom) { @@ -453,9 +448,18 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : } // zero the output grid and counts since dump may access it on timestep 0 + // zero running grid if used by ave - zero_output(); + running_count = 0; + window_count = 0; + window_oldest = -1; + window_newest = 0; + zero_grid(count2d,vec2d,array2d,count3d,vec3d,array3d); + if (aveflag == RUNNING || aveflag == WINDOW) + zero_grid(count2d_running,vec2d_running,array2d_running, + count3d_running,vec3d_running,array3d_running); + // bin indices for ATOM mode // vresult for per-atom variable evaluation @@ -620,10 +624,13 @@ void FixAveGrid::end_of_step() if (ntimestep != nvalid) return; nvalid_last = nvalid; - // zero owned and ghost grid points and counts if first sample in epoch + // if first sample in epoch, zero owned and ghost grid points - if (irepeat == 0) zero_epoch(); - if (irepeat == 0 || normflag == SAMPLE) zero_sample(); + if (irepeat == 0) zero_grid(count2d_sample,vec2d_sample,array2d_sample, + count3d_sample,vec3d_sample,array3d_sample); + if (irepeat == 0 || normflag == SAMPLE) + zero_grid(count2d_epoch,vec2d_epoch,array2d_epoch, + count3d_epoch,vec3d_epoch,array3d_epoch); // accumulate per-grid values for one sample for either ATOM or GRID mode // per-atom compute/fix/variable may invoke computes so wrap with clear/add @@ -684,22 +691,51 @@ void FixAveGrid::end_of_step() // average the final results for the entire epoch // for norm = ALL, normalize values_sample by Nrepeat and counts - // for norm = SAMPLE, normalize values_epoch by Nrepeat + // for norm = SAMPLE, normalize values_sample_sum by Nrepeat if (modeatom) { - if (normflag == ALL) normalize_atom(nrepeat); - else if (normflag == SAMPLE) - normalize_grid(vec2d_epoch,array2d_epoch,vec3d_epoch,array3d_epoch); - else if (normflag == NONORM) normalize_atom(); + if (normflag == ALL || normflag == NONORM) normalize_atom(nrepeat); + else if (normflag == SAMPLE) { + normalize_grid(nrepeat,vec2d_epoch,array2d_epoch,vec3d_epoch,array3d_epoch); + copy_epoch_to_sample(); + } } if (modegrid) - normalize_grid(vec2d_sample,array2d_sample,vec3d_sample,array3d_sample); - - + normalize_grid(nrepeat,vec2d_sample,array2d_sample, + vec3d_sample,array3d_sample); // create Nfreq output + if (aveflag == ONE) { + copy_sample_to_output(); + + } else if (aveflag == RUNNING) { + running_count++; + sum_sample_to_running(); + copy_running_to_output(); + normalize_grid(running_count,vec2d_running,array2d_running, + vec3d_running,array3d_running); + + } else if (aveflag == WINDOW) { + sum_sample_to_running(); + + if (window_oldest >= 0) { + subtract_window_from_running(); + window_count--; + } + window_oldest++; + if (window_oldest == nwindow) window_oldest = 0; + + copy_sample_to_window(window_newest); + window_count++; + window_newest++; + if (window_newest == nwindow) window_newest = 0; + + copy_running_to_output(); + normalize_grid(window_count,vec2d_running,array2d_running, + vec3d_running,array3d_running); + } } /* ---------------------------------------------------------------------- @@ -773,6 +809,7 @@ void FixAveGrid::atom2grid() bin[i][0] = iy; bin[i][1] = ix; } + } else { for (i = 0; i < nlocal; i++) { if (!(mask[i] & groupbit)) { @@ -1163,105 +1200,35 @@ void FixAveGrid::grid2grid() } /* ---------------------------------------------------------------------- - zero values for sample grids incluing ghost cells + zero values for a grid incluing ghost cells if ATOM mode, also zero per-cell counts ------------------------------------------------------------------------- */ -void FixAveGrid::zero_sample() +void FixAveGrid::zero_grid(double **c2d, double **v2d, double ***a2d, + double ***c3d, double ***v3d, double ****a3d) { if (!ngridout) return; if (dimension == 2) { + if (modeatom) + memset(&c2d[nylo_out][nxlo_out],0,ngridout*sizeof(double)); if (nvalues == 1) - memset(&vec2d_sample[nylo_out][nxlo_out],0, - ngridout*sizeof(double)); + memset(&v2d[nylo_out][nxlo_out],0,ngridout*sizeof(double)); else - memset(&array2d_sample[nylo_out][nxlo_out][0],0, - ngridout*nvalues*sizeof(double)); - if (modeatom) - memset(&count2d_sample[nylo_out][nxlo_out],0, - ngridout*sizeof(double)); + memset(&a2d[nylo_out][nxlo_out][0],0,ngridout*nvalues*sizeof(double)); } else { - if (nvalues == 1) - memset(&vec3d_sample[nzlo_out][nylo_out][nxlo_out],0, - ngridout*sizeof(double)); - else - memset(&array3d_sample[nzlo_out][nylo_out][nxlo_out][0],0, - ngridout*nvalues*sizeof(double)); if (modeatom) - memset(&count3d_sample[nzlo_out][nylo_out][nxlo_out],0, - ngridout*sizeof(double)); + memset(&c3d[nzlo_out][nylo_out][nxlo_out],0,ngridout*sizeof(double)); + if (nvalues == 1) + memset(&v3d[nzlo_out][nylo_out][nxlo_out],0,ngridout*sizeof(double)); + else + memset(&a3d[nzlo_out][nylo_out][nxlo_out][0],0, + ngridout*nvalues*sizeof(double)); } } /* ---------------------------------------------------------------------- - zero values for Nfreq epoch grids incluing ghost cells - if ATOM mode, also zero per-cell counts -------------------------------------------------------------------------- */ - -void FixAveGrid::zero_epoch() -{ - if (!ngridout) return; - - if (dimension == 2) { - if (nvalues == 1) - memset(&vec2d_epoch[nylo_out][nxlo_out],0, - ngridout*sizeof(double)); - else - memset(&array2d_epoch[nylo_out][nxlo_out][0],0, - ngridout*nvalues*sizeof(double)); - if (modeatom) - memset(&count2d_epoch[nylo_out][nxlo_out],0, - ngridout*sizeof(double)); - - } else { - if (nvalues == 1) - memset(&vec3d_epoch[nzlo_out][nylo_out][nxlo_out],0, - ngridout*sizeof(double)); - else - memset(&array3d_epoch[nzlo_out][nylo_out][nxlo_out][0],0, - ngridout*nvalues*sizeof(double)); - if (modeatom) - memset(&count3d_epoch[nzlo_out][nylo_out][nxlo_out],0, - ngridout*sizeof(double)); - } -} - -/* ---------------------------------------------------------------------- - zero values for output grids incluing ghost cells - if ATOM mode, also zero per-cell counts -------------------------------------------------------------------------- */ - -void FixAveGrid::zero_output() -{ - if (!ngridout) return; - - if (dimension == 2) { - if (nvalues == 1) - memset(&vec2d[nylo_out][nxlo_out],0, - ngridout*sizeof(double)); - else - memset(&array2d[nylo_out][nxlo_out][0],0, - ngridout*nvalues*sizeof(double)); - if (modeatom) - memset(&count2d[nylo_out][nxlo_out],0, - ngridout*sizeof(double)); - - } else { - if (nvalues == 1) - memset(&vec3d[nzlo_out][nylo_out][nxlo_out],0, - ngridout*sizeof(double)); - else - memset(&array3d[nzlo_out][nylo_out][nxlo_out][0],0, - ngridout*nvalues*sizeof(double)); - if (modeatom) - memset(&count3d[nzlo_out][nylo_out][nxlo_out],0, - ngridout*sizeof(double)); - } -} - -/* ---------------------------------------------------------------------- - sum sample grid values to Nfreq epoch grids, just for owned grid cells + sum sample grid values to Nfreq epoch grid, just for owned grid cells if ATOM mode, also sum per-cell counts ------------------------------------------------------------------------- */ @@ -1282,7 +1249,10 @@ void FixAveGrid::sum_sample_to_epoch() for (m = 0; m <= nvalues; m++) array2d_epoch[iy][ix][m] += array2d_sample[iy][ix][m]; } - if (modeatom) count2d_epoch[iy][ix] += count2d_sample[iy][ix]; + if (modeatom) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + count2d_epoch[iy][ix] += count2d_sample[iy][ix]; } else { if (nvalues == 1) { @@ -1297,15 +1267,66 @@ void FixAveGrid::sum_sample_to_epoch() for (m = 0; m <= nvalues; m++) array3d_epoch[iz][iy][ix][m] += array3d_sample[iz][iy][ix][m]; } - if (modeatom) count3d_epoch[iz][iy][ix] += count3d_sample[iz][iy][ix]; + if (modeatom) + for (iz = nylo_in; iz <= nyhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + count3d_epoch[iz][iy][ix] += count3d_sample[iz][iy][ix]; + } +} + +/* ---------------------------------------------------------------------- + copy Nfreq epoch grid values to sample grid, just for owned grid cells + if ATOM mode, also copy per-cell counts +------------------------------------------------------------------------- */ + +void FixAveGrid::copy_epoch_to_sample() +{ + int ix,iy,iz,m; + + if (!ngridout) return; + + if (dimension == 2) { + if (nvalues == 1) { + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + vec2d_sample[iy][ix] = vec2d_epoch[iy][ix]; + } else { + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + for (m = 0; m <= nvalues; m++) + array2d_sample[iy][ix][m] = array2d_epoch[iy][ix][m]; + } + if (modeatom) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + count2d_sample[iy][ix] = count2d_epoch[iy][ix]; + + } else { + if (nvalues == 1) { + for (iz = nylo_in; iz <= nyhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + vec3d_sample[iz][iy][ix] = vec3d_epoch[iz][iy][ix]; + } else { + for (iz = nylo_in; iz <= nyhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + for (m = 0; m <= nvalues; m++) + array3d_sample[iz][iy][ix][m] = array3d_epoch[iz][iy][ix][m]; + } + if (modeatom) + for (iz = nylo_in; iz <= nyhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + count3d_sample[iz][iy][ix] = count3d_epoch[iz][iy][ix]; } } /* ---------------------------------------------------------------------- normalize grid values and per-cell counts for ATOM mode for owned cells - flag = SAMPLE or EPOCH - set repeat = 1 for SAMPLE, Nrepeat for EPOCH - sample_value & count are either for one sample or summed over epoch + numsamples = normalization factor + value_sample & count are either for one sample or summed over epoch result = sample_value / count exception is DENSITY_NUMBER: result = value / (current binvol * Nrepeat) @@ -1315,22 +1336,14 @@ void FixAveGrid::sum_sample_to_epoch() result = (value * mvv2e) / (Nrepeat*cdof + adof*count) * boltz) ------------------------------------------------------------------------- */ -void FixAveGrid::normalize_atom(int flag) +void FixAveGrid::normalize_atom(int numsamples) { int ix,iy,iz,m; double count,norm; - double repeat,invrepeat; double mvv2e = force->mvv2e; double mv2d = force->mv2d; double boltz = force->boltz; - - if (flag == EPOCH) { - repeat = nrepeat; - invrepeat = 1.0/nrepeat; - } else if (flag == SAMPLE) { - repeat = invrepeat = 1.0; - } double *prd = domain->prd; double dx = prd[0]/nxgrid; @@ -1341,11 +1354,14 @@ void FixAveGrid::normalize_atom(int flag) if (dimension == 2) binvol = dx*dy; else binvol = dx*dy*dz; + double repeat = numsamples; + double invrepeat = 1.0/repeat; + if (dimension == 2) { if (nvalues == 1) { for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) { - count = count2d[iy][ix]; + count = count2d_sample[iy][ix]; if (count) { if (which[0] == ArgInfo::DENSITY_NUMBER) norm = 1.0 / (binvol * repeat); @@ -1353,7 +1369,9 @@ void FixAveGrid::normalize_atom(int flag) norm = mv2d / (binvol * nrepeat); else if (which[0] == ArgInfo::TEMPERATURE) norm = mvv2e /((repeat*cdof + adof*count) * boltz); - else + else if (normflag == NONORM) + norm = 1.0/invrepeat; + else if (normflag == NONORM) norm = 1.0/count; vec2d_sample[iy][ix] *= norm; count2d_sample[iy][ix] *= invrepeat; @@ -1362,7 +1380,7 @@ void FixAveGrid::normalize_atom(int flag) } else { for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) { - count = count2d[iy][ix]; + count = count2d_sample[iy][ix]; if (count) { for (m = 0; m <= nvalues; m++) { if (which[m] == ArgInfo::DENSITY_NUMBER) @@ -1371,6 +1389,8 @@ void FixAveGrid::normalize_atom(int flag) norm = mv2d / (binvol * nrepeat); else if (which[m] == ArgInfo::TEMPERATURE) norm = mvv2e /((repeat*cdof + adof*count) * boltz); + else if (normflag == NONORM) + norm = 1.0/invrepeat; else norm = 1.0/count; array2d_sample[iy][ix][m] *= norm; @@ -1384,7 +1404,7 @@ void FixAveGrid::normalize_atom(int flag) for (iz = nzlo_in; iz <= nzhi_in; iz++) for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) { - count = count3d[iz][iy][ix]; + count = count3d_sample[iz][iy][ix]; if (count) { if (which[0] == ArgInfo::DENSITY_NUMBER) norm = 1.0 / (binvol * repeat); @@ -1392,17 +1412,19 @@ void FixAveGrid::normalize_atom(int flag) norm = mv2d / (binvol * nrepeat); else if (which[0] == ArgInfo::TEMPERATURE) norm = mvv2e /((repeat*cdof + adof*count) * boltz); + else if (normflag == NONORM) + norm = 1.0/invrepeat; else norm = 1.0/count; vec3d_sample[iz][iy][ix] *= norm; - count3d_value[iz][iy][ix] *= invrepeat; + count3d_sample[iz][iy][ix] *= invrepeat; } } } else { for (iz = nzlo_in; iz <= nzhi_in; iz++) for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) { - count = count3d[iz][iy][ix]; + count = count3d_sample[iz][iy][ix]; if (count) { for (m = 0; m <= nvalues; m++) { if (which[m] == ArgInfo::DENSITY_NUMBER) @@ -1411,6 +1433,8 @@ void FixAveGrid::normalize_atom(int flag) norm = mv2d / (binvol * nrepeat); else if (which[m] == ArgInfo::TEMPERATURE) norm = mvv2e /((repeat*cdof + adof*count) * boltz); + else if (normflag == NONORM) + norm = 1.0/invrepeat; else norm = 1.0/count; array3d_sample[iz][iy][ix][m] *= norm; @@ -1428,12 +1452,12 @@ void FixAveGrid::normalize_atom(int flag) used for ATOM MODE with norm = SAMPLE ------------------------------------------------------------------------- */ -void FixAveGrid::normalize_grid(double **v2d, double ***a2d, +void FixAveGrid::normalize_grid(int numsamples, double **v2d, double ***a2d, double ***v3d, double ****a3d) { int ix,iy,iz,m; - double invrepeat = 1.0/nrepeat; + double invrepeat = 1.0/numsamples; if (dimension == 2) { if (nvalues == 1) { diff --git a/src/fix_ave_grid.h b/src/fix_ave_grid.h index 1e6a919bbf..b53cbaddf9 100644 --- a/src/fix_ave_grid.h +++ b/src/fix_ave_grid.h @@ -51,7 +51,10 @@ class FixAveGrid : public Fix { int nrepeat, irepeat; bigint nvalid, nvalid_last; int modeatom,modegrid; - int normflag,scaleflag,ave,nwindow; + int normflag,aveflag,nwindow; + + int running_count; + int window_count,window_oldest,window_newest; int biasflag; char *id_bias; @@ -82,6 +85,14 @@ class FixAveGrid : public Fix { double ***array2d_epoch,****array3d_epoch; double **count2d_epoch,***count3d_epoch; + double **vec2d_running,***vec3d_running; + double ***array2d_running,****array3d_running; + double **count2d_running,***count3d_running; + + double ***vec2d_window,****vec3d_window; + double ****array2d_window,*****array3d_window; + double ***count2d_window,****count3d_window; + double **vec2d,***vec3d; double ***array2d,****array3d; double **count2d,***count3d; @@ -95,10 +106,20 @@ class FixAveGrid : public Fix { void atom2grid(); void grid2grid(); - void zero_sample(); - void zero_epoch(); - void zero_output(); + + void zero_grid(double **, double **, double ***, + double ***, double ***, double ****); void sum_sample_to_epoch(); + void copy_epoch_to_sample(); + void sum_sample_to_running() {} + void copy_sample_to_output() {} + void copy_running_to_output() {} + void copy_sample_to_window(int) {} + void subtract_window_from_running() {} + + void normalize_atom(int); + void normalize_grid(int, double **, double ***, double ***, double ****); + bigint nextvalid(); }; From 37e9bf54ab419369f914e924402da870fad86c05 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 22 Aug 2022 17:13:59 -0600 Subject: [PATCH 049/142] debugging fixes --- src/compute_property_grid.cpp | 16 +-- src/fix_ave_grid.cpp | 237 ++++++++++++++++++++++++++-------- src/fix_ave_grid.h | 2 + 3 files changed, 192 insertions(+), 63 deletions(-) diff --git a/src/compute_property_grid.cpp b/src/compute_property_grid.cpp index 69222a8bf0..b7ea473c63 100644 --- a/src/compute_property_grid.cpp +++ b/src/compute_property_grid.cpp @@ -298,7 +298,7 @@ double ComputePropertyGrid::memory_usage() void ComputePropertyGrid::pack_id(int n) { if (dimension == 2) { - if (nvalues == 0) { + if (nvalues == 1) { for (int iy = nylo_in; iy <= nyhi_in; iy++) for (int ix = nxlo_in; ix <= nxhi_in; ix++) vec2d[iy][ix] = iy * nxgrid + ix + 1; } else { @@ -306,7 +306,7 @@ void ComputePropertyGrid::pack_id(int n) for (int ix = nxlo_in; ix <= nxhi_in; ix++) array2d[iy][ix][n] = iy * nxgrid + ix + 1; } } else if (dimension == 3) { - if (nvalues == 0) { + if (nvalues == 1) { for (int iz = nzlo_in; iz <= nzhi_in; iz++) for (int iy = nylo_in; iy <= nyhi_in; iy++) for (int ix = nxlo_in; ix <= nxhi_in; ix++) @@ -327,7 +327,7 @@ void ComputePropertyGrid::pack_id(int n) template void ComputePropertyGrid::pack_indices(int n) { if (dimension == 2) { - if (nvalues == 0) { + if (nvalues == 1) { for (int iy = nylo_in; iy <= nyhi_in; iy++) for (int ix = nxlo_in; ix <= nxhi_in; ix++) { if (IDIM == 0) vec2d[iy][ix] = ix + 1; @@ -342,7 +342,7 @@ template void ComputePropertyGrid::pack_indices(int n) } } else if (dimension == 3) { - if (nvalues == 0) { + if (nvalues == 1) { for (int iz = nzlo_in; iz <= nzhi_in; iz++) for (int iy = nylo_in; iy <= nyhi_in; iy++) for (int ix = nxlo_in; ix <= nxhi_in; ix++) { @@ -387,7 +387,7 @@ template void ComputePropertyGrid::pack_coords(int if (IDIM == 1) delta = 1.0 / nygrid; } - if (nvalues == 0) { + if (nvalues == 1) { for (int iy = nylo_in; iy <= nyhi_in; iy++) for (int ix = nxlo_in; ix <= nxhi_in; ix++) { if (POS == LOW) { @@ -422,7 +422,7 @@ template void ComputePropertyGrid::pack_coords(int double dy = 1.0 / nygrid; lamda[2] = 0.0; - if (nvalues == 0) { + if (nvalues == 1) { for (int iy = nylo_in; iy <= nyhi_in; iy++) { lamda[1] = iy * dy; for (int ix = nxlo_in; ix <= nxhi_in; ix++) { @@ -462,7 +462,7 @@ template void ComputePropertyGrid::pack_coords(int if (IDIM == 2) delta = 1.0 / nzgrid; } - if (nvalues == 0) { + if (nvalues == 1) { for (int iz = nzlo_in; iz <= nzhi_in; iz++) for (int iy = nylo_in; iy <= nyhi_in; iy++) for (int ix = nxlo_in; ix <= nxhi_in; ix++) { @@ -503,7 +503,7 @@ template void ComputePropertyGrid::pack_coords(int double dy = 1.0 / nygrid; double dz = 1.0 / nzgrid; - if (nvalues == 0) { + if (nvalues == 1) { for (int iz = nzlo_in; iz <= nzhi_in; iz++) { lamda[2] = iz * dz; for (int iy = nylo_in; iy <= nyhi_in; iy++) { diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index cbab992794..90945433b1 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -53,7 +53,13 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : grid2d(nullptr), grid3d(nullptr), grid_buf1(nullptr), grid_buf2(nullptr), vec2d(nullptr), vec3d(nullptr), array2d(nullptr), array3d(nullptr), - count2d(nullptr), count3d(nullptr) + count2d(nullptr), count3d(nullptr), + vec2d_sample(nullptr), vec3d_sample(nullptr), array2d_sample(nullptr), array3d_sample(nullptr), + count2d_sample(nullptr), count3d_sample(nullptr), + vec2d_epoch(nullptr), vec3d_epoch(nullptr), array2d_epoch(nullptr), array3d_epoch(nullptr), + count2d_epoch(nullptr), count3d_epoch(nullptr), + vec2d_running(nullptr), vec3d_running(nullptr), array2d_running(nullptr), array3d_running(nullptr), + count2d_running(nullptr), count3d_running(nullptr) { if (narg < 10) error->all(FLERR,"Illegal fix ave/grid command"); @@ -97,45 +103,45 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[iarg],"vx") == 0) { which[nvalues] = ArgInfo::V; - argindex[nvalues++] = 0; + argindex[nvalues] = 0; modeatom = 1; } else if (strcmp(arg[iarg],"vy") == 0) { which[nvalues] = ArgInfo::V; - argindex[nvalues++] = 1; + argindex[nvalues] = 1; modeatom = 1; } else if (strcmp(arg[iarg],"vz") == 0) { which[nvalues] = ArgInfo::V; - argindex[nvalues++] = 2; + argindex[nvalues] = 2; modeatom = 1; } else if (strcmp(arg[iarg],"fx") == 0) { which[nvalues] = ArgInfo::F; - argindex[nvalues++] = 0; + argindex[nvalues] = 0; modeatom = 1; } else if (strcmp(arg[iarg],"fy") == 0) { which[nvalues] = ArgInfo::F; - argindex[nvalues++] = 1; + argindex[nvalues] = 1; modeatom = 1; } else if (strcmp(arg[iarg],"fz") == 0) { which[nvalues] = ArgInfo::F; - argindex[nvalues++] = 2; + argindex[nvalues] = 2; modeatom = 1; } else if (strcmp(arg[iarg],"density/number") == 0) { which[nvalues] = ArgInfo::DENSITY_NUMBER; - argindex[nvalues++] = 0; + argindex[nvalues] = 0; modeatom = 1; } else if (strcmp(arg[iarg],"density/mass") == 0) { which[nvalues] = ArgInfo::DENSITY_MASS; - argindex[nvalues++] = 0; + argindex[nvalues] = 0; modeatom = 1; } else if (strcmp(arg[iarg],"mass") == 0) { which[nvalues] = ArgInfo::MASS; - argindex[nvalues++] = 0; + argindex[nvalues] = 0; modeatom = 1; } else if (strcmp(arg[iarg],"temp") == 0) { which[nvalues] = ArgInfo::TEMPERATURE; - argindex[nvalues++] = 0; + argindex[nvalues] = 0; modeatom = 1; } else { @@ -154,10 +160,9 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : if (modegrid && which[nvalues] == ArgInfo::VARIABLE) error->all(FLERR,"Fix ave/grid cannot use variable for grid info"); - - nvalues++; } + nvalues++; iarg++; } @@ -387,18 +392,18 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : // instantiate the Grid class and allocate per-grid memory - double maxdist,shift; + double maxdist; if (modeatom) { maxdist = 0.5 * neighbor->skin; - shift = SHIFT; + shift = OFFSET + SHIFT; } else if (modegrid) { maxdist = 0.0; shift = 0.0; } if (dimension == 2) { - grid2d = new Grid2d(lmp, world, nxgrid, nygrid, maxdist, 0, shift, + grid2d = new Grid2d(lmp, world, nxgrid, nygrid, maxdist, 0, SHIFT, nxlo_in, nxhi_in, nylo_in, nyhi_in, nxlo_out, nxhi_out, nylo_out, nyhi_out); @@ -408,19 +413,8 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : ngridout = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1); - if (nvalues == 1) - memory->create2d_offset(vec2d, nylo_out, nyhi_out, nxlo_out, nxhi_out, - "ave/grid:vec2d"); - else - memory->create3d_offset_last(array2d, nylo_out, nyhi_out, nxlo_out, - nxhi_out, nvalues, "ave/grid:array2d"); - - if (modeatom) - memory->create2d_offset(count2d, nylo_out, nyhi_out, nxlo_out, nxhi_out, - "ave/grid:count2d"); - } else { - grid3d = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid, maxdist, 0, shift, + grid3d = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid, maxdist, 0, SHIFT, nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, nzhi_in, nxlo_out, nxhi_out, nylo_out, nyhi_out, nzlo_out, nzhi_out); @@ -431,22 +425,12 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : ngridout = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1) * (nzhi_out - nzlo_out + 1); - - if (nvalues == 1) - memory->create3d_offset(vec3d, nzlo_out, nzhi_out, nylo_out, - nyhi_out, nxlo_out, nxhi_out, - "ave/grid:vec3d"); - else - memory->create4d_offset_last(array3d, nzlo_out, nzhi_out, nylo_out, - nyhi_out, nxlo_out, nxhi_out, nvalues, - "ave/grid:array3d"); - - if (modeatom) - memory->create3d_offset(count3d, nzlo_out, nzhi_out, nylo_out, - nyhi_out, nxlo_out, nxhi_out, - "ave/grid:vec3d"); } + // allocate all per-grid data + + allocate_grid(); + // zero the output grid and counts since dump may access it on timestep 0 // zero running grid if used by ave @@ -459,12 +443,13 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : if (aveflag == RUNNING || aveflag == WINDOW) zero_grid(count2d_running,vec2d_running,array2d_running, count3d_running,vec3d_running,array3d_running); - - // bin indices for ATOM mode + + // bin indices and skip flags for ATOM mode // vresult for per-atom variable evaluation maxatom = 0; bin = nullptr; + skip = nullptr; maxvar = 0; vresult = nullptr; @@ -494,19 +479,19 @@ FixAveGrid::~FixAveGrid() delete grid2d; delete grid3d; + memory->destroy(grid_buf1); memory->destroy(grid_buf2); - memory->destroy2d_offset(vec2d,nylo_out,nxlo_out); - memory->destroy2d_offset(array2d,nylo_out,nxlo_out); - memory->destroy2d_offset(count2d,nylo_out,nxlo_out); + // deallocate all per-grid data - memory->destroy3d_offset(vec3d,nzlo_out,nylo_out,nxlo_out); - memory->destroy4d_offset_last(array3d,nzlo_out,nylo_out,nxlo_out); - memory->destroy3d_offset(count3d,nzlo_out,nylo_out,nxlo_out); + deallocate_grid(); - memory->destroy(bin); - memory->destroy(vresult); + if (modeatom) { + memory->destroy(bin); + memory->destroy(skip); + memory->destroy(vresult); + } } /* ---------------------------------------------------------------------- */ @@ -628,7 +613,7 @@ void FixAveGrid::end_of_step() if (irepeat == 0) zero_grid(count2d_sample,vec2d_sample,array2d_sample, count3d_sample,vec3d_sample,array3d_sample); - if (irepeat == 0 || normflag == SAMPLE) + if (irepeat == 0 && normflag == SAMPLE) zero_grid(count2d_epoch,vec2d_epoch,array2d_epoch, count3d_epoch,vec3d_epoch,array3d_epoch); @@ -781,6 +766,7 @@ void FixAveGrid::atom2grid() } if (triclinic) domain->x2lamda(nlocal); + int flag = 0; if (dimension == 2) { @@ -846,6 +832,7 @@ void FixAveGrid::atom2grid() } if (flag) error->one(FLERR,"Out of range fix ave/grid atoms"); + if (triclinic) domain->lamda2x(nlocal); // loop over user-specified values @@ -1199,6 +1186,144 @@ void FixAveGrid::grid2grid() } } +/* ---------------------------------------------------------------------- + allocate all grids which will be used + if ATOM mode, also allocate per-cell counts +------------------------------------------------------------------------- */ + +void FixAveGrid::allocate_grid() +{ + if (dimension == 2) { + + if (nvalues == 1) { + memory->create2d_offset(vec2d, nylo_out, nyhi_out, nxlo_out, nxhi_out, + "ave/grid:vec2d"); + memory->create2d_offset(vec2d_sample, nylo_out, nyhi_out, nxlo_out, nxhi_out, + "ave/grid:vec2d_sample"); + if (normflag == SAMPLE) + memory->create2d_offset(vec2d_epoch, nylo_out, nyhi_out, nxlo_out, nxhi_out, + "ave/grid:vec2d_epoch"); + if (aveflag == RUNNING) + memory->create2d_offset(vec2d_running, nylo_out, nyhi_out, nxlo_out, nxhi_out, + "ave/grid:vec2d_running"); + } else { + memory->create3d_offset_last(array2d, nylo_out, nyhi_out, nxlo_out, nxhi_out, + nvalues, "ave/grid:array3d"); + memory->create3d_offset_last(array2d_sample, nylo_out, nyhi_out, nxlo_out, nxhi_out, + nvalues, "ave/grid:array3d_sample"); + if (normflag == SAMPLE) + memory->create3d_offset_last(array2d_epoch, nylo_out, nyhi_out, nxlo_out, nxhi_out, + nvalues, "ave/grid:array3d_epoch"); + if (aveflag == RUNNING) + memory->create3d_offset_last(array2d_running, nylo_out, nyhi_out, nxlo_out, nxhi_out, + nvalues, "ave/grid:array3d_running"); + } + + if (modeatom) { + memory->create2d_offset(count2d, nylo_out, nyhi_out, nxlo_out, nxhi_out, + "ave/grid:count2d"); + memory->create2d_offset(count2d_sample, nylo_out, nyhi_out, nxlo_out, nxhi_out, + "ave/grid:count2d_sample"); + if (normflag == SAMPLE) + memory->create2d_offset(count2d_epoch, nylo_out, nyhi_out, nxlo_out, nxhi_out, + "ave/grid:count2d_epoch"); + if (normflag == RUNNING) { + memory->create2d_offset(count2d_running, nylo_out, nyhi_out, nxlo_out, nxhi_out, + "ave/grid:count2d_running"); + } + } + + } else if (dimension == 3) { + + if (nvalues == 1) { + memory->create3d_offset(vec3d, nzlo_out, nzhi_out, nylo_out, + nyhi_out, nxlo_out, nxhi_out, + "ave/grid:vec3d"); + memory->create3d_offset(vec3d_sample, nzlo_out, nzhi_out, nylo_out, + nyhi_out, nxlo_out, nxhi_out, + "ave/grid:vec3d_sample"); + if (normflag == SAMPLE) + memory->create3d_offset(vec3d_epoch, nzlo_out, nzhi_out, nylo_out, + nyhi_out, nxlo_out, nxhi_out, + "ave/grid:vec3d_epoch"); + if (aveflag == RUNNING) + memory->create3d_offset(vec3d_running, nzlo_out, nzhi_out, nylo_out, + nyhi_out, nxlo_out, nxhi_out, + "ave/grid:vec3d_running"); + } else { + memory->create4d_offset_last(array3d, nzlo_out, nzhi_out, nylo_out, + nyhi_out, nxlo_out, nxhi_out, nvalues, + "ave/grid:array3d"); + memory->create4d_offset_last(array3d_sample, nzlo_out, nzhi_out, nylo_out, + nyhi_out, nxlo_out, nxhi_out, + nvalues, "ave/grid:array3d_sample"); + if (normflag == SAMPLE) + memory->create4d_offset_last(array3d_epoch, nzlo_out, nzhi_out, nylo_out, + nyhi_out, nxlo_out, nxhi_out, + nvalues, "ave/grid:array3d_epoch"); + if (aveflag == RUNNING) + memory->create4d_offset_last(array3d_running, nzlo_out, nzhi_out, nylo_out, + nyhi_out, nxlo_out, nxhi_out, + nvalues, "ave/grid:array3d_running"); + } + + if (modeatom) { + memory->create3d_offset(count3d, nzlo_out, nzhi_out, nylo_out, + nyhi_out, nxlo_out, nxhi_out, "ave/grid:count3d"); + memory->create3d_offset(count3d_sample, nzlo_out, nzhi_out, nylo_out, + nyhi_out, nxlo_out, nxhi_out, + "ave/grid:count3d_sample"); + if (normflag == SAMPLE) + memory->create3d_offset(count3d_epoch, nzlo_out, nzhi_out, nylo_out, + nyhi_out, nxlo_out, nxhi_out, + "ave/grid:count3d_epoch"); + if (normflag == RUNNING) + memory->create3d_offset(count3d_running, nzlo_out, nzhi_out, nylo_out, + nyhi_out, nxlo_out, nxhi_out, + "ave/grid:count3d_running"); + } + } +} + +/* ---------------------------------------------------------------------- + deallocate all grids and counts +------------------------------------------------------------------------- */ + +void FixAveGrid::deallocate_grid() +{ + memory->destroy2d_offset(vec2d,nylo_out,nxlo_out); + memory->destroy2d_offset(array2d,nylo_out,nxlo_out); + memory->destroy2d_offset(count2d,nylo_out,nxlo_out); + + memory->destroy2d_offset(vec2d_sample,nylo_out,nxlo_out); + memory->destroy2d_offset(array2d_sample,nylo_out,nxlo_out); + memory->destroy2d_offset(count2d_sample,nylo_out,nxlo_out); + + memory->destroy2d_offset(vec2d_epoch,nylo_out,nxlo_out); + memory->destroy2d_offset(array2d_epoch,nylo_out,nxlo_out); + memory->destroy2d_offset(count2d_epoch,nylo_out,nxlo_out); + + memory->destroy2d_offset(vec2d_running,nylo_out,nxlo_out); + memory->destroy2d_offset(array2d_running,nylo_out,nxlo_out); + memory->destroy2d_offset(count2d_running,nylo_out,nxlo_out); + + memory->destroy3d_offset(vec3d,nzlo_out,nylo_out,nxlo_out); + memory->destroy3d_offset(array3d,nzlo_out,nylo_out,nxlo_out); + memory->destroy3d_offset(count3d,nzlo_out,nylo_out,nxlo_out); + + memory->destroy3d_offset(vec3d_sample,nzlo_out,nylo_out,nxlo_out); + memory->destroy3d_offset(array3d_sample,nzlo_out,nylo_out,nxlo_out); + memory->destroy3d_offset(count3d_sample,nzlo_out,nylo_out,nxlo_out); + + memory->destroy3d_offset(vec3d_epoch,nzlo_out,nylo_out,nxlo_out); + memory->destroy3d_offset(array3d_epoch,nzlo_out,nylo_out,nxlo_out); + memory->destroy3d_offset(count3d_epoch,nzlo_out,nylo_out,nxlo_out); + + memory->destroy3d_offset(vec3d_running,nzlo_out,nylo_out,nxlo_out); + memory->destroy3d_offset(array3d_running,nzlo_out,nylo_out,nxlo_out); + memory->destroy3d_offset(count3d_running,nzlo_out,nylo_out,nxlo_out); +} + /* ---------------------------------------------------------------------- zero values for a grid incluing ghost cells if ATOM mode, also zero per-cell counts @@ -1516,9 +1641,11 @@ void FixAveGrid::pack_reverse_grid(int /*flag*/, void *vbuf, int nlist, int *lis } } else { for (i = 0; i < nlist; i++) { + printf("PACK i %d nlist %d, listI %d nvalues %d count %d\n", + i,nlist,list[i],nvalues,count[list[i]]); buf[m++] = count[list[i]]; values = &data[nvalues*list[i]]; - for (j = 0; j <= nvalues; j++) + for (j = 0; j < nvalues; j++) buf[m++] = values[j]; } } @@ -1556,7 +1683,7 @@ void FixAveGrid::unpack_reverse_grid(int /*flag*/, void *vbuf, int nlist, int *l for (i = 0; i < nlist; i++) { count[list[i]] = buf[m++]; values = &data[nvalues*list[i]]; - for (j = 0; j <= nvalues; j++) + for (j = 0; j < nvalues; j++) values[j] = buf[m++]; } } diff --git a/src/fix_ave_grid.h b/src/fix_ave_grid.h index b53cbaddf9..e8efee4eed 100644 --- a/src/fix_ave_grid.h +++ b/src/fix_ave_grid.h @@ -107,6 +107,8 @@ class FixAveGrid : public Fix { void atom2grid(); void grid2grid(); + void allocate_grid(); + void deallocate_grid(); void zero_grid(double **, double **, double ***, double ***, double ***, double ****); void sum_sample_to_epoch(); From b6583eb681a0930601ad4c9f420dbb0a0a37658a Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 23 Aug 2022 09:58:58 -0600 Subject: [PATCH 050/142] debug of fix ave/grid --- src/fix_ave_grid.cpp | 188 ++++++++++++++++++++++++++++++++++++++----- src/fix_ave_grid.h | 6 +- src/grid2d.cpp | 11 ++- src/grid3d.cpp | 11 ++- 4 files changed, 193 insertions(+), 23 deletions(-) diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index 90945433b1..163977c075 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -407,7 +407,12 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : nxlo_in, nxhi_in, nylo_in, nyhi_in, nxlo_out, nxhi_out, nylo_out, nyhi_out); + // ngrid_buf12 converted to nvalues + count + grid2d->setup(ngrid_buf1, ngrid_buf2); + ngrid_buf1 *= nvalues + 1; + ngrid_buf2 *= nvalues + 1; + memory->create(grid_buf1, ngrid_buf1, "ave/grid:grid_buf1"); memory->create(grid_buf2, ngrid_buf2, "ave/grid:grid_buf2"); @@ -419,7 +424,12 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : nxlo_out, nxhi_out, nylo_out, nyhi_out, nzlo_out, nzhi_out); + // ngrid_buf12 converted to nvalues + count + grid3d->setup(ngrid_buf1, ngrid_buf2); + ngrid_buf1 *= nvalues + 1; + ngrid_buf2 *= nvalues + 1; + memory->create(grid_buf1, ngrid_buf1, "ave/grid:grid_buf1"); memory->create(grid_buf2, ngrid_buf2, "ave/grid:grid_buf2"); @@ -791,7 +801,7 @@ void FixAveGrid::atom2grid() } skip[i] = 0; - count2d[iy][ix] += 1.0; + count2d_sample[iy][ix] += 1.0; bin[i][0] = iy; bin[i][1] = ix; } @@ -824,7 +834,7 @@ void FixAveGrid::atom2grid() } skip[i] = 0; - count3d[iz][iy][ix] += 1.0; + count3d_sample[iz][iy][ix] += 1.0; bin[i][0] = iz; bin[i][1] = iy; bin[i][2] = ix; @@ -857,7 +867,7 @@ void FixAveGrid::atom2grid() } } else for (i = 0; i < nlocal; i++) { - if (skip[i]) + if (!skip[i]) array2d_sample[bin[i][0]][bin[i][1]][m] += attribute[i][j]; } } else { @@ -897,7 +907,7 @@ void FixAveGrid::atom2grid() } } else for (i = 0; i < nlocal; i++) { - if (skip[i]) { + if (!skip[i]) { if (which[m] == ArgInfo::DENSITY_NUMBER) one = 1.0; else if (rmass) one = rmass[i]; else one = mass[type[i]]; @@ -953,7 +963,7 @@ void FixAveGrid::atom2grid() } } else for (i = 0; i < nlocal; i++) { - if (skip[i]) { + if (!skip[i]) { vsq = v[i][0]*v[i][0] + v[i][1]*v[i][1] + v[i][2]*v[i][2]; if (rmass) one = rmass[i]; else one = mass[type[i]]; @@ -1292,35 +1302,35 @@ void FixAveGrid::allocate_grid() void FixAveGrid::deallocate_grid() { memory->destroy2d_offset(vec2d,nylo_out,nxlo_out); - memory->destroy2d_offset(array2d,nylo_out,nxlo_out); + memory->destroy3d_offset_last(array2d,nylo_out,nxlo_out); memory->destroy2d_offset(count2d,nylo_out,nxlo_out); memory->destroy2d_offset(vec2d_sample,nylo_out,nxlo_out); - memory->destroy2d_offset(array2d_sample,nylo_out,nxlo_out); + memory->destroy3d_offset_last(array2d_sample,nylo_out,nxlo_out); memory->destroy2d_offset(count2d_sample,nylo_out,nxlo_out); memory->destroy2d_offset(vec2d_epoch,nylo_out,nxlo_out); - memory->destroy2d_offset(array2d_epoch,nylo_out,nxlo_out); + memory->destroy3d_offset_last(array2d_epoch,nylo_out,nxlo_out); memory->destroy2d_offset(count2d_epoch,nylo_out,nxlo_out); memory->destroy2d_offset(vec2d_running,nylo_out,nxlo_out); - memory->destroy2d_offset(array2d_running,nylo_out,nxlo_out); + memory->destroy3d_offset_last(array2d_running,nylo_out,nxlo_out); memory->destroy2d_offset(count2d_running,nylo_out,nxlo_out); memory->destroy3d_offset(vec3d,nzlo_out,nylo_out,nxlo_out); - memory->destroy3d_offset(array3d,nzlo_out,nylo_out,nxlo_out); + memory->destroy4d_offset_last(array3d,nzlo_out,nylo_out,nxlo_out); memory->destroy3d_offset(count3d,nzlo_out,nylo_out,nxlo_out); memory->destroy3d_offset(vec3d_sample,nzlo_out,nylo_out,nxlo_out); - memory->destroy3d_offset(array3d_sample,nzlo_out,nylo_out,nxlo_out); + memory->destroy4d_offset_last(array3d_sample,nzlo_out,nylo_out,nxlo_out); memory->destroy3d_offset(count3d_sample,nzlo_out,nylo_out,nxlo_out); memory->destroy3d_offset(vec3d_epoch,nzlo_out,nylo_out,nxlo_out); - memory->destroy3d_offset(array3d_epoch,nzlo_out,nylo_out,nxlo_out); + memory->destroy4d_offset_last(array3d_epoch,nzlo_out,nylo_out,nxlo_out); memory->destroy3d_offset(count3d_epoch,nzlo_out,nylo_out,nxlo_out); memory->destroy3d_offset(vec3d_running,nzlo_out,nylo_out,nxlo_out); - memory->destroy3d_offset(array3d_running,nzlo_out,nylo_out,nxlo_out); + memory->destroy4d_offset_last(array3d_running,nzlo_out,nylo_out,nxlo_out); memory->destroy3d_offset(count3d_running,nzlo_out,nylo_out,nxlo_out); } @@ -1448,6 +1458,150 @@ void FixAveGrid::copy_epoch_to_sample() } } +/* ---------------------------------------------------------------------- + copy sample grid values to output grid, just for owned grid cells + if ATOM mode, also copy per-cell counts +------------------------------------------------------------------------- */ + +void FixAveGrid::copy_sample_to_output() +{ + int ix,iy,iz,m; + + if (!ngridout) return; + + if (dimension == 2) { + if (nvalues == 1) { + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + vec2d[iy][ix] = vec2d_sample[iy][ix]; + } else { + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + for (m = 0; m <= nvalues; m++) + array2d[iy][ix][m] = array2d_sample[iy][ix][m]; + } + if (modeatom) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + count2d[iy][ix] = count2d_sample[iy][ix]; + + } else { + if (nvalues == 1) { + for (iz = nylo_in; iz <= nyhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + vec3d[iz][iy][ix] = vec3d_sample[iz][iy][ix]; + } else { + for (iz = nylo_in; iz <= nyhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + for (m = 0; m <= nvalues; m++) + array3d[iz][iy][ix][m] = array3d_sample[iz][iy][ix][m]; + } + if (modeatom) + for (iz = nylo_in; iz <= nyhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + count3d[iz][iy][ix] = count3d_sample[iz][iy][ix]; + } +} + +/* ---------------------------------------------------------------------- + copy running grid values to output grid, just for owned grid cells + if ATOM mode, also copy per-cell counts +------------------------------------------------------------------------- */ + +void FixAveGrid::copy_running_to_output() +{ + int ix,iy,iz,m; + + if (!ngridout) return; + + if (dimension == 2) { + if (nvalues == 1) { + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + vec2d[iy][ix] = vec2d_running[iy][ix]; + } else { + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + for (m = 0; m <= nvalues; m++) + array2d[iy][ix][m] = array2d_running[iy][ix][m]; + } + if (modeatom) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + count2d[iy][ix] = count2d_running[iy][ix]; + + } else { + if (nvalues == 1) { + for (iz = nylo_in; iz <= nyhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + vec3d[iz][iy][ix] = vec3d_running[iz][iy][ix]; + } else { + for (iz = nylo_in; iz <= nyhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + for (m = 0; m <= nvalues; m++) + array3d[iz][iy][ix][m] = array3d_running[iz][iy][ix][m]; + } + if (modeatom) + for (iz = nylo_in; iz <= nyhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + count3d[iz][iy][ix] = count3d_running[iz][iy][ix]; + } +} + +/* ---------------------------------------------------------------------- + sum sample grid values to running grid, just for owned grid cells + if ATOM mode, also copy per-cell counts +------------------------------------------------------------------------- */ + +void FixAveGrid::sum_sample_to_running() +{ + int ix,iy,iz,m; + + if (!ngridout) return; + + if (dimension == 2) { + if (nvalues == 1) { + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + vec2d_running[iy][ix] += vec2d_sample[iy][ix]; + } else { + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + for (m = 0; m <= nvalues; m++) + array2d_running[iy][ix][m] += array2d_sample[iy][ix][m]; + } + if (modeatom) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + count2d_running[iy][ix] += count2d_sample[iy][ix]; + + } else { + if (nvalues == 1) { + for (iz = nylo_in; iz <= nyhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + vec3d_running[iz][iy][ix] += vec3d_sample[iz][iy][ix]; + } else { + for (iz = nylo_in; iz <= nyhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + for (m = 0; m <= nvalues; m++) + array3d_running[iz][iy][ix][m] += array3d_sample[iz][iy][ix][m]; + } + if (modeatom) + for (iz = nylo_in; iz <= nyhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + count3d_running[iz][iy][ix] += count3d_sample[iz][iy][ix]; + } +} + /* ---------------------------------------------------------------------- normalize grid values and per-cell counts for ATOM mode for owned cells numsamples = normalization factor @@ -1496,7 +1650,7 @@ void FixAveGrid::normalize_atom(int numsamples) norm = mvv2e /((repeat*cdof + adof*count) * boltz); else if (normflag == NONORM) norm = 1.0/invrepeat; - else if (normflag == NONORM) + else norm = 1.0/count; vec2d_sample[iy][ix] *= norm; count2d_sample[iy][ix] *= invrepeat; @@ -1507,7 +1661,7 @@ void FixAveGrid::normalize_atom(int numsamples) for (ix = nxlo_in; ix <= nxhi_in; ix++) { count = count2d_sample[iy][ix]; if (count) { - for (m = 0; m <= nvalues; m++) { + for (m = 0; m < nvalues; m++) { if (which[m] == ArgInfo::DENSITY_NUMBER) norm = 1.0 / (binvol * repeat); else if (which[m] == ArgInfo::DENSITY_MASS) @@ -1551,7 +1705,7 @@ void FixAveGrid::normalize_atom(int numsamples) for (ix = nxlo_in; ix <= nxhi_in; ix++) { count = count3d_sample[iz][iy][ix]; if (count) { - for (m = 0; m <= nvalues; m++) { + for (m = 0; m < nvalues; m++) { if (which[m] == ArgInfo::DENSITY_NUMBER) norm = 1.0 / (binvol * repeat); else if (which[m] == ArgInfo::DENSITY_MASS) @@ -1641,8 +1795,6 @@ void FixAveGrid::pack_reverse_grid(int /*flag*/, void *vbuf, int nlist, int *lis } } else { for (i = 0; i < nlist; i++) { - printf("PACK i %d nlist %d, listI %d nvalues %d count %d\n", - i,nlist,list[i],nvalues,count[list[i]]); buf[m++] = count[list[i]]; values = &data[nvalues*list[i]]; for (j = 0; j < nvalues; j++) diff --git a/src/fix_ave_grid.h b/src/fix_ave_grid.h index e8efee4eed..cce7c5bb52 100644 --- a/src/fix_ave_grid.h +++ b/src/fix_ave_grid.h @@ -113,9 +113,9 @@ class FixAveGrid : public Fix { double ***, double ***, double ****); void sum_sample_to_epoch(); void copy_epoch_to_sample(); - void sum_sample_to_running() {} - void copy_sample_to_output() {} - void copy_running_to_output() {} + void sum_sample_to_running(); + void copy_sample_to_output(); + void copy_running_to_output(); void copy_sample_to_window(int) {} void subtract_window_from_running() {} diff --git a/src/grid2d.cpp b/src/grid2d.cpp index 8aef2acbe4..9077493269 100644 --- a/src/grid2d.cpp +++ b/src/grid2d.cpp @@ -366,7 +366,16 @@ void Grid2d::get_box(int dim, double &lo, double &delta) delta = prd[dim] / ngrid[dim]; } -/* ---------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + return sizes of two buffers needed for communication + either on regular grid or procs or irregular tiling + nbuf1 = largest pack or unpack in any Send or Recv or Copy + nbuf2 = larget of sum of all packs or unpacks in Send or Recv + for regular comm, nbuf1 = nbuf2 + for irregular comm, nbuf2 >= nbuf2 + nbuf1,nbuf2 are just count of grid points + caller converts them to message size for grid data it stores +------------------------------------------------------------------------- */ void Grid2d::setup(int &nbuf1, int &nbuf2) { diff --git a/src/grid3d.cpp b/src/grid3d.cpp index fb7334e1f1..51d2ebd247 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -399,7 +399,16 @@ void Grid3d::get_box(int dim, double &lo, double &delta) delta = prd[dim] / ngrid[dim]; } -/* ---------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + return sizes of two buffers needed for communication + either on regular grid or procs or irregular tiling + nbuf1 = largest pack or unpack in any Send or Recv or Copy + nbuf2 = larget of sum of all packs or unpacks in Send or Recv + for regular comm, nbuf1 = nbuf2 + for irregular comm, nbuf2 >= nbuf2 + nbuf1,nbuf2 are just count of grid points + caller converts them to message size for grid data it stores +------------------------------------------------------------------------- */ void Grid3d::setup(int &nbuf1, int &nbuf2) { From 12fbaa8591e273c942b00f39d80a3a33a264f71f Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 24 Aug 2022 10:17:29 -0600 Subject: [PATCH 051/142] more debug --- src/fix_ave_grid.cpp | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index 163977c075..9d1d997f29 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -29,6 +29,9 @@ #include "update.h" #include "variable.h" +// DEBUG +#include "comm.h" + #include using namespace LAMMPS_NS; @@ -827,7 +830,7 @@ void FixAveGrid::atom2grid() else skip[i] = 1; continue; } - if (iz < nzlo_out || iz > nyhi_out) { + if (iz < nzlo_out || iz > nzhi_out) { if (periodicity[2]) flag = 1; else skip[i] = 1; continue; @@ -1391,19 +1394,19 @@ void FixAveGrid::sum_sample_to_epoch() } else { if (nvalues == 1) { - for (iz = nylo_in; iz <= nyhi_in; iz++) + for (iz = nzlo_in; iz <= nzhi_in; iz++) for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) vec3d_epoch[iz][iy][ix] += vec3d_sample[iz][iy][ix]; } else { - for (iz = nylo_in; iz <= nyhi_in; iz++) + for (iz = nzlo_in; iz <= nzhi_in; iz++) for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) for (m = 0; m <= nvalues; m++) array3d_epoch[iz][iy][ix][m] += array3d_sample[iz][iy][ix][m]; } if (modeatom) - for (iz = nylo_in; iz <= nyhi_in; iz++) + for (iz = nzlo_in; iz <= nzhi_in; iz++) for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) count3d_epoch[iz][iy][ix] += count3d_sample[iz][iy][ix]; @@ -1439,19 +1442,19 @@ void FixAveGrid::copy_epoch_to_sample() } else { if (nvalues == 1) { - for (iz = nylo_in; iz <= nyhi_in; iz++) + for (iz = nzlo_in; iz <= nzhi_in; iz++) for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) vec3d_sample[iz][iy][ix] = vec3d_epoch[iz][iy][ix]; } else { - for (iz = nylo_in; iz <= nyhi_in; iz++) + for (iz = nzlo_in; iz <= nzhi_in; iz++) for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) for (m = 0; m <= nvalues; m++) array3d_sample[iz][iy][ix][m] = array3d_epoch[iz][iy][ix][m]; } if (modeatom) - for (iz = nylo_in; iz <= nyhi_in; iz++) + for (iz = nzlo_in; iz <= nzhi_in; iz++) for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) count3d_sample[iz][iy][ix] = count3d_epoch[iz][iy][ix]; @@ -1487,19 +1490,19 @@ void FixAveGrid::copy_sample_to_output() } else { if (nvalues == 1) { - for (iz = nylo_in; iz <= nyhi_in; iz++) + for (iz = nzlo_in; iz <= nzhi_in; iz++) for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) vec3d[iz][iy][ix] = vec3d_sample[iz][iy][ix]; } else { - for (iz = nylo_in; iz <= nyhi_in; iz++) + for (iz = nzlo_in; iz <= nzhi_in; iz++) for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) for (m = 0; m <= nvalues; m++) array3d[iz][iy][ix][m] = array3d_sample[iz][iy][ix][m]; } if (modeatom) - for (iz = nylo_in; iz <= nyhi_in; iz++) + for (iz = nzlo_in; iz <= nzhi_in; iz++) for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) count3d[iz][iy][ix] = count3d_sample[iz][iy][ix]; @@ -1535,19 +1538,19 @@ void FixAveGrid::copy_running_to_output() } else { if (nvalues == 1) { - for (iz = nylo_in; iz <= nyhi_in; iz++) + for (iz = nzlo_in; iz <= nzhi_in; iz++) for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) vec3d[iz][iy][ix] = vec3d_running[iz][iy][ix]; } else { - for (iz = nylo_in; iz <= nyhi_in; iz++) + for (iz = nzlo_in; iz <= nzhi_in; iz++) for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) for (m = 0; m <= nvalues; m++) array3d[iz][iy][ix][m] = array3d_running[iz][iy][ix][m]; } if (modeatom) - for (iz = nylo_in; iz <= nyhi_in; iz++) + for (iz = nzlo_in; iz <= nzhi_in; iz++) for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) count3d[iz][iy][ix] = count3d_running[iz][iy][ix]; @@ -1583,19 +1586,19 @@ void FixAveGrid::sum_sample_to_running() } else { if (nvalues == 1) { - for (iz = nylo_in; iz <= nyhi_in; iz++) + for (iz = nzlo_in; iz <= nzhi_in; iz++) for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) vec3d_running[iz][iy][ix] += vec3d_sample[iz][iy][ix]; } else { - for (iz = nylo_in; iz <= nyhi_in; iz++) + for (iz = nzlo_in; iz <= nzhi_in; iz++) for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) for (m = 0; m <= nvalues; m++) array3d_running[iz][iy][ix][m] += array3d_sample[iz][iy][ix][m]; } if (modeatom) - for (iz = nylo_in; iz <= nyhi_in; iz++) + for (iz = nzlo_in; iz <= nzhi_in; iz++) for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) count3d_running[iz][iy][ix] += count3d_sample[iz][iy][ix]; @@ -1833,10 +1836,10 @@ void FixAveGrid::unpack_reverse_grid(int /*flag*/, void *vbuf, int nlist, int *l } } else { for (i = 0; i < nlist; i++) { - count[list[i]] = buf[m++]; + count[list[i]] += buf[m++]; values = &data[nvalues*list[i]]; for (j = 0; j < nvalues; j++) - values[j] = buf[m++]; + values[j] += buf[m++]; } } } From 5c5441c8ccd296ca52855de56935c534703021af Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 26 Aug 2022 16:46:58 -0600 Subject: [PATCH 052/142] more debugging on fix ave/grid --- src/fix_ave_grid.cpp | 1175 ++++++++++++++++++++++-------------------- src/fix_ave_grid.h | 55 +- 2 files changed, 625 insertions(+), 605 deletions(-) diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index 9d1d997f29..a504cefe12 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -54,15 +54,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : which(nullptr), argindex(nullptr), ids(nullptr), value2index(nullptr), value2grid(nullptr), value2data(nullptr), grid2d(nullptr), grid3d(nullptr), - grid_buf1(nullptr), grid_buf2(nullptr), - vec2d(nullptr), vec3d(nullptr), array2d(nullptr), array3d(nullptr), - count2d(nullptr), count3d(nullptr), - vec2d_sample(nullptr), vec3d_sample(nullptr), array2d_sample(nullptr), array3d_sample(nullptr), - count2d_sample(nullptr), count3d_sample(nullptr), - vec2d_epoch(nullptr), vec3d_epoch(nullptr), array2d_epoch(nullptr), array3d_epoch(nullptr), - count2d_epoch(nullptr), count3d_epoch(nullptr), - vec2d_running(nullptr), vec3d_running(nullptr), array2d_running(nullptr), array3d_running(nullptr), - count2d_running(nullptr), count3d_running(nullptr) + grid_buf1(nullptr), grid_buf2(nullptr) { if (narg < 10) error->all(FLERR,"Illegal fix ave/grid command"); @@ -88,7 +80,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : if (earg != &arg[9]) expand = 1; arg = earg; - // parse values until one isn't recognized + // parse values until one isn't recognized (optional keyword) which = new int[nargnew]; argindex = new int[nargnew]; @@ -396,14 +388,8 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : // instantiate the Grid class and allocate per-grid memory double maxdist; - - if (modeatom) { - maxdist = 0.5 * neighbor->skin; - shift = OFFSET + SHIFT; - } else if (modegrid) { - maxdist = 0.0; - shift = 0.0; - } + if (modeatom) maxdist = 0.5 * neighbor->skin; + else if (modegrid) maxdist = 0.0; if (dimension == 2) { grid2d = new Grid2d(lmp, world, nxgrid, nygrid, maxdist, 0, SHIFT, @@ -440,22 +426,39 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : (nzhi_out - nzlo_out + 1); } - // allocate all per-grid data + // create data structs for per-grid data - allocate_grid(); + grid_output = new GridData(); + grid_sample = new GridData(); + grid_nfreq = new GridData(); + grid_running = new GridData(); + if (aveflag == WINDOW) { + grid_window = new GridData*[nwindow]; + for (int i = 0; i < nwindow; i++) + grid_window[i] = new GridData(); + } else grid_window = nullptr; - // zero the output grid and counts since dump may access it on timestep 0 - // zero running grid if used by ave + allocate_grid(grid_sample); + allocate_grid(grid_nfreq); + if (aveflag == RUNNING || aveflag == WINDOW) allocate_grid(grid_running); + if (aveflag == WINDOW) + for (int i = 0; i < nwindow; i++) + allocate_grid(grid_window[i]); + + // initialize running and window values running_count = 0; window_count = 0; window_oldest = -1; window_newest = 0; - zero_grid(count2d,vec2d,array2d,count3d,vec3d,array3d); - if (aveflag == RUNNING || aveflag == WINDOW) - zero_grid(count2d_running,vec2d_running,array2d_running, - count3d_running,vec3d_running,array3d_running); + // zero grid_nfreq for output since dump may access it on timestep 0 + // also one-time zero of grid_running for ave = RUNNING or WINDOW + + zero_grid(grid_nfreq); + output_grid(grid_nfreq); + + if (aveflag == RUNNING || aveflag == WINDOW) zero_grid(grid_running); // bin indices and skip flags for ATOM mode // vresult for per-atom variable evaluation @@ -498,7 +501,20 @@ FixAveGrid::~FixAveGrid() // deallocate all per-grid data - deallocate_grid(); + deallocate_grid(grid_sample); + deallocate_grid(grid_nfreq); + if (aveflag == RUNNING || aveflag == WINDOW) deallocate_grid(grid_running); + if (aveflag == WINDOW) + for (int i = 0; i < nwindow; i++) { + deallocate_grid(grid_window[i]); + delete grid_window[i]; + } + + delete grid_output; + delete grid_sample; + delete grid_nfreq; + delete grid_running; + delete [] grid_window; if (modeatom) { memory->destroy(bin); @@ -622,13 +638,12 @@ void FixAveGrid::end_of_step() if (ntimestep != nvalid) return; nvalid_last = nvalid; - // if first sample in epoch, zero owned and ghost grid points + // if first sample in nfreq, zero owned and ghost grid points - if (irepeat == 0) zero_grid(count2d_sample,vec2d_sample,array2d_sample, - count3d_sample,vec3d_sample,array3d_sample); - if (irepeat == 0 && normflag == SAMPLE) - zero_grid(count2d_epoch,vec2d_epoch,array2d_epoch, - count3d_epoch,vec3d_epoch,array3d_epoch); + if (irepeat == 0) { + zero_grid(grid_sample); + if (normflag == SAMPLE) zero_grid(grid_nfreq); + } // accumulate per-grid values for one sample for either ATOM or GRID mode // per-atom compute/fix/variable may invoke computes so wrap with clear/add @@ -640,17 +655,19 @@ void FixAveGrid::end_of_step() grid2grid(); } - // return if irepeat < nrepeat and norm = SAMPLE or NONORM + // return if irepeat < nrepeat + // unless ATOM mode and norm = SAMPLE irepeat++; - if (irepeat < nrepeat && (normflag == ALL || normflag == NONORM)) { + if (irepeat < nrepeat && (modegrid || normflag != SAMPLE)) { nvalid += nevery; if (modeatom) modify->addstep_compute(nvalid); return; } // for ATOM mode, perform ghost to owned grid communication - // done every sample for norm = SAMPLE, else once per Nfreq epoch + // done once per Nfreq for norm = ONE + // done every sample for norm = SAMPLE // nvalues+1 includes atom count if (modeatom) { @@ -662,21 +679,24 @@ void FixAveGrid::end_of_step() grid_buf1,grid_buf2,MPI_DOUBLE); } - // for norm = SAMPLE, sum per-sample values and count to per-epoch - // for ATOM mode, also need to normalize for single sample - // then return if irepeat < nrepeat + // if ATOM mode and norm = SAMPLE: + // normalize the single sample + // sum sample grid to Nfreq grid + // return if irepeat < nrepeat - if (normflag == SAMPLE) { - if (modeatom) normalize_atom(1); - sum_sample_to_epoch(); + if (modeatom && normflag == SAMPLE) { + normalize_atom(1,grid_sample); + add_grid(grid_sample,grid_nfreq); + zero_grid(grid_sample); - if (irepeat < nrepeat && (normflag == ALL || normflag == NONORM)) { + if (irepeat < nrepeat) { nvalid += nevery; - if (modeatom) modify->addstep_compute(nvalid); + modify->addstep_compute(nvalid); return; } } + // this is an Nfreq timestep // reset irepeat and nvalid irepeat = 0; @@ -687,52 +707,83 @@ void FixAveGrid::end_of_step() if (ngridout == 0) return; - // average the final results for the entire epoch - // for norm = ALL, normalize values_sample by Nrepeat and counts - // for norm = SAMPLE, normalize values_sample_sum by Nrepeat + // average final results over the entire Nfreq of samples + // store final result in Nfreq grid + // for ATOM mode: + // for norm = ALL, normalize sample grid by counts over all samples + // for norm = SAMPLE, normalize Nfreq grid by Nrepeat + // for norm = NONORM, normalize sample grid by Nrepeat, not by counts + // this check is made inside normalize_grid() + // for GRID mode: + // normalize sample grid by Nrepeat if (modeatom) { - if (normflag == ALL || normflag == NONORM) normalize_atom(nrepeat); - else if (normflag == SAMPLE) { - normalize_grid(nrepeat,vec2d_epoch,array2d_epoch,vec3d_epoch,array3d_epoch); - copy_epoch_to_sample(); + if (normflag == ALL) { + normalize_atom(nrepeat,grid_sample); + normalize_count(nrepeat,grid_sample); + copy_grid(grid_sample,grid_nfreq); + + } else if (normflag == SAMPLE) { + normalize_grid(nrepeat,grid_nfreq); + normalize_count(nrepeat,grid_nfreq); + + } else if (normflag == NONORM) { + normalize_atom(nrepeat,grid_sample); + normalize_count(nrepeat,grid_sample); + copy_grid(grid_sample,grid_nfreq); } } - if (modegrid) - normalize_grid(nrepeat,vec2d_sample,array2d_sample, - vec3d_sample,array3d_sample); + if (modegrid) { + normalize_grid(nrepeat,grid_sample); + copy_grid(grid_sample,grid_nfreq); + } // create Nfreq output + // for aveflag == RUNNING + // running_count = # of Nfreq entries in grid_running + // for aveflag == WINDOW + // window_count = # of Nfreq entries in grid_window if (aveflag == ONE) { - copy_sample_to_output(); + output_grid(grid_nfreq); } else if (aveflag == RUNNING) { running_count++; - sum_sample_to_running(); - copy_running_to_output(); - normalize_grid(running_count,vec2d_running,array2d_running, - vec3d_running,array3d_running); - + add_grid(grid_nfreq,grid_running); + copy_grid(grid_running,grid_nfreq); + normalize_grid(running_count,grid_nfreq); + normalize_count(running_count,grid_nfreq); + output_grid(grid_nfreq); + } else if (aveflag == WINDOW) { - sum_sample_to_running(); - if (window_oldest >= 0) { - subtract_window_from_running(); - window_count--; - } - window_oldest++; + // update grid_running to be sum over grid_window entries + // add grid_nfreq to grid_running + // if window is full, subtract oldest window entry from grid_running + // copy grid_nfreq into window + + add_grid(grid_nfreq,grid_running); + if (window_count == nwindow) + subtract_grid(grid_window[window_oldest],grid_running); + copy_grid(grid_nfreq,grid_window[window_newest]); + + // update status of window + // window_count = # of entries in window + // window_oldest = index of oldest entry in grid_window + // window_newest = index in window where next grid_nfreq will be copied + + if (window_count < nwindow) window_count++; + if (window_count == nwindow) window_oldest++; if (window_oldest == nwindow) window_oldest = 0; - - copy_sample_to_window(window_newest); - window_count++; window_newest++; if (window_newest == nwindow) window_newest = 0; - copy_running_to_output(); - normalize_grid(window_count,vec2d_running,array2d_running, - vec3d_running,array3d_running); + // copy grid running to grid_nfreq and perform normalization + + copy_grid(grid_running,grid_nfreq); + normalize_grid(window_count,grid_nfreq); + output_grid(grid_nfreq); } } @@ -778,9 +829,17 @@ void FixAveGrid::atom2grid() memory->create(skip,maxatom,"ave/grid:skip"); } + double **count2d = grid_sample->count2d; + double **vec2d = grid_sample->vec2d; + double ***array2d = grid_sample->array2d; + double ***count3d = grid_sample->count3d; + double ***vec3d = grid_sample->vec3d; + double ****array3d = grid_sample->array3d; + if (triclinic) domain->x2lamda(nlocal); int flag = 0; + double shift = OFFSET + SHIFT; if (dimension == 2) { for (i = 0; i < nlocal; i++) { @@ -804,7 +863,7 @@ void FixAveGrid::atom2grid() } skip[i] = 0; - count2d_sample[iy][ix] += 1.0; + count2d[iy][ix] += 1.0; bin[i][0] = iy; bin[i][1] = ix; } @@ -837,7 +896,7 @@ void FixAveGrid::atom2grid() } skip[i] = 0; - count3d_sample[iz][iy][ix] += 1.0; + count3d[iz][iy][ix] += 1.0; bin[i][0] = iz; bin[i][1] = iy; bin[i][2] = ix; @@ -866,23 +925,23 @@ void FixAveGrid::atom2grid() if (nvalues == 1) { for (i = 0; i < nlocal; i++) { if (!skip[i]) - vec2d_sample[bin[i][0]][bin[i][1]] += attribute[i][j]; + vec2d[bin[i][0]][bin[i][1]] += attribute[i][j]; } } else for (i = 0; i < nlocal; i++) { if (!skip[i]) - array2d_sample[bin[i][0]][bin[i][1]][m] += attribute[i][j]; + array2d[bin[i][0]][bin[i][1]][m] += attribute[i][j]; } } else { if (nvalues == 1) { for (i = 0; i < nlocal; i++) { if (!skip[i]) - vec3d_sample[bin[i][0]][bin[i][1]][bin[i][2]] += attribute[i][j]; + vec3d[bin[i][0]][bin[i][1]][bin[i][2]] += attribute[i][j]; } } else for (i = 0; i < nlocal; i++) { if (!skip[i]) - array3d_sample[bin[i][0]][bin[i][1]][bin[i][2]][m] += attribute[i][j]; + array3d[bin[i][0]][bin[i][1]][bin[i][2]][m] += attribute[i][j]; } } @@ -905,7 +964,7 @@ void FixAveGrid::atom2grid() if (which[m] == ArgInfo::DENSITY_NUMBER) one = 1.0; else if (rmass) one = rmass[i]; else one = mass[type[i]]; - vec2d_sample[bin[i][0]][bin[i][1]] += one; + vec2d[bin[i][0]][bin[i][1]] += one; } } } else @@ -914,7 +973,7 @@ void FixAveGrid::atom2grid() if (which[m] == ArgInfo::DENSITY_NUMBER) one = 1.0; else if (rmass) one = rmass[i]; else one = mass[type[i]]; - array2d_sample[bin[i][0]][bin[i][1]][m] += one; + array2d[bin[i][0]][bin[i][1]][m] += one; } } } else { @@ -924,7 +983,7 @@ void FixAveGrid::atom2grid() if (which[m] == ArgInfo::DENSITY_NUMBER) one = 1.0; else if (rmass) one = rmass[i]; else one = mass[type[i]]; - vec3d_sample[bin[i][0]][bin[i][1]][bin[i][2]] += one; + vec3d[bin[i][0]][bin[i][1]][bin[i][2]] += one; } } } else @@ -933,7 +992,7 @@ void FixAveGrid::atom2grid() if (which[m] == ArgInfo::DENSITY_NUMBER) one = 1.0; else if (rmass) one = rmass[i]; else one = mass[type[i]]; - array3d_sample[bin[i][0]][bin[i][1]][bin[i][2]][m] += one; + array3d[bin[i][0]][bin[i][1]][bin[i][2]][m] += one; } } } @@ -961,7 +1020,7 @@ void FixAveGrid::atom2grid() vsq = v[i][0]*v[i][0] + v[i][1]*v[i][1] + v[i][2]*v[i][2]; if (rmass) one = rmass[i]; else one = mass[type[i]]; - vec2d_sample[bin[i][0]][bin[i][1]] += one*vsq; + vec2d[bin[i][0]][bin[i][1]] += one*vsq; } } } else @@ -970,7 +1029,7 @@ void FixAveGrid::atom2grid() vsq = v[i][0]*v[i][0] + v[i][1]*v[i][1] + v[i][2]*v[i][2]; if (rmass) one = rmass[i]; else one = mass[type[i]]; - array2d_sample[bin[i][0]][bin[i][1]][m] += one*vsq;; + array2d[bin[i][0]][bin[i][1]][m] += one*vsq;; } } } else { @@ -980,7 +1039,7 @@ void FixAveGrid::atom2grid() vsq = v[i][0]*v[i][0] + v[i][1]*v[i][1] + v[i][2]*v[i][2]; if (rmass) one = rmass[i]; else one = mass[type[i]]; - vec3d_sample[bin[i][0]][bin[i][1]][bin[i][2]] += one*vsq; + vec3d[bin[i][0]][bin[i][1]][bin[i][2]] += one*vsq; } } } else @@ -989,7 +1048,7 @@ void FixAveGrid::atom2grid() vsq = v[i][0]*v[i][0] + v[i][1]*v[i][1] + v[i][2]*v[i][2]; if (rmass) one = rmass[i]; else one = mass[type[i]]; - array3d_sample[bin[i][0]][bin[i][1]][bin[i][2]][m] += one*vsq; + array3d[bin[i][0]][bin[i][1]][bin[i][2]][m] += one*vsq; } } } @@ -1032,26 +1091,26 @@ void FixAveGrid::atom2grid() if (j == 0) { for (i = 0; i < nlocal; i++) { if (!skip[i]) - vec2d_sample[bin[i][0]][bin[i][1]] += ovector[i]; + vec2d[bin[i][0]][bin[i][1]] += ovector[i]; } } else { int jm1 = j = 1; for (i = 0; i < nlocal; i++) { if (!skip[i]) - vec2d_sample[bin[i][0]][bin[i][1]] += oarray[i][jm1]; + vec2d[bin[i][0]][bin[i][1]] += oarray[i][jm1]; } } } else { if (j == 0) { for (i = 0; i < nlocal; i++) { if (!skip[i]) - array2d_sample[bin[i][0]][bin[i][1]][m] += ovector[i]; + array2d[bin[i][0]][bin[i][1]][m] += ovector[i]; } } else { int jm1 = j - 1; for (i = 0; i < nlocal; i++) { if (!skip[i]) - array2d_sample[bin[i][0]][bin[i][1]][m] += oarray[i][jm1]; + array2d[bin[i][0]][bin[i][1]][m] += oarray[i][jm1]; } } } @@ -1061,26 +1120,26 @@ void FixAveGrid::atom2grid() if (j == 0) { for (i = 0; i < nlocal; i++) { if (!skip[i]) - vec3d_sample[bin[i][0]][bin[i][1]][bin[i][2]] += ovector[i]; + vec3d[bin[i][0]][bin[i][1]][bin[i][2]] += ovector[i]; } } else { int jm1 = j - 1; for (i = 0; i < nlocal; i++) { if (!skip[i]) - vec3d_sample[bin[i][0]][bin[i][1]][bin[i][2]] += oarray[i][jm1]; + vec3d[bin[i][0]][bin[i][1]][bin[i][2]] += oarray[i][jm1]; } } } else { if (j == 0) { for (i = 0; i < nlocal; i++) { if (!skip[i]) - array3d_sample[bin[i][0]][bin[i][1]][bin[i][2]][m] += ovector[i]; + array3d[bin[i][0]][bin[i][1]][bin[i][2]][m] += ovector[i]; } } else { int jm1 = j - 1; for (i = 0; i < nlocal; i++) { if (!skip[i]) - array3d_sample[bin[i][0]][bin[i][1]][bin[i][2]][m] += oarray[i][jm1]; + array3d[bin[i][0]][bin[i][1]][bin[i][2]][m] += oarray[i][jm1]; } } } @@ -1098,6 +1157,11 @@ void FixAveGrid::grid2grid() { int j,m,n,ix,iy,iz; + double **vec2d = grid_sample->vec2d; + double ***array2d = grid_sample->array2d; + double ***vec3d = grid_sample->vec3d; + double ****array3d = grid_sample->array3d; + // loop over user-specified values for (m = 0; m < nvalues; m++) { @@ -1134,23 +1198,23 @@ void FixAveGrid::grid2grid() if (j == 0) { for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) - vec2d_sample[iy][ix] += ovec2d[iy][ix]; + vec2d[iy][ix] += ovec2d[iy][ix]; } else { int jm1 = j - 1; for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) - vec2d_sample[iy][ix] += oarray2d[iy][ix][jm1]; + vec2d[iy][ix] += oarray2d[iy][ix][jm1]; } } else { if (j == 0) { for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) - array2d_sample[iy][ix][m] += ovec2d[iy][ix]; + array2d[iy][ix][m] += ovec2d[iy][ix]; } else { int jm1 = j - 1; for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) - array2d_sample[iy][ix][m] += oarray2d[iy][ix][jm1]; + array2d[iy][ix][m] += oarray2d[iy][ix][jm1]; } } @@ -1173,26 +1237,26 @@ void FixAveGrid::grid2grid() for (iz = nzlo_in; iz <= nzhi_in; iz++) for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) - vec3d_sample[iz][iy][ix] += ovec3d[iz][iy][ix]; + vec3d[iz][iy][ix] += ovec3d[iz][iy][ix]; } else { int jm1 = j - 1; for (iz = nzlo_in; iz <= nzhi_in; iz++) for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) - vec3d_sample[iz][iy][ix] += oarray3d[iz][iy][ix][jm1]; + vec3d[iz][iy][ix] += oarray3d[iz][iy][ix][jm1]; } } else { if (j == 0) { for (iz = nzlo_in; iz <= nzhi_in; iz++) for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) - array3d_sample[iz][iy][ix][m] += ovec3d[iz][iy][ix]; + array3d[iz][iy][ix][m] += ovec3d[iz][iy][ix]; } else { int jm1 = j - 1; for (iz = nzlo_in; iz <= nzhi_in; iz++) for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) - array3d_sample[iz][iy][ix][m] += oarray3d[iz][iy][ix][jm1]; + array3d[iz][iy][ix][m] += oarray3d[iz][iy][ix][jm1]; } } } @@ -1200,415 +1264,8 @@ void FixAveGrid::grid2grid() } /* ---------------------------------------------------------------------- - allocate all grids which will be used - if ATOM mode, also allocate per-cell counts -------------------------------------------------------------------------- */ - -void FixAveGrid::allocate_grid() -{ - if (dimension == 2) { - - if (nvalues == 1) { - memory->create2d_offset(vec2d, nylo_out, nyhi_out, nxlo_out, nxhi_out, - "ave/grid:vec2d"); - memory->create2d_offset(vec2d_sample, nylo_out, nyhi_out, nxlo_out, nxhi_out, - "ave/grid:vec2d_sample"); - if (normflag == SAMPLE) - memory->create2d_offset(vec2d_epoch, nylo_out, nyhi_out, nxlo_out, nxhi_out, - "ave/grid:vec2d_epoch"); - if (aveflag == RUNNING) - memory->create2d_offset(vec2d_running, nylo_out, nyhi_out, nxlo_out, nxhi_out, - "ave/grid:vec2d_running"); - } else { - memory->create3d_offset_last(array2d, nylo_out, nyhi_out, nxlo_out, nxhi_out, - nvalues, "ave/grid:array3d"); - memory->create3d_offset_last(array2d_sample, nylo_out, nyhi_out, nxlo_out, nxhi_out, - nvalues, "ave/grid:array3d_sample"); - if (normflag == SAMPLE) - memory->create3d_offset_last(array2d_epoch, nylo_out, nyhi_out, nxlo_out, nxhi_out, - nvalues, "ave/grid:array3d_epoch"); - if (aveflag == RUNNING) - memory->create3d_offset_last(array2d_running, nylo_out, nyhi_out, nxlo_out, nxhi_out, - nvalues, "ave/grid:array3d_running"); - } - - if (modeatom) { - memory->create2d_offset(count2d, nylo_out, nyhi_out, nxlo_out, nxhi_out, - "ave/grid:count2d"); - memory->create2d_offset(count2d_sample, nylo_out, nyhi_out, nxlo_out, nxhi_out, - "ave/grid:count2d_sample"); - if (normflag == SAMPLE) - memory->create2d_offset(count2d_epoch, nylo_out, nyhi_out, nxlo_out, nxhi_out, - "ave/grid:count2d_epoch"); - if (normflag == RUNNING) { - memory->create2d_offset(count2d_running, nylo_out, nyhi_out, nxlo_out, nxhi_out, - "ave/grid:count2d_running"); - } - } - - } else if (dimension == 3) { - - if (nvalues == 1) { - memory->create3d_offset(vec3d, nzlo_out, nzhi_out, nylo_out, - nyhi_out, nxlo_out, nxhi_out, - "ave/grid:vec3d"); - memory->create3d_offset(vec3d_sample, nzlo_out, nzhi_out, nylo_out, - nyhi_out, nxlo_out, nxhi_out, - "ave/grid:vec3d_sample"); - if (normflag == SAMPLE) - memory->create3d_offset(vec3d_epoch, nzlo_out, nzhi_out, nylo_out, - nyhi_out, nxlo_out, nxhi_out, - "ave/grid:vec3d_epoch"); - if (aveflag == RUNNING) - memory->create3d_offset(vec3d_running, nzlo_out, nzhi_out, nylo_out, - nyhi_out, nxlo_out, nxhi_out, - "ave/grid:vec3d_running"); - } else { - memory->create4d_offset_last(array3d, nzlo_out, nzhi_out, nylo_out, - nyhi_out, nxlo_out, nxhi_out, nvalues, - "ave/grid:array3d"); - memory->create4d_offset_last(array3d_sample, nzlo_out, nzhi_out, nylo_out, - nyhi_out, nxlo_out, nxhi_out, - nvalues, "ave/grid:array3d_sample"); - if (normflag == SAMPLE) - memory->create4d_offset_last(array3d_epoch, nzlo_out, nzhi_out, nylo_out, - nyhi_out, nxlo_out, nxhi_out, - nvalues, "ave/grid:array3d_epoch"); - if (aveflag == RUNNING) - memory->create4d_offset_last(array3d_running, nzlo_out, nzhi_out, nylo_out, - nyhi_out, nxlo_out, nxhi_out, - nvalues, "ave/grid:array3d_running"); - } - - if (modeatom) { - memory->create3d_offset(count3d, nzlo_out, nzhi_out, nylo_out, - nyhi_out, nxlo_out, nxhi_out, "ave/grid:count3d"); - memory->create3d_offset(count3d_sample, nzlo_out, nzhi_out, nylo_out, - nyhi_out, nxlo_out, nxhi_out, - "ave/grid:count3d_sample"); - if (normflag == SAMPLE) - memory->create3d_offset(count3d_epoch, nzlo_out, nzhi_out, nylo_out, - nyhi_out, nxlo_out, nxhi_out, - "ave/grid:count3d_epoch"); - if (normflag == RUNNING) - memory->create3d_offset(count3d_running, nzlo_out, nzhi_out, nylo_out, - nyhi_out, nxlo_out, nxhi_out, - "ave/grid:count3d_running"); - } - } -} - -/* ---------------------------------------------------------------------- - deallocate all grids and counts -------------------------------------------------------------------------- */ - -void FixAveGrid::deallocate_grid() -{ - memory->destroy2d_offset(vec2d,nylo_out,nxlo_out); - memory->destroy3d_offset_last(array2d,nylo_out,nxlo_out); - memory->destroy2d_offset(count2d,nylo_out,nxlo_out); - - memory->destroy2d_offset(vec2d_sample,nylo_out,nxlo_out); - memory->destroy3d_offset_last(array2d_sample,nylo_out,nxlo_out); - memory->destroy2d_offset(count2d_sample,nylo_out,nxlo_out); - - memory->destroy2d_offset(vec2d_epoch,nylo_out,nxlo_out); - memory->destroy3d_offset_last(array2d_epoch,nylo_out,nxlo_out); - memory->destroy2d_offset(count2d_epoch,nylo_out,nxlo_out); - - memory->destroy2d_offset(vec2d_running,nylo_out,nxlo_out); - memory->destroy3d_offset_last(array2d_running,nylo_out,nxlo_out); - memory->destroy2d_offset(count2d_running,nylo_out,nxlo_out); - - memory->destroy3d_offset(vec3d,nzlo_out,nylo_out,nxlo_out); - memory->destroy4d_offset_last(array3d,nzlo_out,nylo_out,nxlo_out); - memory->destroy3d_offset(count3d,nzlo_out,nylo_out,nxlo_out); - - memory->destroy3d_offset(vec3d_sample,nzlo_out,nylo_out,nxlo_out); - memory->destroy4d_offset_last(array3d_sample,nzlo_out,nylo_out,nxlo_out); - memory->destroy3d_offset(count3d_sample,nzlo_out,nylo_out,nxlo_out); - - memory->destroy3d_offset(vec3d_epoch,nzlo_out,nylo_out,nxlo_out); - memory->destroy4d_offset_last(array3d_epoch,nzlo_out,nylo_out,nxlo_out); - memory->destroy3d_offset(count3d_epoch,nzlo_out,nylo_out,nxlo_out); - - memory->destroy3d_offset(vec3d_running,nzlo_out,nylo_out,nxlo_out); - memory->destroy4d_offset_last(array3d_running,nzlo_out,nylo_out,nxlo_out); - memory->destroy3d_offset(count3d_running,nzlo_out,nylo_out,nxlo_out); -} - -/* ---------------------------------------------------------------------- - zero values for a grid incluing ghost cells - if ATOM mode, also zero per-cell counts -------------------------------------------------------------------------- */ - -void FixAveGrid::zero_grid(double **c2d, double **v2d, double ***a2d, - double ***c3d, double ***v3d, double ****a3d) -{ - if (!ngridout) return; - - if (dimension == 2) { - if (modeatom) - memset(&c2d[nylo_out][nxlo_out],0,ngridout*sizeof(double)); - if (nvalues == 1) - memset(&v2d[nylo_out][nxlo_out],0,ngridout*sizeof(double)); - else - memset(&a2d[nylo_out][nxlo_out][0],0,ngridout*nvalues*sizeof(double)); - } else { - if (modeatom) - memset(&c3d[nzlo_out][nylo_out][nxlo_out],0,ngridout*sizeof(double)); - if (nvalues == 1) - memset(&v3d[nzlo_out][nylo_out][nxlo_out],0,ngridout*sizeof(double)); - else - memset(&a3d[nzlo_out][nylo_out][nxlo_out][0],0, - ngridout*nvalues*sizeof(double)); - } -} - -/* ---------------------------------------------------------------------- - sum sample grid values to Nfreq epoch grid, just for owned grid cells - if ATOM mode, also sum per-cell counts -------------------------------------------------------------------------- */ - -void FixAveGrid::sum_sample_to_epoch() -{ - int ix,iy,iz,m; - - if (!ngridout) return; - - if (dimension == 2) { - if (nvalues == 1) { - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - vec2d_epoch[iy][ix] += vec2d_sample[iy][ix]; - } else { - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - for (m = 0; m <= nvalues; m++) - array2d_epoch[iy][ix][m] += array2d_sample[iy][ix][m]; - } - if (modeatom) - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - count2d_epoch[iy][ix] += count2d_sample[iy][ix]; - - } else { - if (nvalues == 1) { - for (iz = nzlo_in; iz <= nzhi_in; iz++) - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - vec3d_epoch[iz][iy][ix] += vec3d_sample[iz][iy][ix]; - } else { - for (iz = nzlo_in; iz <= nzhi_in; iz++) - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - for (m = 0; m <= nvalues; m++) - array3d_epoch[iz][iy][ix][m] += array3d_sample[iz][iy][ix][m]; - } - if (modeatom) - for (iz = nzlo_in; iz <= nzhi_in; iz++) - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - count3d_epoch[iz][iy][ix] += count3d_sample[iz][iy][ix]; - } -} - -/* ---------------------------------------------------------------------- - copy Nfreq epoch grid values to sample grid, just for owned grid cells - if ATOM mode, also copy per-cell counts -------------------------------------------------------------------------- */ - -void FixAveGrid::copy_epoch_to_sample() -{ - int ix,iy,iz,m; - - if (!ngridout) return; - - if (dimension == 2) { - if (nvalues == 1) { - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - vec2d_sample[iy][ix] = vec2d_epoch[iy][ix]; - } else { - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - for (m = 0; m <= nvalues; m++) - array2d_sample[iy][ix][m] = array2d_epoch[iy][ix][m]; - } - if (modeatom) - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - count2d_sample[iy][ix] = count2d_epoch[iy][ix]; - - } else { - if (nvalues == 1) { - for (iz = nzlo_in; iz <= nzhi_in; iz++) - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - vec3d_sample[iz][iy][ix] = vec3d_epoch[iz][iy][ix]; - } else { - for (iz = nzlo_in; iz <= nzhi_in; iz++) - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - for (m = 0; m <= nvalues; m++) - array3d_sample[iz][iy][ix][m] = array3d_epoch[iz][iy][ix][m]; - } - if (modeatom) - for (iz = nzlo_in; iz <= nzhi_in; iz++) - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - count3d_sample[iz][iy][ix] = count3d_epoch[iz][iy][ix]; - } -} - -/* ---------------------------------------------------------------------- - copy sample grid values to output grid, just for owned grid cells - if ATOM mode, also copy per-cell counts -------------------------------------------------------------------------- */ - -void FixAveGrid::copy_sample_to_output() -{ - int ix,iy,iz,m; - - if (!ngridout) return; - - if (dimension == 2) { - if (nvalues == 1) { - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - vec2d[iy][ix] = vec2d_sample[iy][ix]; - } else { - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - for (m = 0; m <= nvalues; m++) - array2d[iy][ix][m] = array2d_sample[iy][ix][m]; - } - if (modeatom) - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - count2d[iy][ix] = count2d_sample[iy][ix]; - - } else { - if (nvalues == 1) { - for (iz = nzlo_in; iz <= nzhi_in; iz++) - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - vec3d[iz][iy][ix] = vec3d_sample[iz][iy][ix]; - } else { - for (iz = nzlo_in; iz <= nzhi_in; iz++) - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - for (m = 0; m <= nvalues; m++) - array3d[iz][iy][ix][m] = array3d_sample[iz][iy][ix][m]; - } - if (modeatom) - for (iz = nzlo_in; iz <= nzhi_in; iz++) - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - count3d[iz][iy][ix] = count3d_sample[iz][iy][ix]; - } -} - -/* ---------------------------------------------------------------------- - copy running grid values to output grid, just for owned grid cells - if ATOM mode, also copy per-cell counts -------------------------------------------------------------------------- */ - -void FixAveGrid::copy_running_to_output() -{ - int ix,iy,iz,m; - - if (!ngridout) return; - - if (dimension == 2) { - if (nvalues == 1) { - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - vec2d[iy][ix] = vec2d_running[iy][ix]; - } else { - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - for (m = 0; m <= nvalues; m++) - array2d[iy][ix][m] = array2d_running[iy][ix][m]; - } - if (modeatom) - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - count2d[iy][ix] = count2d_running[iy][ix]; - - } else { - if (nvalues == 1) { - for (iz = nzlo_in; iz <= nzhi_in; iz++) - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - vec3d[iz][iy][ix] = vec3d_running[iz][iy][ix]; - } else { - for (iz = nzlo_in; iz <= nzhi_in; iz++) - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - for (m = 0; m <= nvalues; m++) - array3d[iz][iy][ix][m] = array3d_running[iz][iy][ix][m]; - } - if (modeatom) - for (iz = nzlo_in; iz <= nzhi_in; iz++) - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - count3d[iz][iy][ix] = count3d_running[iz][iy][ix]; - } -} - -/* ---------------------------------------------------------------------- - sum sample grid values to running grid, just for owned grid cells - if ATOM mode, also copy per-cell counts -------------------------------------------------------------------------- */ - -void FixAveGrid::sum_sample_to_running() -{ - int ix,iy,iz,m; - - if (!ngridout) return; - - if (dimension == 2) { - if (nvalues == 1) { - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - vec2d_running[iy][ix] += vec2d_sample[iy][ix]; - } else { - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - for (m = 0; m <= nvalues; m++) - array2d_running[iy][ix][m] += array2d_sample[iy][ix][m]; - } - if (modeatom) - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - count2d_running[iy][ix] += count2d_sample[iy][ix]; - - } else { - if (nvalues == 1) { - for (iz = nzlo_in; iz <= nzhi_in; iz++) - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - vec3d_running[iz][iy][ix] += vec3d_sample[iz][iy][ix]; - } else { - for (iz = nzlo_in; iz <= nzhi_in; iz++) - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - for (m = 0; m <= nvalues; m++) - array3d_running[iz][iy][ix][m] += array3d_sample[iz][iy][ix][m]; - } - if (modeatom) - for (iz = nzlo_in; iz <= nzhi_in; iz++) - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) - count3d_running[iz][iy][ix] += count3d_sample[iz][iy][ix]; - } -} - -/* ---------------------------------------------------------------------- - normalize grid values and per-cell counts for ATOM mode for owned cells - numsamples = normalization factor - value_sample & count are either for one sample or summed over epoch + normalize grid values for ATOM mode for owned cells + grid values are summed over numsamples (can be 1 or Nrepeat) result = sample_value / count exception is DENSITY_NUMBER: result = value / (current binvol * Nrepeat) @@ -1616,9 +1273,11 @@ void FixAveGrid::sum_sample_to_running() result = (value * mv2d) / (current binvol * Nrepeat) exception is TEMPERATURE: result = (value * mvv2e) / (Nrepeat*cdof + adof*count) * boltz) + exception normalization is same for norm = ALL, SAMPLE, NONORM + so NONORM if test is after exception if tests ------------------------------------------------------------------------- */ -void FixAveGrid::normalize_atom(int numsamples) +void FixAveGrid::normalize_atom(int numsamples, GridData *grid) { int ix,iy,iz,m; double count,norm; @@ -1632,96 +1291,106 @@ void FixAveGrid::normalize_atom(int numsamples) double dy = prd[1]/nygrid; double dz = prd[2]/nzgrid; + double repeat = numsamples; + double invrepeat = 1.0/repeat; + double binvol; if (dimension == 2) binvol = dx*dy; else binvol = dx*dy*dz; - double repeat = numsamples; - double invrepeat = 1.0/repeat; + double density_number_norm = 1.0 / (binvol * repeat); + double density_mass_norm = mv2d / (binvol * repeat); if (dimension == 2) { + double **count2d = grid->count2d; + if (nvalues == 1) { + double **vec2d = grid->vec2d; for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) { - count = count2d_sample[iy][ix]; + count = count2d[iy][ix]; if (count) { if (which[0] == ArgInfo::DENSITY_NUMBER) - norm = 1.0 / (binvol * repeat); + norm = density_number_norm; else if (which[0] == ArgInfo::DENSITY_MASS) - norm = mv2d / (binvol * nrepeat); + norm = density_mass_norm; else if (which[0] == ArgInfo::TEMPERATURE) norm = mvv2e /((repeat*cdof + adof*count) * boltz); else if (normflag == NONORM) - norm = 1.0/invrepeat; + norm = invrepeat; else norm = 1.0/count; - vec2d_sample[iy][ix] *= norm; - count2d_sample[iy][ix] *= invrepeat; + vec2d[iy][ix] *= norm; } } + } else { + double ***array2d = grid->array2d; for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) { - count = count2d_sample[iy][ix]; + count = count2d[iy][ix]; if (count) { for (m = 0; m < nvalues; m++) { if (which[m] == ArgInfo::DENSITY_NUMBER) - norm = 1.0 / (binvol * repeat); + norm = density_number_norm; else if (which[m] == ArgInfo::DENSITY_MASS) - norm = mv2d / (binvol * nrepeat); + norm = density_mass_norm; else if (which[m] == ArgInfo::TEMPERATURE) norm = mvv2e /((repeat*cdof + adof*count) * boltz); else if (normflag == NONORM) - norm = 1.0/invrepeat; + norm = invrepeat; else norm = 1.0/count; - array2d_sample[iy][ix][m] *= norm; + array2d[iy][ix][m] *= norm; } - count2d_sample[iy][ix] *= invrepeat; } } } - } else { + + } else if (dimension == 3) { + double ***count3d = grid->count3d; + if (nvalues == 1) { + double ***vec3d = grid->vec3d; for (iz = nzlo_in; iz <= nzhi_in; iz++) for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) { - count = count3d_sample[iz][iy][ix]; + count = count3d[iz][iy][ix]; if (count) { if (which[0] == ArgInfo::DENSITY_NUMBER) - norm = 1.0 / (binvol * repeat); + norm = density_number_norm; else if (which[0] == ArgInfo::DENSITY_MASS) - norm = mv2d / (binvol * nrepeat); + norm = density_mass_norm; else if (which[0] == ArgInfo::TEMPERATURE) norm = mvv2e /((repeat*cdof + adof*count) * boltz); else if (normflag == NONORM) - norm = 1.0/invrepeat; + norm = invrepeat; else norm = 1.0/count; - vec3d_sample[iz][iy][ix] *= norm; - count3d_sample[iz][iy][ix] *= invrepeat; + vec3d[iz][iy][ix] *= norm; } } + } else { + double ****array3d = grid->array3d; for (iz = nzlo_in; iz <= nzhi_in; iz++) for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) { - count = count3d_sample[iz][iy][ix]; + count = count3d[iz][iy][ix]; if (count) { for (m = 0; m < nvalues; m++) { if (which[m] == ArgInfo::DENSITY_NUMBER) - norm = 1.0 / (binvol * repeat); + norm = density_number_norm; else if (which[m] == ArgInfo::DENSITY_MASS) - norm = mv2d / (binvol * nrepeat); + norm = density_mass_norm; else if (which[m] == ArgInfo::TEMPERATURE) norm = mvv2e /((repeat*cdof + adof*count) * boltz); else if (normflag == NONORM) - norm = 1.0/invrepeat; + norm = invrepeat; else norm = 1.0/count; - array3d_sample[iz][iy][ix][m] *= norm; + array3d[iz][iy][ix][m] *= norm; } - count3d_sample[iz][iy][ix] *= invrepeat; } } } @@ -1729,13 +1398,12 @@ void FixAveGrid::normalize_atom(int numsamples) } /* ---------------------------------------------------------------------- - normalize grid values by Nrepeat + normalize grid values by numsamples + used for ATOM MODE when norm = SAMPLE used for GRID mode - used for ATOM MODE with norm = SAMPLE ------------------------------------------------------------------------- */ -void FixAveGrid::normalize_grid(int numsamples, double **v2d, double ***a2d, - double ***v3d, double ****a3d) +void FixAveGrid::normalize_grid(int numsamples, GridData *grid) { int ix,iy,iz,m; @@ -1743,31 +1411,383 @@ void FixAveGrid::normalize_grid(int numsamples, double **v2d, double ***a2d, if (dimension == 2) { if (nvalues == 1) { + double **vec2d = grid->vec2d; for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) - v2d[iy][ix] *= invrepeat; + vec2d[iy][ix] *= invrepeat; } else { + double ***array2d = grid->array2d; for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) - for (m = 0; m <= nvalues; m++) - a2d[iy][ix][m] *= invrepeat; + for (m = 0; m < nvalues; m++) + array2d[iy][ix][m] *= invrepeat; } - } else { + + } else if (dimension == 3) { if (nvalues == 1) { + double ***vec3d = grid->vec3d; for (iz = nzlo_in; iz <= nzhi_in; iz++) for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) - v3d[iz][iy][ix] *= invrepeat; + vec3d[iz][iy][ix] *= invrepeat; } else { + double ****array3d = grid->array3d; for (iz = nzlo_in; iz <= nzhi_in; iz++) for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) - for (m = 0; m <= nvalues; m++) - a3d[iz][iy][ix][m] *= invrepeat; + for (m = 0; m < nvalues; m++) + array3d[iz][iy][ix][m] *= invrepeat; } } } +/* ---------------------------------------------------------------------- + normalize grid counts by numsamples + used for ATOM mode +------------------------------------------------------------------------- */ + +void FixAveGrid::normalize_count(int numsamples, GridData *grid) +{ + int ix,iy,iz; + + double invrepeat = 1.0/numsamples; + + if (dimension == 2) { + double **count2d = grid->count2d; + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + count2d[iy][ix] *= invrepeat; + + } else if (dimension == 3) { + double ***count3d = grid->count3d; + for (iz = nzlo_in; iz <= nzhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + count3d[iz][iy][ix] *= invrepeat; + } +} + +/* ---------------------------------------------------------------------- + allocate a data grid + if ATOM mode, also allocate per-grid count +------------------------------------------------------------------------- */ + +void FixAveGrid::allocate_grid(GridData *grid) +{ + if (dimension == 2) { + if (nvalues == 1) + memory->create2d_offset(grid->vec2d, nylo_out, nyhi_out, + nxlo_out, nxhi_out, "ave/grid:vec2d"); + else + memory->create3d_offset_last(grid->array2d, nylo_out, nyhi_out, + nxlo_out, nxhi_out, + nvalues, "ave/grid:array3d"); + if (modeatom) + memory->create2d_offset(grid->count2d, nylo_out, nyhi_out, + nxlo_out, nxhi_out, "ave/grid:count2d"); + + } else if (dimension == 3) { + if (nvalues == 1) + memory->create3d_offset(grid->vec3d, nzlo_out, nzhi_out, nylo_out, + nyhi_out, nxlo_out, nxhi_out, "ave/grid:vec3d"); + else + memory->create4d_offset_last(grid->array3d, nzlo_out, nzhi_out, nylo_out, + nyhi_out, nxlo_out, nxhi_out, nvalues, + "ave/grid:array3d"); + if (modeatom) + memory->create3d_offset(grid->count3d, nzlo_out, nzhi_out, nylo_out, + nyhi_out, nxlo_out, nxhi_out, "ave/grid:count3d"); + } +} + +/* ---------------------------------------------------------------------- + deallocate a data grid + if ATOM mode, also deallocate per-grid count +------------------------------------------------------------------------- */ + +void FixAveGrid::deallocate_grid(GridData *grid) +{ + if (dimension == 2) { + if (nvalues == 1) + memory->destroy2d_offset(grid->vec2d,nylo_out,nxlo_out); + else + memory->destroy3d_offset_last(grid->array2d,nylo_out,nxlo_out); + if (modeatom) + memory->destroy2d_offset(grid->count2d,nylo_out,nxlo_out); + + } else if (dimension == 3) { + if (nvalues == 1) + memory->destroy3d_offset(grid->vec3d,nzlo_out,nylo_out,nxlo_out); + else + memory->destroy4d_offset_last(grid->array3d,nzlo_out,nylo_out,nxlo_out); + if (modeatom) + memory->destroy3d_offset(grid->count3d,nzlo_out,nylo_out,nxlo_out); + } +} + +/* ---------------------------------------------------------------------- + size of a data grid + if ATOM mode, also include per-grid count +------------------------------------------------------------------------- */ + +double FixAveGrid::size_grid(GridData *grid) +{ + int nper = nvalues; + if (modeatom) nper++; + + double bytes; + if (dimension == 2) + bytes = nper * (nxhi_out - nxlo_out + 1) * + (nyhi_out - nylo_out + 1) * sizeof(double); + else + bytes = nper * (nxhi_out - nxlo_out + 1) * + (nyhi_out - nylo_out + 1) * (nzhi_out - nzlo_out + 1) * sizeof(double); + + return bytes; +} + +/* ---------------------------------------------------------------------- + zero values for a data grid including ghost cells + for ATOM mode, also zero per-grid count +------------------------------------------------------------------------- */ + +void FixAveGrid::zero_grid(GridData *grid) +{ + if (!ngridout) return; + + if (dimension == 2) { + if (nvalues == 1) + memset(&grid->vec2d[nylo_out][nxlo_out],0,ngridout*sizeof(double)); + else + memset(&grid->array2d[nylo_out][nxlo_out][0],0, + ngridout*nvalues*sizeof(double)); + if (modeatom) + memset(&grid->count2d[nylo_out][nxlo_out],0,ngridout*sizeof(double)); + + } else if (dimension == 3) { + if (nvalues == 1) + memset(&grid->vec3d[nzlo_out][nylo_out][nxlo_out],0, + ngridout*sizeof(double)); + else + memset(&grid->array3d[nzlo_out][nylo_out][nxlo_out][0],0, + ngridout*nvalues*sizeof(double)); + if (modeatom) + memset(&grid->count3d[nzlo_out][nylo_out][nxlo_out],0, + ngridout*sizeof(double)); + } +} + +/* ---------------------------------------------------------------------- + copy src grid values to result grid, just for owned grid cells + for ATOM mode, also copy per-grid count +------------------------------------------------------------------------- */ + +void FixAveGrid::copy_grid(GridData *src, GridData *result) +{ + int ix,iy,iz,m; + + if (!ngridout) return; + + if (dimension == 2) { + if (nvalues == 1) { + double **vsrc = src->vec2d; + double **vresult = result->vec2d; + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + vresult[iy][ix] = vsrc[iy][ix]; + } else { + double ***asrc = src->array2d; + double ***aresult = result->array2d; + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + for (m = 0; m < nvalues; m++) + aresult[iy][ix][m] = asrc[iy][ix][m]; + } + if (modeatom) { + double **csrc = src->count2d; + double **cresult = result->count2d; + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + cresult[iy][ix] = csrc[iy][ix]; + } + + } else if (dimension == 3) { + if (nvalues == 1) { + double ***vsrc = src->vec3d; + double ***vresult = result->vec3d; + for (iz = nzlo_in; iz <= nzhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + vresult[iz][iy][ix] = vsrc[iz][iy][ix]; + } else { + double ****asrc = src->array3d; + double ****aresult = result->array3d; + for (iz = nzlo_in; iz <= nzhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + for (m = 0; m < nvalues; m++) + aresult[iz][iy][ix][m] = asrc[iz][iy][ix][m]; + } + if (modeatom) { + double ***csrc = src->count3d; + double ***cresult = result->count3d; + for (iz = nzlo_in; iz <= nzhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + cresult[iz][iy][ix] = csrc[iz][iy][ix]; + } + } +} + +/* ---------------------------------------------------------------------- + add values in src grid to result grid, just for owned grid cells + for ATOM mode, also sum per-grid count +------------------------------------------------------------------------- */ + +void FixAveGrid::add_grid(GridData *src, GridData *result) +{ + int ix,iy,iz,m; + + if (!ngridout) return; + + if (dimension == 2) { + if (nvalues == 1) { + double **vsrc = src->vec2d; + double **vresult = result->vec2d; + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + vresult[iy][ix] += vsrc[iy][ix]; + } else { + double ***asrc = src->array2d; + double ***aresult = result->array2d; + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + for (m = 0; m < nvalues; m++) + aresult[iy][ix][m] += asrc[iy][ix][m]; + } + if (modeatom) { + double **csrc = src->count2d; + double **cresult = result->count2d; + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + cresult[iy][ix] += csrc[iy][ix]; + } + + } else if (dimension == 3) { + if (nvalues == 1) { + double ***vsrc = src->vec3d; + double ***vresult = result->vec3d; + for (iz = nzlo_in; iz <= nzhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + vresult[iz][iy][ix] += vsrc[iz][iy][ix]; + } else { + double ****asrc = src->array3d; + double ****aresult = result->array3d; + for (iz = nzlo_in; iz <= nzhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + for (m = 0; m < nvalues; m++) + aresult[iz][iy][ix][m] += asrc[iz][iy][ix][m]; + } + if (modeatom) { + double ***csrc = src->count3d; + double ***cresult = result->count3d; + for (iz = nzlo_in; iz <= nzhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + cresult[iz][iy][ix] += csrc[iz][iy][ix]; + } + } +} + +/* ---------------------------------------------------------------------- + subtact values in src grid from result grid, just for owned grid cells + for ATOM mode, also sum per-grid count +------------------------------------------------------------------------- */ + +void FixAveGrid::subtract_grid(GridData *src, GridData *result) +{ + int ix,iy,iz,m; + + if (!ngridout) return; + + if (dimension == 2) { + if (nvalues == 1) { + double **vsrc = src->vec2d; + double **vresult = result->vec2d; + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + vresult[iy][ix] -= vsrc[iy][ix]; + } else { + double ***asrc = src->array2d; + double ***aresult = result->array2d; + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + for (m = 0; m < nvalues; m++) + aresult[iy][ix][m] -= asrc[iy][ix][m]; + } + if (modeatom) { + double **csrc = src->count2d; + double **cresult = result->count2d; + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + cresult[iy][ix] -= csrc[iy][ix]; + } + + } else if (dimension == 3) { + if (nvalues == 1) { + double ***vsrc = src->vec3d; + double ***vresult = result->vec3d; + for (iz = nzlo_in; iz <= nzhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + vresult[iz][iy][ix] -= vsrc[iz][iy][ix]; + } else { + double ****asrc = src->array3d; + double ****aresult = result->array3d; + for (iz = nzlo_in; iz <= nzhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + for (m = 0; m < nvalues; m++) + aresult[iz][iy][ix][m] -= asrc[iz][iy][ix][m]; + } + if (modeatom) { + double ***csrc = src->count3d; + double ***cresult = result->count3d; + for (iz = nzlo_in; iz <= nzhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + cresult[iz][iy][ix] -= csrc[iz][iy][ix]; + } + } +} + +/* ---------------------------------------------------------------------- + set output grid pointers to src grid data + for ATOM mode, also set pointers to per-grid count +------------------------------------------------------------------------- */ + +void FixAveGrid::output_grid(GridData *src) +{ + if (dimension == 2) { + if (nvalues == 1) + grid_output->vec2d = src->vec2d; + else + grid_output->array2d = src->array2d; + if (modeatom) + grid_output->count2d = src->count2d; + + } else if (dimension == 3) { + if (nvalues == 1) + grid_output->vec3d = src->vec3d; + else + grid_output->array3d = src->array3d; + if (modeatom) + grid_output->count3d = src->count3d; + } +} + /* ---------------------------------------------------------------------- pack ghost values into buf to send to another proc nvalues per grid point + count @@ -1782,13 +1802,13 @@ void FixAveGrid::pack_reverse_grid(int /*flag*/, void *vbuf, int nlist, int *lis m = 0; if (dimension == 2) { - count = &count2d_sample[nylo_out][nxlo_out]; - if (nvalues == 1) data = &vec2d_sample[nylo_out][nxlo_out]; - else data = &array2d_sample[nylo_out][nxlo_out][0]; + count = &grid_sample->count2d[nylo_out][nxlo_out]; + if (nvalues == 1) data = &grid_sample->vec2d[nylo_out][nxlo_out]; + else data = &grid_sample->array2d[nylo_out][nxlo_out][0]; } else if (dimension == 3) { - count = &count3d_sample[nzlo_out][nylo_out][nxlo_out]; - if (nvalues == 1) data = &vec3d_sample[nzlo_out][nylo_out][nxlo_out]; - else data = &array3d_sample[nzlo_out][nylo_out][nxlo_out][0]; + count = &grid_sample->count3d[nzlo_out][nylo_out][nxlo_out]; + if (nvalues == 1) data = &grid_sample->vec3d[nzlo_out][nylo_out][nxlo_out]; + else data = &grid_sample->array3d[nzlo_out][nylo_out][nxlo_out][0]; } if (nvalues == 1) { @@ -1820,13 +1840,13 @@ void FixAveGrid::unpack_reverse_grid(int /*flag*/, void *vbuf, int nlist, int *l m = 0; if (dimension == 2) { - count = &count2d_sample[nylo_out][nxlo_out]; - if (nvalues == 1) data = &vec2d_sample[nylo_out][nxlo_out]; - else data = &array2d_sample[nylo_out][nxlo_out][0]; + count = &grid_sample->count2d[nylo_out][nxlo_out]; + if (nvalues == 1) data = &grid_sample->vec2d[nylo_out][nxlo_out]; + else data = &grid_sample->array2d[nylo_out][nxlo_out][0]; } else if (dimension == 3) { - count = &count3d_sample[nzlo_out][nylo_out][nxlo_out]; - if (nvalues == 1) data = &vec3d_sample[nzlo_out][nylo_out][nxlo_out]; - else data = &array3d_sample[nzlo_out][nylo_out][nxlo_out][0]; + count = &grid_sample->count3d[nzlo_out][nylo_out][nxlo_out]; + if (nvalues == 1) data = &grid_sample->vec3d[nzlo_out][nylo_out][nxlo_out]; + else data = &grid_sample->array3d[nzlo_out][nylo_out][nxlo_out][0]; } if (nvalues == 1) { @@ -1927,29 +1947,42 @@ void *FixAveGrid::get_griddata_by_index(int index) { if (index == 0) { if (dimension == 2) { - if (nvalues == 1) return vec2d; - else return array2d; + if (nvalues == 1) return grid_output->vec2d; + else return grid_output->array2d; } else { - if (nvalues == 1) return vec3d; - else return array3d; + if (nvalues == 1) return grid_output->vec3d; + else return grid_output->array3d; } } if (index == 1) { - if (dimension == 2) return count2d; - else return count3d; + if (dimension == 2) return grid_output->count2d; + else return grid_output->count3d; } return nullptr; } /* ---------------------------------------------------------------------- - memory usage of local atom-based array + memory usage of local per-grid data ------------------------------------------------------------------------- */ double FixAveGrid::memory_usage() { - double bytes = (double) ngridout * nvalues * sizeof(double); // vec/array 2d/3d - if (modeatom) bytes += (double) ngridout * sizeof(double); // count2d/3d + double bytes = 0.0; + + bytes += size_grid(grid_sample); + bytes += size_grid(grid_nfreq); + if (aveflag == RUNNING || aveflag == WINDOW) + bytes += size_grid(grid_running); + if (aveflag == WINDOW) + bytes += nwindow * size_grid(grid_window[0]); + + if (modeatom) { + bytes += maxatom*dimension * sizeof(int); // bin array + bytes += maxatom * sizeof(int); // skip vector + bytes += maxvar * sizeof(double); // vresult for per-atom variable + } + return bytes; } diff --git a/src/fix_ave_grid.h b/src/fix_ave_grid.h index cce7c5bb52..cd162ae9a5 100644 --- a/src/fix_ave_grid.h +++ b/src/fix_ave_grid.h @@ -52,10 +52,10 @@ class FixAveGrid : public Fix { bigint nvalid, nvalid_last; int modeatom,modegrid; int normflag,aveflag,nwindow; - + int running_count; int window_count,window_oldest,window_newest; - + int biasflag; char *id_bias; class Compute *tbias; // ptr to additional bias compute @@ -75,27 +75,16 @@ class FixAveGrid : public Fix { int nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in; int nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out; int ngridout; - double shift; - double **vec2d_sample,***vec3d_sample; - double ***array2d_sample,****array3d_sample; - double **count2d_sample,***count3d_sample; + struct GridData { + double **vec2d,***vec3d; + double ***array2d,****array3d; + double **count2d,***count3d; + }; - double **vec2d_epoch,***vec3d_epoch; - double ***array2d_epoch,****array3d_epoch; - double **count2d_epoch,***count3d_epoch; - - double **vec2d_running,***vec3d_running; - double ***array2d_running,****array3d_running; - double **count2d_running,***count3d_running; - - double ***vec2d_window,****vec3d_window; - double ****array2d_window,*****array3d_window; - double ***count2d_window,****count3d_window; - - double **vec2d,***vec3d; - double ***array2d,****array3d; - double **count2d,***count3d; + GridData *grid_output; + GridData *grid_sample,*grid_nfreq,*grid_running; + GridData **grid_window; int **bin; int *skip; @@ -107,20 +96,18 @@ class FixAveGrid : public Fix { void atom2grid(); void grid2grid(); - void allocate_grid(); - void deallocate_grid(); - void zero_grid(double **, double **, double ***, - double ***, double ***, double ****); - void sum_sample_to_epoch(); - void copy_epoch_to_sample(); - void sum_sample_to_running(); - void copy_sample_to_output(); - void copy_running_to_output(); - void copy_sample_to_window(int) {} - void subtract_window_from_running() {} + void normalize_atom(int, GridData *); + void normalize_grid(int, GridData *); + void normalize_count(int, GridData *); - void normalize_atom(int); - void normalize_grid(int, double **, double ***, double ***, double ****); + void allocate_grid(GridData *); + void deallocate_grid(GridData *); + double size_grid(GridData *); + void zero_grid(GridData *); + void copy_grid(GridData *, GridData *); + void add_grid(GridData *, GridData *); + void subtract_grid(GridData *, GridData *); + void output_grid(GridData *); bigint nextvalid(); }; From 2f8075ae77eea72ac5a708e6e35ae81d140dbc73 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 26 Aug 2022 17:05:01 -0600 Subject: [PATCH 053/142] adjust doc page --- doc/src/fix_ave_grid.rst | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/doc/src/fix_ave_grid.rst b/doc/src/fix_ave_grid.rst index cd9eb8967a..c855c92256 100644 --- a/doc/src/fix_ave_grid.rst +++ b/doc/src/fix_ave_grid.rst @@ -77,7 +77,8 @@ grid and use it to either (a) time-average per-atom quantities for the atoms in each grid cell, or to (b) time-average per-grid quantities produced by other computes or fixes. This fix operates in either "per-atom mode" (all input values are per-atom) or in "per-grid mode" -(all input values are per-grid). +(all input values are per-grid). You cannot use both per-atom and +per-grid inputs in the same command. The grid created by this command is distributed; each processor owns the grid points that are within its sub-domain. This is in contrast to @@ -295,6 +296,10 @@ every *Nfreq* timesteps when *Nrepeat* samples contribute to the output. It has 3 possible settings: *all* or *sample* or *none*. *All* is the default. +In per-grid mode, all the *norm* keyword options are the same. The +output grid value is summed over the grid value in each of the +*Nrepeat* samples and then divided by *Nrepeat*. + In per-atom mode, *norm all* means the output grid value is summed over all atoms in all *Nrepeat* samples, as is the count of atoms in each grid cell. The averaged output value for a grid cell on the @@ -327,10 +332,6 @@ and *density/mass* values, the grid cell volume used in the per-sample sum normalization will be the current grid cell volume at each sampling step. -In per-grid mode, all the *norm* keyword options operate the same. -The output grid value is summed over the grid value in each of the -*Nrepeat* samples and then divided by *Nrepeat*. - The *ave* keyword is applied to both per-atom and per-grid mode. It determines how the per-grid values produced once every *Nfreq* steps are averaged with values produced on previous steps that were multiples of From d67eed7e43944c1bfbe5a96712c049d8970a2702 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 29 Aug 2022 16:46:26 -0600 Subject: [PATCH 054/142] enable triclinic for fix ave/grid --- src/AMOEBA/amoeba_convolution.cpp | 26 ++------------- src/AMOEBA/amoeba_convolution.h | 1 - src/KSPACE/msm.cpp | 5 +-- src/KSPACE/pppm.cpp | 3 +- src/compute_property_grid.cpp | 52 ++++++++++++++++++++--------- src/dump_grid.cpp | 2 +- src/fix_ave_grid.cpp | 7 ++-- src/grid2d.cpp | 52 +++++++++++++++-------------- src/grid2d.h | 3 -- src/grid3d.cpp | 54 ++++++++++++++++--------------- src/grid3d.h | 3 -- src/kspace.cpp | 25 -------------- src/kspace.h | 1 - src/math_extra.cpp | 37 +++++++++++++++++---- src/math_extra.h | 5 +++ 15 files changed, 137 insertions(+), 139 deletions(-) diff --git a/src/AMOEBA/amoeba_convolution.cpp b/src/AMOEBA/amoeba_convolution.cpp index 9ac4db1827..eca1c88c4d 100644 --- a/src/AMOEBA/amoeba_convolution.cpp +++ b/src/AMOEBA/amoeba_convolution.cpp @@ -18,6 +18,7 @@ #include "domain.h" #include "fft3d_wrap.h" #include "grid3d.h" +#include "math_extra.h" #include "memory.h" #include "neighbor.h" #include "remap_wrap.h" @@ -161,7 +162,7 @@ void AmoebaConvolution::allocate_grid() double dist[3] = {0.0,0.0,0.0}; double cuthalf = 0.5*neighbor->skin; if (triclinic == 0) dist[0] = dist[1] = dist[2] = cuthalf; - else kspacebbox(cuthalf,&dist[0]); + else MathExtra::tribbox(domain->h,cuthalf,&dist[0]); int nlo,nhi; @@ -550,29 +551,6 @@ void *AmoebaConvolution::post_convolution_4d() return (void *) cgrid_brick; } -/* ---------------------------------------------------------------------- - convert a sphere in box coords to an ellipsoid in lamda (0-1) - coords and return the tight (axis-aligned) bounding box, does not - preserve vector magnitude - see http://www.loria.fr/~shornus/ellipsoid-bbox.html and - http://yiningkarlli.blogspot.com/2013/02/ - bounding-boxes-for-ellipsoidsfigure.html -------------------------------------------------------------------------- */ - -void AmoebaConvolution::kspacebbox(double r, double *b) -{ - double *h = domain->h; - double lx,ly,lz,xy,xz,yz; - - lx = h[0]; ly = h[1]; lz = h[2]; - yz = h[3]; xz = h[4]; xy = h[5]; - - b[0] = r*sqrt(ly*ly*lz*lz + ly*ly*xz*xz - 2.0*ly*xy*xz*yz + lz*lz*xy*xy + - xy*xy*yz*yz)/(lx*ly*lz); - b[1] = r*sqrt(lz*lz + yz*yz)/(ly*lz); - b[2] = r/lz; -} - /* ---------------------------------------------------------------------- map nprocs to NX by NY grid as PX by PY procs - return optimal px,py copy of PPPM::procs2grid2d() diff --git a/src/AMOEBA/amoeba_convolution.h b/src/AMOEBA/amoeba_convolution.h index 9d877bdcf0..5b82142a4d 100644 --- a/src/AMOEBA/amoeba_convolution.h +++ b/src/AMOEBA/amoeba_convolution.h @@ -76,7 +76,6 @@ class AmoebaConvolution : protected Pointers { FFT_SCALAR *pre_convolution_4d(); void *post_convolution_3d(); void *post_convolution_4d(); - void kspacebbox(double, double *); void procs2grid2d(int, int, int, int &, int &); // DEBUG diff --git a/src/KSPACE/msm.cpp b/src/KSPACE/msm.cpp index ac9e2c4264..a3ef458770 100644 --- a/src/KSPACE/msm.cpp +++ b/src/KSPACE/msm.cpp @@ -25,6 +25,7 @@ #include "force.h" #include "grid3d.h" #include "math_const.h" +#include "math_extra.h" #include "memory.h" #include "neighbor.h" #include "pair.h" @@ -326,7 +327,7 @@ void MSM::setup() if (triclinic) { double tmp[3]; - kspacebbox(a,&tmp[0]); + MathExtra::tribbox(domain->h,a,&tmp[0]); ax = tmp[0]; ay = tmp[1]; az = tmp[2]; @@ -1209,7 +1210,7 @@ void MSM::set_grid_local() double cuthalf = 0.0; if (n == 0) cuthalf = 0.5*neighbor->skin; // only applies to finest grid dist[0] = dist[1] = dist[2] = cuthalf; - if (triclinic) kspacebbox(cuthalf,&dist[0]); + if (triclinic) MathExtra::tribbox(domain->h,cuthalf,&dist[0]); int nlo,nhi; diff --git a/src/KSPACE/pppm.cpp b/src/KSPACE/pppm.cpp index 5c1e4456ca..5cb2655f54 100644 --- a/src/KSPACE/pppm.cpp +++ b/src/KSPACE/pppm.cpp @@ -31,6 +31,7 @@ #include "force.h" #include "grid3d.h" #include "math_const.h" +#include "math_extra.h" #include "math_special.h" #include "memory.h" #include "neighbor.h" @@ -1369,7 +1370,7 @@ void PPPM::set_grid_local() double dist[3] = {0.0,0.0,0.0}; double cuthalf = 0.5*neighbor->skin + qdist; if (triclinic == 0) dist[0] = dist[1] = dist[2] = cuthalf; - else kspacebbox(cuthalf,&dist[0]); + else MathExtra::tribbox(domain->h,cuthalf,&dist[0]); int nlo,nhi; nlo = nhi = 0; diff --git a/src/compute_property_grid.cpp b/src/compute_property_grid.cpp index b7ea473c63..64092dd596 100644 --- a/src/compute_property_grid.cpp +++ b/src/compute_property_grid.cpp @@ -364,7 +364,8 @@ template void ComputePropertyGrid::pack_indices(int n) /* ---------------------------------------------------------------------- grid point coords - LOW/CTR, SCALED/UNSCALED, orthogonal/triclinic via templating + LOW/CTR, SCALED/UNSCALED, DIM = 0/1 via templating + dimension and orthogonal/tricilic in code logic ------------------------------------------------------------------------- */ template void ComputePropertyGrid::pack_coords(int n) @@ -380,7 +381,11 @@ template void ComputePropertyGrid::pack_coords(int if (!triclinic || MODE == SCALED) { - if (MODE == UNSCALED) grid2d->get_box(IDIM, boxlo, delta); + if (MODE == UNSCALED) { + boxlo = domain->boxlo[IDIM]; + if (IDIM == 0) delta = domain->prd[IDIM] / nxgrid; + if (IDIM == 1) delta = domain->prd[IDIM] / nygrid; + } if (MODE == SCALED) { boxlo = 0.0; if (IDIM == 0) delta = 1.0 / nxgrid; @@ -414,7 +419,7 @@ template void ComputePropertyGrid::pack_coords(int } } - // only for coords which are triclinic AND unscaled + // only for coords which are triclinic AND unscaled } else { @@ -424,9 +429,11 @@ template void ComputePropertyGrid::pack_coords(int if (nvalues == 1) { for (int iy = nylo_in; iy <= nyhi_in; iy++) { - lamda[1] = iy * dy; + if (POS == LOW) lamda[1] = iy * dy; + else lamda[1] = (iy + 0.5) * dy; for (int ix = nxlo_in; ix <= nxhi_in; ix++) { - lamda[0] = ix * dx; + if (POS == LOW) lamda[0] = ix * dx; + else lamda[0] = (ix + 0.5) * dx; domain->lamda2x(lamda, xone); if (IDIM == 0) vec2d[iy][ix] = xone[0]; if (IDIM == 1) vec2d[iy][ix] = xone[1]; @@ -435,9 +442,11 @@ template void ComputePropertyGrid::pack_coords(int } else { for (int iy = nylo_in; iy <= nyhi_in; iy++) { - lamda[1] = iy * dy; + if (POS == LOW) lamda[1] = iy * dy; + else lamda[1] = (iy + 0.5) * dy; for (int ix = nxlo_in; ix <= nxhi_in; ix++) { - lamda[0] = ix * dx; + if (POS == LOW) lamda[0] = ix * dx; + else lamda[0] = (ix + 0.5) * dx; domain->lamda2x(lamda, xone); if (IDIM == 0) array2d[iy][ix][n] = xone[0]; if (IDIM == 1) array2d[iy][ix][n] = xone[1]; @@ -446,7 +455,7 @@ template void ComputePropertyGrid::pack_coords(int } } - // 3d grid + // 3d grid } else if (dimension == 3) { @@ -454,7 +463,12 @@ template void ComputePropertyGrid::pack_coords(int if (!triclinic || MODE == SCALED) { - if (MODE == UNSCALED) grid3d->get_box(IDIM, boxlo, delta); + if (MODE == UNSCALED) { + boxlo = domain->boxlo[IDIM]; + if (IDIM == 0) delta = domain->prd[IDIM] / nxgrid; + if (IDIM == 1) delta = domain->prd[IDIM] / nygrid; + if (IDIM == 2) delta = domain->prd[IDIM] / nzgrid; + } if (MODE == SCALED) { boxlo = 0.0; if (IDIM == 0) delta = 1.0 / nxgrid; @@ -495,7 +509,7 @@ template void ComputePropertyGrid::pack_coords(int } } - // only for coords which are triclinic AND unscaled + // only for coords which are triclinic AND unscaled } else { @@ -505,11 +519,14 @@ template void ComputePropertyGrid::pack_coords(int if (nvalues == 1) { for (int iz = nzlo_in; iz <= nzhi_in; iz++) { - lamda[2] = iz * dz; + if (POS == LOW) lamda[2] = iz * dz; + else lamda[2] = (iz + 0.5) * dz; for (int iy = nylo_in; iy <= nyhi_in; iy++) { - lamda[1] = iy * dy; + if (POS == LOW) lamda[1] = iy * dy; + else lamda[1] = (iy + 0.5) * dy; for (int ix = nxlo_in; ix <= nxhi_in; ix++) { - lamda[0] = ix * dx; + if (POS == LOW) lamda[0] = ix * dx; + else lamda[0] = (ix + 0.5) * dx; domain->lamda2x(lamda, xone); if (IDIM == 0) vec3d[iz][iy][ix] = xone[0]; if (IDIM == 1) vec3d[iz][iy][ix] = xone[1]; @@ -520,11 +537,14 @@ template void ComputePropertyGrid::pack_coords(int } else { for (int iz = nzlo_in; iz <= nzhi_in; iz++) { - lamda[2] = iz * dz; + if (POS == LOW) lamda[2] = iz * dz; + else lamda[2] = (iz + 0.5) * dz; for (int iy = nylo_in; iy <= nyhi_in; iy++) { - lamda[1] = iy * dy; + if (POS == LOW) lamda[1] = iy * dy; + else lamda[1] = (iy + 0.5) * dy; for (int ix = nxlo_in; ix <= nxhi_in; ix++) { - lamda[0] = ix * dx; + if (POS == LOW) lamda[0] = ix * dx; + else lamda[0] = (ix + 0.5) * dx; domain->lamda2x(lamda, xone); if (IDIM == 0) array3d[iz][iy][ix][n] = xone[0]; if (IDIM == 1) array3d[iz][iy][ix][n] = xone[1]; diff --git a/src/dump_grid.cpp b/src/dump_grid.cpp index 0ee0f3a1f4..e8428ba5f2 100644 --- a/src/dump_grid.cpp +++ b/src/dump_grid.cpp @@ -723,7 +723,7 @@ int DumpGrid::parse_fields(int narg, char **arg) if (!ifix) error->all(FLERR,"Could not find dump grid fix ID: {}",idfix); if (ifix->pergrid_flag == 0) error->all(FLERR,"Dump grid fix {} does not compute per-grid info",idfix); - if (update->ntimestep % ifix->pergrid_freq) + if (nevery % ifix->pergrid_freq) error->all(FLERR,"Fix ID {} for dump grid not computed at compatible time",idfix); int dim; diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index a504cefe12..3482ccea63 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -29,9 +29,6 @@ #include "update.h" #include "variable.h" -// DEBUG -#include "comm.h" - #include using namespace LAMMPS_NS; @@ -64,7 +61,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : pergrid_freq = utils::inumeric(FLERR,arg[5],false,lmp); time_depend = 1; - // NOTE: allow Dxyz as well at some point + // NOTE: allow Dxyz as well at some point ? nxgrid = utils::inumeric(FLERR,arg[6],false,lmp); nygrid = utils::inumeric(FLERR,arg[7],false,lmp); @@ -753,7 +750,7 @@ void FixAveGrid::end_of_step() add_grid(grid_nfreq,grid_running); copy_grid(grid_running,grid_nfreq); normalize_grid(running_count,grid_nfreq); - normalize_count(running_count,grid_nfreq); + if (modeatom) normalize_count(running_count,grid_nfreq); output_grid(grid_nfreq); } else if (aveflag == WINDOW) { diff --git a/src/grid2d.cpp b/src/grid2d.cpp index 9077493269..27296d43ff 100644 --- a/src/grid2d.cpp +++ b/src/grid2d.cpp @@ -21,6 +21,7 @@ #include "pair.h" #include "kspace.h" #include "fix.h" +#include "math_extra.h" #include "memory.h" using namespace LAMMPS_NS; @@ -88,30 +89,45 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, // max of these 2 quantities is the ghost cells needed in each dim // o xyz lo/hi = owned + ghost cells - memcpy(boxlo,domain->boxlo,2*sizeof(double)); - memcpy(prd,domain->prd,2*sizeof(double)); + int triclinic = domain->triclinic; - double *sublo = domain->sublo; - double *subhi = domain->subhi; - int *periodicity = domain->periodicity; + double *prd,*boxlo,*sublo,*subhi; - double dxinv = nx / domain->prd[0]; - double dyinv = ny / domain->prd[1]; + if (triclinic == 0) { + prd = domain->prd; + boxlo = domain->boxlo; + sublo = domain->sublo; + subhi = domain->subhi; + } else { + prd = domain->prd_lamda; + boxlo = domain->boxlo_lamda; + sublo = domain->sublo_lamda; + subhi = domain->subhi_lamda; + } + + double dist[3] = {0.0,0.0,0.0}; + if (triclinic == 0) dist[0] = dist[1] = dist[2] = maxdist; + else MathExtra::tribbox(domain->h,maxdist,&dist[0]); + + double dxinv = nx / prd[0]; + double dyinv = ny / prd[1]; double SHIFT = OFFSET + shift; int nlo, nhi; - nlo = static_cast((sublo[0]-maxdist-boxlo[0]) * dxinv + SHIFT) - OFFSET; - nhi = static_cast((subhi[0]+maxdist-boxlo[0]) * dxinv + SHIFT) - OFFSET; + nlo = static_cast((sublo[0]-dist[0]-boxlo[0]) * dxinv + SHIFT) - OFFSET; + nhi = static_cast((subhi[0]+dist[0]-boxlo[0]) * dxinv + SHIFT) - OFFSET; oxlo = MIN(nlo, ixlo - extra); oxhi = MAX(nhi, ixhi + extra); - nlo = static_cast((sublo[1]-maxdist-boxlo[1]) * dyinv + SHIFT) - OFFSET; - nhi = static_cast((subhi[1]+maxdist-boxlo[1]) * dyinv + SHIFT) - OFFSET; + nlo = static_cast((sublo[1]-dist[1]-boxlo[1]) * dyinv + SHIFT) - OFFSET; + nhi = static_cast((subhi[1]+dist[1]-boxlo[1]) * dyinv + SHIFT) - OFFSET; oylo = MIN(nlo, iylo - extra); oyhi = MAX(nhi, iyhi + extra); // limit o xyz lo/hi indices for non-periodic dimensions + int *periodicity = domain->periodicity; + if (!periodicity[0]) { oxlo = MAX(1,oxlo); oxhi = MIN(gnx-1,oxhi); @@ -177,9 +193,6 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, if (comm->layout == Comm::LAYOUT_TILED) layout = TILED; else layout = REGULAR; - memcpy(boxlo,domain->boxlo,2*sizeof(double)); - memcpy(prd,domain->prd,2*sizeof(double)); - // store grid bounds and proc neighs if (layout == REGULAR) { @@ -231,9 +244,6 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, int flag, if (comm->layout == Comm::LAYOUT_TILED) layout = TILED; else layout = REGULAR; - memcpy(boxlo,domain->boxlo,2*sizeof(double)); - memcpy(prd,domain->prd,2*sizeof(double)); - // store grid bounds and proc neighs if (flag == 1) { @@ -358,14 +368,6 @@ void Grid2d::get_bounds(int &xlo, int &xhi, int &ylo, int &yhi) yhi = inyhi; } -/* ---------------------------------------------------------------------- */ - -void Grid2d::get_box(int dim, double &lo, double &delta) -{ - lo = boxlo[dim]; - delta = prd[dim] / ngrid[dim]; -} - /* ---------------------------------------------------------------------- return sizes of two buffers needed for communication either on regular grid or procs or irregular tiling diff --git a/src/grid2d.h b/src/grid2d.h index dc4c306bfe..d850832847 100644 --- a/src/grid2d.h +++ b/src/grid2d.h @@ -31,7 +31,6 @@ class Grid2d : protected Pointers { ~Grid2d() override; void get_size(int &, int &); void get_bounds(int &, int &, int &, int &); - void get_box(int, double &, double &); void setup(int &, int &); int ghost_adjacent(); void forward_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); @@ -45,8 +44,6 @@ class Grid2d : protected Pointers { // usually world, but MSM calls with subset int ngrid[2]; // global grid size - double boxlo[2]; // current box that grid is mapped to - double prd[2]; // inputs from caller via constructor diff --git a/src/grid3d.cpp b/src/grid3d.cpp index 51d2ebd247..a8786b28d8 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -21,6 +21,7 @@ #include "pair.h" #include "kspace.h" #include "fix.h" +#include "math_extra.h" #include "memory.h" using namespace LAMMPS_NS; @@ -88,36 +89,51 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, // max of these 2 quantities is the ghost cells needed in each dim // o xyz lo/hi = owned + ghost cells - memcpy(boxlo,domain->boxlo,3*sizeof(double)); - memcpy(prd,domain->prd,3*sizeof(double)); + int triclinic = domain->triclinic; - double *sublo = domain->sublo; - double *subhi = domain->subhi; - int *periodicity = domain->periodicity; + double *prd,*boxlo,*sublo,*subhi; + + if (triclinic == 0) { + prd = domain->prd; + boxlo = domain->boxlo; + sublo = domain->sublo; + subhi = domain->subhi; + } else { + prd = domain->prd_lamda; + boxlo = domain->boxlo_lamda; + sublo = domain->sublo_lamda; + subhi = domain->subhi_lamda; + } + + double dist[3] = {0.0,0.0,0.0}; + if (triclinic == 0) dist[0] = dist[1] = dist[2] = maxdist; + else MathExtra::tribbox(domain->h,maxdist,&dist[0]); double dxinv = nx / prd[0]; double dyinv = ny / prd[1]; - double dzinv = nz / prd[2];; + double dzinv = nz / prd[2]; double SHIFT = OFFSET + shift; int nlo, nhi; - nlo = static_cast((sublo[0]-maxdist-boxlo[0]) * dxinv + SHIFT) - OFFSET; - nhi = static_cast((subhi[0]+maxdist-boxlo[0]) * dxinv + SHIFT) - OFFSET; + nlo = static_cast((sublo[0]-dist[0]-boxlo[0]) * dxinv + SHIFT) - OFFSET; + nhi = static_cast((subhi[0]+dist[0]-boxlo[0]) * dxinv + SHIFT) - OFFSET; oxlo = MIN(nlo, ixlo - extra); oxhi = MAX(nhi, ixhi + extra); - nlo = static_cast((sublo[1]-maxdist-boxlo[1]) * dyinv + SHIFT) - OFFSET; - nhi = static_cast((subhi[1]+maxdist-boxlo[1]) * dyinv + SHIFT) - OFFSET; + nlo = static_cast((sublo[1]-dist[1]-boxlo[1]) * dyinv + SHIFT) - OFFSET; + nhi = static_cast((subhi[1]+dist[1]-boxlo[1]) * dyinv + SHIFT) - OFFSET; oylo = MIN(nlo, iylo - extra); oyhi = MAX(nhi, iyhi + extra); - nlo = static_cast((sublo[2]-maxdist-boxlo[2]) * dzinv + SHIFT) - OFFSET; - nhi = static_cast((subhi[2]+maxdist-boxlo[2]) * dzinv + SHIFT) - OFFSET; + nlo = static_cast((sublo[2]-dist[2]-boxlo[2]) * dzinv + SHIFT) - OFFSET; + nhi = static_cast((subhi[2]+dist[2]-boxlo[2]) * dzinv + SHIFT) - OFFSET; ozlo = MIN(nlo, izlo - extra); ozhi = MAX(nhi, izhi + extra); // limit o xyz lo/hi indices for non-periodic dimensions + int *periodicity = domain->periodicity; + if (!periodicity[0]) { oxlo = MAX(1,oxlo); oxhi = MIN(gnx-1,oxhi); @@ -191,9 +207,6 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, if (comm->layout == Comm::LAYOUT_TILED) layout = TILED; else layout = REGULAR; - memcpy(boxlo,domain->boxlo,3*sizeof(double)); - memcpy(prd,domain->prd,3*sizeof(double)); - // store grid bounds and proc neighs if (layout == REGULAR) { @@ -247,9 +260,6 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, int flag, if (comm->layout == Comm::LAYOUT_TILED) layout = TILED; else layout = REGULAR; - memcpy(boxlo,domain->boxlo,3*sizeof(double)); - memcpy(prd,domain->prd,3*sizeof(double)); - // store grid bounds and proc neighs if (flag == 1) { @@ -391,14 +401,6 @@ void Grid3d::get_bounds(int &xlo, int &xhi, int &ylo, int &yhi, zhi = inzhi; } -/* ---------------------------------------------------------------------- */ - -void Grid3d::get_box(int dim, double &lo, double &delta) -{ - lo = boxlo[dim]; - delta = prd[dim] / ngrid[dim]; -} - /* ---------------------------------------------------------------------- return sizes of two buffers needed for communication either on regular grid or procs or irregular tiling diff --git a/src/grid3d.h b/src/grid3d.h index 9f751bbeb7..e69b1d0df5 100644 --- a/src/grid3d.h +++ b/src/grid3d.h @@ -33,7 +33,6 @@ class Grid3d : protected Pointers { ~Grid3d() override; void get_size(int &, int &, int &); void get_bounds(int &, int &, int &, int &, int &, int &); - void get_box(int, double &, double &); void setup(int &, int &); int ghost_adjacent(); void forward_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); @@ -47,8 +46,6 @@ class Grid3d : protected Pointers { // usually world, but MSM calls with subset int ngrid[3]; // global grid size - double boxlo[3]; // current box that grid is mapped to - double prd[3]; // inputs from caller via constructor diff --git a/src/kspace.cpp b/src/kspace.cpp index 99eb4c1ac9..b5fbfb6a7b 100644 --- a/src/kspace.cpp +++ b/src/kspace.cpp @@ -429,31 +429,6 @@ void KSpace::lamda2xvector(double *lamda, double *v) v[2] = h[2]*lamda[2]; } -/* ---------------------------------------------------------------------- - convert a sphere in box coords to an ellipsoid in lamda (0-1) - coords and return the tight (axis-aligned) bounding box, does not - preserve vector magnitude see: - http://www.loria.fr/~shornus/ellipsoid-bbox.html (no longer online) and - https://yiningkarlli.blogspot.com/2013/02/bounding-boxes-for-ellipsoidsfigure.html -------------------------------------------------------------------------- */ - -void KSpace::kspacebbox(double r, double *b) -{ - double *h = domain->h; - double lx,ly,lz,xy,xz,yz; - lx = h[0]; - ly = h[1]; - lz = h[2]; - yz = h[3]; - xz = h[4]; - xy = h[5]; - - b[0] = r*sqrt(ly*ly*lz*lz + ly*ly*xz*xz - 2.0*ly*xy*xz*yz + lz*lz*xy*xy + - xy*xy*yz*yz)/(lx*ly*lz); - b[1] = r*sqrt(lz*lz + yz*yz)/(ly*lz); - b[2] = r/lz; -} - /* ---------------------------------------------------------------------- modify parameters of the KSpace style ------------------------------------------------------------------------- */ diff --git a/src/kspace.h b/src/kspace.h index 24d0b99355..cb7550f74a 100644 --- a/src/kspace.h +++ b/src/kspace.h @@ -113,7 +113,6 @@ class KSpace : protected Pointers { void x2lamdaT(double *, double *); void lamda2xT(double *, double *); void lamda2xvector(double *, double *); - void kspacebbox(double, double *); // public so can be called by commands that change charge diff --git a/src/math_extra.cpp b/src/math_extra.cpp index 15d6e472c9..2586f4e75a 100644 --- a/src/math_extra.cpp +++ b/src/math_extra.cpp @@ -577,8 +577,8 @@ void inertia_triangle(double *idiag, double *quat, double /*mass*/, } /* ---------------------------------------------------------------------- - Build rotation matrix for a small angle rotation around the X axis - ------------------------------------------------------------------------- */ + build rotation matrix for a small angle rotation around the X axis +------------------------------------------------------------------------- */ void BuildRxMatrix(double R[3][3], const double angle) { @@ -592,8 +592,8 @@ void BuildRxMatrix(double R[3][3], const double angle) } /* ---------------------------------------------------------------------- - Build rotation matrix for a small angle rotation around the Y axis - ------------------------------------------------------------------------- */ + build rotation matrix for a small angle rotation around the Y axis +------------------------------------------------------------------------- */ void BuildRyMatrix(double R[3][3], const double angle) { @@ -607,8 +607,8 @@ void BuildRyMatrix(double R[3][3], const double angle) } /* ---------------------------------------------------------------------- - Build rotation matrix for a small angle rotation around the Z axis - ------------------------------------------------------------------------- */ + build rotation matrix for a small angle rotation around the Z axis +------------------------------------------------------------------------- */ void BuildRzMatrix(double R[3][3], const double angle) { @@ -621,6 +621,31 @@ void BuildRzMatrix(double R[3][3], const double angle) R[2][0] = 0.0; R[2][1] = 0.0; R[2][2] = 1.0; } +/* ---------------------------------------------------------------------- + convert a sphere in box coords to an ellipsoid in triclinic lamda (0-1) coords + h[6] = domain->h for size and shape of triclinic box + radius = radius of sphere in box coords + return dist[3] = tight (axis-aligned) bounding box in triclinic lamda coords + see: http://www.loria.fr/~shornus/ellipsoid-bbox.html (no longer online) + https://yiningkarlli.blogspot.com/2013/02/bounding-boxes-for-ellipsoidsfigure.html +------------------------------------------------------------------------- */ + +void tribbox(double *h, double radius, double *dist) +{ + double lx = h[0]; + double ly = h[1]; + double lz = h[2]; + double yz = h[3]; + double xz = h[4]; + double xy = h[5]; + + dist[0] = radius * sqrt(ly*ly*lz*lz + ly*ly*xz*xz - 2.0*ly*xy*xz*yz + + lz*lz*xy*xy + xy*xy*yz*yz) / (lx*ly*lz); + dist[1] = radius * sqrt(lz*lz + yz*yz) / (ly*lz); + dist[2] = radius / lz; +} + /* ---------------------------------------------------------------------- */ + } diff --git a/src/math_extra.h b/src/math_extra.h index cbf9f78e53..086e9e76e2 100644 --- a/src/math_extra.h +++ b/src/math_extra.h @@ -119,6 +119,11 @@ void inertia_ellipsoid(double *shape, double *quat, double mass, double *inertia void inertia_line(double length, double theta, double mass, double *inertia); void inertia_triangle(double *v0, double *v1, double *v2, double mass, double *inertia); void inertia_triangle(double *idiag, double *quat, double mass, double *inertia); + +// triclinic bounding box of a spher + +void tribbox(double *, double, double *); + } // namespace MathExtra /* ---------------------------------------------------------------------- From 14a03d84c7b0977b8df69503902b432af5cabf2d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 29 Aug 2022 21:53:44 -0400 Subject: [PATCH 055/142] whitespace --- src/fix_ave_grid.cpp | 32 ++++++++++++++++---------------- src/fix_ave_grid.h | 2 +- src/math_extra.cpp | 2 +- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index 3482ccea63..b853dd7436 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -450,7 +450,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : window_newest = 0; // zero grid_nfreq for output since dump may access it on timestep 0 - // also one-time zero of grid_running for ave = RUNNING or WINDOW + // also one-time zero of grid_running for ave = RUNNING or WINDOW zero_grid(grid_nfreq); output_grid(grid_nfreq); @@ -636,7 +636,7 @@ void FixAveGrid::end_of_step() nvalid_last = nvalid; // if first sample in nfreq, zero owned and ghost grid points - + if (irepeat == 0) { zero_grid(grid_sample); if (normflag == SAMPLE) zero_grid(grid_nfreq); @@ -759,7 +759,7 @@ void FixAveGrid::end_of_step() // add grid_nfreq to grid_running // if window is full, subtract oldest window entry from grid_running // copy grid_nfreq into window - + add_grid(grid_nfreq,grid_running); if (window_count == nwindow) subtract_grid(grid_window[window_oldest],grid_running); @@ -1405,7 +1405,7 @@ void FixAveGrid::normalize_grid(int numsamples, GridData *grid) int ix,iy,iz,m; double invrepeat = 1.0/numsamples; - + if (dimension == 2) { if (nvalues == 1) { double **vec2d = grid->vec2d; @@ -1448,7 +1448,7 @@ void FixAveGrid::normalize_count(int numsamples, GridData *grid) int ix,iy,iz; double invrepeat = 1.0/numsamples; - + if (dimension == 2) { double **count2d = grid->count2d; for (iy = nylo_in; iy <= nyhi_in; iy++) @@ -1473,14 +1473,14 @@ void FixAveGrid::allocate_grid(GridData *grid) { if (dimension == 2) { if (nvalues == 1) - memory->create2d_offset(grid->vec2d, nylo_out, nyhi_out, + memory->create2d_offset(grid->vec2d, nylo_out, nyhi_out, nxlo_out, nxhi_out, "ave/grid:vec2d"); else - memory->create3d_offset_last(grid->array2d, nylo_out, nyhi_out, - nxlo_out, nxhi_out, + memory->create3d_offset_last(grid->array2d, nylo_out, nyhi_out, + nxlo_out, nxhi_out, nvalues, "ave/grid:array3d"); if (modeatom) - memory->create2d_offset(grid->count2d, nylo_out, nyhi_out, + memory->create2d_offset(grid->count2d, nylo_out, nyhi_out, nxlo_out, nxhi_out, "ave/grid:count2d"); } else if (dimension == 3) { @@ -1534,10 +1534,10 @@ double FixAveGrid::size_grid(GridData *grid) double bytes; if (dimension == 2) - bytes = nper * (nxhi_out - nxlo_out + 1) * + bytes = nper * (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1) * sizeof(double); else - bytes = nper * (nxhi_out - nxlo_out + 1) * + bytes = nper * (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1) * (nzhi_out - nzlo_out + 1) * sizeof(double); return bytes; @@ -1558,7 +1558,7 @@ void FixAveGrid::zero_grid(GridData *grid) else memset(&grid->array2d[nylo_out][nxlo_out][0],0, ngridout*nvalues*sizeof(double)); - if (modeatom) + if (modeatom) memset(&grid->count2d[nylo_out][nxlo_out],0,ngridout*sizeof(double)); } else if (dimension == 3) { @@ -1772,7 +1772,7 @@ void FixAveGrid::output_grid(GridData *src) grid_output->vec2d = src->vec2d; else grid_output->array2d = src->array2d; - if (modeatom) + if (modeatom) grid_output->count2d = src->count2d; } else if (dimension == 3) { @@ -1780,7 +1780,7 @@ void FixAveGrid::output_grid(GridData *src) grid_output->vec3d = src->vec3d; else grid_output->array3d = src->array3d; - if (modeatom) + if (modeatom) grid_output->count3d = src->count3d; } } @@ -1969,9 +1969,9 @@ double FixAveGrid::memory_usage() bytes += size_grid(grid_sample); bytes += size_grid(grid_nfreq); - if (aveflag == RUNNING || aveflag == WINDOW) + if (aveflag == RUNNING || aveflag == WINDOW) bytes += size_grid(grid_running); - if (aveflag == WINDOW) + if (aveflag == WINDOW) bytes += nwindow * size_grid(grid_window[0]); if (modeatom) { diff --git a/src/fix_ave_grid.h b/src/fix_ave_grid.h index cd162ae9a5..87727f861f 100644 --- a/src/fix_ave_grid.h +++ b/src/fix_ave_grid.h @@ -55,7 +55,7 @@ class FixAveGrid : public Fix { int running_count; int window_count,window_oldest,window_newest; - + int biasflag; char *id_bias; class Compute *tbias; // ptr to additional bias compute diff --git a/src/math_extra.cpp b/src/math_extra.cpp index 2586f4e75a..b30af82a47 100644 --- a/src/math_extra.cpp +++ b/src/math_extra.cpp @@ -639,7 +639,7 @@ void tribbox(double *h, double radius, double *dist) double xz = h[4]; double xy = h[5]; - dist[0] = radius * sqrt(ly*ly*lz*lz + ly*ly*xz*xz - 2.0*ly*xy*xz*yz + + dist[0] = radius * sqrt(ly*ly*lz*lz + ly*ly*xz*xz - 2.0*ly*xy*xz*yz + lz*lz*xy*xy + xy*xy*yz*yz) / (lx*ly*lz); dist[1] = radius * sqrt(lz*lz + yz*yz) / (ly*lz); dist[2] = radius / lz; From a4126af4e9c88293be844e2872c4bffd3f9f2963 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 30 Aug 2022 08:44:26 -0600 Subject: [PATCH 056/142] changes to fix ave/grid doc page --- doc/src/fix_ave_grid.rst | 108 +++++++++++++++++++++++++++------------ 1 file changed, 76 insertions(+), 32 deletions(-) diff --git a/doc/src/fix_ave_grid.rst b/doc/src/fix_ave_grid.rst index c855c92256..91c3879898 100644 --- a/doc/src/fix_ave_grid.rst +++ b/doc/src/fix_ave_grid.rst @@ -290,47 +290,91 @@ Additional optional keywords also affect the operation of this fix and its outputs. Some are only applicable to per-atom mode. Some are applicable to both per-atom and per-grid mode. -The *norm* keyword is only applicable to per-atom mode. It affects -how averaging is done for the per-grid values that are output once -every *Nfreq* timesteps when *Nrepeat* samples contribute to the -output. It has 3 possible settings: *all* or *sample* or *none*. -*All* is the default. +The *norm* keyword is only applicable to per-atom mode. In per-grid +mode, all the *norm* keyword options act the same. The output grid +value is simply the sum of the grid values in each of the *Nrepeat* +samples, divided by *Nrepeat*. -In per-grid mode, all the *norm* keyword options are the same. The -output grid value is summed over the grid value in each of the -*Nrepeat* samples and then divided by *Nrepeat*. +In per-atom mode, the *norm" keywod affects how averaging is done for +the per-grid values that are output once every *Nfreq* timesteps when +*Nrepeat* samples contribute to the output. It has 3 possible +settings: *all* or *sample* or *none*. *All* is the default. -In per-atom mode, *norm all* means the output grid value is summed -over all atoms in all *Nrepeat* samples, as is the count of atoms in -each grid cell. The averaged output value for a grid cell on the -*Nfreq* timesteps is Total-sum / Total-count. In other words it is an -average over atoms across the entire *Nfreq* timescale. For the -*density/number* and *density/mass* values, the grid cell volume used -in the final normalization will be the volume at the final *Nfreq* -timestep. For the *temp* values, degrees of freedom and kinetic energy -are summed separately across the entire *Nfreq* timescale, and the -output value is calculated by dividing those two sums. +In the formulas that follow, SumI is the sum of a per-atom property +over the CountI atoms in a grid cell for a single sample I where I +varies from 1 to N, where N = Nrepeat. These formulas are applicable +for any per-atom input listed above, except *density/number*, +*density/mass*, and *temp*. Those input values are discussed below. -In per-atom mode, *norm sample* means the output grid value is summed -over atoms for each sample, as is the count, and an "average sample -value" is computed for each sample, i.e. Sample-sum / Sample-count. -The output grid value on the *Nfreq* timesteps is the average of the -*Nrepeat* "average sample values", i.e. the sum of *Nrepeat* "average -sample values" divided by *Nrepeat*\ . In other words it is an -average of an average. For the *density/number* and *density/mass* -values, the grid cell volume used in the per-sample normalization will -be the current grid cell volume at each sampling step. +In per-atom mode, for *norm all* the output grid value on the *Nfreq* +timestep is an average over atoms across the entire *Nfreq* timescale: -In per-atom mode, *norm none* performs a similar computation as *norm +Output = (Sum1 + Sum2 + ... + SumN) / (Count1 + Count2 + ... + CountN) + +In per-atom mode, for *norm sample* the output grid value on the +*Nfreq* timestep is an average of an average: + +Output = (Sum1/Count1 + Sum2/Count2 + ... + SumN/CountN) / Nrepeat + +In per-atom mode, for *norm none* the output grid value on the +*Nfreq* timestep is not normalized by the atom counts: + +Output = (Sum1 + Sum2 + ... SumN) / Nrepeat + +For all 3 *norm* settings the output count of atoms per grid cell +contributing to the grid value is the same: + +Output count = (Count1 + Count2 + ... CountN) / Nrepeat + +This count is the same for all per-atom input values, including +*density/number*, *density/mass*, and *temp* + + + +Special casesl + +use temp formula up above from fix ave/chunk doc page, so +can refer to cdor, adof, etc + +ALL: For the *density/number* and *density/mass* values, the grid cell +volume used in the final normalization will be the volume at the final +*Nfreq* timestep. For the *temp* values, degrees of freedom and +kinetic energy are summed separately across the entire *Nfreq* +timescale, and the output value is calculated by dividing those two +sums. + +SAMPLE: For the *density/number* and +*density/mass* values, the grid cell volume used in the per-sample +normalization will be the current grid cell volume at each sampling +step. + +For the *density/number* and *density/mass* values, the grid cell +volume used in the per-sample sum normalization will be the current +grid cell volume at each sampling step. + +doc that exception values are exempt from norm = NONORM option + + + +performs a similar computation as *norm sample*, except the individual "average sample values" are "summed sample values". A summed sample value is simply the grid value summed over atoms in the sample, without dividing by the number of atoms in the sample. The output grid value on the *Nfreq* timesteps is the average of the *Nrepeat* "summed sample values", i.e. the sum of *Nrepeat* -"summed sample values" divided by *Nrepeat*\ . For the *density/number* -and *density/mass* values, the grid cell volume used in the per-sample -sum normalization will be the current grid cell volume at each sampling -step. +"summed sample values" divided by *Nrepeat*\ . + + + +Fix ave/chunk doc page: same for count - doc this +maybe put these formulas there as well ? + + + + + + + The *ave* keyword is applied to both per-atom and per-grid mode. It determines how the per-grid values produced once every *Nfreq* steps are From 6b093cb80ad2ad4e355ba66ac6eb556287e630ab Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 30 Aug 2022 11:50:15 -0600 Subject: [PATCH 057/142] more doc page updates --- doc/src/fix_ave_chunk.rst | 6 ++ doc/src/fix_ave_grid.rst | 116 +++++++++++++++++--------------------- 2 files changed, 58 insertions(+), 64 deletions(-) diff --git a/doc/src/fix_ave_chunk.rst b/doc/src/fix_ave_chunk.rst index fda9d4147a..9752519621 100644 --- a/doc/src/fix_ave_chunk.rst +++ b/doc/src/fix_ave_chunk.rst @@ -354,6 +354,8 @@ values", i.e. the sum of *Nrepeat* "summed sample values" divided by volume (bin volume or system volume) used in the per-sample sum normalization will be the current volume at each sampling step. +---------- + The *ave* keyword determines how the per-chunk values produced every *Nfreq* steps are averaged with values produced on previous steps that were multiples of *Nfreq*, before they are accessed by another output @@ -381,6 +383,8 @@ then the output on step 10000 will be the average of the individual chunk values on steps 8000,9000,10000. Outputs on early steps will average over less than M values if they are not available. +---------- + The *bias* keyword specifies the ID of a temperature compute that removes a "bias" velocity from each atom, specified as *bias-ID*\ . It is only used when the *temp* value is calculated, to compute the @@ -412,6 +416,8 @@ set to the remaining degrees of freedom for the entire molecule (entire chunk in this case), e.g. 6 for 3d, or 3 for 2d, for a rigid molecule. +---------- + The *file* keyword allows a filename to be specified. Every *Nfreq* 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 diff --git a/doc/src/fix_ave_grid.rst b/doc/src/fix_ave_grid.rst index 91c3879898..c3a1169acd 100644 --- a/doc/src/fix_ave_grid.rst +++ b/doc/src/fix_ave_grid.rst @@ -181,10 +181,16 @@ density (mass/volume). See the :doc:`units ` command page for the definition of density for each choice of units, e.g. gram/cm\^3. The *temp* value means the temperature is computed for each grid cell, -by the formula KE = DOF/2 k T, where KE = total kinetic energy of the -atoms in the grid cell (sum of 1/2 m v\^2), DOF = the total number of -degrees of freedom for all atoms in the grid cell, k = Boltzmann -constant, and T = temperature. +by the formula + +.. math:: + + \text{KE} = \frac{\text{DOF}}{2} k_B T, + +where KE = total kinetic energy of the atoms in the grid cell ( +:math:`\frac{1}{2} m v^2`), DOF = the total number of degrees of +freedom for all atoms in the grid cell, :math:`k_B` = Boltzmann +constant, and :math:`T` = temperature. The DOF is calculated as N\*adof + cdof, where N = number of atoms in the grid cell, adof = degrees of freedom per atom, and cdof = degrees @@ -291,19 +297,19 @@ its outputs. Some are only applicable to per-atom mode. Some are applicable to both per-atom and per-grid mode. The *norm* keyword is only applicable to per-atom mode. In per-grid -mode, all the *norm* keyword options act the same. The output grid -value is simply the sum of the grid values in each of the *Nrepeat* -samples, divided by *Nrepeat*. +mode, the *norm* keyword setting is ignored. The output grid value on +an *Nfreq* timestep is the sum of the grid values in each of the +*Nrepeat* samples, divided by *Nrepeat*. In per-atom mode, the *norm" keywod affects how averaging is done for -the per-grid values that are output once every *Nfreq* timesteps when -*Nrepeat* samples contribute to the output. It has 3 possible +the per-grid values that are output on an *Nfreq* timestep. *Nrepeat* +samples contribute to the output. The *norm* keyword has 3 possible settings: *all* or *sample* or *none*. *All* is the default. In the formulas that follow, SumI is the sum of a per-atom property -over the CountI atoms in a grid cell for a single sample I where I -varies from 1 to N, where N = Nrepeat. These formulas are applicable -for any per-atom input listed above, except *density/number*, +over the CountI atoms in a grid cell for a single sample I, where I +varies from 1 to N, and N = Nrepeat. These formulas are used for any +per-atom input value listed above, except *density/number*, *density/mass*, and *temp*. Those input values are discussed below. In per-atom mode, for *norm all* the output grid value on the *Nfreq* @@ -321,65 +327,45 @@ In per-atom mode, for *norm none* the output grid value on the Output = (Sum1 + Sum2 + ... SumN) / Nrepeat -For all 3 *norm* settings the output count of atoms per grid cell -contributing to the grid value is the same: +For *density/number* and *density/mass*, the output value is the same +as in the formulas above for *norm all* and *norm sample*, except that +the result is also divided by the grid cell volume. For *norm all*, +this will be the volume at the final *Nfreq* timestep. For *norm +sample*, the divide-by-volume is done for each sample, using the grid +cell volume at the sample timestep. For *norm none*, the output is +the same as for *norm all*. + +For *temp*, the output temperature uses the formula for kinetic energy +KE listed above, and is normalized similarl to the formulas above for +*norm all* and *norm sample*, except for the way the degrees of +freedom (DOF) are calculated. For *norm none*, the output is the same +as for *norm all*. + +For *norm all*, the DOF = *Nrepeat* times *cdof* plus *Count* times +*adof*, where *Count* = (Count1 + Count2 + ... + CountN). The *cdof* +and *adof* keywords are discussed below. The output temperature is +computed with all atoms across all samples contributing. + +For *norm sample*, the DOF for a single sample = *cdof* plus *Count* +times *adof*, where *Count* = CountI for a single sample. The output +temperature is the average of *Nsample* temperatures calculated for +each sample. + +Finally, for all 3 *norm* settings the output count of atoms per grid +cell is: Output count = (Count1 + Count2 + ... CountN) / Nrepeat This count is the same for all per-atom input values, including -*density/number*, *density/mass*, and *temp* - - - -Special casesl - -use temp formula up above from fix ave/chunk doc page, so -can refer to cdor, adof, etc - -ALL: For the *density/number* and *density/mass* values, the grid cell -volume used in the final normalization will be the volume at the final -*Nfreq* timestep. For the *temp* values, degrees of freedom and -kinetic energy are summed separately across the entire *Nfreq* -timescale, and the output value is calculated by dividing those two -sums. - -SAMPLE: For the *density/number* and -*density/mass* values, the grid cell volume used in the per-sample -normalization will be the current grid cell volume at each sampling -step. - -For the *density/number* and *density/mass* values, the grid cell -volume used in the per-sample sum normalization will be the current -grid cell volume at each sampling step. - -doc that exception values are exempt from norm = NONORM option - - - -performs a similar computation as *norm -sample*, except the individual "average sample values" are "summed -sample values". A summed sample value is simply the grid value summed -over atoms in the sample, without dividing by the number of atoms in the -sample. The output grid value on the *Nfreq* timesteps is the average -of the *Nrepeat* "summed sample values", i.e. the sum of *Nrepeat* -"summed sample values" divided by *Nrepeat*\ . - - - -Fix ave/chunk doc page: same for count - doc this -maybe put these formulas there as well ? - - - - - - +*density/number*, *density/mass*, and *temp*. +---------- The *ave* keyword is applied to both per-atom and per-grid mode. It -determines how the per-grid values produced once every *Nfreq* steps are -averaged with values produced on previous steps that were multiples of -*Nfreq*, before they are accessed by another output command. +determines how the per-grid values produced once every *Nfreq* steps +are averaged with values produced on previous steps that were +multiples of *Nfreq*, before they are accessed by another output +command. If the *ave* setting is *one*, which is the default, then the grid values produced on *Nfreq* timesteps are independent of each other; @@ -401,6 +387,8 @@ output on step 10000 will be the average of the grid values on steps 8000,9000,10000. Outputs on early steps will average over less than M values if they are not available. +---------- + The *bias*, *adof*, and *cdof* keywords are only applicable to per-atom mode. From ac2cf8c4ed91c1bcb39a2160432e34e9fcdde724 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 30 Aug 2022 12:49:09 -0600 Subject: [PATCH 058/142] add support for discard yes/no of out-of-bin atoms --- doc/src/fix_ave_grid.rst | 16 +++++++++- src/fix_ave_grid.cpp | 63 ++++++++++++++++++++++++++++++---------- src/fix_ave_grid.h | 4 +-- src/grid2d.cpp | 8 ++--- src/grid3d.cpp | 12 ++++---- 5 files changed, 74 insertions(+), 29 deletions(-) diff --git a/doc/src/fix_ave_grid.rst b/doc/src/fix_ave_grid.rst index c3a1169acd..7e98f3d619 100644 --- a/doc/src/fix_ave_grid.rst +++ b/doc/src/fix_ave_grid.rst @@ -42,10 +42,13 @@ Syntax f_ID[I] = Ith column of per-grid array calculated by a fix with ID, I can include wildcard (see below) * zero or more keyword/arg pairs may be appended -* keyword = *norm* or *ave* or *bias* or *adof* or *cdof* +* keyword = *discard* or *norm* or *ave* or *bias* or *adof* or *cdof* .. parsed-literal:: + *discard* arg = *yes* or *no* + yes = discard an atom outside grid in a non-periodic dimension + no = remap an atom outside grid in a non-periodic dimension to first or last grid cell *norm* arg = *all* or *sample* or *none* = how output on *Nfreq* steps is normalized all = output is sum of atoms across all *Nrepeat* samples, divided by atom count sample = output is sum of *Nrepeat* sample averages, divided by *Nrepeat* @@ -296,6 +299,17 @@ Additional optional keywords also affect the operation of this fix and its outputs. Some are only applicable to per-atom mode. Some are applicable to both per-atom and per-grid mode. +The *discard* keyword is only applicable to per-atom mode. If a +dimension of the system is non-periodic, then grid cells will only +span the box dimension (fixed or shrink-wrap boundaries as set by the +:doc:`boundary` command). An atom may thus be slighlty outside the +range of grid cells on a particular timestep. If *discard* is set to +*yes* (the default), then the atom will be assigned to the closest +grid cell (lowest or highest) in that dimension. If *discard* is set +to *no* the atom will be ignored. + +---------- + The *norm* keyword is only applicable to per-atom mode. In per-grid mode, the *norm* keyword setting is ignored. The output grid value on an *Nfreq* timestep is the sum of the grid values in each of the diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index 3482ccea63..391df34b8a 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -36,6 +36,7 @@ using namespace FixConst; enum{ALL,SAMPLE,NONORM}; enum{ONE,RUNNING,WINDOW}; +enum{DISCARD,KEEP}; // OFFSET avoids outside-of-box atoms being rounded to grid pts incorrectly // SHIFT = 0.0 assigns atoms to lower-left grid pt @@ -166,6 +167,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : // optional args + discardflag = DISCARD; normflag = ALL; aveflag = ONE; nwindow = 0; @@ -175,7 +177,14 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : cdof = 0.0; while (iarg < nargnew) { - if (strcmp(arg[iarg],"norm") == 0) { + if (strcmp(arg[iarg],"discard") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/grid command"); + if (strcmp(arg[iarg+1],"yes") == 0) discardflag = DISCARD; + else if (strcmp(arg[iarg+1],"no") == 0) discardflag = KEEP; + else error->all(FLERR,"Illegal fix ave/grid command"); + iarg += 2; + + } else if (strcmp(arg[iarg],"norm") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/grid command"); if (strcmp(arg[iarg+1],"all") == 0) normflag = ALL; else if (strcmp(arg[iarg+1],"sample") == 0) normflag = SAMPLE; @@ -794,10 +803,18 @@ void FixAveGrid::atom2grid() { int i,j,m,n,ix,iy,iz; + double **count2d = grid_sample->count2d; + double **vec2d = grid_sample->vec2d; + double ***array2d = grid_sample->array2d; + double ***count3d = grid_sample->count3d; + double ***vec3d = grid_sample->vec3d; + double ****array3d = grid_sample->array3d; + // bin[i][dim] = indices of bin each atom is in - // not set if group mask does not match - // also count atoms contributing to each bin + // skip atom if group mask does not match // check if any atom is out of bounds for my local grid + // for nonperiodic dim, remap atom to first/last bin if out of bounds + // count atoms contributing to each bin double *boxlo,*prd; int *periodicity = domain->periodicity; @@ -826,13 +843,6 @@ void FixAveGrid::atom2grid() memory->create(skip,maxatom,"ave/grid:skip"); } - double **count2d = grid_sample->count2d; - double **vec2d = grid_sample->vec2d; - double ***array2d = grid_sample->array2d; - double ***count3d = grid_sample->count3d; - double ***vec3d = grid_sample->vec3d; - double ****array3d = grid_sample->array3d; - if (triclinic) domain->x2lamda(nlocal); int flag = 0; @@ -850,12 +860,20 @@ void FixAveGrid::atom2grid() if (ix < nxlo_out || ix > nxhi_out) { if (periodicity[0]) flag = 1; - else skip[i] = 1; + else if (discardflag == KEEP) { + if (ix < nxlo_out && nxlo_out == 0) ix = 0; + else if (ix > nxhi_out && nxhi_out == nxgrid-1) ix = nxgrid-1; + else flag = 1; + } else skip[i] = 1; continue; } if (iy < nylo_out || iy > nyhi_out) { if (periodicity[1]) flag = 1; - else skip[i] = 1; + else if (discardflag == KEEP) { + if (iy < nylo_out && nylo_out == 0) iy = 0; + else if (iy > nyhi_out && nyhi_out == nygrid-1) iy = nygrid-1; + else flag = 1; + } else skip[i] = 1; continue; } @@ -878,17 +896,30 @@ void FixAveGrid::atom2grid() if (ix < nxlo_out || ix > nxhi_out) { if (periodicity[0]) flag = 1; - else skip[i] = 1; - continue; + else if (discardflag == KEEP) { + if (ix < nxlo_out && nxlo_out == 0) ix = 0; + else if (ix > nxhi_out && nxhi_out == nxgrid-1) ix = nxgrid-1; + else flag = 1; + } else skip[i] = 1; } + if (iy < nylo_out || iy > nyhi_out) { if (periodicity[1]) flag = 1; - else skip[i] = 1; + else if (discardflag == KEEP) { + if (iy < nylo_out && nylo_out == 0) iy = 0; + else if (iy > nyhi_out && nyhi_out == nygrid-1) iy = nygrid-1; + else flag = 1; + } else skip[i] = 1; continue; } + if (iz < nzlo_out || iz > nzhi_out) { if (periodicity[2]) flag = 1; - else skip[i] = 1; + else if (discardflag == KEEP) { + if (iz < nzlo_out && nzlo_out == 0) iz = 0; + else if (iz > nzhi_out && nzhi_out == nzgrid-1) iz = nzgrid-1; + else flag = 1; + } else skip[i] = 1; continue; } diff --git a/src/fix_ave_grid.h b/src/fix_ave_grid.h index cd162ae9a5..fe8d2cd98d 100644 --- a/src/fix_ave_grid.h +++ b/src/fix_ave_grid.h @@ -50,8 +50,8 @@ class FixAveGrid : public Fix { int nvalues; int nrepeat, irepeat; bigint nvalid, nvalid_last; - int modeatom,modegrid; - int normflag,aveflag,nwindow; + int modeatom, modegrid; + int discardflag, normflag, aveflag, nwindow; int running_count; int window_count,window_oldest,window_newest; diff --git a/src/grid2d.cpp b/src/grid2d.cpp index 27296d43ff..fe17e84137 100644 --- a/src/grid2d.cpp +++ b/src/grid2d.cpp @@ -129,13 +129,13 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, int *periodicity = domain->periodicity; if (!periodicity[0]) { - oxlo = MAX(1,oxlo); - oxhi = MIN(gnx-1,oxhi); + oxlo = MAX(0,oxlo); + oxhi = MIN(nx-1,oxhi); } if (!periodicity[1]) { - oylo = MAX(1,oylo); - oyhi = MIN(gnx-1,oyhi); + oylo = MAX(0,oylo); + oyhi = MIN(ny-1,oyhi); } // error check on size of grid stored by this proc diff --git a/src/grid3d.cpp b/src/grid3d.cpp index a8786b28d8..d16c901cf6 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -135,18 +135,18 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, int *periodicity = domain->periodicity; if (!periodicity[0]) { - oxlo = MAX(1,oxlo); - oxhi = MIN(gnx-1,oxhi); + oxlo = MAX(0,oxlo); + oxhi = MIN(nx-1,oxhi); } if (!periodicity[1]) { - oylo = MAX(1,oylo); - oyhi = MIN(gnx-1,oyhi); + oylo = MAX(0,oylo); + oyhi = MIN(ny-1,oyhi); } if (!periodicity[2]) { - ozlo = MAX(1,ozlo); - ozhi = MIN(gnx-1,ozhi); + ozlo = MAX(0,ozlo); + ozhi = MIN(nz-1,ozhi); } // error check on size of grid stored by this proc From f2b6027b029de789db31b443e3e7db5c8529f1e5 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 30 Aug 2022 16:00:13 -0600 Subject: [PATCH 059/142] disable certain options in fix ttm/grid for distributed grids --- doc/src/fix_ave_grid.rst | 3 +- doc/src/fix_ttm.rst | 64 +++++++++++++++--------- examples/ttm/in.ttm.grid | 5 ++ src/EXTRA-FIX/fix_ttm_grid.cpp | 90 ++-------------------------------- src/EXTRA-FIX/fix_ttm_grid.h | 1 - 5 files changed, 52 insertions(+), 111 deletions(-) diff --git a/doc/src/fix_ave_grid.rst b/doc/src/fix_ave_grid.rst index 7e98f3d619..81cdc06921 100644 --- a/doc/src/fix_ave_grid.rst +++ b/doc/src/fix_ave_grid.rst @@ -479,4 +479,5 @@ Related commands Default """"""" -The option defaults are norm = all, ave = one, and bias = none. +The option defaults are discard = yes, norm = all, ave = one, and bias += none. diff --git a/doc/src/fix_ttm.rst b/doc/src/fix_ttm.rst index 5ecb2f30f4..73bd70f76f 100644 --- a/doc/src/fix_ttm.rst +++ b/doc/src/fix_ttm.rst @@ -183,19 +183,22 @@ embedded within a larger continuum representation of the electronic subsystem. The *set* keyword specifies a *Tinit* temperature value to initialize -the value stored on all grid points. +the value stored on all grid points. By default the temperatures +are all zero when the grid is created. The *infile* keyword specifies an input file of electronic temperatures -for each grid point to be read in to initialize the grid. By default -the temperatures are all zero when the grid is created. The input file -is a text file which may have comments starting with the '#' character. -Each line contains four numeric columns: ix,iy,iz,Temperature. Empty -or comment-only lines will be ignored. The -number of lines must be equal to the number of user-specified grid -points (Nx by Ny by Nz). The ix,iy,iz are grid point indices ranging -from 0 to nxnodes-1 inclusive in each dimension. The lines can appear -in any order. For example, the initial electronic temperatures on a 1 -by 2 by 3 grid could be specified in the file as follows: +for each grid point to be read in to initialize the grid, as an alternative +to using the *set* keyword. + +The input file is a text file which may have comments starting with +the '#' character. Each line contains four numeric columns: +ix,iy,iz,Temperature. Empty or comment-only lines will be +ignored. The number of lines must be equal to the number of +user-specified grid points (Nx by Ny by Nz). The ix,iy,iz are grid +point indices ranging from 0 to nxnodes-1 inclusive in each dimension. +The lines can appear in any order. For example, the initial +electronic temperatures on a 1 by 2 by 3 grid could be specified in +the file as follows: .. parsed-literal:: @@ -229,11 +232,20 @@ the same as the input temperature file. It will contain a comment in the first line reporting the date the file was created, the LAMMPS units setting in use, grid size and the current timestep. -Note that the atomic temperature for atoms in each grid cell can also -be computed and output by the :doc:`fix ave/chunk ` -command using the :doc:`compute chunk/atom ` -command to create a 3d array of chunks consistent with the grid used -by this fix. +.. note:: + + The fix ttm/grid command does not support the *outfile* keyword. + Instead you can use the :doc:`dump grid ` command to output + the electronic temperature on the distributed grid to a dump file. + +For the fix ttm and fix ttm/mod commands, the corresponding atomic +temperature for atoms in each grid cell can be computed and output by +the :doc:`fix ave/chunk ` command using the +:doc:`compute chunk/atom ` command to create a 3d +array of chunks consistent with the grid used by this fix. For the +fix ttm/grid command the same thing can be done using the :doc:`fix +ave/grid ` command and its per-grid values can be output +via the :doc:`dump grid ` command. ---------- @@ -339,13 +351,16 @@ ignored. The lines with the even numbers are treated as follows: Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -These fixes write the state of the electronic subsystem and the energy -exchange between the subsystems to :doc:`binary restart files -`. See the :doc:`read_restart ` command for -info on how to re-specify a fix in an input script that reads a -restart file, so that the operation of the fix continues in an -uninterrupted fashion. Note that the restart script must define the -same size grid as the original script. +The fix ttm and fix ttm/mod commands write the state of the electronic +subsystem and the energy exchange between the subsystems to +:doc:`binary restart files `. The fix ttm/grid command does +not yet support writing of its distributed grid to a restart file. + +See the :doc:`read_restart ` command for info on how to +re-specify a fix in an input script that reads a restart file, so that +the operation of the fix continues in an uninterrupted fashion. Note +that the restart script must define the same size grid as the original +script. Because the state of the random number generator is not saved in the restart files, this means you cannot do "exact" restarts with this @@ -373,7 +388,8 @@ The vector values calculated are "extensive". Th fix ttm/grid command also calculates a per-grid vector which store the electron temperature for each grid cell in temperature :doc:`units -`. The length of the vector (distributed across all +`. which can be accessed by various :doc:`output commands +`. The length of the vector (distributed across all processors) is Nx * Ny * Nz. For access by other commands, the name of the grid produced by fix ttm/grid is "grid". The name of its data is "data". diff --git a/examples/ttm/in.ttm.grid b/examples/ttm/in.ttm.grid index 2e3c622823..044778c62f 100644 --- a/examples/ttm/in.ttm.grid +++ b/examples/ttm/in.ttm.grid @@ -40,4 +40,9 @@ thermo 100 thermo_style custom step temp etotal f_twotemp[1] f_twotemp[2] thermo_modify format float "%20.16g" +compute 10 all property/grid 5 5 5 id xc yc zc +fix ave all ave/grid 100 5 500 5 5 5 f_twotemp:grid:data +dump ave all grid 500 tmp.dump.ave & + c_10:grid:data[*] f_ave:grid:data + run 1000 diff --git a/src/EXTRA-FIX/fix_ttm_grid.cpp b/src/EXTRA-FIX/fix_ttm_grid.cpp index e5af0a8991..b472237df8 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.cpp +++ b/src/EXTRA-FIX/fix_ttm_grid.cpp @@ -57,11 +57,8 @@ FixTTMGrid::FixTTMGrid(LAMMPS *lmp, int narg, char **arg) : pergrid_flag = 1; pergrid_freq = 1; - /* - NOTE: uncomment this when ready to release if (outfile) error->all(FLERR,"Fix ttm/grid does not support outfile option - " - "use dump grid instead"); - */ + "use dump grid command instead"); skin_original = neighbor->skin; } @@ -364,30 +361,6 @@ void FixTTMGrid::read_electron_temperatures(const std::string &filename) memory->destroy3d_offset(T_initial_set, nzlo_in, nylo_in, nxlo_in); } -/* ---------------------------------------------------------------------- - write out current electron temperatures to user-specified file - only written by proc 0 - NOTE: remove this function when ready to release -------------------------------------------------------------------------- */ - -void FixTTMGrid::write_electron_temperatures(const std::string &filename) -{ - if (comm->me == 0) { - FPout = fopen(filename.c_str(), "w"); - if (!FPout) error->one(FLERR, "Fix ttm/grid could not open output file"); - - fmt::print(FPout, - "# DATE: {} UNITS: {} COMMENT: Electron temperature " - "{}x{}x{} grid at step {}. Created by fix {}\n", - utils::current_date(), update->unit_style, nxgrid, nygrid, nzgrid, update->ntimestep, - style); - } - - grid->gather(Grid3d::FIX, this, 1, sizeof(double), 1, nullptr, MPI_DOUBLE); - - if (comm->me == 0) fclose(FPout); -} - /* ---------------------------------------------------------------------- subset of grid assigned to each proc may have changed called by load balancer when proc subdomains are adjusted @@ -500,27 +473,8 @@ void FixTTMGrid::deallocate_grid() void FixTTMGrid::write_restart(FILE *fp) { - int rsize = nxgrid * nygrid * nzgrid + 4; - double *rlist; - memory->create(rlist, rsize, "ttm/grid:rlist"); - - int n = 0; - rlist[n++] = nxgrid; - rlist[n++] = nygrid; - rlist[n++] = nzgrid; - rlist[n++] = seed; - - // gather rest of rlist on proc 0 as global grid values - - //grid->gather(Grid3d::FIX, this, 1, sizeof(double), 0, &rlist[4], MPI_DOUBLE); - - if (comm->me == 0) { - int size = rsize * sizeof(double); - fwrite(&size, sizeof(int), 1, fp); - fwrite(rlist, sizeof(double), rsize, fp); - } - - memory->destroy(rlist); + error->all(FLERR,"Fix ttm/grid command does not yet support " + "writing a distributed grid to a restart file"); } /* ---------------------------------------------------------------------- @@ -529,42 +483,8 @@ void FixTTMGrid::write_restart(FILE *fp) void FixTTMGrid::restart(char *buf) { - int ix, iy, iz; - - int n = 0; - auto rlist = (double *) buf; - - // check that restart grid size is same as current grid size - - int nxgrid_old = static_cast(rlist[n++]); - int nygrid_old = static_cast(rlist[n++]); - int nzgrid_old = static_cast(rlist[n++]); - - if (nxgrid_old != nxgrid || nygrid_old != nygrid || nzgrid_old != nzgrid) - error->all(FLERR, "Must restart fix ttm/grid with same grid size"); - - // change RN seed from initial seed, to avoid same Langevin factors - // just increment by 1, since for RanMars that is a new RN stream - - seed = static_cast(rlist[n++]) + 1; - delete random; - random = new RanMars(lmp, seed + comm->me); - - // extract this proc's local grid values from global grid in rlist - - int iglobal; - - for (iz = nzlo_in; iz <= nzhi_in; iz++) - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) { - iglobal = nygrid * nxgrid * iz + nxgrid * iy + ix; - T_electron[iz][iy][ix] = rlist[n + iglobal]; - } - - // communicate new T_electron values to ghost grid points - - grid->forward_comm(Grid3d::FIX, this, 1, sizeof(double), 0, - grid_buf1, grid_buf2, MPI_DOUBLE); + error->all(FLERR,"Fix ttm/grid command does not yet support " + "reading a distributed grid from a restart file"); } /* ---------------------------------------------------------------------- diff --git a/src/EXTRA-FIX/fix_ttm_grid.h b/src/EXTRA-FIX/fix_ttm_grid.h index 0e77232337..28a975a0bd 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.h +++ b/src/EXTRA-FIX/fix_ttm_grid.h @@ -70,7 +70,6 @@ class FixTTMGrid : public FixTTM { void allocate_grid() override; void deallocate_grid() override; void read_electron_temperatures(const std::string &) override; - void write_electron_temperatures(const std::string &) override; }; } // namespace LAMMPS_NS From 14a5f757c579610f8a729ad635e0f6da267bd659 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 30 Aug 2022 16:07:22 -0600 Subject: [PATCH 060/142] update ttm log files --- examples/ttm/in.ttm.grid | 5 +- ....grid.g++.1 => log.30Aug22.ttm.grid.g++.1} | 68 +++++++++--------- ....grid.g++.4 => log.30Aug22.ttm.grid.g++.4} | 70 ++++++++++--------- 3 files changed, 77 insertions(+), 66 deletions(-) rename examples/ttm/{log.26Aug21.ttm.grid.g++.1 => log.30Aug22.ttm.grid.g++.1} (55%) rename examples/ttm/{log.26Aug21.ttm.grid.g++.4 => log.30Aug22.ttm.grid.g++.4} (54%) diff --git a/examples/ttm/in.ttm.grid b/examples/ttm/in.ttm.grid index 044778c62f..58f2f519b6 100644 --- a/examples/ttm/in.ttm.grid +++ b/examples/ttm/in.ttm.grid @@ -40,9 +40,10 @@ thermo 100 thermo_style custom step temp etotal f_twotemp[1] f_twotemp[2] thermo_modify format float "%20.16g" -compute 10 all property/grid 5 5 5 id xc yc zc -fix ave all ave/grid 100 5 500 5 5 5 f_twotemp:grid:data +compute 10 all property/grid 10 10 10 id xc yc zc +fix ave all ave/grid 100 5 500 10 10 10 f_twotemp:grid:data dump ave all grid 500 tmp.dump.ave & c_10:grid:data[*] f_ave:grid:data +dump_modify ave sort 1 run 1000 diff --git a/examples/ttm/log.26Aug21.ttm.grid.g++.1 b/examples/ttm/log.30Aug22.ttm.grid.g++.1 similarity index 55% rename from examples/ttm/log.26Aug21.ttm.grid.g++.1 rename to examples/ttm/log.30Aug22.ttm.grid.g++.1 index a576583557..7f59fba147 100644 --- a/examples/ttm/log.26Aug21.ttm.grid.g++.1 +++ b/examples/ttm/log.30Aug22.ttm.grid.g++.1 @@ -1,4 +1,4 @@ -LAMMPS (30 Jul 2021) +LAMMPS (3 Aug 2022) units metal atom_style atomic boundary p p p @@ -6,7 +6,7 @@ boundary p p p variable latc equal 2.87 lattice bcc ${latc} lattice bcc 2.87 -Lattice spacing in x,y,z = 2.8700000 2.8700000 2.8700000 +Lattice spacing in x,y,z = 2.87 2.87 2.87 variable xmax equal 10.0 variable xmin equal -10.0 variable ymax equal 10.0 @@ -22,7 +22,7 @@ region sim_box block -10 10 -10 10 ${zmin} ${zmax} units latti region sim_box block -10 10 -10 10 -10 ${zmax} units lattice region sim_box block -10 10 -10 10 -10 10 units lattice create_box 1 sim_box -Created orthogonal box = (-28.700000 -28.700000 -28.700000) to (28.700000 28.700000 28.700000) +Created orthogonal box = (-28.7 -28.7 -28.7) to (28.7 28.7 28.7) 1 by 1 by 1 MPI processor grid region atom_box block ${xmin} ${xmax} ${ymin} ${ymax} ${zmin} ${zmax} units lattice region atom_box block -10 ${xmax} ${ymin} ${ymax} ${zmin} ${zmax} units lattice @@ -33,14 +33,14 @@ region atom_box block -10 10 -10 10 -10 ${zmax} units lattice region atom_box block -10 10 -10 10 -10 10 units lattice create_atoms 1 region atom_box Created 16000 atoms - using lattice units in orthogonal box = (-28.700000 -28.700000 -28.700000) to (28.700000 28.700000 28.700000) - create_atoms CPU = 0.005 seconds + using lattice units in orthogonal box = (-28.7 -28.7 -28.7) to (28.7 28.7 28.7) + create_atoms CPU = 0.004 seconds mass 1 55.845 -include pot_iron.mod pair_style eam/fs pair_coeff * * FeVoter-ChenRecheck.fs Fe +Reading eam/fs potential file FeVoter-ChenRecheck.fs with DATE: 2016-04-04 neighbor 2.0 bin neigh_modify every 5 delay 0 check yes @@ -58,9 +58,13 @@ thermo 100 thermo_style custom step temp etotal f_twotemp[1] f_twotemp[2] thermo_modify format float "%20.16g" +compute 10 all property/grid 10 10 10 id xc yc zc +fix ave all ave/grid 100 5 500 10 10 10 f_twotemp:grid:data +dump ave all grid 500 tmp.dump.ave c_10:grid:data[*] f_ave:grid:data + run 1000 Neighbor list info ... - update every 5 steps, delay 0 steps, check yes + update: every = 5 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 6.524 ghost atom cutoff = 6.524 @@ -71,43 +75,43 @@ Neighbor list info ... pair build: half/bin/atomonly/newton stencil: half/bin/3d bin: standard -Per MPI rank memory allocation (min/avg/max) = 10.99 | 10.99 | 10.99 Mbytes -Step Temp TotEng f_twotemp[1] f_twotemp[2] - 0 0 -68483.52254543516 371.9188105082105 0 - 100 17.01353086098387 -68446.50228930202 334.6217068813629 0.3763710887774046 - 200 27.91331236535322 -68413.16008042906 301.3181773007303 0.3165912892484031 - 300 32.20115656493125 -68383.19634217303 271.3756381838045 0.2901111802983097 - 400 33.46056398887347 -68355.73057141017 243.9344715501159 0.2548133388123378 - 500 35.5346204243821 -68331.63060947017 219.84946888619 0.2388591367999414 - 600 40.61692458441596 -68309.36124792948 197.5527667607886 0.3056696014124338 - 700 46.20303146200326 -68290.12727395598 178.3775768561405 0.1982123493608406 - 800 50.4375018189932 -68272.72651051797 160.995046695269 0.1708386295858845 - 900 52.17011714635106 -68257.85059865142 146.1567281868867 0.1032829304640776 - 1000 53.49296457217382 -68244.38715993936 132.7166474251702 0.06428993394665769 -Loop time of 14.8767 on 1 procs for 1000 steps with 16000 atoms +Per MPI rank memory allocation (min/avg/max) = 12.09 | 12.09 | 12.09 Mbytes + Step Temp TotEng f_twotemp[1] f_twotemp[2] + 0 0 -68483.52254543516 371.9188105082105 0 + 100 17.01353086098387 -68446.50228930202 334.6217068813629 0.3763710887774046 + 200 27.91331236535322 -68413.16008042906 301.3181773007303 0.3165912892484031 + 300 32.20115656493125 -68383.19634217303 271.3756381838045 0.2901111802983097 + 400 33.46056398887347 -68355.73057141017 243.9344715501159 0.2548133388123378 + 500 35.5346204243821 -68331.63060947017 219.84946888619 0.2388591367999414 + 600 40.61692458441596 -68309.36124792948 197.5527667607886 0.3056696014124338 + 700 46.20303146200326 -68290.12727395598 178.3775768561405 0.1982123493608406 + 800 50.4375018189932 -68272.72651051797 160.995046695269 0.1708386295858845 + 900 52.17011714635106 -68257.85059865142 146.1567281868867 0.1032829304640776 + 1000 53.49296457217382 -68244.38715993936 132.7166474251702 0.06428993394665769 +Loop time of 15.6373 on 1 procs for 1000 steps with 16000 atoms -Performance: 0.581 ns/day, 41.324 hours/ns, 67.219 timesteps/s +Performance: 0.553 ns/day, 43.437 hours/ns, 63.950 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 | 13.759 | 13.759 | 13.759 | 0.0 | 92.49 +Pair | 14.493 | 14.493 | 14.493 | 0.0 | 92.68 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.087429 | 0.087429 | 0.087429 | 0.0 | 0.59 -Output | 0.00063941 | 0.00063941 | 0.00063941 | 0.0 | 0.00 -Modify | 0.98561 | 0.98561 | 0.98561 | 0.0 | 6.63 -Other | | 0.04396 | | | 0.30 +Comm | 0.088097 | 0.088097 | 0.088097 | 0.0 | 0.56 +Output | 0.0044447 | 0.0044447 | 0.0044447 | 0.0 | 0.03 +Modify | 1.0075 | 1.0075 | 1.0075 | 0.0 | 6.44 +Other | | 0.04433 | | | 0.28 -Nlocal: 16000.0 ave 16000 max 16000 min +Nlocal: 16000 ave 16000 max 16000 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 13449.0 ave 13449 max 13449 min +Nghost: 13449 ave 13449 max 13449 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 896000.0 ave 896000 max 896000 min +Neighs: 896000 ave 896000 max 896000 min Histogram: 1 0 0 0 0 0 0 0 0 0 Total # of neighbors = 896000 -Ave neighs/atom = 56.000000 +Ave neighs/atom = 56 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:00:14 +Total wall time: 0:00:15 diff --git a/examples/ttm/log.26Aug21.ttm.grid.g++.4 b/examples/ttm/log.30Aug22.ttm.grid.g++.4 similarity index 54% rename from examples/ttm/log.26Aug21.ttm.grid.g++.4 rename to examples/ttm/log.30Aug22.ttm.grid.g++.4 index b603c66df9..d75335722f 100644 --- a/examples/ttm/log.26Aug21.ttm.grid.g++.4 +++ b/examples/ttm/log.30Aug22.ttm.grid.g++.4 @@ -1,4 +1,5 @@ -LAMMPS (30 Jul 2021) +LAMMPS (3 Aug 2022) +WARNING: Using I/O redirection is unreliable with parallel runs. Better use -in switch to read input file. (../lammps.cpp:524) units metal atom_style atomic boundary p p p @@ -6,7 +7,7 @@ boundary p p p variable latc equal 2.87 lattice bcc ${latc} lattice bcc 2.87 -Lattice spacing in x,y,z = 2.8700000 2.8700000 2.8700000 +Lattice spacing in x,y,z = 2.87 2.87 2.87 variable xmax equal 10.0 variable xmin equal -10.0 variable ymax equal 10.0 @@ -22,7 +23,7 @@ region sim_box block -10 10 -10 10 ${zmin} ${zmax} units latti region sim_box block -10 10 -10 10 -10 ${zmax} units lattice region sim_box block -10 10 -10 10 -10 10 units lattice create_box 1 sim_box -Created orthogonal box = (-28.700000 -28.700000 -28.700000) to (28.700000 28.700000 28.700000) +Created orthogonal box = (-28.7 -28.7 -28.7) to (28.7 28.7 28.7) 1 by 2 by 2 MPI processor grid region atom_box block ${xmin} ${xmax} ${ymin} ${ymax} ${zmin} ${zmax} units lattice region atom_box block -10 ${xmax} ${ymin} ${ymax} ${zmin} ${zmax} units lattice @@ -33,14 +34,14 @@ region atom_box block -10 10 -10 10 -10 ${zmax} units lattice region atom_box block -10 10 -10 10 -10 10 units lattice create_atoms 1 region atom_box Created 16000 atoms - using lattice units in orthogonal box = (-28.700000 -28.700000 -28.700000) to (28.700000 28.700000 28.700000) + using lattice units in orthogonal box = (-28.7 -28.7 -28.7) to (28.7 28.7 28.7) create_atoms CPU = 0.002 seconds mass 1 55.845 -include pot_iron.mod pair_style eam/fs pair_coeff * * FeVoter-ChenRecheck.fs Fe +Reading eam/fs potential file FeVoter-ChenRecheck.fs with DATE: 2016-04-04 neighbor 2.0 bin neigh_modify every 5 delay 0 check yes @@ -58,9 +59,14 @@ thermo 100 thermo_style custom step temp etotal f_twotemp[1] f_twotemp[2] thermo_modify format float "%20.16g" +compute 10 all property/grid 10 10 10 id xc yc zc +fix ave all ave/grid 100 5 500 10 10 10 f_twotemp:grid:data +dump ave all grid 500 tmp.dump.ave c_10:grid:data[*] f_ave:grid:data +dump_modify ave sort 1 + run 1000 Neighbor list info ... - update every 5 steps, delay 0 steps, check yes + update: every = 5 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 6.524 ghost atom cutoff = 6.524 @@ -71,43 +77,43 @@ Neighbor list info ... pair build: half/bin/atomonly/newton stencil: half/bin/3d bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.843 | 4.843 | 4.843 Mbytes -Step Temp TotEng f_twotemp[1] f_twotemp[2] - 0 0 -68483.52254530673 371.9188105082186 0 - 100 16.95536995775684 -68446.64765713879 334.7745598327931 0.3602932995006087 - 200 27.82619298359641 -68413.48663012494 301.6568409464847 0.2922875754523593 - 300 32.28660976355901 -68383.41369945828 271.6030085280586 0.26987388247804 - 400 33.33119316198579 -68356.74598240001 244.9747750036311 0.2061586600914003 - 500 35.14534756499593 -68332.73504057307 220.9328922343961 0.2800368538794578 - 600 39.58922469808521 -68311.03191758461 199.2602622784512 0.2310303196166884 - 700 45.34652315787151 -68291.65247941404 179.9297699858464 0.1438135463248855 - 800 49.66707856481075 -68274.98092841901 163.2540575286425 0.1600890300738265 - 900 52.17692450487317 -68259.8031091165 148.1017576370548 0.1177316234407941 - 1000 54.24228199265479 -68245.58589458198 133.8816957314364 0.1314999893461343 -Loop time of 4.95173 on 4 procs for 1000 steps with 16000 atoms +Per MPI rank memory allocation (min/avg/max) = 5.902 | 5.903 | 5.904 Mbytes + Step Temp TotEng f_twotemp[1] f_twotemp[2] + 0 0 -68483.52254530673 371.9188105082186 0 + 100 16.95536995775684 -68446.64765713879 334.7745598327931 0.3602932995006087 + 200 27.82619298359641 -68413.48663012494 301.6568409464847 0.2922875754523593 + 300 32.28660976355901 -68383.41369945828 271.6030085280586 0.26987388247804 + 400 33.33119316198579 -68356.74598240001 244.9747750036311 0.2061586600914003 + 500 35.14534756499593 -68332.73504057307 220.9328922343961 0.2800368538794578 + 600 39.58922469808521 -68311.03191758461 199.2602622784512 0.2310303196166884 + 700 45.34652315787151 -68291.65247941404 179.9297699858464 0.1438135463248855 + 800 49.66707856481075 -68274.98092841901 163.2540575286425 0.1600890300738265 + 900 52.17692450487317 -68259.8031091165 148.1017576370548 0.1177316234407941 + 1000 54.24228199265479 -68245.58589458198 133.8816957314364 0.1314999893461343 +Loop time of 4.78682 on 4 procs for 1000 steps with 16000 atoms -Performance: 1.745 ns/day, 13.755 hours/ns, 201.949 timesteps/s -98.2% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 1.805 ns/day, 13.297 hours/ns, 208.907 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 | 4.1159 | 4.2665 | 4.4446 | 7.1 | 86.16 +Pair | 4.1562 | 4.2154 | 4.2851 | 2.7 | 88.06 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.14618 | 0.32518 | 0.47663 | 25.8 | 6.57 -Output | 0.00030633 | 0.00034695 | 0.00044693 | 0.0 | 0.01 -Modify | 0.33258 | 0.3333 | 0.33402 | 0.1 | 6.73 -Other | | 0.0264 | | | 0.53 +Comm | 0.16658 | 0.23631 | 0.29566 | 11.5 | 4.94 +Output | 0.0016285 | 0.0016618 | 0.0017414 | 0.1 | 0.03 +Modify | 0.31425 | 0.31577 | 0.31755 | 0.2 | 6.60 +Other | | 0.01766 | | | 0.37 -Nlocal: 4000.00 ave 4000 max 4000 min +Nlocal: 4000 ave 4000 max 4000 min Histogram: 4 0 0 0 0 0 0 0 0 0 -Nghost: 6329.00 ave 6329 max 6329 min +Nghost: 6329 ave 6329 max 6329 min Histogram: 4 0 0 0 0 0 0 0 0 0 -Neighs: 224000.0 ave 227436 max 220450 min +Neighs: 224000 ave 227436 max 220450 min Histogram: 1 0 1 0 0 0 0 1 0 1 Total # of neighbors = 896000 -Ave neighs/atom = 56.000000 +Ave neighs/atom = 56 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:00:05 +Total wall time: 0:00:04 From e7a5fe20c761c9d9953fffc86d88a9dfed4a43c4 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 30 Aug 2022 18:24:56 -0400 Subject: [PATCH 061/142] whitespace --- doc/src/fix_ave_grid.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/fix_ave_grid.rst b/doc/src/fix_ave_grid.rst index 81cdc06921..7453a2ea8a 100644 --- a/doc/src/fix_ave_grid.rst +++ b/doc/src/fix_ave_grid.rst @@ -184,7 +184,7 @@ density (mass/volume). See the :doc:`units ` command page for the definition of density for each choice of units, e.g. gram/cm\^3. The *temp* value means the temperature is computed for each grid cell, -by the formula +by the formula .. math:: @@ -307,7 +307,7 @@ range of grid cells on a particular timestep. If *discard* is set to *yes* (the default), then the atom will be assigned to the closest grid cell (lowest or highest) in that dimension. If *discard* is set to *no* the atom will be ignored. - + ---------- The *norm* keyword is only applicable to per-atom mode. In per-grid From 88c92119d393074bc09cddbd68df5c4219b26a63 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 22 Sep 2022 14:37:52 -0600 Subject: [PATCH 062/142] starting to add remap to Grid3d --- src/EXTRA-FIX/fix_ttm_grid.cpp | 62 ++++++++++++++++++++++++++++++++++ src/EXTRA-FIX/fix_ttm_grid.h | 4 +++ src/fix.h | 2 ++ src/grid3d.cpp | 53 ++++++++++++++++++++++++++++- src/grid3d.h | 2 ++ 5 files changed, 122 insertions(+), 1 deletion(-) diff --git a/src/EXTRA-FIX/fix_ttm_grid.cpp b/src/EXTRA-FIX/fix_ttm_grid.cpp index b472237df8..111590d4f5 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.cpp +++ b/src/EXTRA-FIX/fix_ttm_grid.cpp @@ -370,6 +370,44 @@ void FixTTMGrid::read_electron_temperatures(const std::string &filename) void FixTTMGrid::reset_grid() { error->all(FLERR,"Fix ttm/grid does not support load balancing (yet)"); + + // delete grid data which doesn't need to persist from previous to new decomp + + memory->destroy(grid_buf1); + memory->destroy(grid_buf2); + memory->destroy3d_offset(T_electron_old, nzlo_out, nylo_out, nxlo_out); + memory->destroy3d_offset(net_energy_transfer, nzlo_out, nylo_out, nxlo_out); + + // make copy of ptrs to grid data which does need to persist + + grid_previous = grid; + T_electron_previous = T_electron; + + // allocate new per-grid data for new decomposition + + allocate_grid(); + + // perform remap from previous decomp to new decomp + + int nremap_buf1,nremap_buf2; + grid->remap_init(grid_previous,nremap_buf1,nremap_buf2); + + double *remap_buf1,*remap_buf2; + memory->create(remap_buf1, nremap_buf1, "ttm/grid:remap_buf1"); + memory->create(remap_buf2, nremap_buf2, "ttm/grid:remap_buf2"); + + grid->remap_perform(Grid3d::FIX,this,grid_previous); + + memory->destroy(remap_buf1); + memory->destroy(remap_buf2); + + // delete grid data and grid for previous decomposition + // NOTE: need to set offsets + + int nxlo_out_prev,nylo_out_prev,nzlo_out_prev; + memory->destroy3d_offset(T_electron_previous, + nzlo_out_prev, nylo_out_prev, nxlo_out_prev); + delete grid_previous; } /* ---------------------------------------------------------------------- @@ -420,6 +458,30 @@ void FixTTMGrid::unpack_reverse_grid(int /*flag*/, void *vbuf, int nlist, int *l for (int i = 0; i < nlist; i++) dest[list[i]] += buf[i]; } +/* ---------------------------------------------------------------------- + pack old grid values to buf to send to another proc +------------------------------------------------------------------------- */ + +void FixTTMGrid::pack_remap_grid(int /*flag*/, void *vbuf, int nlist, int *list) +{ + auto buf = (double *) vbuf; + double *src = &T_electron_previous[nzlo_out][nylo_out][nxlo_out]; + + for (int i = 0; i < nlist; i++) buf[i] = src[list[i]]; +} + +/* ---------------------------------------------------------------------- + unpack another proc's own values from buf and set own ghost values +------------------------------------------------------------------------- */ + +void FixTTMGrid::unpack_remap_grid(int /*flag*/, void *vbuf, int nlist, int *list) +{ + auto buf = (double *) vbuf; + double *dest = &T_electron[nzlo_out][nylo_out][nxlo_out]; + + for (int i = 0; i < nlist; i++) dest[list[i]] = buf[i]; +} + /* ---------------------------------------------------------------------- allocate 3d grid quantities ------------------------------------------------------------------------- */ diff --git a/src/EXTRA-FIX/fix_ttm_grid.h b/src/EXTRA-FIX/fix_ttm_grid.h index 28a975a0bd..7cbd585cc4 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.h +++ b/src/EXTRA-FIX/fix_ttm_grid.h @@ -41,6 +41,8 @@ class FixTTMGrid : public FixTTM { void unpack_forward_grid(int, void *, int, int *) override; void pack_reverse_grid(int, void *, int, int *) override; void unpack_reverse_grid(int, void *, int, int *) override; + void pack_remap_grid(int, void *, int, int *) override; + void unpack_remap_grid(int, void *, int, int *) override; void pack_gather_grid(int, void *) override; void unpack_gather_grid(int, void *, void *, int, int, int, int, int, int) override; @@ -64,6 +66,8 @@ class FixTTMGrid : public FixTTM { FILE *FPout; class Grid3d *grid; + class Grid3d *grid_previous; + double ***T_electron_previous; int ngrid_buf1, ngrid_buf2; double *grid_buf1, *grid_buf2; diff --git a/src/fix.h b/src/fix.h index 7312a52d0e..a32ff45c3c 100644 --- a/src/fix.h +++ b/src/fix.h @@ -217,6 +217,8 @@ class Fix : protected Pointers { virtual void unpack_forward_grid(int, void *, int, int *){}; virtual void pack_reverse_grid(int, void *, int, int *){}; virtual void unpack_reverse_grid(int, void *, int, int *){}; + virtual void pack_remap_grid(int, void *, int, int *){}; + virtual void unpack_remap_grid(int, void *, int, int *){}; virtual void pack_gather_grid(int, void *){}; virtual void unpack_gather_grid(int, void *, void *, int, int, int, int, int, int){}; diff --git a/src/grid3d.cpp b/src/grid3d.cpp index d16c901cf6..bb7b86096b 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -1318,6 +1318,57 @@ reverse_comm_tiled(T *ptr, int nper, int nbyte, int which, } } +/* ---------------------------------------------------------------------- + remap from old grid decomposition to this grid decomposition + pack/unpack operations are performed by caller via callbacks +------------------------------------------------------------------------- */ + +void Grid3d::remap_init(Grid3d *old, int &ngrid1_buf, int &ngrid_buf2) +{ + + // perform remap + + + /* + // post all recvs into scratch space + + for (irecv = 0; irecv < plan->nrecv; irecv++) + MPI_Irecv(&scratch[plan->recv_bufloc[irecv]],plan->recv_size[irecv], + MPI_FFT_SCALAR,plan->recv_proc[irecv],0, + plan->comm,&plan->request[irecv]); + + // send all messages to other procs + + for (isend = 0; isend < plan->nsend; isend++) { + plan->pack(&in[plan->send_offset[isend]], + plan->sendbuf,&plan->packplan[isend]); + MPI_Send(plan->sendbuf,plan->send_size[isend],MPI_FFT_SCALAR, + plan->send_proc[isend],0,plan->comm); + } + + // copy in -> scratch -> out for self data + + if (plan->self) { + isend = plan->nsend; + irecv = plan->nrecv; + plan->pack(&in[plan->send_offset[isend]], + &scratch[plan->recv_bufloc[irecv]], + &plan->packplan[isend]); + plan->unpack(&scratch[plan->recv_bufloc[irecv]], + &out[plan->recv_offset[irecv]],&plan->unpackplan[irecv]); + } + + // unpack all messages from scratch -> out + + for (i = 0; i < plan->nrecv; i++) { + MPI_Waitany(plan->nrecv,plan->request,&irecv,MPI_STATUS_IGNORE); + plan->unpack(&scratch[plan->recv_bufloc[irecv]], + &out[plan->recv_offset[irecv]],&plan->unpackplan[irecv]); + } + + */ +} + /* ---------------------------------------------------------------------- gather global grid values to proc 0, one grid chunk at a time proc 0 pings each proc for its grid chunk @@ -1326,7 +1377,7 @@ reverse_comm_tiled(T *ptr, int nper, int nbyte, int which, ------------------------------------------------------------------------- */ void Grid3d::gather(int /*caller*/, void *ptr, int nper, int nbyte, - int which, void *buf, MPI_Datatype datatype) + int which, void *buf, MPI_Datatype datatype) { int me = comm->me; Fix *fptr = (Fix *) ptr; diff --git a/src/grid3d.h b/src/grid3d.h index e69b1d0df5..b40cd500bb 100644 --- a/src/grid3d.h +++ b/src/grid3d.h @@ -37,6 +37,8 @@ class Grid3d : protected Pointers { int ghost_adjacent(); void forward_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); void reverse_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); + void remap_init(Grid3d *, int &, int &); + void remap_perform(int, void *, Grid3d *) {} void gather(int, void *, int, int, int, void *, MPI_Datatype); protected: From ffdfae4784b1845d938c2d42cab9bab4d6e0dae3 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Wed, 12 Oct 2022 11:28:22 -0600 Subject: [PATCH 063/142] Port grid3d changes to Kokkos --- src/KOKKOS/Install.sh | 4 +- ...{gridcomm_kokkos.cpp => grid3d_kokkos.cpp} | 72 +++++++++---------- .../{gridcomm_kokkos.h => grid3d_kokkos.h} | 14 ++-- src/KOKKOS/pppm_kokkos.cpp | 12 ++-- src/KOKKOS/pppm_kokkos.h | 4 +- 5 files changed, 53 insertions(+), 53 deletions(-) rename src/KOKKOS/{gridcomm_kokkos.cpp => grid3d_kokkos.cpp} (93%) rename src/KOKKOS/{gridcomm_kokkos.h => grid3d_kokkos.h} (90%) diff --git a/src/KOKKOS/Install.sh b/src/KOKKOS/Install.sh index cfdf0356f7..1d35dd2aa9 100755 --- a/src/KOKKOS/Install.sh +++ b/src/KOKKOS/Install.sh @@ -169,8 +169,8 @@ action fix_dpd_energy_kokkos.cpp fix_dpd_energy.cpp action fix_dpd_energy_kokkos.h fix_dpd_energy.h action fix_rx_kokkos.cpp fix_rx.cpp action fix_rx_kokkos.h fix_rx.h -action gridcomm_kokkos.cpp fft3d.h -action gridcomm_kokkos.h fft3d.h +action grid3d_kokkos.cpp fft3d.h +action grid3d_kokkos.h fft3d.h action improper_class2_kokkos.cpp improper_class2.cpp action improper_class2_kokkos.h improper_class2.h action improper_harmonic_kokkos.cpp improper_harmonic.cpp diff --git a/src/KOKKOS/gridcomm_kokkos.cpp b/src/KOKKOS/grid3d_kokkos.cpp similarity index 93% rename from src/KOKKOS/gridcomm_kokkos.cpp rename to src/KOKKOS/grid3d_kokkos.cpp index 4a0985219b..9bd8fc40f5 100644 --- a/src/KOKKOS/gridcomm_kokkos.cpp +++ b/src/KOKKOS/grid3d_kokkos.cpp @@ -12,7 +12,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "gridcomm_kokkos.h" +#include "grid3d_kokkos.h" #include "comm.h" #include "irregular.h" @@ -48,11 +48,11 @@ enum{REGULAR,TILED}; ------------------------------------------------------------------------- */ template -GridCommKokkos::GridCommKokkos(LAMMPS *lmp, MPI_Comm gcomm, +Grid3dKokkos::Grid3dKokkos(LAMMPS *lmp, MPI_Comm gcomm, int gnx, int gny, int gnz, int ixlo, int ixhi, int iylo, int iyhi, int izlo, int izhi, int oxlo, int oxhi, int oylo, int oyhi, int ozlo, int ozhi) - : GridComm(lmp, gcomm, + : Grid3d(lmp, gcomm, gnx, gny, gnz, ixlo,ixhi, iylo, iyhi, izlo, izhi, oxlo, oxhi, oylo, oyhi, ozlo, ozhi) @@ -72,12 +72,12 @@ GridCommKokkos::GridCommKokkos(LAMMPS *lmp, MPI_Comm gcomm, ------------------------------------------------------------------------- */ template -GridCommKokkos::GridCommKokkos(LAMMPS *lmp, MPI_Comm gcomm, int /*flag*/, +Grid3dKokkos::Grid3dKokkos(LAMMPS *lmp, MPI_Comm gcomm, int /*flag*/, int gnx, int gny, int gnz, int ixlo, int ixhi, int iylo, int iyhi, int izlo, int izhi, int oxlo, int oxhi, int oylo, int oyhi, int ozlo, int ozhi, int /*exlo*/, int /*exhi*/, int /*eylo*/, int /*eyhi*/, int /*ezlo*/, int /*ezhi*/) - : GridComm(lmp, gcomm, + : Grid3d(lmp, gcomm, gnx, gny, gnz, ixlo,ixhi, iylo, iyhi, izlo, izhi, oxlo, oxhi, oylo, oyhi, ozlo, ozhi) @@ -87,7 +87,7 @@ GridCommKokkos::GridCommKokkos(LAMMPS *lmp, MPI_Comm gcomm, int /*fl /* ---------------------------------------------------------------------- */ template -GridCommKokkos::~GridCommKokkos() +Grid3dKokkos::~Grid3dKokkos() { // regular comm data struct @@ -121,7 +121,7 @@ GridCommKokkos::~GridCommKokkos() ------------------------------------------------------------------------- */ template -void GridCommKokkos::setup_regular(int &nbuf1, int &nbuf2) +void Grid3dKokkos::setup_regular(int &nbuf1, int &nbuf2) { int nsent,sendfirst,sendlast,recvfirst,recvlast; int sendplanes,recvplanes; @@ -423,7 +423,7 @@ void GridCommKokkos::setup_regular(int &nbuf1, int &nbuf2) ------------------------------------------------------------------------- */ template -void GridCommKokkos::setup_tiled(int &nbuf1, int &nbuf2) +void Grid3dKokkos::setup_tiled(int &nbuf1, int &nbuf2) { int i,m; double xlo,xhi,ylo,yhi,zlo,zhi; @@ -435,7 +435,7 @@ void GridCommKokkos::setup_tiled(int &nbuf1, int &nbuf2) // dim is -1 for proc 0, but never accessed rcbinfo = (RCBinfo *) - memory->smalloc(nprocs*sizeof(RCBinfo),"GridComm:rcbinfo"); + memory->smalloc(nprocs*sizeof(RCBinfo),"Grid3d:rcbinfo"); RCBinfo rcbone; rcbone.dim = comm->rcbcutdim; if (rcbone.dim <= 0) rcbone.cut = inxlo; @@ -458,7 +458,7 @@ void GridCommKokkos::setup_tiled(int &nbuf1, int &nbuf2) pbc[0] = pbc[1] = pbc[2] = 0; - memory->create(overlap_procs,nprocs,"GridComm:overlap_procs"); + memory->create(overlap_procs,nprocs,"Grid3d:overlap_procs"); noverlap = maxoverlap = 0; overlap = nullptr; @@ -469,9 +469,9 @@ void GridCommKokkos::setup_tiled(int &nbuf1, int &nbuf2) // ncopy = # of overlaps with myself, across a periodic boundary int *proclist; - memory->create(proclist,noverlap,"GridComm:proclist"); + memory->create(proclist,noverlap,"Grid3d:proclist"); srequest = (Request *) - memory->smalloc(noverlap*sizeof(Request),"GridComm:srequest"); + memory->smalloc(noverlap*sizeof(Request),"Grid3d:srequest"); int nsend_request = 0; ncopy = 0; @@ -491,21 +491,21 @@ void GridCommKokkos::setup_tiled(int &nbuf1, int &nbuf2) Irregular *irregular = new Irregular(lmp); int nrecv_request = irregular->create_data(nsend_request,proclist,1); Request *rrequest = - (Request *) memory->smalloc(nrecv_request*sizeof(Request),"GridComm:rrequest"); + (Request *) memory->smalloc(nrecv_request*sizeof(Request),"Grid3d:rrequest"); irregular->exchange_data((char *) srequest,sizeof(Request),(char *) rrequest); irregular->destroy_data(); // compute overlaps between received ghost boxes and my owned box // overlap box used to setup my Send data struct and respond to requests - send = (Send *) memory->smalloc(nrecv_request*sizeof(Send),"GridComm:send"); + send = (Send *) memory->smalloc(nrecv_request*sizeof(Send),"Grid3d:send"); - k_send_packlist = DAT::tdual_int_2d("GridComm:send_packlist",nrecv_request,k_send_packlist.extent(1)); + k_send_packlist = DAT::tdual_int_2d("Grid3d:send_packlist",nrecv_request,k_send_packlist.extent(1)); sresponse = (Response *) - memory->smalloc(nrecv_request*sizeof(Response),"GridComm:sresponse"); + memory->smalloc(nrecv_request*sizeof(Response),"Grid3d:sresponse"); memory->destroy(proclist); - memory->create(proclist,nrecv_request,"GridComm:proclist"); + memory->create(proclist,nrecv_request,"Grid3d:proclist"); for (m = 0; m < nrecv_request; m++) { send[m].proc = rrequest[m].sender; @@ -535,7 +535,7 @@ void GridCommKokkos::setup_tiled(int &nbuf1, int &nbuf2) int nsend_response = nrecv_request; int nrecv_response = irregular->create_data(nsend_response,proclist,1); Response *rresponse = - (Response *) memory->smalloc(nrecv_response*sizeof(Response),"GridComm:rresponse"); + (Response *) memory->smalloc(nrecv_response*sizeof(Response),"Grid3d:rresponse"); irregular->exchange_data((char *) sresponse,sizeof(Response),(char *) rresponse); irregular->destroy_data(); delete irregular; @@ -544,9 +544,9 @@ void GridCommKokkos::setup_tiled(int &nbuf1, int &nbuf2) // box used to setup my Recv data struct after unwrapping via PBC // adjacent = 0 if any box of ghost cells does not adjoin my owned cells - recv = (Recv *) memory->smalloc(nrecv_response*sizeof(Recv),"GridComm:recv"); + recv = (Recv *) memory->smalloc(nrecv_response*sizeof(Recv),"Grid3d:recv"); - k_recv_unpacklist = DAT::tdual_int_2d("GridComm:recv_unpacklist",nrecv_response,k_recv_unpacklist.extent(1)); + k_recv_unpacklist = DAT::tdual_int_2d("Grid3d:recv_unpacklist",nrecv_response,k_recv_unpacklist.extent(1)); adjacent = 1; @@ -570,10 +570,10 @@ void GridCommKokkos::setup_tiled(int &nbuf1, int &nbuf2) // create Copy data struct from overlaps with self - copy = (Copy *) memory->smalloc(ncopy*sizeof(Copy),"GridComm:copy"); + copy = (Copy *) memory->smalloc(ncopy*sizeof(Copy),"Grid3d:copy"); - k_copy_packlist = DAT::tdual_int_2d("GridComm:copy_packlist",ncopy,k_copy_packlist.extent(1)); - k_copy_unpacklist = DAT::tdual_int_2d("GridComm:copy_unpacklist",ncopy,k_copy_unpacklist.extent(1)); + k_copy_packlist = DAT::tdual_int_2d("Grid3d:copy_packlist",ncopy,k_copy_packlist.extent(1)); + k_copy_unpacklist = DAT::tdual_int_2d("Grid3d:copy_unpacklist",ncopy,k_copy_unpacklist.extent(1)); ncopy = 0; for (m = 0; m < noverlap; m++) { @@ -655,7 +655,7 @@ void GridCommKokkos::setup_tiled(int &nbuf1, int &nbuf2) ------------------------------------------------------------------------- */ template -void GridCommKokkos::forward_comm_kspace(KSpace *kspace, int nper, int which, +void Grid3dKokkos::forward_comm_kspace(KSpace *kspace, int nper, int which, FFT_DAT::tdual_FFT_SCALAR_1d &k_buf1, FFT_DAT::tdual_FFT_SCALAR_1d &k_buf2, MPI_Datatype datatype) { if (layout == REGULAR) @@ -669,7 +669,7 @@ void GridCommKokkos::forward_comm_kspace(KSpace *kspace, int nper, i ------------------------------------------------------------------------- */ template -void GridCommKokkos:: +void Grid3dKokkos:: forward_comm_kspace_regular(KSpace *kspace, int nper, int which, FFT_DAT::tdual_FFT_SCALAR_1d &k_buf1, FFT_DAT::tdual_FFT_SCALAR_1d &k_buf2, MPI_Datatype datatype) { @@ -723,7 +723,7 @@ forward_comm_kspace_regular(KSpace *kspace, int nper, int which, ------------------------------------------------------------------------- */ template -void GridCommKokkos:: +void Grid3dKokkos:: forward_comm_kspace_tiled(KSpace *kspace, int nper, int which, FFT_DAT::tdual_FFT_SCALAR_1d &k_buf1, FFT_DAT::tdual_FFT_SCALAR_1d &k_buf2, MPI_Datatype datatype) { @@ -791,7 +791,7 @@ forward_comm_kspace_tiled(KSpace *kspace, int nper, int which, ------------------------------------------------------------------------- */ template -void GridCommKokkos::reverse_comm_kspace(KSpace *kspace, int nper, int which, +void Grid3dKokkos::reverse_comm_kspace(KSpace *kspace, int nper, int which, FFT_DAT::tdual_FFT_SCALAR_1d &k_buf1, FFT_DAT::tdual_FFT_SCALAR_1d &k_buf2, MPI_Datatype datatype) { if (layout == REGULAR) @@ -805,7 +805,7 @@ void GridCommKokkos::reverse_comm_kspace(KSpace *kspace, int nper, i ------------------------------------------------------------------------- */ template -void GridCommKokkos:: +void Grid3dKokkos:: reverse_comm_kspace_regular(KSpace *kspace, int nper, int which, FFT_DAT::tdual_FFT_SCALAR_1d &k_buf1, FFT_DAT::tdual_FFT_SCALAR_1d &k_buf2, MPI_Datatype datatype) { @@ -860,7 +860,7 @@ reverse_comm_kspace_regular(KSpace *kspace, int nper, int which, ------------------------------------------------------------------------- */ template -void GridCommKokkos:: +void Grid3dKokkos:: reverse_comm_kspace_tiled(KSpace *kspace, int nper, int which, FFT_DAT::tdual_FFT_SCALAR_1d &k_buf1, FFT_DAT::tdual_FFT_SCALAR_1d &k_buf2, MPI_Datatype datatype) { @@ -933,15 +933,15 @@ reverse_comm_kspace_tiled(KSpace *kspace, int nper, int which, ------------------------------------------------------------------------- */ template -void GridCommKokkos::grow_swap() +void Grid3dKokkos::grow_swap() { maxswap += DELTA; swap = (Swap *) - memory->srealloc(swap,maxswap*sizeof(Swap),"GridComm:swap"); + memory->srealloc(swap,maxswap*sizeof(Swap),"Grid3d:swap"); if (!k_swap_packlist.d_view.data()) { - k_swap_packlist = DAT::tdual_int_2d("GridComm:swap_packlist",maxswap,k_swap_packlist.extent(1)); - k_swap_unpacklist = DAT::tdual_int_2d("GridComm:swap_unpacklist",maxswap,k_swap_unpacklist.extent(1)); + k_swap_packlist = DAT::tdual_int_2d("Grid3d:swap_packlist",maxswap,k_swap_packlist.extent(1)); + k_swap_unpacklist = DAT::tdual_int_2d("Grid3d:swap_unpacklist",maxswap,k_swap_unpacklist.extent(1)); } else { k_swap_packlist.resize(maxswap,k_swap_packlist.extent(1)); k_swap_unpacklist.resize(maxswap,k_swap_unpacklist.extent(1)); @@ -955,7 +955,7 @@ void GridCommKokkos::grow_swap() ------------------------------------------------------------------------- */ template -int GridCommKokkos::indices(DAT::tdual_int_2d &k_list, int index, +int Grid3dKokkos::indices(DAT::tdual_int_2d &k_list, int index, int xlo, int xhi, int ylo, int yhi, int zlo, int zhi) { int nmax = (xhi-xlo+1) * (yhi-ylo+1) * (zhi-zlo+1); @@ -983,9 +983,9 @@ int GridCommKokkos::indices(DAT::tdual_int_2d &k_list, int index, } namespace LAMMPS_NS { -template class GridCommKokkos; +template class Grid3dKokkos; #ifdef LMP_KOKKOS_GPU -template class GridCommKokkos; +template class Grid3dKokkos; #endif } diff --git a/src/KOKKOS/gridcomm_kokkos.h b/src/KOKKOS/grid3d_kokkos.h similarity index 90% rename from src/KOKKOS/gridcomm_kokkos.h rename to src/KOKKOS/grid3d_kokkos.h index e067dd27e5..f2b0fd4868 100644 --- a/src/KOKKOS/gridcomm_kokkos.h +++ b/src/KOKKOS/grid3d_kokkos.h @@ -12,29 +12,29 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#ifndef LMP_GRIDCOMM_KOKKOS_H -#define LMP_GRIDCOMM_KOKKOS_H +#ifndef LMP_GRID3D_KOKKOS_H +#define LMP_GRID3D_KOKKOS_H -#include "gridcomm.h" +#include "grid3d.h" #include "kokkos_type.h" #include "fftdata_kokkos.h" namespace LAMMPS_NS { template -class GridCommKokkos : public GridComm { +class Grid3dKokkos : public Grid3d { public: typedef DeviceType device_type; typedef ArrayTypes AT; typedef FFTArrayTypes FFT_AT; - GridCommKokkos(class LAMMPS *, MPI_Comm, int, int, int, + Grid3dKokkos(class LAMMPS *, MPI_Comm, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int); - GridCommKokkos(class LAMMPS *, MPI_Comm, int, int, int, int, + Grid3dKokkos(class LAMMPS *, MPI_Comm, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int); - ~GridCommKokkos() override; + ~Grid3dKokkos() override; void forward_comm_kspace(class KSpace *, int, int, FFT_DAT::tdual_FFT_SCALAR_1d &, FFT_DAT::tdual_FFT_SCALAR_1d &, MPI_Datatype); void reverse_comm_kspace(class KSpace *, int, int, diff --git a/src/KOKKOS/pppm_kokkos.cpp b/src/KOKKOS/pppm_kokkos.cpp index 91d24090ec..c700b30db2 100644 --- a/src/KOKKOS/pppm_kokkos.cpp +++ b/src/KOKKOS/pppm_kokkos.cpp @@ -24,7 +24,7 @@ #include "error.h" #include "fft3d_kokkos.h" #include "force.h" -#include "gridcomm_kokkos.h" +#include "grid3d_kokkos.h" #include "kokkos.h" #include "math_const.h" #include "math_special_kokkos.h" @@ -249,7 +249,7 @@ void PPPMKokkos::init() // or overlap is allowed, then done // else reduce order and try again - GridCommKokkos *gctmp = nullptr; + Grid3dKokkos *gctmp = nullptr; int iteration = 0; while (order >= minorder) { @@ -261,7 +261,7 @@ void PPPMKokkos::init() set_grid_local(); if (overlap_allowed) break; - gctmp = new GridCommKokkos(lmp,world,nx_pppm,ny_pppm,nz_pppm, + gctmp = new Grid3dKokkos(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); int tmp1,tmp2; @@ -845,9 +845,9 @@ void PPPMKokkos::allocate() 1,0,0,FFT_PRECISION,collective_flag,gpu_aware_flag); // create ghost grid object for rho and electric field communication - // also create 2 bufs for ghost grid cell comm, passed to GridComm methods + // also create 2 bufs for ghost grid cell comm, passed to Grid3d methods - gc = new GridCommKokkos(lmp,world,nx_pppm,ny_pppm,nz_pppm, + gc = new Grid3dKokkos(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); @@ -2929,7 +2929,7 @@ double PPPMKokkos::memory_usage() if (peratom_allocate_flag) bytes += (double)6 * nbrick * sizeof(FFT_SCALAR); - // two GridComm bufs + // two Grid3d bufs bytes += (double)(ngc_buf1 + ngc_buf2) * npergrid * sizeof(FFT_SCALAR); diff --git a/src/KOKKOS/pppm_kokkos.h b/src/KOKKOS/pppm_kokkos.h index 2e7bd6d537..7e35bb2d1b 100644 --- a/src/KOKKOS/pppm_kokkos.h +++ b/src/KOKKOS/pppm_kokkos.h @@ -23,7 +23,7 @@ KSpaceStyle(pppm/kk/host,PPPMKokkos); #ifndef LMP_PPPM_KOKKOS_H #define LMP_PPPM_KOKKOS_H -#include "gridcomm_kokkos.h" +#include "grid3d_kokkos.h" #include "remap_kokkos.h" #include "fft3d_kokkos.h" #include "kokkos_base_fft.h" @@ -387,7 +387,7 @@ class PPPMKokkos : public PPPM, public KokkosBaseFFT { FFT3dKokkos *fft1,*fft2; RemapKokkos *remap; - GridCommKokkos *gc; + Grid3dKokkos *gc; FFT_DAT::tdual_FFT_SCALAR_1d k_gc_buf1,k_gc_buf2; int ngc_buf1,ngc_buf2,npergrid; From a218c2ad9cf387878b5671bd94f540879cea9aab Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Wed, 12 Oct 2022 11:33:55 -0600 Subject: [PATCH 064/142] Fix CMake build --- 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 2117397494..b12275ed4f 100644 --- a/cmake/Modules/Packages/KOKKOS.cmake +++ b/cmake/Modules/Packages/KOKKOS.cmake @@ -123,7 +123,7 @@ set(KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/kokkos.cpp if(PKG_KSPACE) list(APPEND KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/fft3d_kokkos.cpp - ${KOKKOS_PKG_SOURCES_DIR}/gridcomm_kokkos.cpp + ${KOKKOS_PKG_SOURCES_DIR}/grid3d_kokkos.cpp ${KOKKOS_PKG_SOURCES_DIR}/remap_kokkos.cpp) if(Kokkos_ENABLE_CUDA) if(NOT (FFT STREQUAL "KISS")) From 4f2c6586e7f3a49827bed15cdc8d3699bf560021 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Wed, 12 Oct 2022 11:39:42 -0600 Subject: [PATCH 065/142] whitespace --- src/EXTRA-FIX/fix_ttm_grid.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/EXTRA-FIX/fix_ttm_grid.cpp b/src/EXTRA-FIX/fix_ttm_grid.cpp index 111590d4f5..456526b7d5 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.cpp +++ b/src/EXTRA-FIX/fix_ttm_grid.cpp @@ -405,7 +405,7 @@ void FixTTMGrid::reset_grid() // NOTE: need to set offsets int nxlo_out_prev,nylo_out_prev,nzlo_out_prev; - memory->destroy3d_offset(T_electron_previous, + memory->destroy3d_offset(T_electron_previous, nzlo_out_prev, nylo_out_prev, nxlo_out_prev); delete grid_previous; } From 8313a8aa49042ac4e6674c270af53a5dc85b14ca Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 12 Oct 2022 16:34:34 -0600 Subject: [PATCH 066/142] calling structure for Grid3d remap --- src/EXTRA-FIX/fix_ttm_grid.cpp | 11 ++--- src/EXTRA-FIX/fix_ttm_grid.h | 4 +- src/fix.h | 4 +- src/grid3d.cpp | 89 +++++++++++++++++++++------------- src/grid3d.h | 19 +++++++- 5 files changed, 81 insertions(+), 46 deletions(-) diff --git a/src/EXTRA-FIX/fix_ttm_grid.cpp b/src/EXTRA-FIX/fix_ttm_grid.cpp index 111590d4f5..0687b4ba61 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.cpp +++ b/src/EXTRA-FIX/fix_ttm_grid.cpp @@ -364,13 +364,10 @@ void FixTTMGrid::read_electron_temperatures(const std::string &filename) /* ---------------------------------------------------------------------- subset of grid assigned to each proc may have changed called by load balancer when proc subdomains are adjusted - not supported for now, b/c requires T_electron to persist, i.e. a remap() ------------------------------------------------------------------------- */ void FixTTMGrid::reset_grid() { - error->all(FLERR,"Fix ttm/grid does not support load balancing (yet)"); - // delete grid data which doesn't need to persist from previous to new decomp memory->destroy(grid_buf1); @@ -390,13 +387,13 @@ void FixTTMGrid::reset_grid() // perform remap from previous decomp to new decomp int nremap_buf1,nremap_buf2; - grid->remap_init(grid_previous,nremap_buf1,nremap_buf2); + grid->remap_setup(grid_previous,nremap_buf1,nremap_buf2); double *remap_buf1,*remap_buf2; memory->create(remap_buf1, nremap_buf1, "ttm/grid:remap_buf1"); memory->create(remap_buf2, nremap_buf2, "ttm/grid:remap_buf2"); - grid->remap_perform(Grid3d::FIX,this,grid_previous); + grid->remap(Grid3d::FIX,this,1,sizeof(double),remap_buf1,remap_buf2,MPI_DOUBLE); memory->destroy(remap_buf1); memory->destroy(remap_buf2); @@ -462,7 +459,7 @@ void FixTTMGrid::unpack_reverse_grid(int /*flag*/, void *vbuf, int nlist, int *l pack old grid values to buf to send to another proc ------------------------------------------------------------------------- */ -void FixTTMGrid::pack_remap_grid(int /*flag*/, void *vbuf, int nlist, int *list) +void FixTTMGrid::pack_remap_grid(void *vbuf, int nlist, int *list) { auto buf = (double *) vbuf; double *src = &T_electron_previous[nzlo_out][nylo_out][nxlo_out]; @@ -474,7 +471,7 @@ void FixTTMGrid::pack_remap_grid(int /*flag*/, void *vbuf, int nlist, int *list) unpack another proc's own values from buf and set own ghost values ------------------------------------------------------------------------- */ -void FixTTMGrid::unpack_remap_grid(int /*flag*/, void *vbuf, int nlist, int *list) +void FixTTMGrid::unpack_remap_grid(void *vbuf, int nlist, int *list) { auto buf = (double *) vbuf; double *dest = &T_electron[nzlo_out][nylo_out][nxlo_out]; diff --git a/src/EXTRA-FIX/fix_ttm_grid.h b/src/EXTRA-FIX/fix_ttm_grid.h index 7cbd585cc4..5486dbb39b 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.h +++ b/src/EXTRA-FIX/fix_ttm_grid.h @@ -41,8 +41,8 @@ class FixTTMGrid : public FixTTM { void unpack_forward_grid(int, void *, int, int *) override; void pack_reverse_grid(int, void *, int, int *) override; void unpack_reverse_grid(int, void *, int, int *) override; - void pack_remap_grid(int, void *, int, int *) override; - void unpack_remap_grid(int, void *, int, int *) override; + void pack_remap_grid(void *, int, int *) override; + void unpack_remap_grid(void *, int, int *) override; void pack_gather_grid(int, void *) override; void unpack_gather_grid(int, void *, void *, int, int, int, int, int, int) override; diff --git a/src/fix.h b/src/fix.h index a32ff45c3c..dc2d7f933f 100644 --- a/src/fix.h +++ b/src/fix.h @@ -217,8 +217,8 @@ class Fix : protected Pointers { virtual void unpack_forward_grid(int, void *, int, int *){}; virtual void pack_reverse_grid(int, void *, int, int *){}; virtual void unpack_reverse_grid(int, void *, int, int *){}; - virtual void pack_remap_grid(int, void *, int, int *){}; - virtual void unpack_remap_grid(int, void *, int, int *){}; + virtual void pack_remap_grid(void *, int, int *){}; + virtual void unpack_remap_grid(void *, int, int *){}; virtual void pack_gather_grid(int, void *){}; virtual void unpack_gather_grid(int, void *, void *, int, int, int, int, int, int){}; diff --git a/src/grid3d.cpp b/src/grid3d.cpp index bb7b86096b..a8dd6e30ba 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -1319,54 +1319,77 @@ reverse_comm_tiled(T *ptr, int nper, int nbyte, int which, } /* ---------------------------------------------------------------------- - remap from old grid decomposition to this grid decomposition + setup remap from old grid decomposition to this grid decomposition pack/unpack operations are performed by caller via callbacks ------------------------------------------------------------------------- */ -void Grid3d::remap_init(Grid3d *old, int &ngrid1_buf, int &ngrid_buf2) +void Grid3d::remap_setup(Grid3d *old, int &ngrid1_buf, int &ngrid2_buf) { + if (layout == REGULAR) remap_setup_regular(old,ngrid1_buf,ngrid2_buf); + else remap_setup_tiled(old,ngrid1_buf,ngrid2_buf); +} - // perform remap +void Grid3d::remap_setup_regular(Grid3d *old, int &ngrid1_buf, int &ngrid2_buf) +{ + ngrid1_buf = 0; + ngrid2_buf = 0; +} +void Grid3d::remap_setup_tiled(Grid3d *old, int &ngrid1_buf, int &ngrid2_buf) +{ + ngrid1_buf = 0; + ngrid2_buf = 0; +} - /* - // post all recvs into scratch space +/* ---------------------------------------------------------------------- + perform remap from old grid decomposition to this grid decomposition + pack/unpack operations are performed by caller via callbacks +------------------------------------------------------------------------- */ - for (irecv = 0; irecv < plan->nrecv; irecv++) - MPI_Irecv(&scratch[plan->recv_bufloc[irecv]],plan->recv_size[irecv], - MPI_FFT_SCALAR,plan->recv_proc[irecv],0, - plan->comm,&plan->request[irecv]); +void Grid3d::remap(int caller, void *ptr, int nper, int nbyte, + void *buf1, void *buf2, MPI_Datatype datatype) +{ + if (caller == FIX) remap_style((Fix *) ptr,nper,nbyte,buf1,buf2,datatype); +} - // send all messages to other procs +template < class T > +void Grid3d::remap_style(T *ptr, int nper, int nbyte, + void *buf1, void *vbuf2, MPI_Datatype datatype) +{ + int i,m,offset; - for (isend = 0; isend < plan->nsend; isend++) { - plan->pack(&in[plan->send_offset[isend]], - plan->sendbuf,&plan->packplan[isend]); - MPI_Send(plan->sendbuf,plan->send_size[isend],MPI_FFT_SCALAR, - plan->send_proc[isend],0,plan->comm); - } + auto buf2 = (char *) vbuf2; - // copy in -> scratch -> out for self data + // post all receives - if (plan->self) { - isend = plan->nsend; - irecv = plan->nrecv; - plan->pack(&in[plan->send_offset[isend]], - &scratch[plan->recv_bufloc[irecv]], - &plan->packplan[isend]); - plan->unpack(&scratch[plan->recv_bufloc[irecv]], - &out[plan->recv_offset[irecv]],&plan->unpackplan[irecv]); - } + for (m = 0; m < nrecv_remap; m++) { + offset = nper * recv_remap[m].offset * nbyte; + MPI_Irecv((void *) &buf2[offset],nper*recv_remap[m].nunpack,datatype, + recv_remap[m].proc,0,gridcomm,&requests_remap[m]); + } - // unpack all messages from scratch -> out + // perform all sends to other procs - for (i = 0; i < plan->nrecv; i++) { - MPI_Waitany(plan->nrecv,plan->request,&irecv,MPI_STATUS_IGNORE); - plan->unpack(&scratch[plan->recv_bufloc[irecv]], - &out[plan->recv_offset[irecv]],&plan->unpackplan[irecv]); - } + for (m = 0; m < nsend_remap; m++) { + ptr->pack_remap_grid(buf1,send_remap[m].npack,send_remap[m].packlist); + MPI_Send(buf1,nper*send_remap[m].npack,datatype,send_remap[m].proc,0,gridcomm); + } - */ + // perform remap to self if defined + + if (self_remap) { + ptr->pack_remap_grid(buf1,copy_remap.npack,copy_remap.packlist); + ptr->unpack_remap_grid(buf1,copy_remap.nunpack,copy_remap.unpacklist); + } + + // unpack all received data + + for (i = 0; i < nrecv_remap; i++) { + MPI_Waitany(nrecv_remap,requests_remap,&m,MPI_STATUS_IGNORE); + offset = nper * recv_remap[m].offset * nbyte; + ptr->unpack_remap_grid((void *) &buf2[offset], + recv_remap[m].nunpack,recv_remap[m].unpacklist); + } } /* ---------------------------------------------------------------------- diff --git a/src/grid3d.h b/src/grid3d.h index b40cd500bb..f484f2664d 100644 --- a/src/grid3d.h +++ b/src/grid3d.h @@ -37,8 +37,8 @@ class Grid3d : protected Pointers { int ghost_adjacent(); void forward_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); void reverse_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); - void remap_init(Grid3d *, int &, int &); - void remap_perform(int, void *, Grid3d *) {} + void remap_setup(Grid3d *, int &, int &); + void remap(int, void *, int, int, void *, void *, MPI_Datatype); void gather(int, void *, int, int, int, void *, MPI_Datatype); protected: @@ -180,6 +180,17 @@ class Grid3d : protected Pointers { Recv *recv; Copy *copy; + // ------------------------------------------- + // internal variables for REMAP operation + // ------------------------------------------- + + MPI_Request *requests_remap; // length of max messages this proc receives + + int nsend_remap, nrecv_remap, self_remap; + Send *send_remap; + Recv *recv_remap; + Copy copy_remap; + // ------------------------------------------- // internal methods // ------------------------------------------- @@ -199,6 +210,10 @@ class Grid3d : protected Pointers { template void reverse_comm_regular(T *, int, int, int, void *, void *, MPI_Datatype); template void reverse_comm_tiled(T *, int, int, int, void *, void *, MPI_Datatype); + void remap_setup_regular(Grid3d *, int &, int &); + void remap_setup_tiled(Grid3d *, int &, int &); + template void remap_style(T *, int, int, void *, void *, MPI_Datatype); + virtual void grow_swap(); void grow_overlap(); From 84282a3c75b4ec03c7a1ba8733363a94951a5953 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 12 Oct 2022 16:38:35 -0600 Subject: [PATCH 067/142] ditto for Grid2d --- src/grid2d.cpp | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++ src/grid2d.h | 17 ++++++++++++ 2 files changed, 91 insertions(+) diff --git a/src/grid2d.cpp b/src/grid2d.cpp index fe17e84137..deba57033c 100644 --- a/src/grid2d.cpp +++ b/src/grid2d.cpp @@ -1171,6 +1171,80 @@ reverse_comm_tiled(T *ptr, int nper, int nbyte, int which, } } +/* ---------------------------------------------------------------------- + setup remap from old grid decomposition to this grid decomposition + pack/unpack operations are performed by caller via callbacks +------------------------------------------------------------------------- */ + +void Grid2d::remap_setup(Grid2d *old, int &ngrid1_buf, int &ngrid2_buf) +{ + if (layout == REGULAR) remap_setup_regular(old,ngrid1_buf,ngrid2_buf); + else remap_setup_tiled(old,ngrid1_buf,ngrid2_buf); +} + +void Grid2d::remap_setup_regular(Grid2d *old, int &ngrid1_buf, int &ngrid2_buf) +{ + ngrid1_buf = 0; + ngrid2_buf = 0; +} + +void Grid2d::remap_setup_tiled(Grid2d *old, int &ngrid1_buf, int &ngrid2_buf) +{ + ngrid1_buf = 0; + ngrid2_buf = 0; +} + +/* ---------------------------------------------------------------------- + perform remap from old grid decomposition to this grid decomposition + pack/unpack operations are performed by caller via callbacks +------------------------------------------------------------------------- */ + +void Grid2d::remap(int caller, void *ptr, int nper, int nbyte, + void *buf1, void *buf2, MPI_Datatype datatype) +{ + if (caller == FIX) remap_style((Fix *) ptr,nper,nbyte,buf1,buf2,datatype); +} + +template < class T > +void Grid2d::remap_style(T *ptr, int nper, int nbyte, + void *buf1, void *vbuf2, MPI_Datatype datatype) +{ + int i,m,offset; + + auto buf2 = (char *) vbuf2; + + // post all receives + + for (m = 0; m < nrecv_remap; m++) { + offset = nper * recv_remap[m].offset * nbyte; + MPI_Irecv((void *) &buf2[offset],nper*recv_remap[m].nunpack,datatype, + recv_remap[m].proc,0,gridcomm,&requests_remap[m]); + } + + // perform all sends to other procs + + for (m = 0; m < nsend_remap; m++) { + ptr->pack_remap_grid(buf1,send_remap[m].npack,send_remap[m].packlist); + MPI_Send(buf1,nper*send_remap[m].npack,datatype,send_remap[m].proc,0,gridcomm); + } + + // perform remap to self if defined + + if (self_remap) { + ptr->pack_remap_grid(buf1,copy_remap.npack,copy_remap.packlist); + ptr->unpack_remap_grid(buf1,copy_remap.nunpack,copy_remap.unpacklist); + } + + // unpack all received data + + for (i = 0; i < nrecv_remap; i++) { + MPI_Waitany(nrecv_remap,requests_remap,&m,MPI_STATUS_IGNORE); + offset = nper * recv_remap[m].offset * nbyte; + ptr->unpack_remap_grid((void *) &buf2[offset], + recv_remap[m].nunpack,recv_remap[m].unpacklist); + } +} + /* ---------------------------------------------------------------------- gather global grid values to proc 0, one grid chunk at a time proc 0 pings each proc for its grid chunk diff --git a/src/grid2d.h b/src/grid2d.h index d850832847..8d1b21af6f 100644 --- a/src/grid2d.h +++ b/src/grid2d.h @@ -35,6 +35,8 @@ class Grid2d : protected Pointers { int ghost_adjacent(); void forward_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); void reverse_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); + void remap_setup(Grid2d *, int &, int &); + void remap(int, void *, int, int, void *, void *, MPI_Datatype); void gather(int, void *, int, int, int, void *, MPI_Datatype); protected: @@ -171,6 +173,17 @@ class Grid2d : protected Pointers { Send *send; Recv *recv; Copy *copy; + + // ------------------------------------------- + // internal variables for REMAP operation + // ------------------------------------------- + + MPI_Request *requests_remap; // length of max messages this proc receives + + int nsend_remap, nrecv_remap, self_remap; + Send *send_remap; + Recv *recv_remap; + Copy copy_remap; // ------------------------------------------- // internal methods @@ -191,6 +204,10 @@ class Grid2d : protected Pointers { template void reverse_comm_regular(T *, int, int, int, void *, void *, MPI_Datatype); template void reverse_comm_tiled(T *, int, int, int, void *, void *, MPI_Datatype); + void remap_setup_regular(Grid2d *, int &, int &); + void remap_setup_tiled(Grid2d *, int &, int &); + template void remap_style(T *, int, int, void *, void *, MPI_Datatype); + virtual void grow_swap(); void grow_overlap(); From 6658b95daccd7fad3cd57f3b7e46604198c9e8b0 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 12 Oct 2022 16:40:12 -0600 Subject: [PATCH 068/142] add cleanup note --- src/grid3d.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/grid3d.cpp b/src/grid3d.cpp index a8dd6e30ba..5433aaef09 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -1331,6 +1331,8 @@ void Grid3d::remap_setup(Grid3d *old, int &ngrid1_buf, int &ngrid2_buf) void Grid3d::remap_setup_regular(Grid3d *old, int &ngrid1_buf, int &ngrid2_buf) { + // NOTE: when to clean up data structs when multiple remaps occur + ngrid1_buf = 0; ngrid2_buf = 0; } From ab51c53dfd0a83d9ca9fdc770a0c3fa01f40e28c Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 12 Oct 2022 17:34:42 -0600 Subject: [PATCH 069/142] add identical check between 2 grids --- src/EXTRA-FIX/fix_ttm_grid.cpp | 14 ++++++++++++ src/grid2d.cpp | 33 ++++++++++++++++++++++++++++ src/grid2d.h | 2 ++ src/grid3d.cpp | 39 ++++++++++++++++++++++++++++++++++ src/grid3d.h | 2 ++ 5 files changed, 90 insertions(+) diff --git a/src/EXTRA-FIX/fix_ttm_grid.cpp b/src/EXTRA-FIX/fix_ttm_grid.cpp index f513647226..54cb0f550d 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.cpp +++ b/src/EXTRA-FIX/fix_ttm_grid.cpp @@ -368,6 +368,20 @@ void FixTTMGrid::read_electron_temperatures(const std::string &filename) void FixTTMGrid::reset_grid() { + // check if new grid partitioning is different on any proc + // if not, just return + + int tmp[12]; + double maxdist = 0.5 * neighbor->skin; + Grid3d *gridnew = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid, maxdist, 1, SHIFT, + tmp[0],tmp[1],tmp[2],tmp[3],tmp[4],tmp[5], + tmp[6],tmp[7],tmp[8],tmp[9],tmp[10],tmp[11]); + + if (grid->identical(gridnew)) { + delete gridnew; + return; + } else delete gridnew; + // delete grid data which doesn't need to persist from previous to new decomp memory->destroy(grid_buf1); diff --git a/src/grid2d.cpp b/src/grid2d.cpp index deba57033c..51afc3bf89 100644 --- a/src/grid2d.cpp +++ b/src/grid2d.cpp @@ -352,6 +352,29 @@ void Grid2d::store(int ixlo, int ixhi, int iylo, int iyhi, /* ---------------------------------------------------------------------- */ +int Grid2d::identical(Grid2d *grid2) +{ + int inxlo2,inxhi2,inylo2,inyhi2; + int outxlo2,outxhi2,outylo2,outyhi2; + + grid2->get_bounds(inxlo2,inxhi2,inylo2,inyhi2); + grid2->get_bounds_ghost(outxlo2,outxhi2,outylo2,outyhi2); + + int flag = 0; + if (inxlo != inxlo2 || inxhi != inxhi2 || + inylo != inylo2 || inyhi != inyhi2) flag = 1; + if (outxlo != outxlo2 || outxhi != outxhi2 || + outylo != outylo2 || outyhi != outyhi2) flag = 1; + + int flagall; + MPI_Allreduce(&flag,&flagall,1,MPI_INT,MPI_SUM,gridcomm); + + if (flagall) return 0; + return 1; +} + +/* ---------------------------------------------------------------------- */ + void Grid2d::get_size(int &nxgrid, int &nygrid) { nxgrid = nx; @@ -368,6 +391,16 @@ void Grid2d::get_bounds(int &xlo, int &xhi, int &ylo, int &yhi) yhi = inyhi; } +/* ---------------------------------------------------------------------- */ + +void Grid2d::get_bounds_ghost(int &xlo, int &xhi, int &ylo, int &yhi) +{ + xlo = outxlo; + xhi = outxhi; + ylo = outylo; + yhi = outyhi; +} + /* ---------------------------------------------------------------------- return sizes of two buffers needed for communication either on regular grid or procs or irregular tiling diff --git a/src/grid2d.h b/src/grid2d.h index 8d1b21af6f..86bde517f6 100644 --- a/src/grid2d.h +++ b/src/grid2d.h @@ -29,8 +29,10 @@ class Grid2d : protected Pointers { Grid2d(class LAMMPS *, MPI_Comm, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int); ~Grid2d() override; + int identical(Grid2d *); void get_size(int &, int &); void get_bounds(int &, int &, int &, int &); + void get_bounds_ghost(int &, int &, int &, int &); void setup(int &, int &); int ghost_adjacent(); void forward_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); diff --git a/src/grid3d.cpp b/src/grid3d.cpp index 5433aaef09..2701b81c6f 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -381,6 +381,31 @@ void Grid3d::store(int ixlo, int ixhi, int iylo, int iyhi, /* ---------------------------------------------------------------------- */ +int Grid3d::identical(Grid3d *grid2) +{ + int inxlo2,inxhi2,inylo2,inyhi2,inzlo2,inzhi2; + int outxlo2,outxhi2,outylo2,outyhi2,outzlo2,outzhi2; + + grid2->get_bounds(inxlo2,inxhi2,inylo2,inyhi2,inzlo2,inzhi2); + grid2->get_bounds_ghost(outxlo2,outxhi2,outylo2,outyhi2,outzlo2,outzhi2); + + int flag = 0; + if (inxlo != inxlo2 || inxhi != inxhi2 || + inylo != inylo2 || inyhi != inyhi2 || + inzlo != inzlo2 || inzhi != inzhi2) flag = 1; + if (outxlo != outxlo2 || outxhi != outxhi2 || + outylo != outylo2 || outyhi != outyhi2 || + outzlo != outzlo2 || outzhi != outzhi2) flag = 1; + + int flagall; + MPI_Allreduce(&flag,&flagall,1,MPI_INT,MPI_SUM,gridcomm); + + if (flagall) return 0; + return 1; +} + +/* ---------------------------------------------------------------------- */ + void Grid3d::get_size(int &nxgrid, int &nygrid, int &nzgrid) { nxgrid = nx; @@ -401,6 +426,19 @@ void Grid3d::get_bounds(int &xlo, int &xhi, int &ylo, int &yhi, zhi = inzhi; } +/* ---------------------------------------------------------------------- */ + +void Grid3d::get_bounds_ghost(int &xlo, int &xhi, int &ylo, int &yhi, + int &zlo, int &zhi) +{ + xlo = outxlo; + xhi = outxhi; + ylo = outylo; + yhi = outyhi; + zlo = outzlo; + zhi = outzhi; +} + /* ---------------------------------------------------------------------- return sizes of two buffers needed for communication either on regular grid or procs or irregular tiling @@ -1332,6 +1370,7 @@ void Grid3d::remap_setup(Grid3d *old, int &ngrid1_buf, int &ngrid2_buf) void Grid3d::remap_setup_regular(Grid3d *old, int &ngrid1_buf, int &ngrid2_buf) { // NOTE: when to clean up data structs when multiple remaps occur + // NOTE: does a remap also require ghost comm in fix ttm/grid ? ngrid1_buf = 0; ngrid2_buf = 0; diff --git a/src/grid3d.h b/src/grid3d.h index f484f2664d..5e4cee30ed 100644 --- a/src/grid3d.h +++ b/src/grid3d.h @@ -31,8 +31,10 @@ class Grid3d : protected Pointers { int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int); ~Grid3d() override; + int identical(Grid3d *); void get_size(int &, int &, int &); void get_bounds(int &, int &, int &, int &, int &, int &); + void get_bounds_ghost(int &, int &, int &, int &, int &, int &); void setup(int &, int &); int ghost_adjacent(); void forward_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); From 0383de2bebb93c659c36a927fdaf59beec9a0786 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 14 Oct 2022 16:39:38 -0600 Subject: [PATCH 070/142] more work on remap --- src/EXTRA-FIX/fix_ttm_grid.cpp | 2 +- src/grid2d.cpp | 91 ++++++++++----------- src/grid2d.h | 14 ++-- src/grid3d.cpp | 144 ++++++++++++++++++++++----------- src/grid3d.h | 16 ++-- 5 files changed, 160 insertions(+), 107 deletions(-) diff --git a/src/EXTRA-FIX/fix_ttm_grid.cpp b/src/EXTRA-FIX/fix_ttm_grid.cpp index 54cb0f550d..862e487d1b 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.cpp +++ b/src/EXTRA-FIX/fix_ttm_grid.cpp @@ -401,7 +401,7 @@ void FixTTMGrid::reset_grid() // perform remap from previous decomp to new decomp int nremap_buf1,nremap_buf2; - grid->remap_setup(grid_previous,nremap_buf1,nremap_buf2); + grid->setup_remap(grid_previous,nremap_buf1,nremap_buf2); double *remap_buf1,*remap_buf2; memory->create(remap_buf1, nremap_buf1, "ttm/grid:remap_buf1"); diff --git a/src/grid2d.cpp b/src/grid2d.cpp index 51afc3bf89..476310d727 100644 --- a/src/grid2d.cpp +++ b/src/grid2d.cpp @@ -33,12 +33,12 @@ enum{REGULAR,TILED}; static constexpr int OFFSET = 16384; /* ---------------------------------------------------------------------- - NOTES - tiled implementation only currently works for RCB, not general tiled - b/c RCB tree is used to find neighboring tiles + NOTES: + tiled implementations only currently work for RCB, not general tilings + b/c RCB tree is used to find neighboring tiles if o indices for ghosts are < 0 or hi indices are >= N, then grid is treated as periodic in that dimension, - communication is done across the periodic boundaries + comm is done across the periodic boundaries ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- @@ -52,7 +52,7 @@ static constexpr int OFFSET = 16384; i xy lohi = portion of global grid this proc owns, 0 <= index < N o xy lohi = owned + ghost grid cells needed in all directions for non-periodic dims, o indices will not be < 0 or >= N, - since no grid communication is done across non-periodic boundaries + since no grid comm is done across non-periodic boundaries ------------------------------------------------------------------------- */ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, @@ -278,7 +278,7 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, int flag, Grid2d::~Grid2d() { - // regular comm data struct + // brick comm data structs for (int i = 0; i < nswap; i++) { memory->destroy(swap[i].packlist); @@ -402,38 +402,39 @@ void Grid2d::get_bounds_ghost(int &xlo, int &xhi, int &ylo, int &yhi) } /* ---------------------------------------------------------------------- + setup owned/ghost commmunication return sizes of two buffers needed for communication - either on regular grid or procs or irregular tiling + either for regular brick comm or irregular tiling comm nbuf1 = largest pack or unpack in any Send or Recv or Copy nbuf2 = larget of sum of all packs or unpacks in Send or Recv - for regular comm, nbuf1 = nbuf2 - for irregular comm, nbuf2 >= nbuf2 - nbuf1,nbuf2 are just count of grid points - caller converts them to message size for grid data it stores + for regular brick comm, nbuf1 = nbuf2 + for irregular tiling comm, nbuf2 >= nbuf2 + nbuf1,nbuf2 are counts of grid points + caller converts them to message sizes for grid data it stores ------------------------------------------------------------------------- */ void Grid2d::setup(int &nbuf1, int &nbuf2) { - if (layout == REGULAR) setup_regular(nbuf1,nbuf2); + if (layout == REGULAR) setup_brick(nbuf1,nbuf2); else setup_tiled(nbuf1,nbuf2); } /* ---------------------------------------------------------------------- - setup comm for a regular grid of procs - each proc has 6 neighbors - comm pattern = series of swaps with one of those 6 procs + setup owned/ghost comm for regular brick comm + each proc has 4 neighbors + comm pattern = series of swaps with one of those 4 procs can be multiple swaps with same proc if ghost extent is large swap may not be symmetric if both procs do not need same layers of ghosts all procs perform same # of swaps in a direction, even if some don't need it ------------------------------------------------------------------------- */ -void Grid2d::setup_regular(int &nbuf1, int &nbuf2) +void Grid2d::setup_brick(int &nbuf1, int &nbuf2) { int nsent,sendfirst,sendlast,recvfirst,recvlast; int sendplanes,recvplanes; int notdoneme,notdone; - // notify 6 neighbor procs how many ghost grid planes I need from them + // notify 4 neighbor procs how many ghost grid planes I need from them // ghost xy lo = # of my lower grid planes that proc xy lo needs as its ghosts // ghost xy hi = # of my upper grid planes that proc xy hi needs as its ghosts // if this proc is its own neighbor across periodic bounary, value is from self @@ -632,7 +633,7 @@ void Grid2d::setup_regular(int &nbuf1, int &nbuf2) } /* ---------------------------------------------------------------------- - setup comm for RCB tiled proc domains + setup owned/ghost comm for irregular tiled comm each proc has arbitrary # of neighbors that overlap its ghost extent identify which procs will send me ghost cells, and vice versa may not be symmetric if both procs do not need same layers of ghosts @@ -959,7 +960,7 @@ void Grid2d::box_drop_grid(int *box, int proclower, int procupper, int Grid2d::ghost_adjacent() { - if (layout == REGULAR) return ghost_adjacent_regular(); + if (layout == REGULAR) return ghost_adjacent_brick(); return ghost_adjacent_tiled(); } @@ -968,7 +969,7 @@ int Grid2d::ghost_adjacent() return 0 if adjacent=0 for any proc, else 1 ------------------------------------------------------------------------- */ -int Grid2d::ghost_adjacent_regular() +int Grid2d::ghost_adjacent_brick() { adjacent = 1; if (ghostxlo > inxhi-inxlo+1) adjacent = 0; @@ -1003,14 +1004,14 @@ void Grid2d::forward_comm(int caller, void *ptr, int nper, int nbyte, int which, { if (layout == REGULAR) { if (caller == KSPACE) - forward_comm_regular((KSpace *) ptr,nper,nbyte,which, - buf1,buf2,datatype); + forward_comm_brick((KSpace *) ptr,nper,nbyte,which, + buf1,buf2,datatype); else if (caller == PAIR) - forward_comm_regular((Pair *) ptr,nper,nbyte,which, - buf1,buf2,datatype); + forward_comm_brick((Pair *) ptr,nper,nbyte,which, + buf1,buf2,datatype); else if (caller == FIX) - forward_comm_regular((Fix *) ptr,nper,nbyte,which, - buf1,buf2,datatype); + forward_comm_brick((Fix *) ptr,nper,nbyte,which, + buf1,buf2,datatype); } else { if (caller == KSPACE) forward_comm_tiled((KSpace *) ptr,nper,nbyte,which, @@ -1030,8 +1031,8 @@ void Grid2d::forward_comm(int caller, void *ptr, int nper, int nbyte, int which, template < class T > void Grid2d:: -forward_comm_regular(T *ptr, int nper, int /*nbyte*/, int which, - void *buf1, void *buf2, MPI_Datatype datatype) +forward_comm_brick(T *ptr, int nper, int /*nbyte*/, int which, + void *buf1, void *buf2, MPI_Datatype datatype) { int m; MPI_Request request; @@ -1108,14 +1109,14 @@ void Grid2d::reverse_comm(int caller, void *ptr, int nper, int nbyte, int which, { if (layout == REGULAR) { if (caller == KSPACE) - reverse_comm_regular((KSpace *) ptr,nper,nbyte,which, - buf1,buf2,datatype); + reverse_comm_brick((KSpace *) ptr,nper,nbyte,which, + buf1,buf2,datatype); else if (caller == PAIR) - reverse_comm_regular((Pair *) ptr,nper,nbyte,which, - buf1,buf2,datatype); + reverse_comm_brick((Pair *) ptr,nper,nbyte,which, + buf1,buf2,datatype); else if (caller == FIX) - reverse_comm_regular((Fix *) ptr,nper,nbyte,which, - buf1,buf2,datatype); + reverse_comm_brick((Fix *) ptr,nper,nbyte,which, + buf1,buf2,datatype); } else { if (caller == KSPACE) reverse_comm_tiled((KSpace *) ptr,nper,nbyte,which, @@ -1135,8 +1136,8 @@ void Grid2d::reverse_comm(int caller, void *ptr, int nper, int nbyte, int which, template < class T > void Grid2d:: -reverse_comm_regular(T *ptr, int nper, int /*nbyte*/, int which, - void *buf1, void *buf2, MPI_Datatype datatype) +reverse_comm_brick(T *ptr, int nper, int /*nbyte*/, int which, + void *buf1, void *buf2, MPI_Datatype datatype) { int m; MPI_Request request; @@ -1209,22 +1210,22 @@ reverse_comm_tiled(T *ptr, int nper, int nbyte, int which, pack/unpack operations are performed by caller via callbacks ------------------------------------------------------------------------- */ -void Grid2d::remap_setup(Grid2d *old, int &ngrid1_buf, int &ngrid2_buf) +void Grid2d::setup_remap(Grid2d *old, int &nremap_buf1, int &nremap_buf2) { - if (layout == REGULAR) remap_setup_regular(old,ngrid1_buf,ngrid2_buf); - else remap_setup_tiled(old,ngrid1_buf,ngrid2_buf); + if (layout == REGULAR) setup_remap_brick(old,nremap_buf1,nremap_buf2); + else setup_remap_tiled(old,nremap_buf1,nremap_buf2); } -void Grid2d::remap_setup_regular(Grid2d *old, int &ngrid1_buf, int &ngrid2_buf) +void Grid2d::setup_remap_brick(Grid2d *old, int &nremap_buf1, int &nremap_buf2) { - ngrid1_buf = 0; - ngrid2_buf = 0; + nremap_buf1 = 0; + nremap_buf2 = 0; } -void Grid2d::remap_setup_tiled(Grid2d *old, int &ngrid1_buf, int &ngrid2_buf) +void Grid2d::setup_remap_tiled(Grid2d *old, int &nremap_buf1, int &nremap_buf2) { - ngrid1_buf = 0; - ngrid2_buf = 0; + nremap_buf1 = 0; + nremap_buf2 = 0; } /* ---------------------------------------------------------------------- diff --git a/src/grid2d.h b/src/grid2d.h index 86bde517f6..df5faff32b 100644 --- a/src/grid2d.h +++ b/src/grid2d.h @@ -37,7 +37,7 @@ class Grid2d : protected Pointers { int ghost_adjacent(); void forward_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); void reverse_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); - void remap_setup(Grid2d *, int &, int &); + void setup_remap(Grid2d *, int &, int &); void remap(int, void *, int, int, void *, void *, MPI_Datatype); void gather(int, void *, int, int, int, void *, MPI_Datatype); @@ -193,21 +193,21 @@ class Grid2d : protected Pointers { void store(int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int); - virtual void setup_regular(int &, int &); + virtual void setup_brick(int &, int &); virtual void setup_tiled(int &, int &); void ghost_box_drop(int *, int *); void box_drop_grid(int *, int, int, int &, int *); - int ghost_adjacent_regular(); + int ghost_adjacent_brick(); int ghost_adjacent_tiled(); - template void forward_comm_regular(T *, int, int, int, void *, void *, MPI_Datatype); + template void forward_comm_brick(T *, int, int, int, void *, void *, MPI_Datatype); template void forward_comm_tiled(T *, int, int, int, void *, void *, MPI_Datatype); - template void reverse_comm_regular(T *, int, int, int, void *, void *, MPI_Datatype); + template void reverse_comm_brick(T *, int, int, int, void *, void *, MPI_Datatype); template void reverse_comm_tiled(T *, int, int, int, void *, void *, MPI_Datatype); - void remap_setup_regular(Grid2d *, int &, int &); - void remap_setup_tiled(Grid2d *, int &, int &); + void setup_remap_brick(Grid2d *, int &, int &); + void setup_remap_tiled(Grid2d *, int &, int &); template void remap_style(T *, int, int, void *, void *, MPI_Datatype); virtual void grow_swap(); diff --git a/src/grid3d.cpp b/src/grid3d.cpp index 2701b81c6f..a503ad90da 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -33,12 +33,12 @@ enum{REGULAR,TILED}; static constexpr int OFFSET = 16384; /* ---------------------------------------------------------------------- - NOTES - tiled implementation only currently works for RCB, not general tiled - b/c RCB tree is used to find neighboring tiles + NOTES: + tiled implementations only currently work for RCB, not general tilings + b/c RCB tree is used to find neighboring tiles if o indices for ghosts are < 0 or hi indices are >= N, then grid is treated as periodic in that dimension, - communication is done across the periodic boundaries + comm is done across the periodic boundaries ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- @@ -52,7 +52,7 @@ static constexpr int OFFSET = 16384; i xyz lohi = portion of global grid this proc owns, 0 <= index < N o xyz lohi = owned + ghost grid cells needed in all directions for non-periodic dims, o indices will not be < 0 or >= N, - since no grid communication is done across non-periodic boundaries + since no grid comm is done across non-periodic boundaries ------------------------------------------------------------------------- */ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, @@ -295,7 +295,7 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, int flag, Grid3d::~Grid3d() { - // regular comm data struct + // brick comm data structs for (int i = 0; i < nswap; i++) { memory->destroy(swap[i].packlist); @@ -440,24 +440,25 @@ void Grid3d::get_bounds_ghost(int &xlo, int &xhi, int &ylo, int &yhi, } /* ---------------------------------------------------------------------- + setup owned/ghost commmunication return sizes of two buffers needed for communication - either on regular grid or procs or irregular tiling + either for regular brick comm or irregular tiling comm nbuf1 = largest pack or unpack in any Send or Recv or Copy nbuf2 = larget of sum of all packs or unpacks in Send or Recv - for regular comm, nbuf1 = nbuf2 - for irregular comm, nbuf2 >= nbuf2 - nbuf1,nbuf2 are just count of grid points - caller converts them to message size for grid data it stores + for regular brick comm, nbuf1 = nbuf2 + for irregular tiling comm, nbuf2 >= nbuf2 + nbuf1,nbuf2 are counts of grid points + caller converts them to message sizes for grid data it stores ------------------------------------------------------------------------- */ void Grid3d::setup(int &nbuf1, int &nbuf2) { - if (layout == REGULAR) setup_regular(nbuf1,nbuf2); + if (layout == REGULAR) setup_brick(nbuf1,nbuf2); else setup_tiled(nbuf1,nbuf2); } /* ---------------------------------------------------------------------- - setup comm for a regular grid of procs + setup owned/ghost comm for regular brick comm each proc has 6 neighbors comm pattern = series of swaps with one of those 6 procs can be multiple swaps with same proc if ghost extent is large @@ -465,7 +466,7 @@ void Grid3d::setup(int &nbuf1, int &nbuf2) all procs perform same # of swaps in a direction, even if some don't need it ------------------------------------------------------------------------- */ -void Grid3d::setup_regular(int &nbuf1, int &nbuf2) +void Grid3d::setup_brick(int &nbuf1, int &nbuf2) { int nsent,sendfirst,sendlast,recvfirst,recvlast; int sendplanes,recvplanes; @@ -758,7 +759,7 @@ void Grid3d::setup_regular(int &nbuf1, int &nbuf2) } /* ---------------------------------------------------------------------- - setup comm for RCB tiled proc domains + setup owned/ghost comm for irregular tiled comm each proc has arbitrary # of neighbors that overlap its ghost extent identify which procs will send me ghost cells, and vice versa may not be symmetric if both procs do not need same layers of ghosts @@ -805,7 +806,7 @@ void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) noverlap = maxoverlap = 0; overlap = nullptr; - ghost_box_drop(ghostbox,pbc); + box_drop(ghostbox,pbc); // send each proc an overlap message // content: me, index of my overlap, box that overlaps with its owned cells @@ -991,7 +992,7 @@ void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) add all the procs it overlaps with to Overlap list ------------------------------------------------------------------------- */ -void Grid3d::ghost_box_drop(int *box, int *pbc) +void Grid3d::box_drop(int *box, int *pbc) { int i,m; @@ -1063,8 +1064,8 @@ void Grid3d::ghost_box_drop(int *box, int *pbc) // recurse with 2 split boxes if (splitflag) { - ghost_box_drop(newbox1,pbc); - ghost_box_drop(newbox2,newpbc); + box_drop(newbox1,pbc); + box_drop(newbox2,newpbc); } } @@ -1109,7 +1110,7 @@ void Grid3d::box_drop_grid(int *box, int proclower, int procupper, int Grid3d::ghost_adjacent() { - if (layout == REGULAR) return ghost_adjacent_regular(); + if (layout == REGULAR) return ghost_adjacent_brick(); return ghost_adjacent_tiled(); } @@ -1118,7 +1119,7 @@ int Grid3d::ghost_adjacent() return 0 if adjacent=0 for any proc, else 1 ------------------------------------------------------------------------- */ -int Grid3d::ghost_adjacent_regular() +int Grid3d::ghost_adjacent_brick() { adjacent = 1; if (ghostxlo > inxhi-inxlo+1) adjacent = 0; @@ -1155,14 +1156,14 @@ void Grid3d::forward_comm(int caller, void *ptr, int nper, int nbyte, int which, { if (layout == REGULAR) { if (caller == KSPACE) - forward_comm_regular((KSpace *) ptr,nper,nbyte,which, - buf1,buf2,datatype); + forward_comm_brick((KSpace *) ptr,nper,nbyte,which, + buf1,buf2,datatype); else if (caller == PAIR) - forward_comm_regular((Pair *) ptr,nper,nbyte,which, - buf1,buf2,datatype); + forward_comm_brick((Pair *) ptr,nper,nbyte,which, + buf1,buf2,datatype); else if (caller == FIX) - forward_comm_regular((Fix *) ptr,nper,nbyte,which, - buf1,buf2,datatype); + forward_comm_brick((Fix *) ptr,nper,nbyte,which, + buf1,buf2,datatype); } else { if (caller == KSPACE) forward_comm_tiled((KSpace *) ptr,nper,nbyte,which, @@ -1182,8 +1183,8 @@ void Grid3d::forward_comm(int caller, void *ptr, int nper, int nbyte, int which, template < class T > void Grid3d:: -forward_comm_regular(T *ptr, int nper, int /*nbyte*/, int which, - void *buf1, void *buf2, MPI_Datatype datatype) +forward_comm_brick(T *ptr, int nper, int /*nbyte*/, int which, + void *buf1, void *buf2, MPI_Datatype datatype) { int m; MPI_Request request; @@ -1260,14 +1261,14 @@ void Grid3d::reverse_comm(int caller, void *ptr, int nper, int nbyte, int which, { if (layout == REGULAR) { if (caller == KSPACE) - reverse_comm_regular((KSpace *) ptr,nper,nbyte,which, - buf1,buf2,datatype); + reverse_comm_brick((KSpace *) ptr,nper,nbyte,which, + buf1,buf2,datatype); else if (caller == PAIR) - reverse_comm_regular((Pair *) ptr,nper,nbyte,which, - buf1,buf2,datatype); + reverse_comm_brick((Pair *) ptr,nper,nbyte,which, + buf1,buf2,datatype); else if (caller == FIX) - reverse_comm_regular((Fix *) ptr,nper,nbyte,which, - buf1,buf2,datatype); + reverse_comm_brick((Fix *) ptr,nper,nbyte,which, + buf1,buf2,datatype); } else { if (caller == KSPACE) reverse_comm_tiled((KSpace *) ptr,nper,nbyte,which, @@ -1287,8 +1288,8 @@ void Grid3d::reverse_comm(int caller, void *ptr, int nper, int nbyte, int which, template < class T > void Grid3d:: -reverse_comm_regular(T *ptr, int nper, int /*nbyte*/, int which, - void *buf1, void *buf2, MPI_Datatype datatype) +reverse_comm_brick(T *ptr, int nper, int /*nbyte*/, int which, + void *buf1, void *buf2, MPI_Datatype datatype) { int m; MPI_Request request; @@ -1356,30 +1357,81 @@ reverse_comm_tiled(T *ptr, int nper, int nbyte, int which, } } +/* ---------------------------------------------------------------------- + return sizes of two buffers needed for communication + either on regular grid or procs or irregular tiling + nbuf1 = largest pack or unpack in any Send or Recv or Copy + nbuf2 = larget of sum of all packs or unpacks in Send or Recv + for regular comm, nbuf1 = nbuf2 + for irregular comm, nbuf2 >= nbuf2 + nbuf1,nbuf2 are just count of grid points + caller converts them to message size for grid data it stores +------------------------------------------------------------------------- */ + /* ---------------------------------------------------------------------- setup remap from old grid decomposition to this grid decomposition pack/unpack operations are performed by caller via callbacks ------------------------------------------------------------------------- */ -void Grid3d::remap_setup(Grid3d *old, int &ngrid1_buf, int &ngrid2_buf) +void Grid3d::setup_remap(Grid3d *old, int &nremap_buf1, int &nremap_buf2) { - if (layout == REGULAR) remap_setup_regular(old,ngrid1_buf,ngrid2_buf); - else remap_setup_tiled(old,ngrid1_buf,ngrid2_buf); + if (layout == REGULAR) setup_remap_brick(old,nremap_buf1,nremap_buf2); + else setup_remap_tiled(old,nremap_buf2,nremap_buf2); } -void Grid3d::remap_setup_regular(Grid3d *old, int &ngrid1_buf, int &ngrid2_buf) +void Grid3d::setup_remap_brick(Grid3d *old, int &nremap_buf1, int &nremap_buf2) { // NOTE: when to clean up data structs when multiple remaps occur // NOTE: does a remap also require ghost comm in fix ttm/grid ? - ngrid1_buf = 0; - ngrid2_buf = 0; + nremap_buf1 = 0; + nremap_buf2 = 0; } -void Grid3d::remap_setup_tiled(Grid3d *old, int &ngrid1_buf, int &ngrid2_buf) +void Grid3d::setup_remap_tiled(Grid3d *old, int &nremap_buf1, int &nremap_buf2) { - ngrid1_buf = 0; - ngrid2_buf = 0; + // find overlaps of my owned box in old decomp with all procs in new decomp + // noverlap = # of overlaps, including self + // overlap = vector of overlap info using Overlap data struct + + int ownedbox[6],pbc[3]; + + old->get_bounds(ownedbox[0],ownedbox[1],ownedbox[2],ownedbox[3], + ownedbox[4],ownedbox[5]); + pbc[0] = pbc[1] = pbc[2] = 0; + + memory->create(overlap_procs,nprocs,"grid3d:overlap_procs"); + noverlap = maxoverlap = 0; + overlap = nullptr; + + box_drop(ownedbox,pbc); + + // use overlaps to construct send and copy lists + + self_remap = 0; + nsend_request = 0; + + for (int m = 0; m < noverlap; m++) { + if (overlap[m].proc == me) self_remap = 1; + else { + proclist[nsend_request] = overlap[m].proc; + srequest[nsend_request].sender = me; + srequest[nsend_request].index = m; + for (i = 0; i < 6; i++) + srequest[nsend_request].box[i] = overlap[m].box[i]; + nsend_request++; + } + } + + + // send each proc an overlap message + + + // use received overlaps to construct recv and copy lists + + + nremap_buf1 = 0; + nremap_buf2 = 0; } /* ---------------------------------------------------------------------- diff --git a/src/grid3d.h b/src/grid3d.h index 5e4cee30ed..f4a8f0321e 100644 --- a/src/grid3d.h +++ b/src/grid3d.h @@ -39,7 +39,7 @@ class Grid3d : protected Pointers { int ghost_adjacent(); void forward_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); void reverse_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); - void remap_setup(Grid3d *, int &, int &); + void setup_remap(Grid3d *, int &, int &); void remap(int, void *, int, int, void *, void *, MPI_Datatype); void gather(int, void *, int, int, int, void *, MPI_Datatype); @@ -199,21 +199,21 @@ class Grid3d : protected Pointers { void store(int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int); - virtual void setup_regular(int &, int &); + virtual void setup_brick(int &, int &); virtual void setup_tiled(int &, int &); - void ghost_box_drop(int *, int *); + void box_drop(int *, int *); void box_drop_grid(int *, int, int, int &, int *); - int ghost_adjacent_regular(); + int ghost_adjacent_brick(); int ghost_adjacent_tiled(); - template void forward_comm_regular(T *, int, int, int, void *, void *, MPI_Datatype); + template void forward_comm_brick(T *, int, int, int, void *, void *, MPI_Datatype); template void forward_comm_tiled(T *, int, int, int, void *, void *, MPI_Datatype); - template void reverse_comm_regular(T *, int, int, int, void *, void *, MPI_Datatype); + template void reverse_comm_brick(T *, int, int, int, void *, void *, MPI_Datatype); template void reverse_comm_tiled(T *, int, int, int, void *, void *, MPI_Datatype); - void remap_setup_regular(Grid3d *, int &, int &); - void remap_setup_tiled(Grid3d *, int &, int &); + void setup_remap_brick(Grid3d *, int &, int &); + void setup_remap_tiled(Grid3d *, int &, int &); template void remap_style(T *, int, int, void *, void *, MPI_Datatype); virtual void grow_swap(); From ed838f1a48bd3c3cef160b7378120379d23eba77 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 17 Oct 2022 15:24:44 -0600 Subject: [PATCH 071/142] flesh out remap operation --- src/grid2d.cpp | 450 +++++++++++++++++++++++++++++----------------- src/grid2d.h | 72 ++++---- src/grid3d.cpp | 476 ++++++++++++++++++++++++++++--------------------- src/grid3d.h | 72 ++++---- 4 files changed, 644 insertions(+), 426 deletions(-) diff --git a/src/grid2d.cpp b/src/grid2d.cpp index 476310d727..62876ce647 100644 --- a/src/grid2d.cpp +++ b/src/grid2d.cpp @@ -26,7 +26,7 @@ using namespace LAMMPS_NS; -enum{REGULAR,TILED}; +enum{BRICK,TILED}; #define DELTA 16 @@ -75,7 +75,7 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, ngrid[0] = nx; ngrid[1] = ny; if (comm->layout == Comm::LAYOUT_TILED) layout = TILED; - else layout = REGULAR; + else layout = BRICK; // partition global grid across procs // i xyz lo/hi = lower/upper bounds of global grid this proc owns @@ -146,7 +146,7 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, // store grid bounds and proc neighs - if (layout == REGULAR) { + if (layout == BRICK) { int (*procneigh)[2] = comm->procneigh; store(ixlo,ixhi,iylo,iyhi, oxlo,oxhi,oylo,oyhi, @@ -191,11 +191,11 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, ngrid[0] = nx; ngrid[1] = ny; if (comm->layout == Comm::LAYOUT_TILED) layout = TILED; - else layout = REGULAR; + else layout = BRICK; // store grid bounds and proc neighs - if (layout == REGULAR) { + if (layout == BRICK) { int (*procneigh)[2] = comm->procneigh; store(ixlo,ixhi,iylo,iyhi, oxlo,oxhi,oylo,oyhi, @@ -242,12 +242,12 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, int flag, ngrid[0] = nx; ngrid[1] = ny; if (comm->layout == Comm::LAYOUT_TILED) layout = TILED; - else layout = REGULAR; + else layout = BRICK; // store grid bounds and proc neighs if (flag == 1) { - if (layout == REGULAR) { + if (layout == BRICK) { // this assumes gcomm = world int (*procneigh)[2] = comm->procneigh; store(ixlo,ixhi,iylo,iyhi, @@ -263,7 +263,7 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, int flag, } } else if (flag == 2) { - if (layout == REGULAR) { + if (layout == BRICK) { store(ixlo,ixhi,iylo,iyhi, oxlo,oxhi,oylo,oyhi, oxlo,oxhi,oylo,oyhi, @@ -305,8 +305,12 @@ Grid2d::~Grid2d() delete [] requests; } +// ---------------------------------------------------------------------- +// store and access Grid parameters +// ---------------------------------------------------------------------- + /* ---------------------------------------------------------------------- - store constructor args in local variables + store grid bounds and proc neighs in local variables ------------------------------------------------------------------------- */ void Grid2d::store(int ixlo, int ixhi, int iylo, int iyhi, @@ -329,15 +333,31 @@ void Grid2d::store(int ixlo, int ixhi, int iylo, int iyhi, fullylo = fylo; fullyhi = fyhi; - // for REGULAR layout, proc xy lohi = my 4 neighbor procs in this MPI_Comm + // for BRICK layout, proc xy lohi = my 4 neighbor procs in this MPI_Comm - if (layout == REGULAR) { + if (layout == BRICK) { procxlo = pxlo; procxhi = pxhi; procylo = pylo; procyhi = pyhi; } + // for TILED layout, create RCB tree of cut info for grid decomp + // access CommTiled to get cut dimension + // cut = this proc's inlo in that dim + // dim is -1 for proc 0, but never accessed + + if (layout == TILED) { + rcbinfo = (RCBinfo *) + memory->smalloc(nprocs*sizeof(RCBinfo),"grid3d:rcbinfo"); + RCBinfo rcbone; + rcbone.dim = comm->rcbcutdim; + if (rcbone.dim <= 0) rcbone.cut = inxlo; + else if (rcbone.dim == 1) rcbone.cut = inylo; + MPI_Allgather(&rcbone,sizeof(RCBinfo),MPI_CHAR, + rcbinfo,sizeof(RCBinfo),MPI_CHAR,gridcomm); + } + // internal data initializations nswap = maxswap = 0; @@ -348,6 +368,8 @@ void Grid2d::store(int ixlo, int ixhi, int iylo, int iyhi, recv = nullptr; copy = nullptr; requests = nullptr; + + rcbinfo = nullptr; } /* ---------------------------------------------------------------------- */ @@ -401,26 +423,30 @@ void Grid2d::get_bounds_ghost(int &xlo, int &xhi, int &ylo, int &yhi) yhi = outyhi; } +// ---------------------------------------------------------------------- +// setup of local owned/ghost grid comm +// ---------------------------------------------------------------------- + /* ---------------------------------------------------------------------- setup owned/ghost commmunication return sizes of two buffers needed for communication - either for regular brick comm or irregular tiling comm + either for brick decomp or tiled decomp nbuf1 = largest pack or unpack in any Send or Recv or Copy nbuf2 = larget of sum of all packs or unpacks in Send or Recv - for regular brick comm, nbuf1 = nbuf2 - for irregular tiling comm, nbuf2 >= nbuf2 + for brick comm, nbuf1 = nbuf2 + for tiling comm, nbuf2 >= nbuf2 nbuf1,nbuf2 are counts of grid points caller converts them to message sizes for grid data it stores ------------------------------------------------------------------------- */ void Grid2d::setup(int &nbuf1, int &nbuf2) { - if (layout == REGULAR) setup_brick(nbuf1,nbuf2); + if (layout == BRICK) setup_brick(nbuf1,nbuf2); else setup_tiled(nbuf1,nbuf2); } /* ---------------------------------------------------------------------- - setup owned/ghost comm for regular brick comm + setup owned/ghost comm for brick comm each proc has 4 neighbors comm pattern = series of swaps with one of those 4 procs can be multiple swaps with same proc if ghost extent is large @@ -633,7 +659,7 @@ void Grid2d::setup_brick(int &nbuf1, int &nbuf2) } /* ---------------------------------------------------------------------- - setup owned/ghost comm for irregular tiled comm + setup owned/ghost comm for tiled comm each proc has arbitrary # of neighbors that overlap its ghost extent identify which procs will send me ghost cells, and vice versa may not be symmetric if both procs do not need same layers of ghosts @@ -647,20 +673,6 @@ void Grid2d::setup_tiled(int &nbuf1, int &nbuf2) double xlo,xhi,ylo,yhi; int ghostbox[4],pbc[2]; - // setup RCB tree of cut info for grid - // access CommTiled to get cut dimension - // cut = this proc's inlo in that dim - // dim is -1 for proc 0, but never accessed - - rcbinfo = (RCBinfo *) - memory->smalloc(nprocs*sizeof(RCBinfo),"grid2d:rcbinfo"); - RCBinfo rcbone; - rcbone.dim = comm->rcbcutdim; - if (rcbone.dim <= 0) rcbone.cut = inxlo; - else if (rcbone.dim == 1) rcbone.cut = inylo; - MPI_Allgather(&rcbone,sizeof(RCBinfo),MPI_CHAR, - rcbinfo,sizeof(RCBinfo),MPI_CHAR,gridcomm); - // find overlaps of my extended ghost box with all other procs // accounts for crossings of periodic boundaries // noverlap = # of overlaps, including self @@ -673,11 +685,8 @@ void Grid2d::setup_tiled(int &nbuf1, int &nbuf2) pbc[0] = pbc[1] = 0; - memory->create(overlap_procs,nprocs,"grid2d:overlap_procs"); - noverlap = maxoverlap = 0; - overlap = nullptr; - - ghost_box_drop(ghostbox,pbc); + Overlap *overlap; + int noverlap = compute_overlap(ghostbox,pbc,overlap); // send each proc an overlap message // content: me, index of my overlap, box that overlaps with its owned cells @@ -808,10 +817,8 @@ void Grid2d::setup_tiled(int &nbuf1, int &nbuf2) // clean-up - memory->sfree(rcbinfo); + clean_overlap(); memory->destroy(proclist); - memory->destroy(overlap_procs); - memory->sfree(overlap); memory->sfree(srequest); memory->sfree(rrequest); memory->sfree(sresponse); @@ -842,116 +849,9 @@ void Grid2d::setup_tiled(int &nbuf1, int &nbuf2) nbuf2 = MAX(nbufs,nbufr); } -/* ---------------------------------------------------------------------- - recursively split a box until it doesn't overlap any periodic boundaries - box = 4 integers = (xlo,xhi,ylo,yhi) - each lo/hi value may extend beyonw 0 to N-1 into another periodic image - pbc = flags in each dim of which periodic image the caller box was in - when a box straddles a periodic bounadry, split it in two - when a box does not straddle, drop it down RCB tree - add all the procs it overlaps with to Overlap list -------------------------------------------------------------------------- */ - -void Grid2d::ghost_box_drop(int *box, int *pbc) -{ - int i,m; - - // newbox12 and newpbc are initially copies of caller box and pbc - - int newbox1[4],newbox2[4],newpbc[2]; - - for (i = 0; i < 4; i++) newbox1[i] = newbox2[i] = box[i]; - for (i = 0; i < 2; i++) newpbc[i] = pbc[i]; - - // 4 if tests to see if box needs to be split across a periodic boundary - // newbox1 and 2 = new split boxes, newpbc increments current pbc - // final else is no split - - int splitflag = 1; - - if (box[0] < 0) { - newbox1[0] = 0; - newbox2[0] = box[0] + nx; - newbox2[1] = nx - 1; - newpbc[0]--; - } else if (box[1] >= nx) { - newbox1[1] = nx - 1; - newbox2[0] = 0; - newbox2[1] = box[1] - nx; - newpbc[0]++; - } else if (box[2] < 0) { - newbox1[2] = 0; - newbox2[2] = box[2] + ny; - newbox2[3] = ny - 1; - newpbc[1]--; - } else if (box[3] >= ny) { - newbox1[3] = ny - 1; - newbox2[2] = 0; - newbox2[3] = box[3] - ny; - newpbc[1]++; - - // box is not split, drop on RCB tree - // returns nprocs = # of procs it overlaps, including self - // returns proc_overlap = list of proc IDs it overlaps - // skip self overlap if no crossing of periodic boundaries - // do not skip self if overlap is in another periodic image - - } else { - splitflag = 0; - int np = 0; - box_drop_grid(box,0,nprocs-1,np,overlap_procs); - for (m = 0; m < np; m++) { - if (noverlap == maxoverlap) grow_overlap(); - if (overlap_procs[m] == me && - pbc[0] == 0 && pbc[1] == 0 && pbc[2] == 0) continue; - overlap[noverlap].proc = overlap_procs[m]; - for (i = 0; i < 4; i++) overlap[noverlap].box[i] = box[i]; - for (i = 0; i < 2; i++) overlap[noverlap].pbc[i] = pbc[i]; - noverlap++; - } - } - - // recurse with 2 split boxes - - if (splitflag) { - ghost_box_drop(newbox1,pbc); - ghost_box_drop(newbox2,newpbc); - } -} - -/* ---------------------------------------------------------------------- - recursively drop a box down the RCB tree to find all procs it overlaps with - box = 4 integers = (xlo,xhi,ylo,yhi) - each lo/hi value ranges from 0 to N-1 in a dim, N = grid size in that dim - box is guaranteed to be wholly within the global domain - return Np = # of procs, plist = proc IDs -------------------------------------------------------------------------- */ - -void Grid2d::box_drop_grid(int *box, int proclower, int procupper, - int &np, int *plist) -{ - // end recursion when partition is a single proc - // add proclower to plist - - if (proclower == procupper) { - plist[np++] = proclower; - return; - } - - // drop box on each side of cut it extends beyond - // use < and >= criteria so does not include a box it only touches - // procmid = 1st processor in upper half of partition - // = location in tree that stores this cut - // cut = index of first grid cell in upper partition - // dim = 0,1,2 dimension of cut - - int procmid = proclower + (procupper - proclower) / 2 + 1; - int dim = rcbinfo[procmid].dim; - int cut = rcbinfo[procmid].cut; - - if (box[2*dim] < cut) box_drop_grid(box,proclower,procmid-1,np,plist); - if (box[2*dim+1] >= cut) box_drop_grid(box,procmid,procupper,np,plist); -} +// ---------------------------------------------------------------------- +// query locality of forwrd/reverse grid comm +// ---------------------------------------------------------------------- /* ---------------------------------------------------------------------- check if all procs only need ghost info from adjacent procs @@ -960,7 +860,7 @@ void Grid2d::box_drop_grid(int *box, int proclower, int procupper, int Grid2d::ghost_adjacent() { - if (layout == REGULAR) return ghost_adjacent_brick(); + if (layout == BRICK) return ghost_adjacent_brick(); return ghost_adjacent_tiled(); } @@ -995,6 +895,10 @@ int Grid2d::ghost_adjacent_tiled() return adjacent_all; } +// ---------------------------------------------------------------------- +// forward/reverse comm of owned/ghost grid data via callbacks +// ---------------------------------------------------------------------- + /* ---------------------------------------------------------------------- forward comm of my owned cells to other's ghost cells ------------------------------------------------------------------------- */ @@ -1002,7 +906,7 @@ int Grid2d::ghost_adjacent_tiled() void Grid2d::forward_comm(int caller, void *ptr, int nper, int nbyte, int which, void *buf1, void *buf2, MPI_Datatype datatype) { - if (layout == REGULAR) { + if (layout == BRICK) { if (caller == KSPACE) forward_comm_brick((KSpace *) ptr,nper,nbyte,which, buf1,buf2,datatype); @@ -1107,7 +1011,7 @@ forward_comm_tiled(T *ptr, int nper, int nbyte, int which, void Grid2d::reverse_comm(int caller, void *ptr, int nper, int nbyte, int which, void *buf1, void *buf2, MPI_Datatype datatype) { - if (layout == REGULAR) { + if (layout == BRICK) { if (caller == KSPACE) reverse_comm_brick((KSpace *) ptr,nper,nbyte,which, buf1,buf2,datatype); @@ -1205,25 +1109,86 @@ reverse_comm_tiled(T *ptr, int nper, int nbyte, int which, } } +// ---------------------------------------------------------------------- +// remap comm between 2 old/new grid decomposition of owned grid data +// ---------------------------------------------------------------------- + /* ---------------------------------------------------------------------- setup remap from old grid decomposition to this grid decomposition - pack/unpack operations are performed by caller via callbacks + return sizes of two buffers needed for communication + either for brick decomp or tiling decomp + nbuf1 = largest pack or unpack in any Send or Recv or Copy + nbuf2 = larget of sum of all packs or unpacks in Send or Recv + for brick comm, nbuf1 = nbuf2 + for tiled comm, nbuf2 >= nbuf2 + nbuf1,nbuf2 are just count of grid points + caller converts them to message size for grid data it stores ------------------------------------------------------------------------- */ void Grid2d::setup_remap(Grid2d *old, int &nremap_buf1, int &nremap_buf2) { - if (layout == REGULAR) setup_remap_brick(old,nremap_buf1,nremap_buf2); + if (layout == BRICK) setup_remap_brick(old,nremap_buf1,nremap_buf2); else setup_remap_tiled(old,nremap_buf1,nremap_buf2); } +/* ------------------------------------------------------------------------- */ + void Grid2d::setup_remap_brick(Grid2d *old, int &nremap_buf1, int &nremap_buf2) { nremap_buf1 = 0; nremap_buf2 = 0; } +/* ------------------------------------------------------------------------- */ + void Grid2d::setup_remap_tiled(Grid2d *old, int &nremap_buf1, int &nremap_buf2) { + int pbc[2]; + + // find overlaps of new decomp owned box with all owned boxes in old decomp + // noverlap = # of overlaps, including self + // overlap = vector of overlap info using Overlap data struct + + int newbox[6]; + get_bounds(newbox[0],newbox[1],newbox[2],newbox[3]); + pbc[0] = pbc[1] = 0; + + Overlap *overlap_old; + int noverlap_old = old->compute_overlap(newbox,pbc,overlap_old); + + // use overlap_old to construct send and copy lists + + self_remap = 0; + + for (int m = 0; m < noverlap_old; m++) { + if (overlap_old[m].proc == me) self_remap = 1; + else { + } + } + + // find overlaps of old decomp owned box with all owned boxes in new decomp + // noverlap = # of overlaps, including self + // overlap = vector of overlap info using Overlap data struct + + int oldbox[6]; + old->get_bounds(oldbox[0],oldbox[1],oldbox[2],oldbox[3]); + pbc[0] = pbc[1] = 0; + + Overlap *overlap_new; + int noverlap_new = compute_overlap(oldbox,pbc,overlap_new); + + // use overlaps to construct recv and copy lists + + + + + // clean-up + + clean_overlap(); + old->clean_overlap(); + + + nremap_buf1 = 0; nremap_buf2 = 0; } @@ -1239,6 +1204,8 @@ void Grid2d::remap(int caller, void *ptr, int nper, int nbyte, if (caller == FIX) remap_style((Fix *) ptr,nper,nbyte,buf1,buf2,datatype); } +/* ------------------------------------------------------------------------- */ + template < class T > void Grid2d::remap_style(T *ptr, int nper, int nbyte, void *buf1, void *vbuf2, MPI_Datatype datatype) @@ -1279,6 +1246,10 @@ void Grid2d::remap_style(T *ptr, int nper, int nbyte, } } +// ---------------------------------------------------------------------- +// gather/scatter grid data between one and many procs for I/O purposes +// ---------------------------------------------------------------------- + /* ---------------------------------------------------------------------- gather global grid values to proc 0, one grid chunk at a time proc 0 pings each proc for its grid chunk @@ -1349,12 +1320,161 @@ void Grid2d::gather(int /*caller*/, void *ptr, int nper, int nbyte, memory->destroy(mybuf); } +// ---------------------------------------------------------------------- +// box drop functions for tiled RCB decompositions +// ---------------------------------------------------------------------- + /* ---------------------------------------------------------------------- - create swap stencil for grid own/ghost communication - swaps covers all 2 dimensions and both directions - swaps cover multiple iterations in a direction if need grid pts - from further away than nearest-neighbor proc - same swap list used by forward and reverse communication + compute list of overlaps between box and the owned grid boxes of all procs + done via recursive box drop on RCB tree + box = 6 integers = (xlo,xhi,ylo,yhi,zlo,zhi) + box can be owned cells or owned + ghost cells + pbc = flags for grid periodicity in each dim + if box includes ghost cells, it can overlap PBCs + each lo/hi value may extend beyond 0 to N-1 into another periodic image + return # of overlaps including with self + return list of overlaps +------------------------------------------------------------------------- */ + +int Grid2d::compute_overlap(int *box, int *pbc, Overlap *&overlap) +{ + memory->create(overlap_procs,nprocs,"grid3d:overlap_procs"); + noverlap_list = maxoverlap_list = 0; + overlap_list = nullptr; + + box_drop(box,pbc); + + overlap = overlap_list; + return noverlap_list; +} + +/* ---------------------------------------------------------------------- + deallocate data created by recursive overlap computation +------------------------------------------------------------------------- */ + +void Grid2d::clean_overlap() +{ + memory->destroy(overlap_procs); + memory->sfree(overlap_list); +} + +/* ---------------------------------------------------------------------- + recursively split a box until it doesn't overlap any periodic boundaries + box = 4 integers = (xlo,xhi,ylo,yhi) + each lo/hi value may extend beyonw 0 to N-1 into another periodic image + pbc = flags in each dim of which periodic image the caller box was in + when a box straddles a periodic bounadry, split it in two + when a box does not straddle, drop it down RCB tree + add all the procs it overlaps with to Overlap list +------------------------------------------------------------------------- */ + +void Grid2d::box_drop(int *box, int *pbc) +{ + int i,m; + + // newbox12 and newpbc are initially copies of caller box and pbc + + int newbox1[4],newbox2[4],newpbc[2]; + + for (i = 0; i < 4; i++) newbox1[i] = newbox2[i] = box[i]; + for (i = 0; i < 2; i++) newpbc[i] = pbc[i]; + + // 4 if tests to see if box needs to be split across a periodic boundary + // newbox1 and 2 = new split boxes, newpbc increments current pbc + // final else is no split + + int splitflag = 1; + + if (box[0] < 0) { + newbox1[0] = 0; + newbox2[0] = box[0] + nx; + newbox2[1] = nx - 1; + newpbc[0]--; + } else if (box[1] >= nx) { + newbox1[1] = nx - 1; + newbox2[0] = 0; + newbox2[1] = box[1] - nx; + newpbc[0]++; + } else if (box[2] < 0) { + newbox1[2] = 0; + newbox2[2] = box[2] + ny; + newbox2[3] = ny - 1; + newpbc[1]--; + } else if (box[3] >= ny) { + newbox1[3] = ny - 1; + newbox2[2] = 0; + newbox2[3] = box[3] - ny; + newpbc[1]++; + + // box is not split, drop on RCB tree + // returns nprocs = # of procs it overlaps, including self + // returns proc_overlap = list of proc IDs it overlaps + // skip self overlap if no crossing of periodic boundaries + // do not skip self if overlap is in another periodic image + + } else { + splitflag = 0; + int np = 0; + box_drop_grid(box,0,nprocs-1,np,overlap_procs); + for (m = 0; m < np; m++) { + if (noverlap_list == maxoverlap_list) grow_overlap(); + if (overlap_procs[m] == me && + pbc[0] == 0 && pbc[1] == 0 && pbc[2] == 0) continue; + overlap_list[noverlap_list].proc = overlap_procs[m]; + for (i = 0; i < 4; i++) overlap_list[noverlap_list].box[i] = box[i]; + for (i = 0; i < 2; i++) overlap_list[noverlap_list].pbc[i] = pbc[i]; + noverlap_list++; + } + } + + // recurse with 2 split boxes + + if (splitflag) { + box_drop(newbox1,pbc); + box_drop(newbox2,newpbc); + } +} + +/* ---------------------------------------------------------------------- + recursively drop a box down the RCB tree to find all procs it overlaps with + box = 4 integers = (xlo,xhi,ylo,yhi) + each lo/hi value ranges from 0 to N-1 in a dim, N = grid size in that dim + box is guaranteed to be wholly within the global domain + return Np = # of procs, plist = proc IDs +------------------------------------------------------------------------- */ + +void Grid2d::box_drop_grid(int *box, int proclower, int procupper, + int &np, int *plist) +{ + // end recursion when partition is a single proc + // add proclower to plist + + if (proclower == procupper) { + plist[np++] = proclower; + return; + } + + // drop box on each side of cut it extends beyond + // use < and >= criteria so does not include a box it only touches + // procmid = 1st processor in upper half of partition + // = location in tree that stores this cut + // cut = index of first grid cell in upper partition + // dim = 0,1,2 dimension of cut + + int procmid = proclower + (procupper - proclower) / 2 + 1; + int dim = rcbinfo[procmid].dim; + int cut = rcbinfo[procmid].cut; + + if (box[2*dim] < cut) box_drop_grid(box,proclower,procmid-1,np,plist); + if (box[2*dim+1] >= cut) box_drop_grid(box,procmid,procupper,np,plist); +} + +// ---------------------------------------------------------------------- +// miscellaneous methods +// ---------------------------------------------------------------------- + +/* ---------------------------------------------------------------------- + grow list of swaps by DELTA ------------------------------------------------------------------------- */ void Grid2d::grow_swap() @@ -1364,18 +1484,14 @@ void Grid2d::grow_swap() } /* ---------------------------------------------------------------------- - create swap stencil for grid own/ghost communication - swaps covers all 3 dimensions and both directions - swaps cover multiple iterations in a direction if need grid pts - from further away than nearest-neighbor proc - same swap list used by forward and reverse communication + grow list of overlaps by DELTA ------------------------------------------------------------------------- */ void Grid2d::grow_overlap() { - maxoverlap += DELTA; - overlap = (Overlap *) - memory->srealloc(overlap,maxoverlap*sizeof(Overlap),"grid2d:overlap"); + maxoverlap_list += DELTA; + overlap_list = (Overlap *) + memory->srealloc(overlap_list,maxoverlap_list*sizeof(Overlap),"grid2d:overlap"); } /* ---------------------------------------------------------------------- diff --git a/src/grid2d.h b/src/grid2d.h index df5faff32b..61778c492f 100644 --- a/src/grid2d.h +++ b/src/grid2d.h @@ -29,16 +29,20 @@ class Grid2d : protected Pointers { Grid2d(class LAMMPS *, MPI_Comm, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int); ~Grid2d() override; + int identical(Grid2d *); void get_size(int &, int &); void get_bounds(int &, int &, int &, int &); void get_bounds_ghost(int &, int &, int &, int &); + void setup(int &, int &); int ghost_adjacent(); void forward_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); void reverse_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); + void setup_remap(Grid2d *, int &, int &); void remap(int, void *, int, int, void *, void *, MPI_Datatype); + void gather(int, void *, int, int, int, void *, MPI_Datatype); protected: @@ -61,7 +65,7 @@ class Grid2d : protected Pointers { int fullylo, fullyhi; // can be same as out indices or larger // ------------------------------------------- - // internal variables for REGULAR layout + // internal variables for BRICK layout // ------------------------------------------- int procxlo, procxhi; // 4 neighbor procs that adjoin me @@ -88,33 +92,8 @@ class Grid2d : protected Pointers { // internal variables for TILED layout // ------------------------------------------- - int *overlap_procs; // length of Nprocs in communicator MPI_Request *requests; // length of max messages this proc receives - // RCB tree of cut info - // each proc contributes one value, except proc 0 - - struct RCBinfo { - int dim; // 0,1 = which dim the cut is in - int cut; // grid index of lowest cell in upper half of cut - }; - - RCBinfo *rcbinfo; - - // overlap = a proc whose owned cells overlap with my extended ghost box - // includes overlaps across periodic boundaries, can also be self - - struct Overlap { - int proc; // proc whose owned cells overlap my ghost cells - int box[4]; // box that overlaps otherproc's owned cells - // this box is wholly contained within global grid - int pbc[2]; // PBC offsets to convert box to a portion of my ghost box - // my ghost box may extend beyond global grid - }; - - int noverlap, maxoverlap; - Overlap *overlap; - // request = sent to each proc whose owned cells overlap my ghost cells struct Request { @@ -187,20 +166,48 @@ class Grid2d : protected Pointers { Recv *recv_remap; Copy copy_remap; + // ------------------------------------------- + // internal variables for OVERLAP operation + // ------------------------------------------- + + int *overlap_procs; // length of Nprocs in communicator + + // RCB tree of cut info + // each proc contributes one value, except proc 0 + + struct RCBinfo { + int dim; // 0,1 = which dim the cut is in + int cut; // grid index of lowest cell in upper half of cut + }; + + RCBinfo *rcbinfo; + + // overlap = a proc whose owned cells overlap with my owned or ghost box + // includes overlaps across periodic boundaries, can also be self + + struct Overlap { + int proc; // proc whose owned cells overlap my ghost cells + int box[4]; // box that overlaps otherproc's owned cells + // this box is wholly contained within global grid + int pbc[2]; // PBC offsets to convert box to a portion of my ghost box + // my ghost box may extend beyond global grid + }; + + int noverlap_list, maxoverlap_list; + Overlap *overlap_list; + // ------------------------------------------- // internal methods // ------------------------------------------- void store(int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int); + virtual void setup_brick(int &, int &); virtual void setup_tiled(int &, int &); - void ghost_box_drop(int *, int *); - void box_drop_grid(int *, int, int, int &, int *); - int ghost_adjacent_brick(); int ghost_adjacent_tiled(); - + template void forward_comm_brick(T *, int, int, int, void *, void *, MPI_Datatype); template void forward_comm_tiled(T *, int, int, int, void *, void *, MPI_Datatype); template void reverse_comm_brick(T *, int, int, int, void *, void *, MPI_Datatype); @@ -210,6 +217,11 @@ class Grid2d : protected Pointers { void setup_remap_tiled(Grid2d *, int &, int &); template void remap_style(T *, int, int, void *, void *, MPI_Datatype); + int compute_overlap(int *, int *, Overlap *&); + void clean_overlap(); + void box_drop(int *, int *); + void box_drop_grid(int *, int, int, int &, int *); + virtual void grow_swap(); void grow_overlap(); diff --git a/src/grid3d.cpp b/src/grid3d.cpp index a503ad90da..07ff89d6e6 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -26,7 +26,7 @@ using namespace LAMMPS_NS; -enum{REGULAR,TILED}; +enum{BRICK,TILED}; #define DELTA 16 @@ -76,7 +76,7 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, ngrid[0] = nx; ngrid[1] = ny; ngrid[2] = nz; if (comm->layout == Comm::LAYOUT_TILED) layout = TILED; - else layout = REGULAR; + else layout = BRICK; // partition global grid across procs // i xyz lo/hi = lower/upper bounds of global grid this proc owns @@ -158,7 +158,7 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, // store grid bounds and proc neighs - if (layout == REGULAR) { + if (layout == BRICK) { int (*procneigh)[2] = comm->procneigh; store(ixlo,ixhi,iylo,iyhi,izlo,izhi, oxlo,oxhi,oylo,oyhi,ozlo,ozhi, @@ -205,11 +205,11 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, ngrid[0] = nx; ngrid[1] = ny; ngrid[2] = nz; if (comm->layout == Comm::LAYOUT_TILED) layout = TILED; - else layout = REGULAR; + else layout = BRICK; // store grid bounds and proc neighs - if (layout == REGULAR) { + if (layout == BRICK) { int (*procneigh)[2] = comm->procneigh; store(ixlo,ixhi,iylo,iyhi,izlo,izhi, oxlo,oxhi,oylo,oyhi,ozlo,ozhi, @@ -258,12 +258,12 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, int flag, ngrid[0] = nx; ngrid[1] = ny; ngrid[2] = nz; if (comm->layout == Comm::LAYOUT_TILED) layout = TILED; - else layout = REGULAR; + else layout = BRICK; // store grid bounds and proc neighs if (flag == 1) { - if (layout == REGULAR) { + if (layout == BRICK) { // this assumes gcomm = world int (*procneigh)[2] = comm->procneigh; store(ixlo,ixhi,iylo,iyhi,izlo,izhi, @@ -280,7 +280,7 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, int flag, } } else if (flag == 2) { - if (layout == REGULAR) { + if (layout == BRICK) { store(ixlo,ixhi,iylo,iyhi,izlo,izhi, oxlo,oxhi,oylo,oyhi,ozlo,ozhi, oxlo,oxhi,oylo,oyhi,ozlo,ozhi, @@ -318,9 +318,15 @@ Grid3d::~Grid3d() memory->destroy(copy[i].unpacklist); } memory->sfree(copy); - delete [] requests; + + memory->sfree(rcbinfo); } + + +// ---------------------------------------------------------------------- +// store and access Grid parameters +// ---------------------------------------------------------------------- /* ---------------------------------------------------------------------- store grid bounds and proc neighs in local variables @@ -356,9 +362,9 @@ void Grid3d::store(int ixlo, int ixhi, int iylo, int iyhi, fullzlo = fzlo; fullzhi = fzhi; - // for REGULAR layout, proc xyz lohi = my 6 neighbor procs in this MPI_Comm + // for BRICK layout, proc xyz lohi = my 6 neighbor procs in this MPI_Comm - if (layout == REGULAR) { + if (layout == BRICK) { procxlo = pxlo; procxhi = pxhi; procylo = pylo; @@ -367,6 +373,23 @@ void Grid3d::store(int ixlo, int ixhi, int iylo, int iyhi, proczhi = pzhi; } + // for TILED layout, create RCB tree of cut info for grid decomp + // access CommTiled to get cut dimension + // cut = this proc's inlo in that dim + // dim is -1 for proc 0, but never accessed + + if (layout == TILED) { + rcbinfo = (RCBinfo *) + memory->smalloc(nprocs*sizeof(RCBinfo),"grid3d:rcbinfo"); + RCBinfo rcbone; + rcbone.dim = comm->rcbcutdim; + if (rcbone.dim <= 0) rcbone.cut = inxlo; + else if (rcbone.dim == 1) rcbone.cut = inylo; + else if (rcbone.dim == 2) rcbone.cut = inzlo; + MPI_Allgather(&rcbone,sizeof(RCBinfo),MPI_CHAR, + rcbinfo,sizeof(RCBinfo),MPI_CHAR,gridcomm); + } + // internal data initializations nswap = maxswap = 0; @@ -377,6 +400,8 @@ void Grid3d::store(int ixlo, int ixhi, int iylo, int iyhi, recv = nullptr; copy = nullptr; requests = nullptr; + + rcbinfo = nullptr; } /* ---------------------------------------------------------------------- */ @@ -439,26 +464,30 @@ void Grid3d::get_bounds_ghost(int &xlo, int &xhi, int &ylo, int &yhi, zhi = outzhi; } +// ---------------------------------------------------------------------- +// setup of local owned/ghost grid comm +// ---------------------------------------------------------------------- + /* ---------------------------------------------------------------------- setup owned/ghost commmunication return sizes of two buffers needed for communication - either for regular brick comm or irregular tiling comm + either for brick decomp or tiling decomp nbuf1 = largest pack or unpack in any Send or Recv or Copy nbuf2 = larget of sum of all packs or unpacks in Send or Recv - for regular brick comm, nbuf1 = nbuf2 - for irregular tiling comm, nbuf2 >= nbuf2 + for brick comm, nbuf1 = nbuf2 + for tiling comm, nbuf2 >= nbuf2 nbuf1,nbuf2 are counts of grid points caller converts them to message sizes for grid data it stores ------------------------------------------------------------------------- */ void Grid3d::setup(int &nbuf1, int &nbuf2) { - if (layout == REGULAR) setup_brick(nbuf1,nbuf2); + if (layout == BRICK) setup_brick(nbuf1,nbuf2); else setup_tiled(nbuf1,nbuf2); } /* ---------------------------------------------------------------------- - setup owned/ghost comm for regular brick comm + setup owned/ghost comm for brick comm each proc has 6 neighbors comm pattern = series of swaps with one of those 6 procs can be multiple swaps with same proc if ghost extent is large @@ -759,7 +788,7 @@ void Grid3d::setup_brick(int &nbuf1, int &nbuf2) } /* ---------------------------------------------------------------------- - setup owned/ghost comm for irregular tiled comm + setup owned/ghost comm for tiled comm each proc has arbitrary # of neighbors that overlap its ghost extent identify which procs will send me ghost cells, and vice versa may not be symmetric if both procs do not need same layers of ghosts @@ -773,23 +802,8 @@ void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) double xlo,xhi,ylo,yhi,zlo,zhi; int ghostbox[6],pbc[3]; - // setup RCB tree of cut info for grid - // access CommTiled to get cut dimension - // cut = this proc's inlo in that dim - // dim is -1 for proc 0, but never accessed - - rcbinfo = (RCBinfo *) - memory->smalloc(nprocs*sizeof(RCBinfo),"grid3d:rcbinfo"); - RCBinfo rcbone; - rcbone.dim = comm->rcbcutdim; - if (rcbone.dim <= 0) rcbone.cut = inxlo; - else if (rcbone.dim == 1) rcbone.cut = inylo; - else if (rcbone.dim == 2) rcbone.cut = inzlo; - MPI_Allgather(&rcbone,sizeof(RCBinfo),MPI_CHAR, - rcbinfo,sizeof(RCBinfo),MPI_CHAR,gridcomm); - - // find overlaps of my extended ghost box with all other procs - // accounts for crossings of periodic boundaries + // find overlaps of my extended ghost box with all owned boxes + // accounts for ghost box overlapping periodic boundaries // noverlap = # of overlaps, including self // overlap = vector of overlap info using Overlap data struct @@ -802,11 +816,8 @@ void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) pbc[0] = pbc[1] = pbc[2] = 0; - memory->create(overlap_procs,nprocs,"grid3d:overlap_procs"); - noverlap = maxoverlap = 0; - overlap = nullptr; - - box_drop(ghostbox,pbc); + Overlap *overlap; + int noverlap = compute_overlap(ghostbox,pbc,overlap); // send each proc an overlap message // content: me, index of my overlap, box that overlaps with its owned cells @@ -948,10 +959,8 @@ void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) // clean-up - memory->sfree(rcbinfo); + clean_overlap(); memory->destroy(proclist); - memory->destroy(overlap_procs); - memory->sfree(overlap); memory->sfree(srequest); memory->sfree(rrequest); memory->sfree(sresponse); @@ -982,126 +991,9 @@ void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) nbuf2 = MAX(nbufs,nbufr); } -/* ---------------------------------------------------------------------- - recursively split a box until it doesn't overlap any periodic boundaries - box = 6 integers = (xlo,xhi,ylo,yhi,zlo,zhi) - each lo/hi value may extend beyonw 0 to N-1 into another periodic image - pbc = flags in each dim of which periodic image the caller box was in - when a box straddles a periodic bounadry, split it in two - when a box does not straddle, drop it down RCB tree - add all the procs it overlaps with to Overlap list -------------------------------------------------------------------------- */ - -void Grid3d::box_drop(int *box, int *pbc) -{ - int i,m; - - // newbox12 and newpbc are initially copies of caller box and pbc - - int newbox1[6],newbox2[6],newpbc[3]; - - for (i = 0; i < 6; i++) newbox1[i] = newbox2[i] = box[i]; - for (i = 0; i < 3; i++) newpbc[i] = pbc[i]; - - // 6 if tests to see if box needs to be split across a periodic boundary - // newbox1 and 2 = new split boxes, newpbc increments current pbc - // final else is no split - - int splitflag = 1; - - if (box[0] < 0) { - newbox1[0] = 0; - newbox2[0] = box[0] + nx; - newbox2[1] = nx - 1; - newpbc[0]--; - } else if (box[1] >= nx) { - newbox1[1] = nx - 1; - newbox2[0] = 0; - newbox2[1] = box[1] - nx; - newpbc[0]++; - } else if (box[2] < 0) { - newbox1[2] = 0; - newbox2[2] = box[2] + ny; - newbox2[3] = ny - 1; - newpbc[1]--; - } else if (box[3] >= ny) { - newbox1[3] = ny - 1; - newbox2[2] = 0; - newbox2[3] = box[3] - ny; - newpbc[1]++; - } else if (box[4] < 0) { - newbox1[4] = 0; - newbox2[4] = box[4] + nz; - newbox2[5] = nz - 1; - newpbc[2]--; - } else if (box[5] >= nz) { - newbox1[5] = nz - 1; - newbox2[4] = 0; - newbox2[5] = box[5] - nz; - newpbc[2]++; - - // box is not split, drop on RCB tree - // returns nprocs = # of procs it overlaps, including self - // returns proc_overlap = list of proc IDs it overlaps - // skip self overlap if no crossing of periodic boundaries - // do not skip self if overlap is in another periodic image - - } else { - splitflag = 0; - int np = 0; - box_drop_grid(box,0,nprocs-1,np,overlap_procs); - for (m = 0; m < np; m++) { - if (noverlap == maxoverlap) grow_overlap(); - if (overlap_procs[m] == me && - pbc[0] == 0 && pbc[1] == 0 && pbc[2] == 0) continue; - overlap[noverlap].proc = overlap_procs[m]; - for (i = 0; i < 6; i++) overlap[noverlap].box[i] = box[i]; - for (i = 0; i < 3; i++) overlap[noverlap].pbc[i] = pbc[i]; - noverlap++; - } - } - - // recurse with 2 split boxes - - if (splitflag) { - box_drop(newbox1,pbc); - box_drop(newbox2,newpbc); - } -} - -/* ---------------------------------------------------------------------- - recursively drop a box down the RCB tree to find all procs it overlaps with - box = 6 integers = (xlo,xhi,ylo,yhi,zlo,zhi) - each lo/hi value ranges from 0 to N-1 in a dim, N = grid size in that dim - box is guaranteed to be wholly within the global domain - return Np = # of procs, plist = proc IDs -------------------------------------------------------------------------- */ - -void Grid3d::box_drop_grid(int *box, int proclower, int procupper, - int &np, int *plist) -{ - // end recursion when partition is a single proc - // add proclower to plist - - if (proclower == procupper) { - plist[np++] = proclower; - return; - } - - // drop box on each side of cut it extends beyond - // use < and >= criteria so does not include a box it only touches - // procmid = 1st processor in upper half of partition - // = location in tree that stores this cut - // cut = index of first grid cell in upper partition - // dim = 0,1,2 dimension of cut - - int procmid = proclower + (procupper - proclower) / 2 + 1; - int dim = rcbinfo[procmid].dim; - int cut = rcbinfo[procmid].cut; - - if (box[2*dim] < cut) box_drop_grid(box,proclower,procmid-1,np,plist); - if (box[2*dim+1] >= cut) box_drop_grid(box,procmid,procupper,np,plist); -} +// ---------------------------------------------------------------------- +// query locality of forwrd/reverse grid comm +// ---------------------------------------------------------------------- /* ---------------------------------------------------------------------- check if all procs only need ghost info from adjacent procs @@ -1110,7 +1002,7 @@ void Grid3d::box_drop_grid(int *box, int proclower, int procupper, int Grid3d::ghost_adjacent() { - if (layout == REGULAR) return ghost_adjacent_brick(); + if (layout == BRICK) return ghost_adjacent_brick(); return ghost_adjacent_tiled(); } @@ -1147,6 +1039,10 @@ int Grid3d::ghost_adjacent_tiled() return adjacent_all; } +// ---------------------------------------------------------------------- +// forward/reverse comm of owned/ghost grid data via callbacks +// ---------------------------------------------------------------------- + /* ---------------------------------------------------------------------- forward comm of my owned cells to other's ghost cells ------------------------------------------------------------------------- */ @@ -1154,7 +1050,7 @@ int Grid3d::ghost_adjacent_tiled() void Grid3d::forward_comm(int caller, void *ptr, int nper, int nbyte, int which, void *buf1, void *buf2, MPI_Datatype datatype) { - if (layout == REGULAR) { + if (layout == BRICK) { if (caller == KSPACE) forward_comm_brick((KSpace *) ptr,nper,nbyte,which, buf1,buf2,datatype); @@ -1178,7 +1074,7 @@ void Grid3d::forward_comm(int caller, void *ptr, int nper, int nbyte, int which, } /* ---------------------------------------------------------------------- - forward comm on regular grid of procs via list of swaps with 6 neighbor procs + forward comm for brick decomp via list of swaps with 6 neighbor procs ------------------------------------------------------------------------- */ template < class T > @@ -1208,7 +1104,7 @@ forward_comm_brick(T *ptr, int nper, int /*nbyte*/, int which, } /* ---------------------------------------------------------------------- - forward comm on tiled grid decomp via Send/Recv lists of each neighbor proc + forward comm for tiled decomp via Send/Recv lists of each neighbor proc ------------------------------------------------------------------------- */ template < class T > @@ -1259,7 +1155,7 @@ forward_comm_tiled(T *ptr, int nper, int nbyte, int which, void Grid3d::reverse_comm(int caller, void *ptr, int nper, int nbyte, int which, void *buf1, void *buf2, MPI_Datatype datatype) { - if (layout == REGULAR) { + if (layout == BRICK) { if (caller == KSPACE) reverse_comm_brick((KSpace *) ptr,nper,nbyte,which, buf1,buf2,datatype); @@ -1283,7 +1179,7 @@ void Grid3d::reverse_comm(int caller, void *ptr, int nper, int nbyte, int which, } /* ---------------------------------------------------------------------- - reverse comm on regular grid of procs via list of swaps with 6 neighbor procs + reverse comm for brick decomp via list of swaps with 6 neighbor procs ------------------------------------------------------------------------- */ template < class T > @@ -1313,7 +1209,7 @@ reverse_comm_brick(T *ptr, int nper, int /*nbyte*/, int which, } /* ---------------------------------------------------------------------- - reverse comm on tiled grid decomp via Send/Recv lists of each neighbor proc + reverse comm for tiled decomp via Send/Recv lists of each neighbor proc ------------------------------------------------------------------------- */ template < class T > @@ -1357,13 +1253,17 @@ reverse_comm_tiled(T *ptr, int nper, int nbyte, int which, } } +// ---------------------------------------------------------------------- +// remap comm between 2 old/new grid decomposition of owned grid data +// ---------------------------------------------------------------------- + /* ---------------------------------------------------------------------- return sizes of two buffers needed for communication - either on regular grid or procs or irregular tiling + either for brick decomp or tiling decomp nbuf1 = largest pack or unpack in any Send or Recv or Copy nbuf2 = larget of sum of all packs or unpacks in Send or Recv - for regular comm, nbuf1 = nbuf2 - for irregular comm, nbuf2 >= nbuf2 + for brick comm, nbuf1 = nbuf2 + for tiled comm, nbuf2 >= nbuf2 nbuf1,nbuf2 are just count of grid points caller converts them to message size for grid data it stores ------------------------------------------------------------------------- */ @@ -1375,7 +1275,7 @@ reverse_comm_tiled(T *ptr, int nper, int nbyte, int which, void Grid3d::setup_remap(Grid3d *old, int &nremap_buf1, int &nremap_buf2) { - if (layout == REGULAR) setup_remap_brick(old,nremap_buf1,nremap_buf2); + if (layout == BRICK) setup_remap_brick(old,nremap_buf1,nremap_buf2); else setup_remap_tiled(old,nremap_buf2,nremap_buf2); } @@ -1390,44 +1290,52 @@ void Grid3d::setup_remap_brick(Grid3d *old, int &nremap_buf1, int &nremap_buf2) void Grid3d::setup_remap_tiled(Grid3d *old, int &nremap_buf1, int &nremap_buf2) { - // find overlaps of my owned box in old decomp with all procs in new decomp + int pbc[3]; + + // find overlaps of new decomp owned box with all owned boxes in old decomp // noverlap = # of overlaps, including self // overlap = vector of overlap info using Overlap data struct - int ownedbox[6],pbc[3]; - - old->get_bounds(ownedbox[0],ownedbox[1],ownedbox[2],ownedbox[3], - ownedbox[4],ownedbox[5]); + int newbox[6]; + get_bounds(newbox[0],newbox[1],newbox[2],newbox[3], + newbox[4],newbox[5]); pbc[0] = pbc[1] = pbc[2] = 0; - memory->create(overlap_procs,nprocs,"grid3d:overlap_procs"); - noverlap = maxoverlap = 0; - overlap = nullptr; + Overlap *overlap_old; + int noverlap_old = old->compute_overlap(newbox,pbc,overlap_old); - box_drop(ownedbox,pbc); + // use overlap_old to construct send and copy lists - // use overlaps to construct send and copy lists - self_remap = 0; - nsend_request = 0; - for (int m = 0; m < noverlap; m++) { - if (overlap[m].proc == me) self_remap = 1; + for (int m = 0; m < noverlap_old; m++) { + if (overlap_old[m].proc == me) self_remap = 1; else { - proclist[nsend_request] = overlap[m].proc; - srequest[nsend_request].sender = me; - srequest[nsend_request].index = m; - for (i = 0; i < 6; i++) - srequest[nsend_request].box[i] = overlap[m].box[i]; - nsend_request++; } } + // find overlaps of old decomp owned box with all owned boxes in new decomp + // noverlap = # of overlaps, including self + // overlap = vector of overlap info using Overlap data struct - // send each proc an overlap message + int oldbox[6]; + old->get_bounds(oldbox[0],oldbox[1],oldbox[2],oldbox[3], + oldbox[4],oldbox[5]); + pbc[0] = pbc[1] = pbc[2] = 0; + + Overlap *overlap_new; + int noverlap_new = compute_overlap(oldbox,pbc,overlap_new); + + // use overlaps to construct recv and copy lists - // use received overlaps to construct recv and copy lists + + + // clean-up + + clean_overlap(); + old->clean_overlap(); + nremap_buf1 = 0; @@ -1485,6 +1393,10 @@ void Grid3d::remap_style(T *ptr, int nper, int nbyte, } } +// ---------------------------------------------------------------------- +// gather/scatter grid data between one and many procs for I/O purposes +// ---------------------------------------------------------------------- + /* ---------------------------------------------------------------------- gather global grid values to proc 0, one grid chunk at a time proc 0 pings each proc for its grid chunk @@ -1561,6 +1473,172 @@ void Grid3d::gather(int /*caller*/, void *ptr, int nper, int nbyte, memory->destroy(mybuf); } +// ---------------------------------------------------------------------- +// box drop functions for tiled RCB decompositions +// ---------------------------------------------------------------------- + +/* ---------------------------------------------------------------------- + compute list of overlaps between box and the owned grid boxes of all procs + box = 6 integers = (xlo,xhi,ylo,yhi,zlo,zhi) + box can be only owned cells or owned + ghost cells + pbc = flags for grid periodicity in each dim + if box includes ghost cells, they can overlap PBCs + each lo/hi value may extend beyonw 0 to N-1 into another periodic image +------------------------------------------------------------------------- */ + +int Grid3d::compute_overlap(int *box, int *pbc, Overlap *&overlap) +{ + memory->create(overlap_procs,nprocs,"grid3d:overlap_procs"); + noverlap_list = maxoverlap_list = 0; + overlap_list = nullptr; + + box_drop(box,pbc); + + overlap = overlap_list; + return noverlap_list; +} + +/* ---------------------------------------------------------------------- + recursively split a box until it doesn't overlap any periodic boundaries + box = 6 integers = (xlo,xhi,ylo,yhi,zlo,zhi) + each lo/hi value may extend beyonw 0 to N-1 into another periodic image + pbc = flags in each dim of which periodic image the caller box was in + when a box straddles a periodic bounadry, split it in two + when a box does not straddle, drop it down RCB tree + add all the procs it overlaps with to Overlap list +------------------------------------------------------------------------- */ + +void Grid3d::clean_overlap() +{ + memory->destroy(overlap_procs); + memory->sfree(overlap_list); +} + +/* ---------------------------------------------------------------------- + recursively split a box until it doesn't overlap any periodic boundaries + box = 6 integers = (xlo,xhi,ylo,yhi,zlo,zhi) + each lo/hi value may extend beyonw 0 to N-1 into another periodic image + pbc = flags in each dim of which periodic image the caller box was in + when a box straddles a periodic bounadry, split it in two + when a box does not straddle, drop it down RCB tree + add all the procs it overlaps with to Overlap list +------------------------------------------------------------------------- */ + +void Grid3d::box_drop(int *box, int *pbc) +{ + int i,m; + + // newbox12 and newpbc are initially copies of caller box and pbc + + int newbox1[6],newbox2[6],newpbc[3]; + + for (i = 0; i < 6; i++) newbox1[i] = newbox2[i] = box[i]; + for (i = 0; i < 3; i++) newpbc[i] = pbc[i]; + + // 6 if tests to see if box needs to be split across a periodic boundary + // newbox1 and 2 = new split boxes, newpbc increments current pbc + // final else is no split + + int splitflag = 1; + + if (box[0] < 0) { + newbox1[0] = 0; + newbox2[0] = box[0] + nx; + newbox2[1] = nx - 1; + newpbc[0]--; + } else if (box[1] >= nx) { + newbox1[1] = nx - 1; + newbox2[0] = 0; + newbox2[1] = box[1] - nx; + newpbc[0]++; + } else if (box[2] < 0) { + newbox1[2] = 0; + newbox2[2] = box[2] + ny; + newbox2[3] = ny - 1; + newpbc[1]--; + } else if (box[3] >= ny) { + newbox1[3] = ny - 1; + newbox2[2] = 0; + newbox2[3] = box[3] - ny; + newpbc[1]++; + } else if (box[4] < 0) { + newbox1[4] = 0; + newbox2[4] = box[4] + nz; + newbox2[5] = nz - 1; + newpbc[2]--; + } else if (box[5] >= nz) { + newbox1[5] = nz - 1; + newbox2[4] = 0; + newbox2[5] = box[5] - nz; + newpbc[2]++; + + // box is not split, drop on RCB tree + // returns nprocs = # of procs it overlaps, including self + // returns proc_overlap = list of proc IDs it overlaps + // skip self overlap if no crossing of periodic boundaries + // do not skip self if overlap is in another periodic image + + } else { + splitflag = 0; + int np = 0; + box_drop_grid(box,0,nprocs-1,np,overlap_procs); + for (m = 0; m < np; m++) { + if (noverlap_list == maxoverlap_list) grow_overlap(); + if (overlap_procs[m] == me && + pbc[0] == 0 && pbc[1] == 0 && pbc[2] == 0) continue; + overlap_list[noverlap_list].proc = overlap_procs[m]; + for (i = 0; i < 6; i++) overlap_list[noverlap_list].box[i] = box[i]; + for (i = 0; i < 3; i++) overlap_list[noverlap_list].pbc[i] = pbc[i]; + noverlap_list++; + } + } + + // recurse with 2 split boxes + + if (splitflag) { + box_drop(newbox1,pbc); + box_drop(newbox2,newpbc); + } +} + +/* ---------------------------------------------------------------------- + recursively drop a box down the RCB tree to find all procs it overlaps with + box = 6 integers = (xlo,xhi,ylo,yhi,zlo,zhi) + each lo/hi value ranges from 0 to N-1 in a dim, N = grid size in that dim + box is guaranteed to be wholly within the global domain + return Np = # of procs, plist = proc IDs +------------------------------------------------------------------------- */ + +void Grid3d::box_drop_grid(int *box, int proclower, int procupper, + int &np, int *plist) +{ + // end recursion when partition is a single proc + // add proclower to plist + + if (proclower == procupper) { + plist[np++] = proclower; + return; + } + + // drop box on each side of cut it extends beyond + // use < and >= criteria so does not include a box it only touches + // procmid = 1st processor in upper half of partition + // = location in tree that stores this cut + // cut = index of first grid cell in upper partition + // dim = 0,1,2 dimension of cut + + int procmid = proclower + (procupper - proclower) / 2 + 1; + int dim = rcbinfo[procmid].dim; + int cut = rcbinfo[procmid].cut; + + if (box[2*dim] < cut) box_drop_grid(box,proclower,procmid-1,np,plist); + if (box[2*dim+1] >= cut) box_drop_grid(box,procmid,procupper,np,plist); +} + +// ---------------------------------------------------------------------- +// miscellaneous methods +// ---------------------------------------------------------------------- + /* ---------------------------------------------------------------------- create swap stencil for grid own/ghost communication swaps covers all 3 dimensions and both directions @@ -1585,9 +1663,9 @@ void Grid3d::grow_swap() void Grid3d::grow_overlap() { - maxoverlap += DELTA; - overlap = (Overlap *) - memory->srealloc(overlap,maxoverlap*sizeof(Overlap),"grid3d:overlap"); + maxoverlap_list += DELTA; + overlap_list = (Overlap *) + memory->srealloc(overlap_list,maxoverlap_list*sizeof(Overlap),"grid3d:overlap_list"); } /* ---------------------------------------------------------------------- @@ -1597,7 +1675,7 @@ void Grid3d::grow_overlap() ------------------------------------------------------------------------- */ int Grid3d::indices(int *&list, - int xlo, int xhi, int ylo, int yhi, int zlo, int zhi) + int xlo, int xhi, int ylo, int yhi, int zlo, int zhi) { int nmax = (xhi-xlo+1) * (yhi-ylo+1) * (zhi-zlo+1); memory->create(list,nmax,"grid3d:indices"); diff --git a/src/grid3d.h b/src/grid3d.h index f4a8f0321e..4497716622 100644 --- a/src/grid3d.h +++ b/src/grid3d.h @@ -31,16 +31,20 @@ class Grid3d : protected Pointers { int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int); ~Grid3d() override; + int identical(Grid3d *); void get_size(int &, int &, int &); void get_bounds(int &, int &, int &, int &, int &, int &); void get_bounds_ghost(int &, int &, int &, int &, int &, int &); + void setup(int &, int &); int ghost_adjacent(); void forward_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); void reverse_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); + void setup_remap(Grid3d *, int &, int &); void remap(int, void *, int, int, void *, void *, MPI_Datatype); + void gather(int, void *, int, int, int, void *, MPI_Datatype); protected: @@ -65,7 +69,7 @@ class Grid3d : protected Pointers { int fullzlo, fullzhi; // ------------------------------------------- - // internal variables for REGULAR layout + // internal variables for BRICK layout // ------------------------------------------- int procxlo, procxhi; // 6 neighbor procs that adjoin me @@ -93,34 +97,9 @@ class Grid3d : protected Pointers { // ------------------------------------------- // internal variables for TILED layout // ------------------------------------------- - - int *overlap_procs; // length of Nprocs in communicator + MPI_Request *requests; // length of max messages this proc receives - // RCB tree of cut info - // each proc contributes one value, except proc 0 - - struct RCBinfo { - int dim; // 0,1,2 = which dim the cut is in - int cut; // grid index of lowest cell in upper half of cut - }; - - RCBinfo *rcbinfo; - - // overlap = a proc whose owned cells overlap with my extended ghost box - // includes overlaps across periodic boundaries, can also be self - - struct Overlap { - int proc; // proc whose owned cells overlap my ghost cells - int box[6]; // box that overlaps otherproc's owned cells - // this box is wholly contained within global grid - int pbc[3]; // PBC offsets to convert box to a portion of my ghost box - // my ghost box may extend beyond global grid - }; - - int noverlap, maxoverlap; - Overlap *overlap; - // request = sent to each proc whose owned cells overlap my ghost cells struct Request { @@ -192,18 +171,46 @@ class Grid3d : protected Pointers { Send *send_remap; Recv *recv_remap; Copy copy_remap; + + // ------------------------------------------- + // internal variables for OVERLAP operation + // ------------------------------------------- + int *overlap_procs; // length of Nprocs in communicator + + // RCB tree of cut info + // each proc contributes one value, except proc 0 + + struct RCBinfo { + int dim; // 0,1,2 = which dim the cut is in + int cut; // grid index of lowest cell in upper half of cut + }; + + RCBinfo *rcbinfo; + + // overlap = a proc whose owned cells overlap with my owned or ghost box + // includes overlaps across periodic boundaries, can also be self + + struct Overlap { + int proc; // proc whose owned cells overlap my ghost cells + int box[6]; // box that overlaps otherproc's owned cells + // this box is wholly contained within global grid + int pbc[3]; // PBC offsets to convert box to a portion of my ghost box + // my ghost box may extend beyond global grid + }; + + int noverlap_list, maxoverlap_list; + Overlap *overlap_list; + // ------------------------------------------- // internal methods // ------------------------------------------- void store(int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int); + virtual void setup_brick(int &, int &); virtual void setup_tiled(int &, int &); - void box_drop(int *, int *); - void box_drop_grid(int *, int, int, int &, int *); - int ghost_adjacent_brick(); int ghost_adjacent_tiled(); @@ -216,6 +223,11 @@ class Grid3d : protected Pointers { void setup_remap_tiled(Grid3d *, int &, int &); template void remap_style(T *, int, int, void *, void *, MPI_Datatype); + int compute_overlap(int *, int *, Overlap *&); + void clean_overlap(); + void box_drop(int *, int *); + void box_drop_grid(int *, int, int, int &, int *); + virtual void grow_swap(); void grow_overlap(); From f338b5a1061c31a84f2efde9d98e1ef3bd92867f Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 17 Oct 2022 15:26:36 -0600 Subject: [PATCH 072/142] sync --- src/grid3d.cpp | 48 ++++++++++++++++++------------------------------ 1 file changed, 18 insertions(+), 30 deletions(-) diff --git a/src/grid3d.cpp b/src/grid3d.cpp index 07ff89d6e6..11c459e8b4 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -323,7 +323,6 @@ Grid3d::~Grid3d() memory->sfree(rcbinfo); } - // ---------------------------------------------------------------------- // store and access Grid parameters // ---------------------------------------------------------------------- @@ -1258,6 +1257,7 @@ reverse_comm_tiled(T *ptr, int nper, int nbyte, int which, // ---------------------------------------------------------------------- /* ---------------------------------------------------------------------- + setup remap from old grid decomposition to this grid decomposition return sizes of two buffers needed for communication either for brick decomp or tiling decomp nbuf1 = largest pack or unpack in any Send or Recv or Copy @@ -1268,17 +1268,14 @@ reverse_comm_tiled(T *ptr, int nper, int nbyte, int which, caller converts them to message size for grid data it stores ------------------------------------------------------------------------- */ -/* ---------------------------------------------------------------------- - setup remap from old grid decomposition to this grid decomposition - pack/unpack operations are performed by caller via callbacks -------------------------------------------------------------------------- */ - void Grid3d::setup_remap(Grid3d *old, int &nremap_buf1, int &nremap_buf2) { if (layout == BRICK) setup_remap_brick(old,nremap_buf1,nremap_buf2); else setup_remap_tiled(old,nremap_buf2,nremap_buf2); } +/* ------------------------------------------------------------------------- */ + void Grid3d::setup_remap_brick(Grid3d *old, int &nremap_buf1, int &nremap_buf2) { // NOTE: when to clean up data structs when multiple remaps occur @@ -1288,6 +1285,8 @@ void Grid3d::setup_remap_brick(Grid3d *old, int &nremap_buf1, int &nremap_buf2) nremap_buf2 = 0; } +/* ------------------------------------------------------------------------- */ + void Grid3d::setup_remap_tiled(Grid3d *old, int &nremap_buf1, int &nremap_buf2) { int pbc[3]; @@ -1297,8 +1296,7 @@ void Grid3d::setup_remap_tiled(Grid3d *old, int &nremap_buf1, int &nremap_buf2) // overlap = vector of overlap info using Overlap data struct int newbox[6]; - get_bounds(newbox[0],newbox[1],newbox[2],newbox[3], - newbox[4],newbox[5]); + get_bounds(newbox[0],newbox[1],newbox[2],newbox[3],newbox[4],newbox[5]); pbc[0] = pbc[1] = pbc[2] = 0; Overlap *overlap_old; @@ -1319,8 +1317,7 @@ void Grid3d::setup_remap_tiled(Grid3d *old, int &nremap_buf1, int &nremap_buf2) // overlap = vector of overlap info using Overlap data struct int oldbox[6]; - old->get_bounds(oldbox[0],oldbox[1],oldbox[2],oldbox[3], - oldbox[4],oldbox[5]); + old->get_bounds(oldbox[0],oldbox[1],oldbox[2],oldbox[3],oldbox[4],oldbox[5]); pbc[0] = pbc[1] = pbc[2] = 0; Overlap *overlap_new; @@ -1353,6 +1350,8 @@ void Grid3d::remap(int caller, void *ptr, int nper, int nbyte, if (caller == FIX) remap_style((Fix *) ptr,nper,nbyte,buf1,buf2,datatype); } +/* ------------------------------------------------------------------------- */ + template < class T > void Grid3d::remap_style(T *ptr, int nper, int nbyte, void *buf1, void *vbuf2, MPI_Datatype datatype) @@ -1479,11 +1478,14 @@ void Grid3d::gather(int /*caller*/, void *ptr, int nper, int nbyte, /* ---------------------------------------------------------------------- compute list of overlaps between box and the owned grid boxes of all procs + done via recursive box drop on RCB tree box = 6 integers = (xlo,xhi,ylo,yhi,zlo,zhi) - box can be only owned cells or owned + ghost cells + box can be owned cells or owned + ghost cells pbc = flags for grid periodicity in each dim - if box includes ghost cells, they can overlap PBCs - each lo/hi value may extend beyonw 0 to N-1 into another periodic image + if box includes ghost cells, it can overlap PBCs + each lo/hi value may extend beyond 0 to N-1 into another periodic image + return # of overlaps including with self + return list of overlaps ------------------------------------------------------------------------- */ int Grid3d::compute_overlap(int *box, int *pbc, Overlap *&overlap) @@ -1499,13 +1501,7 @@ int Grid3d::compute_overlap(int *box, int *pbc, Overlap *&overlap) } /* ---------------------------------------------------------------------- - recursively split a box until it doesn't overlap any periodic boundaries - box = 6 integers = (xlo,xhi,ylo,yhi,zlo,zhi) - each lo/hi value may extend beyonw 0 to N-1 into another periodic image - pbc = flags in each dim of which periodic image the caller box was in - when a box straddles a periodic bounadry, split it in two - when a box does not straddle, drop it down RCB tree - add all the procs it overlaps with to Overlap list + deallocate data created by recursive overlap computation ------------------------------------------------------------------------- */ void Grid3d::clean_overlap() @@ -1640,11 +1636,7 @@ void Grid3d::box_drop_grid(int *box, int proclower, int procupper, // ---------------------------------------------------------------------- /* ---------------------------------------------------------------------- - create swap stencil for grid own/ghost communication - swaps covers all 3 dimensions and both directions - swaps cover multiple iterations in a direction if need grid pts - from further away than nearest-neighbor proc - same swap list used by forward and reverse communication + grow list of swaps by DELTA ------------------------------------------------------------------------- */ void Grid3d::grow_swap() @@ -1654,11 +1646,7 @@ void Grid3d::grow_swap() } /* ---------------------------------------------------------------------- - create swap stencil for grid own/ghost communication - swaps covers all 3 dimensions and both directions - swaps cover multiple iterations in a direction if need grid pts - from further away than nearest-neighbor proc - same swap list used by forward and reverse communication + grow list of overlaps by DELTA ------------------------------------------------------------------------- */ void Grid3d::grow_overlap() From bf64deb2c28b5cc6701764a372dd3f45b4a99ebc Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 18 Oct 2022 17:10:16 -0600 Subject: [PATCH 073/142] finish initial version of remap functions for 2d/3d --- src/grid2d.cpp | 133 +++++++++++++++++++++++++++++----------- src/grid2d.h | 1 + src/grid3d.cpp | 161 ++++++++++++++++++++++++++++++++++++++----------- src/grid3d.h | 9 +-- 4 files changed, 230 insertions(+), 74 deletions(-) diff --git a/src/grid2d.cpp b/src/grid2d.cpp index 62876ce647..ecb11af15c 100644 --- a/src/grid2d.cpp +++ b/src/grid2d.cpp @@ -34,11 +34,11 @@ static constexpr int OFFSET = 16384; /* ---------------------------------------------------------------------- NOTES: - tiled implementations only currently work for RCB, not general tilings - b/c RCB tree is used to find neighboring tiles if o indices for ghosts are < 0 or hi indices are >= N, then grid is treated as periodic in that dimension, comm is done across the periodic boundaries + tiled implementations only work for RCB, not general tilings + b/c RCB tree is used to find neighboring tiles ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- @@ -301,8 +301,13 @@ Grid2d::~Grid2d() memory->destroy(copy[i].unpacklist); } memory->sfree(copy); - delete [] requests; + + memory->sfree(rcbinfo); + + // remap data structs + + deallocate_remap(); } // ---------------------------------------------------------------------- @@ -1143,54 +1148,114 @@ void Grid2d::setup_remap_brick(Grid2d *old, int &nremap_buf1, int &nremap_buf2) void Grid2d::setup_remap_tiled(Grid2d *old, int &nremap_buf1, int &nremap_buf2) { + int m; int pbc[2]; + int *box; - // find overlaps of new decomp owned box with all owned boxes in old decomp - // noverlap = # of overlaps, including self - // overlap = vector of overlap info using Overlap data struct + // compute overlaps of old decomp owned box with all owned boxes in new decomp + // noverlap_old = # of overlaps, including self + // overlap_old = vector of overlap info in Overlap data struct - int newbox[6]; - get_bounds(newbox[0],newbox[1],newbox[2],newbox[3]); - pbc[0] = pbc[1] = 0; - - Overlap *overlap_old; - int noverlap_old = old->compute_overlap(newbox,pbc,overlap_old); - - // use overlap_old to construct send and copy lists - - self_remap = 0; - - for (int m = 0; m < noverlap_old; m++) { - if (overlap_old[m].proc == me) self_remap = 1; - else { - } - } - - // find overlaps of old decomp owned box with all owned boxes in new decomp - // noverlap = # of overlaps, including self - // overlap = vector of overlap info using Overlap data struct - - int oldbox[6]; + int oldbox[4]; old->get_bounds(oldbox[0],oldbox[1],oldbox[2],oldbox[3]); pbc[0] = pbc[1] = 0; - Overlap *overlap_new; - int noverlap_new = compute_overlap(oldbox,pbc,overlap_new); - - // use overlaps to construct recv and copy lists - + Overlap *overlap_old; + int noverlap_old = compute_overlap(oldbox,pbc,overlap_old); + // use overlap_old to construct send and copy lists + self_remap = 0; + + nsend_remap = 0; + for (m = 0; m < noverlap_old; m++) { + if (overlap_old[m].proc == me) self_remap =1; + else nsend_remap++; + } + + send_remap = new Send[nsend_remap]; + + nsend_remap = 0; + for (m = 0; m < noverlap_old; m++) { + box = overlap_old[m].box; + if (overlap_old[m].proc == me) { + copy_remap.npack = + old->indices(copy_remap.packlist,box[0],box[1],box[2],box[3]); + } else { + send_remap[nsend_remap].proc = overlap_old[m].proc; + send_remap[nsend_remap].npack = + old->indices(send_remap[nsend_remap].packlist, + box[0],box[1],box[2],box[3]); + } + nsend_remap++; + } + + // compute overlaps of new decomp owned box with all owned boxes in old decomp + // noverlap_new = # of overlaps, including self + // overlap_new = vector of overlap info in Overlap data struct + + int newbox[4]; + get_bounds(newbox[0],newbox[1],newbox[2],newbox[3]); + pbc[0] = pbc[1] = 0; + + Overlap *overlap_new; + int noverlap_new = old->compute_overlap(newbox,pbc,overlap_new); + + // use overlap_new to construct recv and copy lists + // set offsets for Recv data + + nrecv_remap = 0; + for (m = 0; m < noverlap_new; m++) + if (overlap_old[m].proc != me) nrecv_remap++; + + recv_remap = new Recv[nrecv_remap]; + + nrecv_remap = 0; + for (m = 0; m < noverlap_new; m++) { + box = overlap_new[m].box; + if (overlap_new[m].proc == me) { + copy_remap.nunpack = + indices(copy_remap.unpacklist,box[0],box[1],box[2],box[3]); + } else { + recv_remap[nrecv_remap].proc = overlap_new[m].proc; + recv_remap[nrecv_remap].nunpack = + indices(recv_remap[nrecv_remap].unpacklist, + box[0],box[1],box[2],box[3]); + } + nrecv_remap++; + } + + // set offsets for received data + + int offset = 0; + for (m = 0; m < nrecv_remap; m++) { + recv[m].offset = offset; + offset += recv_remap[m].nunpack; + } // clean-up clean_overlap(); old->clean_overlap(); + // nremap_buf1 = largest pack or unpack in any Send or Recv or Copy + // nremap_buf2 = sum of all unpacks in Recv - nremap_buf1 = 0; + + if (self_remap) { + nremap_buf1 = MAX(nremap_buf1,copy_remap.npack); + nremap_buf1 = MAX(nremap_buf1,copy_remap.nunpack); + } + + for (m = 0; m < nsend_remap; m++) + nremap_buf1 = MAX(nremap_buf1,send_remap[m].npack); + nremap_buf2 = 0; + for (m = 0; m < nrecv_remap; m++) { + nremap_buf1 = MAX(nremap_buf1,recv_remap[m].nunpack); + nremap_buf2 += recv_remap[m].nunpack; + } } /* ---------------------------------------------------------------------- diff --git a/src/grid2d.h b/src/grid2d.h index 61778c492f..4f824cf2f3 100644 --- a/src/grid2d.h +++ b/src/grid2d.h @@ -224,6 +224,7 @@ class Grid2d : protected Pointers { virtual void grow_swap(); void grow_overlap(); + void deallocate_remap(); int indices(int *&, int, int, int, int); }; diff --git a/src/grid3d.cpp b/src/grid3d.cpp index 11c459e8b4..058ce24b5d 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -34,11 +34,11 @@ static constexpr int OFFSET = 16384; /* ---------------------------------------------------------------------- NOTES: - tiled implementations only currently work for RCB, not general tilings - b/c RCB tree is used to find neighboring tiles if o indices for ghosts are < 0 or hi indices are >= N, then grid is treated as periodic in that dimension, comm is done across the periodic boundaries + tiled implementations only work for RCB, not general tilings + b/c RCB tree is used to find neighboring tiles ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- @@ -321,8 +321,12 @@ Grid3d::~Grid3d() delete [] requests; memory->sfree(rcbinfo); -} + + // remap data structs + deallocate_remap(); +} + // ---------------------------------------------------------------------- // store and access Grid parameters // ---------------------------------------------------------------------- @@ -401,6 +405,10 @@ void Grid3d::store(int ixlo, int ixhi, int iylo, int iyhi, requests = nullptr; rcbinfo = nullptr; + + nsend_remap = nrecv_remap = self_remap = 0; + send_remap = nullptr; + recv_remap = nullptr; } /* ---------------------------------------------------------------------- */ @@ -1270,6 +1278,8 @@ reverse_comm_tiled(T *ptr, int nper, int nbyte, int which, void Grid3d::setup_remap(Grid3d *old, int &nremap_buf1, int &nremap_buf2) { + deallocate_remap(); + if (layout == BRICK) setup_remap_brick(old,nremap_buf1,nremap_buf2); else setup_remap_tiled(old,nremap_buf2,nremap_buf2); } @@ -1278,9 +1288,6 @@ void Grid3d::setup_remap(Grid3d *old, int &nremap_buf1, int &nremap_buf2) void Grid3d::setup_remap_brick(Grid3d *old, int &nremap_buf1, int &nremap_buf2) { - // NOTE: when to clean up data structs when multiple remaps occur - // NOTE: does a remap also require ghost comm in fix ttm/grid ? - nremap_buf1 = 0; nremap_buf2 = 0; } @@ -1289,54 +1296,116 @@ void Grid3d::setup_remap_brick(Grid3d *old, int &nremap_buf1, int &nremap_buf2) void Grid3d::setup_remap_tiled(Grid3d *old, int &nremap_buf1, int &nremap_buf2) { + int m; int pbc[3]; + int *box; - // find overlaps of new decomp owned box with all owned boxes in old decomp - // noverlap = # of overlaps, including self - // overlap = vector of overlap info using Overlap data struct - - int newbox[6]; - get_bounds(newbox[0],newbox[1],newbox[2],newbox[3],newbox[4],newbox[5]); - pbc[0] = pbc[1] = pbc[2] = 0; - - Overlap *overlap_old; - int noverlap_old = old->compute_overlap(newbox,pbc,overlap_old); - - // use overlap_old to construct send and copy lists - - self_remap = 0; - - for (int m = 0; m < noverlap_old; m++) { - if (overlap_old[m].proc == me) self_remap = 1; - else { - } - } - - // find overlaps of old decomp owned box with all owned boxes in new decomp - // noverlap = # of overlaps, including self - // overlap = vector of overlap info using Overlap data struct + // compute overlaps of old decomp owned box with all owned boxes in new decomp + // noverlap_old = # of overlaps, including self + // overlap_old = vector of overlap info in Overlap data struct int oldbox[6]; old->get_bounds(oldbox[0],oldbox[1],oldbox[2],oldbox[3],oldbox[4],oldbox[5]); pbc[0] = pbc[1] = pbc[2] = 0; - Overlap *overlap_new; - int noverlap_new = compute_overlap(oldbox,pbc,overlap_new); - - // use overlaps to construct recv and copy lists - + Overlap *overlap_old; + int noverlap_old = compute_overlap(oldbox,pbc,overlap_old); + // use overlap_old to construct send and copy lists + self_remap = 0; + + nsend_remap = 0; + for (m = 0; m < noverlap_old; m++) { + if (overlap_old[m].proc == me) self_remap =1; + else nsend_remap++; + } + + send_remap = new Send[nsend_remap]; + + nsend_remap = 0; + for (m = 0; m < noverlap_old; m++) { + box = overlap_old[m].box; + if (overlap_old[m].proc == me) { + copy_remap.npack = + old->indices(copy_remap.packlist, + box[0],box[1],box[2],box[3],box[4],box[5]); + } else { + send_remap[nsend_remap].proc = overlap_old[m].proc; + send_remap[nsend_remap].npack = + old->indices(send_remap[nsend_remap].packlist, + box[0],box[1],box[2],box[3],box[4],box[5]); + } + nsend_remap++; + } + + // compute overlaps of new decomp owned box with all owned boxes in old decomp + // noverlap_new = # of overlaps, including self + // overlap_new = vector of overlap info in Overlap data struct + + int newbox[6]; + get_bounds(newbox[0],newbox[1],newbox[2],newbox[3],newbox[4],newbox[5]); + pbc[0] = pbc[1] = pbc[2] = 0; + + Overlap *overlap_new; + int noverlap_new = old->compute_overlap(newbox,pbc,overlap_new); + + // use overlap_new to construct recv and copy lists + // set offsets for Recv data + + nrecv_remap = 0; + for (m = 0; m < noverlap_new; m++) + if (overlap_old[m].proc != me) nrecv_remap++; + + recv_remap = new Recv[nrecv_remap]; + + nrecv_remap = 0; + for (m = 0; m < noverlap_new; m++) { + box = overlap_new[m].box; + if (overlap_new[m].proc == me) { + copy_remap.nunpack = + indices(copy_remap.unpacklist, + box[0],box[1],box[2],box[3],box[4],box[5]); + } else { + recv_remap[nrecv_remap].proc = overlap_new[m].proc; + recv_remap[nrecv_remap].nunpack = + indices(recv_remap[nrecv_remap].unpacklist, + box[0],box[1],box[2],box[3],box[4],box[5]); + } + nrecv_remap++; + } + + // set offsets for received data + + int offset = 0; + for (m = 0; m < nrecv_remap; m++) { + recv[m].offset = offset; + offset += recv_remap[m].nunpack; + } // clean-up clean_overlap(); old->clean_overlap(); + // nremap_buf1 = largest pack or unpack in any Send or Recv or Copy + // nremap_buf2 = sum of all unpacks in Recv - nremap_buf1 = 0; + + if (self_remap) { + nremap_buf1 = MAX(nremap_buf1,copy_remap.npack); + nremap_buf1 = MAX(nremap_buf1,copy_remap.nunpack); + } + + for (m = 0; m < nsend_remap; m++) + nremap_buf1 = MAX(nremap_buf1,send_remap[m].npack); + nremap_buf2 = 0; + for (m = 0; m < nrecv_remap; m++) { + nremap_buf1 = MAX(nremap_buf1,recv_remap[m].nunpack); + nremap_buf2 += recv_remap[m].nunpack; + } } /* ---------------------------------------------------------------------- @@ -1656,6 +1725,26 @@ void Grid3d::grow_overlap() memory->srealloc(overlap_list,maxoverlap_list*sizeof(Overlap),"grid3d:overlap_list"); } +/* ---------------------------------------------------------------------- + deallocate remap data structs +------------------------------------------------------------------------- */ + +void Grid3d::deallocate_remap() +{ + for (int i = 0; i < nsend_remap; i++) + memory->destroy(send_remap[i].packlist); + memory->sfree(send_remap); + + for (int i = 0; i < nrecv_remap; i++) + memory->destroy(recv_remap[i].unpacklist); + memory->sfree(recv_remap); + + if (self_remap) { + memory->destroy(copy_remap.packlist); + memory->destroy(copy_remap.unpacklist); + } +} + /* ---------------------------------------------------------------------- create 1d list of offsets into 3d array section (xlo:xhi,ylo:yhi,zlo:zhi) assume 3d array is allocated as diff --git a/src/grid3d.h b/src/grid3d.h index 4497716622..2fb953e276 100644 --- a/src/grid3d.h +++ b/src/grid3d.h @@ -192,10 +192,10 @@ class Grid3d : protected Pointers { // includes overlaps across periodic boundaries, can also be self struct Overlap { - int proc; // proc whose owned cells overlap my ghost cells - int box[6]; // box that overlaps otherproc's owned cells + int proc; // proc whose cells overlap my cells + int box[6]; // box of my cells which overlap proc's cells // this box is wholly contained within global grid - int pbc[3]; // PBC offsets to convert box to a portion of my ghost box + int pbc[3]; // PBC offsets to convert my box to a portion of my ghost box // my ghost box may extend beyond global grid }; @@ -230,7 +230,8 @@ class Grid3d : protected Pointers { virtual void grow_swap(); void grow_overlap(); - + void deallocate_remap(); + int indices(int *&, int, int, int, int, int, int); }; From 45c1c1e53bc23059f26a104f2a10ed202fa0e134 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 19 Oct 2022 14:12:57 -0600 Subject: [PATCH 074/142] add regular grid remap logic --- src/comm.h | 8 ++-- src/grid2d.cpp | 62 +++++++++++++++++++++++--- src/grid2d.h | 1 + src/grid3d.cpp | 116 ++++++++++++++++++++++++++++++++++++++++--------- src/grid3d.h | 5 +-- 5 files changed, 159 insertions(+), 33 deletions(-) diff --git a/src/comm.h b/src/comm.h index 43fabb1b67..3a422f32f1 100644 --- a/src/comm.h +++ b/src/comm.h @@ -46,11 +46,11 @@ class Comm : protected Pointers { // public settings specific to layout = UNIFORM, NONUNIFORM - int procgrid[3]; // procs assigned in each dim of 3d grid - int user_procgrid[3]; // user request for procs in each dim - int myloc[3]; // which proc I am in each dim + int procgrid[3]; // proc count assigned to each dim of 3d grid + int user_procgrid[3]; // user request for proc counts in each dim + int myloc[3]; // which proc I am in each dim, 0 to N-1 int procneigh[3][2]; // my 6 neighboring procs, 0/1 = left/right - double *xsplit, *ysplit, *zsplit; // fractional (0-1) sub-domain sizes + double *xsplit, *ysplit, *zsplit; // fractional (0-1) sub-domain sizes, includes 0/1 int ***grid2proc; // which proc owns i,j,k loc in 3d grid // public settings specific to layout = TILED diff --git a/src/grid2d.cpp b/src/grid2d.cpp index ecb11af15c..0696162e02 100644 --- a/src/grid2d.cpp +++ b/src/grid2d.cpp @@ -1386,13 +1386,19 @@ void Grid2d::gather(int /*caller*/, void *ptr, int nper, int nbyte, } // ---------------------------------------------------------------------- -// box drop functions for tiled RCB decompositions +// overlap methods for brick and tiled RCB decompositions +// overlap = overlap of owned or owned+ghost box with all boxes of a decomposition +// for owned/ghost grid comm, called only by tiled decomposition +// brick decomp uses one or more comm passes with neigh procs +// like forward/reverse comm for atoms +// for remap, called by both brick and tiled decompositions // ---------------------------------------------------------------------- /* ---------------------------------------------------------------------- compute list of overlaps between box and the owned grid boxes of all procs - done via recursive box drop on RCB tree - box = 6 integers = (xlo,xhi,ylo,yhi,zlo,zhi) + for brick decomp, done using Comm::grid2proc data struct + for tiled decomp, done via recursive box drop on RCB tree + box = 4 integers = (xlo,xhi,ylo,yhi) box can be owned cells or owned + ghost cells pbc = flags for grid periodicity in each dim if box includes ghost cells, it can overlap PBCs @@ -1403,11 +1409,57 @@ void Grid2d::gather(int /*caller*/, void *ptr, int nper, int nbyte, int Grid2d::compute_overlap(int *box, int *pbc, Overlap *&overlap) { - memory->create(overlap_procs,nprocs,"grid3d:overlap_procs"); + memory->create(overlap_procs,nprocs,"grid2d:overlap_procs"); noverlap_list = maxoverlap_list = 0; overlap_list = nullptr; - box_drop(box,pbc); + if (layout == BRICK) { + + // find comm->procgrid indices in each dim for box bounds + + int iproclo = find_proc_index(box[0],ngrid[0],0,comm->xsplit); + int iprochi = find_proc_index(box[1],ngrid[0],0,comm->xsplit); + int jproclo = find_proc_index(box[2],ngrid[1],1,comm->ysplit); + int jprochi = find_proc_index(box[3],ngrid[1],1,comm->ysplit); + + // save comm->myloc values so can overwrite them k,j,i triple loop + // b/c comm->partition_grid uses comm->myloc + + int save_myloc[3]; + save_myloc[0] = comm->myloc[0]; + save_myloc[1] = comm->myloc[1]; + save_myloc[2] = comm->myloc[2]; + + int obox[6]; + + for (int k = 0; k <= 0; k++) + for (int j = jproclo; j <= jprochi; j++) + for (int i = iproclo; i <= iprochi; i++) { + comm->myloc[0] = i; + comm->myloc[1] = j; + comm->myloc[2] = k; + + comm->partition_grid(ngrid[0],ngrid[1],1,0.0, + obox[0],obox[1],obox[2],obox[3],obox[4],obox[5]); + + if (noverlap_list == maxoverlap_list) grow_overlap(); + overlap[noverlap_list].proc = comm->grid2proc[i][j][k]; + overlap[noverlap_list].box[0] = MAX(box[0],obox[0]); + overlap[noverlap_list].box[1] = MIN(box[1],obox[1]); + overlap[noverlap_list].box[2] = MAX(box[2],obox[2]); + overlap[noverlap_list].box[3] = MIN(box[3],obox[3]); + noverlap_list++; + } + + // restore comm->myloc values + + comm->myloc[0] = save_myloc[0]; + comm->myloc[1] = save_myloc[1]; + comm->myloc[2] = save_myloc[2]; + + } else if (layout == TILED) { + box_drop(box,pbc); + } overlap = overlap_list; return noverlap_list; diff --git a/src/grid2d.h b/src/grid2d.h index 4f824cf2f3..da2c09dbf3 100644 --- a/src/grid2d.h +++ b/src/grid2d.h @@ -227,6 +227,7 @@ class Grid2d : protected Pointers { void deallocate_remap(); int indices(int *&, int, int, int, int); + int find_proc_index(int, int, int, double *); }; } // namespace LAMMPS_NS diff --git a/src/grid3d.cpp b/src/grid3d.cpp index 058ce24b5d..a6a5c631e5 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -1277,29 +1277,15 @@ reverse_comm_tiled(T *ptr, int nper, int nbyte, int which, ------------------------------------------------------------------------- */ void Grid3d::setup_remap(Grid3d *old, int &nremap_buf1, int &nremap_buf2) -{ - deallocate_remap(); - - if (layout == BRICK) setup_remap_brick(old,nremap_buf1,nremap_buf2); - else setup_remap_tiled(old,nremap_buf2,nremap_buf2); -} - -/* ------------------------------------------------------------------------- */ - -void Grid3d::setup_remap_brick(Grid3d *old, int &nremap_buf1, int &nremap_buf2) -{ - nremap_buf1 = 0; - nremap_buf2 = 0; -} - -/* ------------------------------------------------------------------------- */ - -void Grid3d::setup_remap_tiled(Grid3d *old, int &nremap_buf1, int &nremap_buf2) { int m; int pbc[3]; int *box; + // deallocated existing remap data structs + + deallocate_remap(); + // compute overlaps of old decomp owned box with all owned boxes in new decomp // noverlap_old = # of overlaps, including self // overlap_old = vector of overlap info in Overlap data struct @@ -1542,12 +1528,18 @@ void Grid3d::gather(int /*caller*/, void *ptr, int nper, int nbyte, } // ---------------------------------------------------------------------- -// box drop functions for tiled RCB decompositions +// overlap methods for brick and tiled RCB decompositions +// overlap = overlap of owned or owned+ghost box with all boxes of a decomposition +// for owned/ghost grid comm, called only by tiled decomposition +// brick decomp uses one or more comm passes with neigh procs +// like forward/reverse comm for atoms +// for remap, called by both brick and tiled decompositions // ---------------------------------------------------------------------- /* ---------------------------------------------------------------------- compute list of overlaps between box and the owned grid boxes of all procs - done via recursive box drop on RCB tree + for brick decomp, done using Comm::grid2proc data struct + for tiled decomp, done via recursive box drop on RCB tree box = 6 integers = (xlo,xhi,ylo,yhi,zlo,zhi) box can be owned cells or owned + ghost cells pbc = flags for grid periodicity in each dim @@ -1563,7 +1555,57 @@ int Grid3d::compute_overlap(int *box, int *pbc, Overlap *&overlap) noverlap_list = maxoverlap_list = 0; overlap_list = nullptr; - box_drop(box,pbc); + if (layout == BRICK) { + + // find comm->procgrid indices in each dim for box bounds + + int iproclo = find_proc_index(box[0],ngrid[0],0,comm->xsplit); + int iprochi = find_proc_index(box[1],ngrid[0],0,comm->xsplit); + int jproclo = find_proc_index(box[2],ngrid[1],1,comm->ysplit); + int jprochi = find_proc_index(box[3],ngrid[1],1,comm->ysplit); + int kproclo = find_proc_index(box[4],ngrid[2],2,comm->zsplit); + int kprochi = find_proc_index(box[5],ngrid[2],2,comm->zsplit); + + // save comm->myloc values so can overwrite them k,j,i triple loop + // b/c comm->partition_grid uses comm->myloc + + int save_myloc[3]; + save_myloc[0] = comm->myloc[0]; + save_myloc[1] = comm->myloc[1]; + save_myloc[2] = comm->myloc[2]; + + int obox[6]; + + for (int k = kproclo; k <= kprochi; k++) + for (int j = jproclo; j <= jprochi; j++) + for (int i = iproclo; i <= iprochi; i++) { + comm->myloc[0] = i; + comm->myloc[1] = j; + comm->myloc[2] = k; + + comm->partition_grid(ngrid[0],ngrid[1],ngrid[2],0.0, + obox[0],obox[1],obox[2],obox[3],obox[4],obox[5]); + + if (noverlap_list == maxoverlap_list) grow_overlap(); + overlap[noverlap_list].proc = comm->grid2proc[i][j][k]; + overlap[noverlap_list].box[0] = MAX(box[0],obox[0]); + overlap[noverlap_list].box[1] = MIN(box[1],obox[1]); + overlap[noverlap_list].box[2] = MAX(box[2],obox[2]); + overlap[noverlap_list].box[3] = MIN(box[3],obox[3]); + overlap[noverlap_list].box[4] = MAX(box[4],obox[4]); + overlap[noverlap_list].box[5] = MIN(box[5],obox[5]); + noverlap_list++; + } + + // restore comm->myloc values + + comm->myloc[0] = save_myloc[0]; + comm->myloc[1] = save_myloc[1]; + comm->myloc[2] = save_myloc[2]; + + } else if (layout == TILED) { + box_drop(box,pbc); + } overlap = overlap_list; return noverlap_list; @@ -1770,3 +1812,35 @@ int Grid3d::indices(int *&list, return nmax; } + +/* ---------------------------------------------------------------------- + find the comm->procgrid index for which proc owns the igrid index + igrid = grid index (0 to N-1) in dim + n = # of grid points in dim + dim = which dimension (0,1,2) + split = comm->x/y/z split for fractional bounds of each proc domain +------------------------------------------------------------------------- */ + +int Grid3d::find_proc_index(int igrid, int n, int dim, double *split) +{ + int gridlo,gridhi; + double fraclo,frachi; + + // loop over # of procs in this dime + // compute the grid bounds for that proc, same as comm->partition_grid() + // if igrid falls within those bounds, return m = proc index + + int m; + for (m = 0; m < comm->procgrid[dim]; m++) { + fraclo = split[m]; + frachi = split[m+1]; + gridlo = static_cast (fraclo * n); + if (1.0*gridlo != fraclo*n) gridlo++; + gridhi = static_cast (frachi * n); + if (1.0*gridhi == frachi*n) gridhi--; + + if (igrid >= gridlo && igrid <= gridhi) break; + } + + return m; +} diff --git a/src/grid3d.h b/src/grid3d.h index 2fb953e276..7ffa7eb5c0 100644 --- a/src/grid3d.h +++ b/src/grid3d.h @@ -208,7 +208,7 @@ class Grid3d : protected Pointers { void store(int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int); - + virtual void setup_brick(int &, int &); virtual void setup_tiled(int &, int &); int ghost_adjacent_brick(); @@ -219,8 +219,6 @@ class Grid3d : protected Pointers { template void reverse_comm_brick(T *, int, int, int, void *, void *, MPI_Datatype); template void reverse_comm_tiled(T *, int, int, int, void *, void *, MPI_Datatype); - void setup_remap_brick(Grid3d *, int &, int &); - void setup_remap_tiled(Grid3d *, int &, int &); template void remap_style(T *, int, int, void *, void *, MPI_Datatype); int compute_overlap(int *, int *, Overlap *&); @@ -233,6 +231,7 @@ class Grid3d : protected Pointers { void deallocate_remap(); int indices(int *&, int, int, int, int, int, int); + int find_proc_index(int, int, int, double *); }; } // namespace LAMMPS_NS From ec5b344a9f6773200724bda0873c91e55c3b54b2 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 20 Oct 2022 17:18:48 -0600 Subject: [PATCH 075/142] read/write from/to file for grid data --- src/EXTRA-FIX/fix_ttm_grid.cpp | 262 ++++++++++++++++----------------- src/EXTRA-FIX/fix_ttm_grid.h | 18 +-- src/fix.h | 7 +- src/grid2d.cpp | 100 +++++++++---- src/grid2d.h | 8 +- src/grid3d.cpp | 106 ++++++++----- src/grid3d.h | 6 +- src/write_restart.cpp | 2 +- 8 files changed, 300 insertions(+), 209 deletions(-) diff --git a/src/EXTRA-FIX/fix_ttm_grid.cpp b/src/EXTRA-FIX/fix_ttm_grid.cpp index 862e487d1b..958c2d2dc1 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.cpp +++ b/src/EXTRA-FIX/fix_ttm_grid.cpp @@ -56,9 +56,10 @@ FixTTMGrid::FixTTMGrid(LAMMPS *lmp, int narg, char **arg) : { pergrid_flag = 1; pergrid_freq = 1; + restart_file = 1; if (outfile) error->all(FLERR,"Fix ttm/grid does not support outfile option - " - "use dump grid command instead"); + "use dump grid command or restart files instead"); skin_original = neighbor->skin; } @@ -275,16 +276,13 @@ void FixTTMGrid::end_of_step() /* ---------------------------------------------------------------------- read electron temperatures on grid from a user-specified file - proc 0 reads one chunk at a time, broadcasts to other procs - each proc stores values for grid points it owns ------------------------------------------------------------------------- */ void FixTTMGrid::read_electron_temperatures(const std::string &filename) { - int ***T_initial_set; - memory->create3d_offset(T_initial_set, nzlo_in, nzhi_in, nylo_in, nyhi_in, nxlo_in, nxhi_in, - "ttm/grid:T_initial_set"); - memset(&T_initial_set[nzlo_in][nylo_in][nxlo_in], 0, ngridown * sizeof(int)); + memory->create3d_offset(T_electron_read, nzlo_in, nzhi_in, nylo_in, nyhi_in, nxlo_in, nxhi_in, + "ttm/grid:T_electron_read"); + memset(&T_electron_read[nzlo_in][nylo_in][nxlo_in], 0, ngridown * sizeof(int)); // proc 0 opens file @@ -294,71 +292,149 @@ void FixTTMGrid::read_electron_temperatures(const std::string &filename) if (!fp) error->one(FLERR, "Cannot open grid file: {}: {}", filename, utils::getsyserror()); } - // read electron temperature values from file, one chunk at a time + // read the file + // Grid3d::read_file() calls back to read_grid_lines() with chunks of lines - auto buffer = new char[CHUNK * MAXLINE]; - bigint ntotal = (bigint) nxgrid * nygrid * nzgrid; - bigint nread = 0; - - while (nread < ntotal) { - int nchunk = MIN(ntotal - nread, CHUNK); - int eof = utils::read_lines_from_file(fp, nchunk, MAXLINE, buffer, comm->me, world); - if (eof) error->all(FLERR, "Unexpected end of data file"); - - // loop over lines of grid point values - // tokenize the line into ix,iy,iz grid index plus temperature value - // if I own grid point, store the value - - for (const auto &line : utils::split_lines(buffer)) { - try { - ValueTokenizer values(utils::trim_comment(line)); - if (values.count() == 0) { - ; // ignore comment only lines - } else if (values.count() == 4) { - ++nread; - - int ix = values.next_int(); - int iy = values.next_int(); - int iz = values.next_int(); - - if (ix < 0 || ix >= nxgrid || iy < 0 || iy >= nygrid || iz < 0 || iz >= nzgrid) - throw TokenizerException("Fix ttm/grid invalid grid index in input", ""); - - if (ix >= nxlo_in && ix <= nxhi_in && iy >= nylo_in && iy <= nyhi_in && iz >= nzlo_in && - iz <= nzhi_in) { - T_electron[iz][iy][ix] = values.next_double(); - T_initial_set[iz][iy][ix] = 1; - } - } else { - throw TokenizerException("Incorrect format in fix ttm electron grid file", ""); - } - } catch (std::exception &e) { - error->one(FLERR, e.what()); - } - } - } + grid->read_file(Grid3d::FIX,this,fp,CHUNK,MAXLINE); // close file if (comm->me == 0) fclose(fp); - // clean up - - delete[] buffer; - // check completeness of input data int flag = 0; for (int iz = nzlo_in; iz <= nzhi_in; iz++) for (int iy = nylo_in; iy <= nyhi_in; iy++) for (int ix = nxlo_in; ix <= nxhi_in; ix++) - if (T_initial_set[iz][iy][ix] == 0) flag = 1; + if (T_electron_read[iz][iy][ix] == 0) flag = 1; int flagall; MPI_Allreduce(&flag, &flagall, 1, MPI_INT, MPI_SUM, world); if (flagall) error->all(FLERR, "Fix ttm/grid infile did not set all temperatures"); - memory->destroy3d_offset(T_initial_set, nzlo_in, nylo_in, nxlo_in); + memory->destroy3d_offset(T_electron_read, nzlo_in, nylo_in, nxlo_in); +} + +/* ---------------------------------------------------------------------- + process a chunk of lines in buffer + each proc stores values for grid points it owns + called back to from Grid3d::read_file() +------------------------------------------------------------------------- */ + +int FixTTMGrid::unpack_read_grid(char *buffer) +{ + // loop over chunk of lines of grid point values + // skip comment lines + // tokenize the line into ix,iy,iz grid index plus temperature value + // if I own grid point, store the value + + int nread = 0; + + for (const auto &line : utils::split_lines(buffer)) { + try { + ValueTokenizer values(utils::trim_comment(line)); + if (values.count() == 0) { + ; // ignore comment only lines + } else if (values.count() == 4) { + ++nread; + + int ix = values.next_int(); + int iy = values.next_int(); + int iz = values.next_int(); + + if (ix < 0 || ix >= nxgrid || iy < 0 || iy >= nygrid || iz < 0 || iz >= nzgrid) + throw TokenizerException("Fix ttm/grid invalid grid index in input", ""); + + if (ix >= nxlo_in && ix <= nxhi_in && iy >= nylo_in && iy <= nyhi_in && iz >= nzlo_in && + iz <= nzhi_in) { + T_electron[iz][iy][ix] = values.next_double(); + T_electron_read[iz][iy][ix] = 1; + } + } else { + throw TokenizerException("Incorrect format in fix ttm electron grid file", ""); + } + } catch (std::exception &e) { + error->one(FLERR, e.what()); + } + } + + return nread; +} + +/* ---------------------------------------------------------------------- + write electron temperatures on grid to file + identical format to infile option, so info can be read in when restarting + each proc contributes info for its portion of grid +------------------------------------------------------------------------- */ + +void FixTTMGrid::write_restart_file(const char *file) +{ + // proc 0 opens file and writes header + + if (comm->me == 0) { + auto outfile = std::string(file) + ".ttm"; + fpout = fopen(outfile.c_str(),"w"); + if (fpout == nullptr) + error->one(FLERR,"Cannot open fix ttm/grid restart file {}: {}",outfile,utils::getsyserror()); + + bigint ngrid = (bigint) nxgrid * nygrid * nzgrid; + fmt::print(fpout,"# fix ttm electron temperature on grid for " + "{} grid points on timestep {}\n\n",ngrid,update->ntimestep); + } + + // write file + // Grid3d::write_file() calls back to pack_write_file() and unpack_write_file() + + grid->write_file(Grid3d::FIX,this,0,1,sizeof(double), MPI_DOUBLE); + + // close file + + if (comm->me == 0) fclose(fpout); +} + +/* ---------------------------------------------------------------------- + pack values from local grid into buf +------------------------------------------------------------------------- */ + +void FixTTMGrid::pack_write_grid(int /*which*/, void *vbuf) +{ + int ix, iy, iz; + + auto buf = (double *) vbuf; + + int m = 0; + for (iz = nzlo_in; iz <= nzhi_in; iz++) + for (iy = nylo_in; iy <= nyhi_in; iy++) + for (ix = nxlo_in; ix <= nxhi_in; ix++) + buf[m++] = T_electron[iz][iy][ix]; +} + +/* ---------------------------------------------------------------------- + unpcak values from buf and write them to restart file +------------------------------------------------------------------------- */ + +void FixTTMGrid::unpack_write_grid(int /*which*/, void *vbuf, int *bounds) +{ + int ix, iy, iz; + + int xlo = bounds[0]; + int xhi = bounds[1]; + int ylo = bounds[2]; + int yhi = bounds[3]; + int zlo = bounds[4]; + int zhi = bounds[5]; + + auto buf = (double *) vbuf; + double value; + + int m = 0; + for (iz = zlo; iz <= zhi; iz++) + for (iy = ylo; iy <= yhi; iy++) + for (ix = xlo; ix <= xhi; ix++) { + value = buf[m++]; + fprintf(fpout, "%d %d %d %20.16g\n", ix, iy, iz, value); + } } /* ---------------------------------------------------------------------- @@ -540,82 +616,6 @@ void FixTTMGrid::deallocate_grid() memory->destroy3d_offset(net_energy_transfer, nzlo_out, nylo_out, nxlo_out); } -/* ---------------------------------------------------------------------- - pack entire state of Fix into one write -------------------------------------------------------------------------- */ - -void FixTTMGrid::write_restart(FILE *fp) -{ - error->all(FLERR,"Fix ttm/grid command does not yet support " - "writing a distributed grid to a restart file"); -} - -/* ---------------------------------------------------------------------- - use state info from restart file to restart the Fix -------------------------------------------------------------------------- */ - -void FixTTMGrid::restart(char *buf) -{ - error->all(FLERR,"Fix ttm/grid command does not yet support " - "reading a distributed grid from a restart file"); -} - -/* ---------------------------------------------------------------------- - pack values from local grid into buf - used by which = 0 and 1 - NOTE: remove this function when ready to release -------------------------------------------------------------------------- */ - -void FixTTMGrid::pack_gather_grid(int /*which*/, void *vbuf) -{ - int ix, iy, iz; - - auto buf = (double *) vbuf; - - int m = 0; - for (iz = nzlo_in; iz <= nzhi_in; iz++) - for (iy = nylo_in; iy <= nyhi_in; iy++) - for (ix = nxlo_in; ix <= nxhi_in; ix++) buf[m++] = T_electron[iz][iy][ix]; -} - -/* ---------------------------------------------------------------------- - which = 0: unpack values from buf into global gbuf based on their indices - which = 1: print values from buf to FPout file - NOTE: remove this function when ready to release -------------------------------------------------------------------------- */ - -void FixTTMGrid::unpack_gather_grid(int which, void *vbuf, void *vgbuf, int xlo, int xhi, int ylo, - int yhi, int zlo, int zhi) -{ - int ix, iy, iz; - - auto buf = (double *) vbuf; - auto gbuf = (double *) vgbuf; - - if (which == 0) { - int iglobal; - int ilocal = 0; - - for (iz = zlo; iz <= zhi; iz++) - for (iy = ylo; iy <= yhi; iy++) - for (ix = xlo; ix <= xhi; ix++) { - iglobal = nygrid * nxgrid * iz + nxgrid * iy + ix; - gbuf[iglobal] = buf[ilocal++]; - } - - } else if (which == 1) { - int ilocal = 0; - double value; - - for (iz = zlo; iz <= zhi; iz++) - for (iy = ylo; iy <= yhi; iy++) - for (ix = xlo; ix <= xhi; ix++) { - value = buf[ilocal++]; - fprintf(FPout, "%d %d %d %20.16g\n", ix, iy, iz, value); - } - } -} - /* ---------------------------------------------------------------------- return index of grid associated with name this class can store M named grids, indexed 0 to M-1 diff --git a/src/EXTRA-FIX/fix_ttm_grid.h b/src/EXTRA-FIX/fix_ttm_grid.h index 5486dbb39b..cbc4804d95 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.h +++ b/src/EXTRA-FIX/fix_ttm_grid.h @@ -32,6 +32,9 @@ class FixTTMGrid : public FixTTM { void init() override; void post_force(int) override; void end_of_step() override; + void write_restart_file(const char *) override; + double compute_vector(int) override; + double memory_usage() override; // grid communication @@ -43,27 +46,22 @@ class FixTTMGrid : public FixTTM { void unpack_reverse_grid(int, void *, int, int *) override; void pack_remap_grid(void *, int, int *) override; void unpack_remap_grid(void *, int, int *) override; - void pack_gather_grid(int, void *) override; - void unpack_gather_grid(int, void *, void *, int, int, int, int, int, int) override; - - void write_restart(FILE *) override; - void restart(char *) override; + int unpack_read_grid(char *) override; + void pack_write_grid(int, void *) override; + void unpack_write_grid(int, void *, int *) override; int get_grid_by_name(const std::string &, int &) override; void *get_grid_by_index(int) override; int get_griddata_by_name(int, const std::string &, int &) override; void *get_griddata_by_index(int) override; - double compute_vector(int) override; - double memory_usage() override; - private: int ngridown, ngridout; int nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, nzhi_in; int nxlo_out, nxhi_out, nylo_out, nyhi_out, nzlo_out, nzhi_out; double delxinv, delyinv, delzinv; double skin_original; - FILE *FPout; + FILE *fpout; class Grid3d *grid; class Grid3d *grid_previous; @@ -71,6 +69,8 @@ class FixTTMGrid : public FixTTM { int ngrid_buf1, ngrid_buf2; double *grid_buf1, *grid_buf2; + double ***T_electron_read; + void allocate_grid() override; void deallocate_grid() override; void read_electron_temperatures(const std::string &) override; diff --git a/src/fix.h b/src/fix.h index dc2d7f933f..6dfb383091 100644 --- a/src/fix.h +++ b/src/fix.h @@ -219,9 +219,10 @@ class Fix : protected Pointers { virtual void unpack_reverse_grid(int, void *, int, int *){}; virtual void pack_remap_grid(void *, int, int *){}; virtual void unpack_remap_grid(void *, int, int *){}; - virtual void pack_gather_grid(int, void *){}; - virtual void unpack_gather_grid(int, void *, void *, int, int, int, int, int, int){}; - + virtual int unpack_read_grid(char *) {return 0;}; + virtual void pack_write_grid(int, void *){}; + virtual void unpack_write_grid(int, void *, int *){}; + virtual int get_grid_by_name(const std::string &, int &) { return -1; }; virtual void *get_grid_by_index(int) { return nullptr; }; virtual int get_griddata_by_name(int, const std::string &, int &) { return -1; }; diff --git a/src/grid2d.cpp b/src/grid2d.cpp index 0696162e02..edbfc5623d 100644 --- a/src/grid2d.cpp +++ b/src/grid2d.cpp @@ -1312,40 +1312,84 @@ void Grid2d::remap_style(T *ptr, int nper, int nbyte, } // ---------------------------------------------------------------------- -// gather/scatter grid data between one and many procs for I/O purposes +// grid I/O methods // ---------------------------------------------------------------------- /* ---------------------------------------------------------------------- - gather global grid values to proc 0, one grid chunk at a time - proc 0 pings each proc for its grid chunk - pack/unpack operations are performed by caller via callbacks - caller can decide whether to store chunks, output them, etc + read grid values from a file ------------------------------------------------------------------------- */ -void Grid2d::gather(int /*caller*/, void *ptr, int nper, int nbyte, - int which, void *buf, MPI_Datatype datatype) +void Grid2d::read_file(int caller, void *ptr, FILE *fp, int nchunk, int maxline) +{ + if (caller == FIX) + read_file_style((Fix *) ptr,fp,nchunk,maxline); +} + +/* ---------------------------------------------------------------------- + proc 0 reads one chunk of lines at a time from file + broadcast chunk buffer to other procs + call back to caller so it can process the chunk of lines + caller returns count of grid-value lines in chunk +------------------------------------------------------------------------- */ + +template < class T > +void Grid2d::read_file_style(T *ptr, FILE *fp, int nchunk, int maxline) +{ + auto buffer = new char[nchunk * maxline]; + bigint ntotal = (bigint) ngrid[0] * ngrid[1]; + bigint nread = 0; + + while (nread < ntotal) { + int nchunk = MIN(ntotal - nread, nchunk); + int eof = utils::read_lines_from_file(fp, nchunk, maxline, buffer, comm->me, world); + if (eof) error->all(FLERR, "Unexpected end of grid data file"); + + nread += ptr->unpack_read_grid(buffer); + } +} + +/* ---------------------------------------------------------------------- + write grid values to a file +------------------------------------------------------------------------- */ + +void Grid2d::write_file(int caller, void *ptr, int which, + int nper, int nbyte, MPI_Datatype datatype) +{ + if (caller == FIX) + write_file_style((Fix *) ptr, which, nper, nbyte, datatype); +} + +/* ---------------------------------------------------------------------- + proc 0 reads one chunk of lines at a time from file + broadcast chunk buffer to other procs + call back to caller so it can process the chunk of lines + caller returns count of grid-value lines in chunk +------------------------------------------------------------------------- */ + +template < class T > +void Grid2d::write_file_style(T *ptr, int which, + int nper, int nbyte, MPI_Datatype datatype) { int me = comm->me; - Fix *fptr = (Fix *) ptr; - // maxsize = max grid data owned by any proc + // maxsize = max size of grid data owned by any proc int mysize = (inxhi-inxlo+1) * (inyhi-inylo+1); mysize *= nper; int maxsize; MPI_Allreduce(&mysize,&maxsize,1,MPI_INT,MPI_MAX,world); - // pack my data via callback to caller + // pack my grid data via callback to caller - char *mybuf; - if (me == 0) memory->create(mybuf,maxsize*nbyte,"grid2d:mybuf"); - else memory->create(mybuf,mysize*nbyte,"grid2d:mybuf"); - fptr->pack_gather_grid(which,mybuf); + char *onebuf; + if (me == 0) memory->create(onebuf,maxsize*nbyte,"grid3d:onebuf"); + else memory->create(onebuf,mysize*nbyte,"grid3d:onebuf"); + ptr->pack_write_grid(which,onebuf); - // ping each proc for its data - // unpack into full buffer via callback to caller + // ping each proc for its grid data + // call back to caller with each proc's grid data - int xlo,xhi,ylo,yhi,tmp; + int tmp; int bounds[4]; if (me == 0) { @@ -1354,27 +1398,23 @@ void Grid2d::gather(int /*caller*/, void *ptr, int nper, int nbyte, for (int iproc = 0; iproc < nprocs; iproc++) { if (iproc) { - MPI_Irecv(mybuf,maxsize,datatype,iproc,0,world,&request); + MPI_Irecv(onebuf,maxsize,datatype,iproc,0,world,&request); MPI_Send(&tmp,0,MPI_INT,iproc,0,world); MPI_Wait(&request,&status); MPI_Recv(bounds,4,MPI_INT,iproc,0,world,&status); - xlo = bounds[0]; - xhi = bounds[1]; - ylo = bounds[2]; - yhi = bounds[3]; } else { - xlo = inxlo; - xhi = inxhi; - ylo = inylo; - yhi = inyhi; + bounds[0] = inxlo; + bounds[1] = inxhi; + bounds[2] = inylo; + bounds[3] = inyhi; } - fptr->unpack_gather_grid(which,mybuf,buf,xlo,xhi,ylo,yhi,0,0); + ptr->unpack_write_grid(which,onebuf,bounds); } } else { MPI_Recv(&tmp,0,MPI_INT,0,0,world,MPI_STATUS_IGNORE); - MPI_Rsend(mybuf,mysize,datatype,0,0,world); + MPI_Rsend(onebuf,mysize,datatype,0,0,world); bounds[0] = inxlo; bounds[1] = inxhi; bounds[2] = inylo; @@ -1382,7 +1422,9 @@ void Grid2d::gather(int /*caller*/, void *ptr, int nper, int nbyte, MPI_Send(bounds,4,MPI_INT,0,0,world); } - memory->destroy(mybuf); + // clean up + + memory->destroy(onebuf); } // ---------------------------------------------------------------------- diff --git a/src/grid2d.h b/src/grid2d.h index da2c09dbf3..ca450a7610 100644 --- a/src/grid2d.h +++ b/src/grid2d.h @@ -43,9 +43,10 @@ class Grid2d : protected Pointers { void setup_remap(Grid2d *, int &, int &); void remap(int, void *, int, int, void *, void *, MPI_Datatype); - void gather(int, void *, int, int, int, void *, MPI_Datatype); + void read_file(int, void *, FILE *, int, int); + void write_file(int, void *, int, int, int, MPI_Datatype); - protected: +protected: int me, nprocs; int layout; // REGULAR or TILED MPI_Comm gridcomm; // communicator for this class @@ -217,6 +218,9 @@ class Grid2d : protected Pointers { void setup_remap_tiled(Grid2d *, int &, int &); template void remap_style(T *, int, int, void *, void *, MPI_Datatype); + template void read_file_style(T *, FILE *, int, int); + template void write_file_style(T *, int, int, int, MPI_Datatype); + int compute_overlap(int *, int *, Overlap *&); void clean_overlap(); void box_drop(int *, int *); diff --git a/src/grid3d.cpp b/src/grid3d.cpp index a6a5c631e5..4656cec4ef 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -1448,40 +1448,84 @@ void Grid3d::remap_style(T *ptr, int nper, int nbyte, } // ---------------------------------------------------------------------- -// gather/scatter grid data between one and many procs for I/O purposes +// grid I/O methods // ---------------------------------------------------------------------- /* ---------------------------------------------------------------------- - gather global grid values to proc 0, one grid chunk at a time - proc 0 pings each proc for its grid chunk - pack/unpack operations are performed by caller via callbacks - caller can decide whether to store chunks, output them, etc + read grid values from a file ------------------------------------------------------------------------- */ -void Grid3d::gather(int /*caller*/, void *ptr, int nper, int nbyte, - int which, void *buf, MPI_Datatype datatype) +void Grid3d::read_file(int caller, void *ptr, FILE *fp, int nchunk, int maxline) +{ + if (caller == FIX) + read_file_style((Fix *) ptr,fp,nchunk,maxline); +} + +/* ---------------------------------------------------------------------- + proc 0 reads one chunk of lines at a time from file + broadcast chunk buffer to other procs + call back to caller so it can process the chunk of lines + caller returns count of grid-value lines in chunk +------------------------------------------------------------------------- */ + +template < class T > +void Grid3d::read_file_style(T *ptr, FILE *fp, int nchunk, int maxline) +{ + auto buffer = new char[nchunk * maxline]; + bigint ntotal = (bigint) ngrid[0] * ngrid[1] * ngrid[2]; + bigint nread = 0; + + while (nread < ntotal) { + int nchunk = MIN(ntotal - nread, nchunk); + int eof = utils::read_lines_from_file(fp, nchunk, maxline, buffer, comm->me, world); + if (eof) error->all(FLERR, "Unexpected end of grid data file"); + + nread += ptr->unpack_read_grid(buffer); + } +} + +/* ---------------------------------------------------------------------- + write grid values to a file +------------------------------------------------------------------------- */ + +void Grid3d::write_file(int caller, void *ptr, int which, + int nper, int nbyte, MPI_Datatype datatype) +{ + if (caller == FIX) + write_file_style((Fix *) ptr, which, nper, nbyte, datatype); +} + +/* ---------------------------------------------------------------------- + proc 0 reads one chunk of lines at a time from file + broadcast chunk buffer to other procs + call back to caller so it can process the chunk of lines + caller returns count of grid-value lines in chunk +------------------------------------------------------------------------- */ + +template < class T > +void Grid3d::write_file_style(T *ptr, int which, + int nper, int nbyte, MPI_Datatype datatype) { int me = comm->me; - Fix *fptr = (Fix *) ptr; - // maxsize = max grid data owned by any proc + // maxsize = max size of grid data owned by any proc int mysize = (inxhi-inxlo+1) * (inyhi-inylo+1) * (inzhi-inzlo+1); mysize *= nper; int maxsize; MPI_Allreduce(&mysize,&maxsize,1,MPI_INT,MPI_MAX,world); - // pack my data via callback to caller + // pack my grid data via callback to caller - char *mybuf; - if (me == 0) memory->create(mybuf,maxsize*nbyte,"grid3d:mybuf"); - else memory->create(mybuf,mysize*nbyte,"grid3d:mybuf"); - fptr->pack_gather_grid(which,mybuf); + char *onebuf; + if (me == 0) memory->create(onebuf,maxsize*nbyte,"grid3d:onebuf"); + else memory->create(onebuf,mysize*nbyte,"grid3d:nebuf"); + ptr->pack_write_grid(which,onebuf); - // ping each proc for its data - // unpack into full buffer via callback to caller + // ping each proc for its grid data + // call back to caller with each proc's grid data - int xlo,xhi,ylo,yhi,zlo,zhi,tmp; + int tmp; int bounds[6]; if (me == 0) { @@ -1490,31 +1534,25 @@ void Grid3d::gather(int /*caller*/, void *ptr, int nper, int nbyte, for (int iproc = 0; iproc < nprocs; iproc++) { if (iproc) { - MPI_Irecv(mybuf,maxsize,datatype,iproc,0,world,&request); + MPI_Irecv(onebuf,maxsize,datatype,iproc,0,world,&request); MPI_Send(&tmp,0,MPI_INT,iproc,0,world); MPI_Wait(&request,&status); MPI_Recv(bounds,6,MPI_INT,iproc,0,world,&status); - xlo = bounds[0]; - xhi = bounds[1]; - ylo = bounds[2]; - yhi = bounds[3]; - zlo = bounds[4]; - zhi = bounds[5]; } else { - xlo = inxlo; - xhi = inxhi; - ylo = inylo; - yhi = inyhi; - zlo = inzlo; - zhi = inzhi; + bounds[0] = inxlo; + bounds[1] = inxhi; + bounds[2] = inylo; + bounds[3] = inyhi; + bounds[4] = inzlo; + bounds[5] = inzhi; } - fptr->unpack_gather_grid(which,mybuf,buf,xlo,xhi,ylo,yhi,zlo,zhi); + ptr->unpack_write_grid(which,onebuf,bounds); } } else { MPI_Recv(&tmp,0,MPI_INT,0,0,world,MPI_STATUS_IGNORE); - MPI_Rsend(mybuf,mysize,datatype,0,0,world); + MPI_Rsend(onebuf,mysize,datatype,0,0,world); bounds[0] = inxlo; bounds[1] = inxhi; bounds[2] = inylo; @@ -1524,7 +1562,9 @@ void Grid3d::gather(int /*caller*/, void *ptr, int nper, int nbyte, MPI_Send(bounds,6,MPI_INT,0,0,world); } - memory->destroy(mybuf); + // clean up + + memory->destroy(onebuf); } // ---------------------------------------------------------------------- diff --git a/src/grid3d.h b/src/grid3d.h index 7ffa7eb5c0..3d653cd3b7 100644 --- a/src/grid3d.h +++ b/src/grid3d.h @@ -45,7 +45,8 @@ class Grid3d : protected Pointers { void setup_remap(Grid3d *, int &, int &); void remap(int, void *, int, int, void *, void *, MPI_Datatype); - void gather(int, void *, int, int, int, void *, MPI_Datatype); + void read_file(int, void *, FILE *, int, int); + void write_file(int, void *, int, int, int, MPI_Datatype); protected: int me, nprocs; @@ -221,6 +222,9 @@ class Grid3d : protected Pointers { template void remap_style(T *, int, int, void *, void *, MPI_Datatype); + template void read_file_style(T *, FILE *, int, int); + template void write_file_style(T *, int, int, int, MPI_Datatype); + int compute_overlap(int *, int *, Overlap *&); void clean_overlap(); void box_drop(int *, int *); diff --git a/src/write_restart.cpp b/src/write_restart.cpp index 2fe2f8d373..511df4c58f 100644 --- a/src/write_restart.cpp +++ b/src/write_restart.cpp @@ -399,7 +399,7 @@ void WriteRestart::write(const std::string &file) } } - // Check for I/O error status + // check for I/O error status int io_all = 0; MPI_Allreduce(&io_error,&io_all,1,MPI_INT,MPI_MAX,world); From b8b25225d40c89f7678775dc308585db88f5781d Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 25 Oct 2022 17:04:34 -0600 Subject: [PATCH 076/142] start debugging --- src/EXTRA-FIX/fix_ttm.cpp | 8 ++-- src/EXTRA-FIX/fix_ttm_grid.cpp | 71 +++++++++++++++++++++++++++------- src/EXTRA-FIX/fix_ttm_grid.h | 2 + src/grid2d.cpp | 52 +++++++++++++++++++++++++ src/grid3d.cpp | 2 + 5 files changed, 116 insertions(+), 19 deletions(-) diff --git a/src/EXTRA-FIX/fix_ttm.cpp b/src/EXTRA-FIX/fix_ttm.cpp index 208bb147e9..c0ff3fb0e8 100644 --- a/src/EXTRA-FIX/fix_ttm.cpp +++ b/src/EXTRA-FIX/fix_ttm.cpp @@ -484,9 +484,9 @@ void FixTTM::read_electron_temperatures(const std::string &filename) auto values = reader.next_values(4); ++nread; - int ix = values.next_int(); - int iy = values.next_int(); - int iz = values.next_int(); + int ix = values.next_int() - 1; + int iy = values.next_int() - 1; + int iz = values.next_int() - 1; double T_tmp = values.next_double(); // check correctness of input data @@ -539,7 +539,7 @@ void FixTTM::write_electron_temperatures(const std::string &filename) for (iz = 0; iz < nzgrid; iz++) for (iy = 0; iy < nygrid; iy++) for (ix = 0; ix < nxgrid; ix++) - fprintf(fp,"%d %d %d %20.16g\n",ix,iy,iz,T_electron[iz][iy][ix]); + fprintf(fp,"%d %d %d %20.16g\n",ix+1,iy+1,iz+1,T_electron[iz][iy][ix]); fclose(fp); } diff --git a/src/EXTRA-FIX/fix_ttm_grid.cpp b/src/EXTRA-FIX/fix_ttm_grid.cpp index 958c2d2dc1..289fd675e0 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.cpp +++ b/src/EXTRA-FIX/fix_ttm_grid.cpp @@ -265,13 +265,6 @@ void FixTTMGrid::end_of_step() grid->forward_comm(Grid3d::FIX,this,1,sizeof(double),0, grid_buf1,grid_buf2,MPI_DOUBLE); } - - // clang-format on - - // output of grid temperatures to file - - if (outfile && (update->ntimestep % outevery == 0)) - write_electron_temperatures(fmt::format("{}.{}", outfile, update->ntimestep)); } /* ---------------------------------------------------------------------- @@ -335,13 +328,13 @@ int FixTTMGrid::unpack_read_grid(char *buffer) try { ValueTokenizer values(utils::trim_comment(line)); if (values.count() == 0) { - ; // ignore comment only lines + ; // ignore comment only or blank lines } else if (values.count() == 4) { ++nread; - int ix = values.next_int(); - int iy = values.next_int(); - int iz = values.next_int(); + int ix = values.next_int() - 1; + int iy = values.next_int() - 1; + int iz = values.next_int() - 1; if (ix < 0 || ix >= nxgrid || iy < 0 || iy >= nygrid || iz < 0 || iz >= nzgrid) throw TokenizerException("Fix ttm/grid invalid grid index in input", ""); @@ -362,6 +355,51 @@ int FixTTMGrid::unpack_read_grid(char *buffer) return nread; } +/* ---------------------------------------------------------------------- + pack state of Fix into one write, but not per-grid values +------------------------------------------------------------------------- */ + +void FixTTMGrid::write_restart(FILE *fp) +{ + double rlist[4]; + + rlist[0] = nxgrid; + rlist[1] = nygrid; + rlist[2] = nzgrid; + rlist[3] = seed; + + if (comm->me == 0) { + int size = 4 * sizeof(double); + fwrite(&size,sizeof(int),1,fp); + fwrite(rlist,sizeof(double),4,fp); + } +} + +/* ---------------------------------------------------------------------- + use state info from restart file to restart the Fix +------------------------------------------------------------------------- */ + +void FixTTMGrid::restart(char *buf) +{ + auto rlist = (double *) buf; + + // check that restart grid size is same as current grid size + + int nxgrid_old = static_cast (rlist[0]); + int nygrid_old = static_cast (rlist[1]); + int nzgrid_old = static_cast (rlist[2]); + + if (nxgrid_old != nxgrid || nygrid_old != nygrid || nzgrid_old != nzgrid) + error->all(FLERR,"Must restart fix ttm with same grid size"); + + // change RN seed from initial seed, to avoid same Langevin factors + // just increment by 1, since for RanMars that is a new RN stream + + seed = static_cast (rlist[3]) + 1; + delete random; + random = new RanMars(lmp,seed+comm->me); +} + /* ---------------------------------------------------------------------- write electron temperatures on grid to file identical format to infile option, so info can be read in when restarting @@ -379,8 +417,11 @@ void FixTTMGrid::write_restart_file(const char *file) error->one(FLERR,"Cannot open fix ttm/grid restart file {}: {}",outfile,utils::getsyserror()); bigint ngrid = (bigint) nxgrid * nygrid * nzgrid; - fmt::print(fpout,"# fix ttm electron temperature on grid for " - "{} grid points on timestep {}\n\n",ngrid,update->ntimestep); + fmt::print(fpout,"# DATE: {} UNITS: {} COMMENT: " + "Electron temperature on {}x{}x{} grid at step {} - " + "created by fix {}\n", + utils::current_date(),update->unit_style, + nxgrid,nygrid,nzgrid,update->ntimestep,style); } // write file @@ -411,7 +452,7 @@ void FixTTMGrid::pack_write_grid(int /*which*/, void *vbuf) } /* ---------------------------------------------------------------------- - unpcak values from buf and write them to restart file + unpack values from buf and write them to restart file ------------------------------------------------------------------------- */ void FixTTMGrid::unpack_write_grid(int /*which*/, void *vbuf, int *bounds) @@ -433,7 +474,7 @@ void FixTTMGrid::unpack_write_grid(int /*which*/, void *vbuf, int *bounds) for (iy = ylo; iy <= yhi; iy++) for (ix = xlo; ix <= xhi; ix++) { value = buf[m++]; - fprintf(fpout, "%d %d %d %20.16g\n", ix, iy, iz, value); + fprintf(fpout, "%d %d %d %20.16g\n", ix+1, iy+1, iz+1, value); } } diff --git a/src/EXTRA-FIX/fix_ttm_grid.h b/src/EXTRA-FIX/fix_ttm_grid.h index cbc4804d95..3260264ed6 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.h +++ b/src/EXTRA-FIX/fix_ttm_grid.h @@ -32,6 +32,8 @@ class FixTTMGrid : public FixTTM { void init() override; void post_force(int) override; void end_of_step() override; + void write_restart(FILE *) override; + void restart(char *) override; void write_restart_file(const char *) override; double compute_vector(int) override; double memory_usage() override; diff --git a/src/grid2d.cpp b/src/grid2d.cpp index edbfc5623d..f2ce0de0e7 100644 --- a/src/grid2d.cpp +++ b/src/grid2d.cpp @@ -1653,6 +1653,26 @@ void Grid2d::grow_overlap() memory->srealloc(overlap_list,maxoverlap_list*sizeof(Overlap),"grid2d:overlap"); } +/* ---------------------------------------------------------------------- + deallocate remap data structs +------------------------------------------------------------------------- */ + +void Grid2d::deallocate_remap() +{ + for (int i = 0; i < nsend_remap; i++) + memory->destroy(send_remap[i].packlist); + memory->sfree(send_remap); + + for (int i = 0; i < nrecv_remap; i++) + memory->destroy(recv_remap[i].unpacklist); + memory->sfree(recv_remap); + + if (self_remap) { + memory->destroy(copy_remap.packlist); + memory->destroy(copy_remap.unpacklist); + } +} + /* ---------------------------------------------------------------------- create 1d list of offsets into 2d array section (xlo:xhi,ylo:yhi) assume 2d array is allocated as @@ -1675,3 +1695,35 @@ int Grid2d::indices(int *&list, int xlo, int xhi, int ylo, int yhi) return nmax; } + +/* ---------------------------------------------------------------------- + find the comm->procgrid index for which proc owns the igrid index + igrid = grid index (0 to N-1) in dim + n = # of grid points in dim + dim = which dimension (0,1) + split = comm->x/y/z split for fractional bounds of each proc domain +------------------------------------------------------------------------- */ + +int Grid2d::find_proc_index(int igrid, int n, int dim, double *split) +{ + int gridlo,gridhi; + double fraclo,frachi; + + // loop over # of procs in this dime + // compute the grid bounds for that proc, same as comm->partition_grid() + // if igrid falls within those bounds, return m = proc index + + int m; + for (m = 0; m < comm->procgrid[dim]; m++) { + fraclo = split[m]; + frachi = split[m+1]; + gridlo = static_cast (fraclo * n); + if (1.0*gridlo != fraclo*n) gridlo++; + gridhi = static_cast (frachi * n); + if (1.0*gridhi == frachi*n) gridhi--; + + if (igrid >= gridlo && igrid <= gridhi) break; + } + + return m; +} diff --git a/src/grid3d.cpp b/src/grid3d.cpp index 4656cec4ef..aca0843457 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -1482,6 +1482,8 @@ void Grid3d::read_file_style(T *ptr, FILE *fp, int nchunk, int maxline) nread += ptr->unpack_read_grid(buffer); } + + delete [] buffer; } /* ---------------------------------------------------------------------- From a4a10e970e86b50bfabc1b1e814cf75f05db1a34 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 25 Oct 2022 17:06:24 -0600 Subject: [PATCH 077/142] sync output formats --- src/EXTRA-FIX/fix_ttm.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/EXTRA-FIX/fix_ttm.cpp b/src/EXTRA-FIX/fix_ttm.cpp index c0ff3fb0e8..d5a919a6a2 100644 --- a/src/EXTRA-FIX/fix_ttm.cpp +++ b/src/EXTRA-FIX/fix_ttm.cpp @@ -530,8 +530,8 @@ void FixTTM::write_electron_temperatures(const std::string &filename) FILE *fp = fopen(filename.c_str(),"w"); if (!fp) error->one(FLERR,"Fix ttm could not open output file {}: {}", filename,utils::getsyserror()); - fmt::print(fp,"# DATE: {} UNITS: {} COMMENT: Electron temperature " - "{}x{}x{} grid at step {}. Created by fix {}\n", utils::current_date(), + fmt::print(fp,"# DATE: {} UNITS: {} COMMENT: Electron temperature on " + "{}x{}x{} grid at step {} - created by fix {}\n", utils::current_date(), update->unit_style, nxgrid, nygrid, nzgrid, update->ntimestep, style); int ix,iy,iz; From 7bf4c8d54aa806b12e977ef7023f0be7b5c6e333 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 26 Oct 2022 15:14:06 -0600 Subject: [PATCH 078/142] more debugging --- src/EXTRA-FIX/fix_ttm.cpp | 9 +- src/EXTRA-FIX/fix_ttm_grid.cpp | 4 +- src/comm.cpp | 2 +- src/fix.cpp | 4 +- src/grid2d.cpp | 216 ++++++++++++++++++--------------- src/grid2d.h | 16 ++- src/grid3d.cpp | 208 ++++++++++++++++++------------- src/grid3d.h | 7 ++ src/input.cpp | 2 - 9 files changed, 264 insertions(+), 204 deletions(-) diff --git a/src/EXTRA-FIX/fix_ttm.cpp b/src/EXTRA-FIX/fix_ttm.cpp index d5a919a6a2..5ad68edfbe 100644 --- a/src/EXTRA-FIX/fix_ttm.cpp +++ b/src/EXTRA-FIX/fix_ttm.cpp @@ -226,13 +226,6 @@ void FixTTM::init() if (domain->triclinic) error->all(FLERR,"Cannot use fix ttm with triclinic box"); - // to allow this, would have to reset grid bounds dynamically - // for RCB balancing would have to reassign grid pts to procs - // and create a new Grid3d, and pass old GC data to new GC - - if (domain->box_change) - error->all(FLERR,"Cannot use fix ttm with changing box shape, size, or sub-domains"); - // set force prefactors for (int i = 1; i <= atom->ntypes; i++) { @@ -323,7 +316,7 @@ void FixTTM::post_force(int /*vflag*/) flangevin[i][0] = gamma1*v[i][0] + gamma2*(random->uniform()-0.5); flangevin[i][1] = gamma1*v[i][1] + gamma2*(random->uniform()-0.5); flangevin[i][2] = gamma1*v[i][2] + gamma2*(random->uniform()-0.5); - + f[i][0] += flangevin[i][0]; f[i][1] += flangevin[i][1]; f[i][2] += flangevin[i][2]; diff --git a/src/EXTRA-FIX/fix_ttm_grid.cpp b/src/EXTRA-FIX/fix_ttm_grid.cpp index 289fd675e0..240ebb9b3d 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.cpp +++ b/src/EXTRA-FIX/fix_ttm_grid.cpp @@ -173,7 +173,7 @@ void FixTTMGrid::post_force(int /*vflag*/) f[i][2] += flangevin[i][2]; } } - + if (flag) error->one(FLERR,"Out of range fix ttm/grid atoms"); } @@ -498,7 +498,7 @@ void FixTTMGrid::reset_grid() delete gridnew; return; } else delete gridnew; - + // delete grid data which doesn't need to persist from previous to new decomp memory->destroy(grid_buf1); diff --git a/src/comm.cpp b/src/comm.cpp index 7e6c677c45..82f4ad0a9e 100644 --- a/src/comm.cpp +++ b/src/comm.cpp @@ -1,4 +1,4 @@ -// clang-format off +\// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories diff --git a/src/fix.cpp b/src/fix.cpp index 83e0650483..9b27486f48 100644 --- a/src/fix.cpp +++ b/src/fix.cpp @@ -81,8 +81,8 @@ Fix::Fix(LAMMPS *lmp, int /*narg*/, char **arg) : stores_ids = 0; scalar_flag = vector_flag = array_flag = 0; - peratom_flag = local_flag = 0; - global_freq = local_freq = peratom_freq = -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; comm_forward = comm_reverse = comm_border = 0; diff --git a/src/grid2d.cpp b/src/grid2d.cpp index f2ce0de0e7..54584b8008 100644 --- a/src/grid2d.cpp +++ b/src/grid2d.cpp @@ -26,8 +26,6 @@ using namespace LAMMPS_NS; -enum{BRICK,TILED}; - #define DELTA 16 static constexpr int OFFSET = 16384; @@ -73,9 +71,7 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, ny = gny; ngrid[0] = nx; ngrid[1] = ny; - - if (comm->layout == Comm::LAYOUT_TILED) layout = TILED; - else layout = BRICK; + layout = comm->layout; // partition global grid across procs // i xyz lo/hi = lower/upper bounds of global grid this proc owns @@ -146,7 +142,7 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, // store grid bounds and proc neighs - if (layout == BRICK) { + if (layout != Comm::LAYOUT_TILED) { int (*procneigh)[2] = comm->procneigh; store(ixlo,ixhi,iylo,iyhi, oxlo,oxhi,oylo,oyhi, @@ -189,13 +185,11 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, ny = gny; ngrid[0] = nx; ngrid[1] = ny; - - if (comm->layout == Comm::LAYOUT_TILED) layout = TILED; - else layout = BRICK; + layout = comm->layout; // store grid bounds and proc neighs - if (layout == BRICK) { + if (layout != Comm::LAYOUT_TILED) { int (*procneigh)[2] = comm->procneigh; store(ixlo,ixhi,iylo,iyhi, oxlo,oxhi,oylo,oyhi, @@ -240,14 +234,12 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, int flag, ny = gny; ngrid[0] = nx; ngrid[1] = ny; - - if (comm->layout == Comm::LAYOUT_TILED) layout = TILED; - else layout = BRICK; + layout = comm->layout; // store grid bounds and proc neighs if (flag == 1) { - if (layout == BRICK) { + if (layout != Comm::LAYOUT_TILED) { // this assumes gcomm = world int (*procneigh)[2] = comm->procneigh; store(ixlo,ixhi,iylo,iyhi, @@ -263,7 +255,7 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, int flag, } } else if (flag == 2) { - if (layout == BRICK) { + if (layout != Comm::LAYOUT_TILED) { store(ixlo,ixhi,iylo,iyhi, oxlo,oxhi,oylo,oyhi, oxlo,oxhi,oylo,oyhi, @@ -286,6 +278,11 @@ Grid2d::~Grid2d() } memory->sfree(swap); + delete [] xsplit; + delete [] ysplit; + delete [] zsplit; + memory->destroy(grid2proc); + // tiled comm data structs for (int i = 0; i < nsend; i++) @@ -338,31 +335,6 @@ void Grid2d::store(int ixlo, int ixhi, int iylo, int iyhi, fullylo = fylo; fullyhi = fyhi; - // for BRICK layout, proc xy lohi = my 4 neighbor procs in this MPI_Comm - - if (layout == BRICK) { - procxlo = pxlo; - procxhi = pxhi; - procylo = pylo; - procyhi = pyhi; - } - - // for TILED layout, create RCB tree of cut info for grid decomp - // access CommTiled to get cut dimension - // cut = this proc's inlo in that dim - // dim is -1 for proc 0, but never accessed - - if (layout == TILED) { - rcbinfo = (RCBinfo *) - memory->smalloc(nprocs*sizeof(RCBinfo),"grid3d:rcbinfo"); - RCBinfo rcbone; - rcbone.dim = comm->rcbcutdim; - if (rcbone.dim <= 0) rcbone.cut = inxlo; - else if (rcbone.dim == 1) rcbone.cut = inylo; - MPI_Allgather(&rcbone,sizeof(RCBinfo),MPI_CHAR, - rcbinfo,sizeof(RCBinfo),MPI_CHAR,gridcomm); - } - // internal data initializations nswap = maxswap = 0; @@ -373,8 +345,53 @@ void Grid2d::store(int ixlo, int ixhi, int iylo, int iyhi, recv = nullptr; copy = nullptr; requests = nullptr; - + + xsplit = ysplit = zsplit = nullptr; + grid2proc = nullptr; rcbinfo = nullptr; + + nsend_remap = nrecv_remap = self_remap = 0; + send_remap = nullptr; + recv_remap = nullptr; + + // for non TILED layout: + // proc xyz lohi = my 6 neighbor procs in this MPI_Comm + // xyz split = copy of 1d vectors in Comm + // grid2proc = copy of 3d array in Comm + + if (layout != Comm::LAYOUT_TILED) { + procxlo = pxlo; + procxhi = pxhi; + procylo = pylo; + procyhi = pyhi; + + xsplit = new double[comm->procgrid[0]+1]; + ysplit = new double[comm->procgrid[1]+1]; + memcpy(xsplit,comm->xsplit,(comm->procgrid[0]+1)*sizeof(double)); + memcpy(ysplit,comm->ysplit,(comm->procgrid[1]+1)*sizeof(double)); + + memory->create(grid2proc,comm->procgrid[0],comm->procgrid[1],comm->procgrid[2], + "grid3d:grid2proc"); + memcpy(&grid2proc[0][0][0],&comm->grid2proc[0][0][0], + comm->procgrid[0]*comm->procgrid[1]*comm->procgrid[2]*sizeof(int)); + } + + // for TILED layout: + // create RCB tree of cut info for grid decomp + // access CommTiled to get cut dimension + // cut = this proc's inlo in that dim + // dim is -1 for proc 0, but never accessed + + if (layout == Comm::LAYOUT_TILED) { + rcbinfo = (RCBinfo *) + memory->smalloc(nprocs*sizeof(RCBinfo),"grid3d:rcbinfo"); + RCBinfo rcbone; + rcbone.dim = comm->rcbcutdim; + if (rcbone.dim <= 0) rcbone.cut = inxlo; + else if (rcbone.dim == 1) rcbone.cut = inylo; + MPI_Allgather(&rcbone,sizeof(RCBinfo),MPI_CHAR, + rcbinfo,sizeof(RCBinfo),MPI_CHAR,gridcomm); + } } /* ---------------------------------------------------------------------- */ @@ -446,7 +463,7 @@ void Grid2d::get_bounds_ghost(int &xlo, int &xhi, int &ylo, int &yhi) void Grid2d::setup(int &nbuf1, int &nbuf2) { - if (layout == BRICK) setup_brick(nbuf1,nbuf2); + if (layout != Comm::LAYOUT_TILED) setup_brick(nbuf1,nbuf2); else setup_tiled(nbuf1,nbuf2); } @@ -865,7 +882,7 @@ void Grid2d::setup_tiled(int &nbuf1, int &nbuf2) int Grid2d::ghost_adjacent() { - if (layout == BRICK) return ghost_adjacent_brick(); + if (layout != Comm::LAYOUT_TILED) return ghost_adjacent_brick(); return ghost_adjacent_tiled(); } @@ -911,7 +928,7 @@ int Grid2d::ghost_adjacent_tiled() void Grid2d::forward_comm(int caller, void *ptr, int nper, int nbyte, int which, void *buf1, void *buf2, MPI_Datatype datatype) { - if (layout == BRICK) { + if (layout != Comm::LAYOUT_TILED) { if (caller == KSPACE) forward_comm_brick((KSpace *) ptr,nper,nbyte,which, buf1,buf2,datatype); @@ -1016,7 +1033,7 @@ forward_comm_tiled(T *ptr, int nper, int nbyte, int which, void Grid2d::reverse_comm(int caller, void *ptr, int nper, int nbyte, int which, void *buf1, void *buf2, MPI_Datatype datatype) { - if (layout == BRICK) { + if (layout != Comm::LAYOUT_TILED) { if (caller == KSPACE) reverse_comm_brick((KSpace *) ptr,nper,nbyte,which, buf1,buf2,datatype); @@ -1130,28 +1147,18 @@ reverse_comm_tiled(T *ptr, int nper, int nbyte, int which, caller converts them to message size for grid data it stores ------------------------------------------------------------------------- */ +/* ------------------------------------------------------------------------- */ + void Grid2d::setup_remap(Grid2d *old, int &nremap_buf1, int &nremap_buf2) -{ - if (layout == BRICK) setup_remap_brick(old,nremap_buf1,nremap_buf2); - else setup_remap_tiled(old,nremap_buf1,nremap_buf2); -} - -/* ------------------------------------------------------------------------- */ - -void Grid2d::setup_remap_brick(Grid2d *old, int &nremap_buf1, int &nremap_buf2) -{ - nremap_buf1 = 0; - nremap_buf2 = 0; -} - -/* ------------------------------------------------------------------------- */ - -void Grid2d::setup_remap_tiled(Grid2d *old, int &nremap_buf1, int &nremap_buf2) { int m; int pbc[2]; int *box; + // deallocated existing remap data structs + + deallocate_remap(); + // compute overlaps of old decomp owned box with all owned boxes in new decomp // noverlap_old = # of overlaps, including self // overlap_old = vector of overlap info in Overlap data struct @@ -1206,7 +1213,7 @@ void Grid2d::setup_remap_tiled(Grid2d *old, int &nremap_buf1, int &nremap_buf2) nrecv_remap = 0; for (m = 0; m < noverlap_new; m++) - if (overlap_old[m].proc != me) nrecv_remap++; + if (overlap_new[m].proc != me) nrecv_remap++; recv_remap = new Recv[nrecv_remap]; @@ -1438,12 +1445,12 @@ void Grid2d::write_file_style(T *ptr, int which, /* ---------------------------------------------------------------------- compute list of overlaps between box and the owned grid boxes of all procs - for brick decomp, done using Comm::grid2proc data struct - for tiled decomp, done via recursive box drop on RCB tree + for brick decomp of Grid, done using xyz split + grid2proc copied from Comm + for tiled decomp of Grid, done via recursive box drop on RCB tree box = 4 integers = (xlo,xhi,ylo,yhi) box can be owned cells or owned + ghost cells pbc = flags for grid periodicity in each dim - if box includes ghost cells, it can overlap PBCs + if box includes ghost cells, it can overlap PBCs (only for setup_tiled) each lo/hi value may extend beyond 0 to N-1 into another periodic image return # of overlaps including with self return list of overlaps @@ -1455,7 +1462,7 @@ int Grid2d::compute_overlap(int *box, int *pbc, Overlap *&overlap) noverlap_list = maxoverlap_list = 0; overlap_list = nullptr; - if (layout == BRICK) { + if (layout != Comm::LAYOUT_TILED) { // find comm->procgrid indices in each dim for box bounds @@ -1464,42 +1471,22 @@ int Grid2d::compute_overlap(int *box, int *pbc, Overlap *&overlap) int jproclo = find_proc_index(box[2],ngrid[1],1,comm->ysplit); int jprochi = find_proc_index(box[3],ngrid[1],1,comm->ysplit); - // save comm->myloc values so can overwrite them k,j,i triple loop - // b/c comm->partition_grid uses comm->myloc + int obox[4]; - int save_myloc[3]; - save_myloc[0] = comm->myloc[0]; - save_myloc[1] = comm->myloc[1]; - save_myloc[2] = comm->myloc[2]; + for (int j = jproclo; j <= jprochi; j++) + for (int i = iproclo; i <= iprochi; i++) { + find_proc_box(i,j,obox); - int obox[6]; - - for (int k = 0; k <= 0; k++) - for (int j = jproclo; j <= jprochi; j++) - for (int i = iproclo; i <= iprochi; i++) { - comm->myloc[0] = i; - comm->myloc[1] = j; - comm->myloc[2] = k; - - comm->partition_grid(ngrid[0],ngrid[1],1,0.0, - obox[0],obox[1],obox[2],obox[3],obox[4],obox[5]); - - if (noverlap_list == maxoverlap_list) grow_overlap(); - overlap[noverlap_list].proc = comm->grid2proc[i][j][k]; - overlap[noverlap_list].box[0] = MAX(box[0],obox[0]); - overlap[noverlap_list].box[1] = MIN(box[1],obox[1]); - overlap[noverlap_list].box[2] = MAX(box[2],obox[2]); - overlap[noverlap_list].box[3] = MIN(box[3],obox[3]); - noverlap_list++; - } + if (noverlap_list == maxoverlap_list) grow_overlap(); + overlap_list[noverlap_list].proc = grid2proc[i][j][0]; + overlap_list[noverlap_list].box[0] = MAX(box[0],obox[0]); + overlap_list[noverlap_list].box[1] = MIN(box[1],obox[1]); + overlap_list[noverlap_list].box[2] = MAX(box[2],obox[2]); + overlap_list[noverlap_list].box[3] = MIN(box[3],obox[3]); + noverlap_list++; + } - // restore comm->myloc values - - comm->myloc[0] = save_myloc[0]; - comm->myloc[1] = save_myloc[1]; - comm->myloc[2] = save_myloc[2]; - - } else if (layout == TILED) { + } else if (layout == Comm::LAYOUT_TILED) { box_drop(box,pbc); } @@ -1727,3 +1714,34 @@ int Grid2d::find_proc_index(int igrid, int n, int dim, double *split) return m; } + +/* ---------------------------------------------------------------------- + find the grid box for proc with grid indices i,j + i,j,k = grid index (0 to N-1) in each dim + return lo/hi bounds of box in 2 dims + computation is same as Comm::partition_grid() +------------------------------------------------------------------------- */ + +void Grid2d::find_proc_box(int i, int j, int *box) +{ + int lo,hi; + double fraclo,frachi; + + fraclo = xsplit[i]; + frachi = xsplit[i+1]; + lo = static_cast (fraclo * ngrid[0]); + if (1.0*lo != fraclo*ngrid[0]) lo++; + hi = static_cast (frachi * ngrid[0]); + if (1.0*hi == frachi*ngrid[0]) hi--; + box[0] = lo; + box[1] = hi; + + fraclo = ysplit[j]; + frachi = ysplit[j+1]; + lo = static_cast (fraclo * ngrid[1]); + if (1.0*lo != fraclo*ngrid[1]) lo++; + hi = static_cast (frachi * ngrid[1]); + if (1.0*hi == frachi*ngrid[1]) hi--; + box[2] = lo; + box[3] = hi; +} diff --git a/src/grid2d.h b/src/grid2d.h index ca450a7610..15a4e245d3 100644 --- a/src/grid2d.h +++ b/src/grid2d.h @@ -173,6 +173,13 @@ protected: int *overlap_procs; // length of Nprocs in communicator + // BRICK decomposition + + double *xsplit,*ysplit,*zsplit; + int ***grid2proc; + + // TILED decomposition + // RCB tree of cut info // each proc contributes one value, except proc 0 @@ -187,10 +194,10 @@ protected: // includes overlaps across periodic boundaries, can also be self struct Overlap { - int proc; // proc whose owned cells overlap my ghost cells - int box[4]; // box that overlaps otherproc's owned cells + int proc; // proc whose cells overlap my cells + int box[4]; // box of my cells which overlap proc's cells // this box is wholly contained within global grid - int pbc[2]; // PBC offsets to convert box to a portion of my ghost box + int pbc[2]; // PBC offsets to convert my box to a portion of my ghost box // my ghost box may extend beyond global grid }; @@ -214,8 +221,6 @@ protected: template void reverse_comm_brick(T *, int, int, int, void *, void *, MPI_Datatype); template void reverse_comm_tiled(T *, int, int, int, void *, void *, MPI_Datatype); - void setup_remap_brick(Grid2d *, int &, int &); - void setup_remap_tiled(Grid2d *, int &, int &); template void remap_style(T *, int, int, void *, void *, MPI_Datatype); template void read_file_style(T *, FILE *, int, int); @@ -232,6 +237,7 @@ protected: int indices(int *&, int, int, int, int); int find_proc_index(int, int, int, double *); + void find_proc_box(int, int, int *); }; } // namespace LAMMPS_NS diff --git a/src/grid3d.cpp b/src/grid3d.cpp index aca0843457..2645ffae4a 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -26,7 +26,7 @@ using namespace LAMMPS_NS; -enum{BRICK,TILED}; +enum{UNIFORM,TILED}; #define DELTA 16 @@ -74,9 +74,7 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, nz = gnz; ngrid[0] = nx; ngrid[1] = ny; ngrid[2] = nz; - - if (comm->layout == Comm::LAYOUT_TILED) layout = TILED; - else layout = BRICK; + layout = comm->layout; // partition global grid across procs // i xyz lo/hi = lower/upper bounds of global grid this proc owns @@ -158,7 +156,7 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, // store grid bounds and proc neighs - if (layout == BRICK) { + if (layout != Comm::LAYOUT_TILED) { int (*procneigh)[2] = comm->procneigh; store(ixlo,ixhi,iylo,iyhi,izlo,izhi, oxlo,oxhi,oylo,oyhi,ozlo,ozhi, @@ -203,13 +201,11 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, nz = gnz; ngrid[0] = nx; ngrid[1] = ny; ngrid[2] = nz; - - if (comm->layout == Comm::LAYOUT_TILED) layout = TILED; - else layout = BRICK; + layout = comm->layout; // store grid bounds and proc neighs - if (layout == BRICK) { + if (layout != Comm::LAYOUT_TILED) { int (*procneigh)[2] = comm->procneigh; store(ixlo,ixhi,iylo,iyhi,izlo,izhi, oxlo,oxhi,oylo,oyhi,ozlo,ozhi, @@ -256,14 +252,12 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, int flag, nz = gnz; ngrid[0] = nx; ngrid[1] = ny; ngrid[2] = nz; - - if (comm->layout == Comm::LAYOUT_TILED) layout = TILED; - else layout = BRICK; + layout = comm->layout; // store grid bounds and proc neighs if (flag == 1) { - if (layout == BRICK) { + if (layout != Comm::LAYOUT_TILED) { // this assumes gcomm = world int (*procneigh)[2] = comm->procneigh; store(ixlo,ixhi,iylo,iyhi,izlo,izhi, @@ -280,7 +274,7 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, int flag, } } else if (flag == 2) { - if (layout == BRICK) { + if (layout != Comm::LAYOUT_TILED) { store(ixlo,ixhi,iylo,iyhi,izlo,izhi, oxlo,oxhi,oylo,oyhi,ozlo,ozhi, oxlo,oxhi,oylo,oyhi,ozlo,ozhi, @@ -303,6 +297,11 @@ Grid3d::~Grid3d() } memory->sfree(swap); + delete [] xsplit; + delete [] ysplit; + delete [] zsplit; + memory->destroy(grid2proc); + // tiled comm data structs for (int i = 0; i < nsend; i++) @@ -365,34 +364,6 @@ void Grid3d::store(int ixlo, int ixhi, int iylo, int iyhi, fullzlo = fzlo; fullzhi = fzhi; - // for BRICK layout, proc xyz lohi = my 6 neighbor procs in this MPI_Comm - - if (layout == BRICK) { - procxlo = pxlo; - procxhi = pxhi; - procylo = pylo; - procyhi = pyhi; - proczlo = pzlo; - proczhi = pzhi; - } - - // for TILED layout, create RCB tree of cut info for grid decomp - // access CommTiled to get cut dimension - // cut = this proc's inlo in that dim - // dim is -1 for proc 0, but never accessed - - if (layout == TILED) { - rcbinfo = (RCBinfo *) - memory->smalloc(nprocs*sizeof(RCBinfo),"grid3d:rcbinfo"); - RCBinfo rcbone; - rcbone.dim = comm->rcbcutdim; - if (rcbone.dim <= 0) rcbone.cut = inxlo; - else if (rcbone.dim == 1) rcbone.cut = inylo; - else if (rcbone.dim == 2) rcbone.cut = inzlo; - MPI_Allgather(&rcbone,sizeof(RCBinfo),MPI_CHAR, - rcbinfo,sizeof(RCBinfo),MPI_CHAR,gridcomm); - } - // internal data initializations nswap = maxswap = 0; @@ -404,11 +375,57 @@ void Grid3d::store(int ixlo, int ixhi, int iylo, int iyhi, copy = nullptr; requests = nullptr; + xsplit = ysplit = zsplit = nullptr; + grid2proc = nullptr; rcbinfo = nullptr; nsend_remap = nrecv_remap = self_remap = 0; send_remap = nullptr; recv_remap = nullptr; + + // for non TILED layout: + // proc xyz lohi = my 6 neighbor procs in this MPI_Comm + // xyz split = copy of 1d vectors in Comm + // grid2proc = copy of 3d array in Comm + + if (layout != Comm::LAYOUT_TILED) { + procxlo = pxlo; + procxhi = pxhi; + procylo = pylo; + procyhi = pyhi; + proczlo = pzlo; + proczhi = pzhi; + + xsplit = new double[comm->procgrid[0]+1]; + ysplit = new double[comm->procgrid[1]+1]; + zsplit = new double[comm->procgrid[2]+1]; + memcpy(xsplit,comm->xsplit,(comm->procgrid[0]+1)*sizeof(double)); + memcpy(ysplit,comm->ysplit,(comm->procgrid[1]+1)*sizeof(double)); + memcpy(zsplit,comm->zsplit,(comm->procgrid[2]+1)*sizeof(double)); + + memory->create(grid2proc,comm->procgrid[0],comm->procgrid[1],comm->procgrid[2], + "grid3d:grid2proc"); + memcpy(&grid2proc[0][0][0],&comm->grid2proc[0][0][0], + comm->procgrid[0]*comm->procgrid[1]*comm->procgrid[2]*sizeof(int)); + } + + // for TILED layout: + // create RCB tree of cut info for grid decomp + // access CommTiled to get cut dimension + // cut = this proc's inlo in that dim + // dim is -1 for proc 0, but never accessed + + if (layout == Comm::LAYOUT_TILED) { + rcbinfo = (RCBinfo *) + memory->smalloc(nprocs*sizeof(RCBinfo),"grid3d:rcbinfo"); + RCBinfo rcbone; + rcbone.dim = comm->rcbcutdim; + if (rcbone.dim <= 0) rcbone.cut = inxlo; + else if (rcbone.dim == 1) rcbone.cut = inylo; + else if (rcbone.dim == 2) rcbone.cut = inzlo; + MPI_Allgather(&rcbone,sizeof(RCBinfo),MPI_CHAR, + rcbinfo,sizeof(RCBinfo),MPI_CHAR,gridcomm); + } } /* ---------------------------------------------------------------------- */ @@ -489,7 +506,7 @@ void Grid3d::get_bounds_ghost(int &xlo, int &xhi, int &ylo, int &yhi, void Grid3d::setup(int &nbuf1, int &nbuf2) { - if (layout == BRICK) setup_brick(nbuf1,nbuf2); + if (layout != Comm::LAYOUT_TILED) setup_brick(nbuf1,nbuf2); else setup_tiled(nbuf1,nbuf2); } @@ -1009,7 +1026,7 @@ void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) int Grid3d::ghost_adjacent() { - if (layout == BRICK) return ghost_adjacent_brick(); + if (layout != Comm::LAYOUT_TILED) return ghost_adjacent_brick(); return ghost_adjacent_tiled(); } @@ -1057,7 +1074,7 @@ int Grid3d::ghost_adjacent_tiled() void Grid3d::forward_comm(int caller, void *ptr, int nper, int nbyte, int which, void *buf1, void *buf2, MPI_Datatype datatype) { - if (layout == BRICK) { + if (layout != Comm::LAYOUT_TILED) { if (caller == KSPACE) forward_comm_brick((KSpace *) ptr,nper,nbyte,which, buf1,buf2,datatype); @@ -1162,7 +1179,7 @@ forward_comm_tiled(T *ptr, int nper, int nbyte, int which, void Grid3d::reverse_comm(int caller, void *ptr, int nper, int nbyte, int which, void *buf1, void *buf2, MPI_Datatype datatype) { - if (layout == BRICK) { + if (layout != Comm::LAYOUT_TILED) { if (caller == KSPACE) reverse_comm_brick((KSpace *) ptr,nper,nbyte,which, buf1,buf2,datatype); @@ -1341,7 +1358,7 @@ void Grid3d::setup_remap(Grid3d *old, int &nremap_buf1, int &nremap_buf2) nrecv_remap = 0; for (m = 0; m < noverlap_new; m++) - if (overlap_old[m].proc != me) nrecv_remap++; + if (overlap_new[m].proc != me) nrecv_remap++; recv_remap = new Recv[nrecv_remap]; @@ -1580,12 +1597,12 @@ void Grid3d::write_file_style(T *ptr, int which, /* ---------------------------------------------------------------------- compute list of overlaps between box and the owned grid boxes of all procs - for brick decomp, done using Comm::grid2proc data struct - for tiled decomp, done via recursive box drop on RCB tree + for brick decomp of Grid, done using xyz split + grid2proc copied from Comm + for tiled decomp of Grid, done via recursive box drop on RCB tree box = 6 integers = (xlo,xhi,ylo,yhi,zlo,zhi) box can be owned cells or owned + ghost cells pbc = flags for grid periodicity in each dim - if box includes ghost cells, it can overlap PBCs + if box includes ghost cells, it can overlap PBCs (only for setup_tiled) each lo/hi value may extend beyond 0 to N-1 into another periodic image return # of overlaps including with self return list of overlaps @@ -1597,54 +1614,35 @@ int Grid3d::compute_overlap(int *box, int *pbc, Overlap *&overlap) noverlap_list = maxoverlap_list = 0; overlap_list = nullptr; - if (layout == BRICK) { + if (layout != Comm::LAYOUT_TILED) { // find comm->procgrid indices in each dim for box bounds - int iproclo = find_proc_index(box[0],ngrid[0],0,comm->xsplit); - int iprochi = find_proc_index(box[1],ngrid[0],0,comm->xsplit); - int jproclo = find_proc_index(box[2],ngrid[1],1,comm->ysplit); - int jprochi = find_proc_index(box[3],ngrid[1],1,comm->ysplit); - int kproclo = find_proc_index(box[4],ngrid[2],2,comm->zsplit); - int kprochi = find_proc_index(box[5],ngrid[2],2,comm->zsplit); - - // save comm->myloc values so can overwrite them k,j,i triple loop - // b/c comm->partition_grid uses comm->myloc - - int save_myloc[3]; - save_myloc[0] = comm->myloc[0]; - save_myloc[1] = comm->myloc[1]; - save_myloc[2] = comm->myloc[2]; + int iproclo = find_proc_index(box[0],ngrid[0],0,xsplit); + int iprochi = find_proc_index(box[1],ngrid[0],0,xsplit); + int jproclo = find_proc_index(box[2],ngrid[1],1,ysplit); + int jprochi = find_proc_index(box[3],ngrid[1],1,ysplit); + int kproclo = find_proc_index(box[4],ngrid[2],2,zsplit); + int kprochi = find_proc_index(box[5],ngrid[2],2,zsplit); int obox[6]; for (int k = kproclo; k <= kprochi; k++) for (int j = jproclo; j <= jprochi; j++) for (int i = iproclo; i <= iprochi; i++) { - comm->myloc[0] = i; - comm->myloc[1] = j; - comm->myloc[2] = k; - - comm->partition_grid(ngrid[0],ngrid[1],ngrid[2],0.0, - obox[0],obox[1],obox[2],obox[3],obox[4],obox[5]); + find_proc_box(i,j,k,obox); if (noverlap_list == maxoverlap_list) grow_overlap(); - overlap[noverlap_list].proc = comm->grid2proc[i][j][k]; - overlap[noverlap_list].box[0] = MAX(box[0],obox[0]); - overlap[noverlap_list].box[1] = MIN(box[1],obox[1]); - overlap[noverlap_list].box[2] = MAX(box[2],obox[2]); - overlap[noverlap_list].box[3] = MIN(box[3],obox[3]); - overlap[noverlap_list].box[4] = MAX(box[4],obox[4]); - overlap[noverlap_list].box[5] = MIN(box[5],obox[5]); + overlap_list[noverlap_list].proc = grid2proc[i][j][k]; + overlap_list[noverlap_list].box[0] = MAX(box[0],obox[0]); + overlap_list[noverlap_list].box[1] = MIN(box[1],obox[1]); + overlap_list[noverlap_list].box[2] = MAX(box[2],obox[2]); + overlap_list[noverlap_list].box[3] = MIN(box[3],obox[3]); + overlap_list[noverlap_list].box[4] = MAX(box[4],obox[4]); + overlap_list[noverlap_list].box[5] = MIN(box[5],obox[5]); noverlap_list++; } - // restore comm->myloc values - - comm->myloc[0] = save_myloc[0]; - comm->myloc[1] = save_myloc[1]; - comm->myloc[2] = save_myloc[2]; - } else if (layout == TILED) { box_drop(box,pbc); } @@ -1759,7 +1757,7 @@ void Grid3d::box_drop(int *box, int *pbc) ------------------------------------------------------------------------- */ void Grid3d::box_drop_grid(int *box, int proclower, int procupper, - int &np, int *plist) + int &np, int *plist) { // end recursion when partition is a single proc // add proclower to plist @@ -1886,3 +1884,43 @@ int Grid3d::find_proc_index(int igrid, int n, int dim, double *split) return m; } + +/* ---------------------------------------------------------------------- + find the grid box for proc with grid indices i,j,k + i,j,k = grid index (0 to N-1) in each dim + return lo/hi bounds of box in 3 dims + computation is same as Comm::partition_grid() +------------------------------------------------------------------------- */ + +void Grid3d::find_proc_box(int i, int j, int k, int *box) +{ + int lo,hi; + double fraclo,frachi; + + fraclo = xsplit[i]; + frachi = xsplit[i+1]; + lo = static_cast (fraclo * ngrid[0]); + if (1.0*lo != fraclo*ngrid[0]) lo++; + hi = static_cast (frachi * ngrid[0]); + if (1.0*hi == frachi*ngrid[0]) hi--; + box[0] = lo; + box[1] = hi; + + fraclo = ysplit[j]; + frachi = ysplit[j+1]; + lo = static_cast (fraclo * ngrid[1]); + if (1.0*lo != fraclo*ngrid[1]) lo++; + hi = static_cast (frachi * ngrid[1]); + if (1.0*hi == frachi*ngrid[1]) hi--; + box[2] = lo; + box[3] = hi; + + fraclo = zsplit[k]; + frachi = zsplit[k+1]; + lo = static_cast (fraclo * ngrid[2]); + if (1.0*lo != fraclo*ngrid[2]) lo++; + hi = static_cast (frachi * ngrid[2]); + if (1.0*hi == frachi*ngrid[2]) hi--; + box[4] = lo; + box[5] = hi; +} diff --git a/src/grid3d.h b/src/grid3d.h index 3d653cd3b7..a9ed5be97f 100644 --- a/src/grid3d.h +++ b/src/grid3d.h @@ -179,6 +179,12 @@ class Grid3d : protected Pointers { int *overlap_procs; // length of Nprocs in communicator + // BRICK decomposition + + double *xsplit,*ysplit,*zsplit; + int ***grid2proc; + + // TILED decomposition // RCB tree of cut info // each proc contributes one value, except proc 0 @@ -236,6 +242,7 @@ class Grid3d : protected Pointers { int indices(int *&, int, int, int, int, int, int); int find_proc_index(int, int, int, double *); + void find_proc_box(int, int, int, int *); }; } // namespace LAMMPS_NS diff --git a/src/input.cpp b/src/input.cpp index 4c88579dfc..77571795fe 100644 --- a/src/input.cpp +++ b/src/input.cpp @@ -1438,10 +1438,8 @@ void Input::comm_style() } else if (strcmp(arg[0],"tiled") == 0) { if (comm->style == 1) return; Comm *oldcomm = comm; - if (lmp->kokkos) comm = new CommTiledKokkos(lmp,oldcomm); else comm = new CommTiled(lmp,oldcomm); - delete oldcomm; } else error->all(FLERR,"Illegal comm_style command"); } From b6e29fd5d7f0a3a54129060c97e26803d8f8f4c2 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 27 Oct 2022 16:40:53 -0600 Subject: [PATCH 079/142] debugging of grid remap --- src/EXTRA-FIX/fix_ttm_grid.cpp | 35 +++++-- src/EXTRA-FIX/fix_ttm_grid.h | 2 + src/comm.cpp | 2 +- src/compute.cpp | 2 +- src/grid2d.cpp | 161 ++++++++++++++++++++++++--------- src/grid2d.h | 7 +- src/grid3d.cpp | 161 ++++++++++++++++++++++++--------- src/grid3d.h | 7 +- 8 files changed, 275 insertions(+), 102 deletions(-) diff --git a/src/EXTRA-FIX/fix_ttm_grid.cpp b/src/EXTRA-FIX/fix_ttm_grid.cpp index 240ebb9b3d..452f9604c0 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.cpp +++ b/src/EXTRA-FIX/fix_ttm_grid.cpp @@ -43,8 +43,8 @@ static constexpr int CHUNK = 1024; // OFFSET avoids outside-of-box atoms being rounded to grid pts incorrectly // SHIFT = 0.0 assigns atoms to lower-left grid pt // SHIFT = 0.5 assigns atoms to nearest grid pt -// use SHIFT = 0.0 for now since it allows fix ave/chunk -// to spatially average consistent with the TTM grid +// use SHIFT = 0.0 to match fix ttm +// also it allows fix ave/chunk to spatially average consistently static constexpr int OFFSET = 16384; static constexpr double SHIFT = 0.5; @@ -61,6 +61,7 @@ FixTTMGrid::FixTTMGrid(LAMMPS *lmp, int narg, char **arg) : if (outfile) error->all(FLERR,"Fix ttm/grid does not support outfile option - " "use dump grid command or restart files instead"); + shift = OFFSET + SHIFT; skin_original = neighbor->skin; } @@ -113,7 +114,7 @@ void FixTTMGrid::init() FixTTM::init(); if (neighbor->skin > skin_original) - error->all(FLERR,"Cannot extend neighbor skin after fix ttm/griddefined"); + error->all(FLERR,"Cannot extend neighbor skin after fix ttm/grid defined"); } /* ---------------------------------------------------------------------- */ @@ -499,6 +500,9 @@ void FixTTMGrid::reset_grid() return; } else delete gridnew; + // DEBUG + if (comm->me == 0) printf("Remapping grid on step %ld\n",update->ntimestep); + // delete grid data which doesn't need to persist from previous to new decomp memory->destroy(grid_buf1); @@ -510,6 +514,9 @@ void FixTTMGrid::reset_grid() grid_previous = grid; T_electron_previous = T_electron; + nxlo_out_previous = nxlo_out; + nylo_out_previous = nylo_out; + nzlo_out_previous = nzlo_out; // allocate new per-grid data for new decomposition @@ -530,12 +537,23 @@ void FixTTMGrid::reset_grid() memory->destroy(remap_buf2); // delete grid data and grid for previous decomposition - // NOTE: need to set offsets - int nxlo_out_prev,nylo_out_prev,nzlo_out_prev; memory->destroy3d_offset(T_electron_previous, - nzlo_out_prev, nylo_out_prev, nxlo_out_prev); + nzlo_out_previous, nylo_out_previous, + nxlo_out_previous); delete grid_previous; + + // communicate temperatures to ghost cells on new grid + + grid->forward_comm(Grid3d::FIX,this,1,sizeof(double),0, + grid_buf1,grid_buf2,MPI_DOUBLE); + + // zero new net_energy_transfer + // in case compute_vector accesses it on timestep 0 + + outflag = 0; + memset(&net_energy_transfer[nzlo_out][nylo_out][nxlo_out],0, + ngridout*sizeof(double)); } /* ---------------------------------------------------------------------- @@ -593,7 +611,8 @@ void FixTTMGrid::unpack_reverse_grid(int /*flag*/, void *vbuf, int nlist, int *l void FixTTMGrid::pack_remap_grid(void *vbuf, int nlist, int *list) { auto buf = (double *) vbuf; - double *src = &T_electron_previous[nzlo_out][nylo_out][nxlo_out]; + double *src = + &T_electron_previous[nzlo_out_previous][nylo_out_previous][nxlo_out_previous]; for (int i = 0; i < nlist; i++) buf[i] = src[list[i]]; } @@ -745,7 +764,7 @@ double FixTTMGrid::compute_vector(int n) T_electron[iz][iy][ix] * electronic_specific_heat * electronic_density * volgrid; transfer_energy_me += net_energy_transfer[iz][iy][ix] * update->dt; } - + MPI_Allreduce(&e_energy_me, &e_energy, 1, MPI_DOUBLE, MPI_SUM, world); MPI_Allreduce(&transfer_energy_me, &transfer_energy, 1, MPI_DOUBLE, MPI_SUM, world); outflag = 1; diff --git a/src/EXTRA-FIX/fix_ttm_grid.h b/src/EXTRA-FIX/fix_ttm_grid.h index 3260264ed6..b88b3bff7f 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.h +++ b/src/EXTRA-FIX/fix_ttm_grid.h @@ -63,6 +63,7 @@ class FixTTMGrid : public FixTTM { int nxlo_out, nxhi_out, nylo_out, nyhi_out, nzlo_out, nzhi_out; double delxinv, delyinv, delzinv; double skin_original; + double shift; FILE *fpout; class Grid3d *grid; @@ -72,6 +73,7 @@ class FixTTMGrid : public FixTTM { double *grid_buf1, *grid_buf2; double ***T_electron_read; + int nxlo_out_previous,nylo_out_previous,nzlo_out_previous; void allocate_grid() override; void deallocate_grid() override; diff --git a/src/comm.cpp b/src/comm.cpp index 82f4ad0a9e..7e6c677c45 100644 --- a/src/comm.cpp +++ b/src/comm.cpp @@ -1,4 +1,4 @@ -\// clang-format off +// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories diff --git a/src/compute.cpp b/src/compute.cpp index 7200f66dc8..a80f4c82da 100644 --- a/src/compute.cpp +++ b/src/compute.cpp @@ -62,7 +62,7 @@ Compute::Compute(LAMMPS *lmp, int narg, char **arg) : // set child class defaults scalar_flag = vector_flag = array_flag = 0; - peratom_flag = local_flag = 0; + peratom_flag = local_flag = pergrid_flag = 0; size_vector_variable = size_array_rows_variable = 0; tempflag = pressflag = peflag = 0; diff --git a/src/grid2d.cpp b/src/grid2d.cpp index 54584b8008..4908aa8735 100644 --- a/src/grid2d.cpp +++ b/src/grid2d.cpp @@ -298,7 +298,9 @@ Grid2d::~Grid2d() memory->destroy(copy[i].unpacklist); } memory->sfree(copy); + delete [] requests; + delete [] requests_remap; memory->sfree(rcbinfo); @@ -345,6 +347,7 @@ void Grid2d::store(int ixlo, int ixhi, int iylo, int iyhi, recv = nullptr; copy = nullptr; requests = nullptr; + requests_remap = nullptr; xsplit = ysplit = zsplit = nullptr; grid2proc = nullptr; @@ -695,8 +698,8 @@ void Grid2d::setup_tiled(int &nbuf1, int &nbuf2) double xlo,xhi,ylo,yhi; int ghostbox[4],pbc[2]; - // find overlaps of my extended ghost box with all other procs - // accounts for crossings of periodic boundaries + // find overlaps of my extended ghost box with all owned boxes + // accounts for ghost box overlapping periodic boundaries // noverlap = # of overlaps, including self // overlap = vector of overlap info using Overlap data struct @@ -708,12 +711,13 @@ void Grid2d::setup_tiled(int &nbuf1, int &nbuf2) pbc[0] = pbc[1] = 0; Overlap *overlap; - int noverlap = compute_overlap(ghostbox,pbc,overlap); + int noverlap = compute_overlap(1,ghostbox,pbc,overlap); // send each proc an overlap message // content: me, index of my overlap, box that overlaps with its owned cells // ncopy = # of overlaps with myself, across a periodic boundary - + // skip copy to self when non-PBC + int *proclist; memory->create(proclist,noverlap,"grid2d:proclist"); srequest = (Request *) @@ -723,8 +727,10 @@ void Grid2d::setup_tiled(int &nbuf1, int &nbuf2) ncopy = 0; for (m = 0; m < noverlap; m++) { - if (overlap[m].proc == me) ncopy++; - else { + if (overlap[m].proc == me) { + if (overlap[m].pbc[0] == 0 && overlap[m].pbc[1] == 0) continue; + ncopy++; + } else { proclist[nsend_request] = overlap[m].proc; srequest[nsend_request].sender = me; srequest[nsend_request].index = m; @@ -799,12 +805,14 @@ void Grid2d::setup_tiled(int &nbuf1, int &nbuf2) nrecv = nrecv_response; // create Copy data struct from overlaps with self - + // skip copy to self when non-PBC + copy = (Copy *) memory->smalloc(ncopy*sizeof(Copy),"grid2d:copy"); ncopy = 0; for (m = 0; m < noverlap; m++) { if (overlap[m].proc != me) continue; + if (overlap[m].pbc[0] == 0 && overlap[m].pbc[1] == 0) continue; xlo = overlap[m].box[0]; xhi = overlap[m].box[1]; ylo = overlap[m].box[2]; @@ -952,7 +960,7 @@ void Grid2d::forward_comm(int caller, void *ptr, int nper, int nbyte, int which, } /* ---------------------------------------------------------------------- - forward comm on regular grid of procs via list of swaps with 6 neighbor procs + forward comm for brick decomp via list of swaps with 6 neighbor procs ------------------------------------------------------------------------- */ template < class T > @@ -982,7 +990,7 @@ forward_comm_brick(T *ptr, int nper, int /*nbyte*/, int which, } /* ---------------------------------------------------------------------- - forward comm on tiled grid decomp via Send/Recv lists of each neighbor proc + forward comm for tiled decomp via Send/Recv lists of each neighbor proc ------------------------------------------------------------------------- */ template < class T > @@ -1057,7 +1065,7 @@ void Grid2d::reverse_comm(int caller, void *ptr, int nper, int nbyte, int which, } /* ---------------------------------------------------------------------- - reverse comm on regular grid of procs via list of swaps with 6 neighbor procs + reverse comm for brick decomp via list of swaps with 6 neighbor procs ------------------------------------------------------------------------- */ template < class T > @@ -1087,7 +1095,7 @@ reverse_comm_brick(T *ptr, int nper, int /*nbyte*/, int which, } /* ---------------------------------------------------------------------- - reverse comm on tiled grid decomp via Send/Recv lists of each neighbor proc + reverse comm for tiled decomp via Send/Recv lists of each neighbor proc ------------------------------------------------------------------------- */ template < class T > @@ -1147,8 +1155,6 @@ reverse_comm_tiled(T *ptr, int nper, int nbyte, int which, caller converts them to message size for grid data it stores ------------------------------------------------------------------------- */ -/* ------------------------------------------------------------------------- */ - void Grid2d::setup_remap(Grid2d *old, int &nremap_buf1, int &nremap_buf2) { int m; @@ -1159,7 +1165,11 @@ void Grid2d::setup_remap(Grid2d *old, int &nremap_buf1, int &nremap_buf2) deallocate_remap(); - // compute overlaps of old decomp owned box with all owned boxes in new decomp + // set layout to current Comm layout + + layout = comm->layout; + + // overlaps of my old decomp owned box with all owned boxes in new decomp // noverlap_old = # of overlaps, including self // overlap_old = vector of overlap info in Overlap data struct @@ -1168,7 +1178,7 @@ void Grid2d::setup_remap(Grid2d *old, int &nremap_buf1, int &nremap_buf2) pbc[0] = pbc[1] = 0; Overlap *overlap_old; - int noverlap_old = compute_overlap(oldbox,pbc,overlap_old); + int noverlap_old = compute_overlap(0,oldbox,pbc,overlap_old); // use overlap_old to construct send and copy lists @@ -1193,11 +1203,11 @@ void Grid2d::setup_remap(Grid2d *old, int &nremap_buf1, int &nremap_buf2) send_remap[nsend_remap].npack = old->indices(send_remap[nsend_remap].packlist, box[0],box[1],box[2],box[3]); + nsend_remap++; } - nsend_remap++; } - // compute overlaps of new decomp owned box with all owned boxes in old decomp + // overlaps of my new decomp owned box with all owned boxes in old decomp // noverlap_new = # of overlaps, including self // overlap_new = vector of overlap info in Overlap data struct @@ -1206,7 +1216,7 @@ void Grid2d::setup_remap(Grid2d *old, int &nremap_buf1, int &nremap_buf2) pbc[0] = pbc[1] = 0; Overlap *overlap_new; - int noverlap_new = old->compute_overlap(newbox,pbc,overlap_new); + int noverlap_new = old->compute_overlap(0,newbox,pbc,overlap_new); // use overlap_new to construct recv and copy lists // set offsets for Recv data @@ -1228,8 +1238,8 @@ void Grid2d::setup_remap(Grid2d *old, int &nremap_buf1, int &nremap_buf2) recv_remap[nrecv_remap].nunpack = indices(recv_remap[nrecv_remap].unpacklist, box[0],box[1],box[2],box[3]); + nrecv_remap++; } - nrecv_remap++; } // set offsets for received data @@ -1239,7 +1249,12 @@ void Grid2d::setup_remap(Grid2d *old, int &nremap_buf1, int &nremap_buf2) recv[m].offset = offset; offset += recv_remap[m].nunpack; } - + + // length of MPI requests vector = nrecv_remap + + delete [] requests_remap; + requests_remap = new MPI_Request[nrecv_remap]; + // clean-up clean_overlap(); @@ -1348,11 +1363,13 @@ void Grid2d::read_file_style(T *ptr, FILE *fp, int nchunk, int maxline) while (nread < ntotal) { int nchunk = MIN(ntotal - nread, nchunk); - int eof = utils::read_lines_from_file(fp, nchunk, maxline, buffer, comm->me, world); + int eof = utils::read_lines_from_file(fp, nchunk, maxline, buffer, me, world); if (eof) error->all(FLERR, "Unexpected end of grid data file"); nread += ptr->unpack_read_grid(buffer); } + + delete [] buffer; } /* ---------------------------------------------------------------------- @@ -1377,8 +1394,6 @@ template < class T > void Grid2d::write_file_style(T *ptr, int which, int nper, int nbyte, MPI_Datatype datatype) { - int me = comm->me; - // maxsize = max size of grid data owned by any proc int mysize = (inxhi-inxlo+1) * (inyhi-inylo+1); @@ -1445,6 +1460,9 @@ void Grid2d::write_file_style(T *ptr, int which, /* ---------------------------------------------------------------------- compute list of overlaps between box and the owned grid boxes of all procs + ghostflag = 1 if box includes ghost grid pts, called by setup_tiled() + ghostflag = 0 if box has no ghost grid pts, called by setup_remap() + layout != LAYOUT_TILED is only invoked by setup_remap() for brick decomp of Grid, done using xyz split + grid2proc copied from Comm for tiled decomp of Grid, done via recursive box drop on RCB tree box = 4 integers = (xlo,xhi,ylo,yhi) @@ -1452,12 +1470,19 @@ void Grid2d::write_file_style(T *ptr, int which, pbc = flags for grid periodicity in each dim if box includes ghost cells, it can overlap PBCs (only for setup_tiled) each lo/hi value may extend beyond 0 to N-1 into another periodic image - return # of overlaps including with self + return # of overlaps including with self, caller handles self overlaps as needed return list of overlaps + for setup_tiled() this is what box_drop() computes + entire box for each overlap + caller will determine extent of overlap using PBC info + for setup_remap(), return extent of overlap (no PBC info involved) + use proc_box_uniform() or tiled() and MAX/MIN to determine this ------------------------------------------------------------------------- */ -int Grid2d::compute_overlap(int *box, int *pbc, Overlap *&overlap) +int Grid2d::compute_overlap(int ghostflag, int *box, int *pbc, Overlap *&overlap) { + int obox[4]; + memory->create(overlap_procs,nprocs,"grid2d:overlap_procs"); noverlap_list = maxoverlap_list = 0; overlap_list = nullptr; @@ -1466,16 +1491,16 @@ int Grid2d::compute_overlap(int *box, int *pbc, Overlap *&overlap) // find comm->procgrid indices in each dim for box bounds - int iproclo = find_proc_index(box[0],ngrid[0],0,comm->xsplit); - int iprochi = find_proc_index(box[1],ngrid[0],0,comm->xsplit); - int jproclo = find_proc_index(box[2],ngrid[1],1,comm->ysplit); - int jprochi = find_proc_index(box[3],ngrid[1],1,comm->ysplit); + int iproclo = proc_index_uniform(box[0],ngrid[0],0,comm->xsplit); + int iprochi = proc_index_uniform(box[1],ngrid[0],0,comm->xsplit); + int jproclo = proc_index_uniform(box[2],ngrid[1],1,comm->ysplit); + int jprochi = proc_index_uniform(box[3],ngrid[1],1,comm->ysplit); + + // compute extent of overlap of box with with each proc's obox - int obox[4]; - for (int j = jproclo; j <= jprochi; j++) for (int i = iproclo; i <= iprochi; i++) { - find_proc_box(i,j,obox); + proc_box_uniform(i,j,obox); if (noverlap_list == maxoverlap_list) grow_overlap(); overlap_list[noverlap_list].proc = grid2proc[i][j][0]; @@ -1486,8 +1511,26 @@ int Grid2d::compute_overlap(int *box, int *pbc, Overlap *&overlap) noverlap_list++; } - } else if (layout == Comm::LAYOUT_TILED) { + } else { box_drop(box,pbc); + + // compute extent of overlap of box with with each proc's obox + + if (ghostflag == 0) { + for (int m = 0; m < noverlap_list; m++) { + obox[0] = 0; + obox[1] = ngrid[0]-1; + obox[2] = 0; + obox[3] = ngrid[1]-1; + + proc_box_tiled(overlap_list[m].proc,0,nprocs-1,obox); + + overlap_list[m].box[0] = MAX(box[0],obox[0]); + overlap_list[m].box[1] = MIN(box[1],obox[1]); + overlap_list[m].box[2] = MAX(box[2],obox[2]); + overlap_list[m].box[3] = MIN(box[3],obox[3]); + } + } } overlap = overlap_list; @@ -1553,10 +1596,9 @@ void Grid2d::box_drop(int *box, int *pbc) newpbc[1]++; // box is not split, drop on RCB tree - // returns nprocs = # of procs it overlaps, including self + // returns np = # of procs it overlaps, including self // returns proc_overlap = list of proc IDs it overlaps - // skip self overlap if no crossing of periodic boundaries - // do not skip self if overlap is in another periodic image + // add each overlap to overlap list } else { splitflag = 0; @@ -1564,8 +1606,6 @@ void Grid2d::box_drop(int *box, int *pbc) box_drop_grid(box,0,nprocs-1,np,overlap_procs); for (m = 0; m < np; m++) { if (noverlap_list == maxoverlap_list) grow_overlap(); - if (overlap_procs[m] == me && - pbc[0] == 0 && pbc[1] == 0 && pbc[2] == 0) continue; overlap_list[noverlap_list].proc = overlap_procs[m]; for (i = 0; i < 4; i++) overlap_list[noverlap_list].box[i] = box[i]; for (i = 0; i < 2; i++) overlap_list[noverlap_list].pbc[i] = pbc[i]; @@ -1648,11 +1688,11 @@ void Grid2d::deallocate_remap() { for (int i = 0; i < nsend_remap; i++) memory->destroy(send_remap[i].packlist); - memory->sfree(send_remap); + delete [] send_remap; for (int i = 0; i < nrecv_remap; i++) memory->destroy(recv_remap[i].unpacklist); - memory->sfree(recv_remap); + delete [] recv_remap; if (self_remap) { memory->destroy(copy_remap.packlist); @@ -1684,14 +1724,14 @@ int Grid2d::indices(int *&list, int xlo, int xhi, int ylo, int yhi) } /* ---------------------------------------------------------------------- - find the comm->procgrid index for which proc owns the igrid index + find the comm->procgrid index = which proc owns the igrid index igrid = grid index (0 to N-1) in dim n = # of grid points in dim dim = which dimension (0,1) split = comm->x/y/z split for fractional bounds of each proc domain ------------------------------------------------------------------------- */ -int Grid2d::find_proc_index(int igrid, int n, int dim, double *split) +int Grid2d::proc_index_uniform(int igrid, int n, int dim, double *split) { int gridlo,gridhi; double fraclo,frachi; @@ -1716,13 +1756,13 @@ int Grid2d::find_proc_index(int igrid, int n, int dim, double *split) } /* ---------------------------------------------------------------------- - find the grid box for proc with grid indices i,j + compute the grid box for proc with grid indices i,j i,j,k = grid index (0 to N-1) in each dim return lo/hi bounds of box in 2 dims computation is same as Comm::partition_grid() ------------------------------------------------------------------------- */ -void Grid2d::find_proc_box(int i, int j, int *box) +void Grid2d::proc_box_uniform(int i, int j, int *box) { int lo,hi; double fraclo,frachi; @@ -1745,3 +1785,36 @@ void Grid2d::find_proc_box(int i, int j, int *box) box[2] = lo; box[3] = hi; } + +/* ---------------------------------------------------------------------- + compute the grid box for proc within tiled decomposition + performed recursively until proclower = procupper = proc + return box = lo/hi bounds of proc's box in 2 dims +------------------------------------------------------------------------- */ + +void Grid2d::proc_box_tiled(int proc, int proclower, int procupper, int *box) +{ + // end recursion when partition is a single proc + + if (proclower == procupper) return; + + // split processor partition + // procmid = 1st processor in upper half of partition + // = location in tree that stores this cut + // cut = index of first grid cell in upper partition + // dim = 0,1 dimension of cut + + int procmid = proclower + (procupper - proclower) / 2 + 1; + int dim = rcbinfo[procmid].dim; + int cut = rcbinfo[procmid].cut; + + // adjust box to reflect which half of partition the proc is in + + if (proc < procmid) { + box[2*dim+1] = cut-1; + proc_box_tiled(proc,proclower,procmid-1,box); + } else { + box[2*dim] = cut; + proc_box_tiled(proc,procmid,procupper,box); + } +} diff --git a/src/grid2d.h b/src/grid2d.h index 15a4e245d3..18410fb38e 100644 --- a/src/grid2d.h +++ b/src/grid2d.h @@ -226,7 +226,7 @@ protected: template void read_file_style(T *, FILE *, int, int); template void write_file_style(T *, int, int, int, MPI_Datatype); - int compute_overlap(int *, int *, Overlap *&); + int compute_overlap(int, int *, int *, Overlap *&); void clean_overlap(); void box_drop(int *, int *); void box_drop_grid(int *, int, int, int &, int *); @@ -236,8 +236,9 @@ protected: void deallocate_remap(); int indices(int *&, int, int, int, int); - int find_proc_index(int, int, int, double *); - void find_proc_box(int, int, int *); + int proc_index_uniform(int, int, int, double *); + void proc_box_uniform(int, int, int *); + void proc_box_tiled(int, int, int, int *); }; } // namespace LAMMPS_NS diff --git a/src/grid3d.cpp b/src/grid3d.cpp index 2645ffae4a..df5735039e 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -26,8 +26,6 @@ using namespace LAMMPS_NS; -enum{UNIFORM,TILED}; - #define DELTA 16 static constexpr int OFFSET = 16384; @@ -317,7 +315,9 @@ Grid3d::~Grid3d() memory->destroy(copy[i].unpacklist); } memory->sfree(copy); + delete [] requests; + delete [] requests_remap; memory->sfree(rcbinfo); @@ -374,6 +374,7 @@ void Grid3d::store(int ixlo, int ixhi, int iylo, int iyhi, recv = nullptr; copy = nullptr; requests = nullptr; + requests_remap = nullptr; xsplit = ysplit = zsplit = nullptr; grid2proc = nullptr; @@ -434,7 +435,7 @@ int Grid3d::identical(Grid3d *grid2) { int inxlo2,inxhi2,inylo2,inyhi2,inzlo2,inzhi2; int outxlo2,outxhi2,outylo2,outyhi2,outzlo2,outzhi2; - + grid2->get_bounds(inxlo2,inxhi2,inylo2,inyhi2,inzlo2,inzhi2); grid2->get_bounds_ghost(outxlo2,outxhi2,outylo2,outyhi2,outzlo2,outzhi2); @@ -841,11 +842,12 @@ void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) pbc[0] = pbc[1] = pbc[2] = 0; Overlap *overlap; - int noverlap = compute_overlap(ghostbox,pbc,overlap); + int noverlap = compute_overlap(1,ghostbox,pbc,overlap); // send each proc an overlap message // content: me, index of my overlap, box that overlaps with its owned cells - // ncopy = # of overlaps with myself, across a periodic boundary + // ncopy = # of overlaps with myself across a periodic boundary + // skip copy to self when non-PBC int *proclist; memory->create(proclist,noverlap,"grid3d:proclist"); @@ -856,8 +858,11 @@ void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) ncopy = 0; for (m = 0; m < noverlap; m++) { - if (overlap[m].proc == me) ncopy++; - else { + if (overlap[m].proc == me) { + if (overlap[m].pbc[0] == 0 && overlap[m].pbc[1] == 0 && + overlap[m].pbc[2] == 0) continue; + ncopy++; + } else { proclist[nsend_request] = overlap[m].proc; srequest[nsend_request].sender = me; srequest[nsend_request].index = m; @@ -939,12 +944,15 @@ void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) nrecv = nrecv_response; // create Copy data struct from overlaps with self - + // skip copy to self when non-PBC + copy = (Copy *) memory->smalloc(ncopy*sizeof(Copy),"grid3d:copy"); ncopy = 0; for (m = 0; m < noverlap; m++) { if (overlap[m].proc != me) continue; + if (overlap[m].pbc[0] == 0 && overlap[m].pbc[1] == 0 && + overlap[m].pbc[2] == 0) continue; xlo = overlap[m].box[0]; xhi = overlap[m].box[1]; ylo = overlap[m].box[2]; @@ -1303,7 +1311,11 @@ void Grid3d::setup_remap(Grid3d *old, int &nremap_buf1, int &nremap_buf2) deallocate_remap(); - // compute overlaps of old decomp owned box with all owned boxes in new decomp + // set layout to current Comm layout + + layout = comm->layout; + + // overlaps of my old decomp owned box with all owned boxes in new decomp // noverlap_old = # of overlaps, including self // overlap_old = vector of overlap info in Overlap data struct @@ -1312,7 +1324,7 @@ void Grid3d::setup_remap(Grid3d *old, int &nremap_buf1, int &nremap_buf2) pbc[0] = pbc[1] = pbc[2] = 0; Overlap *overlap_old; - int noverlap_old = compute_overlap(oldbox,pbc,overlap_old); + int noverlap_old = compute_overlap(0,oldbox,pbc,overlap_old); // use overlap_old to construct send and copy lists @@ -1320,7 +1332,7 @@ void Grid3d::setup_remap(Grid3d *old, int &nremap_buf1, int &nremap_buf2) nsend_remap = 0; for (m = 0; m < noverlap_old; m++) { - if (overlap_old[m].proc == me) self_remap =1; + if (overlap_old[m].proc == me) self_remap = 1; else nsend_remap++; } @@ -1338,11 +1350,11 @@ void Grid3d::setup_remap(Grid3d *old, int &nremap_buf1, int &nremap_buf2) send_remap[nsend_remap].npack = old->indices(send_remap[nsend_remap].packlist, box[0],box[1],box[2],box[3],box[4],box[5]); + nsend_remap++; } - nsend_remap++; } - // compute overlaps of new decomp owned box with all owned boxes in old decomp + // overlaps of my new decomp owned box with all owned boxes in old decomp // noverlap_new = # of overlaps, including self // overlap_new = vector of overlap info in Overlap data struct @@ -1351,7 +1363,7 @@ void Grid3d::setup_remap(Grid3d *old, int &nremap_buf1, int &nremap_buf2) pbc[0] = pbc[1] = pbc[2] = 0; Overlap *overlap_new; - int noverlap_new = old->compute_overlap(newbox,pbc,overlap_new); + int noverlap_new = old->compute_overlap(0,newbox,pbc,overlap_new); // use overlap_new to construct recv and copy lists // set offsets for Recv data @@ -1374,18 +1386,23 @@ void Grid3d::setup_remap(Grid3d *old, int &nremap_buf1, int &nremap_buf2) recv_remap[nrecv_remap].nunpack = indices(recv_remap[nrecv_remap].unpacklist, box[0],box[1],box[2],box[3],box[4],box[5]); + nrecv_remap++; } - nrecv_remap++; } // set offsets for received data int offset = 0; for (m = 0; m < nrecv_remap; m++) { - recv[m].offset = offset; + recv_remap[m].offset = offset; offset += recv_remap[m].nunpack; } - + + // length of MPI requests vector = nrecv_remap + + delete [] requests_remap; + requests_remap = new MPI_Request[nrecv_remap]; + // clean-up clean_overlap(); @@ -1494,7 +1511,7 @@ void Grid3d::read_file_style(T *ptr, FILE *fp, int nchunk, int maxline) while (nread < ntotal) { int nchunk = MIN(ntotal - nread, nchunk); - int eof = utils::read_lines_from_file(fp, nchunk, maxline, buffer, comm->me, world); + int eof = utils::read_lines_from_file(fp, nchunk, maxline, buffer, me, world); if (eof) error->all(FLERR, "Unexpected end of grid data file"); nread += ptr->unpack_read_grid(buffer); @@ -1525,8 +1542,6 @@ template < class T > void Grid3d::write_file_style(T *ptr, int which, int nper, int nbyte, MPI_Datatype datatype) { - int me = comm->me; - // maxsize = max size of grid data owned by any proc int mysize = (inxhi-inxlo+1) * (inyhi-inylo+1) * (inzhi-inzlo+1); @@ -1597,6 +1612,9 @@ void Grid3d::write_file_style(T *ptr, int which, /* ---------------------------------------------------------------------- compute list of overlaps between box and the owned grid boxes of all procs + ghostflag = 1 if box includes ghost grid pts, called by setup_tiled() + ghostflag = 0 if box has no ghost grid pts, called by setup_remap() + layout != LAYOUT_TILED is only invoked by setup_remap() for brick decomp of Grid, done using xyz split + grid2proc copied from Comm for tiled decomp of Grid, done via recursive box drop on RCB tree box = 6 integers = (xlo,xhi,ylo,yhi,zlo,zhi) @@ -1604,12 +1622,19 @@ void Grid3d::write_file_style(T *ptr, int which, pbc = flags for grid periodicity in each dim if box includes ghost cells, it can overlap PBCs (only for setup_tiled) each lo/hi value may extend beyond 0 to N-1 into another periodic image - return # of overlaps including with self + return # of overlaps including with self, caller handles self overlaps as needed return list of overlaps + for setup_tiled() this is what box_drop() computes + entire box for each overlap + caller will determine extent of overlap using PBC info + for setup_remap(), return extent of overlap (no PBC info involved) + use proc_box_uniform() or tiled() and MAX/MIN to determine this ------------------------------------------------------------------------- */ -int Grid3d::compute_overlap(int *box, int *pbc, Overlap *&overlap) +int Grid3d::compute_overlap(int ghostflag, int *box, int *pbc, Overlap *&overlap) { + int obox[6]; + memory->create(overlap_procs,nprocs,"grid3d:overlap_procs"); noverlap_list = maxoverlap_list = 0; overlap_list = nullptr; @@ -1618,19 +1643,19 @@ int Grid3d::compute_overlap(int *box, int *pbc, Overlap *&overlap) // find comm->procgrid indices in each dim for box bounds - int iproclo = find_proc_index(box[0],ngrid[0],0,xsplit); - int iprochi = find_proc_index(box[1],ngrid[0],0,xsplit); - int jproclo = find_proc_index(box[2],ngrid[1],1,ysplit); - int jprochi = find_proc_index(box[3],ngrid[1],1,ysplit); - int kproclo = find_proc_index(box[4],ngrid[2],2,zsplit); - int kprochi = find_proc_index(box[5],ngrid[2],2,zsplit); + int iproclo = proc_index_uniform(box[0],ngrid[0],0,xsplit); + int iprochi = proc_index_uniform(box[1],ngrid[0],0,xsplit); + int jproclo = proc_index_uniform(box[2],ngrid[1],1,ysplit); + int jprochi = proc_index_uniform(box[3],ngrid[1],1,ysplit); + int kproclo = proc_index_uniform(box[4],ngrid[2],2,zsplit); + int kprochi = proc_index_uniform(box[5],ngrid[2],2,zsplit); - int obox[6]; + // compute extent of overlap of box with with each proc's obox for (int k = kproclo; k <= kprochi; k++) for (int j = jproclo; j <= jprochi; j++) for (int i = iproclo; i <= iprochi; i++) { - find_proc_box(i,j,k,obox); + proc_box_uniform(i,j,k,obox); if (noverlap_list == maxoverlap_list) grow_overlap(); overlap_list[noverlap_list].proc = grid2proc[i][j][k]; @@ -1643,8 +1668,30 @@ int Grid3d::compute_overlap(int *box, int *pbc, Overlap *&overlap) noverlap_list++; } - } else if (layout == TILED) { + } else { box_drop(box,pbc); + + // compute extent of overlap of box with with each proc's obox + + if (ghostflag == 0) { + for (int m = 0; m < noverlap_list; m++) { + obox[0] = 0; + obox[1] = ngrid[0]-1; + obox[2] = 0; + obox[3] = ngrid[1]-1; + obox[4] = 0; + obox[5] = ngrid[2]-1; + + proc_box_tiled(overlap_list[m].proc,0,nprocs-1,obox); + + overlap_list[m].box[0] = MAX(box[0],obox[0]); + overlap_list[m].box[1] = MIN(box[1],obox[1]); + overlap_list[m].box[2] = MAX(box[2],obox[2]); + overlap_list[m].box[3] = MIN(box[3],obox[3]); + overlap_list[m].box[4] = MAX(box[4],obox[4]); + overlap_list[m].box[5] = MIN(box[5],obox[5]); + } + } } overlap = overlap_list; @@ -1720,10 +1767,9 @@ void Grid3d::box_drop(int *box, int *pbc) newpbc[2]++; // box is not split, drop on RCB tree - // returns nprocs = # of procs it overlaps, including self + // returns np = # of procs it overlaps, including self // returns proc_overlap = list of proc IDs it overlaps - // skip self overlap if no crossing of periodic boundaries - // do not skip self if overlap is in another periodic image + // add each overlap to overlap list } else { splitflag = 0; @@ -1731,8 +1777,6 @@ void Grid3d::box_drop(int *box, int *pbc) box_drop_grid(box,0,nprocs-1,np,overlap_procs); for (m = 0; m < np; m++) { if (noverlap_list == maxoverlap_list) grow_overlap(); - if (overlap_procs[m] == me && - pbc[0] == 0 && pbc[1] == 0 && pbc[2] == 0) continue; overlap_list[noverlap_list].proc = overlap_procs[m]; for (i = 0; i < 6; i++) overlap_list[noverlap_list].box[i] = box[i]; for (i = 0; i < 3; i++) overlap_list[noverlap_list].pbc[i] = pbc[i]; @@ -1815,11 +1859,11 @@ void Grid3d::deallocate_remap() { for (int i = 0; i < nsend_remap; i++) memory->destroy(send_remap[i].packlist); - memory->sfree(send_remap); + delete [] send_remap; for (int i = 0; i < nrecv_remap; i++) memory->destroy(recv_remap[i].unpacklist); - memory->sfree(recv_remap); + delete [] recv_remap; if (self_remap) { memory->destroy(copy_remap.packlist); @@ -1854,14 +1898,14 @@ int Grid3d::indices(int *&list, } /* ---------------------------------------------------------------------- - find the comm->procgrid index for which proc owns the igrid index + find the comm->procgrid index = which proc owns the igrid index igrid = grid index (0 to N-1) in dim n = # of grid points in dim dim = which dimension (0,1,2) split = comm->x/y/z split for fractional bounds of each proc domain ------------------------------------------------------------------------- */ -int Grid3d::find_proc_index(int igrid, int n, int dim, double *split) +int Grid3d::proc_index_uniform(int igrid, int n, int dim, double *split) { int gridlo,gridhi; double fraclo,frachi; @@ -1886,13 +1930,13 @@ int Grid3d::find_proc_index(int igrid, int n, int dim, double *split) } /* ---------------------------------------------------------------------- - find the grid box for proc with grid indices i,j,k + compute the grid box for proc with grid indices i,j,k i,j,k = grid index (0 to N-1) in each dim return lo/hi bounds of box in 3 dims computation is same as Comm::partition_grid() ------------------------------------------------------------------------- */ -void Grid3d::find_proc_box(int i, int j, int k, int *box) +void Grid3d::proc_box_uniform(int i, int j, int k, int *box) { int lo,hi; double fraclo,frachi; @@ -1924,3 +1968,36 @@ void Grid3d::find_proc_box(int i, int j, int k, int *box) box[4] = lo; box[5] = hi; } + +/* ---------------------------------------------------------------------- + compute the grid box for proc within tiled decomposition + performed recursively until proclower = procupper = proc + return box = lo/hi bounds of proc's box in 3 dims +------------------------------------------------------------------------- */ + +void Grid3d::proc_box_tiled(int proc, int proclower, int procupper, int *box) +{ + // end recursion when partition is a single proc + + if (proclower == procupper) return; + + // split processor partition + // procmid = 1st processor in upper half of partition + // = location in tree that stores this cut + // cut = index of first grid cell in upper partition + // dim = 0,1,2 dimension of cut + + int procmid = proclower + (procupper - proclower) / 2 + 1; + int dim = rcbinfo[procmid].dim; + int cut = rcbinfo[procmid].cut; + + // adjust box to reflect which half of partition the proc is in + + if (proc < procmid) { + box[2*dim+1] = cut-1; + proc_box_tiled(proc,proclower,procmid-1,box); + } else { + box[2*dim] = cut; + proc_box_tiled(proc,procmid,procupper,box); + } +} diff --git a/src/grid3d.h b/src/grid3d.h index a9ed5be97f..c41ba00852 100644 --- a/src/grid3d.h +++ b/src/grid3d.h @@ -231,7 +231,7 @@ class Grid3d : protected Pointers { template void read_file_style(T *, FILE *, int, int); template void write_file_style(T *, int, int, int, MPI_Datatype); - int compute_overlap(int *, int *, Overlap *&); + int compute_overlap(int, int *, int *, Overlap *&); void clean_overlap(); void box_drop(int *, int *); void box_drop_grid(int *, int, int, int &, int *); @@ -241,8 +241,9 @@ class Grid3d : protected Pointers { void deallocate_remap(); int indices(int *&, int, int, int, int, int, int); - int find_proc_index(int, int, int, double *); - void find_proc_box(int, int, int, int *); + int proc_index_uniform(int, int, int, double *); + void proc_box_uniform(int, int, int, int *); + void proc_box_tiled(int, int, int, int *); }; } // namespace LAMMPS_NS From 861e3b58761b26201c1414b03163fcaf6426f097 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 28 Oct 2022 17:46:19 -0600 Subject: [PATCH 080/142] shift factors --- src/EXTRA-FIX/fix_ttm_grid.cpp | 9 +++++++++ src/fix_ave_grid.cpp | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/EXTRA-FIX/fix_ttm_grid.cpp b/src/EXTRA-FIX/fix_ttm_grid.cpp index 452f9604c0..71c6d08e08 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.cpp +++ b/src/EXTRA-FIX/fix_ttm_grid.cpp @@ -210,9 +210,15 @@ void FixTTMGrid::end_of_step() flangevin[i][2]*v[i][2]); } + printf("AAA Telec000 %g Net000 %g\n", + T_electron[0][0][0],net_energy_transfer[0][0][0]); + grid->reverse_comm(Grid3d::FIX,this,1,sizeof(double),0, grid_buf1,grid_buf2,MPI_DOUBLE); + printf("BBB Telec000 %g Net000 %g\n", + T_electron[0][0][0],net_energy_transfer[0][0][0]); + // clang-format off // num_inner_timesteps = # of inner steps (thermal solves) @@ -266,6 +272,9 @@ void FixTTMGrid::end_of_step() grid->forward_comm(Grid3d::FIX,this,1,sizeof(double),0, grid_buf1,grid_buf2,MPI_DOUBLE); } + + printf("CCC Telec000 %g Net000 %g\n", + T_electron[0][0][0],net_energy_transfer[0][0][0]); } /* ---------------------------------------------------------------------- diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index ff7a0e0d74..995b7110fd 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -43,7 +43,7 @@ enum{DISCARD,KEEP}; // SHIFT = 0.5 assigns atoms to nearest grid pt static constexpr int OFFSET = 16384; -static constexpr double SHIFT = 0.5; +static constexpr double SHIFT = 0.0; /* ---------------------------------------------------------------------- */ From 19fad284af25ed7a7fe258949c61fc69656da209 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 28 Oct 2022 18:03:08 -0600 Subject: [PATCH 081/142] more on shift factors --- src/EXTRA-FIX/fix_ttm_grid.cpp | 32 +++++++++----------------------- src/fix_ave_grid.cpp | 18 +++++++----------- 2 files changed, 16 insertions(+), 34 deletions(-) diff --git a/src/EXTRA-FIX/fix_ttm_grid.cpp b/src/EXTRA-FIX/fix_ttm_grid.cpp index 71c6d08e08..b26a209402 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.cpp +++ b/src/EXTRA-FIX/fix_ttm_grid.cpp @@ -41,13 +41,8 @@ static constexpr int MAXLINE = 256; static constexpr int CHUNK = 1024; // OFFSET avoids outside-of-box atoms being rounded to grid pts incorrectly -// SHIFT = 0.0 assigns atoms to lower-left grid pt -// SHIFT = 0.5 assigns atoms to nearest grid pt -// use SHIFT = 0.0 to match fix ttm -// also it allows fix ave/chunk to spatially average consistently static constexpr int OFFSET = 16384; -static constexpr double SHIFT = 0.5; /* ---------------------------------------------------------------------- */ @@ -61,7 +56,6 @@ FixTTMGrid::FixTTMGrid(LAMMPS *lmp, int narg, char **arg) : if (outfile) error->all(FLERR,"Fix ttm/grid does not support outfile option - " "use dump grid command or restart files instead"); - shift = OFFSET + SHIFT; skin_original = neighbor->skin; } @@ -142,9 +136,9 @@ void FixTTMGrid::post_force(int /*vflag*/) for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { - ix = static_cast ((x[i][0]-boxlo[0])*dxinv + shift) - OFFSET; - iy = static_cast ((x[i][1]-boxlo[1])*dyinv + shift) - OFFSET; - iz = static_cast ((x[i][2]-boxlo[2])*dzinv + shift) - OFFSET; + ix = static_cast ((x[i][0]-boxlo[0])*dxinv + OFFSET) - OFFSET; + iy = static_cast ((x[i][1]-boxlo[1])*dyinv + OFFSET) - OFFSET; + iz = static_cast ((x[i][2]-boxlo[2])*dzinv + OFFSET) - OFFSET; // flag if ix,iy,iz is not within my ghost cell range @@ -201,24 +195,18 @@ void FixTTMGrid::end_of_step() for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - ix = static_cast ((x[i][0]-boxlo[0])*dxinv + shift) - OFFSET; - iy = static_cast ((x[i][1]-boxlo[1])*dyinv + shift) - OFFSET; - iz = static_cast ((x[i][2]-boxlo[2])*dzinv + shift) - OFFSET; + ix = static_cast ((x[i][0]-boxlo[0])*dxinv + OFFSET) - OFFSET; + iy = static_cast ((x[i][1]-boxlo[1])*dyinv + OFFSET) - OFFSET; + iz = static_cast ((x[i][2]-boxlo[2])*dzinv + OFFSET) - OFFSET; net_energy_transfer[iz][iy][ix] += (flangevin[i][0]*v[i][0] + flangevin[i][1]*v[i][1] + flangevin[i][2]*v[i][2]); } - printf("AAA Telec000 %g Net000 %g\n", - T_electron[0][0][0],net_energy_transfer[0][0][0]); - grid->reverse_comm(Grid3d::FIX,this,1,sizeof(double),0, grid_buf1,grid_buf2,MPI_DOUBLE); - printf("BBB Telec000 %g Net000 %g\n", - T_electron[0][0][0],net_energy_transfer[0][0][0]); - // clang-format off // num_inner_timesteps = # of inner steps (thermal solves) @@ -272,9 +260,6 @@ void FixTTMGrid::end_of_step() grid->forward_comm(Grid3d::FIX,this,1,sizeof(double),0, grid_buf1,grid_buf2,MPI_DOUBLE); } - - printf("CCC Telec000 %g Net000 %g\n", - T_electron[0][0][0],net_energy_transfer[0][0][0]); } /* ---------------------------------------------------------------------- @@ -500,7 +485,8 @@ void FixTTMGrid::reset_grid() int tmp[12]; double maxdist = 0.5 * neighbor->skin; - Grid3d *gridnew = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid, maxdist, 1, SHIFT, + Grid3d *gridnew = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid, + maxdist, 1, 0.5, tmp[0],tmp[1],tmp[2],tmp[3],tmp[4],tmp[5], tmp[6],tmp[7],tmp[8],tmp[9],tmp[10],tmp[11]); @@ -646,7 +632,7 @@ void FixTTMGrid::allocate_grid() { double maxdist = 0.5 * neighbor->skin; - grid = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid, maxdist, 1, SHIFT, + grid = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid, maxdist, 1, 0.5, nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, nzhi_in, nxlo_out, nxhi_out, nylo_out, nyhi_out, nzlo_out, nzhi_out); diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index 995b7110fd..0551ab4493 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -39,11 +39,8 @@ enum{ONE,RUNNING,WINDOW}; enum{DISCARD,KEEP}; // OFFSET avoids outside-of-box atoms being rounded to grid pts incorrectly -// SHIFT = 0.0 assigns atoms to lower-left grid pt -// SHIFT = 0.5 assigns atoms to nearest grid pt static constexpr int OFFSET = 16384; -static constexpr double SHIFT = 0.0; /* ---------------------------------------------------------------------- */ @@ -398,7 +395,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : else if (modegrid) maxdist = 0.0; if (dimension == 2) { - grid2d = new Grid2d(lmp, world, nxgrid, nygrid, maxdist, 0, SHIFT, + grid2d = new Grid2d(lmp, world, nxgrid, nygrid, maxdist, 0, 0.5, nxlo_in, nxhi_in, nylo_in, nyhi_in, nxlo_out, nxhi_out, nylo_out, nyhi_out); @@ -414,7 +411,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : ngridout = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1); } else { - grid3d = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid, maxdist, 0, SHIFT, + grid3d = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid, maxdist, 0, 0.5, nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, nzhi_in, nxlo_out, nxhi_out, nylo_out, nyhi_out, nzlo_out, nzhi_out); @@ -846,7 +843,6 @@ void FixAveGrid::atom2grid() if (triclinic) domain->x2lamda(nlocal); int flag = 0; - double shift = OFFSET + SHIFT; if (dimension == 2) { for (i = 0; i < nlocal; i++) { @@ -855,8 +851,8 @@ void FixAveGrid::atom2grid() continue; } - ix = static_cast ((x[i][0]-boxlo[0])*dxinv + shift) - OFFSET; - iy = static_cast ((x[i][1]-boxlo[1])*dyinv + shift) - OFFSET; + ix = static_cast ((x[i][0]-boxlo[0])*dxinv + OFFSET) - OFFSET; + iy = static_cast ((x[i][1]-boxlo[1])*dyinv + OFFSET) - OFFSET; if (ix < nxlo_out || ix > nxhi_out) { if (periodicity[0]) flag = 1; @@ -890,9 +886,9 @@ void FixAveGrid::atom2grid() continue; } - ix = static_cast ((x[i][0]-boxlo[0])*dxinv + shift) - OFFSET; - iy = static_cast ((x[i][1]-boxlo[1])*dyinv + shift) - OFFSET; - iz = static_cast ((x[i][2]-boxlo[2])*dzinv + shift) - OFFSET; + ix = static_cast ((x[i][0]-boxlo[0])*dxinv + OFFSET) - OFFSET; + iy = static_cast ((x[i][1]-boxlo[1])*dyinv + OFFSET) - OFFSET; + iz = static_cast ((x[i][2]-boxlo[2])*dzinv + OFFSET) - OFFSET; if (ix < nxlo_out || ix > nxhi_out) { if (periodicity[0]) flag = 1; From aa777a21961a92dd347c423f0fa94eee538e7e1b Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 31 Oct 2022 15:28:39 -0600 Subject: [PATCH 082/142] allow for centered grid cells in proc mapping --- src/fix_ave_grid.cpp | 4 +- src/grid2d.cpp | 492 +++++++++++++++++++++---------------- src/grid2d.h | 24 +- src/grid3d.cpp | 562 ++++++++++++++++++++++++------------------- src/grid3d.h | 23 +- 5 files changed, 623 insertions(+), 482 deletions(-) diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index 0551ab4493..39b05fb105 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -401,7 +401,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : // ngrid_buf12 converted to nvalues + count - grid2d->setup(ngrid_buf1, ngrid_buf2); + grid2d->setup_comm(ngrid_buf1, ngrid_buf2); ngrid_buf1 *= nvalues + 1; ngrid_buf2 *= nvalues + 1; @@ -418,7 +418,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : // ngrid_buf12 converted to nvalues + count - grid3d->setup(ngrid_buf1, ngrid_buf2); + grid3d->setup_comm(ngrid_buf1, ngrid_buf2); ngrid_buf1 *= nvalues + 1; ngrid_buf2 *= nvalues + 1; diff --git a/src/grid2d.cpp b/src/grid2d.cpp index 4908aa8735..37da0abf01 100644 --- a/src/grid2d.cpp +++ b/src/grid2d.cpp @@ -41,21 +41,24 @@ static constexpr int OFFSET = 16384; /* ---------------------------------------------------------------------- constructor called by all classes except PPPM and MSM - gcomm = world communicator - gnx, gny = size of global grid + comm_caller = caller's communicator + nx,ny caller = size of global grid maxdist = max distance outside of proc domain a particle will be extra = additional ghost grid pts needed in each dim, e.g. for stencil - shift = 0.0 for grid pt in lower-left corner of grid cell, 0.5 for center + shift_caller = 0.0 for grid pt in lower-left corner of grid cell, + 0.5 for center return: i xy lohi = portion of global grid this proc owns, 0 <= index < N o xy lohi = owned + ghost grid cells needed in all directions - for non-periodic dims, o indices will not be < 0 or >= N, + for periodic dims, o indices can be < 0 or >= N + for non-periodic dims, o indices will be >= 0 and < N since no grid comm is done across non-periodic boundaries + NOTE: allow zfactor to be a calling arg for PPPM ? ------------------------------------------------------------------------- */ -Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, - int gnx, int gny, - double maxdist, int extra, double shift, +Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm comm_caller, + int nx_caller, int ny_caller, + double maxdist, int extra, double shift_caller, int &ixlo, int &ixhi, int &iylo, int &iyhi, int &oxlo, int &oxhi, int &oylo, int &oyhi) : Pointers(lmp) @@ -63,98 +66,92 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, // store commnicator and global grid size // set layout mode - gridcomm = gcomm; + gridcomm = comm_caller; MPI_Comm_rank(gridcomm,&me); MPI_Comm_size(gridcomm,&nprocs); - nx = gnx; - ny = gny; + nx = nx_caller; + ny = ny_caller; - ngrid[0] = nx; ngrid[1] = ny; - layout = comm->layout; + // NOTE: hardwire shift = 0.5 ? - // partition global grid across procs - // i xyz lo/hi = lower/upper bounds of global grid this proc owns - // indices range from 0 to N-1 inclusive in each dim + shift = shift_caller; + + // define owned grid cells for each proc + // extend bounds with ghost grid cells in each direction - int tmp1,tmp2; - comm->partition_grid(nx, ny, 1, 0.0, ixlo, ixhi, iylo, iyhi, tmp1, tmp2); - - // nlo,nhi = min/max index of global grid pt my owned atoms can be mapped to - // finite difference stencil requires extra grid pt around my owned grid pts - // max of these 2 quantities is the ghost cells needed in each dim - // o xyz lo/hi = owned + ghost cells - - int triclinic = domain->triclinic; - - double *prd,*boxlo,*sublo,*subhi; - - if (triclinic == 0) { - prd = domain->prd; - boxlo = domain->boxlo; - sublo = domain->sublo; - subhi = domain->subhi; + double fraclo,frachi; + + if (comm->layout != Comm::LAYOUT_TILED) { + fraclo = comm->xsplit[comm->myloc[0]]; + frachi = comm->xsplit[comm->myloc[0]+1]; + partition_grid(nx,fraclo,frachi,shift,inxlo,inxhi); + fraclo = comm->ysplit[comm->myloc[1]]; + frachi = comm->ysplit[comm->myloc[1]+1]; + partition_grid(ny,fraclo,frachi,shift,inylo,inyhi); } else { - prd = domain->prd_lamda; - boxlo = domain->boxlo_lamda; - sublo = domain->sublo_lamda; - subhi = domain->subhi_lamda; + fraclo = comm->mysplit[0][0]; + frachi = comm->mysplit[0][1]; + partition_grid(nx,fraclo,frachi,shift,inxlo,inxhi); + fraclo = comm->mysplit[1][0]; + frachi = comm->mysplit[1][1]; + partition_grid(ny,fraclo,frachi,shift,inylo,inyhi); } - double dist[3] = {0.0,0.0,0.0}; - if (triclinic == 0) dist[0] = dist[1] = dist[2] = maxdist; - else MathExtra::tribbox(domain->h,maxdist,&dist[0]); - - double dxinv = nx / prd[0]; - double dyinv = ny / prd[1]; - double SHIFT = OFFSET + shift; - int nlo, nhi; - - nlo = static_cast((sublo[0]-dist[0]-boxlo[0]) * dxinv + SHIFT) - OFFSET; - nhi = static_cast((subhi[0]+dist[0]-boxlo[0]) * dxinv + SHIFT) - OFFSET; - oxlo = MIN(nlo, ixlo - extra); - oxhi = MAX(nhi, ixhi + extra); - - nlo = static_cast((sublo[1]-dist[1]-boxlo[1]) * dyinv + SHIFT) - OFFSET; - nhi = static_cast((subhi[1]+dist[1]-boxlo[1]) * dyinv + SHIFT) - OFFSET; - oylo = MIN(nlo, iylo - extra); - oyhi = MAX(nhi, iyhi + extra); - - // limit o xyz lo/hi indices for non-periodic dimensions - - int *periodicity = domain->periodicity; - - if (!periodicity[0]) { - oxlo = MAX(0,oxlo); - oxhi = MIN(nx-1,oxhi); - } - - if (!periodicity[1]) { - oylo = MAX(0,oylo); - oyhi = MIN(ny-1,oyhi); - } + ghost_grid(maxdist,extra); // error check on size of grid stored by this proc - bigint total = (bigint) (oxhi - oxlo + 1) * (oyhi - oylo + 1); + bigint total = (bigint) (outxhi - outxlo + 1) * (outyhi - outylo + 1); if (total > MAXSMALLINT) - error->one(FLERR, "Too many owned+ghost grid2d points"); + error->one(FLERR, "Too many owned+ghost grid3d points"); - // store grid bounds and proc neighs + // default = caller grid is allocated to ghost grid + // used when computing pack/unpack lists in indices() + // NOTE: allow caller to override this + + fullxlo = outxlo; + fullxhi = outxhi; + fullylo = outylo; + fullyhi = outyhi; - if (layout != Comm::LAYOUT_TILED) { - int (*procneigh)[2] = comm->procneigh; - store(ixlo,ixhi,iylo,iyhi, - oxlo,oxhi,oylo,oyhi, - oxlo,oxhi,oylo,oyhi, - procneigh[0][0],procneigh[0][1], - procneigh[1][0],procneigh[1][1]); - } else { - store(ixlo,ixhi,iylo,iyhi, - oxlo,oxhi,oylo,oyhi, - oxlo,oxhi,oylo,oyhi, - 0,0,0,0); - } + // initialize data structs + + nswap = maxswap = 0; + swap = nullptr; + + nsend = nrecv = ncopy = 0; + send = nullptr; + recv = nullptr; + copy = nullptr; + requests = nullptr; + requests_remap = nullptr; + + xsplit = ysplit = zsplit = nullptr; + grid2proc = nullptr; + rcbinfo = nullptr; + + nsend_remap = nrecv_remap = self_remap = 0; + send_remap = nullptr; + recv_remap = nullptr; + + // store info about Comm decomposition needed for remap operation + // two Grid instances will exist for duration of remap + // each must know Comm decomp at time Grid instance was created + + extract_comm_info(); + + // return values + + ixlo = inxlo; + ixhi = inxhi; + iylo = inylo; + iyhi = inyhi; + + oxlo = outxlo; + oxhi = outxhi; + oylo = outylo; + oyhi = outyhi; } /* ---------------------------------------------------------------------- @@ -184,18 +181,19 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, nx = gnx; ny = gny; - ngrid[0] = nx; ngrid[1] = ny; - layout = comm->layout; + // store info about Comm decomposition needed for remap operation + // two Grid instances will exist for duration of remap + // each must know Comm decomp at time Grid instance was created + + extract_comm_info(); // store grid bounds and proc neighs if (layout != Comm::LAYOUT_TILED) { - int (*procneigh)[2] = comm->procneigh; store(ixlo,ixhi,iylo,iyhi, oxlo,oxhi,oylo,oyhi, oxlo,oxhi,oylo,oyhi, - procneigh[0][0],procneigh[0][1], - procneigh[1][0],procneigh[1][1]); + procxlo,procxhi,procylo,procyhi); } else { store(ixlo,ixhi,iylo,iyhi, oxlo,oxhi,oylo,oyhi, @@ -233,20 +231,23 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, int flag, nx = gnx; ny = gny; - ngrid[0] = nx; ngrid[1] = ny; - layout = comm->layout; + // store info about Comm decomposition needed for remap operation + // two Grid instances will exist for duration of remap + // each must know Comm decomp at time Grid instance was created + + extract_comm_info(); + + // store grid bounds and proc neighs // store grid bounds and proc neighs if (flag == 1) { if (layout != Comm::LAYOUT_TILED) { // this assumes gcomm = world - int (*procneigh)[2] = comm->procneigh; store(ixlo,ixhi,iylo,iyhi, oxlo,oxhi,oylo,oyhi, exlo,exhi,eylo,eyhi, - procneigh[0][0],procneigh[0][1], - procneigh[1][0],procneigh[1][1]); + procxlo,procxhi,procylo,procyhi); } else { store(ixlo,ixhi,iylo,iyhi, oxlo,oxhi,oylo,oyhi, @@ -261,7 +262,7 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, int flag, oxlo,oxhi,oylo,oyhi, exlo,exhi,eylo,eyhi); } else { - error->all(FLERR,"Grid2d does not support tiled layout with neighbor procs"); + error->all(FLERR,"Grid2d does not support tiled layout for MSM"); } } } @@ -278,9 +279,8 @@ Grid2d::~Grid2d() } memory->sfree(swap); - delete [] xsplit; + delete [] xsplit; delete [] ysplit; - delete [] zsplit; memory->destroy(grid2proc); // tiled comm data structs @@ -309,12 +309,8 @@ Grid2d::~Grid2d() deallocate_remap(); } -// ---------------------------------------------------------------------- -// store and access Grid parameters -// ---------------------------------------------------------------------- - /* ---------------------------------------------------------------------- - store grid bounds and proc neighs in local variables + store grid bounds and proc neighs from caller in internal variables ------------------------------------------------------------------------- */ void Grid2d::store(int ixlo, int ixhi, int iylo, int iyhi, @@ -337,67 +333,15 @@ void Grid2d::store(int ixlo, int ixhi, int iylo, int iyhi, fullylo = fylo; fullyhi = fyhi; - // internal data initializations - - nswap = maxswap = 0; - swap = nullptr; - - nsend = nrecv = ncopy = 0; - send = nullptr; - recv = nullptr; - copy = nullptr; - requests = nullptr; - requests_remap = nullptr; - - xsplit = ysplit = zsplit = nullptr; - grid2proc = nullptr; - rcbinfo = nullptr; - - nsend_remap = nrecv_remap = self_remap = 0; - send_remap = nullptr; - recv_remap = nullptr; - - // for non TILED layout: - // proc xyz lohi = my 6 neighbor procs in this MPI_Comm - // xyz split = copy of 1d vectors in Comm - // grid2proc = copy of 3d array in Comm - - if (layout != Comm::LAYOUT_TILED) { - procxlo = pxlo; - procxhi = pxhi; - procylo = pylo; - procyhi = pyhi; - - xsplit = new double[comm->procgrid[0]+1]; - ysplit = new double[comm->procgrid[1]+1]; - memcpy(xsplit,comm->xsplit,(comm->procgrid[0]+1)*sizeof(double)); - memcpy(ysplit,comm->ysplit,(comm->procgrid[1]+1)*sizeof(double)); - - memory->create(grid2proc,comm->procgrid[0],comm->procgrid[1],comm->procgrid[2], - "grid3d:grid2proc"); - memcpy(&grid2proc[0][0][0],&comm->grid2proc[0][0][0], - comm->procgrid[0]*comm->procgrid[1]*comm->procgrid[2]*sizeof(int)); - } - - // for TILED layout: - // create RCB tree of cut info for grid decomp - // access CommTiled to get cut dimension - // cut = this proc's inlo in that dim - // dim is -1 for proc 0, but never accessed - - if (layout == Comm::LAYOUT_TILED) { - rcbinfo = (RCBinfo *) - memory->smalloc(nprocs*sizeof(RCBinfo),"grid3d:rcbinfo"); - RCBinfo rcbone; - rcbone.dim = comm->rcbcutdim; - if (rcbone.dim <= 0) rcbone.cut = inxlo; - else if (rcbone.dim == 1) rcbone.cut = inylo; - MPI_Allgather(&rcbone,sizeof(RCBinfo),MPI_CHAR, - rcbinfo,sizeof(RCBinfo),MPI_CHAR,gridcomm); - } + procxlo = pxlo; + procxhi = pxhi; + procylo = pylo; + procyhi = pyhi; } -/* ---------------------------------------------------------------------- */ +// ---------------------------------------------------------------------- +// access Grid parameters +// ---------------------------------------------------------------------- int Grid2d::identical(Grid2d *grid2) { @@ -448,26 +392,176 @@ void Grid2d::get_bounds_ghost(int &xlo, int &xhi, int &ylo, int &yhi) yhi = outyhi; } +// ---------------------------------------------------------------------- +// define owned and ghost grid cells +// also store comm and grid partitioning info +// ---------------------------------------------------------------------- + +/* ---------------------------------------------------------------------- + partition a global regular grid into one brick-shaped sub-grid per proc + if grid point is inside my sub-domain I own it, + this includes sub-domain lo boundary but excludes hi boundary + ngrid = extent of global grid in a dimension + indices into the global grid range from 0 to Ngrid-1 in that dim + shift factor determines position of grid pt within grid cell + // NOTE: for future support of zfactor + zfactor = 0.0 if the grid exactly covers the simulation box + zfactor > 1.0 if the grid extends beyond the +z boundary by this factor + used by 2d slab-mode PPPM + this effectively maps proc sub-grids to a smaller subset of the grid + lo/hi = inclusive lo/hi bounds for brick of global grid cells I own + lo grid index = first grid pt >= fraclo bound + hi grid index = last grid pt < frachi bound + if proc owns no grid cells in a dim, then inlo > inhi + special case: 2 procs share boundary which a grid point is exactly on + 2 if test equalties insure a consistent decision as to which proc owns it +------------------------------------------------------------------------- */ + +void Grid2d::partition_grid(int ngrid, double fraclo, double frachi, + double shift, int &lo, int &hi) +{ + lo = static_cast (fraclo * ngrid); + while (1.0*lo + shift/ngrid < fraclo*ngrid) lo++; + hi = static_cast (frachi * ngrid); + while (1.0*hi + shift/ngrid >= frachi*ngrid) hi--; +} + +/* ---------------------------------------------------------------------- + extend ghost grid cells in each direction beyond owned grid + indices into the global grid range from 0 to N-1 in each dim + ghost cell indices for periodic systems can be < 0 or >= N +------------------------------------------------------------------------- */ + +void Grid2d::ghost_grid(double maxdist, int extra) +{ + double *prd,*boxlo,*sublo,*subhi; + int triclinic = domain->triclinic; + + if (triclinic == 0) { + prd = domain->prd; + boxlo = domain->boxlo; + sublo = domain->sublo; + subhi = domain->subhi; + } else { + prd = domain->prd_lamda; + boxlo = domain->boxlo_lamda; + sublo = domain->sublo_lamda; + subhi = domain->subhi_lamda; + } + + // for triclinic, maxdist = different value in each orthogonal direction + + double dist[3] = {0.0,0.0,0.0}; + if (triclinic == 0) dist[0] = dist[1] = dist[2] = maxdist; + else MathExtra::tribbox(domain->h,maxdist,&dist[0]); + + // nlo,nhi = min/max index of global grid cell my owned atoms can be mapped to + // including up to maxdist displacement outside my subdomain + // extra = additional ghost layers required by called (e.g. finite diff stencil) + // max of the two quantities = ghost cell layers needed in each dim/dir + // OFFSET allows generation of negative indices with static_cast + // out xyz lo/hi = index range of owned + ghost cells + + double dxinv = nx / prd[0]; + double dyinv = ny / prd[1]; + int lo, hi; + + lo = static_cast((sublo[0]-dist[0]-boxlo[0]) * dxinv + OFFSET) - OFFSET; + hi = static_cast((subhi[0]+dist[0]-boxlo[0]) * dxinv + OFFSET) - OFFSET; + outxlo = MIN(lo, inxlo - extra); + outxhi = MAX(hi, inxhi + extra); + + lo = static_cast((sublo[1]-dist[1]-boxlo[1]) * dyinv + OFFSET) - OFFSET; + hi = static_cast((subhi[1]+dist[1]-boxlo[1]) * dyinv + OFFSET) - OFFSET; + outylo = MIN(lo, inylo - extra); + outyhi = MAX(hi, inyhi + extra); + + // limit out xyz lo/hi indices to global grid for non-periodic dims + + int *periodicity = domain->periodicity; + + if (!periodicity[0]) { + outxlo = MAX(0,outxlo); + outxhi = MIN(nx-1,outxhi); + } + + if (!periodicity[1]) { + outylo = MAX(0,outylo); + outyhi = MIN(ny-1,outyhi); + } +} + +/* ---------------------------------------------------------------------- + store copy of info from Comm class about processor partitioning + used when a remap is performed between two Grid instances, old and new +------------------------------------------------------------------------- */ + +void Grid2d::extract_comm_info() +{ + layout = comm->layout; + + // for non TILED layout: + // proc xyz lohi = my 6 neighbor procs in this MPI_Comm + // NOTE: will need special logic for MSM case with different MPI_Comm + // xyz split = copy of 1d vectors in Comm + // grid2proc = copy of 3d array in Comm + + if (layout != Comm::LAYOUT_TILED) { + procxlo = comm->procneigh[0][0]; + procxhi = comm->procneigh[0][1]; + procylo = comm->procneigh[1][0]; + procyhi = comm->procneigh[1][1]; + + xsplit = new double[comm->procgrid[0]+1]; + ysplit = new double[comm->procgrid[1]+1]; + memcpy(xsplit,comm->xsplit,(comm->procgrid[0]+1)*sizeof(double)); + memcpy(ysplit,comm->ysplit,(comm->procgrid[1]+1)*sizeof(double)); + + memory->create(grid2proc,comm->procgrid[0],comm->procgrid[1],comm->procgrid[2], + "grid3d:grid2proc"); + memcpy(&grid2proc[0][0][0],&comm->grid2proc[0][0][0], + comm->procgrid[0]*comm->procgrid[1]*comm->procgrid[2]*sizeof(int)); + } + + // for TILED layout: + // create RCB tree of grid partitioning info for grid decomp + // Comm provides dim info for this proc, stored as RCBinfo.dim + // dim is -1 for proc 0, but never accessed + // RCBinfo.cut = this proc's inlo in that dim + // Allgather creates the tree of dims and cuts + + if (layout == Comm::LAYOUT_TILED) { + rcbinfo = (RCBinfo *) + memory->smalloc(nprocs*sizeof(RCBinfo),"grid3d:rcbinfo"); + RCBinfo rcbone; + rcbone.dim = comm->rcbcutdim; + if (rcbone.dim <= 0) rcbone.cut = inxlo; + else if (rcbone.dim == 1) rcbone.cut = inylo; + MPI_Allgather(&rcbone,sizeof(RCBinfo),MPI_CHAR, + rcbinfo,sizeof(RCBinfo),MPI_CHAR,gridcomm); + } +} + // ---------------------------------------------------------------------- // setup of local owned/ghost grid comm // ---------------------------------------------------------------------- /* ---------------------------------------------------------------------- setup owned/ghost commmunication + either for brick decomp or tiled decomp return sizes of two buffers needed for communication - either for brick decomp or tiled decomp - nbuf1 = largest pack or unpack in any Send or Recv or Copy - nbuf2 = larget of sum of all packs or unpacks in Send or Recv + nbuf1 = largest pack or unpack in any Send or Recv or Copy + nbuf2 = larget of sum of all packs or unpacks in Send or Recv for brick comm, nbuf1 = nbuf2 for tiling comm, nbuf2 >= nbuf2 nbuf1,nbuf2 are counts of grid points caller converts them to message sizes for grid data it stores ------------------------------------------------------------------------- */ -void Grid2d::setup(int &nbuf1, int &nbuf2) +void Grid2d::setup_comm(int &nbuf1, int &nbuf2) { - if (layout != Comm::LAYOUT_TILED) setup_brick(nbuf1,nbuf2); - else setup_tiled(nbuf1,nbuf2); + if (layout != Comm::LAYOUT_TILED) setup_comm_brick(nbuf1,nbuf2); + else setup_comm_tiled(nbuf1,nbuf2); } /* ---------------------------------------------------------------------- @@ -479,7 +573,7 @@ void Grid2d::setup(int &nbuf1, int &nbuf2) all procs perform same # of swaps in a direction, even if some don't need it ------------------------------------------------------------------------- */ -void Grid2d::setup_brick(int &nbuf1, int &nbuf2) +void Grid2d::setup_comm_brick(int &nbuf1, int &nbuf2) { int nsent,sendfirst,sendlast,recvfirst,recvlast; int sendplanes,recvplanes; @@ -692,7 +786,7 @@ void Grid2d::setup_brick(int &nbuf1, int &nbuf2) no exchanges by dimension, unlike CommTiled forward/reverse comm of particles ------------------------------------------------------------------------- */ -void Grid2d::setup_tiled(int &nbuf1, int &nbuf2) +void Grid2d::setup_comm_tiled(int &nbuf1, int &nbuf2) { int i,m; double xlo,xhi,ylo,yhi; @@ -1246,7 +1340,7 @@ void Grid2d::setup_remap(Grid2d *old, int &nremap_buf1, int &nremap_buf2) int offset = 0; for (m = 0; m < nrecv_remap; m++) { - recv[m].offset = offset; + recv_remap[m].offset = offset; offset += recv_remap[m].nunpack; } @@ -1358,7 +1452,7 @@ template < class T > void Grid2d::read_file_style(T *ptr, FILE *fp, int nchunk, int maxline) { auto buffer = new char[nchunk * maxline]; - bigint ntotal = (bigint) ngrid[0] * ngrid[1]; + bigint ntotal = (bigint) nx * ny; bigint nread = 0; while (nread < ntotal) { @@ -1491,16 +1585,17 @@ int Grid2d::compute_overlap(int ghostflag, int *box, int *pbc, Overlap *&overlap // find comm->procgrid indices in each dim for box bounds - int iproclo = proc_index_uniform(box[0],ngrid[0],0,comm->xsplit); - int iprochi = proc_index_uniform(box[1],ngrid[0],0,comm->xsplit); - int jproclo = proc_index_uniform(box[2],ngrid[1],1,comm->ysplit); - int jprochi = proc_index_uniform(box[3],ngrid[1],1,comm->ysplit); + int iproclo = proc_index_uniform(box[0],nx,0,comm->xsplit); + int iprochi = proc_index_uniform(box[1],nx,0,comm->xsplit); + int jproclo = proc_index_uniform(box[2],ny,1,comm->ysplit); + int jprochi = proc_index_uniform(box[3],ny,1,comm->ysplit); // compute extent of overlap of box with with each proc's obox for (int j = jproclo; j <= jprochi; j++) for (int i = iproclo; i <= iprochi; i++) { - proc_box_uniform(i,j,obox); + partition_grid(nx,xsplit[i],xsplit[i+1],shift,obox[0],obox[1]); + partition_grid(ny,ysplit[j],ysplit[j+1],shift,obox[2],obox[3]); if (noverlap_list == maxoverlap_list) grow_overlap(); overlap_list[noverlap_list].proc = grid2proc[i][j][0]; @@ -1519,11 +1614,11 @@ int Grid2d::compute_overlap(int ghostflag, int *box, int *pbc, Overlap *&overlap if (ghostflag == 0) { for (int m = 0; m < noverlap_list; m++) { obox[0] = 0; - obox[1] = ngrid[0]-1; + obox[1] = nx-1; obox[2] = 0; - obox[3] = ngrid[1]-1; + obox[3] = ny-1; - proc_box_tiled(overlap_list[m].proc,0,nprocs-1,obox); + partition_tiled(overlap_list[m].proc,0,nprocs-1,obox); overlap_list[m].box[0] = MAX(box[0],obox[0]); overlap_list[m].box[1] = MIN(box[1],obox[1]); @@ -1702,7 +1797,7 @@ void Grid2d::deallocate_remap() /* ---------------------------------------------------------------------- create 1d list of offsets into 2d array section (xlo:xhi,ylo:yhi) - assume 2d array is allocated as + assume caller's 2d array is allocated as (fullxlo:fullxhi,fullylo:fullyhi) ------------------------------------------------------------------------- */ @@ -1755,44 +1850,13 @@ int Grid2d::proc_index_uniform(int igrid, int n, int dim, double *split) return m; } -/* ---------------------------------------------------------------------- - compute the grid box for proc with grid indices i,j - i,j,k = grid index (0 to N-1) in each dim - return lo/hi bounds of box in 2 dims - computation is same as Comm::partition_grid() -------------------------------------------------------------------------- */ - -void Grid2d::proc_box_uniform(int i, int j, int *box) -{ - int lo,hi; - double fraclo,frachi; - - fraclo = xsplit[i]; - frachi = xsplit[i+1]; - lo = static_cast (fraclo * ngrid[0]); - if (1.0*lo != fraclo*ngrid[0]) lo++; - hi = static_cast (frachi * ngrid[0]); - if (1.0*hi == frachi*ngrid[0]) hi--; - box[0] = lo; - box[1] = hi; - - fraclo = ysplit[j]; - frachi = ysplit[j+1]; - lo = static_cast (fraclo * ngrid[1]); - if (1.0*lo != fraclo*ngrid[1]) lo++; - hi = static_cast (frachi * ngrid[1]); - if (1.0*hi == frachi*ngrid[1]) hi--; - box[2] = lo; - box[3] = hi; -} - /* ---------------------------------------------------------------------- compute the grid box for proc within tiled decomposition performed recursively until proclower = procupper = proc return box = lo/hi bounds of proc's box in 2 dims ------------------------------------------------------------------------- */ -void Grid2d::proc_box_tiled(int proc, int proclower, int procupper, int *box) +void Grid2d::partition_tiled(int proc, int proclower, int procupper, int *box) { // end recursion when partition is a single proc @@ -1812,9 +1876,9 @@ void Grid2d::proc_box_tiled(int proc, int proclower, int procupper, int *box) if (proc < procmid) { box[2*dim+1] = cut-1; - proc_box_tiled(proc,proclower,procmid-1,box); + partition_tiled(proc,proclower,procmid-1,box); } else { box[2*dim] = cut; - proc_box_tiled(proc,procmid,procupper,box); + partition_tiled(proc,procmid,procupper,box); } } diff --git a/src/grid2d.h b/src/grid2d.h index 18410fb38e..b0b6f6e9c5 100644 --- a/src/grid2d.h +++ b/src/grid2d.h @@ -35,7 +35,7 @@ class Grid2d : protected Pointers { void get_bounds(int &, int &, int &, int &); void get_bounds_ghost(int &, int &, int &, int &); - void setup(int &, int &); + void setup_comm(int &, int &); int ghost_adjacent(); void forward_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); void reverse_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); @@ -48,23 +48,24 @@ class Grid2d : protected Pointers { protected: int me, nprocs; - int layout; // REGULAR or TILED + int layout; // not TILED or TILED, same as Comm class MPI_Comm gridcomm; // communicator for this class // usually world, but MSM calls with subset - int ngrid[2]; // global grid size - // inputs from caller via constructor int nx, ny; // size of global grid in both dims - int inxlo, inxhi; // inclusive extent of my grid chunk - int inylo, inyhi; // 0 <= in <= N-1 + int inxlo, inxhi; // inclusive extent of my grid chunk, 0 <= in <= N-1 + int inylo, inyhi; int outxlo, outxhi; // inclusive extent of my grid chunk plus int outylo, outyhi; // ghost cells in all 4 directions // lo indices can be < 0, hi indices can be >= N int fullxlo, fullxhi; // extent of grid chunk that caller stores int fullylo, fullyhi; // can be same as out indices or larger + double shift; // location of grid point within grid cell + // only affects which proc owns grid cell + // ------------------------------------------- // internal variables for BRICK layout // ------------------------------------------- @@ -208,11 +209,15 @@ protected: // internal methods // ------------------------------------------- + void partition_grid(int, double, double, double, int &, int &); + void ghost_grid(double, int); + void extract_comm_info(); + void store(int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int); - virtual void setup_brick(int &, int &); - virtual void setup_tiled(int &, int &); + virtual void setup_comm_brick(int &, int &); + virtual void setup_comm_tiled(int &, int &); int ghost_adjacent_brick(); int ghost_adjacent_tiled(); @@ -237,8 +242,7 @@ protected: int indices(int *&, int, int, int, int); int proc_index_uniform(int, int, int, double *); - void proc_box_uniform(int, int, int *); - void proc_box_tiled(int, int, int, int *); + void partition_tiled(int, int, int, int *); }; } // namespace LAMMPS_NS diff --git a/src/grid3d.cpp b/src/grid3d.cpp index df5735039e..56f52dfe5b 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -41,21 +41,24 @@ static constexpr int OFFSET = 16384; /* ---------------------------------------------------------------------- constructor called by all classes except PPPM and MSM - gcomm = world communicator - gnx, gny, gnz = size of global grid + comm_caller = caller's communicator + nx,ny,nz caller = size of global grid maxdist = max distance outside of proc domain a particle will be extra = additional ghost grid pts needed in each dim, e.g. for stencil - shift = 0.0 for grid pt in lower-left corner of grid cell, 0.5 for center + shift_caller = 0.0 for grid pt in lower-left corner of grid cell, + 0.5 for center return: i xyz lohi = portion of global grid this proc owns, 0 <= index < N o xyz lohi = owned + ghost grid cells needed in all directions - for non-periodic dims, o indices will not be < 0 or >= N, + for periodic dims, o indices can be < 0 or >= N + for non-periodic dims, o indices will be >= 0 and < N since no grid comm is done across non-periodic boundaries + NOTE: allow zfactor to be a calling arg for PPPM ? ------------------------------------------------------------------------- */ -Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, - int gnx, int gny, int gnz, - double maxdist, int extra, double shift, +Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm comm_caller, + int nx_caller, int ny_caller, int nz_caller, + double maxdist, int extra, double shift_caller, int &ixlo, int &ixhi, int &iylo, int &iyhi, int &izlo, int &izhi, int &oxlo, int &oxhi, int &oylo, int &oyhi, int &ozlo, int &ozhi) : Pointers(lmp) @@ -63,111 +66,106 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, // store commnicator and global grid size // set layout mode - gridcomm = gcomm; + gridcomm = comm_caller; MPI_Comm_rank(gridcomm,&me); MPI_Comm_size(gridcomm,&nprocs); - nx = gnx; - ny = gny; - nz = gnz; + nx = nx_caller; + ny = ny_caller; + nz = nz_caller; + + // NOTE: hardwire shift = 0.5 ? - ngrid[0] = nx; ngrid[1] = ny; ngrid[2] = nz; - layout = comm->layout; + shift = shift_caller; + + // define owned grid cells for each proc + // extend bounds with ghost grid cells in each direction - // partition global grid across procs - // i xyz lo/hi = lower/upper bounds of global grid this proc owns - // indices range from 0 to N-1 inclusive in each dim - - comm->partition_grid(nx, ny, nz, 0.0, ixlo, ixhi, iylo, iyhi, izlo, izhi); - - // nlo,nhi = min/max index of global grid pt my owned atoms can be mapped to - // finite difference stencil requires extra grid pt around my owned grid pts - // max of these 2 quantities is the ghost cells needed in each dim - // o xyz lo/hi = owned + ghost cells - - int triclinic = domain->triclinic; - - double *prd,*boxlo,*sublo,*subhi; - - if (triclinic == 0) { - prd = domain->prd; - boxlo = domain->boxlo; - sublo = domain->sublo; - subhi = domain->subhi; + double fraclo,frachi; + + if (comm->layout != Comm::LAYOUT_TILED) { + fraclo = comm->xsplit[comm->myloc[0]]; + frachi = comm->xsplit[comm->myloc[0]+1]; + partition_grid(nx,fraclo,frachi,shift,inxlo,inxhi); + fraclo = comm->ysplit[comm->myloc[1]]; + frachi = comm->ysplit[comm->myloc[1]+1]; + partition_grid(ny,fraclo,frachi,shift,inylo,inyhi); + fraclo = comm->zsplit[comm->myloc[2]]; + frachi = comm->zsplit[comm->myloc[2]+1]; + partition_grid(nz,fraclo,frachi,shift,inzlo,inzhi); } else { - prd = domain->prd_lamda; - boxlo = domain->boxlo_lamda; - sublo = domain->sublo_lamda; - subhi = domain->subhi_lamda; + fraclo = comm->mysplit[0][0]; + frachi = comm->mysplit[0][1]; + partition_grid(nx,fraclo,frachi,shift,inxlo,inxhi); + fraclo = comm->mysplit[1][0]; + frachi = comm->mysplit[1][1]; + partition_grid(ny,fraclo,frachi,shift,inylo,inyhi); + fraclo = comm->mysplit[2][0]; + frachi = comm->mysplit[2][1]; + partition_grid(nz,fraclo,frachi,shift,inzlo,inzhi); } - double dist[3] = {0.0,0.0,0.0}; - if (triclinic == 0) dist[0] = dist[1] = dist[2] = maxdist; - else MathExtra::tribbox(domain->h,maxdist,&dist[0]); - - double dxinv = nx / prd[0]; - double dyinv = ny / prd[1]; - double dzinv = nz / prd[2]; - double SHIFT = OFFSET + shift; - int nlo, nhi; - - nlo = static_cast((sublo[0]-dist[0]-boxlo[0]) * dxinv + SHIFT) - OFFSET; - nhi = static_cast((subhi[0]+dist[0]-boxlo[0]) * dxinv + SHIFT) - OFFSET; - oxlo = MIN(nlo, ixlo - extra); - oxhi = MAX(nhi, ixhi + extra); - - nlo = static_cast((sublo[1]-dist[1]-boxlo[1]) * dyinv + SHIFT) - OFFSET; - nhi = static_cast((subhi[1]+dist[1]-boxlo[1]) * dyinv + SHIFT) - OFFSET; - oylo = MIN(nlo, iylo - extra); - oyhi = MAX(nhi, iyhi + extra); - - nlo = static_cast((sublo[2]-dist[2]-boxlo[2]) * dzinv + SHIFT) - OFFSET; - nhi = static_cast((subhi[2]+dist[2]-boxlo[2]) * dzinv + SHIFT) - OFFSET; - ozlo = MIN(nlo, izlo - extra); - ozhi = MAX(nhi, izhi + extra); - - // limit o xyz lo/hi indices for non-periodic dimensions - - int *periodicity = domain->periodicity; - - if (!periodicity[0]) { - oxlo = MAX(0,oxlo); - oxhi = MIN(nx-1,oxhi); - } - - if (!periodicity[1]) { - oylo = MAX(0,oylo); - oyhi = MIN(ny-1,oyhi); - } - - if (!periodicity[2]) { - ozlo = MAX(0,ozlo); - ozhi = MIN(nz-1,ozhi); - } + ghost_grid(maxdist,extra); // error check on size of grid stored by this proc bigint total = (bigint) - (oxhi - oxlo + 1) * (oyhi - oylo + 1) * (ozhi - ozlo + 1); + (outxhi - outxlo + 1) * (outyhi - outylo + 1) * (outzhi - outzlo + 1); if (total > MAXSMALLINT) error->one(FLERR, "Too many owned+ghost grid3d points"); - // store grid bounds and proc neighs + // default = caller grid is allocated to ghost grid + // used when computing pack/unpack lists in indices() + // NOTE: allow caller to override this + + fullxlo = outxlo; + fullxhi = outxhi; + fullylo = outylo; + fullyhi = outyhi; + fullzlo = outzlo; + fullzhi = outzhi; - if (layout != Comm::LAYOUT_TILED) { - int (*procneigh)[2] = comm->procneigh; - store(ixlo,ixhi,iylo,iyhi,izlo,izhi, - oxlo,oxhi,oylo,oyhi,ozlo,ozhi, - oxlo,oxhi,oylo,oyhi,ozlo,ozhi, - procneigh[0][0],procneigh[0][1], - procneigh[1][0],procneigh[1][1], - procneigh[2][0],procneigh[2][1]); - } else { - store(ixlo,ixhi,iylo,iyhi,izlo,izhi, - oxlo,oxhi,oylo,oyhi,ozlo,ozhi, - oxlo,oxhi,oylo,oyhi,ozlo,ozhi, - 0,0,0,0,0,0); - } + // initialize data structs + + nswap = maxswap = 0; + swap = nullptr; + + nsend = nrecv = ncopy = 0; + send = nullptr; + recv = nullptr; + copy = nullptr; + requests = nullptr; + requests_remap = nullptr; + + xsplit = ysplit = zsplit = nullptr; + grid2proc = nullptr; + rcbinfo = nullptr; + + nsend_remap = nrecv_remap = self_remap = 0; + send_remap = nullptr; + recv_remap = nullptr; + + // store info about Comm decomposition needed for remap operation + // two Grid instances will exist for duration of remap + // each must know Comm decomp at time Grid instance was created + + extract_comm_info(); + + // return values + + ixlo = inxlo; + ixhi = inxhi; + iylo = inylo; + iyhi = inyhi; + izlo = inzlo; + izhi = inzhi; + + oxlo = outxlo; + oxhi = outxhi; + oylo = outylo; + oyhi = outyhi; + ozlo = outzlo; + ozhi = outzhi; } /* ---------------------------------------------------------------------- @@ -198,19 +196,19 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, ny = gny; nz = gnz; - ngrid[0] = nx; ngrid[1] = ny; ngrid[2] = nz; - layout = comm->layout; + // store info about Comm decomposition needed for remap operation + // two Grid instances will exist for duration of remap + // each must know Comm decomp at time Grid instance was created + + extract_comm_info(); // store grid bounds and proc neighs if (layout != Comm::LAYOUT_TILED) { - int (*procneigh)[2] = comm->procneigh; store(ixlo,ixhi,iylo,iyhi,izlo,izhi, oxlo,oxhi,oylo,oyhi,ozlo,ozhi, oxlo,oxhi,oylo,oyhi,ozlo,ozhi, - procneigh[0][0],procneigh[0][1], - procneigh[1][0],procneigh[1][1], - procneigh[2][0],procneigh[2][1]); + procxlo,procxhi,procylo,procyhi,proczlo,proczhi); } else { store(ixlo,ixhi,iylo,iyhi,izlo,izhi, oxlo,oxhi,oylo,oyhi,ozlo,ozhi, @@ -244,26 +242,26 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, int flag, gridcomm = gcomm; MPI_Comm_rank(gridcomm,&me); MPI_Comm_size(gridcomm,&nprocs); - + nx = gnx; ny = gny; nz = gnz; - ngrid[0] = nx; ngrid[1] = ny; ngrid[2] = nz; - layout = comm->layout; + // store info about Comm decomposition needed for remap operation + // two Grid instances will exist for duration of remap + // each must know Comm decomp at time Grid instance was created + + extract_comm_info(); // store grid bounds and proc neighs if (flag == 1) { if (layout != Comm::LAYOUT_TILED) { // this assumes gcomm = world - int (*procneigh)[2] = comm->procneigh; store(ixlo,ixhi,iylo,iyhi,izlo,izhi, oxlo,oxhi,oylo,oyhi,ozlo,ozhi, exlo,exhi,eylo,eyhi,ezlo,ezhi, - procneigh[0][0],procneigh[0][1], - procneigh[1][0],procneigh[1][1], - procneigh[2][0],procneigh[2][1]); + procxlo,procxhi,procylo,procyhi,proczlo,proczhi); } else { store(ixlo,ixhi,iylo,iyhi,izlo,izhi, oxlo,oxhi,oylo,oyhi,ozlo,ozhi, @@ -278,7 +276,7 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, int flag, oxlo,oxhi,oylo,oyhi,ozlo,ozhi, exlo,exhi,eylo,eyhi,ezlo,ezhi); } else { - error->all(FLERR,"Grid3d does not support tiled layout with neighbor procs"); + error->all(FLERR,"Grid3d does not support tiled layout for MSM"); } } } @@ -326,12 +324,8 @@ Grid3d::~Grid3d() deallocate_remap(); } -// ---------------------------------------------------------------------- -// store and access Grid parameters -// ---------------------------------------------------------------------- - /* ---------------------------------------------------------------------- - store grid bounds and proc neighs in local variables + store grid bounds and proc neighs from caller in internal variables ------------------------------------------------------------------------- */ void Grid3d::store(int ixlo, int ixhi, int iylo, int iyhi, @@ -364,72 +358,17 @@ void Grid3d::store(int ixlo, int ixhi, int iylo, int iyhi, fullzlo = fzlo; fullzhi = fzhi; - // internal data initializations - - nswap = maxswap = 0; - swap = nullptr; - - nsend = nrecv = ncopy = 0; - send = nullptr; - recv = nullptr; - copy = nullptr; - requests = nullptr; - requests_remap = nullptr; - - xsplit = ysplit = zsplit = nullptr; - grid2proc = nullptr; - rcbinfo = nullptr; - - nsend_remap = nrecv_remap = self_remap = 0; - send_remap = nullptr; - recv_remap = nullptr; - - // for non TILED layout: - // proc xyz lohi = my 6 neighbor procs in this MPI_Comm - // xyz split = copy of 1d vectors in Comm - // grid2proc = copy of 3d array in Comm - - if (layout != Comm::LAYOUT_TILED) { - procxlo = pxlo; - procxhi = pxhi; - procylo = pylo; - procyhi = pyhi; - proczlo = pzlo; - proczhi = pzhi; - - xsplit = new double[comm->procgrid[0]+1]; - ysplit = new double[comm->procgrid[1]+1]; - zsplit = new double[comm->procgrid[2]+1]; - memcpy(xsplit,comm->xsplit,(comm->procgrid[0]+1)*sizeof(double)); - memcpy(ysplit,comm->ysplit,(comm->procgrid[1]+1)*sizeof(double)); - memcpy(zsplit,comm->zsplit,(comm->procgrid[2]+1)*sizeof(double)); - - memory->create(grid2proc,comm->procgrid[0],comm->procgrid[1],comm->procgrid[2], - "grid3d:grid2proc"); - memcpy(&grid2proc[0][0][0],&comm->grid2proc[0][0][0], - comm->procgrid[0]*comm->procgrid[1]*comm->procgrid[2]*sizeof(int)); - } - - // for TILED layout: - // create RCB tree of cut info for grid decomp - // access CommTiled to get cut dimension - // cut = this proc's inlo in that dim - // dim is -1 for proc 0, but never accessed - - if (layout == Comm::LAYOUT_TILED) { - rcbinfo = (RCBinfo *) - memory->smalloc(nprocs*sizeof(RCBinfo),"grid3d:rcbinfo"); - RCBinfo rcbone; - rcbone.dim = comm->rcbcutdim; - if (rcbone.dim <= 0) rcbone.cut = inxlo; - else if (rcbone.dim == 1) rcbone.cut = inylo; - else if (rcbone.dim == 2) rcbone.cut = inzlo; - MPI_Allgather(&rcbone,sizeof(RCBinfo),MPI_CHAR, - rcbinfo,sizeof(RCBinfo),MPI_CHAR,gridcomm); - } + procxlo = pxlo; + procxhi = pxhi; + procylo = pylo; + procyhi = pyhi; + proczlo = pzlo; + proczhi = pzhi; } -/* ---------------------------------------------------------------------- */ +// ---------------------------------------------------------------------- +// access Grid parameters +// ---------------------------------------------------------------------- int Grid3d::identical(Grid3d *grid2) { @@ -489,26 +428,194 @@ void Grid3d::get_bounds_ghost(int &xlo, int &xhi, int &ylo, int &yhi, zhi = outzhi; } +// ---------------------------------------------------------------------- +// define owned and ghost grid cells +// also store comm and grid partitioning info +// ---------------------------------------------------------------------- + +/* ---------------------------------------------------------------------- + partition a global regular grid into one brick-shaped sub-grid per proc + if grid point is inside my sub-domain I own it, + this includes sub-domain lo boundary but excludes hi boundary + ngrid = extent of global grid in a dimension + indices into the global grid range from 0 to Ngrid-1 in that dim + shift factor determines position of grid pt within grid cell + // NOTE: for future support of zfactor + zfactor = 0.0 if the grid exactly covers the simulation box + zfactor > 1.0 if the grid extends beyond the +z boundary by this factor + used by 2d slab-mode PPPM + this effectively maps proc sub-grids to a smaller subset of the grid + lo/hi = inclusive lo/hi bounds for brick of global grid cells I own + lo grid index = first grid pt >= fraclo bound + hi grid index = last grid pt < frachi bound + if proc owns no grid cells in a dim, then inlo > inhi + special case: 2 procs share boundary which a grid point is exactly on + 2 if test equalties insure a consistent decision as to which proc owns it +------------------------------------------------------------------------- */ + +void Grid3d::partition_grid(int ngrid, double fraclo, double frachi, + double shift, int &lo, int &hi) +{ + lo = static_cast (fraclo * ngrid); + while (1.0*lo + shift/ngrid < fraclo*ngrid) lo++; + hi = static_cast (frachi * ngrid); + while (1.0*hi + shift/ngrid >= frachi*ngrid) hi--; +} + +/* ---------------------------------------------------------------------- + extend ghost grid cells in each direction beyond owned grid + indices into the global grid range from 0 to N-1 in each dim + ghost cell indices for periodic systems can be < 0 or >= N +------------------------------------------------------------------------- */ + +void Grid3d::ghost_grid(double maxdist, int extra) +{ + double *prd,*boxlo,*sublo,*subhi; + int triclinic = domain->triclinic; + + if (triclinic == 0) { + prd = domain->prd; + boxlo = domain->boxlo; + sublo = domain->sublo; + subhi = domain->subhi; + } else { + prd = domain->prd_lamda; + boxlo = domain->boxlo_lamda; + sublo = domain->sublo_lamda; + subhi = domain->subhi_lamda; + } + + // for triclinic, maxdist = different value in each orthogonal direction + + double dist[3] = {0.0,0.0,0.0}; + if (triclinic == 0) dist[0] = dist[1] = dist[2] = maxdist; + else MathExtra::tribbox(domain->h,maxdist,&dist[0]); + + // nlo,nhi = min/max index of global grid cell my owned atoms can be mapped to + // including up to maxdist displacement outside my subdomain + // extra = additional ghost layers required by called (e.g. finite diff stencil) + // max of the two quantities = ghost cell layers needed in each dim/dir + // OFFSET allows generation of negative indices with static_cast + // out xyz lo/hi = index range of owned + ghost cells + + double dxinv = nx / prd[0]; + double dyinv = ny / prd[1]; + double dzinv = nz / prd[2]; + int lo, hi; + + lo = static_cast((sublo[0]-dist[0]-boxlo[0]) * dxinv + OFFSET) - OFFSET; + hi = static_cast((subhi[0]+dist[0]-boxlo[0]) * dxinv + OFFSET) - OFFSET; + outxlo = MIN(lo, inxlo - extra); + outxhi = MAX(hi, inxhi + extra); + + lo = static_cast((sublo[1]-dist[1]-boxlo[1]) * dyinv + OFFSET) - OFFSET; + hi = static_cast((subhi[1]+dist[1]-boxlo[1]) * dyinv + OFFSET) - OFFSET; + outylo = MIN(lo, inylo - extra); + outyhi = MAX(hi, inyhi + extra); + + // NOTE: need to account for zfactor here + + lo = static_cast((sublo[2]-dist[2]-boxlo[2]) * dzinv + OFFSET) - OFFSET; + hi = static_cast((subhi[2]+dist[2]-boxlo[2]) * dzinv + OFFSET) - OFFSET; + outzlo = MIN(lo, inzlo - extra); + outzhi = MAX(hi, inzhi + extra); + + // limit out xyz lo/hi indices to global grid for non-periodic dims + + int *periodicity = domain->periodicity; + + if (!periodicity[0]) { + outxlo = MAX(0,outxlo); + outxhi = MIN(nx-1,outxhi); + } + + if (!periodicity[1]) { + outylo = MAX(0,outylo); + outyhi = MIN(ny-1,outyhi); + } + + if (!periodicity[2]) { + outzlo = MAX(0,outzlo); + outzhi = MIN(nz-1,outzhi); + } +} + +/* ---------------------------------------------------------------------- + store copy of info from Comm class about processor partitioning + used when a remap is performed between two Grid instances, old and new +------------------------------------------------------------------------- */ + +void Grid3d::extract_comm_info() +{ + layout = comm->layout; + + // for non TILED layout: + // proc xyz lohi = my 6 neighbor procs in this MPI_Comm + // NOTE: will need special logic for MSM case with different MPI_Comm + // xyz split = copy of 1d vectors in Comm + // grid2proc = copy of 3d array in Comm + + if (layout != Comm::LAYOUT_TILED) { + procxlo = comm->procneigh[0][0]; + procxhi = comm->procneigh[0][1]; + procylo = comm->procneigh[1][0]; + procyhi = comm->procneigh[1][1]; + proczlo = comm->procneigh[2][0]; + proczhi = comm->procneigh[2][1]; + + xsplit = new double[comm->procgrid[0]+1]; + ysplit = new double[comm->procgrid[1]+1]; + zsplit = new double[comm->procgrid[2]+1]; + memcpy(xsplit,comm->xsplit,(comm->procgrid[0]+1)*sizeof(double)); + memcpy(ysplit,comm->ysplit,(comm->procgrid[1]+1)*sizeof(double)); + memcpy(zsplit,comm->zsplit,(comm->procgrid[2]+1)*sizeof(double)); + + memory->create(grid2proc,comm->procgrid[0],comm->procgrid[1],comm->procgrid[2], + "grid3d:grid2proc"); + memcpy(&grid2proc[0][0][0],&comm->grid2proc[0][0][0], + comm->procgrid[0]*comm->procgrid[1]*comm->procgrid[2]*sizeof(int)); + } + + // for TILED layout: + // create RCB tree of grid partitioning info for grid decomp + // Comm provides dim info for this proc, stored as RCBinfo.dim + // dim is -1 for proc 0, but never accessed + // RCBinfo.cut = this proc's inlo in that dim + // Allgather creates the tree of dims and cuts + + if (layout == Comm::LAYOUT_TILED) { + rcbinfo = (RCBinfo *) + memory->smalloc(nprocs*sizeof(RCBinfo),"grid3d:rcbinfo"); + RCBinfo rcbone; + rcbone.dim = comm->rcbcutdim; + if (rcbone.dim <= 0) rcbone.cut = inxlo; + else if (rcbone.dim == 1) rcbone.cut = inylo; + else if (rcbone.dim == 2) rcbone.cut = inzlo; + MPI_Allgather(&rcbone,sizeof(RCBinfo),MPI_CHAR, + rcbinfo,sizeof(RCBinfo),MPI_CHAR,gridcomm); + } +} + // ---------------------------------------------------------------------- // setup of local owned/ghost grid comm // ---------------------------------------------------------------------- /* ---------------------------------------------------------------------- - setup owned/ghost commmunication + setup commmunication of owned/ghost grid cells + either for brick decomp or tiling decomp return sizes of two buffers needed for communication - either for brick decomp or tiling decomp - nbuf1 = largest pack or unpack in any Send or Recv or Copy - nbuf2 = larget of sum of all packs or unpacks in Send or Recv + nbuf1 = largest pack or unpack in any Send or Recv or Copy + nbuf2 = larget of sum of all packs or unpacks in Send or Recv for brick comm, nbuf1 = nbuf2 for tiling comm, nbuf2 >= nbuf2 - nbuf1,nbuf2 are counts of grid points + nbuf1,nbuf2 are counts of grid cells caller converts them to message sizes for grid data it stores ------------------------------------------------------------------------- */ -void Grid3d::setup(int &nbuf1, int &nbuf2) +void Grid3d::setup_comm(int &nbuf1, int &nbuf2) { - if (layout != Comm::LAYOUT_TILED) setup_brick(nbuf1,nbuf2); - else setup_tiled(nbuf1,nbuf2); + if (layout != Comm::LAYOUT_TILED) setup_comm_brick(nbuf1,nbuf2); + else setup_comm_tiled(nbuf1,nbuf2); } /* ---------------------------------------------------------------------- @@ -520,7 +627,7 @@ void Grid3d::setup(int &nbuf1, int &nbuf2) all procs perform same # of swaps in a direction, even if some don't need it ------------------------------------------------------------------------- */ -void Grid3d::setup_brick(int &nbuf1, int &nbuf2) +void Grid3d::setup_comm_brick(int &nbuf1, int &nbuf2) { int nsent,sendfirst,sendlast,recvfirst,recvlast; int sendplanes,recvplanes; @@ -821,7 +928,7 @@ void Grid3d::setup_brick(int &nbuf1, int &nbuf2) no exchanges by dimension, unlike CommTiled forward/reverse comm of particles ------------------------------------------------------------------------- */ -void Grid3d::setup_tiled(int &nbuf1, int &nbuf2) +void Grid3d::setup_comm_tiled(int &nbuf1, int &nbuf2) { int i,m; double xlo,xhi,ylo,yhi,zlo,zhi; @@ -1506,7 +1613,7 @@ template < class T > void Grid3d::read_file_style(T *ptr, FILE *fp, int nchunk, int maxline) { auto buffer = new char[nchunk * maxline]; - bigint ntotal = (bigint) ngrid[0] * ngrid[1] * ngrid[2]; + bigint ntotal = (bigint) nx * ny * nz; bigint nread = 0; while (nread < ntotal) { @@ -1643,19 +1750,21 @@ int Grid3d::compute_overlap(int ghostflag, int *box, int *pbc, Overlap *&overlap // find comm->procgrid indices in each dim for box bounds - int iproclo = proc_index_uniform(box[0],ngrid[0],0,xsplit); - int iprochi = proc_index_uniform(box[1],ngrid[0],0,xsplit); - int jproclo = proc_index_uniform(box[2],ngrid[1],1,ysplit); - int jprochi = proc_index_uniform(box[3],ngrid[1],1,ysplit); - int kproclo = proc_index_uniform(box[4],ngrid[2],2,zsplit); - int kprochi = proc_index_uniform(box[5],ngrid[2],2,zsplit); + int iproclo = proc_index_uniform(box[0],nx,0,xsplit); + int iprochi = proc_index_uniform(box[1],nx,0,xsplit); + int jproclo = proc_index_uniform(box[2],ny,1,ysplit); + int jprochi = proc_index_uniform(box[3],ny,1,ysplit); + int kproclo = proc_index_uniform(box[4],nz,2,zsplit); + int kprochi = proc_index_uniform(box[5],nz,2,zsplit); // compute extent of overlap of box with with each proc's obox for (int k = kproclo; k <= kprochi; k++) for (int j = jproclo; j <= jprochi; j++) for (int i = iproclo; i <= iprochi; i++) { - proc_box_uniform(i,j,k,obox); + partition_grid(nx,xsplit[i],xsplit[i+1],shift,obox[0],obox[1]); + partition_grid(ny,ysplit[j],ysplit[j+1],shift,obox[2],obox[3]); + partition_grid(nz,zsplit[k],zsplit[k+1],shift,obox[4],obox[5]); if (noverlap_list == maxoverlap_list) grow_overlap(); overlap_list[noverlap_list].proc = grid2proc[i][j][k]; @@ -1676,13 +1785,13 @@ int Grid3d::compute_overlap(int ghostflag, int *box, int *pbc, Overlap *&overlap if (ghostflag == 0) { for (int m = 0; m < noverlap_list; m++) { obox[0] = 0; - obox[1] = ngrid[0]-1; + obox[1] = nx-1; obox[2] = 0; - obox[3] = ngrid[1]-1; + obox[3] = ny-1; obox[4] = 0; - obox[5] = ngrid[2]-1; + obox[5] = nz-1; - proc_box_tiled(overlap_list[m].proc,0,nprocs-1,obox); + partition_tiled(overlap_list[m].proc,0,nprocs-1,obox); overlap_list[m].box[0] = MAX(box[0],obox[0]); overlap_list[m].box[1] = MIN(box[1],obox[1]); @@ -1873,7 +1982,7 @@ void Grid3d::deallocate_remap() /* ---------------------------------------------------------------------- create 1d list of offsets into 3d array section (xlo:xhi,ylo:yhi,zlo:zhi) - assume 3d array is allocated as + assume caller's 3d array is allocated as (fullxlo:fullxhi,fullylo:fullyhi,fullzlo:fullzhi) ------------------------------------------------------------------------- */ @@ -1930,52 +2039,13 @@ int Grid3d::proc_index_uniform(int igrid, int n, int dim, double *split) } /* ---------------------------------------------------------------------- - compute the grid box for proc with grid indices i,j,k - i,j,k = grid index (0 to N-1) in each dim - return lo/hi bounds of box in 3 dims - computation is same as Comm::partition_grid() -------------------------------------------------------------------------- */ - -void Grid3d::proc_box_uniform(int i, int j, int k, int *box) -{ - int lo,hi; - double fraclo,frachi; - - fraclo = xsplit[i]; - frachi = xsplit[i+1]; - lo = static_cast (fraclo * ngrid[0]); - if (1.0*lo != fraclo*ngrid[0]) lo++; - hi = static_cast (frachi * ngrid[0]); - if (1.0*hi == frachi*ngrid[0]) hi--; - box[0] = lo; - box[1] = hi; - - fraclo = ysplit[j]; - frachi = ysplit[j+1]; - lo = static_cast (fraclo * ngrid[1]); - if (1.0*lo != fraclo*ngrid[1]) lo++; - hi = static_cast (frachi * ngrid[1]); - if (1.0*hi == frachi*ngrid[1]) hi--; - box[2] = lo; - box[3] = hi; - - fraclo = zsplit[k]; - frachi = zsplit[k+1]; - lo = static_cast (fraclo * ngrid[2]); - if (1.0*lo != fraclo*ngrid[2]) lo++; - hi = static_cast (frachi * ngrid[2]); - if (1.0*hi == frachi*ngrid[2]) hi--; - box[4] = lo; - box[5] = hi; -} - -/* ---------------------------------------------------------------------- - compute the grid box for proc within tiled decomposition + compute the grid box owned by proc within tiled decomposition performed recursively until proclower = procupper = proc return box = lo/hi bounds of proc's box in 3 dims ------------------------------------------------------------------------- */ -void Grid3d::proc_box_tiled(int proc, int proclower, int procupper, int *box) +void Grid3d::partition_tiled(int proc, int proclower, int procupper, + int *box) { // end recursion when partition is a single proc @@ -1995,9 +2065,9 @@ void Grid3d::proc_box_tiled(int proc, int proclower, int procupper, int *box) if (proc < procmid) { box[2*dim+1] = cut-1; - proc_box_tiled(proc,proclower,procmid-1,box); + partition_tiled(proc,proclower,procmid-1,box); } else { box[2*dim] = cut; - proc_box_tiled(proc,procmid,procupper,box); + partition_tiled(proc,procmid,procupper,box); } } diff --git a/src/grid3d.h b/src/grid3d.h index c41ba00852..0e8f722f8d 100644 --- a/src/grid3d.h +++ b/src/grid3d.h @@ -37,7 +37,7 @@ class Grid3d : protected Pointers { void get_bounds(int &, int &, int &, int &, int &, int &); void get_bounds_ghost(int &, int &, int &, int &, int &, int &); - void setup(int &, int &); + void setup_comm(int &, int &); int ghost_adjacent(); void forward_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); void reverse_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); @@ -50,17 +50,15 @@ class Grid3d : protected Pointers { protected: int me, nprocs; - int layout; // REGULAR or TILED + int layout; // not TILED, same as Comm class MPI_Comm gridcomm; // communicator for this class // usually world, but MSM calls with subset - int ngrid[3]; // global grid size - // inputs from caller via constructor int nx, ny, nz; // size of global grid in all 3 dims - int inxlo, inxhi; // inclusive extent of my grid chunk - int inylo, inyhi; // 0 <= in <= N-1 + int inxlo, inxhi; // inclusive extent of my grid chunk, 0 <= in <= N-1 + int inylo, inyhi; int inzlo, inzhi; int outxlo, outxhi; // inclusive extent of my grid chunk plus int outylo, outyhi; // ghost cells in all 6 directions @@ -69,6 +67,8 @@ class Grid3d : protected Pointers { int fullylo, fullyhi; // can be same as out indices or larger int fullzlo, fullzhi; + double shift; + // ------------------------------------------- // internal variables for BRICK layout // ------------------------------------------- @@ -213,11 +213,15 @@ class Grid3d : protected Pointers { // internal methods // ------------------------------------------- + void partition_grid(int, double, double, double, int &, int &); + void ghost_grid(double, int); + void extract_comm_info(); + void store(int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int); - virtual void setup_brick(int &, int &); - virtual void setup_tiled(int &, int &); + void setup_comm_brick(int &, int &); + void setup_comm_tiled(int &, int &); int ghost_adjacent_brick(); int ghost_adjacent_tiled(); @@ -242,8 +246,7 @@ class Grid3d : protected Pointers { int indices(int *&, int, int, int, int, int, int); int proc_index_uniform(int, int, int, double *); - void proc_box_uniform(int, int, int, int *); - void proc_box_tiled(int, int, int, int *); + void partition_tiled(int, int, int, int *); }; } // namespace LAMMPS_NS From 94024475c17a6708c01b6a6d604f7ffa4c13842d Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 31 Oct 2022 15:29:02 -0600 Subject: [PATCH 083/142] allow for centered grid cells in proc mapping --- src/EXTRA-FIX/fix_ttm_grid.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/EXTRA-FIX/fix_ttm_grid.cpp b/src/EXTRA-FIX/fix_ttm_grid.cpp index b26a209402..b5b57ca5e1 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.cpp +++ b/src/EXTRA-FIX/fix_ttm_grid.cpp @@ -643,7 +643,7 @@ void FixTTMGrid::allocate_grid() // setup grid communication and allocate grid data structs - grid->setup(ngrid_buf1, ngrid_buf2); + grid->setup_comm(ngrid_buf1, ngrid_buf2); memory->create(grid_buf1, ngrid_buf1, "ttm/grid:grid_buf1"); memory->create(grid_buf2, ngrid_buf2, "ttm/grid:grid_buf2"); From 335bacebb722ae61fa07f81fa328485118b87f24 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 31 Oct 2022 15:34:58 -0600 Subject: [PATCH 084/142] more doc in *.h file --- src/grid3d.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/grid3d.h b/src/grid3d.h index 0e8f722f8d..c6047d2ddd 100644 --- a/src/grid3d.h +++ b/src/grid3d.h @@ -50,7 +50,7 @@ class Grid3d : protected Pointers { protected: int me, nprocs; - int layout; // not TILED, same as Comm class + int layout; // not TILED or TILED, same as Comm class MPI_Comm gridcomm; // communicator for this class // usually world, but MSM calls with subset @@ -67,7 +67,8 @@ class Grid3d : protected Pointers { int fullylo, fullyhi; // can be same as out indices or larger int fullzlo, fullzhi; - double shift; + double shift; // location of grid point within grid cell + // only affects which proc owns grid cell // ------------------------------------------- // internal variables for BRICK layout From 4c29457351b0c2d0198caabfe66a685db3cb717b Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 1 Nov 2022 15:53:39 -0600 Subject: [PATCH 085/142] more classes use Grid3d --- src/AMOEBA/amoeba_convolution.cpp | 114 +++------- src/AMOEBA/amoeba_kspace.cpp | 4 + src/EXTRA-FIX/fix_ttm_grid.cpp | 17 +- src/KSPACE/msm.cpp | 4 +- src/KSPACE/pppm.cpp | 166 ++++++-------- src/KSPACE/pppm.h | 2 +- src/KSPACE/pppm_dipole.cpp | 70 ++++-- src/KSPACE/pppm_dipole_spin.cpp | 24 +- src/KSPACE/pppm_disp.cpp | 12 +- src/compute_property_grid.cpp | 6 +- src/dump_grid.cpp | 2 +- src/fix_ave_grid.cpp | 8 +- src/grid3d.cpp | 367 ++++++++++++++++++------------ src/grid3d.h | 37 ++- 14 files changed, 440 insertions(+), 393 deletions(-) diff --git a/src/AMOEBA/amoeba_convolution.cpp b/src/AMOEBA/amoeba_convolution.cpp index eca1c88c4d..ac6a8d161b 100644 --- a/src/AMOEBA/amoeba_convolution.cpp +++ b/src/AMOEBA/amoeba_convolution.cpp @@ -104,82 +104,29 @@ void AmoebaConvolution::reset_grid() void AmoebaConvolution::allocate_grid() { - // global indices of grid range from 0 to N-1 - // nlo_in,nhi_in = lower/upper limits of the 3d sub-brick of - // global grid that I own without ghost cells - // both non-tiled and tiled proc layouts use 0-1 fractional subdomain info - - if (comm->layout != Comm::LAYOUT_TILED) { - nxlo_in = static_cast (comm->xsplit[comm->myloc[0]] * nx); - nxhi_in = static_cast (comm->xsplit[comm->myloc[0]+1] * nx) - 1; - nylo_in = static_cast (comm->ysplit[comm->myloc[1]] * ny); - nyhi_in = static_cast (comm->ysplit[comm->myloc[1]+1] * ny) - 1; - nzlo_in = static_cast (comm->zsplit[comm->myloc[2]] * nz); - nzhi_in = static_cast (comm->zsplit[comm->myloc[2]+1] * nz) - 1; - - } else { - nxlo_in = static_cast (comm->mysplit[0][0] * nx); - nxhi_in = static_cast (comm->mysplit[0][1] * nx) - 1; - nylo_in = static_cast (comm->mysplit[1][0] * ny); - nyhi_in = static_cast (comm->mysplit[1][1] * ny) - 1; - nzlo_in = static_cast (comm->mysplit[2][0] * nz); - nzhi_in = static_cast (comm->mysplit[2][1] * nz) - 1; - } - + // maxdist = max distance outside of subbox my owned atom may be // nlower,nupper = stencil size for mapping particles to FFT grid + double maxdist = 0.5*neighbor->skin; int nlower = -(order-1)/2; int nupper = order/2; - // nlo_out,nhi_out = lower/upper limits of the 3d sub-brick of - // global grid that my particles can contribute charge to - // effectively nlo_in,nhi_in + ghost cells - // nlo,nhi = global coords of grid pt to "lower left" of smallest/largest - // position a particle in my box can be at - // dist[3] = particle position bound = subbox + skin/2.0 - // convert to triclinic if necessary - // nlo_out,nhi_out = nlo,nhi + stencil size for particle mapping + // Grid3d determines my owned + ghost grid cells + // ghost cell extent depends on maxdist, nlower, nupper + + gc = new Grid3d(lmp,world,nx,ny,nz); + gc->set_distance(maxdist); + gc->set_stencil_atom(-nlower,nupper); - double *prd,*boxlo,*sublo,*subhi; - int triclinic = domain->triclinic; + gc->setup_grid(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in, + nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out); - if (triclinic == 0) { - prd = domain->prd; - boxlo = domain->boxlo; - sublo = domain->sublo; - subhi = domain->subhi; - } else { - prd = domain->prd_lamda; - boxlo = domain->boxlo_lamda; - sublo = domain->sublo_lamda; - subhi = domain->subhi_lamda; - } + int nqty = flag3d ? 1 : 2; + int ngc_buf1,ngc_buf2; - double xprd = prd[0]; - double yprd = prd[1]; - double zprd = prd[2]; - - double dist[3] = {0.0,0.0,0.0}; - double cuthalf = 0.5*neighbor->skin; - if (triclinic == 0) dist[0] = dist[1] = dist[2] = cuthalf; - else MathExtra::tribbox(domain->h,cuthalf,&dist[0]); - - int nlo,nhi; - - nlo = static_cast ((sublo[0]-dist[0]-boxlo[0]) * nx/xprd); - nhi = static_cast ((subhi[0]+dist[0]-boxlo[0]) * nx/xprd); - nxlo_out = nlo + nlower; - nxhi_out = nhi + nupper; - - nlo = static_cast ((sublo[1]-dist[1]-boxlo[1]) * ny/yprd); - nhi = static_cast ((subhi[1]+dist[1]-boxlo[1]) * ny/yprd); - nylo_out = nlo + nlower; - nyhi_out = nhi + nupper; - - nlo = static_cast ((sublo[2]-dist[2]-boxlo[2]) * nz/zprd); - nhi = static_cast ((subhi[2]+dist[2]-boxlo[2]) * nz/zprd); - nzlo_out = nlo + nlower; - nzhi_out = nhi + nupper; + gc->setup_comm(ngc_buf1,ngc_buf2); + memory->create(gc_buf1,nqty*ngc_buf1,"amoeba:gc_buf1"); + memory->create(gc_buf2,nqty*ngc_buf2,"amoeba:gc_buf2"); // x-pencil decomposition of FFT mesh // global indices range from 0 to N-1 @@ -210,7 +157,7 @@ void AmoebaConvolution::allocate_grid() nzlo_fft = me_z*nz/npez_fft; nzhi_fft = (me_z+1)*nz/npez_fft - 1; - // grid sizes + // FFT grid sizes // nbrick_owned = owned grid points in brick decomp // nbrick_ghosts = owned + ghost grid points in grid decomp // nfft_owned = owned grid points in FFT decomp @@ -226,7 +173,7 @@ void AmoebaConvolution::allocate_grid() ngrid_either = MAX(nbrick_owned,nfft_owned); - // instantiate FFT, Grid3d, and Remap + // instantiate FFT and Remap int tmp; @@ -240,11 +187,6 @@ void AmoebaConvolution::allocate_grid() nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in, 0,0,&tmp,0); - gc = new Grid3d(lmp,world,nx,ny,nz, - nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in, - nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out); - - int nqty = flag3d ? 1 : 2; 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, @@ -266,12 +208,6 @@ void AmoebaConvolution::allocate_grid() memory->create(grid_fft,ngrid_either,"amoeba:grid_fft"); memory->create(cfft,2*ngrid_either,"amoeba:cfft"); - - int ngc_buf1,ngc_buf2; - gc->setup(ngc_buf1,ngc_buf2); - memory->create(gc_buf1,nqty*ngc_buf1,"amoeba:gc_buf1"); - memory->create(gc_buf2,nqty*ngc_buf2,"amoeba:gc_buf2"); - memory->create(remap_buf,nqty*nfft_owned,"amoeba:remap_buf"); } @@ -279,18 +215,20 @@ void AmoebaConvolution::allocate_grid() void AmoebaConvolution::deallocate_grid() { + delete gc; + + memory->destroy(gc_buf1); + memory->destroy(gc_buf2); + + delete fft1; + delete fft2; + delete remap; + memory->destroy3d_offset(grid_brick,nzlo_out,nylo_out,nxlo_out); memory->destroy4d_offset_last(cgrid_brick,nzlo_out,nylo_out,nxlo_out); memory->destroy(grid_fft); memory->destroy(cfft); - memory->destroy(gc_buf1); - memory->destroy(gc_buf2); memory->destroy(remap_buf); - - delete fft1; - delete fft2; - delete gc; - delete remap; } /* ---------------------------------------------------------------------- diff --git a/src/AMOEBA/amoeba_kspace.cpp b/src/AMOEBA/amoeba_kspace.cpp index 51b206b6d8..c4fb5136b0 100644 --- a/src/AMOEBA/amoeba_kspace.cpp +++ b/src/AMOEBA/amoeba_kspace.cpp @@ -217,6 +217,10 @@ void PairAmoeba::bspline_fill() // NOTE: could subtract off nlpts to start with // NOTE: this is place to check that stencil size does not // go out of bounds relative to igrid for a proc's sub-domain + // similar to PPPM::particle_map() + // subtracting eps is strange, and could mess up the check + // better to check here than in methods like grid_mpole() + // but check needs to be valid for all KSpace terms // NOTE: could convert x -> lamda for entire set of Nlocal atoms domain->x2lamda(x[i],lamda); diff --git a/src/EXTRA-FIX/fix_ttm_grid.cpp b/src/EXTRA-FIX/fix_ttm_grid.cpp index b5b57ca5e1..08f1e43c32 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.cpp +++ b/src/EXTRA-FIX/fix_ttm_grid.cpp @@ -485,10 +485,11 @@ void FixTTMGrid::reset_grid() int tmp[12]; double maxdist = 0.5 * neighbor->skin; - Grid3d *gridnew = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid, - maxdist, 1, 0.5, - tmp[0],tmp[1],tmp[2],tmp[3],tmp[4],tmp[5], - tmp[6],tmp[7],tmp[8],tmp[9],tmp[10],tmp[11]); + Grid3d *gridnew = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid); + gridnew->set_distance(maxdist); + gridnew->set_stencil_grid(1,1); + gridnew->setup_grid(tmp[0],tmp[1],tmp[2],tmp[3],tmp[4],tmp[5], + tmp[6],tmp[7],tmp[8],tmp[9],tmp[10],tmp[11]); if (grid->identical(gridnew)) { delete gridnew; @@ -632,9 +633,11 @@ void FixTTMGrid::allocate_grid() { double maxdist = 0.5 * neighbor->skin; - grid = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid, maxdist, 1, 0.5, - nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, nzhi_in, - nxlo_out, nxhi_out, nylo_out, nyhi_out, nzlo_out, nzhi_out); + grid = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid); + grid->set_distance(maxdist); + grid->set_stencil_grid(1,1); + grid->setup_grid(nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, nzhi_in, + nxlo_out, nxhi_out, nylo_out, nyhi_out, nzlo_out, nzhi_out); ngridown = (nxhi_in - nxlo_in + 1) * (nyhi_in - nylo_in + 1) * (nzhi_in - nzlo_in + 1); diff --git a/src/KSPACE/msm.cpp b/src/KSPACE/msm.cpp index a3ef458770..ebc5858f10 100644 --- a/src/KSPACE/msm.cpp +++ b/src/KSPACE/msm.cpp @@ -604,7 +604,7 @@ void MSM::allocate() nxlo_out[0],nxhi_out[0],nylo_out[0], nyhi_out[0],nzlo_out[0],nzhi_out[0]); - gcall->setup(ngcall_buf1,ngcall_buf2); + gcall->setup_comm(ngcall_buf1,ngcall_buf2); npergrid = 1; memory->destroy(gcall_buf1); memory->destroy(gcall_buf2); @@ -636,7 +636,7 @@ void MSM::allocate() procneigh[0][0],procneigh[0][1],procneigh[1][0], procneigh[1][1],procneigh[2][0],procneigh[2][1]); - gc[n]->setup(ngc_buf1[n],ngc_buf2[n]); + gc[n]->setup_comm(ngc_buf1[n],ngc_buf2[n]); npergrid = 1; memory->destroy(gc_buf1[n]); memory->destroy(gc_buf2[n]); diff --git a/src/KSPACE/pppm.cpp b/src/KSPACE/pppm.cpp index f946d44d29..2ad3b15c72 100644 --- a/src/KSPACE/pppm.cpp +++ b/src/KSPACE/pppm.cpp @@ -292,7 +292,7 @@ void PPPM::init() // or overlap is allowed, then done // else reduce order and try again - Grid3d *gctmp = nullptr; + gc = nullptr; int iteration = 0; while (order >= minorder) { @@ -305,23 +305,28 @@ void PPPM::init() set_grid_local(); if (overlap_allowed) break; - gctmp = 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); + gc->set_distance(0.5*neighbor->skin + qdist); + gc->set_stencil_atom(-nlower,nupper); + gc->set_shift_atom(shiftatom); + gc->set_zfactor(slab_volfactor); + + gc->setup_grid(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in, + nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out); int tmp1,tmp2; - gctmp->setup(tmp1,tmp2); - if (gctmp->ghost_adjacent()) break; - delete gctmp; + gc->setup_comm(tmp1,tmp2); + if (gc->ghost_adjacent()) break; + delete gc; order--; iteration++; } if (order < minorder) error->all(FLERR,"PPPM order < minimum allowed order"); - if (!overlap_allowed && !gctmp->ghost_adjacent()) + if (!overlap_allowed && !gc->ghost_adjacent()) error->all(FLERR,"PPPM grid stencil extends beyond nearest neighbor processor"); - if (gctmp) delete gctmp; + if (gc) delete gc; // adjust g_ewald @@ -739,6 +744,29 @@ void PPPM::compute(int eflag, int vflag) void PPPM::allocate() { + // create ghost grid object for rho and electric field communication + // returns local owned and ghost grid bounds + // setup communication patterns and buffers + + gc = new Grid3d(lmp,world,nx_pppm,ny_pppm,nz_pppm); + gc->set_distance(0.5*neighbor->skin + qdist); + gc->set_stencil_atom(-nlower,nupper); + gc->set_shift_atom(shiftatom); + gc->set_zfactor(slab_volfactor); + + gc->setup_grid(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); + + 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"); + + // allocate distributed grid data + memory->create3d_offset(density_brick,nzlo_out,nzhi_out,nylo_out,nyhi_out, nxlo_out,nxhi_out,"pppm:density_brick"); @@ -809,21 +837,6 @@ void PPPM::allocate() 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); - - // create ghost grid object for rho and electric field communication - // also create 2 bufs for ghost grid cell comm, passed to Grid3d methods - - 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(ngc_buf1,ngc_buf2); - - 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"); } /* ---------------------------------------------------------------------- @@ -832,6 +845,10 @@ void PPPM::allocate() void PPPM::deallocate() { + delete gc; + memory->destroy(gc_buf1); + memory->destroy(gc_buf2); + memory->destroy3d_offset(density_brick,nzlo_out,nylo_out,nxlo_out); if (differentiation_flag == 1) { @@ -874,9 +891,6 @@ void PPPM::deallocate() delete fft1; delete fft2; delete remap; - delete gc; - memory->destroy(gc_buf1); - memory->destroy(gc_buf2); } /* ---------------------------------------------------------------------- @@ -1309,85 +1323,41 @@ double PPPM::final_accuracy() } /* ---------------------------------------------------------------------- - set local subset of PPPM/FFT grid that I own - n xyz lo/hi in = 3d brick that I own (inclusive) - n xyz lo/hi out = 3d brick + ghost cells in 6 directions (inclusive) - n xyz lo/hi fft = FFT columns that I own (all of x dim, 2d decomp in yz) + set params which determine which owned and ghost cells this proc owns + Grid3d will use these params to partition grid + also partition FFT grid + n xyz lo/hi fft = FFT columns that I own (all of x dim, 2d decomp in yz) ------------------------------------------------------------------------- */ void PPPM::set_grid_local() { - // partition global grid across procs - // n xyz lo/hi in = lower/upper bounds of global grid this proc owns - // indices range from 0 to N-1 inclusive in each dim + // shift values for particle <-> grid mapping + // add/subtract OFFSET to avoid int(-0.75) = 0 when want it to be -1 - comm->partition_grid(nx_pppm,ny_pppm,nz_pppm,slab_volfactor, - nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in); + if (order % 2) shiftatom = 0.5; + else shiftatom = 0.0; + shift = OFFSET + shiftatom; + + if (order % 2) shiftone = 0.0; + else shiftone = 0.5; // nlower,nupper = stencil size for mapping particles to PPPM grid nlower = -(order-1)/2; nupper = order/2; - // shift values for particle <-> grid mapping - // add/subtract OFFSET to avoid int(-0.75) = 0 when want it to be -1 - if (order % 2) shift = OFFSET + 0.5; - else shift = OFFSET; - if (order % 2) shiftone = 0.0; - else shiftone = 0.5; - // nlo_out,nhi_out = lower/upper limits of the 3d sub-brick of - // global PPPM grid that my particles can contribute charge to - // effectively nlo_in,nhi_in + ghost cells - // nlo,nhi = index of global grid pt to "lower left" of smallest/largest - // position a particle in my box can be at - // dist[3] = max particle position outside subbox = skin/2.0 + qdist - // qdist = offset due to TIP4P fictitious charge - // convert to triclinic if necessary - // nlo_out,nhi_out = nlo,nhi + stencil size for particle mapping - // for slab PPPM, assign z grid as if it were not extended + + // NOTE: still to do: stagger and zperiod effects - double *prd,*sublo,*subhi; + /* - if (triclinic == 0) { - prd = domain->prd; - boxlo = domain->boxlo; - sublo = domain->sublo; - subhi = domain->subhi; - } else { - prd = domain->prd_lamda; - boxlo = domain->boxlo_lamda; - sublo = domain->sublo_lamda; - subhi = domain->subhi_lamda; - } - - double xprd = prd[0]; - double yprd = prd[1]; - double zprd = prd[2]; + // extent of zprd when 2d slab mode is selected + double zprd_slab = zprd*slab_volfactor; - double dist[3] = {0.0,0.0,0.0}; - double cuthalf = 0.5*neighbor->skin + qdist; - if (triclinic == 0) dist[0] = dist[1] = dist[2] = cuthalf; - else MathExtra::tribbox(domain->h,cuthalf,&dist[0]); - - int nlo,nhi; - nlo = nhi = 0; - - nlo = static_cast ((sublo[0]-dist[0]-boxlo[0]) * - nx_pppm/xprd + shift) - OFFSET; - nhi = static_cast ((subhi[0]+dist[0]-boxlo[0]) * - nx_pppm/xprd + shift) - OFFSET; - nxlo_out = nlo + nlower; - nxhi_out = nhi + nupper; - - nlo = static_cast ((sublo[1]-dist[1]-boxlo[1]) * - ny_pppm/yprd + shift) - OFFSET; - nhi = static_cast ((subhi[1]+dist[1]-boxlo[1]) * - ny_pppm/yprd + shift) - OFFSET; - nylo_out = nlo + nlower; - nyhi_out = nhi + nupper; + // for slab PPPM, assign z grid as if it were not extended nlo = static_cast ((sublo[2]-dist[2]-boxlo[2]) * nz_pppm/zprd_slab + shift) - OFFSET; @@ -1396,6 +1366,7 @@ void PPPM::set_grid_local() nzlo_out = nlo + nlower; nzhi_out = nhi + nupper; + if (stagger_flag) { nxhi_out++; nyhi_out++; @@ -1420,6 +1391,11 @@ void PPPM::set_grid_local() nzhi_out = MIN(nzhi_out,nz_pppm-1); } + */ + + + + // x-pencil decomposition of FFT mesh // global indices range from 0 to N-1 // each proc owns entire x-dimension, clumps of columns in y,z dimensions @@ -1446,18 +1422,22 @@ void PPPM::set_grid_local() nzlo_fft = me_z*nz_pppm/npez_fft; nzhi_fft = (me_z+1)*nz_pppm/npez_fft - 1; + // nfft = FFT points in x-pencil FFT decomposition on this proc + + nfft = (nxhi_fft-nxlo_fft+1) * (nyhi_fft-nylo_fft+1) * + (nzhi_fft-nzlo_fft+1); + + + // ngrid = count of PPPM grid pts owned by this proc, including ghosts ngrid = (nxhi_out-nxlo_out+1) * (nyhi_out-nylo_out+1) * (nzhi_out-nzlo_out+1); // count of FFT grids pts owned by this proc, without ghosts - // nfft = FFT points in x-pencil FFT decomposition on this proc // nfft_brick = FFT points in 3d brick-decomposition on this proc // nfft_both = greater of 2 values - nfft = (nxhi_fft-nxlo_fft+1) * (nyhi_fft-nylo_fft+1) * - (nzhi_fft-nzlo_fft+1); int nfft_brick = (nxhi_in-nxlo_in+1) * (nyhi_in-nylo_in+1) * (nzhi_in-nzlo_in+1); nfft_both = MAX(nfft,nfft_brick); @@ -1908,7 +1888,7 @@ void PPPM::make_rho() // loop over my charges, add their contribution to nearby grid points // (nx,ny,nz) = global coords of grid pt to "lower left" of charge // (dx,dy,dz) = distance to "lower left" grid pt - // (mx,my,mz) = global coords of moving stencil pt + // (mx,my,mz) = global indices of moving stencil pt double *q = atom->q; double **x = atom->x; diff --git a/src/KSPACE/pppm.h b/src/KSPACE/pppm.h index da1278ff4f..6166961cba 100644 --- a/src/KSPACE/pppm.h +++ b/src/KSPACE/pppm.h @@ -48,7 +48,7 @@ class PPPM : public KSpace { double volume; double delxinv, delyinv, delzinv, delvolinv; double h_x, h_y, h_z; - double shift, shiftone; + double shift, shiftone, shiftatom; int peratom_allocate_flag; int nxlo_in, nylo_in, nzlo_in, nxhi_in, nyhi_in, nzhi_in; diff --git a/src/KSPACE/pppm_dipole.cpp b/src/KSPACE/pppm_dipole.cpp index d6931d4c0e..a2abc98961 100644 --- a/src/KSPACE/pppm_dipole.cpp +++ b/src/KSPACE/pppm_dipole.cpp @@ -28,6 +28,7 @@ #include "math_const.h" #include "math_special.h" #include "memory.h" +#include "neighbor.h" #include "pair.h" #include "remap_wrap.h" #include "update.h" @@ -188,7 +189,7 @@ void PPPMDipole::init() // or overlap is allowed, then done // else reduce order and try again - Grid3d *gctmp = nullptr; + gc_dipole = nullptr; int iteration = 0; while (order >= minorder) { @@ -201,23 +202,28 @@ void PPPMDipole::init() set_grid_local(); if (overlap_allowed) break; - gctmp = 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_dipole = new Grid3d(lmp,world,nx_pppm,ny_pppm,nz_pppm); + gc_dipole->set_distance(0.5*neighbor->skin + qdist); + gc_dipole->set_stencil_atom(-nlower,nupper); + gc_dipole->set_shift_atom(shiftatom); + gc_dipole->set_zfactor(slab_volfactor); + + gc_dipole->setup_grid(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in, + nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out); int tmp1,tmp2; - gctmp->setup(tmp1,tmp2); - if (gctmp->ghost_adjacent()) break; - delete gctmp; + gc_dipole->setup_comm(tmp1,tmp2); + if (gc_dipole->ghost_adjacent()) break; + delete gc_dipole; order--; iteration++; } if (order < minorder) error->all(FLERR,"PPPMDipole order < minimum allowed order"); - if (!overlap_allowed && !gctmp->ghost_adjacent()) + if (!overlap_allowed && !gc_dipole->ghost_adjacent()) error->all(FLERR,"PPPMDipole grid stencil extends beyond nearest neighbor processor"); - if (gctmp) delete gctmp; + if (gc_dipole) delete gc_dipole; // adjust g_ewald @@ -436,7 +442,7 @@ void PPPMDipole::compute(int eflag, int vflag) particle_map(); make_rho_dipole(); - + // all procs communicate density values from their ghost cells // to fully sum contribution in their 3d bricks // remap from 3d decomposition to FFT decomposition @@ -528,6 +534,28 @@ void PPPMDipole::compute(int eflag, int vflag) void PPPMDipole::allocate() { + // create ghost grid object for rho and electric field communication + // returns local owned and ghost grid bounds + // setup communication patterns and buffers + + gc_dipole = new Grid3d(lmp,world,nx_pppm,ny_pppm,nz_pppm); + gc_dipole->set_distance(0.5*neighbor->skin + qdist); + gc_dipole->set_stencil_atom(-nlower,nupper); + gc_dipole->set_shift_atom(shiftatom); + gc_dipole->set_zfactor(slab_volfactor); + + gc_dipole->setup_grid(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_dipole->setup_comm(ngc_buf1,ngc_buf2); + + npergrid = 9; + + memory->create(gc_buf1,npergrid*ngc_buf1,"pppm:gc_buf1"); + memory->create(gc_buf2,npergrid*ngc_buf2,"pppm:gc_buf2"); + + // allocate distributed grid data + memory->create3d_offset(densityx_brick_dipole,nzlo_out,nzhi_out,nylo_out,nyhi_out, nxlo_out,nxhi_out,"pppm_dipole:densityx_brick_dipole"); memory->create3d_offset(densityy_brick_dipole,nzlo_out,nzhi_out,nylo_out,nyhi_out, @@ -601,20 +629,6 @@ void PPPMDipole::allocate() 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); - - // create ghost grid object for rho and electric field communication - // also create 2 bufs for ghost grid cell comm, passed to Grid3d methods - - gc_dipole = 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_dipole->setup(ngc_buf1,ngc_buf2); - - npergrid = 9; - - memory->create(gc_buf1,npergrid*ngc_buf1,"pppm:gc_buf1"); - memory->create(gc_buf2,npergrid*ngc_buf2,"pppm:gc_buf2"); } /* ---------------------------------------------------------------------- @@ -623,6 +637,10 @@ void PPPMDipole::allocate() void PPPMDipole::deallocate() { + delete gc_dipole; + memory->destroy(gc_buf1); + memory->destroy(gc_buf2); + memory->destroy3d_offset(densityx_brick_dipole,nzlo_out,nylo_out,nxlo_out); memory->destroy3d_offset(densityy_brick_dipole,nzlo_out,nylo_out,nxlo_out); memory->destroy3d_offset(densityz_brick_dipole,nzlo_out,nylo_out,nxlo_out); @@ -645,7 +663,9 @@ void PPPMDipole::deallocate() memory->destroy(work3); memory->destroy(work4); - delete gc_dipole; + delete fft1; + delete fft2; + delete remap; } /* ---------------------------------------------------------------------- diff --git a/src/KSPACE/pppm_dipole_spin.cpp b/src/KSPACE/pppm_dipole_spin.cpp index ea92eb4685..4352ac03ae 100644 --- a/src/KSPACE/pppm_dipole_spin.cpp +++ b/src/KSPACE/pppm_dipole_spin.cpp @@ -26,6 +26,7 @@ #include "grid3d.h" #include "math_const.h" #include "memory.h" +#include "neighbor.h" #include "pair.h" #include "update.h" @@ -173,7 +174,7 @@ void PPPMDipoleSpin::init() // or overlap is allowed, then done // else reduce order and try again - Grid3d *gctmp = nullptr; + gc_dipole = nullptr; int iteration = 0; while (order >= minorder) { @@ -186,23 +187,28 @@ void PPPMDipoleSpin::init() set_grid_local(); if (overlap_allowed) break; - gctmp = 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_dipole = new Grid3d(lmp,world,nx_pppm,ny_pppm,nz_pppm); + gc_dipole->set_distance(0.5*neighbor->skin + qdist); + gc_dipole->set_stencil_atom(-nlower,nupper); + gc_dipole->set_shift_atom(shiftatom); + gc_dipole->set_zfactor(slab_volfactor); + + gc_dipole->setup_grid(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in, + nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out); int tmp1,tmp2; - gctmp->setup(tmp1,tmp2); - if (gctmp->ghost_adjacent()) break; - delete gctmp; + gc_dipole->setup_comm(tmp1,tmp2); + if (gc_dipole->ghost_adjacent()) break; + delete gc_dipole; order--; iteration++; } if (order < minorder) error->all(FLERR,"PPPMDipoleSpin order < minimum allowed order"); - if (!overlap_allowed && !gctmp->ghost_adjacent()) + if (!overlap_allowed && !gc_dipole->ghost_adjacent()) error->all(FLERR,"PPPMDipoleSpin grid stencil extends beyond nearest neighbor processor"); - if (gctmp) delete gctmp; + if (gc_dipole) delete gc_dipole; // adjust g_ewald diff --git a/src/KSPACE/pppm_disp.cpp b/src/KSPACE/pppm_disp.cpp index 1f73af81cc..336e7ca1c1 100644 --- a/src/KSPACE/pppm_disp.cpp +++ b/src/KSPACE/pppm_disp.cpp @@ -446,7 +446,7 @@ void PPPMDisp::init() nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out); int tmp1,tmp2; - gctmp->setup(tmp1,tmp2); + gctmp->setup_comm(tmp1,tmp2); if (gctmp->ghost_adjacent()) break; delete gctmp; @@ -526,7 +526,7 @@ void PPPMDisp::init() nzlo_out_6,nzhi_out_6); int tmp1,tmp2; - gctmp->setup(tmp1,tmp2); + gctmp->setup_comm(tmp1,tmp2); if (gctmp->ghost_adjacent()) break; delete gctmp; @@ -1754,7 +1754,7 @@ void _noopt PPPMDisp::allocate() 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(ngc_buf1,ngc_buf2); + gc->setup_comm(ngc_buf1,ngc_buf2); if (differentiation_flag) npergrid = 1; else npergrid = 3; @@ -1838,7 +1838,7 @@ void _noopt PPPMDisp::allocate() nxlo_in_6,nxhi_in_6,nylo_in_6,nyhi_in_6,nzlo_in_6,nzhi_in_6, nxlo_out_6,nxhi_out_6,nylo_out_6,nyhi_out_6,nzlo_out_6,nzhi_out_6); - gc6->setup(ngc6_buf1,ngc6_buf2); + gc6->setup_comm(ngc6_buf1,ngc6_buf2); if (differentiation_flag) npergrid6 = 1; else npergrid6 = 3; @@ -2001,7 +2001,7 @@ void _noopt PPPMDisp::allocate() nxlo_in_6,nxhi_in_6,nylo_in_6,nyhi_in_6,nzlo_in_6,nzhi_in_6, nxlo_out_6,nxhi_out_6,nylo_out_6,nyhi_out_6,nzlo_out_6,nzhi_out_6); - gc6->setup(ngc6_buf1,ngc6_buf2); + gc6->setup_comm(ngc6_buf1,ngc6_buf2); if (differentiation_flag) npergrid6 = 7; else npergrid6 = 21; @@ -2088,7 +2088,7 @@ void _noopt PPPMDisp::allocate() nxlo_in_6,nxhi_in_6,nylo_in_6,nyhi_in_6,nzlo_in_6,nzhi_in_6, nxlo_out_6,nxhi_out_6,nylo_out_6,nyhi_out_6,nzlo_out_6,nzhi_out_6); - gc6->setup(ngc6_buf1,ngc6_buf2); + gc6->setup_comm(ngc6_buf1,ngc6_buf2); if (differentiation_flag) npergrid6 = 1*nsplit_alloc; else npergrid6 = 3*nsplit_alloc; diff --git a/src/compute_property_grid.cpp b/src/compute_property_grid.cpp index 64092dd596..fec3920357 100644 --- a/src/compute_property_grid.cpp +++ b/src/compute_property_grid.cpp @@ -252,9 +252,9 @@ void ComputePropertyGrid::allocate_grid() ngridout = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1); } else { - grid3d = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid, 0.0, 0, 0.0, nxlo_in, nxhi_in, nylo_in, - nyhi_in, nzlo_in, nzhi_in, nxlo_out, nxhi_out, nylo_out, nyhi_out, nzlo_out, - nzhi_out); + grid3d = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid); + grid3d->setup_grid(nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, nzhi_in, + nxlo_out, nxhi_out, nylo_out, nyhi_out, nzlo_out, nzhi_out); if (nvalues == 1) memory->create3d_offset(vec3d, nzlo_out, nzhi_out, nylo_out, nyhi_out, nxlo_out, nxhi_out, "property/grid:vec3d"); diff --git a/src/dump_grid.cpp b/src/dump_grid.cpp index e8428ba5f2..72054145c1 100644 --- a/src/dump_grid.cpp +++ b/src/dump_grid.cpp @@ -509,7 +509,7 @@ int DumpGrid::count() grid3d = (Grid3d *) compute[field2index[0]]->get_grid_by_index(field2grid[0]); else if (field2source[0] == FIX) grid3d = (Grid3d *) fix[field2index[0]]->get_grid_by_index(field2grid[0]); - grid3d->get_bounds(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in); + grid3d->get_bounds_owned(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in); } // invoke Computes for per-grid quantities diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index 39b05fb105..508b0ddf51 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -411,10 +411,10 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : ngridout = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1); } else { - grid3d = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid, maxdist, 0, 0.5, - nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, nzhi_in, - nxlo_out, nxhi_out, nylo_out, nyhi_out, - nzlo_out, nzhi_out); + grid3d = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid); + grid3d->set_distance(maxdist); + grid3d->setup_grid(nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, nzhi_in, + nxlo_out, nxhi_out, nylo_out, nyhi_out, nzlo_out, nzhi_out); // ngrid_buf12 converted to nvalues + count diff --git a/src/grid3d.cpp b/src/grid3d.cpp index 56f52dfe5b..ac4cc6f91f 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -40,132 +40,29 @@ static constexpr int OFFSET = 16384; ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- - constructor called by all classes except PPPM and MSM - comm_caller = caller's communicator - nx,ny,nz caller = size of global grid - maxdist = max distance outside of proc domain a particle will be - extra = additional ghost grid pts needed in each dim, e.g. for stencil - shift_caller = 0.0 for grid pt in lower-left corner of grid cell, - 0.5 for center - return: - i xyz lohi = portion of global grid this proc owns, 0 <= index < N - o xyz lohi = owned + ghost grid cells needed in all directions - for periodic dims, o indices can be < 0 or >= N - for non-periodic dims, o indices will be >= 0 and < N - since no grid comm is done across non-periodic boundaries - NOTE: allow zfactor to be a calling arg for PPPM ? + constructor to create a 3d distributed grid + gcomm = caller's communicator + gnx,gny,gnz = global grid size ------------------------------------------------------------------------- */ -Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm comm_caller, - int nx_caller, int ny_caller, int nz_caller, - double maxdist, int extra, double shift_caller, - int &ixlo, int &ixhi, int &iylo, int &iyhi, int &izlo, int &izhi, - int &oxlo, int &oxhi, int &oylo, int &oyhi, int &ozlo, int &ozhi) - : Pointers(lmp) +Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, int gnx, int gny, int gnz) : + Pointers(lmp) { - // store commnicator and global grid size - // set layout mode - - gridcomm = comm_caller; + gridcomm = gcomm; MPI_Comm_rank(gridcomm,&me); MPI_Comm_size(gridcomm,&nprocs); - nx = nx_caller; - ny = ny_caller; - nz = nz_caller; + nx = gnx; + ny = gny; + nz = gnz; + + // default settings, can be overridden by set() methods - // NOTE: hardwire shift = 0.5 ? - - shift = shift_caller; - - // define owned grid cells for each proc - // extend bounds with ghost grid cells in each direction - - double fraclo,frachi; - - if (comm->layout != Comm::LAYOUT_TILED) { - fraclo = comm->xsplit[comm->myloc[0]]; - frachi = comm->xsplit[comm->myloc[0]+1]; - partition_grid(nx,fraclo,frachi,shift,inxlo,inxhi); - fraclo = comm->ysplit[comm->myloc[1]]; - frachi = comm->ysplit[comm->myloc[1]+1]; - partition_grid(ny,fraclo,frachi,shift,inylo,inyhi); - fraclo = comm->zsplit[comm->myloc[2]]; - frachi = comm->zsplit[comm->myloc[2]+1]; - partition_grid(nz,fraclo,frachi,shift,inzlo,inzhi); - } else { - fraclo = comm->mysplit[0][0]; - frachi = comm->mysplit[0][1]; - partition_grid(nx,fraclo,frachi,shift,inxlo,inxhi); - fraclo = comm->mysplit[1][0]; - frachi = comm->mysplit[1][1]; - partition_grid(ny,fraclo,frachi,shift,inylo,inyhi); - fraclo = comm->mysplit[2][0]; - frachi = comm->mysplit[2][1]; - partition_grid(nz,fraclo,frachi,shift,inzlo,inzhi); - } - - ghost_grid(maxdist,extra); - - // error check on size of grid stored by this proc - - bigint total = (bigint) - (outxhi - outxlo + 1) * (outyhi - outylo + 1) * (outzhi - outzlo + 1); - if (total > MAXSMALLINT) - error->one(FLERR, "Too many owned+ghost grid3d points"); - - // default = caller grid is allocated to ghost grid - // used when computing pack/unpack lists in indices() - // NOTE: allow caller to override this - - fullxlo = outxlo; - fullxhi = outxhi; - fullylo = outylo; - fullyhi = outyhi; - fullzlo = outzlo; - fullzhi = outzhi; - - // initialize data structs - - nswap = maxswap = 0; - swap = nullptr; - - nsend = nrecv = ncopy = 0; - send = nullptr; - recv = nullptr; - copy = nullptr; - requests = nullptr; - requests_remap = nullptr; - - xsplit = ysplit = zsplit = nullptr; - grid2proc = nullptr; - rcbinfo = nullptr; - - nsend_remap = nrecv_remap = self_remap = 0; - send_remap = nullptr; - recv_remap = nullptr; - - // store info about Comm decomposition needed for remap operation - // two Grid instances will exist for duration of remap - // each must know Comm decomp at time Grid instance was created - - extract_comm_info(); - - // return values - - ixlo = inxlo; - ixhi = inxhi; - iylo = inylo; - iyhi = inyhi; - izlo = inzlo; - izhi = inzhi; - - oxlo = outxlo; - oxhi = outxhi; - oylo = outylo; - oyhi = outyhi; - ozlo = outzlo; - ozhi = outzhi; + maxdist = 0.0; + stencil_grid_lo = stencil_grid_hi = 0; + stencil_atom_lo = stencil_atom_hi = 0; + shift_grid = shift_atom = 0.0; + zfactor = 1.0; } /* ---------------------------------------------------------------------- @@ -367,7 +264,78 @@ void Grid3d::store(int ixlo, int ixhi, int iylo, int iyhi, } // ---------------------------------------------------------------------- -// access Grid parameters +// set Grid parameters +// ---------------------------------------------------------------------- + +/* ---------------------------------------------------------------------- + maxdist = max distance outside proc subdomain a particle can be +------------------------------------------------------------------------- */ + +void Grid3d::set_distance(double distance) +{ + maxdist = distance; +} + +/* ---------------------------------------------------------------------- + # of grid cells beyond an owned grid cell that caller accesses + e.g. for a finite different stencial + can be different in lo vs hi direction +------------------------------------------------------------------------- */ + +void Grid3d::set_stencil_grid(int lo, int hi) +{ + stencil_grid_lo = lo; + stencil_grid_hi = hi; +} + +/* ---------------------------------------------------------------------- + # of grid cells beyond a particle's grid cell that caller updates + e.g. for smearing a point charge to the grid + can be different in lo vs hi direction +------------------------------------------------------------------------- */ + +void Grid3d::set_stencil_atom(int lo, int hi) +{ + stencil_atom_lo = lo; + stencil_atom_hi = hi; +} + +/* ---------------------------------------------------------------------- + shift_grid = offset of position of grid point within grid cell + 0.5 = cell center, 0.0 = lower-left corner of cell + used to determine which proc owns the grid cell within its subdomain +------------------------------------------------------------------------- */ + +void Grid3d::set_shift_grid(double shift) +{ + shift_grid = shift; +} + +/* ---------------------------------------------------------------------- + shift_atom = offset of atoms when caller maps them to grid cells + 0.5 = half a grid cell, 0.0 = no offset + used when computing possible ghost extent + PPPM uses 0.5 when order is odd, 0.0 when order is even +------------------------------------------------------------------------- */ + +void Grid3d::set_shift_atom(double shift) +{ + shift_atom = shift; +} + +/* ---------------------------------------------------------------------- + zfactor > 1.0 when grid extends beyond simulation box bounds in Z + used by KSpace PPPM for 2d periodic slab geometries + default = 1.0 (no extension in Z) +------------------------------------------------------------------------- */ + +void Grid3d::set_zfactor(double factor) +{ + zfactor = factor; +} + +// ---------------------------------------------------------------------- +// retrieve Grid parameters // ---------------------------------------------------------------------- int Grid3d::identical(Grid3d *grid2) @@ -375,7 +343,7 @@ int Grid3d::identical(Grid3d *grid2) int inxlo2,inxhi2,inylo2,inyhi2,inzlo2,inzhi2; int outxlo2,outxhi2,outylo2,outyhi2,outzlo2,outzhi2; - grid2->get_bounds(inxlo2,inxhi2,inylo2,inyhi2,inzlo2,inzhi2); + grid2->get_bounds_owned(inxlo2,inxhi2,inylo2,inyhi2,inzlo2,inzhi2); grid2->get_bounds_ghost(outxlo2,outxhi2,outylo2,outyhi2,outzlo2,outzhi2); int flag = 0; @@ -404,8 +372,8 @@ void Grid3d::get_size(int &nxgrid, int &nygrid, int &nzgrid) /* ---------------------------------------------------------------------- */ -void Grid3d::get_bounds(int &xlo, int &xhi, int &ylo, int &yhi, - int &zlo, int &zhi) +void Grid3d::get_bounds_owned(int &xlo, int &xhi, int &ylo, int &yhi, + int &zlo, int &zhi) { xlo = inxlo; xhi = inxhi; @@ -433,6 +401,113 @@ void Grid3d::get_bounds_ghost(int &xlo, int &xhi, int &ylo, int &yhi, // also store comm and grid partitioning info // ---------------------------------------------------------------------- +/* ---------------------------------------------------------------------- + setup grid partition for each proc = owned + ghost cells + return: + i xyz lohi = portion of global grid this proc owns, 0 <= index < N + o xyz lohi = owned + ghost grid cells in all directions + for periodic dims, o indices can be < 0 or >= N + for non-periodic dims, o indices will be >= 0 and < N + since no grid comm is done across non-periodic boundaries +------------------------------------------------------------------------- */ + +void Grid3d::setup_grid(int &ixlo, int &ixhi, int &iylo, int &iyhi, + int &izlo, int &izhi, + int &oxlo, int &oxhi, int &oylo, int &oyhi, + int &ozlo, int &ozhi) +{ + // owned grid cells = those whose grid point is within proc subdomain + // shift_grid = 0.5 for grid point at cell center, 0.0 for lower-left corner + + double fraclo,frachi; + + if (comm->layout != Comm::LAYOUT_TILED) { + fraclo = comm->xsplit[comm->myloc[0]]; + frachi = comm->xsplit[comm->myloc[0]+1]; + partition_grid(nx,fraclo,frachi,shift_grid,inxlo,inxhi); + fraclo = comm->ysplit[comm->myloc[1]]; + frachi = comm->ysplit[comm->myloc[1]+1]; + partition_grid(ny,fraclo,frachi,shift_grid,inylo,inyhi); + fraclo = comm->zsplit[comm->myloc[2]]; + frachi = comm->zsplit[comm->myloc[2]+1]; + partition_grid(nz,fraclo,frachi,shift_grid,inzlo,inzhi); + } else { + fraclo = comm->mysplit[0][0]; + frachi = comm->mysplit[0][1]; + partition_grid(nx,fraclo,frachi,shift_grid,inxlo,inxhi); + fraclo = comm->mysplit[1][0]; + frachi = comm->mysplit[1][1]; + partition_grid(ny,fraclo,frachi,shift_grid,inylo,inyhi); + fraclo = comm->mysplit[2][0]; + frachi = comm->mysplit[2][1]; + partition_grid(nz,fraclo,frachi,shift_grid,inzlo,inzhi); + } + + // extend owned grid bounds with ghost grid cells in each direction + + ghost_grid(); + + // error check on size of grid stored by this proc + + bigint total = (bigint) + (outxhi - outxlo + 1) * (outyhi - outylo + 1) * (outzhi - outzlo + 1); + if (total > MAXSMALLINT) + error->one(FLERR, "Too many owned+ghost grid3d points"); + + // default = caller grid is allocated to ghost grid + // used when computing pack/unpack lists in indices() + // NOTE: allow caller to override this + + fullxlo = outxlo; + fullxhi = outxhi; + fullylo = outylo; + fullyhi = outyhi; + fullzlo = outzlo; + fullzhi = outzhi; + + // initialize data structs + + nswap = maxswap = 0; + swap = nullptr; + + nsend = nrecv = ncopy = 0; + send = nullptr; + recv = nullptr; + copy = nullptr; + requests = nullptr; + requests_remap = nullptr; + + xsplit = ysplit = zsplit = nullptr; + grid2proc = nullptr; + rcbinfo = nullptr; + + nsend_remap = nrecv_remap = self_remap = 0; + send_remap = nullptr; + recv_remap = nullptr; + + // store info about Comm decomposition needed for remap operation + // two Grid instances will exist for duration of remap + // each must know Comm decomp at time Grid instance was created + + extract_comm_info(); + + // return values + + ixlo = inxlo; + ixhi = inxhi; + iylo = inylo; + iyhi = inyhi; + izlo = inzlo; + izhi = inzhi; + + oxlo = outxlo; + oxhi = outxhi; + oylo = outylo; + oyhi = outyhi; + ozlo = outzlo; + ozhi = outzhi; +} + /* ---------------------------------------------------------------------- partition a global regular grid into one brick-shaped sub-grid per proc if grid point is inside my sub-domain I own it, @@ -468,7 +543,7 @@ void Grid3d::partition_grid(int ngrid, double fraclo, double frachi, ghost cell indices for periodic systems can be < 0 or >= N ------------------------------------------------------------------------- */ -void Grid3d::ghost_grid(double maxdist, int extra) +void Grid3d::ghost_grid() { double *prd,*boxlo,*sublo,*subhi; int triclinic = domain->triclinic; @@ -491,10 +566,11 @@ void Grid3d::ghost_grid(double maxdist, int extra) if (triclinic == 0) dist[0] = dist[1] = dist[2] = maxdist; else MathExtra::tribbox(domain->h,maxdist,&dist[0]); - // nlo,nhi = min/max index of global grid cell my owned atoms can be mapped to - // including up to maxdist displacement outside my subdomain - // extra = additional ghost layers required by called (e.g. finite diff stencil) - // max of the two quantities = ghost cell layers needed in each dim/dir + // lo/hi = min/max index of global grid cells my owned atoms can be mapped to + // includes effects of maxdist and shift_atom settings + // lo/hi can be further extended by stencil_atom and stencil_grid settings + // all those settings are set by caller + // ghost cell layers needed in each dim/dir = max of two extension effects // OFFSET allows generation of negative indices with static_cast // out xyz lo/hi = index range of owned + ghost cells @@ -503,22 +579,22 @@ void Grid3d::ghost_grid(double maxdist, int extra) double dzinv = nz / prd[2]; int lo, hi; - lo = static_cast((sublo[0]-dist[0]-boxlo[0]) * dxinv + OFFSET) - OFFSET; - hi = static_cast((subhi[0]+dist[0]-boxlo[0]) * dxinv + OFFSET) - OFFSET; - outxlo = MIN(lo, inxlo - extra); - outxhi = MAX(hi, inxhi + extra); + lo = static_cast((sublo[0]-dist[0]-boxlo[0]) * dxinv + shift_atom + OFFSET) - OFFSET; + hi = static_cast((subhi[0]+dist[0]-boxlo[0]) * dxinv + shift_atom + OFFSET) - OFFSET; + outxlo = MIN(lo - stencil_atom_lo, inxlo - stencil_grid_lo); + outxhi = MAX(hi + stencil_atom_hi, inxhi + stencil_grid_hi); - lo = static_cast((sublo[1]-dist[1]-boxlo[1]) * dyinv + OFFSET) - OFFSET; - hi = static_cast((subhi[1]+dist[1]-boxlo[1]) * dyinv + OFFSET) - OFFSET; - outylo = MIN(lo, inylo - extra); - outyhi = MAX(hi, inyhi + extra); + lo = static_cast((sublo[1]-dist[1]-boxlo[1]) * dyinv + shift_atom + OFFSET) - OFFSET; + hi = static_cast((subhi[1]+dist[1]-boxlo[1]) * dyinv + shift_atom + OFFSET) - OFFSET; + outxlo = MIN(lo - stencil_atom_lo, inylo - stencil_grid_lo); + outxhi = MAX(hi + stencil_atom_hi, inyhi + stencil_grid_hi); // NOTE: need to account for zfactor here - lo = static_cast((sublo[2]-dist[2]-boxlo[2]) * dzinv + OFFSET) - OFFSET; - hi = static_cast((subhi[2]+dist[2]-boxlo[2]) * dzinv + OFFSET) - OFFSET; - outzlo = MIN(lo, inzlo - extra); - outzhi = MAX(hi, inzhi + extra); + lo = static_cast((sublo[2]-dist[2]-boxlo[2]) * dzinv + shift_atom + OFFSET) - OFFSET; + hi = static_cast((subhi[2]+dist[2]-boxlo[2]) * dzinv + shift_atom + OFFSET) - OFFSET; + outxlo = MIN(lo - stencil_atom_lo, inzlo - stencil_grid_lo); + outxhi = MAX(hi + stencil_atom_hi, inzhi + stencil_grid_hi); // limit out xyz lo/hi indices to global grid for non-periodic dims @@ -1427,7 +1503,8 @@ void Grid3d::setup_remap(Grid3d *old, int &nremap_buf1, int &nremap_buf2) // overlap_old = vector of overlap info in Overlap data struct int oldbox[6]; - old->get_bounds(oldbox[0],oldbox[1],oldbox[2],oldbox[3],oldbox[4],oldbox[5]); + old->get_bounds_owned(oldbox[0],oldbox[1],oldbox[2],oldbox[3], + oldbox[4],oldbox[5]); pbc[0] = pbc[1] = pbc[2] = 0; Overlap *overlap_old; @@ -1466,7 +1543,7 @@ void Grid3d::setup_remap(Grid3d *old, int &nremap_buf1, int &nremap_buf2) // overlap_new = vector of overlap info in Overlap data struct int newbox[6]; - get_bounds(newbox[0],newbox[1],newbox[2],newbox[3],newbox[4],newbox[5]); + get_bounds_owned(newbox[0],newbox[1],newbox[2],newbox[3],newbox[4],newbox[5]); pbc[0] = pbc[1] = pbc[2] = 0; Overlap *overlap_new; @@ -1762,9 +1839,9 @@ int Grid3d::compute_overlap(int ghostflag, int *box, int *pbc, Overlap *&overlap for (int k = kproclo; k <= kprochi; k++) for (int j = jproclo; j <= jprochi; j++) for (int i = iproclo; i <= iprochi; i++) { - partition_grid(nx,xsplit[i],xsplit[i+1],shift,obox[0],obox[1]); - partition_grid(ny,ysplit[j],ysplit[j+1],shift,obox[2],obox[3]); - partition_grid(nz,zsplit[k],zsplit[k+1],shift,obox[4],obox[5]); + partition_grid(nx,xsplit[i],xsplit[i+1],shift_grid,obox[0],obox[1]); + partition_grid(ny,ysplit[j],ysplit[j+1],shift_grid,obox[2],obox[3]); + partition_grid(nz,zsplit[k],zsplit[k+1],shift_grid,obox[4],obox[5]); if (noverlap_list == maxoverlap_list) grow_overlap(); overlap_list[noverlap_list].proc = grid2proc[i][j][k]; diff --git a/src/grid3d.h b/src/grid3d.h index c6047d2ddd..3eb3424a8b 100644 --- a/src/grid3d.h +++ b/src/grid3d.h @@ -22,21 +22,31 @@ class Grid3d : protected Pointers { public: enum { KSPACE = 0, PAIR = 1, FIX = 2 }; // calling classes - Grid3d(class LAMMPS *, MPI_Comm, int, int, int, double, int, double, - int &, int &, int &, int &, int &, int &, - int &, int &, int &, int &, int &, int &); + Grid3d(class LAMMPS *, MPI_Comm, int, int, int); + Grid3d(class LAMMPS *, MPI_Comm, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int); Grid3d(class LAMMPS *, MPI_Comm, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int); + ~Grid3d() override; + void set_distance(double); + void set_stencil_grid(int, int); + void set_stencil_atom(int, int); + void set_shift_grid(double); + void set_shift_atom(double); + void set_zfactor(double); + int identical(Grid3d *); void get_size(int &, int &, int &); - void get_bounds(int &, int &, int &, int &, int &, int &); + void get_bounds_owned(int &, int &, int &, int &, int &, int &); void get_bounds_ghost(int &, int &, int &, int &, int &, int &); + void setup_grid(int &, int &, int &, int &, int &, int &, + int &, int &, int &, int &, int &, int &); + void setup_comm(int &, int &); int ghost_adjacent(); void forward_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); @@ -54,9 +64,21 @@ class Grid3d : protected Pointers { MPI_Comm gridcomm; // communicator for this class // usually world, but MSM calls with subset - // inputs from caller via constructor + // inputs from caller int nx, ny, nz; // size of global grid in all 3 dims + double maxdist; // distance owned atoms can move outside subdomain + int stencil_atom_lo,stencil_atom_hi; // grid cells accessed beyond atom's cell + int stencil_grid_lo,stencil_grid_hi; // grid cells accessed beyond owned cell + double shift_grid; // location of grid point within grid cell + // only affects which proc owns grid cell + double shift_atom; // shift applied to atomd when mapped to grid cell by caller + // only affects extent of ghost cells + double zfactor; // multiplier on extend of grid in Z direction + // 1.0 = no extra grid cells in Z + + // extent of my owned and ghost cells + int inxlo, inxhi; // inclusive extent of my grid chunk, 0 <= in <= N-1 int inylo, inyhi; int inzlo, inzhi; @@ -67,9 +89,6 @@ class Grid3d : protected Pointers { int fullylo, fullyhi; // can be same as out indices or larger int fullzlo, fullzhi; - double shift; // location of grid point within grid cell - // only affects which proc owns grid cell - // ------------------------------------------- // internal variables for BRICK layout // ------------------------------------------- @@ -215,7 +234,7 @@ class Grid3d : protected Pointers { // ------------------------------------------- void partition_grid(int, double, double, double, int &, int &); - void ghost_grid(double, int); + void ghost_grid(); void extract_comm_info(); void store(int, int, int, int, int, int, int, int, int, int, int, int, From d75fd564a1df667e8921fde069ac00628adc8f16 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 1 Nov 2022 16:11:14 -0600 Subject: [PATCH 086/142] update grid2d to match grid3d --- src/KSPACE/msm.cpp | 12 +- src/compute_property_grid.cpp | 5 +- src/dump_grid.cpp | 2 +- src/fix_ave_grid.cpp | 7 +- src/grid2d.cpp | 327 ++++++++++++++++++++-------------- src/grid2d.h | 39 ++-- src/grid3d.cpp | 2 - src/grid3d.h | 2 +- 8 files changed, 234 insertions(+), 162 deletions(-) diff --git a/src/KSPACE/msm.cpp b/src/KSPACE/msm.cpp index ebc5858f10..00dfb2a583 100644 --- a/src/KSPACE/msm.cpp +++ b/src/KSPACE/msm.cpp @@ -597,12 +597,12 @@ void MSM::allocate() // commgrid using all processors for finest grid level gcall = new Grid3d(lmp,world,1,nx_msm[0],ny_msm[0],nz_msm[0], - nxlo_in[0],nxhi_in[0],nylo_in[0], - nyhi_in[0],nzlo_in[0],nzhi_in[0], - nxlo_out_all,nxhi_out_all,nylo_out_all, - nyhi_out_all,nzlo_out_all,nzhi_out_all, - nxlo_out[0],nxhi_out[0],nylo_out[0], - nyhi_out[0],nzlo_out[0],nzhi_out[0]); + nxlo_in[0],nxhi_in[0],nylo_in[0], + nyhi_in[0],nzlo_in[0],nzhi_in[0], + nxlo_out_all,nxhi_out_all,nylo_out_all, + nyhi_out_all,nzlo_out_all,nzhi_out_all, + nxlo_out[0],nxhi_out[0],nylo_out[0], + nyhi_out[0],nzlo_out[0],nzhi_out[0]); gcall->setup_comm(ngcall_buf1,ngcall_buf2); npergrid = 1; diff --git a/src/compute_property_grid.cpp b/src/compute_property_grid.cpp index fec3920357..c545a88168 100644 --- a/src/compute_property_grid.cpp +++ b/src/compute_property_grid.cpp @@ -242,8 +242,9 @@ void *ComputePropertyGrid::get_griddata_by_index(int index) void ComputePropertyGrid::allocate_grid() { if (dimension == 2) { - grid2d = new Grid2d(lmp, world, nxgrid, nygrid, 0.0, 0, 0.0, nxlo_in, nxhi_in, nylo_in, nyhi_in, - nxlo_out, nxhi_out, nylo_out, nyhi_out); + grid2d = new Grid2d(lmp, world, nxgrid, nygrid); + grid2d->setup_grid(nxlo_in, nxhi_in, nylo_in, nyhi_in, nxlo_out, nxhi_out, nylo_out, nyhi_out); + if (nvalues == 1) memory->create2d_offset(vec2d, nylo_out, nyhi_out, nxlo_out, nxhi_out, "property/grid:vec2d"); else diff --git a/src/dump_grid.cpp b/src/dump_grid.cpp index 72054145c1..3a32b95bd4 100644 --- a/src/dump_grid.cpp +++ b/src/dump_grid.cpp @@ -503,7 +503,7 @@ int DumpGrid::count() grid2d = (Grid2d *) compute[field2index[0]]->get_grid_by_index(field2grid[0]); else if (field2source[0] == FIX) grid2d = (Grid2d *) fix[field2index[0]]->get_grid_by_index(field2grid[0]); - grid2d->get_bounds(nxlo_in,nxhi_in,nylo_in,nyhi_in); + grid2d->get_bounds_owned(nxlo_in,nxhi_in,nylo_in,nyhi_in); } else { if (field2source[0] == COMPUTE) grid3d = (Grid3d *) compute[field2index[0]]->get_grid_by_index(field2grid[0]); diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index 508b0ddf51..e68591c7e3 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -395,9 +395,10 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : else if (modegrid) maxdist = 0.0; if (dimension == 2) { - grid2d = new Grid2d(lmp, world, nxgrid, nygrid, maxdist, 0, 0.5, - nxlo_in, nxhi_in, nylo_in, nyhi_in, - nxlo_out, nxhi_out, nylo_out, nyhi_out); + grid2d = new Grid2d(lmp, world, nxgrid, nygrid); + grid2d->set_distance(maxdist); + grid2d->setup_grid(nxlo_in, nxhi_in, nylo_in, nyhi_in, + nxlo_out, nxhi_out, nylo_out, nyhi_out); // ngrid_buf12 converted to nvalues + count diff --git a/src/grid2d.cpp b/src/grid2d.cpp index 37da0abf01..c2a4d3c75a 100644 --- a/src/grid2d.cpp +++ b/src/grid2d.cpp @@ -40,118 +40,26 @@ static constexpr int OFFSET = 16384; ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- - constructor called by all classes except PPPM and MSM - comm_caller = caller's communicator - nx,ny caller = size of global grid - maxdist = max distance outside of proc domain a particle will be - extra = additional ghost grid pts needed in each dim, e.g. for stencil - shift_caller = 0.0 for grid pt in lower-left corner of grid cell, - 0.5 for center - return: - i xy lohi = portion of global grid this proc owns, 0 <= index < N - o xy lohi = owned + ghost grid cells needed in all directions - for periodic dims, o indices can be < 0 or >= N - for non-periodic dims, o indices will be >= 0 and < N - since no grid comm is done across non-periodic boundaries - NOTE: allow zfactor to be a calling arg for PPPM ? + constructor to create a 3d distributed grid + gcomm = caller's communicator + gnx,gny = global grid size ------------------------------------------------------------------------- */ -Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm comm_caller, - int nx_caller, int ny_caller, - double maxdist, int extra, double shift_caller, - int &ixlo, int &ixhi, int &iylo, int &iyhi, - int &oxlo, int &oxhi, int &oylo, int &oyhi) - : Pointers(lmp) +Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, int gnx, int gny) : Pointers(lmp) { - // store commnicator and global grid size - // set layout mode - - gridcomm = comm_caller; + gridcomm = gcomm; MPI_Comm_rank(gridcomm,&me); MPI_Comm_size(gridcomm,&nprocs); - nx = nx_caller; - ny = ny_caller; + nx = gnx; + ny = gny; - // NOTE: hardwire shift = 0.5 ? - - shift = shift_caller; + // default settings, can be overridden by set() methods - // define owned grid cells for each proc - // extend bounds with ghost grid cells in each direction - - double fraclo,frachi; - - if (comm->layout != Comm::LAYOUT_TILED) { - fraclo = comm->xsplit[comm->myloc[0]]; - frachi = comm->xsplit[comm->myloc[0]+1]; - partition_grid(nx,fraclo,frachi,shift,inxlo,inxhi); - fraclo = comm->ysplit[comm->myloc[1]]; - frachi = comm->ysplit[comm->myloc[1]+1]; - partition_grid(ny,fraclo,frachi,shift,inylo,inyhi); - } else { - fraclo = comm->mysplit[0][0]; - frachi = comm->mysplit[0][1]; - partition_grid(nx,fraclo,frachi,shift,inxlo,inxhi); - fraclo = comm->mysplit[1][0]; - frachi = comm->mysplit[1][1]; - partition_grid(ny,fraclo,frachi,shift,inylo,inyhi); - } - - ghost_grid(maxdist,extra); - - // error check on size of grid stored by this proc - - bigint total = (bigint) (outxhi - outxlo + 1) * (outyhi - outylo + 1); - if (total > MAXSMALLINT) - error->one(FLERR, "Too many owned+ghost grid3d points"); - - // default = caller grid is allocated to ghost grid - // used when computing pack/unpack lists in indices() - // NOTE: allow caller to override this - - fullxlo = outxlo; - fullxhi = outxhi; - fullylo = outylo; - fullyhi = outyhi; - - // initialize data structs - - nswap = maxswap = 0; - swap = nullptr; - - nsend = nrecv = ncopy = 0; - send = nullptr; - recv = nullptr; - copy = nullptr; - requests = nullptr; - requests_remap = nullptr; - - xsplit = ysplit = zsplit = nullptr; - grid2proc = nullptr; - rcbinfo = nullptr; - - nsend_remap = nrecv_remap = self_remap = 0; - send_remap = nullptr; - recv_remap = nullptr; - - // store info about Comm decomposition needed for remap operation - // two Grid instances will exist for duration of remap - // each must know Comm decomp at time Grid instance was created - - extract_comm_info(); - - // return values - - ixlo = inxlo; - ixhi = inxhi; - iylo = inylo; - iyhi = inyhi; - - oxlo = outxlo; - oxhi = outxhi; - oylo = outylo; - oyhi = outyhi; + maxdist = 0.0; + stencil_grid_lo = stencil_grid_hi = 0; + stencil_atom_lo = stencil_atom_hi = 0; + shift_grid = shift_atom = 0.0; } /* ---------------------------------------------------------------------- @@ -172,7 +80,6 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, : Pointers(lmp) { // store commnicator and global grid size - // set layout mode gridcomm = gcomm; MPI_Comm_rank(gridcomm,&me); @@ -222,7 +129,6 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, int flag, : Pointers(lmp) { // store commnicator and global grid size - // set layout mode gridcomm = gcomm; MPI_Comm_rank(gridcomm,&me); @@ -239,8 +145,6 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, int flag, // store grid bounds and proc neighs - // store grid bounds and proc neighs - if (flag == 1) { if (layout != Comm::LAYOUT_TILED) { // this assumes gcomm = world @@ -340,7 +244,67 @@ void Grid2d::store(int ixlo, int ixhi, int iylo, int iyhi, } // ---------------------------------------------------------------------- -// access Grid parameters +// set Grid parameters +// ---------------------------------------------------------------------- + +/* ---------------------------------------------------------------------- + maxdist = max distance outside proc subdomain a particle can be +------------------------------------------------------------------------- */ + +void Grid2d::set_distance(double distance) +{ + maxdist = distance; +} + +/* ---------------------------------------------------------------------- + # of grid cells beyond an owned grid cell that caller accesses + e.g. for a finite different stencial + can be different in lo vs hi direction +------------------------------------------------------------------------- */ + +void Grid2d::set_stencil_grid(int lo, int hi) +{ + stencil_grid_lo = lo; + stencil_grid_hi = hi; +} + +/* ---------------------------------------------------------------------- + # of grid cells beyond a particle's grid cell that caller updates + e.g. for smearing a point charge to the grid + can be different in lo vs hi direction +------------------------------------------------------------------------- */ + +void Grid2d::set_stencil_atom(int lo, int hi) +{ + stencil_atom_lo = lo; + stencil_atom_hi = hi; +} + +/* ---------------------------------------------------------------------- + shift_grid = offset of position of grid point within grid cell + 0.5 = cell center, 0.0 = lower-left corner of cell + used to determine which proc owns the grid cell within its subdomain +------------------------------------------------------------------------- */ + +void Grid2d::set_shift_grid(double shift) +{ + shift_grid = shift; +} + +/* ---------------------------------------------------------------------- + shift_atom = offset of atoms when caller maps them to grid cells + 0.5 = half a grid cell, 0.0 = no offset + used when computing possible ghost extent + PPPM uses 0.5 when order is odd, 0.0 when order is even +------------------------------------------------------------------------- */ + +void Grid2d::set_shift_atom(double shift) +{ + shift_atom = shift; +} + +// ---------------------------------------------------------------------- +// retrieve Grid parameters // ---------------------------------------------------------------------- int Grid2d::identical(Grid2d *grid2) @@ -348,7 +312,7 @@ int Grid2d::identical(Grid2d *grid2) int inxlo2,inxhi2,inylo2,inyhi2; int outxlo2,outxhi2,outylo2,outyhi2; - grid2->get_bounds(inxlo2,inxhi2,inylo2,inyhi2); + grid2->get_bounds_owned(inxlo2,inxhi2,inylo2,inyhi2); grid2->get_bounds_ghost(outxlo2,outxhi2,outylo2,outyhi2); int flag = 0; @@ -374,7 +338,7 @@ void Grid2d::get_size(int &nxgrid, int &nygrid) /* ---------------------------------------------------------------------- */ -void Grid2d::get_bounds(int &xlo, int &xhi, int &ylo, int &yhi) +void Grid2d::get_bounds_owned(int &xlo, int &xhi, int &ylo, int &yhi) { xlo = inxlo; xhi = inxhi; @@ -396,7 +360,99 @@ void Grid2d::get_bounds_ghost(int &xlo, int &xhi, int &ylo, int &yhi) // define owned and ghost grid cells // also store comm and grid partitioning info // ---------------------------------------------------------------------- - + +/* ---------------------------------------------------------------------- + setup grid partition for each proc = owned + ghost cells + return: + i xy lohi = portion of global grid this proc owns, 0 <= index < N + o xy lohi = owned + ghost grid cells in all directions + for periodic dims, o indices can be < 0 or >= N + for non-periodic dims, o indices will be >= 0 and < N + since no grid comm is done across non-periodic boundaries +------------------------------------------------------------------------- */ + +void Grid2d::setup_grid(int &ixlo, int &ixhi, int &iylo, int &iyhi, + int &oxlo, int &oxhi, int &oylo, int &oyhi) +{ + // owned grid cells = those whose grid point is within proc subdomain + // shift_grid = 0.5 for grid point at cell center, 0.0 for lower-left corner + + double fraclo,frachi; + + if (comm->layout != Comm::LAYOUT_TILED) { + fraclo = comm->xsplit[comm->myloc[0]]; + frachi = comm->xsplit[comm->myloc[0]+1]; + partition_grid(nx,fraclo,frachi,shift_grid,inxlo,inxhi); + fraclo = comm->ysplit[comm->myloc[1]]; + frachi = comm->ysplit[comm->myloc[1]+1]; + partition_grid(ny,fraclo,frachi,shift_grid,inylo,inyhi); + } else { + fraclo = comm->mysplit[0][0]; + frachi = comm->mysplit[0][1]; + partition_grid(nx,fraclo,frachi,shift_grid,inxlo,inxhi); + fraclo = comm->mysplit[1][0]; + frachi = comm->mysplit[1][1]; + partition_grid(ny,fraclo,frachi,shift_grid,inylo,inyhi); + } + + // extend owned grid bounds with ghost grid cells in each direction + + ghost_grid(); + + // error check on size of grid stored by this proc + + bigint total = (bigint) (outxhi - outxlo + 1) * (outyhi - outylo + 1); + if (total > MAXSMALLINT) + error->one(FLERR, "Too many owned+ghost grid3d points"); + + // default = caller grid is allocated to ghost grid + // used when computing pack/unpack lists in indices() + // NOTE: allow caller to override this + + fullxlo = outxlo; + fullxhi = outxhi; + fullylo = outylo; + fullyhi = outyhi; + + // initialize data structs + + nswap = maxswap = 0; + swap = nullptr; + + nsend = nrecv = ncopy = 0; + send = nullptr; + recv = nullptr; + copy = nullptr; + requests = nullptr; + requests_remap = nullptr; + + xsplit = ysplit = zsplit = nullptr; + grid2proc = nullptr; + rcbinfo = nullptr; + + nsend_remap = nrecv_remap = self_remap = 0; + send_remap = nullptr; + recv_remap = nullptr; + + // store info about Comm decomposition needed for remap operation + // two Grid instances will exist for duration of remap + // each must know Comm decomp at time Grid instance was created + + extract_comm_info(); + + // return values + + ixlo = inxlo; + ixhi = inxhi; + iylo = inylo; + iyhi = inyhi; + + oxlo = outxlo; + oxhi = outxhi; + oylo = outylo; + oyhi = outyhi; +} + /* ---------------------------------------------------------------------- partition a global regular grid into one brick-shaped sub-grid per proc if grid point is inside my sub-domain I own it, @@ -432,7 +488,7 @@ void Grid2d::partition_grid(int ngrid, double fraclo, double frachi, ghost cell indices for periodic systems can be < 0 or >= N ------------------------------------------------------------------------- */ -void Grid2d::ghost_grid(double maxdist, int extra) +void Grid2d::ghost_grid() { double *prd,*boxlo,*sublo,*subhi; int triclinic = domain->triclinic; @@ -455,10 +511,11 @@ void Grid2d::ghost_grid(double maxdist, int extra) if (triclinic == 0) dist[0] = dist[1] = dist[2] = maxdist; else MathExtra::tribbox(domain->h,maxdist,&dist[0]); - // nlo,nhi = min/max index of global grid cell my owned atoms can be mapped to - // including up to maxdist displacement outside my subdomain - // extra = additional ghost layers required by called (e.g. finite diff stencil) - // max of the two quantities = ghost cell layers needed in each dim/dir + // lo/hi = min/max index of global grid cells my owned atoms can be mapped to + // includes effects of maxdist and shift_atom settings + // lo/hi can be further extended by stencil_atom and stencil_grid settings + // all those settings are set by caller + // ghost cell layers needed in each dim/dir = max of two extension effects // OFFSET allows generation of negative indices with static_cast // out xyz lo/hi = index range of owned + ghost cells @@ -466,15 +523,15 @@ void Grid2d::ghost_grid(double maxdist, int extra) double dyinv = ny / prd[1]; int lo, hi; - lo = static_cast((sublo[0]-dist[0]-boxlo[0]) * dxinv + OFFSET) - OFFSET; - hi = static_cast((subhi[0]+dist[0]-boxlo[0]) * dxinv + OFFSET) - OFFSET; - outxlo = MIN(lo, inxlo - extra); - outxhi = MAX(hi, inxhi + extra); + lo = static_cast((sublo[0]-dist[0]-boxlo[0]) * dxinv + shift_atom + OFFSET) - OFFSET; + hi = static_cast((subhi[0]+dist[0]-boxlo[0]) * dxinv + shift_atom + OFFSET) - OFFSET; + outxlo = MIN(lo - stencil_atom_lo, inxlo - stencil_grid_lo); + outxhi = MAX(hi + stencil_atom_hi, inxhi + stencil_grid_hi); - lo = static_cast((sublo[1]-dist[1]-boxlo[1]) * dyinv + OFFSET) - OFFSET; - hi = static_cast((subhi[1]+dist[1]-boxlo[1]) * dyinv + OFFSET) - OFFSET; - outylo = MIN(lo, inylo - extra); - outyhi = MAX(hi, inyhi + extra); + lo = static_cast((sublo[1]-dist[1]-boxlo[1]) * dyinv + shift_atom + OFFSET) - OFFSET; + hi = static_cast((subhi[1]+dist[1]-boxlo[1]) * dyinv + shift_atom + OFFSET) - OFFSET; + outxlo = MIN(lo - stencil_atom_lo, inylo - stencil_grid_lo); + outxhi = MAX(hi + stencil_atom_hi, inyhi + stencil_grid_hi); // limit out xyz lo/hi indices to global grid for non-periodic dims @@ -547,7 +604,7 @@ void Grid2d::extract_comm_info() // ---------------------------------------------------------------------- /* ---------------------------------------------------------------------- - setup owned/ghost commmunication + setup communication of owned/ghost grid cells either for brick decomp or tiled decomp return sizes of two buffers needed for communication nbuf1 = largest pack or unpack in any Send or Recv or Copy @@ -1268,7 +1325,7 @@ void Grid2d::setup_remap(Grid2d *old, int &nremap_buf1, int &nremap_buf2) // overlap_old = vector of overlap info in Overlap data struct int oldbox[4]; - old->get_bounds(oldbox[0],oldbox[1],oldbox[2],oldbox[3]); + old->get_bounds_owned(oldbox[0],oldbox[1],oldbox[2],oldbox[3]); pbc[0] = pbc[1] = 0; Overlap *overlap_old; @@ -1306,7 +1363,7 @@ void Grid2d::setup_remap(Grid2d *old, int &nremap_buf1, int &nremap_buf2) // overlap_new = vector of overlap info in Overlap data struct int newbox[4]; - get_bounds(newbox[0],newbox[1],newbox[2],newbox[3]); + get_bounds_owned(newbox[0],newbox[1],newbox[2],newbox[3]); pbc[0] = pbc[1] = 0; Overlap *overlap_new; @@ -1585,17 +1642,17 @@ int Grid2d::compute_overlap(int ghostflag, int *box, int *pbc, Overlap *&overlap // find comm->procgrid indices in each dim for box bounds - int iproclo = proc_index_uniform(box[0],nx,0,comm->xsplit); - int iprochi = proc_index_uniform(box[1],nx,0,comm->xsplit); - int jproclo = proc_index_uniform(box[2],ny,1,comm->ysplit); - int jprochi = proc_index_uniform(box[3],ny,1,comm->ysplit); + int iproclo = proc_index_uniform(box[0],nx,0,xsplit); + int iprochi = proc_index_uniform(box[1],nx,0,xsplit); + int jproclo = proc_index_uniform(box[2],ny,1,ysplit); + int jprochi = proc_index_uniform(box[3],ny,1,ysplit); // compute extent of overlap of box with with each proc's obox for (int j = jproclo; j <= jprochi; j++) for (int i = iproclo; i <= iprochi; i++) { - partition_grid(nx,xsplit[i],xsplit[i+1],shift,obox[0],obox[1]); - partition_grid(ny,ysplit[j],ysplit[j+1],shift,obox[2],obox[3]); + partition_grid(nx,xsplit[i],xsplit[i+1],shift_grid,obox[0],obox[1]); + partition_grid(ny,ysplit[j],ysplit[j+1],shift_grid,obox[2],obox[3]); if (noverlap_list == maxoverlap_list) grow_overlap(); overlap_list[noverlap_list].proc = grid2proc[i][j][0]; @@ -1851,7 +1908,7 @@ int Grid2d::proc_index_uniform(int igrid, int n, int dim, double *split) } /* ---------------------------------------------------------------------- - compute the grid box for proc within tiled decomposition + compute the grid box owned by proc within tiled decomposition performed recursively until proclower = procupper = proc return box = lo/hi bounds of proc's box in 2 dims ------------------------------------------------------------------------- */ diff --git a/src/grid2d.h b/src/grid2d.h index b0b6f6e9c5..d8e804c945 100644 --- a/src/grid2d.h +++ b/src/grid2d.h @@ -22,19 +22,27 @@ class Grid2d : protected Pointers { public: enum { KSPACE = 0, PAIR = 1, FIX = 2 }; // calling classes - Grid2d(class LAMMPS *, MPI_Comm, int, int, double, int, double, - int &, int &, int &, int &, - int &, int &, int &, int &); + Grid2d(class LAMMPS *, MPI_Comm, int, int); + Grid2d(class LAMMPS *, MPI_Comm, int, int, int, int, int, int, int, int, int, int); Grid2d(class LAMMPS *, MPI_Comm, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int); + ~Grid2d() override; + void set_distance(double); + void set_stencil_grid(int, int); + void set_stencil_atom(int, int); + void set_shift_grid(double); + void set_shift_atom(double); + int identical(Grid2d *); void get_size(int &, int &); - void get_bounds(int &, int &, int &, int &); + void get_bounds_owned(int &, int &, int &, int &); void get_bounds_ghost(int &, int &, int &, int &); - + + void setup_grid(int &, int &, int &, int &, int &, int &, int &, int &); + void setup_comm(int &, int &); int ghost_adjacent(); void forward_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); @@ -55,6 +63,16 @@ protected: // inputs from caller via constructor int nx, ny; // size of global grid in both dims + double maxdist; // distance owned atoms can move outside subdomain + int stencil_atom_lo,stencil_atom_hi; // grid cells accessed beyond atom's cell + int stencil_grid_lo,stencil_grid_hi; // grid cells accessed beyond owned cell + double shift_grid; // location of grid point within grid cell + // only affects which proc owns grid cell + double shift_atom; // shift applied to atomd when mapped to grid cell by caller + // only affects extent of ghost cells + + // extent of my owned and ghost cells + int inxlo, inxhi; // inclusive extent of my grid chunk, 0 <= in <= N-1 int inylo, inyhi; int outxlo, outxhi; // inclusive extent of my grid chunk plus @@ -63,9 +81,6 @@ protected: int fullxlo, fullxhi; // extent of grid chunk that caller stores int fullylo, fullyhi; // can be same as out indices or larger - double shift; // location of grid point within grid cell - // only affects which proc owns grid cell - // ------------------------------------------- // internal variables for BRICK layout // ------------------------------------------- @@ -210,14 +225,14 @@ protected: // ------------------------------------------- void partition_grid(int, double, double, double, int &, int &); - void ghost_grid(double, int); + void ghost_grid(); void extract_comm_info(); void store(int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int); - virtual void setup_comm_brick(int &, int &); - virtual void setup_comm_tiled(int &, int &); + void setup_comm_brick(int &, int &); + void setup_comm_tiled(int &, int &); int ghost_adjacent_brick(); int ghost_adjacent_tiled(); @@ -236,7 +251,7 @@ protected: void box_drop(int *, int *); void box_drop_grid(int *, int, int, int &, int *); - virtual void grow_swap(); + void grow_swap(); void grow_overlap(); void deallocate_remap(); diff --git a/src/grid3d.cpp b/src/grid3d.cpp index ac4cc6f91f..19dc544b3b 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -83,7 +83,6 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, : Pointers(lmp) { // store commnicator and global grid size - // set layout mode gridcomm = gcomm; MPI_Comm_rank(gridcomm,&me); @@ -134,7 +133,6 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, int flag, : Pointers(lmp) { // store commnicator and global grid size - // set layout mode gridcomm = gcomm; MPI_Comm_rank(gridcomm,&me); diff --git a/src/grid3d.h b/src/grid3d.h index 3eb3424a8b..8874102590 100644 --- a/src/grid3d.h +++ b/src/grid3d.h @@ -260,7 +260,7 @@ class Grid3d : protected Pointers { void box_drop(int *, int *); void box_drop_grid(int *, int, int, int &, int *); - virtual void grow_swap(); + void grow_swap(); void grow_overlap(); void deallocate_remap(); From 7346aee4ade5268cabf456838033c9ed44e53c82 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 2 Nov 2022 11:46:26 -0600 Subject: [PATCH 087/142] logic for all callers to use new Grid3d/Grid2d --- src/KSPACE/msm.cpp | 64 +++- src/KSPACE/pppm.cpp | 143 +++----- src/KSPACE/pppm.h | 4 +- src/KSPACE/pppm_dipole.cpp | 4 +- src/KSPACE/pppm_dipole_spin.cpp | 2 +- src/KSPACE/pppm_disp.cpp | 573 ++++++++++++++------------------ src/KSPACE/pppm_disp.h | 26 +- src/KSPACE/pppm_stagger.cpp | 4 +- src/comm.cpp | 62 ---- src/comm.h | 4 - src/grid2d.cpp | 6 +- src/grid3d.cpp | 301 +++++++---------- src/grid3d.h | 21 +- 13 files changed, 509 insertions(+), 705 deletions(-) diff --git a/src/KSPACE/msm.cpp b/src/KSPACE/msm.cpp index 00dfb2a583..0705a91e64 100644 --- a/src/KSPACE/msm.cpp +++ b/src/KSPACE/msm.cpp @@ -594,8 +594,24 @@ void MSM::allocate() memory->create2d_offset(phi1d,3,-order,order,"msm:phi1d"); memory->create2d_offset(dphi1d,3,-order,order,"msm:dphi1d"); - // commgrid using all processors for finest grid level + // one Grid3d using all processors for finest grid level + gcall = new Grid3d(lmp,world,nx_msm[0],ny_msm[0],nz_msm[0]); + gcall->set_distance(0.5*neighbor->skin); + gcall->set_stencil_atom(-nlower,nupper); + + gcall->setup_grid(nxlo_in[0],nxhi_in[0],nylo_in[0], + nyhi_in[0],nzlo_in[0],nzhi_in[0], + nxlo_out_all,nxhi_out_all,nylo_out_all, + nyhi_out_all,nzlo_out_all,nzhi_out_all); + + gcall->set_larger_grid(nxlo_out[0],nxhi_out[0],nylo_out[0], + nyhi_out[0],nzlo_out[0],nzhi_out[0]); + + // NOTE: or is it out[0] ?? + // NOTE: worry about flag = 1 here, 2 later + + /* gcall = new Grid3d(lmp,world,1,nx_msm[0],ny_msm[0],nz_msm[0], nxlo_in[0],nxhi_in[0],nylo_in[0], nyhi_in[0],nzlo_in[0],nzhi_in[0], @@ -603,7 +619,8 @@ void MSM::allocate() nyhi_out_all,nzlo_out_all,nzhi_out_all, nxlo_out[0],nxhi_out[0],nylo_out[0], nyhi_out[0],nzlo_out[0],nzhi_out[0]); - + */ + gcall->setup_comm(ngcall_buf1,ngcall_buf2); npergrid = 1; memory->destroy(gcall_buf1); @@ -613,7 +630,7 @@ void MSM::allocate() // allocate memory for each grid level - for (int n=0; ndestroy3d_offset(qgrid[n],nzlo_out[n],nylo_out[n],nxlo_out[n]); memory->create3d_offset(qgrid[n],nzlo_out[n],nzhi_out[n], nylo_out[n],nyhi_out[n],nxlo_out[n],nxhi_out[n],"msm:qgrid"); @@ -626,15 +643,29 @@ void MSM::allocate() if (active_flag[n]) { delete gc[n]; - int **procneigh = procneigh_levels[n]; + // NOTE: why is n = 0 same as all for grid size ? + + gc[n] = new Grid3d(lmp,world_levels[n],nx_msm[n],ny_msm[n],nz_msm[n]); + gc[n]->set_stencil_atom(-nlower,nupper); + + gc[n]->setup_grid(nxlo_in[n],nxhi_in[n],nylo_in[n], + nyhi_in[n],nzlo_in[n],nzhi_in[n], + nxlo_out[n],nxhi_out[n],nylo_out[n], + nyhi_out[n],nzlo_out[n],nzhi_out[n]); + + int **procneigh = procneigh_levels[n]; + gc[n]->set_proc_neighs(procneigh[0][0],procneigh[0][1],procneigh[1][0], + procneigh[1][1],procneigh[2][0],procneigh[2][1]); + + /* gc[n] = new Grid3d(lmp,world_levels[n],2,nx_msm[n],ny_msm[n],nz_msm[n], nxlo_in[n],nxhi_in[n],nylo_in[n],nyhi_in[n], nzlo_in[n],nzhi_in[n], nxlo_out[n],nxhi_out[n],nylo_out[n],nyhi_out[n], - nzlo_out[n],nzhi_out[n], procneigh[0][0],procneigh[0][1],procneigh[1][0], procneigh[1][1],procneigh[2][0],procneigh[2][1]); + */ gc[n]->setup_comm(ngc_buf1[n],ngc_buf2[n]); npergrid = 1; @@ -642,6 +673,7 @@ void MSM::allocate() memory->destroy(gc_buf2[n]); memory->create(gc_buf1[n],npergrid*ngc_buf1[n],"msm:gc_buf1"); memory->create(gc_buf2[n],npergrid*ngc_buf2[n],"msm:gc_buf2"); + } else { delete gc[n]; memory->destroy(gc_buf1[n]); @@ -1160,9 +1192,10 @@ void MSM::set_grid_local() { // loop over grid levels - for (int n=0; ndestroy3d_offset(qgrid[n],nzlo_out[n],nylo_out[n],nxlo_out[n]); memory->destroy3d_offset(egrid[n],nzlo_out[n],nylo_out[n],nxlo_out[n]); @@ -1170,9 +1203,9 @@ void MSM::set_grid_local() // n xyz lo/hi in[] = lower/upper bounds of global grid this proc owns // indices range from 0 to N-1 inclusive in each dim - comm->partition_grid(nx_msm[n],ny_msm[n],nz_msm[n],0.0, - nxlo_in[n],nxhi_in[n],nylo_in[n],nyhi_in[n], - nzlo_in[n],nzhi_in[n]); + //comm->partition_grid(nx_msm[n],ny_msm[n],nz_msm[n],0.0, + // nxlo_in[n],nxhi_in[n],nylo_in[n],nyhi_in[n], + // nzlo_in[n],nzhi_in[n]); nlower = -(order-1)/2; nupper = order/2; @@ -1195,11 +1228,9 @@ void MSM::set_grid_local() double yprd = prd[1]; double zprd = prd[2]; - // shift values for particle <-> grid mapping - // add/subtract OFFSET to avoid int(-0.75) = 0 when want it to be -1 - // nlo_out,nhi_out = lower/upper limits of the 3d sub-brick of // global MSM grid that my particles can contribute charge to + // add/subtract OFFSET to avoid int(-0.75) = 0 when want it to be -1 // effectively nlo_in,nhi_in + ghost cells // nlo,nhi = global coords of grid pt to "lower left" of smallest/largest // position a particle in my box can be at @@ -1223,7 +1254,9 @@ void MSM::set_grid_local() nxlo_out_all = nlo + nlower; nxhi_out_all = nhi + nupper; } + // a larger ghost region is needed for the direct sum and for restriction/prolongation + nxlo_out[n] = nlo + MIN(-order,nxlo_direct); nxhi_out[n] = nhi + MAX(order,nxhi_direct); @@ -1246,8 +1279,10 @@ void MSM::set_grid_local() nzlo_out_all = nlo + nlower; nzhi_out_all = nhi + nupper; } - // a hemisphere is used for direct sum interactions, - // so no ghosting is needed for direct sum in the -z direction + + // hemisphere is used for direct sum interactions + // so no ghosting is needed for direct sum in the -z direction + nzlo_out[n] = nlo - order; nzhi_out[n] = nhi + MAX(order,nzhi_direct); @@ -1255,7 +1290,6 @@ void MSM::set_grid_local() // skip reset of lo/hi for procs who do not own any grid cells if (domain->nonperiodic) { - if (!domain->xperiodic && nxlo_in[n] <= nxhi_in[n]) { if (nxlo_in[n] == 0) nxlo_in[n] = alpha[n]; nxlo_out[n] = MAX(nxlo_out[n],alpha[n]); diff --git a/src/KSPACE/pppm.cpp b/src/KSPACE/pppm.cpp index 2ad3b15c72..6c29a817e0 100644 --- a/src/KSPACE/pppm.cpp +++ b/src/KSPACE/pppm.cpp @@ -308,7 +308,7 @@ void PPPM::init() gc = new Grid3d(lmp,world,nx_pppm,ny_pppm,nz_pppm); gc->set_distance(0.5*neighbor->skin + qdist); gc->set_stencil_atom(-nlower,nupper); - gc->set_shift_atom(shiftatom); + gc->set_shift_atom(shiftatom_lo,shiftatom_hi); gc->set_zfactor(slab_volfactor); gc->setup_grid(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in, @@ -336,6 +336,18 @@ void PPPM::init() double estimated_accuracy = final_accuracy(); + // allocate K-space dependent memory + // don't invoke allocate peratom() or group(), will be allocated when needed + + allocate(); + + // pre-compute Green's function denomiator expansion + // pre-compute 1d charge distribution coefficients + + compute_gf_denom(); + if (differentiation_flag == 1) compute_sf_precoeff(); + compute_rho_coeff(); + // print stats int ngrid_max,nfft_both_max; @@ -355,18 +367,6 @@ void PPPM::init() ngrid_max,nfft_both_max); utils::logmesg(lmp,mesg); } - - // allocate K-space dependent memory - // don't invoke allocate peratom() or group(), will be allocated when needed - - allocate(); - - // pre-compute Green's function denomiator expansion - // pre-compute 1d charge distribution coefficients - - compute_gf_denom(); - if (differentiation_flag == 1) compute_sf_precoeff(); - compute_rho_coeff(); } /* ---------------------------------------------------------------------- @@ -751,7 +751,7 @@ void PPPM::allocate() gc = new Grid3d(lmp,world,nx_pppm,ny_pppm,nz_pppm); gc->set_distance(0.5*neighbor->skin + qdist); gc->set_stencil_atom(-nlower,nupper); - gc->set_shift_atom(shiftatom); + gc->set_shift_atom(shiftatom_lo,shiftatom_hi); gc->set_zfactor(slab_volfactor); gc->setup_grid(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in, @@ -765,6 +765,24 @@ void PPPM::allocate() 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 + // nfft_brick = FFT points in 3d brick-decomposition on this proc + // same as count of owned grid cells + // 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); + + 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_both = MAX(nfft,nfft_brick); + // allocate distributed grid data memory->create3d_offset(density_brick,nzlo_out,nzhi_out,nylo_out,nyhi_out, @@ -1324,77 +1342,46 @@ double PPPM::final_accuracy() /* ---------------------------------------------------------------------- set params which determine which owned and ghost cells this proc owns - Grid3d will use these params to partition grid + Grid3d uses these params to partition grid also partition FFT grid n xyz lo/hi fft = FFT columns that I own (all of x dim, 2d decomp in yz) ------------------------------------------------------------------------- */ void PPPM::set_grid_local() { - // shift values for particle <-> grid mapping + // shift values for particle <-> grid mapping depend on stencil order // add/subtract OFFSET to avoid int(-0.75) = 0 when want it to be -1 - - if (order % 2) shiftatom = 0.5; - else shiftatom = 0.0; - shift = OFFSET + shiftatom; + // used in particle_map() and make_rho() and fieldforce() + + if (order % 2) shift = OFFSET + 0.5; + else shift = OFFSET; if (order % 2) shiftone = 0.0; else shiftone = 0.5; - // nlower,nupper = stencil size for mapping particles to PPPM grid + // nlower/nupper = stencil size for mapping particles to grid nlower = -(order-1)/2; nupper = order/2; + // shiftatom lo/hi are passed to Grid3d to determine ghost cell extents + // shiftatom_lo = min shift on lo side + // shiftatom_hi = max shift on hi side + // for PPPMStagger, stagger value (0.0 or 0.5) also affects this - - - // NOTE: still to do: stagger and zperiod effects - - /* - - // extent of zprd when 2d slab mode is selected - - double zprd_slab = zprd*slab_volfactor; - - // for slab PPPM, assign z grid as if it were not extended - - nlo = static_cast ((sublo[2]-dist[2]-boxlo[2]) * - nz_pppm/zprd_slab + shift) - OFFSET; - nhi = static_cast ((subhi[2]+dist[2]-boxlo[2]) * - nz_pppm/zprd_slab + shift) - OFFSET; - nzlo_out = nlo + nlower; - nzhi_out = nhi + nupper; - - - if (stagger_flag) { - nxhi_out++; - nyhi_out++; - nzhi_out++; + if ((order % 2) && !stagger_flag) { + shiftatom_lo = 0.5; + shiftatom_hi = 0.5; + } else if ((order % 2) && stagger_flag) { + shiftatom_lo = 0.5; + shiftatom_hi = 0.5 + 0.5; + } else if ((order % 2 == 0) && !stagger_flag) { + shiftatom_lo = 0.0; + shiftatom_hi = 0.0; + } else if ((order % 2 == 0) && stagger_flag) { + shiftatom_lo = 0.0; + shiftatom_hi = 0.0 + 0.5; } - - // for slab PPPM, change the grid boundary for processors at +z end - // to include the empty volume between periodically repeating slabs - // for slab PPPM, want charge data communicated from -z proc to +z proc, - // but not vice versa, also want field data communicated from +z proc to - // -z proc, but not vice versa - // this is accomplished by nzhi_in = nzhi_out on +z end (no ghost cells) - // also insure no other procs use ghost cells beyond +z limit - // differnet logic for non-tiled vs tiled decomposition - - if (slabflag == 1) { - if (comm->layout != Comm::LAYOUT_TILED) { - if (comm->myloc[2] == comm->procgrid[2]-1) nzhi_in = nzhi_out = nz_pppm - 1; - } else { - if (comm->mysplit[2][1] == 1.0) nzhi_in = nzhi_out = nz_pppm - 1; - } - nzhi_out = MIN(nzhi_out,nz_pppm-1); - } - - */ - - - // x-pencil decomposition of FFT mesh // global indices range from 0 to N-1 @@ -1421,26 +1408,6 @@ void PPPM::set_grid_local() nyhi_fft = (me_y+1)*ny_pppm/npey_fft - 1; nzlo_fft = me_z*nz_pppm/npez_fft; nzhi_fft = (me_z+1)*nz_pppm/npez_fft - 1; - - // nfft = FFT points in x-pencil FFT decomposition on this proc - - nfft = (nxhi_fft-nxlo_fft+1) * (nyhi_fft-nylo_fft+1) * - (nzhi_fft-nzlo_fft+1); - - - - // ngrid = count of PPPM grid pts owned by this proc, including ghosts - - ngrid = (nxhi_out-nxlo_out+1) * (nyhi_out-nylo_out+1) * - (nzhi_out-nzlo_out+1); - - // count of FFT grids pts owned by this proc, without ghosts - // nfft_brick = FFT points in 3d brick-decomposition on this proc - // nfft_both = greater of 2 values - - int nfft_brick = (nxhi_in-nxlo_in+1) * (nyhi_in-nylo_in+1) * - (nzhi_in-nzlo_in+1); - nfft_both = MAX(nfft,nfft_brick); } /* ---------------------------------------------------------------------- diff --git a/src/KSPACE/pppm.h b/src/KSPACE/pppm.h index 6166961cba..5d8fa76ec7 100644 --- a/src/KSPACE/pppm.h +++ b/src/KSPACE/pppm.h @@ -48,7 +48,7 @@ class PPPM : public KSpace { double volume; double delxinv, delyinv, delzinv, delvolinv; double h_x, h_y, h_z; - double shift, shiftone, shiftatom; + double shift, shiftone, shiftatom_lo, shiftatom_hi; int peratom_allocate_flag; int nxlo_in, nylo_in, nzlo_in, nxhi_in, nyhi_in, nzhi_in; @@ -56,7 +56,7 @@ class PPPM : public KSpace { int nxlo_ghost, nxhi_ghost, nylo_ghost, nyhi_ghost, nzlo_ghost, nzhi_ghost; int nxlo_fft, nylo_fft, nzlo_fft, nxhi_fft, nyhi_fft, nzhi_fft; int nlower, nupper; - int ngrid, nfft, nfft_both; + int ngrid, nfft_brick, nfft, nfft_both; FFT_SCALAR ***density_brick; FFT_SCALAR ***vdx_brick, ***vdy_brick, ***vdz_brick; diff --git a/src/KSPACE/pppm_dipole.cpp b/src/KSPACE/pppm_dipole.cpp index a2abc98961..04c358841f 100644 --- a/src/KSPACE/pppm_dipole.cpp +++ b/src/KSPACE/pppm_dipole.cpp @@ -205,7 +205,7 @@ void PPPMDipole::init() gc_dipole = new Grid3d(lmp,world,nx_pppm,ny_pppm,nz_pppm); gc_dipole->set_distance(0.5*neighbor->skin + qdist); gc_dipole->set_stencil_atom(-nlower,nupper); - gc_dipole->set_shift_atom(shiftatom); + gc_dipole->set_shift_atom(shiftatom_lo,shiftatom_hi); gc_dipole->set_zfactor(slab_volfactor); gc_dipole->setup_grid(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in, @@ -541,7 +541,7 @@ void PPPMDipole::allocate() gc_dipole = new Grid3d(lmp,world,nx_pppm,ny_pppm,nz_pppm); gc_dipole->set_distance(0.5*neighbor->skin + qdist); gc_dipole->set_stencil_atom(-nlower,nupper); - gc_dipole->set_shift_atom(shiftatom); + gc_dipole->set_shift_atom(shiftatom_lo,shiftatom_hi); gc_dipole->set_zfactor(slab_volfactor); gc_dipole->setup_grid(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in, diff --git a/src/KSPACE/pppm_dipole_spin.cpp b/src/KSPACE/pppm_dipole_spin.cpp index 4352ac03ae..912acdec15 100644 --- a/src/KSPACE/pppm_dipole_spin.cpp +++ b/src/KSPACE/pppm_dipole_spin.cpp @@ -190,7 +190,7 @@ void PPPMDipoleSpin::init() gc_dipole = new Grid3d(lmp,world,nx_pppm,ny_pppm,nz_pppm); gc_dipole->set_distance(0.5*neighbor->skin + qdist); gc_dipole->set_stencil_atom(-nlower,nupper); - gc_dipole->set_shift_atom(shiftatom); + gc_dipole->set_shift_atom(shiftatom_lo,shiftatom_hi); gc_dipole->set_zfactor(slab_volfactor); gc_dipole->setup_grid(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in, diff --git a/src/KSPACE/pppm_disp.cpp b/src/KSPACE/pppm_disp.cpp index 336e7ca1c1..61b50f5364 100644 --- a/src/KSPACE/pppm_disp.cpp +++ b/src/KSPACE/pppm_disp.cpp @@ -413,7 +413,7 @@ void PPPMDisp::init() int iteration = 0; if (function[0]) { - Grid3d *gctmp = nullptr; + gc = nullptr; while (order >= minorder) { if (iteration && me == 0) @@ -423,41 +423,40 @@ void PPPMDisp::init() // set grid for dispersion interaction and coulomb interactions - set_grid(); + set_grid_global(); if (nx_pppm >= OFFSET || ny_pppm >= OFFSET || nz_pppm >= OFFSET) - error->all(FLERR,"PPPMDisp Coulomb grid is too large"); + error->all(FLERR,"PPPMDisp Coulomb grid is too large"); - set_fft_parameters(nx_pppm,ny_pppm,nz_pppm, - nxlo_fft,nylo_fft,nzlo_fft, - nxhi_fft,nyhi_fft,nzhi_fft, - nxlo_in,nylo_in,nzlo_in, - nxhi_in,nyhi_in,nzhi_in, - nxlo_out,nylo_out,nzlo_out, - nxhi_out,nyhi_out,nzhi_out, - nlower,nupper, - ngrid,nfft,nfft_both, - shift,shiftone,order); + set_grid_local(order,nx_pppm,ny_pppm,nz_pppm, + shift,shiftone,shiftatom,nlower,nupper, + nxlo_fft,nylo_fft,nzlo_fft, + nxhi_fft,nyhi_fft,nzhi_fft); if (overlap_allowed) break; - gctmp = 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); + gc->set_distance(0.5*neighbor->skin + qdist); + gc->set_stencil_atom(-nlower,nupper); + gc->set_shift_atom(shiftatom,shiftatom); + gc->set_zfactor(slab_volfactor); + + gc->setup_grid(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in, + nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out); int tmp1,tmp2; - gctmp->setup_comm(tmp1,tmp2); - if (gctmp->ghost_adjacent()) break; - delete gctmp; + gc->setup_comm(tmp1,tmp2); + if (gc->ghost_adjacent()) break; + delete gc; order--; } if (order < minorder) error->all(FLERR,"Coulomb PPPMDisp order has been reduced below minorder"); - if (!overlap_allowed && !gctmp->ghost_adjacent()) + if (!overlap_allowed && !gc->ghost_adjacent()) error->all(FLERR,"PPPMDisp grid stencil extends beyond nearest neighbor processor"); - if (gctmp) delete gctmp; + if (gc) delete gc; // adjust g_ewald @@ -493,7 +492,7 @@ void PPPMDisp::init() iteration = 0; if (function[1] + function[2] + function[3]) { - Grid3d *gctmp = nullptr; + gc6 = nullptr; while (order_6 >= minorder) { if (iteration && me == 0) @@ -501,34 +500,31 @@ void PPPMDisp::init() "b/c stencil extends beyond neighbor processor"); iteration++; - set_grid_6(); + set_grid_global_6(); if (nx_pppm_6 >= OFFSET || ny_pppm_6 >= OFFSET || nz_pppm_6 >= OFFSET) - error->all(FLERR,"PPPMDisp Dispersion grid is too large"); + error->all(FLERR,"PPPMDisp Dispersion grid is too large"); - set_fft_parameters(nx_pppm_6,ny_pppm_6,nz_pppm_6, - nxlo_fft_6,nylo_fft_6,nzlo_fft_6, - nxhi_fft_6,nyhi_fft_6,nzhi_fft_6, - nxlo_in_6,nylo_in_6,nzlo_in_6, - nxhi_in_6,nyhi_in_6,nzhi_in_6, - nxlo_out_6,nylo_out_6,nzlo_out_6, - nxhi_out_6,nyhi_out_6,nzhi_out_6, - nlower_6,nupper_6, - ngrid_6,nfft_6,nfft_both_6, - shift_6,shiftone_6,order_6); + set_grid_local(order_6,nx_pppm_6,ny_pppm_6,nz_pppm_6, + shift_6,shiftone_6,shiftatom_6,nlower_6,nupper_6, + nxlo_fft_6,nylo_fft_6,nzlo_fft_6, + nxhi_fft_6,nyhi_fft_6,nzhi_fft_6); if (overlap_allowed) break; - gctmp = new Grid3d(lmp,world,nx_pppm_6,ny_pppm_6,nz_pppm_6, - nxlo_in_6,nxhi_in_6,nylo_in_6,nyhi_in_6, - nzlo_in_6,nzhi_in_6, - nxlo_out_6,nxhi_out_6,nylo_out_6,nyhi_out_6, - nzlo_out_6,nzhi_out_6); + gc6 = new Grid3d(lmp,world,nx_pppm_6,ny_pppm_6,nz_pppm_6); + gc6->set_distance(0.5*neighbor->skin + qdist); + gc6->set_stencil_atom(-nlower_6,nupper_6); + gc6->set_shift_atom(shiftatom_6,shiftatom_6); + gc6->set_zfactor(slab_volfactor); + + gc->setup_grid(nxlo_in_6,nxhi_in_6,nylo_in_6,nyhi_in_6,nzlo_in_6,nzhi_in_6, + nxlo_out_6,nxhi_out_6,nylo_out_6,nyhi_out_6,nzlo_out_6,nzhi_out_6); int tmp1,tmp2; - gctmp->setup_comm(tmp1,tmp2); - if (gctmp->ghost_adjacent()) break; - delete gctmp; + gc6->setup_comm(tmp1,tmp2); + if (gc6->ghost_adjacent()) break; + delete gc6; order_6--; } @@ -536,14 +532,13 @@ void PPPMDisp::init() if (order_6 < minorder) error->all(FLERR,"Dispersion PPPMDisp order has been " "reduced below minorder"); - if (!overlap_allowed && !gctmp->ghost_adjacent()) + if (!overlap_allowed && !gc6->ghost_adjacent()) error->all(FLERR,"Dispersion PPPMDisp grid stencil extends beyond nearest neighbor proc"); - if (gctmp) delete gctmp; + if (gc6) delete gc6; // adjust g_ewald_6 - if (!gewaldflag_6 && accuracy_kspace_6 == accuracy_real_6) - adjust_gewald_6(); + if (!gewaldflag_6 && accuracy_kspace_6 == accuracy_real_6) adjust_gewald_6(); // calculate the final accuracy @@ -804,28 +799,16 @@ void PPPMDisp::reset_grid() // reset portion of global grid that each proc owns if (function[0]) - set_fft_parameters(nx_pppm,ny_pppm,nz_pppm, - nxlo_fft,nylo_fft,nzlo_fft, - nxhi_fft,nyhi_fft,nzhi_fft, - nxlo_in,nylo_in,nzlo_in, - nxhi_in,nyhi_in,nzhi_in, - nxlo_out,nylo_out,nzlo_out, - nxhi_out,nyhi_out,nzhi_out, - nlower,nupper, - ngrid,nfft,nfft_both, - shift,shiftone,order); + set_grid_local(order,nx_pppm,ny_pppm,nz_pppm, + shift,shiftone,shiftatom,nlower,nupper, + nxlo_fft,nylo_fft,nzlo_fft, + nxhi_fft,nyhi_fft,nzhi_fft); if (function[1] + function[2] + function[3]) - set_fft_parameters(nx_pppm_6,ny_pppm_6,nz_pppm_6, - nxlo_fft_6,nylo_fft_6,nzlo_fft_6, - nxhi_fft_6,nyhi_fft_6,nzhi_fft_6, - nxlo_in_6,nylo_in_6,nzlo_in_6, - nxhi_in_6,nyhi_in_6,nzhi_in_6, - nxlo_out_6,nylo_out_6,nzlo_out_6, - nxhi_out_6,nyhi_out_6,nzhi_out_6, - nlower_6,nupper_6, - ngrid_6,nfft_6,nfft_both_6, - shift_6,shiftone_6,order_6); + set_grid_local(order_6,nx_pppm_6,ny_pppm_6,nz_pppm_6, + shift_6,shiftone_6,shiftatom_6,nlower_6,nupper_6, + nxlo_fft_6,nylo_fft_6,nzlo_fft_6, + nxhi_fft_6,nyhi_fft_6,nzhi_fft_6); // reallocate K-space dependent memory // check if grid communication is now overlapping if not allowed @@ -1685,7 +1668,53 @@ int PPPMDisp::check_convergence(double** A, double** Q, double** A0, void _noopt PPPMDisp::allocate() { + // -------------------------------------- + // Coulomb grids + // -------------------------------------- + if (function[0]) { + + // create ghost grid object for rho and electric field communication + // returns local owned and ghost grid bounds + // setup communication patterns and buffers + + gc = new Grid3d(lmp,world,nx_pppm,ny_pppm,nz_pppm); + gc->set_distance(0.5*neighbor->skin + qdist); + gc->set_stencil_atom(-nlower,nupper); + gc->set_shift_atom(shiftatom,shiftatom); + gc->set_zfactor(slab_volfactor); + + gc->setup_grid(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); + + if (differentiation_flag) npergrid = 1; + else npergrid = 3; + + memory->create(gc_buf1,npergrid*ngc_buf1,"pppm/disp:gc_buf1"); + memory->create(gc_buf2,npergrid*ngc_buf2,"pppm/disp:gc_buf2"); + + // tally local grid sizes + // ngrid = count of owned+ghost grid cells on this proc + // nfft_brick = FFT points in 3d brick-decomposition on this proc + // same as count of owned grid cells + // 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); + + 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_both = MAX(nfft,nfft_brick); + + // allocate distributed grid data + memory->create(work1,2*nfft_both,"pppm/disp:work1"); memory->create(work2,2*nfft_both,"pppm/disp:work2"); @@ -1710,6 +1739,8 @@ void _noopt PPPMDisp::allocate() memory->create3d_offset(density_brick,nzlo_out,nzhi_out,nylo_out,nyhi_out, nxlo_out,nxhi_out,"pppm/disp:density_brick"); + memory->create(density_fft,nfft_both,"pppm/disp:density_fft"); + if (differentiation_flag == 1) { memory->create3d_offset(u_brick,nzlo_out,nzhi_out,nylo_out,nyhi_out, nxlo_out,nxhi_out,"pppm/disp:u_brick"); @@ -1728,7 +1759,11 @@ void _noopt PPPMDisp::allocate() memory->create3d_offset(vdz_brick,nzlo_out,nzhi_out,nylo_out,nyhi_out, nxlo_out,nxhi_out,"pppm/disp:vdz_brick"); } - memory->create(density_fft,nfft_both,"pppm/disp:density_fft"); + + // create 2 FFTs and a Remap + // 1st FFT keeps data in FFT decomposition + // 2nd FFT returns data in 3d brick decomposition + // remap takes data from 3d brick to FFT decomposition int tmp; @@ -1746,23 +1781,91 @@ void _noopt PPPMDisp::allocate() 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); - - // create ghost grid object for rho and electric field communication - // also create 2 bufs for ghost grid cell comm, passed to Grid3d methods - - 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); - - 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"); } + // -------------------------------------- + // allocations common to all dispersion options + // -------------------------------------- + + if (function[1] + function[2] + function[3]) { + + // create ghost grid object for dispersion communication + // returns local owned and ghost grid bounds + // setup communication patterns and buffers + + gc6 = new Grid3d(lmp,world,nx_pppm_6,ny_pppm_6,nz_pppm_6); + gc6->set_distance(0.5*neighbor->skin + qdist); + gc6->set_stencil_atom(-nlower_6,nupper_6); + gc6->set_shift_atom(shiftatom_6,shiftatom_6); + gc6->set_zfactor(slab_volfactor); + + gc6->setup_grid(nxlo_in_6,nxhi_in_6,nylo_in_6,nyhi_in_6,nzlo_in_6,nzhi_in_6, + nxlo_out_6,nxhi_out_6,nylo_out_6,nyhi_out_6,nzlo_out_6,nzhi_out_6); + + gc6->setup_comm(ngc6_buf1,ngc6_buf2); + + if (function[1]) { + if (differentiation_flag) npergrid6 = 1; + else npergrid6 = 3; + } else if (function[2]) { + if (differentiation_flag) npergrid6 = 7; + else npergrid6 = 21; + } else if (function[3]) { + if (differentiation_flag) npergrid6 = 1*nsplit_alloc; + else npergrid6 = 3*nsplit_alloc; + } + + memory->create(gc6_buf1,npergrid6*ngc6_buf1,"pppm:gc_buf1"); + memory->create(gc6_buf2,npergrid6*ngc6_buf2,"pppm:gc_buf2"); + + // tally local grid sizes + // ngrid = count of owned+ghost grid cells on this proc + // nfft_brick = FFT points in 3d brick-decomposition on this proc + // same as count of owned grid cells + // nfft = FFT points in x-pencil FFT decomposition on this proc + // nfft_both = greater of nfft and nfft_brick + + ngrid_6 = (nxhi_out_6-nxlo_out_6+1) * (nyhi_out_6-nylo_out_6+1) * + (nzhi_out_6-nzlo_out_6+1); + + nfft_brick_6 = (nxhi_in_6-nxlo_in_6+1) * (nyhi_in_6-nylo_in_6+1) * + (nzhi_in_6-nzlo_in_6+1); + + nfft_6 = (nxhi_fft_6-nxlo_fft_6+1) * (nyhi_fft_6-nylo_fft_6+1) * + (nzhi_fft_6-nzlo_fft_6+1); + + nfft_both_6 = MAX(nfft_6,nfft_brick_6); + + // create 2 FFTs and a Remap + // 1st FFT keeps data in FFT decomposition + // 2nd FFT returns data in 3d brick decomposition + // remap takes data from 3d brick to FFT decomposition + + int tmp; + + fft1_6 = + new FFT3d(lmp,world,nx_pppm_6,ny_pppm_6,nz_pppm_6, + nxlo_fft_6,nxhi_fft_6,nylo_fft_6,nyhi_fft_6,nzlo_fft_6,nzhi_fft_6, + nxlo_fft_6,nxhi_fft_6,nylo_fft_6,nyhi_fft_6,nzlo_fft_6,nzhi_fft_6, + 0,0,&tmp,collective_flag); + + fft2_6 = + new FFT3d(lmp,world,nx_pppm_6,ny_pppm_6,nz_pppm_6, + nxlo_fft_6,nxhi_fft_6,nylo_fft_6,nyhi_fft_6,nzlo_fft_6,nzhi_fft_6, + nxlo_in_6,nxhi_in_6,nylo_in_6,nyhi_in_6,nzlo_in_6,nzhi_in_6, + 0,0,&tmp,collective_flag); + + remap_6 = + new Remap(lmp,world, + nxlo_in_6,nxhi_in_6,nylo_in_6,nyhi_in_6,nzlo_in_6,nzhi_in_6, + nxlo_fft_6,nxhi_fft_6,nylo_fft_6,nyhi_fft_6,nzlo_fft_6,nzhi_fft_6, + 1,0,0,FFT_PRECISION,collective_flag); + } + + // -------------------------------------- + // dispersion grids with geometric mixing + // -------------------------------------- + if (function[1]) { memory->create(work1_6,2*nfft_both_6,"pppm/disp:work1_6"); memory->create(work2_6,2*nfft_both_6,"pppm/disp:work2_6"); @@ -1789,6 +1892,8 @@ void _noopt PPPMDisp::allocate() memory->create3d_offset(density_brick_g,nzlo_out_6,nzhi_out_6,nylo_out_6,nyhi_out_6, nxlo_out_6,nxhi_out_6,"pppm/disp:density_brick_g"); + memory->create(density_fft_g,nfft_both_6,"pppm/disp:density_fft_g"); + if (differentiation_flag == 1) { memory->create3d_offset(u_brick_g,nzlo_out_6,nzhi_out_6,nylo_out_6,nyhi_out_6, nxlo_out_6,nxhi_out_6,"pppm/disp:u_brick_g"); @@ -1808,45 +1913,12 @@ void _noopt PPPMDisp::allocate() memory->create3d_offset(vdz_brick_g,nzlo_out_6,nzhi_out_6,nylo_out_6,nyhi_out_6, nxlo_out_6,nxhi_out_6,"pppm/disp:vdz_brick_g"); } - memory->create(density_fft_g,nfft_both_6,"pppm/disp:density_fft_g"); - - int tmp; - - fft1_6 = - new FFT3d(lmp,world,nx_pppm_6,ny_pppm_6,nz_pppm_6, - nxlo_fft_6,nxhi_fft_6,nylo_fft_6,nyhi_fft_6,nzlo_fft_6,nzhi_fft_6, - nxlo_fft_6,nxhi_fft_6,nylo_fft_6,nyhi_fft_6,nzlo_fft_6,nzhi_fft_6, - 0,0,&tmp,collective_flag); - - fft2_6 = - new FFT3d(lmp,world,nx_pppm_6,ny_pppm_6,nz_pppm_6, - nxlo_fft_6,nxhi_fft_6,nylo_fft_6,nyhi_fft_6,nzlo_fft_6,nzhi_fft_6, - nxlo_in_6,nxhi_in_6,nylo_in_6,nyhi_in_6,nzlo_in_6,nzhi_in_6, - 0,0,&tmp,collective_flag); - - remap_6 = - new Remap(lmp,world, - nxlo_in_6,nxhi_in_6,nylo_in_6,nyhi_in_6,nzlo_in_6,nzhi_in_6, - nxlo_fft_6,nxhi_fft_6,nylo_fft_6,nyhi_fft_6,nzlo_fft_6,nzhi_fft_6, - 1,0,0,FFT_PRECISION,collective_flag); - - // create ghost grid object for rho and electric field communication - // also create 2 bufs for ghost grid cell comm, passed to Grid3d methods - - gc6 = - new Grid3d(lmp,world,nx_pppm_6,ny_pppm_6,nz_pppm_6, - nxlo_in_6,nxhi_in_6,nylo_in_6,nyhi_in_6,nzlo_in_6,nzhi_in_6, - nxlo_out_6,nxhi_out_6,nylo_out_6,nyhi_out_6,nzlo_out_6,nzhi_out_6); - - gc6->setup_comm(ngc6_buf1,ngc6_buf2); - - if (differentiation_flag) npergrid6 = 1; - else npergrid6 = 3; - - memory->create(gc6_buf1,npergrid6*ngc6_buf1,"pppm:gc_buf1"); - memory->create(gc6_buf2,npergrid6*ngc6_buf2,"pppm:gc_buf2"); } + // -------------------------------------- + // dispersion grids with arithmetic mixing + // -------------------------------------- + if (function[2]) { memory->create(work1_6,2*nfft_both_6,"pppm/disp:work1_6"); memory->create(work2_6,2*nfft_both_6,"pppm/disp:work2_6"); @@ -1975,41 +2047,12 @@ void _noopt PPPMDisp::allocate() memory->create3d_offset(vdz_brick_a6,nzlo_out_6,nzhi_out_6,nylo_out_6,nyhi_out_6, nxlo_out_6,nxhi_out_6,"pppm/disp:vdz_brick_a6"); } - - int tmp; - - fft1_6 = new FFT3d(lmp,world,nx_pppm_6,ny_pppm_6,nz_pppm_6, - nxlo_fft_6,nxhi_fft_6,nylo_fft_6,nyhi_fft_6,nzlo_fft_6,nzhi_fft_6, - nxlo_fft_6,nxhi_fft_6,nylo_fft_6,nyhi_fft_6,nzlo_fft_6,nzhi_fft_6, - 0,0,&tmp,collective_flag); - - fft2_6 = new FFT3d(lmp,world,nx_pppm_6,ny_pppm_6,nz_pppm_6, - nxlo_fft_6,nxhi_fft_6,nylo_fft_6,nyhi_fft_6,nzlo_fft_6,nzhi_fft_6, - nxlo_in_6,nxhi_in_6,nylo_in_6,nyhi_in_6,nzlo_in_6,nzhi_in_6, - 0,0,&tmp,collective_flag); - - remap_6 = new Remap(lmp,world, - nxlo_in_6,nxhi_in_6,nylo_in_6,nyhi_in_6,nzlo_in_6,nzhi_in_6, - nxlo_fft_6,nxhi_fft_6,nylo_fft_6,nyhi_fft_6,nzlo_fft_6,nzhi_fft_6, - 1,0,0,FFT_PRECISION,collective_flag); - - // create ghost grid object for rho and electric field communication - // also create 2 bufs for ghost grid cell comm, passed to Grid3d methods - - gc6 = - new Grid3d(lmp,world,nx_pppm_6,ny_pppm_6,nz_pppm_6, - nxlo_in_6,nxhi_in_6,nylo_in_6,nyhi_in_6,nzlo_in_6,nzhi_in_6, - nxlo_out_6,nxhi_out_6,nylo_out_6,nyhi_out_6,nzlo_out_6,nzhi_out_6); - - gc6->setup_comm(ngc6_buf1,ngc6_buf2); - - if (differentiation_flag) npergrid6 = 7; - else npergrid6 = 21; - - memory->create(gc6_buf1,npergrid6*ngc6_buf1,"pppm:gc_buf1"); - memory->create(gc6_buf2,npergrid6*ngc6_buf2,"pppm:gc_buf2"); } + // -------------------------------------- + // dispersion grids with no mixing + // -------------------------------------- + if (function[3]) { memory->create(work1_6,2*nfft_both_6,"pppm/disp:work1_6"); memory->create(work2_6,2*nfft_both_6,"pppm/disp:work2_6"); @@ -2037,6 +2080,9 @@ void _noopt PPPMDisp::allocate() memory->create4d_offset(density_brick_none,nsplit_alloc, nzlo_out_6,nzhi_out_6,nylo_out_6,nyhi_out_6, nxlo_out_6,nxhi_out_6,"pppm/disp:density_brick_none"); + memory->create(density_fft_none,nsplit_alloc,nfft_both_6, + "pppm/disp:density_fft_none"); + if (differentiation_flag == 1) { memory->create4d_offset(u_brick_none,nsplit_alloc, nzlo_out_6,nzhi_out_6,nylo_out_6,nyhi_out_6, @@ -2060,41 +2106,6 @@ void _noopt PPPMDisp::allocate() nzlo_out_6,nzhi_out_6,nylo_out_6,nyhi_out_6, nxlo_out_6,nxhi_out_6,"pppm/disp:vdz_brick_none"); } - memory->create(density_fft_none,nsplit_alloc,nfft_both_6, - "pppm/disp:density_fft_none"); - - int tmp; - - fft1_6 = new FFT3d(lmp,world,nx_pppm_6,ny_pppm_6,nz_pppm_6, - nxlo_fft_6,nxhi_fft_6,nylo_fft_6,nyhi_fft_6,nzlo_fft_6,nzhi_fft_6, - nxlo_fft_6,nxhi_fft_6,nylo_fft_6,nyhi_fft_6,nzlo_fft_6,nzhi_fft_6, - 0,0,&tmp,collective_flag); - - fft2_6 = new FFT3d(lmp,world,nx_pppm_6,ny_pppm_6,nz_pppm_6, - nxlo_fft_6,nxhi_fft_6,nylo_fft_6,nyhi_fft_6,nzlo_fft_6,nzhi_fft_6, - nxlo_in_6,nxhi_in_6,nylo_in_6,nyhi_in_6,nzlo_in_6,nzhi_in_6, - 0,0,&tmp,collective_flag); - - remap_6 = new Remap(lmp,world, - nxlo_in_6,nxhi_in_6,nylo_in_6,nyhi_in_6,nzlo_in_6,nzhi_in_6, - nxlo_fft_6,nxhi_fft_6,nylo_fft_6,nyhi_fft_6,nzlo_fft_6,nzhi_fft_6, - 1,0,0,FFT_PRECISION,collective_flag); - - // create ghost grid object for rho and electric field communication - // also create 2 bufs for ghost grid cell comm, passed to Grid3d methods - - gc6 = - new Grid3d(lmp,world,nx_pppm_6,ny_pppm_6,nz_pppm_6, - nxlo_in_6,nxhi_in_6,nylo_in_6,nyhi_in_6,nzlo_in_6,nzhi_in_6, - nxlo_out_6,nxhi_out_6,nylo_out_6,nyhi_out_6,nzlo_out_6,nzhi_out_6); - - gc6->setup_comm(ngc6_buf1,ngc6_buf2); - - if (differentiation_flag) npergrid6 = 1*nsplit_alloc; - else npergrid6 = 3*nsplit_alloc; - - memory->create(gc6_buf1,npergrid6*ngc6_buf1,"pppm:gc6_buf1"); - memory->create(gc6_buf2,npergrid6*ngc6_buf2,"pppm:gc6_buf2"); } } @@ -2107,6 +2118,10 @@ void PPPMDisp::allocate_peratom() { peratom_allocate_flag = 1; + // -------------------------------------- + // Coulomb grids + // -------------------------------------- + if (function[0]) { if (differentiation_flag != 1) memory->create3d_offset(u_brick,nzlo_out,nzhi_out,nylo_out,nyhi_out, @@ -2136,6 +2151,10 @@ void PPPMDisp::allocate_peratom() memory->create(gc_buf2,npergrid*ngc_buf2,"pppm:gc_buf2"); } + // -------------------------------------- + // dispersion grids with geometric mixing + // -------------------------------------- + if (function[1]) { if (differentiation_flag != 1 ) memory->create3d_offset(u_brick_g,nzlo_out_6,nzhi_out_6,nylo_out_6,nyhi_out_6, @@ -2165,6 +2184,10 @@ void PPPMDisp::allocate_peratom() memory->create(gc6_buf2,npergrid6*ngc6_buf2,"pppm:gc6_buf2"); } + // -------------------------------------- + // dispersion grids with arithmetic mixing + // -------------------------------------- + if (function[2]) { if (differentiation_flag != 1) { memory->create3d_offset(u_brick_a0,nzlo_out_6,nzhi_out_6,nylo_out_6,nyhi_out_6, @@ -2286,6 +2309,10 @@ void PPPMDisp::allocate_peratom() memory->create(gc6_buf2,npergrid6*ngc6_buf2,"pppm:gc6_buf2"); } + // -------------------------------------- + // dispersion grids with no mixing + // -------------------------------------- + if (function[3]) { if (differentiation_flag != 1) memory->create4d_offset(u_brick_none,nsplit_alloc, @@ -2602,11 +2629,10 @@ void PPPMDisp::deallocate_peratom() } /* ---------------------------------------------------------------------- - set size of FFT grid (nx,ny,nz_pppm) and g_ewald - for Coulomb interactions + set global grid and g_ewald for Coulomb interactions ------------------------------------------------------------------------- */ -void PPPMDisp::set_grid() +void PPPMDisp::set_grid_global() { double q2 = qsqsum * force->qqrd2e; @@ -2678,152 +2704,61 @@ void PPPMDisp::set_grid() } /* ---------------------------------------------------------------------- - set the FFT parameters + set params which determine which owned and ghost cells this proc owns + for Coulomb or dipsersion interactions + Grid3d uses these params to partition grids + also partition FFT grids + n xyz lo/hi fft = FFT columns that I own (all of x dim, 2d decomp in yz) ------------------------------------------------------------------------- */ -void PPPMDisp::set_fft_parameters(int& nx_p, int& ny_p, int& nz_p, - int& nxlo_f, int& nylo_f, int& nzlo_f, - int& nxhi_f, int& nyhi_f, int& nzhi_f, - int& nxlo_i, int& nylo_i, int& nzlo_i, - int& nxhi_i, int& nyhi_i, int& nzhi_i, - int& nxlo_o, int& nylo_o, int& nzlo_o, - int& nxhi_o, int& nyhi_o, int& nzhi_o, - int& nlow, int& nupp, - int& ng, int& nf, int& nfb, - double& sft, double& sftone, int& ord) +void PPPMDisp::set_grid_local(int order_either, + int nx_either, int ny_either, int nz_either, + double &shift_either, double &shiftone_either, + double &shiftatom_either, + int &nlower_either, int &nupper_either, + int &nxlo_fft_either, int &nylo_fft_either, int &nzlo_fft_either, + int &nxhi_fft_either, int &nyhi_fft_either, int &nzhi_fft_either) { - // partition global grid across procs - // n xyz lo/hi i = lower/upper bounds of global grid this proc owns - // indices range from 0 to N-1 inclusive in each dim - - comm->partition_grid(nx_p,ny_p,nz_p,slab_volfactor, - nxlo_i,nxhi_i,nylo_i,nyhi_i,nzlo_i,nzhi_i); - - // nlow,nupp = stencil size for mapping particles to PPPM grid - - nlow = -(ord-1)/2; - nupp = ord/2; - - // sft values for particle <-> grid mapping + // shift values for particle <-> grid mapping depend on stencil order // add/subtract OFFSET to avoid int(-0.75) = 0 when want it to be -1 + // used in particle_map() and make_rho() and fieldforce() + + if (order_either % 2) shift_either = OFFSET + 0.5; + else shift_either = OFFSET; + + if (order_either % 2) shiftone_either = 0.0; + else shiftone_either = 0.5; - if (ord % 2) sft = OFFSET + 0.5; - else sft = OFFSET; - if (ord % 2) sftone = 0.0; - else sftone = 0.5; + // nlower/nupper = stencil size for mapping particles to grid - // nlo_out,nhi_out = lower/upper limits of the 3d sub-brick of - // global PPPM grid that my particles can contribute charge to - // effectively nlo_in,nhi_in + ghost cells - // nlo,nhi = global coords of grid pt to "lower left" of smallest/largest - // position a particle in my box can be at - // dist[3] = particle position bound = subbox + skin/2.0 + qdist - // qdist = offset due to TIP4P fictitious charge - // convert to triclinic if necessary - // nlo_out,nhi_out = nlo,nhi + stencil size for particle mapping - // for slab PPPM, assign z grid as if it were not extended + nlower_either = -(order_either-1)/2; + nupper_either = order_either/2; - double *prd,*sublo,*subhi; - - if (triclinic == 0) { - prd = domain->prd; - boxlo = domain->boxlo; - sublo = domain->sublo; - subhi = domain->subhi; - } else { - prd = domain->prd_lamda; - boxlo = domain->boxlo_lamda; - sublo = domain->sublo_lamda; - subhi = domain->subhi_lamda; - } - - double xprd = prd[0]; - double yprd = prd[1]; - double zprd = prd[2]; - double zprd_slab = zprd*slab_volfactor; - - double dist[3]; - double cuthalf = 0.5*neighbor->skin + qdist; - if (triclinic == 0) dist[0] = dist[1] = dist[2] = cuthalf; - else { - dist[0] = cuthalf/domain->prd[0]; - dist[1] = cuthalf/domain->prd[1]; - dist[2] = cuthalf/domain->prd[2]; - } - - int nlo,nhi; - - nlo = static_cast ((sublo[0]-dist[0]-boxlo[0]) * - nx_p/xprd + sft) - OFFSET; - nhi = static_cast ((subhi[0]+dist[0]-boxlo[0]) * - nx_p/xprd + sft) - OFFSET; - nxlo_o = nlo + nlow; - nxhi_o = nhi + nupp; - - nlo = static_cast ((sublo[1]-dist[1]-boxlo[1]) * - ny_p/yprd + sft) - OFFSET; - nhi = static_cast ((subhi[1]+dist[1]-boxlo[1]) * - ny_p/yprd + sft) - OFFSET; - nylo_o = nlo + nlow; - nyhi_o = nhi + nupp; - - nlo = static_cast ((sublo[2]-dist[2]-boxlo[2]) * - nz_p/zprd_slab + sft) - OFFSET; - nhi = static_cast ((subhi[2]+dist[2]-boxlo[2]) * - nz_p/zprd_slab + sft) - OFFSET; - nzlo_o = nlo + nlow; - nzhi_o = nhi + nupp; - - // for slab PPPM, change the grid boundary for processors at +z end - // to include the empty volume between periodically repeating slabs - // for slab PPPM, want charge data communicated from -z proc to +z proc, - // but not vice versa, also want field data communicated from +z proc to - // -z proc, but not vice versa - // this is accomplished by nzhi_i = nzhi_o on +z end (no ghost cells) - - if (slabflag && (comm->myloc[2] == comm->procgrid[2]-1)) { - nzhi_i = nz_p - 1; - nzhi_o = nz_p - 1; - } - - // decomposition of FFT mesh + // x-pencil decomposition of Coulomb FFT mesh // global indices range from 0 to N-1 - // proc owns entire x-dimension, clump of columns in y,z dimensions + // each proc owns entire x-dimension, clumps of columns in y,z dimensions // npey_fft,npez_fft = # of procs in y,z dims // if nprocs is small enough, proc can own 1 or more entire xy planes, // else proc owns 2d sub-blocks of yz plane // me_y,me_z = which proc (0-npe_fft-1) I am in y,z dimensions // nlo_fft,nhi_fft = lower/upper limit of the section - // of the global FFT mesh that I own + // of the global FFT mesh that I own in x-pencil decomposition int npey_fft,npez_fft; - if (nz_p >= nprocs) { + if (nz_either >= nprocs) { npey_fft = 1; npez_fft = nprocs; - } else procs2grid2d(nprocs,ny_p,nz_p,&npey_fft,&npez_fft); + } else procs2grid2d(nprocs,ny_either,nz_either,&npey_fft,&npez_fft); int me_y = me % npey_fft; int me_z = me / npey_fft; - nxlo_f = 0; - nxhi_f = nx_p - 1; - nylo_f = me_y*ny_p/npey_fft; - nyhi_f = (me_y+1)*ny_p/npey_fft - 1; - nzlo_f = me_z*nz_p/npez_fft; - nzhi_f = (me_z+1)*nz_p/npez_fft - 1; - - // PPPM grid for this proc, including ghosts - - ng = (nxhi_o-nxlo_o+1) * (nyhi_o-nylo_o+1) * (nzhi_o-nzlo_o+1); - - // FFT arrays on this proc, without ghosts - // nf = nfft = FFT points in FFT decomposition on this proc - // nfft_brick = FFT points in 3d brick-decomposition on this proc - // nfb = nfft_both = greater of 2 values - - nf = (nxhi_f-nxlo_f+1) * (nyhi_f-nylo_f+1) * (nzhi_f-nzlo_f+1); - int nfft_brick = (nxhi_i-nxlo_i+1) * (nyhi_i-nylo_i+1) * (nzhi_i-nzlo_i+1); - nfb = MAX(nf,nfft_brick); + nxlo_fft_either = 0; + nxhi_fft_either = nx_either - 1; + nylo_fft_either = me_y*ny_either/npey_fft; + nyhi_fft_either = (me_y+1)*ny_either/npey_fft - 1; + nzlo_fft_either = me_z*nz_either/npez_fft; + nzhi_fft_either = (me_z+1)*nz_either/npez_fft - 1; } /* ---------------------------------------------------------------------- @@ -3365,17 +3300,15 @@ double PPPMDisp::compute_qopt_6_ad() } /* ---------------------------------------------------------------------- - set size of FFT grid and g_ewald_6 - for Dispersion interactions + set global grid and g_ewald_6 for dispersion interactions ------------------------------------------------------------------------- */ -void PPPMDisp::set_grid_6() +void PPPMDisp::set_grid_global_6() { - // calculate csum - if (!csumflag) calc_csum(); if (!gewaldflag_6) set_init_g6(); if (!gridflag_6) set_n_pppm_6(); + while (!factorable(nx_pppm_6)) nx_pppm_6++; while (!factorable(ny_pppm_6)) ny_pppm_6++; while (!factorable(nz_pppm_6)) nz_pppm_6++; diff --git a/src/KSPACE/pppm_disp.h b/src/KSPACE/pppm_disp.h index 5bcf7e01b0..f23382c1e1 100644 --- a/src/KSPACE/pppm_disp.h +++ b/src/KSPACE/pppm_disp.h @@ -64,19 +64,19 @@ class PPPMDisp : public KSpace { double delxinv, delyinv, delzinv, delvolinv; double delxinv_6, delyinv_6, delzinv_6, delvolinv_6; - double shift, shiftone; + double shift, shiftone, shiftatom; int nxlo_in, nylo_in, nzlo_in, nxhi_in, nyhi_in, nzhi_in; int nxlo_out, nylo_out, nzlo_out, nxhi_out, nyhi_out, nzhi_out; int nxlo_fft, nylo_fft, nzlo_fft, nxhi_fft, nyhi_fft, nzhi_fft; int nlower, nupper; - int ngrid, nfft, nfft_both; + int ngrid, nfft_brick, nfft, nfft_both; - double shift_6, shiftone_6; + double shift_6, shiftone_6, shiftatom_6; int nxlo_in_6, nylo_in_6, nzlo_in_6, nxhi_in_6, nyhi_in_6, nzhi_in_6; int nxlo_out_6, nylo_out_6, nzlo_out_6, nxhi_out_6, nyhi_out_6, nzhi_out_6; int nxlo_fft_6, nylo_fft_6, nzlo_fft_6, nxhi_fft_6, nyhi_fft_6, nzhi_fft_6; int nlower_6, nupper_6; - int ngrid_6, nfft_6, nfft_both_6; + int ngrid_6, nfft_brick_6, nfft_6, nfft_both_6; // the following variables are needed for every structure factor @@ -149,7 +149,8 @@ class PPPMDisp : public KSpace { FFT_SCALAR ****v0_brick_none, ****v1_brick_none, ****v2_brick_none, ****v3_brick_none, ****v4_brick_none, ****v5_brick_none; - //// needed for each interaction type + // needed for each interaction type + double *greensfn; double **vg; double **vg2; @@ -190,7 +191,9 @@ class PPPMDisp : public KSpace { int triclinic; // domain settings, orthog or triclinic double *boxlo; + // TIP4P settings + int typeH, typeO; // atom types of TIP4P water H and O atoms double qdist; // distance from O site to negative charge double alpha; // geometric factor @@ -202,15 +205,16 @@ class PPPMDisp : public KSpace { void mmult(double **, double **, double **, int); int check_convergence(double **, double **, double **, double **, double **, double **, int); - void set_grid(); - void set_grid_6(); + void set_grid_global(); + void set_grid_global_6(); + void set_grid_local(int, int, int, int, double &, double &, double &, + int &, int &, int &, int &, int &, int &, int &, int &); void set_init_g6(); - void set_fft_parameters(int &, int &, int &, int &, int &, int &, int &, int &, int &, int &, - int &, int &, int &, int &, int &, int &, int &, int &, int &, int &, - int &, int &, int &, int &, int &, int &, double &, double &, int &); void set_n_pppm_6(); + void adjust_gewald(); void adjust_gewald_6(); + double f(); double derivf(); double f_6(); @@ -218,6 +222,7 @@ class PPPMDisp : public KSpace { double final_accuracy(); void final_accuracy_6(double &, double &, double &); double lj_rspace_error(); + double compute_qopt(); double compute_qopt_6(); double compute_qopt_ik(); @@ -231,6 +236,7 @@ class PPPMDisp : public KSpace { virtual void allocate_peratom(); virtual void deallocate(); virtual void deallocate_peratom(); + int factorable(int); double rms(double, double, bigint, double, double **); double diffpr(double, double, double, double, double **); diff --git a/src/KSPACE/pppm_stagger.cpp b/src/KSPACE/pppm_stagger.cpp index b12f50f561..fb9b5ee4c1 100644 --- a/src/KSPACE/pppm_stagger.cpp +++ b/src/KSPACE/pppm_stagger.cpp @@ -145,7 +145,7 @@ void PPPMStagger::compute(int eflag, int vflag) nstagger = 2; stagger = 0.0; - for (int n=0; n 1.0 if the grid extends beyond the +z boundary by this factor - used by 2d slab-mode PPPM - this effectively maps proc sub-grids to a smaller subset of the grid - nxyz lo/hi = inclusive lo/hi bounds of global grid sub-brick I own - if proc owns no grid cells in a dim, then nlo > nhi - special case: 2 procs share boundary which a grid point is exactly on - 2 equality if tests insure a consistent decision as to which proc owns it -------------------------------------------------------------------------- */ - -void Comm::partition_grid(int nx, int ny, int nz, double zfactor, - int &nxlo, int &nxhi, int &nylo, int &nyhi, - int &nzlo, int &nzhi) -{ - double xfraclo,xfrachi,yfraclo,yfrachi,zfraclo,zfrachi; - - if (layout != LAYOUT_TILED) { - xfraclo = xsplit[myloc[0]]; - xfrachi = xsplit[myloc[0]+1]; - yfraclo = ysplit[myloc[1]]; - yfrachi = ysplit[myloc[1]+1]; - zfraclo = zsplit[myloc[2]]; - zfrachi = zsplit[myloc[2]+1]; - } else { - xfraclo = mysplit[0][0]; - xfrachi = mysplit[0][1]; - yfraclo = mysplit[1][0]; - yfrachi = mysplit[1][1]; - zfraclo = mysplit[2][0]; - zfrachi = mysplit[2][1]; - } - - nxlo = static_cast (xfraclo * nx); - if (1.0*nxlo != xfraclo*nx) nxlo++; - nxhi = static_cast (xfrachi * nx); - if (1.0*nxhi == xfrachi*nx) nxhi--; - - nylo = static_cast (yfraclo * ny); - if (1.0*nylo != yfraclo*ny) nylo++; - nyhi = static_cast (yfrachi * ny); - if (1.0*nyhi == yfrachi*ny) nyhi--; - - if (zfactor == 0.0) { - nzlo = static_cast (zfraclo * nz); - if (1.0*nzlo != zfraclo*nz) nzlo++; - nzhi = static_cast (zfrachi * nz); - if (1.0*nzhi == zfrachi*nz) nzhi--; - } else { - nzlo = static_cast (zfraclo * nz/zfactor); - if (1.0*nzlo != zfraclo*nz) nzlo++; - nzhi = static_cast (zfrachi * nz/zfactor); - if (1.0*nzhi == zfrachi*nz) nzhi--; - } -} - /* ---------------------------------------------------------------------- communicate inbuf around full ring of processors with messtag nbytes = size of inbuf = n datums * nper bytes diff --git a/src/comm.h b/src/comm.h index 3a422f32f1..9476e2e21e 100644 --- a/src/comm.h +++ b/src/comm.h @@ -106,10 +106,6 @@ class Comm : protected Pointers { virtual void coord2proc_setup() {} virtual int coord2proc(double *, int &, int &, int &); - // partition a global regular grid by proc sub-domains - - void partition_grid(int, int, int, double, int &, int &, int &, int &, int &, int &); - // memory usage virtual double memory_usage() = 0; diff --git a/src/grid2d.cpp b/src/grid2d.cpp index c2a4d3c75a..6a9385d30b 100644 --- a/src/grid2d.cpp +++ b/src/grid2d.cpp @@ -530,8 +530,8 @@ void Grid2d::ghost_grid() lo = static_cast((sublo[1]-dist[1]-boxlo[1]) * dyinv + shift_atom + OFFSET) - OFFSET; hi = static_cast((subhi[1]+dist[1]-boxlo[1]) * dyinv + shift_atom + OFFSET) - OFFSET; - outxlo = MIN(lo - stencil_atom_lo, inylo - stencil_grid_lo); - outxhi = MAX(hi + stencil_atom_hi, inyhi + stencil_grid_hi); + outylo = MIN(lo - stencil_atom_lo, inylo - stencil_grid_lo); + outyhi = MAX(hi + stencil_atom_hi, inyhi + stencil_grid_hi); // limit out xyz lo/hi indices to global grid for non-periodic dims @@ -1889,7 +1889,7 @@ int Grid2d::proc_index_uniform(int igrid, int n, int dim, double *split) double fraclo,frachi; // loop over # of procs in this dime - // compute the grid bounds for that proc, same as comm->partition_grid() + // compute the grid bounds for that proc // if igrid falls within those bounds, return m = proc index int m; diff --git a/src/grid3d.cpp b/src/grid3d.cpp index 19dc544b3b..6dd4bd0110 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -61,119 +61,9 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, int gnx, int gny, int gnz) : maxdist = 0.0; stencil_grid_lo = stencil_grid_hi = 0; stencil_atom_lo = stencil_atom_hi = 0; - shift_grid = shift_atom = 0.0; - zfactor = 1.0; -} - -/* ---------------------------------------------------------------------- - constructor called by PPPM classes - gcomm = world communicator - gnx, gny, gnz = size of global grid - i xyz lohi = portion of global grid this proc owns, 0 <= index < N - o xyz lohi = owned grid portion + ghost grid cells needed in all directions - if o indices are < 0 or hi indices are >= N, - then grid is treated as periodic in that dimension, - communication is done across the periodic boundaries -------------------------------------------------------------------------- */ - -Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, - int gnx, int gny, int gnz, - int ixlo, int ixhi, int iylo, int iyhi, int izlo, int izhi, - int oxlo, int oxhi, int oylo, int oyhi, int ozlo, int ozhi) - : Pointers(lmp) -{ - // store commnicator and global grid size - - gridcomm = gcomm; - MPI_Comm_rank(gridcomm,&me); - MPI_Comm_size(gridcomm,&nprocs); - - nx = gnx; - ny = gny; - nz = gnz; - - // store info about Comm decomposition needed for remap operation - // two Grid instances will exist for duration of remap - // each must know Comm decomp at time Grid instance was created - - extract_comm_info(); - - // store grid bounds and proc neighs - - if (layout != Comm::LAYOUT_TILED) { - store(ixlo,ixhi,iylo,iyhi,izlo,izhi, - oxlo,oxhi,oylo,oyhi,ozlo,ozhi, - oxlo,oxhi,oylo,oyhi,ozlo,ozhi, - procxlo,procxhi,procylo,procyhi,proczlo,proczhi); - } else { - store(ixlo,ixhi,iylo,iyhi,izlo,izhi, - oxlo,oxhi,oylo,oyhi,ozlo,ozhi, - oxlo,oxhi,oylo,oyhi,ozlo,ozhi, - 0,0,0,0,0,0); - } -} - -/* ---------------------------------------------------------------------- - constructor called by MSM - gcomm = world communicator or sub-communicator for a hierarchical grid - flag = 1 if e xyz lohi values = larger grid stored by caller in gcomm = world - flag = 2 if e xyz lohi values = 6 neighbor procs in gcomm - gnx, gny, gnz = size of global grid - i xyz lohi = portion of global grid this proc owns, 0 <= index < N - o xyz lohi = owned grid portion + ghost grid cells needed in all directions - e xyz lohi for flag = 1: extent of larger grid stored by caller - e xyz lohi for flag = 2: 6 neighbor procs -------------------------------------------------------------------------- */ - -Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, int flag, - int gnx, int gny, int gnz, - int ixlo, int ixhi, int iylo, int iyhi, int izlo, int izhi, - int oxlo, int oxhi, int oylo, int oyhi, int ozlo, int ozhi, - int exlo, int exhi, int eylo, int eyhi, int ezlo, int ezhi) - : Pointers(lmp) -{ - // store commnicator and global grid size - - gridcomm = gcomm; - MPI_Comm_rank(gridcomm,&me); - MPI_Comm_size(gridcomm,&nprocs); - - nx = gnx; - ny = gny; - nz = gnz; - - // store info about Comm decomposition needed for remap operation - // two Grid instances will exist for duration of remap - // each must know Comm decomp at time Grid instance was created - - extract_comm_info(); - - // store grid bounds and proc neighs - - if (flag == 1) { - if (layout != Comm::LAYOUT_TILED) { - // this assumes gcomm = world - store(ixlo,ixhi,iylo,iyhi,izlo,izhi, - oxlo,oxhi,oylo,oyhi,ozlo,ozhi, - exlo,exhi,eylo,eyhi,ezlo,ezhi, - procxlo,procxhi,procylo,procyhi,proczlo,proczhi); - } else { - store(ixlo,ixhi,iylo,iyhi,izlo,izhi, - oxlo,oxhi,oylo,oyhi,ozlo,ozhi, - exlo,exhi,eylo,eyhi,ezlo,ezhi, - 0,0,0,0,0,0); - } - - } else if (flag == 2) { - if (layout != Comm::LAYOUT_TILED) { - store(ixlo,ixhi,iylo,iyhi,izlo,izhi, - oxlo,oxhi,oylo,oyhi,ozlo,ozhi, - oxlo,oxhi,oylo,oyhi,ozlo,ozhi, - exlo,exhi,eylo,eyhi,ezlo,ezhi); - } else { - error->all(FLERR,"Grid3d does not support tiled layout for MSM"); - } - } + shift_grid = 0.5; + shift_atom_lo = shift_atom_hi = 0.0; + zextra = 0; } /* ---------------------------------------------------------------------- */ @@ -219,54 +109,13 @@ Grid3d::~Grid3d() deallocate_remap(); } -/* ---------------------------------------------------------------------- - store grid bounds and proc neighs from caller in internal variables -------------------------------------------------------------------------- */ - -void Grid3d::store(int ixlo, int ixhi, int iylo, int iyhi, - int izlo, int izhi, - int oxlo, int oxhi, int oylo, int oyhi, - int ozlo, int ozhi, - int fxlo, int fxhi, int fylo, int fyhi, - int fzlo, int fzhi, - int pxlo, int pxhi, int pylo, int pyhi, - int pzlo, int pzhi) -{ - inxlo = ixlo; - inxhi = ixhi; - inylo = iylo; - inyhi = iyhi; - inzlo = izlo; - inzhi = izhi; - - outxlo = oxlo; - outxhi = oxhi; - outylo = oylo; - outyhi = oyhi; - outzlo = ozlo; - outzhi = ozhi; - - fullxlo = fxlo; - fullxhi = fxhi; - fullylo = fylo; - fullyhi = fyhi; - fullzlo = fzlo; - fullzhi = fzhi; - - procxlo = pxlo; - procxhi = pxhi; - procylo = pylo; - procyhi = pyhi; - proczlo = pzlo; - proczhi = pzhi; -} - // ---------------------------------------------------------------------- // set Grid parameters // ---------------------------------------------------------------------- /* ---------------------------------------------------------------------- maxdist = max distance outside proc subdomain a particle can be + used to determine extent of ghost cells ------------------------------------------------------------------------- */ void Grid3d::set_distance(double distance) @@ -276,7 +125,7 @@ void Grid3d::set_distance(double distance) /* ---------------------------------------------------------------------- # of grid cells beyond an owned grid cell that caller accesses - e.g. for a finite different stencial + used by FixTTMGrid for a finite different stencil can be different in lo vs hi direction ------------------------------------------------------------------------- */ @@ -287,8 +136,8 @@ void Grid3d::set_stencil_grid(int lo, int hi) } /* ---------------------------------------------------------------------- - # of grid cells beyond a particle's grid cell that caller updates - e.g. for smearing a point charge to the grid + # of grid cells beyond a particle's grid cell that caller accesses + used by PPPM for smearing a point charge to the grid can be different in lo vs hi direction ------------------------------------------------------------------------- */ @@ -299,9 +148,9 @@ void Grid3d::set_stencil_atom(int lo, int hi) } /* ---------------------------------------------------------------------- - shift_grid = offset of position of grid point within grid cell - 0.5 = cell center, 0.0 = lower-left corner of cell - used to determine which proc owns the grid cell within its subdomain + shift_grid = offset within grid cell of position of grid point + 0.5 = cell center (default), 0.0 = lower-left corner of cell + used by Grid to decide which proc owns a grid cell (grid pt within subdomain) ------------------------------------------------------------------------- */ void Grid3d::set_shift_grid(double shift) @@ -310,28 +159,72 @@ void Grid3d::set_shift_grid(double shift) } /* ---------------------------------------------------------------------- - shift_atom = offset of atoms when caller maps them to grid cells + shift_atom = offset added to atoms when caller maps them to grid cells 0.5 = half a grid cell, 0.0 = no offset - used when computing possible ghost extent - PPPM uses 0.5 when order is odd, 0.0 when order is even + used by Grid to compute maximum possible ghost extents + use of lo/hi allows max ghost extent on each side to be different + PPPM uses 0.5 when stencil order is odd, 0.0 when order is even + PPPM/stagger applies different shift values for 2 stagger iterations ------------------------------------------------------------------------- */ -void Grid3d::set_shift_atom(double shift) +void Grid3d::set_shift_atom(double shift_lo, double shift_hi) { - shift_atom = shift; + shift_atom_lo = shift_lo; + shift_atom_hi = shift_hi; } /* ---------------------------------------------------------------------- - zfactor > 1.0 when grid extends beyond simulation box bounds in Z - used by KSpace PPPM for 2d periodic slab geometries - default = 1.0 (no extension in Z) + enable extra grid cells in Z + factor = muliplication factor on box size Z and thus grid size + factor > 1.0 when grid extends beyond Z box size (3.0 = tripled in size) + used by PPPM for 2d periodic slab geometries + default zextra = 0, factor = 1.0 (no extra grid cells in Z) ------------------------------------------------------------------------- */ void Grid3d::set_zfactor(double factor) { + if (factor == 1.0) zextra = 0; + else zextra = 1; zfactor = factor; } +/* ---------------------------------------------------------------------- + set IDs of proc neighbors used in uniform local owned/ghost comm + call this AFTER setup_grid() but BEFORE setup_comm() to override + the processor neighbors stored by extract_comm() + used by MSM to exclude non-participating procs for coarse grid comm +------------------------------------------------------------------------- */ + +void Grid3d::set_proc_neighs(int pxlo, int pxhi, int pylo, int pyhi, + int pzlo, int pzhi) +{ + procxlo = pxlo; + procxhi = pxhi; + procylo = pylo; + procyhi = pyhi; + proczlo = pzlo; + proczhi = pzhi; +} + +/* ---------------------------------------------------------------------- + set allocation dimensions of caller grid used by indices() to setup pack/unpack + call this AFTER setup_grid() but BEFORE setup_comm() to override + the caller grid size set by setup_grid() + used by MSM to allow a larger level 0 grid to be allocated + with more ghost cells for other operations +------------------------------------------------------------------------- */ + +void Grid3d::set_larger_grid(int fxlo, int fxhi, int fylo, int fyhi, + int fzlo, int fzhi) +{ + fullxlo = fxlo; + fullxhi = fxhi; + fullylo = fylo; + fullyhi = fyhi; + fullzlo = fzlo; + fullzhi = fzhi; +} + // ---------------------------------------------------------------------- // retrieve Grid parameters // ---------------------------------------------------------------------- @@ -454,7 +347,7 @@ void Grid3d::setup_grid(int &ixlo, int &ixhi, int &iylo, int &iyhi, // default = caller grid is allocated to ghost grid // used when computing pack/unpack lists in indices() - // NOTE: allow caller to override this + // these values can be overridden by caller using set_larger_grid() fullxlo = outxlo; fullxhi = outxhi; @@ -577,23 +470,24 @@ void Grid3d::ghost_grid() double dzinv = nz / prd[2]; int lo, hi; - lo = static_cast((sublo[0]-dist[0]-boxlo[0]) * dxinv + shift_atom + OFFSET) - OFFSET; - hi = static_cast((subhi[0]+dist[0]-boxlo[0]) * dxinv + shift_atom + OFFSET) - OFFSET; + lo = static_cast((sublo[0]-dist[0]-boxlo[0]) * dxinv + shift_atom_lo + OFFSET) - OFFSET; + hi = static_cast((subhi[0]+dist[0]-boxlo[0]) * dxinv + shift_atom_hi + OFFSET) - OFFSET; outxlo = MIN(lo - stencil_atom_lo, inxlo - stencil_grid_lo); outxhi = MAX(hi + stencil_atom_hi, inxhi + stencil_grid_hi); - lo = static_cast((sublo[1]-dist[1]-boxlo[1]) * dyinv + shift_atom + OFFSET) - OFFSET; - hi = static_cast((subhi[1]+dist[1]-boxlo[1]) * dyinv + shift_atom + OFFSET) - OFFSET; - outxlo = MIN(lo - stencil_atom_lo, inylo - stencil_grid_lo); - outxhi = MAX(hi + stencil_atom_hi, inyhi + stencil_grid_hi); + lo = static_cast((sublo[1]-dist[1]-boxlo[1]) * dyinv + shift_atom_lo + OFFSET) - OFFSET; + hi = static_cast((subhi[1]+dist[1]-boxlo[1]) * dyinv + shift_atom_hi + OFFSET) - OFFSET; + outylo = MIN(lo - stencil_atom_lo, inylo - stencil_grid_lo); + outyhi = MAX(hi + stencil_atom_hi, inyhi + stencil_grid_hi); - // NOTE: need to account for zfactor here + if (zextra == 0) { + lo = static_cast((sublo[2]-dist[2]-boxlo[2]) * dzinv + shift_atom_lo + OFFSET) - OFFSET; + hi = static_cast((subhi[2]+dist[2]-boxlo[2]) * dzinv + shift_atom_hi + OFFSET) - OFFSET; + outzlo = MIN(lo - stencil_atom_lo, inzlo - stencil_grid_lo); + outzhi = MAX(hi + stencil_atom_hi, inzhi + stencil_grid_hi); + } else { + } - lo = static_cast((sublo[2]-dist[2]-boxlo[2]) * dzinv + shift_atom + OFFSET) - OFFSET; - hi = static_cast((subhi[2]+dist[2]-boxlo[2]) * dzinv + shift_atom + OFFSET) - OFFSET; - outxlo = MIN(lo - stencil_atom_lo, inzlo - stencil_grid_lo); - outxhi = MAX(hi + stencil_atom_hi, inzhi + stencil_grid_hi); - // limit out xyz lo/hi indices to global grid for non-periodic dims int *periodicity = domain->periodicity; @@ -612,6 +506,45 @@ void Grid3d::ghost_grid() outzlo = MAX(0,outzlo); outzhi = MIN(nz-1,outzhi); } + + + // NOTE: zperiod effects, also in owned grid cells ? + + /* + + // extent of zprd when 2d slab mode is selected + + double zprd_slab = zprd*slab_volfactor; + + // for slab PPPM, assign z grid as if it were not extended + + nlo = static_cast ((sublo[2]-dist[2]-boxlo[2]) * + nz_pppm/zprd_slab + shift) - OFFSET; + nhi = static_cast ((subhi[2]+dist[2]-boxlo[2]) * + nz_pppm/zprd_slab + shift) - OFFSET; + nzlo_out = nlo + nlower; + nzhi_out = nhi + nupper; + + // for slab PPPM, change the grid boundary for processors at +z end + // to include the empty volume between periodically repeating slabs + // for slab PPPM, want charge data communicated from -z proc to +z proc, + // but not vice versa, also want field data communicated from +z proc to + // -z proc, but not vice versa + // this is accomplished by nzhi_in = nzhi_out on +z end (no ghost cells) + // also insure no other procs use ghost cells beyond +z limit + // differnet logic for non-tiled vs tiled decomposition + + if (slabflag == 1) { + if (comm->layout != Comm::LAYOUT_TILED) { + if (comm->myloc[2] == comm->procgrid[2]-1) nzhi_in = nzhi_out = nz_pppm - 1; + } else { + if (comm->mysplit[2][1] == 1.0) nzhi_in = nzhi_out = nz_pppm - 1; + } + nzhi_out = MIN(nzhi_out,nz_pppm-1); + } + + */ + } /* ---------------------------------------------------------------------- @@ -625,7 +558,7 @@ void Grid3d::extract_comm_info() // for non TILED layout: // proc xyz lohi = my 6 neighbor procs in this MPI_Comm - // NOTE: will need special logic for MSM case with different MPI_Comm + // these proc IDs can be overridden by caller using set_proc_neighs() // xyz split = copy of 1d vectors in Comm // grid2proc = copy of 3d array in Comm @@ -2095,7 +2028,7 @@ int Grid3d::proc_index_uniform(int igrid, int n, int dim, double *split) double fraclo,frachi; // loop over # of procs in this dime - // compute the grid bounds for that proc, same as comm->partition_grid() + // compute the grid bounds for that proc // if igrid falls within those bounds, return m = proc index int m; diff --git a/src/grid3d.h b/src/grid3d.h index 8874102590..39734a482f 100644 --- a/src/grid3d.h +++ b/src/grid3d.h @@ -23,21 +23,16 @@ class Grid3d : protected Pointers { enum { KSPACE = 0, PAIR = 1, FIX = 2 }; // calling classes Grid3d(class LAMMPS *, MPI_Comm, int, int, int); - - Grid3d(class LAMMPS *, MPI_Comm, int, int, int, int, int, int, int, int, int, - int, int, int, int, int, int); - Grid3d(class LAMMPS *, MPI_Comm, int, int, int, int, - int, int, int, int, int, int, int, int, int, int, int, int, - int, int, int, int, int, int); - - ~Grid3d() override; + ~Grid3d(); void set_distance(double); void set_stencil_grid(int, int); void set_stencil_atom(int, int); void set_shift_grid(double); - void set_shift_atom(double); + void set_shift_atom(double, double); void set_zfactor(double); + void set_larger_grid(int, int, int, int, int, int); + void set_proc_neighs(int, int, int, int, int, int); int identical(Grid3d *); void get_size(int &, int &, int &); @@ -72,10 +67,12 @@ class Grid3d : protected Pointers { int stencil_grid_lo,stencil_grid_hi; // grid cells accessed beyond owned cell double shift_grid; // location of grid point within grid cell // only affects which proc owns grid cell - double shift_atom; // shift applied to atomd when mapped to grid cell by caller + double shift_atom_lo,shift_atom_hi;; // max shift applied to atoms + // when mapped to grid cell by caller + // can be different in lo/hi directions // only affects extent of ghost cells - double zfactor; // multiplier on extend of grid in Z direction - // 1.0 = no extra grid cells in Z + int zextra; // 1 if extra grid cells in Z, 0 if not + double zfactor; // multiplier on extent of grid in Z direction // extent of my owned and ghost cells From 8af384243f84b0e8b0995cf709490edf4dd85cf3 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 2 Nov 2022 15:01:58 -0600 Subject: [PATCH 088/142] support for more caller options in Grid2d/3d --- src/KSPACE/msm.cpp | 81 ++++------- src/grid2d.cpp | 344 ++++++++++++++++++++++----------------------- src/grid2d.h | 21 +-- src/grid3d.cpp | 224 ++++++++++++++++++----------- src/grid3d.h | 12 +- 5 files changed, 357 insertions(+), 325 deletions(-) diff --git a/src/KSPACE/msm.cpp b/src/KSPACE/msm.cpp index 0705a91e64..60930943b0 100644 --- a/src/KSPACE/msm.cpp +++ b/src/KSPACE/msm.cpp @@ -594,32 +594,17 @@ void MSM::allocate() memory->create2d_offset(phi1d,3,-order,order,"msm:phi1d"); memory->create2d_offset(dphi1d,3,-order,order,"msm:dphi1d"); - // one Grid3d using all processors for finest grid level - - gcall = new Grid3d(lmp,world,nx_msm[0],ny_msm[0],nz_msm[0]); - gcall->set_distance(0.5*neighbor->skin); - gcall->set_stencil_atom(-nlower,nupper); - - gcall->setup_grid(nxlo_in[0],nxhi_in[0],nylo_in[0], - nyhi_in[0],nzlo_in[0],nzhi_in[0], - nxlo_out_all,nxhi_out_all,nylo_out_all, - nyhi_out_all,nzlo_out_all,nzhi_out_all); - - gcall->set_larger_grid(nxlo_out[0],nxhi_out[0],nylo_out[0], - nyhi_out[0],nzlo_out[0],nzhi_out[0]); + // one Grid3d for finest grid level, using world comm and all procs + // use set_caller_grid() b/c MSM allocates local grid > out_all values - // NOTE: or is it out[0] ?? - // NOTE: worry about flag = 1 here, 2 later - - /* - gcall = new Grid3d(lmp,world,1,nx_msm[0],ny_msm[0],nz_msm[0], + gcall = new Grid3d(lmp,world,nx_msm[0],ny_msm[0],nz_msm[0], nxlo_in[0],nxhi_in[0],nylo_in[0], nyhi_in[0],nzlo_in[0],nzhi_in[0], nxlo_out_all,nxhi_out_all,nylo_out_all, - nyhi_out_all,nzlo_out_all,nzhi_out_all, - nxlo_out[0],nxhi_out[0],nylo_out[0], - nyhi_out[0],nzlo_out[0],nzhi_out[0]); - */ + nyhi_out_all,nzlo_out_all,nzhi_out_all); + + gcall->set_caller_grid(nxlo_out[0],nxhi_out[0],nylo_out[0], + nyhi_out[0],nzlo_out[0],nzhi_out[0]); gcall->setup_comm(ngcall_buf1,ngcall_buf2); npergrid = 1; @@ -639,34 +624,20 @@ void MSM::allocate() memory->create3d_offset(egrid[n],nzlo_out[n],nzhi_out[n], nylo_out[n],nyhi_out[n],nxlo_out[n],nxhi_out[n],"msm:egrid"); - // create commgrid object for rho and electric field communication + // one Grid3d per level, using level-specific comm for coarser grids + // use set_proc_neigh() b/c MSM excludes non-participating procs from owned/ghost comm if (active_flag[n]) { delete gc[n]; - // NOTE: why is n = 0 same as all for grid size ? - - gc[n] = new Grid3d(lmp,world_levels[n],nx_msm[n],ny_msm[n],nz_msm[n]); - gc[n]->set_stencil_atom(-nlower,nupper); - - gc[n]->setup_grid(nxlo_in[n],nxhi_in[n],nylo_in[n], - nyhi_in[n],nzlo_in[n],nzhi_in[n], - nxlo_out[n],nxhi_out[n],nylo_out[n], - nyhi_out[n],nzlo_out[n],nzhi_out[n]); + gc[n] = new Grid3d(lmp,world_levels[n],nx_msm[n],ny_msm[n],nz_msm[n], + nxlo_in[n],nxhi_in[n],nylo_in[n],nyhi_in[n],nzlo_in[n],nzhi_in[n], + nxlo_out[n],nxhi_out[n],nylo_out[n],nyhi_out[n],nzlo_out[n],nzhi_out[n]); int **procneigh = procneigh_levels[n]; gc[n]->set_proc_neighs(procneigh[0][0],procneigh[0][1],procneigh[1][0], procneigh[1][1],procneigh[2][0],procneigh[2][1]); - /* - gc[n] = new Grid3d(lmp,world_levels[n],2,nx_msm[n],ny_msm[n],nz_msm[n], - nxlo_in[n],nxhi_in[n],nylo_in[n],nyhi_in[n], - nzlo_in[n],nzhi_in[n], - nxlo_out[n],nxhi_out[n],nylo_out[n],nyhi_out[n], - procneigh[0][0],procneigh[0][1],procneigh[1][0], - procneigh[1][1],procneigh[2][0],procneigh[2][1]); - */ - gc[n]->setup_comm(ngc_buf1[n],ngc_buf2[n]); npergrid = 1; memory->destroy(gc_buf1[n]); @@ -1194,18 +1165,23 @@ void MSM::set_grid_local() for (int n = 0; n < levels; n++) { - // deleted and nullify grid arrays since the number or offset of gridpoints may change + // delete and nullify grid arrays since the number or offset of gridpoints may change memory->destroy3d_offset(qgrid[n],nzlo_out[n],nylo_out[n],nxlo_out[n]); memory->destroy3d_offset(egrid[n],nzlo_out[n],nylo_out[n],nxlo_out[n]); - // partition global grid across procs - // n xyz lo/hi in[] = lower/upper bounds of global grid this proc owns - // indices range from 0 to N-1 inclusive in each dim + // use Grid3d to partition each grid into owned cells on each proc + // assignment of ghost cells is done below + // Grid3d is called later in allocate() with owned+ghost bounds - //comm->partition_grid(nx_msm[n],ny_msm[n],nz_msm[n],0.0, - // nxlo_in[n],nxhi_in[n],nylo_in[n],nyhi_in[n], - // nzlo_in[n],nzhi_in[n]); + gcall = new Grid3d(lmp,world,nx_msm[n],ny_msm[n],nz_msm[n]); + gcall->setup_grid(nxlo_in[n],nxhi_in[n],nylo_in[n], + nyhi_in[n],nzlo_in[n],nzhi_in[n], + nxlo_out[n],nxhi_out[n],nylo_out[n], + nyhi_out[n],nzlo_out[n],nzhi_out[n]); + delete gcall; + + // nlower/nupper = stencil size for mapping particles to grid nlower = -(order-1)/2; nupper = order/2; @@ -1236,10 +1212,12 @@ void MSM::set_grid_local() // position a particle in my box can be at // dist[3] = particle position bound = subbox + skin/2.0 // nlo_out,nhi_out = nlo,nhi + stencil size for particle mapping + // for n = 0, use a smaller ghost region for interpolation + // for n > 0, larger ghost region needed for direct sum and restriction/prolongation double dist[3]; double cuthalf = 0.0; - if (n == 0) cuthalf = 0.5*neighbor->skin; // only applies to finest grid + if (n == 0) cuthalf = 0.5*neighbor->skin; // only applies to finest grid dist[0] = dist[1] = dist[2] = cuthalf; if (triclinic) MathExtra::tribbox(domain->h,cuthalf,&dist[0]); @@ -1249,14 +1227,12 @@ void MSM::set_grid_local() nx_msm[n]/xprd + OFFSET) - OFFSET; nhi = static_cast ((subhi[0]+dist[0]-boxlo[0]) * nx_msm[n]/xprd + OFFSET) - OFFSET; + if (n == 0) { - // use a smaller ghost region for interpolation nxlo_out_all = nlo + nlower; nxhi_out_all = nhi + nupper; } - // a larger ghost region is needed for the direct sum and for restriction/prolongation - nxlo_out[n] = nlo + MIN(-order,nxlo_direct); nxhi_out[n] = nhi + MAX(order,nxhi_direct); @@ -1268,6 +1244,7 @@ void MSM::set_grid_local() nylo_out_all = nlo + nlower; nyhi_out_all = nhi + nupper; } + nylo_out[n] = nlo + MIN(-order,nylo_direct); nyhi_out[n] = nhi + MAX(order,nyhi_direct); diff --git a/src/grid2d.cpp b/src/grid2d.cpp index 6a9385d30b..77ae289d63 100644 --- a/src/grid2d.cpp +++ b/src/grid2d.cpp @@ -40,9 +40,11 @@ static constexpr int OFFSET = 16384; ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- - constructor to create a 3d distributed grid + constructor to create a 2d distributed grid + Grid3d assigns owned/ghost cells to each proc via setup_grid() + it MUST be called after constructor gcomm = caller's communicator - gnx,gny = global grid size + gnx,gny,gnz = global grid size ------------------------------------------------------------------------- */ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, int gnx, int gny) : Pointers(lmp) @@ -55,32 +57,35 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, int gnx, int gny) : Pointers(lmp) ny = gny; // default settings, can be overridden by set() methods + // these affect assignment of owned and ghost cells maxdist = 0.0; stencil_grid_lo = stencil_grid_hi = 0; stencil_atom_lo = stencil_atom_hi = 0; - shift_grid = shift_atom = 0.0; + shift_grid = 0.5; + shift_atom_lo = shift_atom_hi = 0.0; + yextra = 0; + yfactor = 1.0; } /* ---------------------------------------------------------------------- - constructor called by PPPM classes - gcomm = world communicator - gnx, gny = size of global grid - i xy lohi = portion of global grid this proc owns, 0 <= index < N - o xy lohi = owned grid portion + ghost grid cells needed in all directions - if o indices are < 0 or hi indices are >= N, - then grid is treated as periodic in that dimension, - communication is done across the periodic boundaries + alternate constructor to create a 2d distributed grid + caller assigns owned/ghost cells to each proc + setup_grid() must NOT be called + gcomm = caller's communicator + gnx,gny = global grid size + i xy lo/hi = extent of owned grid cells on this proc + o xy lo/hi = extent of owned+ghost grid cells on this proc + owned and ghost indices are inclusive + owned indices range from 0 to N-1 + ghost indices can extend < 0 or >= N ------------------------------------------------------------------------- */ -Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, - int gnx, int gny, +Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, int gnx, int gny, int ixlo, int ixhi, int iylo, int iyhi, - int oxlo, int oxhi, int oylo, int oyhi) - : Pointers(lmp) + int oxlo, int oxhi, int oylo, int oyhi) : + Pointers(lmp) { - // store commnicator and global grid size - gridcomm = gcomm; MPI_Comm_rank(gridcomm,&me); MPI_Comm_size(gridcomm,&nprocs); @@ -88,87 +93,22 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, nx = gnx; ny = gny; - // store info about Comm decomposition needed for remap operation - // two Grid instances will exist for duration of remap - // each must know Comm decomp at time Grid instance was created + // store owned/ghost indices provided by caller + + inxlo = ixlo; + inxhi = ixhi; + inylo = iylo; + inyhi = iyhi; - extract_comm_info(); + outxlo = oxlo; + outxhi = oxhi; + outylo = oylo; + outyhi = oyhi; - // store grid bounds and proc neighs + // additional intialization + // other constructor invokes this from setup_grid() - if (layout != Comm::LAYOUT_TILED) { - store(ixlo,ixhi,iylo,iyhi, - oxlo,oxhi,oylo,oyhi, - oxlo,oxhi,oylo,oyhi, - procxlo,procxhi,procylo,procyhi); - } else { - store(ixlo,ixhi,iylo,iyhi, - oxlo,oxhi,oylo,oyhi, - oxlo,oxhi,oylo,oyhi, - 0,0,0,0); - } -} - -/* ---------------------------------------------------------------------- - constructor called by MSM - gcomm = world communicator or sub-communicator for a hierarchical grid - flag = 1 if e xy lohi values = larger grid stored by caller in gcomm = world - flag = 2 if e xy lohi values = 6 neighbor procs in gcomm - gnx, gny = size of global grid - i xy lohi = portion of global grid this proc owns, 0 <= index < N - o xy lohi = owned grid portion + ghost grid cells needed in all directions - e xy lohi for flag = 1: extent of larger grid stored by caller - e xy lohi for flag = 2: 4 neighbor procs -------------------------------------------------------------------------- */ - -Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, int flag, - int gnx, int gny, - int ixlo, int ixhi, int iylo, int iyhi, - int oxlo, int oxhi, int oylo, int oyhi, - int exlo, int exhi, int eylo, int eyhi) - : Pointers(lmp) -{ - // store commnicator and global grid size - - gridcomm = gcomm; - MPI_Comm_rank(gridcomm,&me); - MPI_Comm_size(gridcomm,&nprocs); - - nx = gnx; - ny = gny; - - // store info about Comm decomposition needed for remap operation - // two Grid instances will exist for duration of remap - // each must know Comm decomp at time Grid instance was created - - extract_comm_info(); - - // store grid bounds and proc neighs - - if (flag == 1) { - if (layout != Comm::LAYOUT_TILED) { - // this assumes gcomm = world - store(ixlo,ixhi,iylo,iyhi, - oxlo,oxhi,oylo,oyhi, - exlo,exhi,eylo,eyhi, - procxlo,procxhi,procylo,procyhi); - } else { - store(ixlo,ixhi,iylo,iyhi, - oxlo,oxhi,oylo,oyhi, - exlo,exhi,eylo,eyhi, - 0,0,0,0); - } - - } else if (flag == 2) { - if (layout != Comm::LAYOUT_TILED) { - store(ixlo,ixhi,iylo,iyhi, - oxlo,oxhi,oylo,oyhi, - oxlo,oxhi,oylo,oyhi, - exlo,exhi,eylo,eyhi); - } else { - error->all(FLERR,"Grid2d does not support tiled layout for MSM"); - } - } + initialize(); } /* ---------------------------------------------------------------------- */ @@ -213,42 +153,13 @@ Grid2d::~Grid2d() deallocate_remap(); } -/* ---------------------------------------------------------------------- - store grid bounds and proc neighs from caller in internal variables -------------------------------------------------------------------------- */ - -void Grid2d::store(int ixlo, int ixhi, int iylo, int iyhi, - int oxlo, int oxhi, int oylo, int oyhi, - int fxlo, int fxhi, int fylo, int fyhi, - int pxlo, int pxhi, int pylo, int pyhi) -{ - inxlo = ixlo; - inxhi = ixhi; - inylo = iylo; - inyhi = iyhi; - - outxlo = oxlo; - outxhi = oxhi; - outylo = oylo; - outyhi = oyhi; - - fullxlo = fxlo; - fullxhi = fxhi; - fullylo = fylo; - fullyhi = fyhi; - - procxlo = pxlo; - procxhi = pxhi; - procylo = pylo; - procyhi = pyhi; -} - // ---------------------------------------------------------------------- // set Grid parameters // ---------------------------------------------------------------------- /* ---------------------------------------------------------------------- maxdist = max distance outside proc subdomain a particle can be + used to determine extent of ghost cells ------------------------------------------------------------------------- */ void Grid2d::set_distance(double distance) @@ -258,7 +169,6 @@ void Grid2d::set_distance(double distance) /* ---------------------------------------------------------------------- # of grid cells beyond an owned grid cell that caller accesses - e.g. for a finite different stencial can be different in lo vs hi direction ------------------------------------------------------------------------- */ @@ -269,8 +179,7 @@ void Grid2d::set_stencil_grid(int lo, int hi) } /* ---------------------------------------------------------------------- - # of grid cells beyond a particle's grid cell that caller updates - e.g. for smearing a point charge to the grid + # of grid cells beyond a particle's grid cell that caller accesses can be different in lo vs hi direction ------------------------------------------------------------------------- */ @@ -281,9 +190,9 @@ void Grid2d::set_stencil_atom(int lo, int hi) } /* ---------------------------------------------------------------------- - shift_grid = offset of position of grid point within grid cell - 0.5 = cell center, 0.0 = lower-left corner of cell - used to determine which proc owns the grid cell within its subdomain + shift_grid = offset within grid cell of position of grid point + 0.5 = cell center (default), 0.0 = lower-left corner of cell + used to decide which proc owns a grid cell (grid pt within subdomain) ------------------------------------------------------------------------- */ void Grid2d::set_shift_grid(double shift) @@ -292,15 +201,58 @@ void Grid2d::set_shift_grid(double shift) } /* ---------------------------------------------------------------------- - shift_atom = offset of atoms when caller maps them to grid cells + shift_atom = offset added to atoms when caller maps them to grid cells 0.5 = half a grid cell, 0.0 = no offset - used when computing possible ghost extent - PPPM uses 0.5 when order is odd, 0.0 when order is even + used to compute maximum possible ghost extents + use of lo/hi allows max ghost extent on each side to be different ------------------------------------------------------------------------- */ -void Grid2d::set_shift_atom(double shift) +void Grid2d::set_shift_atom(double shift_lo, double shift_hi) { - shift_atom = shift; + shift_atom_lo = shift_lo; + shift_atom_hi = shift_hi; +} + +/* ---------------------------------------------------------------------- + enable extra grid cells in Y + factor = muliplication factor on box size Y and thus grid size + factor > 1.0 when grid extends beyond Y box size (3.0 = tripled in size) + default zextra = 0, factor = 1.0 (no extra grid cells in Y) +------------------------------------------------------------------------- */ + +void Grid2d::set_yfactor(double factor) +{ + if (factor == 1.0) yextra = 0; + else yextra = 1; + yfactor = factor; +} + +/* ---------------------------------------------------------------------- + set IDs of proc neighbors used in uniform local owned/ghost comm + called AFTER setup_grid() but BEFORE setup_comm() to override + the processor neighbors stored by extract_comm() +------------------------------------------------------------------------- */ + +void Grid2d::set_proc_neighs(int pxlo, int pxhi, int pylo, int pyhi) +{ + procxlo = pxlo; + procxhi = pxhi; + procylo = pylo; + procyhi = pyhi; +} + +/* ---------------------------------------------------------------------- + set allocation dimensions of caller grid used by indices() to setup pack/unpack + called AFTER setup_grid() but BEFORE setup_comm() to override + the caller grid size set by setup_grid() and used in indices() +------------------------------------------------------------------------- */ + +void Grid2d::set_caller_grid(int fxlo, int fxhi, int fylo, int fyhi) +{ + fullxlo = fxlo; + fullxhi = fxhi; + fullylo = fylo; + fullyhi = fyhi; } // ---------------------------------------------------------------------- @@ -382,32 +334,56 @@ void Grid2d::setup_grid(int &ixlo, int &ixhi, int &iylo, int &iyhi, if (comm->layout != Comm::LAYOUT_TILED) { fraclo = comm->xsplit[comm->myloc[0]]; frachi = comm->xsplit[comm->myloc[0]+1]; - partition_grid(nx,fraclo,frachi,shift_grid,inxlo,inxhi); + partition_grid(nx,fraclo,frachi,shift_grid,0,inxlo,inxhi); fraclo = comm->ysplit[comm->myloc[1]]; frachi = comm->ysplit[comm->myloc[1]+1]; - partition_grid(ny,fraclo,frachi,shift_grid,inylo,inyhi); + partition_grid(ny,fraclo,frachi,shift_grid,yextra,inylo,inyhi); } else { fraclo = comm->mysplit[0][0]; frachi = comm->mysplit[0][1]; - partition_grid(nx,fraclo,frachi,shift_grid,inxlo,inxhi); + partition_grid(nx,fraclo,frachi,shift_grid,0,inxlo,inxhi); fraclo = comm->mysplit[1][0]; frachi = comm->mysplit[1][1]; - partition_grid(ny,fraclo,frachi,shift_grid,inylo,inyhi); + partition_grid(ny,fraclo,frachi,shift_grid,yextra,inylo,inyhi); } // extend owned grid bounds with ghost grid cells in each direction ghost_grid(); + // additional intialization + // other constructor invokes this directly + + initialize(); + + // return values + + ixlo = inxlo; + ixhi = inxhi; + iylo = inylo; + iyhi = inyhi; + + oxlo = outxlo; + oxhi = outxhi; + oylo = outylo; + oyhi = outyhi; +} + +/* ---------------------------------------------------------------------- + additional one-time setup common to both constructors + ---------------------------------------------------------------------- */ + +void Grid2d::initialize() +{ // error check on size of grid stored by this proc bigint total = (bigint) (outxhi - outxlo + 1) * (outyhi - outylo + 1); if (total > MAXSMALLINT) - error->one(FLERR, "Too many owned+ghost grid3d points"); + error->one(FLERR, "Too many owned+ghost grid2d points"); // default = caller grid is allocated to ghost grid // used when computing pack/unpack lists in indices() - // NOTE: allow caller to override this + // these values can be overridden using set_caller_grid() fullxlo = outxlo; fullxhi = outxhi; @@ -439,18 +415,6 @@ void Grid2d::setup_grid(int &ixlo, int &ixhi, int &iylo, int &iyhi, // each must know Comm decomp at time Grid instance was created extract_comm_info(); - - // return values - - ixlo = inxlo; - ixhi = inxhi; - iylo = inylo; - iyhi = inyhi; - - oxlo = outxlo; - oxhi = outxhi; - oylo = outylo; - oyhi = outyhi; } /* ---------------------------------------------------------------------- @@ -460,11 +424,10 @@ void Grid2d::setup_grid(int &ixlo, int &ixhi, int &iylo, int &iyhi, ngrid = extent of global grid in a dimension indices into the global grid range from 0 to Ngrid-1 in that dim shift factor determines position of grid pt within grid cell - // NOTE: for future support of zfactor - zfactor = 0.0 if the grid exactly covers the simulation box - zfactor > 1.0 if the grid extends beyond the +z boundary by this factor - used by 2d slab-mode PPPM - this effectively maps proc sub-grids to a smaller subset of the grid + shift = 0.5 for cell center, 0.0 for lower-left corner + extra = 0 if grid exactly covers the simulation box + extra = 1 if grid extends beyond the +y boundary by yfactor + effectively maps proc partitions to the box-size subset of the grid lo/hi = inclusive lo/hi bounds for brick of global grid cells I own lo grid index = first grid pt >= fraclo bound hi grid index = last grid pt < frachi bound @@ -474,12 +437,19 @@ void Grid2d::setup_grid(int &ixlo, int &ixhi, int &iylo, int &iyhi, ------------------------------------------------------------------------- */ void Grid2d::partition_grid(int ngrid, double fraclo, double frachi, - double shift, int &lo, int &hi) + double shift, int extra, int &lo, int &hi) { - lo = static_cast (fraclo * ngrid); - while (1.0*lo + shift/ngrid < fraclo*ngrid) lo++; - hi = static_cast (frachi * ngrid); - while (1.0*hi + shift/ngrid >= frachi*ngrid) hi--; + if (extra == 0) { + lo = static_cast (fraclo * ngrid); + while (1.0*lo + shift/ngrid < fraclo*ngrid) lo++; + hi = static_cast (frachi * ngrid); + while (1.0*hi + shift/ngrid >= frachi*ngrid) hi--; + } else { + lo = static_cast (fraclo * ngrid/yfactor); + while (1.0*lo + shift/ngrid < fraclo*ngrid) lo++; + hi = static_cast (frachi * ngrid/yfactor); + while (1.0*hi + shift/ngrid >= frachi*ngrid) hi--; + } } /* ---------------------------------------------------------------------- @@ -521,19 +491,47 @@ void Grid2d::ghost_grid() double dxinv = nx / prd[0]; double dyinv = ny / prd[1]; + double dyinv_slab = ny / (prd[1] * yfactor); + int lo, hi; - lo = static_cast((sublo[0]-dist[0]-boxlo[0]) * dxinv + shift_atom + OFFSET) - OFFSET; - hi = static_cast((subhi[0]+dist[0]-boxlo[0]) * dxinv + shift_atom + OFFSET) - OFFSET; + lo = static_cast((sublo[0]-dist[0]-boxlo[0]) * dxinv + shift_atom_lo + OFFSET) - OFFSET; + hi = static_cast((subhi[0]+dist[0]-boxlo[0]) * dxinv + shift_atom_hi + OFFSET) - OFFSET; outxlo = MIN(lo - stencil_atom_lo, inxlo - stencil_grid_lo); outxhi = MAX(hi + stencil_atom_hi, inxhi + stencil_grid_hi); - lo = static_cast((sublo[1]-dist[1]-boxlo[1]) * dyinv + shift_atom + OFFSET) - OFFSET; - hi = static_cast((subhi[1]+dist[1]-boxlo[1]) * dyinv + shift_atom + OFFSET) - OFFSET; - outylo = MIN(lo - stencil_atom_lo, inylo - stencil_grid_lo); - outyhi = MAX(hi + stencil_atom_hi, inyhi + stencil_grid_hi); + if (yextra == 0) { + lo = static_cast((sublo[1]-dist[1]-boxlo[1]) * dyinv + shift_atom_lo + OFFSET) - OFFSET; + hi = static_cast((subhi[1]+dist[1]-boxlo[1]) * dyinv + shift_atom_hi + OFFSET) - OFFSET; + outylo = MIN(lo - stencil_atom_lo, inylo - stencil_grid_lo); + outyhi = MAX(hi + stencil_atom_hi, inyhi + stencil_grid_hi); + } else { + lo = static_cast((sublo[1]-dist[1]-boxlo[1]) * dyinv_slab + shift_atom_lo + OFFSET) - OFFSET; + hi = static_cast((subhi[1]+dist[1]-boxlo[1]) * dyinv_slab + shift_atom_hi + OFFSET) - OFFSET; + outylo = MIN(lo - stencil_atom_lo, inylo - stencil_grid_lo); + outyhi = MAX(hi + stencil_atom_hi, inyhi + stencil_grid_hi); + } + + // if yextra = 1: + // adjust grid boundaries for processors at +y end, + // to include added empty grid cells between periodically repeating slabs + // in this case: + // want grid data forward communicated from +y proc to -y proc, but not vice versa + // want grid data reverse communicated from -y proc to +y proc, but not vice versa + // this is accomplished by inyhi = outyhi on +y end (no ghost cells) + // also insure no other procs use ghost cells beyond +y limit + + if (yextra) { + if (layout != Comm::LAYOUT_TILED) { + if (comm->myloc[1] == comm->procgrid[1]-1) inyhi = outyhi = ny - 1; + } else { + if (comm->mysplit[1][1] == 1.0) inyhi = outyhi = ny - 1; + } + outyhi = MIN(outyhi,ny-1); + } // limit out xyz lo/hi indices to global grid for non-periodic dims + // if yextra = 1, grid is still fully periodic int *periodicity = domain->periodicity; @@ -558,7 +556,7 @@ void Grid2d::extract_comm_info() layout = comm->layout; // for non TILED layout: - // proc xyz lohi = my 6 neighbor procs in this MPI_Comm + // proc xyz lohi = my 64neighbor procs in this MPI_Comm // NOTE: will need special logic for MSM case with different MPI_Comm // xyz split = copy of 1d vectors in Comm // grid2proc = copy of 3d array in Comm @@ -1651,8 +1649,8 @@ int Grid2d::compute_overlap(int ghostflag, int *box, int *pbc, Overlap *&overlap for (int j = jproclo; j <= jprochi; j++) for (int i = iproclo; i <= iprochi; i++) { - partition_grid(nx,xsplit[i],xsplit[i+1],shift_grid,obox[0],obox[1]); - partition_grid(ny,ysplit[j],ysplit[j+1],shift_grid,obox[2],obox[3]); + partition_grid(nx,xsplit[i],xsplit[i+1],shift_grid,0,obox[0],obox[1]); + partition_grid(ny,ysplit[j],ysplit[j+1],shift_grid,yextra,obox[2],obox[3]); if (noverlap_list == maxoverlap_list) grow_overlap(); overlap_list[noverlap_list].proc = grid2proc[i][j][0]; diff --git a/src/grid2d.h b/src/grid2d.h index d8e804c945..3ad28b3a4f 100644 --- a/src/grid2d.h +++ b/src/grid2d.h @@ -23,18 +23,17 @@ class Grid2d : protected Pointers { enum { KSPACE = 0, PAIR = 1, FIX = 2 }; // calling classes Grid2d(class LAMMPS *, MPI_Comm, int, int); - Grid2d(class LAMMPS *, MPI_Comm, int, int, int, int, int, int, int, int, int, int); - Grid2d(class LAMMPS *, MPI_Comm, int, int, int, int, int, int, int, int, int, int, - int, int, int, int, int); - ~Grid2d() override; void set_distance(double); void set_stencil_grid(int, int); void set_stencil_atom(int, int); void set_shift_grid(double); - void set_shift_atom(double); + void set_shift_atom(double, double); + void set_yfactor(double); + void set_caller_grid(int, int, int, int); + void set_proc_neighs(int, int, int, int); int identical(Grid2d *); void get_size(int &, int &); @@ -68,8 +67,12 @@ protected: int stencil_grid_lo,stencil_grid_hi; // grid cells accessed beyond owned cell double shift_grid; // location of grid point within grid cell // only affects which proc owns grid cell - double shift_atom; // shift applied to atomd when mapped to grid cell by caller + double shift_atom_lo,shift_atom_hi;; // max shift applied to atoms + // when mapped to grid cell by caller + // can be different in lo/hi directions // only affects extent of ghost cells + int yextra; // 1 if extra grid cells in Y, 0 if not + double yfactor; // multiplier on extent of grid in Y direction // extent of my owned and ghost cells @@ -224,13 +227,11 @@ protected: // internal methods // ------------------------------------------- - void partition_grid(int, double, double, double, int &, int &); + void initialize(); + void partition_grid(int, double, double, double, int, int &, int &); void ghost_grid(); void extract_comm_info(); - void store(int, int, int, int, int, int, int, int, - int, int, int, int, int, int, int, int); - void setup_comm_brick(int &, int &); void setup_comm_tiled(int &, int &); int ghost_adjacent_brick(); diff --git a/src/grid3d.cpp b/src/grid3d.cpp index 6dd4bd0110..30056d27c9 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -41,6 +41,8 @@ static constexpr int OFFSET = 16384; /* ---------------------------------------------------------------------- constructor to create a 3d distributed grid + Grid3d assigns owned/ghost cells to each proc via setup_grid() + it MUST be called after constructor gcomm = caller's communicator gnx,gny,gnz = global grid size ------------------------------------------------------------------------- */ @@ -57,6 +59,7 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, int gnx, int gny, int gnz) : nz = gnz; // default settings, can be overridden by set() methods + // these affect assignment of owned and ghost cells maxdist = 0.0; stencil_grid_lo = stencil_grid_hi = 0; @@ -64,6 +67,56 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, int gnx, int gny, int gnz) : shift_grid = 0.5; shift_atom_lo = shift_atom_hi = 0.0; zextra = 0; + zfactor = 1.0; +} + +/* ---------------------------------------------------------------------- + alternate constructor to create a 3d distributed grid + caller assigns owned/ghost cells to each proc + setup_grid() must NOT be called + used by MSM b/c its definition of ghost cells is complex + gcomm = caller's communicator + gnx,gny,gnz = global grid size + i xyz lo/hi = extent of owned grid cells on this proc + o xyz lo/hi = extent of owned+ghost grid cells on this proc + owned and ghost indices are inclusive + owned indices range from 0 to N-1 + ghost indices can extend < 0 or >= N +------------------------------------------------------------------------- */ + +Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, int gnx, int gny, int gnz, + int ixlo, int ixhi, int iylo, int iyhi, int izlo, int izhi, + int oxlo, int oxhi, int oylo, int oyhi, int ozlo, int ozhi) : + Pointers(lmp) +{ + gridcomm = gcomm; + MPI_Comm_rank(gridcomm,&me); + MPI_Comm_size(gridcomm,&nprocs); + + nx = gnx; + ny = gny; + nz = gnz; + + // store owned/ghost indices provided by caller + + inxlo = ixlo; + inxhi = ixhi; + inylo = iylo; + inyhi = iyhi; + inzlo = izlo; + inzhi = izhi; + + outxlo = oxlo; + outxhi = oxhi; + outylo = oylo; + outyhi = oyhi; + outzlo = ozlo; + outzhi = ozhi; + + // additional intialization + // other constructor invokes this from setup_grid() + + initialize(); } /* ---------------------------------------------------------------------- */ @@ -150,7 +203,7 @@ void Grid3d::set_stencil_atom(int lo, int hi) /* ---------------------------------------------------------------------- shift_grid = offset within grid cell of position of grid point 0.5 = cell center (default), 0.0 = lower-left corner of cell - used by Grid to decide which proc owns a grid cell (grid pt within subdomain) + used to decide which proc owns a grid cell (grid pt within subdomain) ------------------------------------------------------------------------- */ void Grid3d::set_shift_grid(double shift) @@ -161,7 +214,7 @@ void Grid3d::set_shift_grid(double shift) /* ---------------------------------------------------------------------- shift_atom = offset added to atoms when caller maps them to grid cells 0.5 = half a grid cell, 0.0 = no offset - used by Grid to compute maximum possible ghost extents + used to compute maximum possible ghost extents use of lo/hi allows max ghost extent on each side to be different PPPM uses 0.5 when stencil order is odd, 0.0 when order is even PPPM/stagger applies different shift values for 2 stagger iterations @@ -190,7 +243,7 @@ void Grid3d::set_zfactor(double factor) /* ---------------------------------------------------------------------- set IDs of proc neighbors used in uniform local owned/ghost comm - call this AFTER setup_grid() but BEFORE setup_comm() to override + called AFTER setup_grid() but BEFORE setup_comm() to override the processor neighbors stored by extract_comm() used by MSM to exclude non-participating procs for coarse grid comm ------------------------------------------------------------------------- */ @@ -208,13 +261,13 @@ void Grid3d::set_proc_neighs(int pxlo, int pxhi, int pylo, int pyhi, /* ---------------------------------------------------------------------- set allocation dimensions of caller grid used by indices() to setup pack/unpack - call this AFTER setup_grid() but BEFORE setup_comm() to override - the caller grid size set by setup_grid() + called AFTER setup_grid() but BEFORE setup_comm() to override + the caller grid size set by setup_grid() and used in indices() used by MSM to allow a larger level 0 grid to be allocated with more ghost cells for other operations ------------------------------------------------------------------------- */ -void Grid3d::set_larger_grid(int fxlo, int fxhi, int fylo, int fyhi, +void Grid3d::set_caller_grid(int fxlo, int fxhi, int fylo, int fyhi, int fzlo, int fzhi) { fullxlo = fxlo; @@ -308,36 +361,63 @@ void Grid3d::setup_grid(int &ixlo, int &ixhi, int &iylo, int &iyhi, int &ozlo, int &ozhi) { // owned grid cells = those whose grid point is within proc subdomain - // shift_grid = 0.5 for grid point at cell center, 0.0 for lower-left corner double fraclo,frachi; if (comm->layout != Comm::LAYOUT_TILED) { fraclo = comm->xsplit[comm->myloc[0]]; frachi = comm->xsplit[comm->myloc[0]+1]; - partition_grid(nx,fraclo,frachi,shift_grid,inxlo,inxhi); + partition_grid(nx,fraclo,frachi,shift_grid,0,inxlo,inxhi); fraclo = comm->ysplit[comm->myloc[1]]; frachi = comm->ysplit[comm->myloc[1]+1]; - partition_grid(ny,fraclo,frachi,shift_grid,inylo,inyhi); + partition_grid(ny,fraclo,frachi,shift_grid,0,inylo,inyhi); fraclo = comm->zsplit[comm->myloc[2]]; frachi = comm->zsplit[comm->myloc[2]+1]; - partition_grid(nz,fraclo,frachi,shift_grid,inzlo,inzhi); + partition_grid(nz,fraclo,frachi,shift_grid,zextra,inzlo,inzhi); } else { fraclo = comm->mysplit[0][0]; frachi = comm->mysplit[0][1]; - partition_grid(nx,fraclo,frachi,shift_grid,inxlo,inxhi); + partition_grid(nx,fraclo,frachi,shift_grid,0,inxlo,inxhi); fraclo = comm->mysplit[1][0]; frachi = comm->mysplit[1][1]; - partition_grid(ny,fraclo,frachi,shift_grid,inylo,inyhi); + partition_grid(ny,fraclo,frachi,shift_grid,0,inylo,inyhi); fraclo = comm->mysplit[2][0]; frachi = comm->mysplit[2][1]; - partition_grid(nz,fraclo,frachi,shift_grid,inzlo,inzhi); + partition_grid(nz,fraclo,frachi,shift_grid,zextra,inzlo,inzhi); } // extend owned grid bounds with ghost grid cells in each direction ghost_grid(); + // additional intialization + // other constructor invokes this directly + + initialize(); + + // return values + + ixlo = inxlo; + ixhi = inxhi; + iylo = inylo; + iyhi = inyhi; + izlo = inzlo; + izhi = inzhi; + + oxlo = outxlo; + oxhi = outxhi; + oylo = outylo; + oyhi = outyhi; + ozlo = outzlo; + ozhi = outzhi; +} + +/* ---------------------------------------------------------------------- + additional one-time setup common to both constructors + ---------------------------------------------------------------------- */ + +void Grid3d::initialize() +{ // error check on size of grid stored by this proc bigint total = (bigint) @@ -347,7 +427,7 @@ void Grid3d::setup_grid(int &ixlo, int &ixhi, int &iylo, int &iyhi, // default = caller grid is allocated to ghost grid // used when computing pack/unpack lists in indices() - // these values can be overridden by caller using set_larger_grid() + // these values can be overridden using set_caller_grid() fullxlo = outxlo; fullxhi = outxhi; @@ -381,22 +461,6 @@ void Grid3d::setup_grid(int &ixlo, int &ixhi, int &iylo, int &iyhi, // each must know Comm decomp at time Grid instance was created extract_comm_info(); - - // return values - - ixlo = inxlo; - ixhi = inxhi; - iylo = inylo; - iyhi = inyhi; - izlo = inzlo; - izhi = inzhi; - - oxlo = outxlo; - oxhi = outxhi; - oylo = outylo; - oyhi = outyhi; - ozlo = outzlo; - ozhi = outzhi; } /* ---------------------------------------------------------------------- @@ -406,11 +470,10 @@ void Grid3d::setup_grid(int &ixlo, int &ixhi, int &iylo, int &iyhi, ngrid = extent of global grid in a dimension indices into the global grid range from 0 to Ngrid-1 in that dim shift factor determines position of grid pt within grid cell - // NOTE: for future support of zfactor - zfactor = 0.0 if the grid exactly covers the simulation box - zfactor > 1.0 if the grid extends beyond the +z boundary by this factor - used by 2d slab-mode PPPM - this effectively maps proc sub-grids to a smaller subset of the grid + shift = 0.5 for cell center, 0.0 for lower-left corner + extra = 0 if grid exactly covers the simulation box + extra = 1 if grid extends beyond the +z boundary by zfactor (PPPM slab) + effectively maps proc partitions to the box-size subset of the grid lo/hi = inclusive lo/hi bounds for brick of global grid cells I own lo grid index = first grid pt >= fraclo bound hi grid index = last grid pt < frachi bound @@ -420,12 +483,19 @@ void Grid3d::setup_grid(int &ixlo, int &ixhi, int &iylo, int &iyhi, ------------------------------------------------------------------------- */ void Grid3d::partition_grid(int ngrid, double fraclo, double frachi, - double shift, int &lo, int &hi) + double shift, int extra, int &lo, int &hi) { - lo = static_cast (fraclo * ngrid); - while (1.0*lo + shift/ngrid < fraclo*ngrid) lo++; - hi = static_cast (frachi * ngrid); - while (1.0*hi + shift/ngrid >= frachi*ngrid) hi--; + if (extra == 0) { + lo = static_cast (fraclo * ngrid); + while (1.0*lo + shift/ngrid < fraclo*ngrid) lo++; + hi = static_cast (frachi * ngrid); + while (1.0*hi + shift/ngrid >= frachi*ngrid) hi--; + } else { + lo = static_cast (fraclo * ngrid/zfactor); + while (1.0*lo + shift/ngrid < fraclo*ngrid) lo++; + hi = static_cast (frachi * ngrid/zfactor); + while (1.0*hi + shift/ngrid >= frachi*ngrid) hi--; + } } /* ---------------------------------------------------------------------- @@ -468,6 +538,8 @@ void Grid3d::ghost_grid() double dxinv = nx / prd[0]; double dyinv = ny / prd[1]; double dzinv = nz / prd[2]; + double dzinv_slab = nz / (prd[2] * zfactor); + int lo, hi; lo = static_cast((sublo[0]-dist[0]-boxlo[0]) * dxinv + shift_atom_lo + OFFSET) - OFFSET; @@ -486,10 +558,33 @@ void Grid3d::ghost_grid() outzlo = MIN(lo - stencil_atom_lo, inzlo - stencil_grid_lo); outzhi = MAX(hi + stencil_atom_hi, inzhi + stencil_grid_hi); } else { + lo = static_cast((sublo[2]-dist[2]-boxlo[2]) * dzinv_slab + shift_atom_lo + OFFSET) - OFFSET; + hi = static_cast((subhi[2]+dist[2]-boxlo[2]) * dzinv_slab + shift_atom_hi + OFFSET) - OFFSET; + outzlo = MIN(lo - stencil_atom_lo, inzlo - stencil_grid_lo); + outzhi = MAX(hi + stencil_atom_hi, inzhi + stencil_grid_hi); } - - // limit out xyz lo/hi indices to global grid for non-periodic dims + // if zextra = 1: + // adjust grid boundaries for processors at +z end, + // to include added empty grid cells between periodically repeating slabs + // in this case: + // want grid data forward communicated from +z proc to -z proc, but not vice versa + // want grid data reverse communicated from -z proc to +z proc, but not vice versa + // this is accomplished by inzhi = outzhi on +z end (no ghost cells) + // also insure no other procs use ghost cells beyond +z limit + + if (zextra) { + if (layout != Comm::LAYOUT_TILED) { + if (comm->myloc[2] == comm->procgrid[2]-1) inzhi = outzhi = nz - 1; + } else { + if (comm->mysplit[2][1] == 1.0) inzhi = outzhi = nz - 1; + } + outzhi = MIN(outzhi,nz-1); + } + + // limit out xyz lo/hi indices to global grid for non-periodic dims + // if zextra = 1 (e.g. PPPM), grid is still fully periodic + int *periodicity = domain->periodicity; if (!periodicity[0]) { @@ -506,45 +601,6 @@ void Grid3d::ghost_grid() outzlo = MAX(0,outzlo); outzhi = MIN(nz-1,outzhi); } - - - // NOTE: zperiod effects, also in owned grid cells ? - - /* - - // extent of zprd when 2d slab mode is selected - - double zprd_slab = zprd*slab_volfactor; - - // for slab PPPM, assign z grid as if it were not extended - - nlo = static_cast ((sublo[2]-dist[2]-boxlo[2]) * - nz_pppm/zprd_slab + shift) - OFFSET; - nhi = static_cast ((subhi[2]+dist[2]-boxlo[2]) * - nz_pppm/zprd_slab + shift) - OFFSET; - nzlo_out = nlo + nlower; - nzhi_out = nhi + nupper; - - // for slab PPPM, change the grid boundary for processors at +z end - // to include the empty volume between periodically repeating slabs - // for slab PPPM, want charge data communicated from -z proc to +z proc, - // but not vice versa, also want field data communicated from +z proc to - // -z proc, but not vice versa - // this is accomplished by nzhi_in = nzhi_out on +z end (no ghost cells) - // also insure no other procs use ghost cells beyond +z limit - // differnet logic for non-tiled vs tiled decomposition - - if (slabflag == 1) { - if (comm->layout != Comm::LAYOUT_TILED) { - if (comm->myloc[2] == comm->procgrid[2]-1) nzhi_in = nzhi_out = nz_pppm - 1; - } else { - if (comm->mysplit[2][1] == 1.0) nzhi_in = nzhi_out = nz_pppm - 1; - } - nzhi_out = MIN(nzhi_out,nz_pppm-1); - } - - */ - } /* ---------------------------------------------------------------------- @@ -1770,9 +1826,9 @@ int Grid3d::compute_overlap(int ghostflag, int *box, int *pbc, Overlap *&overlap for (int k = kproclo; k <= kprochi; k++) for (int j = jproclo; j <= jprochi; j++) for (int i = iproclo; i <= iprochi; i++) { - partition_grid(nx,xsplit[i],xsplit[i+1],shift_grid,obox[0],obox[1]); - partition_grid(ny,ysplit[j],ysplit[j+1],shift_grid,obox[2],obox[3]); - partition_grid(nz,zsplit[k],zsplit[k+1],shift_grid,obox[4],obox[5]); + partition_grid(nx,xsplit[i],xsplit[i+1],shift_grid,0,obox[0],obox[1]); + partition_grid(ny,ysplit[j],ysplit[j+1],shift_grid,0,obox[2],obox[3]); + partition_grid(nz,zsplit[k],zsplit[k+1],shift_grid,zextra,obox[4],obox[5]); if (noverlap_list == maxoverlap_list) grow_overlap(); overlap_list[noverlap_list].proc = grid2proc[i][j][k]; diff --git a/src/grid3d.h b/src/grid3d.h index 39734a482f..8c7ed114cc 100644 --- a/src/grid3d.h +++ b/src/grid3d.h @@ -23,6 +23,8 @@ class Grid3d : protected Pointers { enum { KSPACE = 0, PAIR = 1, FIX = 2 }; // calling classes Grid3d(class LAMMPS *, MPI_Comm, int, int, int); + Grid3d(class LAMMPS *, MPI_Comm, int, int, int, + int, int, int, int, int, int, int, int, int, int, int, int); ~Grid3d(); void set_distance(double); @@ -31,7 +33,7 @@ class Grid3d : protected Pointers { void set_shift_grid(double); void set_shift_atom(double, double); void set_zfactor(double); - void set_larger_grid(int, int, int, int, int, int); + void set_caller_grid(int, int, int, int, int, int); void set_proc_neighs(int, int, int, int, int, int); int identical(Grid3d *); @@ -59,7 +61,7 @@ class Grid3d : protected Pointers { MPI_Comm gridcomm; // communicator for this class // usually world, but MSM calls with subset - // inputs from caller + // input from caller int nx, ny, nz; // size of global grid in all 3 dims double maxdist; // distance owned atoms can move outside subdomain @@ -230,13 +232,11 @@ class Grid3d : protected Pointers { // internal methods // ------------------------------------------- - void partition_grid(int, double, double, double, int &, int &); + void initialize(); + void partition_grid(int, double, double, double, int, int &, int &); void ghost_grid(); void extract_comm_info(); - void store(int, int, int, int, int, int, int, int, int, int, int, int, - int, int, int, int, int, int, int, int, int, int, int, int); - void setup_comm_brick(int &, int &); void setup_comm_tiled(int &, int &); int ghost_adjacent_brick(); From 559ed8c49059f74e604f5e1717d632893b2c2d13 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 3 Nov 2022 17:05:23 -0600 Subject: [PATCH 089/142] doc page updates, start adding remap support to fix ave/grid --- doc/src/Howto_output.rst | 16 ++--- doc/src/compute_property_grid.rst | 16 ++--- doc/src/fix_ave_grid.rst | 38 +++++----- doc/src/fix_ttm.rst | 14 ++-- src/EXTRA-FIX/fix_ttm_grid.cpp | 5 +- src/fix_ave_grid.cpp | 115 ++++++++++++++++++++++++++++-- src/fix_ave_grid.h | 3 + 7 files changed, 157 insertions(+), 50 deletions(-) diff --git a/doc/src/Howto_output.rst b/doc/src/Howto_output.rst index 792c8f8398..bf04b39781 100644 --- a/doc/src/Howto_output.rst +++ b/doc/src/Howto_output.rst @@ -56,10 +56,10 @@ of each atom. Local datums are calculated by each processor based on the atoms it owns, but there may be zero or more per atom, e.g. a list of bond distances. -A per-grid datum is one or more values per grid point, for a grid -which overlays the simulation domain. The grid points and the data -they store are distributed across processors; each processor owns the -grid points which fall within its sub-domain. +A per-grid datum is one or more values per grid cell, for a grid which +overlays the simulation domain. The grid cells and the data they +store are distributed across processors; each processor owns the grid +cells whose center point falls within its sub-domain. .. _scalar: @@ -97,7 +97,7 @@ Per-grid data ------------------------ Per-grid data can come in two kinds: a vector of values (one per grid -point), or a 2d array of values (multiple values per grid point). The +cekk), or a 2d array of values (multiple values per grid ckk). The doc page for a "compute" or "fix" that generates data will specify names for both the grid(s) and datum(s) it produces, e.g. per-grid vectors or arrays, which can be referenced by other commands. @@ -213,7 +213,7 @@ global and can also be used as input to other output commands. Note that the :doc:`fix ave/grid ` command can also average the same per-atom quantities within spatial bins, but it does -this for a distributed grid whose grid points are owned by different +this for a distributed grid whose grid cells are owned by different processors. It outputs per-grid data, not global data, so it is more efficient for large numbers of averaging bins. @@ -269,7 +269,7 @@ These are produced as output values which can be used as input to other output commands. The :doc:`compute property/grid ` command takes -a list of one or more pre-defined per-grid attributes (id, grid point +a list of one or more pre-defined per-grid attributes (id, grid cell coords, etc) and stores the values in a per-grid vector or array. These are produced as output values which can be used as input to the :doc:`dump grid ` command. @@ -321,7 +321,7 @@ The chief difference between the :doc:`fix ave/grid ` and :doc:`fix ave/chunk ` commands when used in this context is that the former uses a distributed grid, while the latter uses a global grid. Distributed means that each processor owns the -subset of grid points within its sub-domain. Global means that each +subset of grid cells within its sub-domain. Global means that each processor owns a copy of the entire grid. The :doc:`fix ave/grid ` command is thus more efficient for large grids. diff --git a/doc/src/compute_property_grid.rst b/doc/src/compute_property_grid.rst index b2edd18dde..90b48d3a7c 100644 --- a/doc/src/compute_property_grid.rst +++ b/doc/src/compute_property_grid.rst @@ -18,7 +18,7 @@ Syntax .. parsed-literal:: attributes = id, ix, iy, iz, x, y, z, xs, ys, zs, xc, yc, zc, xsc, ysc, zsc - id = ID of grid point, x fastest, y next, z slowest + id = ID of grid cell, x fastest, y next, z slowest ix,iy,iz = grid indices in each dimension (1 to N inclusive) x,y,z = coords of lower left corner of grid cell xs,ys,zs = scaled coords of lower left corner of grid cell (0.0 to 1.0) @@ -39,9 +39,9 @@ Description Define a computation that stores the specified attributes of a distributed grid. In LAMMPS, distributed grids are regular 2d or 3d grids which overlay a 2d or 3d simulation domain. Each processor owns -the grid points within its sub-domain. See the :doc:`Howto grid -` doc page for details of how distributed grids can be -defined by various commands and referenced. +the grid cells whose center points lie within its sub-domain. See the +:doc:`Howto grid ` doc page for details of how distributed +grids can be defined by various commands and referenced. This compute stores the specified attributes of grids as per-grid data so they can be accessed by other :doc:`output commands ` @@ -53,14 +53,14 @@ to output per-grid values from other computes of fixes, the grid size specified for this command must be consistent with the grid sizes used by the other commands. -The *id* attribute stores the grid ID for each grid point. For a +The *id* attribute stores the grid ID for each grid cell. For a global grid of size Nx by Ny by Nz (in 3d simulations) the grid IDs range from 1 to Nx*Ny*Nz. They are ordered with the X index of the 3d grid varying fastest, then Y, then Z slowest. For 2d grids (in 2d simulations), the grid IDs range from 1 to Nx*Ny, with X varying fastest and Y slowest. -The *ix*, *iy*, *iz* attributes are the indices of a grid point in +The *ix*, *iy*, *iz* attributes are the indices of a grid cell in each dimension. They range from 1 to Nx inclusive in the X dimension, and similar for Y and Z. @@ -91,8 +91,8 @@ Output info This compute calculates a per-grid vector or array depending on the number of input values. The length of the vector or number of array rows (distributed across all processors) is Nx * Ny * Nz. For access -by other commands, the name of the grid produced by this command is -"grid". The name of its data is "data". +by other commands, the name of the single grid produced by this +command is "grid". The name of its per-grid data is "data". The (x,y,z) and (xc,yc,zc) coordinates are in distance :doc:`units `. diff --git a/doc/src/fix_ave_grid.rst b/doc/src/fix_ave_grid.rst index 7453a2ea8a..e32560193a 100644 --- a/doc/src/fix_ave_grid.rst +++ b/doc/src/fix_ave_grid.rst @@ -183,8 +183,8 @@ i.e. total-mass/volume. The output values are in units of 1/volume or density (mass/volume). See the :doc:`units ` command page for the definition of density for each choice of units, e.g. gram/cm\^3. -The *temp* value means the temperature is computed for each grid cell, -by the formula +The *temp* value computes the temperature for each grid cell, by the +formula .. math:: @@ -444,24 +444,24 @@ No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. -This fix computes a global array of values which can be accessed by -various :doc:`output commands `. The values can only be -accessed on timesteps that are multiples of *Nfreq* since that is when -averaging is performed. The global array has # of rows = the number -of grids *grid* as calculated by the specified :doc:`compute -property/grid ` command. The # of columns = -M+1+Nvalues, where M = 1 to 4, depending on whether the optional -columns for OrigID and CoordN are used, as explained above. Following -the optional columns, the next column contains the count of atoms in -the grid, and the remaining columns are the Nvalue quantities. When -the array is accessed with a row I that exceeds the current number of -grids, than a 0.0 is returned by the fix instead of an error, since -the number of grids can vary as a simulation runs depending on how -that value is computed by the compute grid/atom command. +This fix calculates a per-grid array which has one column for each of +the specified input values. The units for each column with be in the +:doc:`units ` for the per-atom or per-grid quantity for the +corresponding input value. If the fix is used in per-atom mode, it +also calculates a per-grid vector with the count of atoms in each grid +cell. The number of rows in the per-grid array and number of values +in the per-grid vector (distributed across all processors) is Nx * +Ny * Nz. -The array values calculated by this fix are treated as "intensive", -since they are typically already normalized by the count of atoms in -each grid. +For access by other commands, the name of the single grid produced by +this fix is "grid". The names of its two per-grid datums are "data" +for the per-grid array and "count" for the per-grid vector. Both +datums can be accessed by various :doc:`output commands +`. + +In per-atom mode, the per-grid array values calculated by this fix are +treated as "intensive", since they are typically already normalized by +the count of atoms in each grid cell. 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_ttm.rst b/doc/src/fix_ttm.rst index 73bd70f76f..2cbb0c7799 100644 --- a/doc/src/fix_ttm.rst +++ b/doc/src/fix_ttm.rst @@ -386,13 +386,13 @@ electronic subsystem energies reported at the end of the timestep. The vector values calculated are "extensive". -Th fix ttm/grid command also calculates a per-grid vector which store -the electron temperature for each grid cell in temperature :doc:`units -`. which can be accessed by various :doc:`output commands -`. The length of the vector (distributed across all -processors) is Nx * Ny * Nz. For access by other commands, the name -of the grid produced by fix ttm/grid is "grid". The name of its data -is "data". +The fix ttm/grid command also calculates a per-grid vector which +stores the electron temperature for each grid cell in temperature +:doc:`units `. which can be accessed by various :doc:`output +commands `. The length of the vector (distributed +across all processors) is Nx * Ny * Nz. For access by other commands, +the name of the single grid produced by fix ttm/grid is "grid". The +name of its per-grid data is "data". No parameter of the fixes can be used with the *start/stop* keywords of the :doc:`run ` command. The fixes are not invoked during diff --git a/src/EXTRA-FIX/fix_ttm_grid.cpp b/src/EXTRA-FIX/fix_ttm_grid.cpp index 08f1e43c32..59726ae63b 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.cpp +++ b/src/EXTRA-FIX/fix_ttm_grid.cpp @@ -496,9 +496,6 @@ void FixTTMGrid::reset_grid() return; } else delete gridnew; - // DEBUG - if (comm->me == 0) printf("Remapping grid on step %ld\n",update->ntimestep); - // delete grid data which doesn't need to persist from previous to new decomp memory->destroy(grid_buf1); @@ -601,7 +598,7 @@ void FixTTMGrid::unpack_reverse_grid(int /*flag*/, void *vbuf, int nlist, int *l } /* ---------------------------------------------------------------------- - pack old grid values to buf to send to another proc + pack old grid values to buf to send to another proc ------------------------------------------------------------------------- */ void FixTTMGrid::pack_remap_grid(void *vbuf, int nlist, int *list) diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index e68591c7e3..dcc1016729 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -29,6 +29,9 @@ #include "update.h" #include "variable.h" +// DEBUG +#include "comm.h" + #include using namespace LAMMPS_NS; @@ -390,7 +393,6 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : // instantiate the Grid class and allocate per-grid memory - double maxdist; if (modeatom) maxdist = 0.5 * neighbor->skin; else if (modegrid) maxdist = 0.0; @@ -1889,17 +1891,122 @@ void FixAveGrid::unpack_reverse_grid(int /*flag*/, void *vbuf, int nlist, int *l } } +/* ---------------------------------------------------------------------- + pack old grid values to buf to send to another proc +------------------------------------------------------------------------- */ + +void FixAveGrid::pack_remap_grid(void *vbuf, int nlist, int *list) +{ + auto buf = (double *) vbuf; + double *src; + //double *src = + // &T_electron_previous[nzlo_out_previous][nylo_out_previous][nxlo_out_previous]; + + for (int i = 0; i < nlist; i++) buf[i] = src[list[i]]; +} + +/* ---------------------------------------------------------------------- + unpack another proc's own values from buf and set own ghost values +------------------------------------------------------------------------- */ + +void FixAveGrid::unpack_remap_grid(void *vbuf, int nlist, int *list) +{ + auto buf = (double *) vbuf; + double *dest; + //double *dest = &T_electron[nzlo_out][nylo_out][nxlo_out]; + + for (int i = 0; i < nlist; i++) dest[list[i]] = buf[i]; +} + /* ---------------------------------------------------------------------- subset of grid assigned to each proc may have changed called by load balancer when proc subdomains are adjusted - not supported for now, b/c requires per-grid values to persist, i.e. a remap() + persist per-grid data by performing a grid remap ------------------------------------------------------------------------- */ void FixAveGrid::reset_grid() { - error->all(FLERR,"Fix ave/grid does not support load balancing (yet)"); -} + // check if new grid partitioning is different on any proc + // if not, just return + if (dimension == 2) { + int tmp[8]; + Grid2d *gridnew = new Grid2d(lmp, world, nxgrid, nygrid); + gridnew->set_distance(maxdist); + gridnew->setup_grid(tmp[0], tmp[1], tmp[2], tmp[3], + tmp[4], tmp[5], tmp[6], tmp[7]); + + if (grid2d->identical(gridnew)) { + delete gridnew; + return; + } else delete gridnew; + + } else { + + int tmp[12]; + Grid3d *gridnew = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid); + gridnew->set_distance(maxdist); + gridnew->setup_grid(tmp[0], tmp[1], tmp[2], tmp[3], tmp[4], tmp[5], + tmp[6], tmp[7], tmp[8], tmp[9], tmp[10], tmp[11]); + + if (grid3d->identical(gridnew)) { + delete gridnew; + return; + } else delete gridnew; + } + + // DEBUG + if (comm->me == 0) printf("Remapping grid on step %ld\n",update->ntimestep); + + /* + // delete grid data which doesn't need to persist from previous to new decomp + + memory->destroy(grid_buf1); + memory->destroy(grid_buf2); + memory->destroy3d_offset(T_electron_old, nzlo_out, nylo_out, nxlo_out); + memory->destroy3d_offset(net_energy_transfer, nzlo_out, nylo_out, nxlo_out); + + // make copy of ptrs to grid data which does need to persist + + grid_previous = grid; + T_electron_previous = T_electron; + nxlo_out_previous = nxlo_out; + nylo_out_previous = nylo_out; + nzlo_out_previous = nzlo_out; + + // allocate new per-grid data for new decomposition + + allocate_grid(); + + // perform remap from previous decomp to new decomp + + int nremap_buf1,nremap_buf2; + grid->setup_remap(grid_previous,nremap_buf1,nremap_buf2); + + double *remap_buf1,*remap_buf2; + memory->create(remap_buf1, nremap_buf1, "ave/grid:remap_buf1"); + memory->create(remap_buf2, nremap_buf2, "ave/grid:remap_buf2"); + + grid->remap(Grid3d::FIX,this,1,sizeof(double),remap_buf1,remap_buf2,MPI_DOUBLE); + + memory->destroy(remap_buf1); + memory->destroy(remap_buf2); + + // delete grid data and grid for previous decomposition + + memory->destroy3d_offset(T_electron_previous, + nzlo_out_previous, nylo_out_previous, + nxlo_out_previous); + delete grid_previous; + + // zero new net_energy_transfer + // in case compute_vector accesses it on timestep 0 + + outflag = 0; + memset(&net_energy_transfer[nzlo_out][nylo_out][nxlo_out],0, + ngridout*sizeof(double)); + */ +} /* ---------------------------------------------------------------------- return index of grid associated with name diff --git a/src/fix_ave_grid.h b/src/fix_ave_grid.h index 0503092233..71f1a34d8a 100644 --- a/src/fix_ave_grid.h +++ b/src/fix_ave_grid.h @@ -35,6 +35,8 @@ class FixAveGrid : public Fix { void pack_reverse_grid(int, void *, int, int *) override; void unpack_reverse_grid(int, void *, int, int *) override; + void pack_remap_grid(void *, int, int *) override; + void unpack_remap_grid(void *, int, int *) override; void reset_grid() override; @@ -53,6 +55,7 @@ class FixAveGrid : public Fix { int modeatom, modegrid; int discardflag, normflag, aveflag, nwindow; + double maxdist; int running_count; int window_count,window_oldest,window_newest; From 3dab9cf8d86a72953385672c9b95aaca0c5efa7d Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 4 Nov 2022 21:41:58 -0600 Subject: [PATCH 090/142] bug fixes to grid remapping --- src/dump_grid.cpp | 3 + src/fix_ave_grid.cpp | 444 ++++++++++++++++++++++++++++++------------- src/fix_ave_grid.h | 18 +- src/grid2d.cpp | 73 ++++--- src/grid2d.h | 2 +- src/grid3d.cpp | 76 +++++--- src/grid3d.h | 2 +- 7 files changed, 425 insertions(+), 193 deletions(-) diff --git a/src/dump_grid.cpp b/src/dump_grid.cpp index 3a32b95bd4..aa4d37c1e6 100644 --- a/src/dump_grid.cpp +++ b/src/dump_grid.cpp @@ -26,6 +26,9 @@ #include "region.h" #include "update.h" +// DEBUG +#include "comm.h" + #include using namespace LAMMPS_NS; diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index dcc1016729..16f62d57bc 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -29,9 +29,6 @@ #include "update.h" #include "variable.h" -// DEBUG -#include "comm.h" - #include using namespace LAMMPS_NS; @@ -391,65 +388,24 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : } } - // instantiate the Grid class and allocate per-grid memory + // instantiate Grid class and buffers + // allocate/zero per-grid data - if (modeatom) maxdist = 0.5 * neighbor->skin; - else if (modegrid) maxdist = 0.0; + allocate_grid(); - if (dimension == 2) { - grid2d = new Grid2d(lmp, world, nxgrid, nygrid); - grid2d->set_distance(maxdist); - grid2d->setup_grid(nxlo_in, nxhi_in, nylo_in, nyhi_in, - nxlo_out, nxhi_out, nylo_out, nyhi_out); - - // ngrid_buf12 converted to nvalues + count - - grid2d->setup_comm(ngrid_buf1, ngrid_buf2); - ngrid_buf1 *= nvalues + 1; - ngrid_buf2 *= nvalues + 1; - - memory->create(grid_buf1, ngrid_buf1, "ave/grid:grid_buf1"); - memory->create(grid_buf2, ngrid_buf2, "ave/grid:grid_buf2"); - - ngridout = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1); - - } else { - grid3d = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid); - grid3d->set_distance(maxdist); - grid3d->setup_grid(nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, nzhi_in, - nxlo_out, nxhi_out, nylo_out, nyhi_out, nzlo_out, nzhi_out); - - // ngrid_buf12 converted to nvalues + count - - grid3d->setup_comm(ngrid_buf1, ngrid_buf2); - ngrid_buf1 *= nvalues + 1; - ngrid_buf2 *= nvalues + 1; - - memory->create(grid_buf1, ngrid_buf1, "ave/grid:grid_buf1"); - memory->create(grid_buf2, ngrid_buf2, "ave/grid:grid_buf2"); - - ngridout = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1) * - (nzhi_out - nzlo_out + 1); - } - - // create data structs for per-grid data - - grid_output = new GridData(); - grid_sample = new GridData(); - grid_nfreq = new GridData(); - grid_running = new GridData(); + grid_sample = allocate_one_grid(); + grid_nfreq = allocate_one_grid(); + if (aveflag == RUNNING || aveflag == WINDOW) grid_nfreq = allocate_one_grid(); if (aveflag == WINDOW) { grid_window = new GridData*[nwindow]; for (int i = 0; i < nwindow; i++) - grid_window[i] = new GridData(); - } else grid_window = nullptr; + grid_window[i] = allocate_one_grid(); + } - allocate_grid(grid_sample); - allocate_grid(grid_nfreq); - if (aveflag == RUNNING || aveflag == WINDOW) allocate_grid(grid_running); - if (aveflag == WINDOW) - for (int i = 0; i < nwindow; i++) - allocate_grid(grid_window[i]); + // output may occur via dump on timestep 0 + + grid_output = new GridData(); + output_grid(grid_nfreq); // initialize running and window values @@ -458,14 +414,6 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : window_oldest = -1; window_newest = 0; - // zero grid_nfreq for output since dump may access it on timestep 0 - // also one-time zero of grid_running for ave = RUNNING or WINDOW - - zero_grid(grid_nfreq); - output_grid(grid_nfreq); - - if (aveflag == RUNNING || aveflag == WINDOW) zero_grid(grid_running); - // bin indices and skip flags for ATOM mode // vresult for per-atom variable evaluation @@ -499,29 +447,28 @@ FixAveGrid::~FixAveGrid() delete[] value2grid; delete[] value2data; - delete grid2d; - delete grid3d; + // deallocate Grid class and buffers + + if (dimension == 2) delete grid2d; + else delete grid3d; memory->destroy(grid_buf1); memory->destroy(grid_buf2); - // deallocate all per-grid data + // deallocate per-grid data - deallocate_grid(grid_sample); - deallocate_grid(grid_nfreq); - if (aveflag == RUNNING || aveflag == WINDOW) deallocate_grid(grid_running); - if (aveflag == WINDOW) - for (int i = 0; i < nwindow; i++) { - deallocate_grid(grid_window[i]); - delete grid_window[i]; - } + deallocate_one_grid(grid_sample,nxlo_out,nylo_out,nzlo_out); + deallocate_one_grid(grid_nfreq,nxlo_out,nylo_out,nzlo_out); + if (aveflag == RUNNING || aveflag == WINDOW) + deallocate_one_grid(grid_running,nxlo_out,nylo_out,nzlo_out); + if (aveflag == WINDOW) { + for (int i = 0; i < nwindow; i++) + deallocate_one_grid(grid_window[i],nxlo_out,nylo_out,nzlo_out); + delete [] grid_window; + } delete grid_output; - delete grid_sample; - delete grid_nfreq; - delete grid_running; - delete [] grid_window; - + if (modeatom) { memory->destroy(bin); memory->destroy(skip); @@ -719,12 +666,12 @@ void FixAveGrid::end_of_step() // for norm = ALL, normalize sample grid by counts over all samples // for norm = SAMPLE, normalize Nfreq grid by Nrepeat // for norm = NONORM, normalize sample grid by Nrepeat, not by counts - // this check is made inside normalize_grid() + // this check is made inside normalize_atom() // for GRID mode: // normalize sample grid by Nrepeat if (modeatom) { - if (normflag == ALL) { + if (normflag == ALL) { normalize_atom(nrepeat,grid_sample); normalize_count(nrepeat,grid_sample); copy_grid(grid_sample,grid_nfreq); @@ -1342,7 +1289,7 @@ void FixAveGrid::normalize_atom(int numsamples, GridData *grid) else if (which[0] == ArgInfo::DENSITY_MASS) norm = density_mass_norm; else if (which[0] == ArgInfo::TEMPERATURE) - norm = mvv2e /((repeat*cdof + adof*count) * boltz); + norm = mvv2e / ((repeat*cdof + adof*count) * boltz); else if (normflag == NONORM) norm = invrepeat; else @@ -1363,7 +1310,7 @@ void FixAveGrid::normalize_atom(int numsamples, GridData *grid) else if (which[m] == ArgInfo::DENSITY_MASS) norm = density_mass_norm; else if (which[m] == ArgInfo::TEMPERATURE) - norm = mvv2e /((repeat*cdof + adof*count) * boltz); + norm = mvv2e / ((repeat*cdof + adof*count) * boltz); else if (normflag == NONORM) norm = invrepeat; else @@ -1389,7 +1336,7 @@ void FixAveGrid::normalize_atom(int numsamples, GridData *grid) else if (which[0] == ArgInfo::DENSITY_MASS) norm = density_mass_norm; else if (which[0] == ArgInfo::TEMPERATURE) - norm = mvv2e /((repeat*cdof + adof*count) * boltz); + norm = mvv2e / ((repeat*cdof + adof*count) * boltz); else if (normflag == NONORM) norm = invrepeat; else @@ -1411,7 +1358,7 @@ void FixAveGrid::normalize_atom(int numsamples, GridData *grid) else if (which[m] == ArgInfo::DENSITY_MASS) norm = density_mass_norm; else if (which[m] == ArgInfo::TEMPERATURE) - norm = mvv2e /((repeat*cdof + adof*count) * boltz); + norm = mvv2e / ((repeat*cdof + adof*count) * boltz); else if (normflag == NONORM) norm = invrepeat; else @@ -1495,12 +1442,69 @@ void FixAveGrid::normalize_count(int numsamples, GridData *grid) } /* ---------------------------------------------------------------------- - allocate a data grid + allocate instance of Grid2d or Grid3d +------------------------------------------------------------------------- */ + +void FixAveGrid::allocate_grid() +{ + if (modeatom) maxdist = 0.5 * neighbor->skin; + else if (modegrid) maxdist = 0.0; + + if (dimension == 2) { + grid2d = new Grid2d(lmp, world, nxgrid, nygrid); + grid2d->set_distance(maxdist); + grid2d->setup_grid(nxlo_in, nxhi_in, nylo_in, nyhi_in, + nxlo_out, nxhi_out, nylo_out, nyhi_out); + + // ngrid_buf12 converted to nvalues + count + + grid2d->setup_comm(ngrid_buf1, ngrid_buf2); + ngrid_buf1 *= nvalues + 1; + ngrid_buf2 *= nvalues + 1; + + grid_buf1 = grid_buf2 = nullptr; + if (ngrid_buf1) memory->create(grid_buf1, ngrid_buf1, "ave/grid:grid_buf1"); + if (ngrid_buf2) memory->create(grid_buf2, ngrid_buf2, "ave/grid:grid_buf2"); + + ngridout = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1); + + } else { + grid3d = new Grid3d(lmp, world, nxgrid, nygrid, nzgrid); + grid3d->set_distance(maxdist); + grid3d->setup_grid(nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, nzhi_in, + nxlo_out, nxhi_out, nylo_out, nyhi_out, nzlo_out, nzhi_out); + + // ngrid_buf12 converted to nvalues + count + + grid3d->setup_comm(ngrid_buf1, ngrid_buf2); + ngrid_buf1 *= nvalues + 1; + ngrid_buf2 *= nvalues + 1; + + grid_buf1 = grid_buf2 = nullptr; + if (ngrid_buf1) memory->create(grid_buf1, ngrid_buf1, "ave/grid:grid_buf1"); + if (ngrid_buf2) memory->create(grid_buf2, ngrid_buf2, "ave/grid:grid_buf2"); + + ngridout = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1) * + (nzhi_out - nzlo_out + 1); + } +} + +/* ---------------------------------------------------------------------- + allocate a data grid and zero its values if ATOM mode, also allocate per-grid count ------------------------------------------------------------------------- */ -void FixAveGrid::allocate_grid(GridData *grid) +FixAveGrid::GridData *FixAveGrid::allocate_one_grid() { + GridData *grid = new GridData(); + + grid->vec2d = nullptr; + grid->array2d = nullptr; + grid->count2d = nullptr; + grid->vec3d = nullptr; + grid->array3d = nullptr; + grid->count3d = nullptr; + if (dimension == 2) { if (nvalues == 1) memory->create2d_offset(grid->vec2d, nylo_out, nyhi_out, @@ -1525,31 +1529,59 @@ void FixAveGrid::allocate_grid(GridData *grid) memory->create3d_offset(grid->count3d, nzlo_out, nzhi_out, nylo_out, nyhi_out, nxlo_out, nxhi_out, "ave/grid:count3d"); } + + zero_grid(grid); + + return grid; +} + + +/* ---------------------------------------------------------------------- + create clone of a data grid + allocate a new grid and copy only the pointers from the source grid + used by reset_grid() to keep old data values until remap is complete +------------------------------------------------------------------------- */ + +FixAveGrid::GridData *FixAveGrid::clone_one_grid(GridData *src) +{ + GridData *grid = new GridData(); + + grid->vec2d = src->vec2d; + grid->array2d = src->array2d; + grid->count2d = src->count2d; + grid->vec3d = src->vec3d; + grid->array3d = src->array3d; + grid->count3d = src->count3d; + + return grid; } /* ---------------------------------------------------------------------- - deallocate a data grid + deallocate a data grid and all its memory if ATOM mode, also deallocate per-grid count ------------------------------------------------------------------------- */ -void FixAveGrid::deallocate_grid(GridData *grid) +void FixAveGrid::deallocate_one_grid(GridData *grid, + int xoffset, int yoffset, int zoffset) { if (dimension == 2) { if (nvalues == 1) - memory->destroy2d_offset(grid->vec2d,nylo_out,nxlo_out); + memory->destroy2d_offset(grid->vec2d,yoffset,xoffset); else - memory->destroy3d_offset_last(grid->array2d,nylo_out,nxlo_out); + memory->destroy3d_offset_last(grid->array2d,yoffset,xoffset); if (modeatom) - memory->destroy2d_offset(grid->count2d,nylo_out,nxlo_out); + memory->destroy2d_offset(grid->count2d,yoffset,xoffset); } else if (dimension == 3) { if (nvalues == 1) - memory->destroy3d_offset(grid->vec3d,nzlo_out,nylo_out,nxlo_out); + memory->destroy3d_offset(grid->vec3d,zoffset,yoffset,xoffset); else - memory->destroy4d_offset_last(grid->array3d,nzlo_out,nylo_out,nxlo_out); + memory->destroy4d_offset_last(grid->array3d,zoffset,yoffset,xoffset); if (modeatom) - memory->destroy3d_offset(grid->count3d,nzlo_out,nylo_out,nxlo_out); + memory->destroy3d_offset(grid->count3d,zoffset,yoffset,xoffset); } + + delete grid; } /* ---------------------------------------------------------------------- @@ -1591,7 +1623,7 @@ void FixAveGrid::zero_grid(GridData *grid) if (modeatom) memset(&grid->count2d[nylo_out][nxlo_out],0,ngridout*sizeof(double)); - } else if (dimension == 3) { + } else { if (nvalues == 1) memset(&grid->vec3d[nzlo_out][nylo_out][nxlo_out],0, ngridout*sizeof(double)); @@ -1817,8 +1849,9 @@ void FixAveGrid::output_grid(GridData *src) /* ---------------------------------------------------------------------- pack ghost values into buf to send to another proc - nvalues per grid point + count -------------------------------------------------------------------------- */ + nvalues per grid point + count- + only invoked for ATOM mode +------------------------------------------------------------------------ */ void FixAveGrid::pack_reverse_grid(int /*flag*/, void *vbuf, int nlist, int *list) { @@ -1837,7 +1870,7 @@ void FixAveGrid::pack_reverse_grid(int /*flag*/, void *vbuf, int nlist, int *lis if (nvalues == 1) data = &grid_sample->vec3d[nzlo_out][nylo_out][nxlo_out]; else data = &grid_sample->array3d[nzlo_out][nylo_out][nxlo_out][0]; } - + if (nvalues == 1) { for (i = 0; i < nlist; i++) { buf[m++] = count[list[i]]; @@ -1856,6 +1889,7 @@ void FixAveGrid::pack_reverse_grid(int /*flag*/, void *vbuf, int nlist, int *lis /* ---------------------------------------------------------------------- unpack another proc's ghost values from buf and add to own values nvalues per grid point + count + only invoked for ATOM mode ------------------------------------------------------------------------- */ void FixAveGrid::unpack_reverse_grid(int /*flag*/, void *vbuf, int nlist, int *list) @@ -1864,7 +1898,6 @@ void FixAveGrid::unpack_reverse_grid(int /*flag*/, void *vbuf, int nlist, int *l auto buf = (double *) vbuf; double *count,*data,*values; - m = 0; if (dimension == 2) { count = &grid_sample->count2d[nylo_out][nxlo_out]; @@ -1876,6 +1909,7 @@ void FixAveGrid::unpack_reverse_grid(int /*flag*/, void *vbuf, int nlist, int *l else data = &grid_sample->array3d[nzlo_out][nylo_out][nxlo_out][0]; } + m = 0; if (nvalues == 1) { for (i = 0; i < nlist; i++) { count[list[i]] += buf[m++]; @@ -1893,29 +1927,118 @@ void FixAveGrid::unpack_reverse_grid(int /*flag*/, void *vbuf, int nlist, int *l /* ---------------------------------------------------------------------- pack old grid values to buf to send to another proc + invoked for both GRID and ATOM mode ------------------------------------------------------------------------- */ void FixAveGrid::pack_remap_grid(void *vbuf, int nlist, int *list) { - auto buf = (double *) vbuf; - double *src; - //double *src = - // &T_electron_previous[nzlo_out_previous][nylo_out_previous][nxlo_out_previous]; + int i,j,m,iwindow; - for (int i = 0; i < nlist; i++) buf[i] = src[list[i]]; + auto buf = (double *) vbuf; + + int running_flag = 0; + if (aveflag == RUNNING || aveflag == WINDOW) running_flag = 1; + int window_flag = 0; + if (aveflag == WINDOW) window_flag = 1; + + m = 0; + for (i = 0; i < nlist; i++) { + m += pack_one_grid(grid_sample_previous,list[i],&buf[m]); + m += pack_one_grid(grid_nfreq_previous,list[i],&buf[m]); + if (running_flag) m += pack_one_grid(grid_running_previous,list[i],&buf[m]); + if (window_flag) + for (iwindow = 0; iwindow < nwindow; iwindow++) + m += pack_one_grid(grid_window_previous[iwindow],list[i],&buf[m]); + } } /* ---------------------------------------------------------------------- - unpack another proc's own values from buf and set own ghost values + unpack received owned values from buf into new grid + invoked for both GRID and ATOM mode ------------------------------------------------------------------------- */ void FixAveGrid::unpack_remap_grid(void *vbuf, int nlist, int *list) { - auto buf = (double *) vbuf; - double *dest; - //double *dest = &T_electron[nzlo_out][nylo_out][nxlo_out]; + int i,j,m,iwindow; - for (int i = 0; i < nlist; i++) dest[list[i]] = buf[i]; + auto buf = (double *) vbuf; + + int running_flag = 0; + if (aveflag == RUNNING || aveflag == WINDOW) running_flag = 1; + int window_flag = 0; + if (aveflag == WINDOW) window_flag = 1; + + m = 0; + for (i = 0; i < nlist; i++) { + m += unpack_one_grid(&buf[m],grid_sample,list[i]); + m += unpack_one_grid(&buf[m],grid_nfreq,list[i]); + if (running_flag) m += unpack_one_grid(&buf[m],grid_running,list[i]); + if (window_flag) + for (iwindow = 0; iwindow < nwindow; iwindow++) + m += unpack_one_grid(&buf[m],grid_window[iwindow],list[i]); + } +} + +/* ---------------------------------------------------------------------- + pack values for a single grid cell to buf + return number of values packed +------------------------------------------------------------------------- */ + +int FixAveGrid::pack_one_grid(GridData *grid, int index, double *buf) +{ + double *count,*data,*values; + + if (dimension == 2) { + count = &grid->count2d[nylo_out_previous][nxlo_out_previous]; + if (nvalues == 1) data = &grid->vec2d[nylo_out_previous][nxlo_out_previous]; + else data = &grid->array2d[nylo_out_previous][nxlo_out_previous][0]; + } else if (dimension == 3) { + count = &grid->count3d[nzlo_out_previous][nylo_out_previous][nxlo_out_previous]; + if (nvalues == 1) data = &grid->vec3d[nzlo_out_previous][nylo_out_previous][nxlo_out_previous]; + else data = &grid->array3d[nzlo_out_previous][nylo_out_previous][nxlo_out_previous][0]; + } + + int m = 0; + if (modeatom) buf[m++] = count[index]; + if (nvalues == 1) buf[m++] = data[index]; + else { + values = &data[nvalues*index]; + for (int j = 0; j < nvalues; j++) + buf[m++] = values[j]; + } + + return m; +} + +/* ---------------------------------------------------------------------- + unpack values for a single grid cell from buf + return number of values unpacked +------------------------------------------------------------------------- */ + +int FixAveGrid::unpack_one_grid(double *buf, GridData *grid, int index) +{ + double *count,*data,*values; + + if (dimension == 2) { + count = &grid->count2d[nylo_out][nxlo_out]; + if (nvalues == 1) data = &grid->vec2d[nylo_out][nxlo_out]; + else data = &grid->array2d[nylo_out][nxlo_out][0]; + } else if (dimension == 3) { + count = &grid->count3d[nzlo_out][nylo_out][nxlo_out]; + if (nvalues == 1) data = &grid->vec3d[nzlo_out][nylo_out][nxlo_out]; + else data = &grid->array3d[nzlo_out][nylo_out][nxlo_out][0]; + } + + int m = 0; + if (modeatom) count[index] = buf[m++]; + if (nvalues == 1) data[index] = buf[m++]; + else { + values = &data[nvalues*index]; + for (int j = 0; j < nvalues; j++) + values[j] = buf[m++]; + } + + return m; } /* ---------------------------------------------------------------------- @@ -1955,57 +2078,104 @@ void FixAveGrid::reset_grid() } else delete gridnew; } - // DEBUG - if (comm->me == 0) printf("Remapping grid on step %ld\n",update->ntimestep); + // for ATOM mode, perform ghost to owned grid comm for grid_sample + // necessary b/c remap will only communicate owned grid cell data + // so can't lose ghost data not yet summed to owned cells + // nvalues+1 includes atom count - /* - // delete grid data which doesn't need to persist from previous to new decomp + if (modeatom) { + if (dimension == 2) + grid2d->reverse_comm(Grid2d::FIX,this,nvalues+1,sizeof(double),0, + grid_buf1,grid_buf2,MPI_DOUBLE); + else + grid3d->reverse_comm(Grid3d::FIX,this,nvalues+1,sizeof(double),0, + grid_buf1,grid_buf2,MPI_DOUBLE); + } + + // deallocate local comm buffers b/c new ones will be allocated memory->destroy(grid_buf1); memory->destroy(grid_buf2); - memory->destroy3d_offset(T_electron_old, nzlo_out, nylo_out, nxlo_out); - memory->destroy3d_offset(net_energy_transfer, nzlo_out, nylo_out, nxlo_out); - // make copy of ptrs to grid data which does need to persist + // make copy of ptrs to grid data which needs to persist - grid_previous = grid; - T_electron_previous = T_electron; + if (dimension == 2) grid2d_previous = grid2d; + else grid3d_previous = grid3d; + nxlo_out_previous = nxlo_out; nylo_out_previous = nylo_out; nzlo_out_previous = nzlo_out; - // allocate new per-grid data for new decomposition + grid_sample_previous = clone_one_grid(grid_sample); + grid_nfreq_previous = clone_one_grid(grid_nfreq); + if (aveflag == RUNNING || aveflag == WINDOW) + grid_running_previous = clone_one_grid(grid_running); + if (aveflag == WINDOW) { + grid_window_previous = new GridData*[nwindow]; + for (int i = 0; i < nwindow; i++) + grid_window_previous[i] = clone_one_grid(grid_window[i]); + } + + // allocate grid instance and grid data for new decomposition allocate_grid(); + grid_sample = allocate_one_grid(); + grid_nfreq = allocate_one_grid(); + if (aveflag == RUNNING || aveflag == WINDOW) grid_nfreq = allocate_one_grid(); + if (aveflag == WINDOW) { + grid_window = new GridData*[nwindow]; + for (int i = 0; i < nwindow; i++) + grid_window[i] = allocate_one_grid(); + } + // perform remap from previous decomp to new decomp + // nper = # of remapped values per grid cell + // depends on atom vs grid mode, and running/window options int nremap_buf1,nremap_buf2; - grid->setup_remap(grid_previous,nremap_buf1,nremap_buf2); + if (dimension == 2) + grid2d->setup_remap(grid2d_previous,nremap_buf1,nremap_buf2); + else + grid3d->setup_remap(grid3d_previous,nremap_buf1,nremap_buf2); - double *remap_buf1,*remap_buf2; - memory->create(remap_buf1, nremap_buf1, "ave/grid:remap_buf1"); - memory->create(remap_buf2, nremap_buf2, "ave/grid:remap_buf2"); + int n = 2; // grid_sample & grid_nfreq + if (aveflag == RUNNING || aveflag == WINDOW) n++; // grid_running + if (aveflag == WINDOW) n += nwindow; // grid_window + int nper = n*nvalues; + if (modeatom) nper += n; - grid->remap(Grid3d::FIX,this,1,sizeof(double),remap_buf1,remap_buf2,MPI_DOUBLE); + double *remap_buf1 = nullptr; + double *remap_buf2 = nullptr; + if (nremap_buf1) memory->create(remap_buf1, nper*nremap_buf1, "ave/grid:remap_buf1"); + if (nremap_buf2) memory->create(remap_buf2, nper*nremap_buf2, "ave/grid:remap_buf2"); + + if (dimension == 2) + grid2d->remap(Grid2d::FIX,this,nper,sizeof(double),remap_buf1,remap_buf2,MPI_DOUBLE); + else + grid3d->remap(Grid3d::FIX,this,nper,sizeof(double),remap_buf1,remap_buf2,MPI_DOUBLE); memory->destroy(remap_buf1); memory->destroy(remap_buf2); - // delete grid data and grid for previous decomposition + // delete grid instance and grid data for previous decomposition - memory->destroy3d_offset(T_electron_previous, - nzlo_out_previous, nylo_out_previous, - nxlo_out_previous); - delete grid_previous; + if (dimension == 2) delete grid2d_previous; + else delete grid3d_previous; - // zero new net_energy_transfer - // in case compute_vector accesses it on timestep 0 + deallocate_one_grid(grid_sample_previous,nxlo_out_previous,nylo_out_previous,nzlo_out_previous); + deallocate_one_grid(grid_nfreq_previous,nxlo_out_previous,nylo_out_previous,nzlo_out_previous); + if (aveflag == RUNNING || aveflag == WINDOW) + deallocate_one_grid(grid_running_previous,nxlo_out_previous,nylo_out_previous,nzlo_out_previous); + if (aveflag == WINDOW) { + for (int i = 0; i < nwindow; i++) + deallocate_one_grid(grid_window_previous[i],nxlo_out_previous,nylo_out_previous,nzlo_out_previous); + delete [] grid_window_previous; + } - outflag = 0; - memset(&net_energy_transfer[nzlo_out][nylo_out][nxlo_out],0, - ngridout*sizeof(double)); - */ + // set output data in case load balance fix comes after fix ave/grid + + output_grid(grid_nfreq); } /* ---------------------------------------------------------------------- diff --git a/src/fix_ave_grid.h b/src/fix_ave_grid.h index 71f1a34d8a..53c90c2458 100644 --- a/src/fix_ave_grid.h +++ b/src/fix_ave_grid.h @@ -89,6 +89,14 @@ class FixAveGrid : public Fix { GridData *grid_sample,*grid_nfreq,*grid_running; GridData **grid_window; + // old grid data for remap operation + + class Grid2d *grid2d_previous; + class Grid3d *grid3d_previous; + int nxlo_out_previous,nylo_out_previous,nzlo_out_previous; + GridData *grid_sample_previous,*grid_nfreq_previous,*grid_running_previous; + GridData **grid_window_previous; + int **bin; int *skip; int maxatom; @@ -103,8 +111,14 @@ class FixAveGrid : public Fix { void normalize_grid(int, GridData *); void normalize_count(int, GridData *); - void allocate_grid(GridData *); - void deallocate_grid(GridData *); + void allocate_grid(); + GridData *allocate_one_grid(); + GridData *clone_one_grid(GridData *); + void deallocate_one_grid(GridData *, int, int, int); + + int pack_one_grid(GridData *, int, double *); + int unpack_one_grid(double *, GridData *, int); + double size_grid(GridData *); void zero_grid(GridData *); void copy_grid(GridData *, GridData *); diff --git a/src/grid2d.cpp b/src/grid2d.cpp index 77ae289d63..61ced82c59 100644 --- a/src/grid2d.cpp +++ b/src/grid2d.cpp @@ -423,14 +423,14 @@ void Grid2d::initialize() this includes sub-domain lo boundary but excludes hi boundary ngrid = extent of global grid in a dimension indices into the global grid range from 0 to Ngrid-1 in that dim - shift factor determines position of grid pt within grid cell + shift determines position of grid pt within grid cell shift = 0.5 for cell center, 0.0 for lower-left corner extra = 0 if grid exactly covers the simulation box extra = 1 if grid extends beyond the +y boundary by yfactor effectively maps proc partitions to the box-size subset of the grid lo/hi = inclusive lo/hi bounds for brick of global grid cells I own - lo grid index = first grid pt >= fraclo bound - hi grid index = last grid pt < frachi bound + lo grid index = first grid pt >= fraclo*bound + hi grid index = last grid pt < frachi*bound if proc owns no grid cells in a dim, then inlo > inhi special case: 2 procs share boundary which a grid point is exactly on 2 if test equalties insure a consistent decision as to which proc owns it @@ -441,14 +441,14 @@ void Grid2d::partition_grid(int ngrid, double fraclo, double frachi, { if (extra == 0) { lo = static_cast (fraclo * ngrid); - while (1.0*lo + shift/ngrid < fraclo*ngrid) lo++; + while (lo+shift < fraclo*ngrid) lo++; hi = static_cast (frachi * ngrid); - while (1.0*hi + shift/ngrid >= frachi*ngrid) hi--; + while (hi+shift >= frachi*ngrid) hi--; } else { lo = static_cast (fraclo * ngrid/yfactor); - while (1.0*lo + shift/ngrid < fraclo*ngrid) lo++; + while (lo+shift < fraclo*ngrid/yfactor) lo++; hi = static_cast (frachi * ngrid/yfactor); - while (1.0*hi + shift/ngrid >= frachi*ngrid) hi--; + while (hi+shift >= frachi*ngrid/yfactor) hi--; } } @@ -556,8 +556,8 @@ void Grid2d::extract_comm_info() layout = comm->layout; // for non TILED layout: - // proc xyz lohi = my 64neighbor procs in this MPI_Comm - // NOTE: will need special logic for MSM case with different MPI_Comm + // proc xyz lohi = my 4 neighbor procs in this MPI_Comm + // these proc IDs can be overridden by caller using set_proc_neighs() // xyz split = copy of 1d vectors in Comm // grid2proc = copy of 3d array in Comm @@ -609,7 +609,7 @@ void Grid2d::extract_comm_info() nbuf2 = larget of sum of all packs or unpacks in Send or Recv for brick comm, nbuf1 = nbuf2 for tiling comm, nbuf2 >= nbuf2 - nbuf1,nbuf2 are counts of grid points + nbuf1,nbuf2 are counts of grid cells caller converts them to message sizes for grid data it stores ------------------------------------------------------------------------- */ @@ -1330,11 +1330,14 @@ void Grid2d::setup_remap(Grid2d *old, int &nremap_buf1, int &nremap_buf2) int noverlap_old = compute_overlap(0,oldbox,pbc,overlap_old); // use overlap_old to construct send and copy lists + // skip overlaps that contain no grid cells self_remap = 0; nsend_remap = 0; for (m = 0; m < noverlap_old; m++) { + box = overlap_old[m].box; + if (box[0] > box[1] || box[2] > box[3]) continue; if (overlap_old[m].proc == me) self_remap =1; else nsend_remap++; } @@ -1344,6 +1347,7 @@ void Grid2d::setup_remap(Grid2d *old, int &nremap_buf1, int &nremap_buf2) nsend_remap = 0; for (m = 0; m < noverlap_old; m++) { box = overlap_old[m].box; + if (box[0] > box[1] || box[2] > box[3]) continue; if (overlap_old[m].proc == me) { copy_remap.npack = old->indices(copy_remap.packlist,box[0],box[1],box[2],box[3]); @@ -1368,17 +1372,22 @@ void Grid2d::setup_remap(Grid2d *old, int &nremap_buf1, int &nremap_buf2) int noverlap_new = old->compute_overlap(0,newbox,pbc,overlap_new); // use overlap_new to construct recv and copy lists + // skip overlaps that contain no grid cells // set offsets for Recv data nrecv_remap = 0; - for (m = 0; m < noverlap_new; m++) + for (m = 0; m < noverlap_new; m++) { + box = overlap_new[m].box; + if (box[0] > box[1] || box[2] > box[3]) continue; if (overlap_new[m].proc != me) nrecv_remap++; - + } + recv_remap = new Recv[nrecv_remap]; nrecv_remap = 0; for (m = 0; m < noverlap_new; m++) { box = overlap_new[m].box; + if (box[0] > box[1] || box[2] > box[3]) continue; if (overlap_new[m].proc == me) { copy_remap.nunpack = indices(copy_remap.unpacklist,box[0],box[1],box[2],box[3]); @@ -1636,14 +1645,23 @@ int Grid2d::compute_overlap(int ghostflag, int *box, int *pbc, Overlap *&overlap noverlap_list = maxoverlap_list = 0; overlap_list = nullptr; + // skip overlap check if box contains no grid cells + + if (box[0] > box[1] || box[2] > box[3]) { + overlap = overlap_list; + return noverlap_list; + } + + // test obox against appropriate layout + if (layout != Comm::LAYOUT_TILED) { // find comm->procgrid indices in each dim for box bounds - int iproclo = proc_index_uniform(box[0],nx,0,xsplit); - int iprochi = proc_index_uniform(box[1],nx,0,xsplit); - int jproclo = proc_index_uniform(box[2],ny,1,ysplit); - int jprochi = proc_index_uniform(box[3],ny,1,ysplit); + int iproclo = proc_index_uniform(box[0],nx,shift_grid,0,xsplit); + int iprochi = proc_index_uniform(box[1],nx,shift_grid,0,xsplit); + int jproclo = proc_index_uniform(box[2],ny,shift_grid,1,ysplit); + int jprochi = proc_index_uniform(box[3],ny,shift_grid,1,ysplit); // compute extent of overlap of box with with each proc's obox @@ -1674,6 +1692,9 @@ int Grid2d::compute_overlap(int ghostflag, int *box, int *pbc, Overlap *&overlap obox[3] = ny-1; partition_tiled(overlap_list[m].proc,0,nprocs-1,obox); + + if (me == 1) printf("OBOX: proc %d obox %d %d: %d %d\n", + overlap_list[m].proc,obox[0],obox[1],obox[2],obox[3]); overlap_list[m].box[0] = MAX(box[0],obox[0]); overlap_list[m].box[1] = MIN(box[1],obox[1]); @@ -1877,29 +1898,33 @@ int Grid2d::indices(int *&list, int xlo, int xhi, int ylo, int yhi) find the comm->procgrid index = which proc owns the igrid index igrid = grid index (0 to N-1) in dim n = # of grid points in dim + shift determines position of grid pt within grid cell + shift = 0.5 for cell center, 0.0 for lower-left corner dim = which dimension (0,1) split = comm->x/y/z split for fractional bounds of each proc domain ------------------------------------------------------------------------- */ -int Grid2d::proc_index_uniform(int igrid, int n, int dim, double *split) +int Grid2d::proc_index_uniform(int igrid, int n, double shift, int dim, double *split) { - int gridlo,gridhi; + int lo,hi; double fraclo,frachi; // loop over # of procs in this dime // compute the grid bounds for that proc // if igrid falls within those bounds, return m = proc index - + // same logic as in partition_grid() + int m; for (m = 0; m < comm->procgrid[dim]; m++) { fraclo = split[m]; frachi = split[m+1]; - gridlo = static_cast (fraclo * n); - if (1.0*gridlo != fraclo*n) gridlo++; - gridhi = static_cast (frachi * n); - if (1.0*gridhi == frachi*n) gridhi--; + + lo = static_cast (fraclo * n); + while (lo+shift < fraclo*n) lo++; + hi = static_cast (frachi * n); + if (hi+shift >= frachi*n) hi--; - if (igrid >= gridlo && igrid <= gridhi) break; + if (igrid >= lo && igrid <= hi) break; } return m; diff --git a/src/grid2d.h b/src/grid2d.h index 3ad28b3a4f..3772028f52 100644 --- a/src/grid2d.h +++ b/src/grid2d.h @@ -257,7 +257,7 @@ protected: void deallocate_remap(); int indices(int *&, int, int, int, int); - int proc_index_uniform(int, int, int, double *); + int proc_index_uniform(int, int, double, int, double *); void partition_tiled(int, int, int, int *); }; diff --git a/src/grid3d.cpp b/src/grid3d.cpp index 30056d27c9..ddf2667ad1 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -361,7 +361,8 @@ void Grid3d::setup_grid(int &ixlo, int &ixhi, int &iylo, int &iyhi, int &ozlo, int &ozhi) { // owned grid cells = those whose grid point is within proc subdomain - + // shift_grid = 0.5 for grid point at cell center, 0.0 for lower-left corner + double fraclo,frachi; if (comm->layout != Comm::LAYOUT_TILED) { @@ -469,14 +470,14 @@ void Grid3d::initialize() this includes sub-domain lo boundary but excludes hi boundary ngrid = extent of global grid in a dimension indices into the global grid range from 0 to Ngrid-1 in that dim - shift factor determines position of grid pt within grid cell + shift determines position of grid pt within grid cell shift = 0.5 for cell center, 0.0 for lower-left corner extra = 0 if grid exactly covers the simulation box extra = 1 if grid extends beyond the +z boundary by zfactor (PPPM slab) effectively maps proc partitions to the box-size subset of the grid lo/hi = inclusive lo/hi bounds for brick of global grid cells I own - lo grid index = first grid pt >= fraclo bound - hi grid index = last grid pt < frachi bound + lo grid index = first grid pt >= fraclo*bound + hi grid index = last grid pt < frachi*bound if proc owns no grid cells in a dim, then inlo > inhi special case: 2 procs share boundary which a grid point is exactly on 2 if test equalties insure a consistent decision as to which proc owns it @@ -487,14 +488,14 @@ void Grid3d::partition_grid(int ngrid, double fraclo, double frachi, { if (extra == 0) { lo = static_cast (fraclo * ngrid); - while (1.0*lo + shift/ngrid < fraclo*ngrid) lo++; + while (lo+shift < fraclo*ngrid) lo++; hi = static_cast (frachi * ngrid); - while (1.0*hi + shift/ngrid >= frachi*ngrid) hi--; + while (hi+shift >= frachi*ngrid) hi--; } else { lo = static_cast (fraclo * ngrid/zfactor); - while (1.0*lo + shift/ngrid < fraclo*ngrid) lo++; + while (lo+shift < fraclo*ngrid/zfactor) lo++; hi = static_cast (frachi * ngrid/zfactor); - while (1.0*hi + shift/ngrid >= frachi*ngrid) hi--; + while (hi+shift >= frachi*ngrid/zfactor) hi--; } } @@ -665,7 +666,7 @@ void Grid3d::extract_comm_info() /* ---------------------------------------------------------------------- setup commmunication of owned/ghost grid cells - either for brick decomp or tiling decomp + either for brick decomp or tiled decomp return sizes of two buffers needed for communication nbuf1 = largest pack or unpack in any Send or Recv or Copy nbuf2 = larget of sum of all packs or unpacks in Send or Recv @@ -1498,11 +1499,14 @@ void Grid3d::setup_remap(Grid3d *old, int &nremap_buf1, int &nremap_buf2) int noverlap_old = compute_overlap(0,oldbox,pbc,overlap_old); // use overlap_old to construct send and copy lists - + // skip overlaps that contain no grid cells + self_remap = 0; nsend_remap = 0; for (m = 0; m < noverlap_old; m++) { + box = overlap_old[m].box; + if (box[0] > box[1] || box[2] > box[3] || box[4] > box[5]) continue; if (overlap_old[m].proc == me) self_remap = 1; else nsend_remap++; } @@ -1512,6 +1516,7 @@ void Grid3d::setup_remap(Grid3d *old, int &nremap_buf1, int &nremap_buf2) nsend_remap = 0; for (m = 0; m < noverlap_old; m++) { box = overlap_old[m].box; + if (box[0] > box[1] || box[2] > box[3] || box[4] > box[5]) continue; if (overlap_old[m].proc == me) { copy_remap.npack = old->indices(copy_remap.packlist, @@ -1537,17 +1542,22 @@ void Grid3d::setup_remap(Grid3d *old, int &nremap_buf1, int &nremap_buf2) int noverlap_new = old->compute_overlap(0,newbox,pbc,overlap_new); // use overlap_new to construct recv and copy lists + // skip overlaps that contain no grid cells // set offsets for Recv data nrecv_remap = 0; - for (m = 0; m < noverlap_new; m++) + for (m = 0; m < noverlap_new; m++) { + box = overlap_new[m].box; + if (box[0] > box[1] || box[2] > box[3] || box[4] > box[5]) continue; if (overlap_new[m].proc != me) nrecv_remap++; - + } + recv_remap = new Recv[nrecv_remap]; nrecv_remap = 0; for (m = 0; m < noverlap_new; m++) { box = overlap_new[m].box; + if (box[0] > box[1] || box[2] > box[3] || box[4] > box[5]) continue; if (overlap_new[m].proc == me) { copy_remap.nunpack = indices(copy_remap.unpacklist, @@ -1810,16 +1820,23 @@ int Grid3d::compute_overlap(int ghostflag, int *box, int *pbc, Overlap *&overlap noverlap_list = maxoverlap_list = 0; overlap_list = nullptr; + // skip overlap check if box contains no grid cells + + if (box[0] > box[1] || box[2] > box[3] || box[4] > box[5]) { + overlap = overlap_list; + return noverlap_list; + } + if (layout != Comm::LAYOUT_TILED) { // find comm->procgrid indices in each dim for box bounds - int iproclo = proc_index_uniform(box[0],nx,0,xsplit); - int iprochi = proc_index_uniform(box[1],nx,0,xsplit); - int jproclo = proc_index_uniform(box[2],ny,1,ysplit); - int jprochi = proc_index_uniform(box[3],ny,1,ysplit); - int kproclo = proc_index_uniform(box[4],nz,2,zsplit); - int kprochi = proc_index_uniform(box[5],nz,2,zsplit); + int iproclo = proc_index_uniform(box[0],nx,shift_grid,0,xsplit); + int iprochi = proc_index_uniform(box[1],nx,shift_grid,0,xsplit); + int jproclo = proc_index_uniform(box[2],ny,shift_grid,1,ysplit); + int jprochi = proc_index_uniform(box[3],ny,shift_grid,1,ysplit); + int kproclo = proc_index_uniform(box[4],nz,shift_grid,2,zsplit); + int kprochi = proc_index_uniform(box[5],nz,shift_grid,2,zsplit); // compute extent of overlap of box with with each proc's obox @@ -2073,30 +2090,34 @@ int Grid3d::indices(int *&list, /* ---------------------------------------------------------------------- find the comm->procgrid index = which proc owns the igrid index igrid = grid index (0 to N-1) in dim - n = # of grid points in dim + n = # of grid points in dim + shift determines position of grid pt within grid cell + shift = 0.5 for cell center, 0.0 for lower-left corner dim = which dimension (0,1,2) split = comm->x/y/z split for fractional bounds of each proc domain ------------------------------------------------------------------------- */ -int Grid3d::proc_index_uniform(int igrid, int n, int dim, double *split) +int Grid3d::proc_index_uniform(int igrid, int n, double shift, int dim, double *split) { - int gridlo,gridhi; + int lo,hi; double fraclo,frachi; // loop over # of procs in this dime // compute the grid bounds for that proc // if igrid falls within those bounds, return m = proc index + // same logic as in partition_grid() int m; for (m = 0; m < comm->procgrid[dim]; m++) { fraclo = split[m]; frachi = split[m+1]; - gridlo = static_cast (fraclo * n); - if (1.0*gridlo != fraclo*n) gridlo++; - gridhi = static_cast (frachi * n); - if (1.0*gridhi == frachi*n) gridhi--; - if (igrid >= gridlo && igrid <= gridhi) break; + lo = static_cast (fraclo * n); + while (lo+shift < fraclo*n) lo++; + hi = static_cast (frachi * n); + if (hi+shift >= frachi*n) hi--; + + if (igrid >= lo && igrid <= hi) break; } return m; @@ -2108,8 +2129,7 @@ int Grid3d::proc_index_uniform(int igrid, int n, int dim, double *split) return box = lo/hi bounds of proc's box in 3 dims ------------------------------------------------------------------------- */ -void Grid3d::partition_tiled(int proc, int proclower, int procupper, - int *box) +void Grid3d::partition_tiled(int proc, int proclower, int procupper, int *box) { // end recursion when partition is a single proc diff --git a/src/grid3d.h b/src/grid3d.h index 73f6bcb5c5..721cdd93f0 100644 --- a/src/grid3d.h +++ b/src/grid3d.h @@ -262,7 +262,7 @@ class Grid3d : protected Pointers { void deallocate_remap(); int indices(int *&, int, int, int, int, int, int); - int proc_index_uniform(int, int, int, double *); + int proc_index_uniform(int, int, double, int, double *); void partition_tiled(int, int, int, int *); }; From d2a90a05fb7a1be166080076763fedeace1a3749 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 7 Nov 2022 10:16:39 -0700 Subject: [PATCH 091/142] add support for ELECTRODE pkg PPPM --- src/ELECTRODE/pppm_electrode.cpp | 156 ++++++++++++++++++++++++++----- src/grid3d.cpp | 2 +- 2 files changed, 135 insertions(+), 23 deletions(-) diff --git a/src/ELECTRODE/pppm_electrode.cpp b/src/ELECTRODE/pppm_electrode.cpp index 5004c4f3b4..281da5e1d8 100644 --- a/src/ELECTRODE/pppm_electrode.cpp +++ b/src/ELECTRODE/pppm_electrode.cpp @@ -187,10 +187,6 @@ void PPPMElectrode::init() // free all arrays previously allocated deallocate(); - delete fft1; - delete fft2; - delete remap; - delete gc; if (peratom_allocate_flag) deallocate_peratom(); if (group_allocate_flag) deallocate_groups(); @@ -200,7 +196,7 @@ void PPPMElectrode::init() // or overlap is allowed, then done // else reduce order and try again - Grid3d *gctmp = nullptr; + gc = nullptr; int iteration = 0; while (order >= minorder) { @@ -214,23 +210,22 @@ void PPPMElectrode::init() set_grid_local(); if (overlap_allowed) break; - gctmp = - 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); int tmp1, tmp2; - gctmp->setup(tmp1, tmp2); - if (gctmp->ghost_adjacent()) break; - delete gctmp; + gc->setup_comm(tmp1, tmp2); + if (gc->ghost_adjacent()) break; + delete gc; order--; iteration++; } if (order < minorder) error->all(FLERR, "PPPM/electrode order < minimum allowed order"); - if (!overlap_allowed && !gctmp->ghost_adjacent()) + if (!overlap_allowed && !gc->ghost_adjacent()) error->all(FLERR, "PPPM/electrode grid stencil extends beyond nearest neighbor processor"); - if (gctmp) delete gctmp; + if (gc) delete gc; // adjust g_ewald @@ -265,6 +260,7 @@ void PPPMElectrode::init() // pre-compute Green's function denomiator expansion // pre-compute 1d charge distribution coefficients + compute_gf_denom(); if (differentiation_flag == 1) compute_sf_precoeff(); compute_rho_coeff(); @@ -900,8 +896,7 @@ void PPPMElectrode::two_step_multiplication(bigint *imat, const std::vectorsetup_comm(ngc_buf1,ngc_buf2); + + 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"); + + // tally local grid sizes + // ngrid = count of owned+ghost grid cells on this proc + // nfft_brick = FFT points in 3d brick-decomposition on this proc + // same as count of owned grid cells + // 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); + + 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_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->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"); + } else { + 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->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"); + } + + // 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"); + + // create 2 FFTs and a Remap + // 1st FFT keeps data in FFT decomposition + // 2nd FFT returns data in 3d brick decomposition + // remap takes data from 3d brick to FFT decomposition + + 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); + + 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); + + // ELECTRODE specific allocations + memory->create3d_offset(electrolyte_density_brick, nzlo_out, nzhi_out, nylo_out, nyhi_out, nxlo_out, nxhi_out, "pppm/electrode:electrolyte_density_brick"); memory->create(electrolyte_density_fft, nfft_both, "pppm/electrode:electrolyte_density_fft"); - PPPM::allocate(); + if (differentiation_flag != 1) memory->create3d_offset(u_brick, nzlo_out, nzhi_out, nylo_out, nyhi_out, nxlo_out, nxhi_out, "pppm:u_brick"); @@ -932,6 +1040,10 @@ void PPPMElectrode::allocate() void PPPMElectrode::deallocate() { + delete gc; + memory->destroy(gc_buf1); + memory->destroy(gc_buf2); + memory->destroy3d_offset(electrolyte_density_brick, nzlo_out, nylo_out, nxlo_out); memory->destroy(electrolyte_density_fft); @@ -967,8 +1079,9 @@ void PPPMElectrode::deallocate() memory->destroy2d_offset(rho_coeff, (1 - order_allocated) / 2); memory->destroy2d_offset(drho_coeff, (1 - order_allocated) / 2); - memory->destroy(gc_buf1); - memory->destroy(gc_buf2); + delete fft1; + delete fft2; + delete remap; } void PPPMElectrode::allocate_peratom() @@ -1243,10 +1356,8 @@ double PPPMElectrode::compute_qopt() set local subset of PPPM/FFT grid that I own n xyz lo/hi in = 3d brick that I own (inclusive) n xyz lo/hi out = 3d brick + ghost cells in 6 directions (inclusive) - n xyz lo/hi fft = FFT columns that I own (all of x dim, 2d decomp in -yz) -------------------------------------------------------------------------- -*/ + n xyz lo/hi fft = FFT columns that I own (all of x dim, 2d decomp in yz) +------------------------------------------------------------------------- */ void PPPMElectrode::set_grid_local() { @@ -1290,6 +1401,7 @@ void PPPMElectrode::set_grid_local() shift = OFFSET + 0.5; else shift = OFFSET; + if (order % 2) shiftone = 0.0; else diff --git a/src/grid3d.cpp b/src/grid3d.cpp index ddf2667ad1..4b88457544 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -74,7 +74,7 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, int gnx, int gny, int gnz) : alternate constructor to create a 3d distributed grid caller assigns owned/ghost cells to each proc setup_grid() must NOT be called - used by MSM b/c its definition of ghost cells is complex + used by MSM and PPPM/Electrode b/c their definition of ghost cells is complex gcomm = caller's communicator gnx,gny,gnz = global grid size i xyz lo/hi = extent of owned grid cells on this proc From 3390d51c4844d477d0beb7bb89a901ed66669f5c Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 7 Nov 2022 10:40:45 -0700 Subject: [PATCH 092/142] bug fix in amoeba_convolution --- src/AMOEBA/amoeba_convolution.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/AMOEBA/amoeba_convolution.cpp b/src/AMOEBA/amoeba_convolution.cpp index 65c93a4754..a5ccbfdff1 100644 --- a/src/AMOEBA/amoeba_convolution.cpp +++ b/src/AMOEBA/amoeba_convolution.cpp @@ -76,6 +76,8 @@ AmoebaConvolution::AmoebaConvolution(LAMMPS *lmp, Pair *pair, if (which == POLAR_GRIDC || which == INDUCE_GRIDC) flag3d = 0; nfft_global = (bigint) nx * ny * nz; + + allocate_grid(); } /* ---------------------------------------------------------------------- From e6da584a764a0de1d2aad2cdea062857aa21b06f Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 7 Nov 2022 11:41:59 -0700 Subject: [PATCH 093/142] doc pages --- doc/src/Howto_output.rst | 3 +- doc/src/fix_ave_chunk.rst | 23 +++++++++--- doc/src/fix_ave_grid.rst | 44 ++++++++++++++++++----- doc/src/fix_ttm.rst | 75 ++++++++++++++++++++++++--------------- 4 files changed, 101 insertions(+), 44 deletions(-) diff --git a/doc/src/Howto_output.rst b/doc/src/Howto_output.rst index bf04b39781..771ecad8f0 100644 --- a/doc/src/Howto_output.rst +++ b/doc/src/Howto_output.rst @@ -100,7 +100,8 @@ Per-grid data can come in two kinds: a vector of values (one per grid cekk), or a 2d array of values (multiple values per grid ckk). The doc page for a "compute" or "fix" that generates data will specify names for both the grid(s) and datum(s) it produces, e.g. per-grid -vectors or arrays, which can be referenced by other commands. +vectors or arrays, which can be referenced by other commands. See the +:doc:`Howto grid ` doc page for more details. .. _disambiguation: diff --git a/doc/src/fix_ave_chunk.rst b/doc/src/fix_ave_chunk.rst index 3eb5a5c9f3..0dca00e4bb 100644 --- a/doc/src/fix_ave_chunk.rst +++ b/doc/src/fix_ave_chunk.rst @@ -112,6 +112,17 @@ or atoms in a spatial bin. See the :doc:`compute chunk/atom page for details of how chunks can be defined and examples of how they can be used to measure properties of a system. +Note that if the :doc:`compute chunk/atom ` +command defines spatial bins, the fix ave/chunk command performs a +similar computation as the :doc:`fix ave/grid ` command. +However, the per-bin outputs from the fix ave/chunk command are +global; each processor stores a copy of the entire set of bin data. +By contrast, the :doc:`fix ave/grid ` command uses a +distributed grid where each processor owns a subset of the bins. Thus +it is more efficient to use the :doc:`fix ave/grid ` +command when the grid is large and a simulation is run on many +processors. + Note that only atoms in the specified group contribute to the summing and averaging calculations. The :doc:`compute chunk/atom ` command defines its own group as well as an @@ -530,12 +541,14 @@ Restrictions Related commands """""""""""""""" -:doc:`compute `, :doc:`fix ave/atom `, -:doc:`fix ave/histo `, :doc:`fix ave/time `, -:doc:`variable `, :doc:`fix ave/correlate ` +:doc:`compute `, :doc:`fix ave/atom `, `fix +:doc:ave/histo `, :doc:`fix ave/time `, +:doc:`variable `, :doc:`fix ave/correlate +:doc:`, `fix ave/atogrid ` + Default """"""" -The option defaults are norm = all, ave = one, bias = none, no file output, and -title 1,2,3 = strings as described above. +The option defaults are norm = all, ave = one, bias = none, no file +output, and title 1,2,3 = strings as described above. diff --git a/doc/src/fix_ave_grid.rst b/doc/src/fix_ave_grid.rst index e32560193a..153e558962 100644 --- a/doc/src/fix_ave_grid.rst +++ b/doc/src/fix_ave_grid.rst @@ -70,7 +70,7 @@ Examples .. code-block:: LAMMPS fix 1 all ave/grid 10000 1 10000 10 10 10 fx fy fz c_myMSD[*] - fix 1 flow ave/chunk 100 10 1000 20 20 30 f_TTM:grid:data + fix 1 flow ave/grid 100 10 1000 20 20 30 f_TTM:grid:data Description """"""""""" @@ -84,13 +84,13 @@ produced by other computes or fixes. This fix operates in either per-grid inputs in the same command. The grid created by this command is distributed; each processor owns -the grid points that are within its sub-domain. This is in contrast to +the grid points that are within its sub-domain. This is similar to the :doc:`fix ave/chunk ` command when it uses chunks from the :doc:`compute chunk/atom ` command which -are 2d or 3d regular bins. The per-bin outputs in that case are -global; each processor stores a copy of the entire set of bin data. -Thus it is better to use this command when the grid is large and a -simulation is run on many processors. +are 2d or 3d regular bins. However, the per-bin outputs in that case +are global; each processor stores a copy of the entire set of bin +data. Thus it more efficient to use the fix ave/grid command when the +grid is large and a simulation is run on many processors. For per-atom mode, only atoms in the specified group contribute to the summing and averaging calculations. For per-grid mode, the specified @@ -123,6 +123,32 @@ keyword settings, as discussed below. ---------- +The *Nx*, *Ny*, and *Nz* arguements specify the size of the grid that +overlays the simulation box. For 2d simulations, *Nz* must be 1. The +*Nx*, *Ny*, *Nz* values can be any positive integer. The grid can be +very coarse compared to the particle count, or very fine. If one or +more of the values = 1, then bins are 2d planes or 1d slices of the +simulation domain. Note that if the total number of grid cells is +small, it may be more efficient to use the doc:`fix ave/chunk +` command which can treat a grid defined by the +:doc:`compute chunk/atom ` command as a global +grid where each processor owns a copy of all the grid cells. If *Nx* += *Ny* = *Nz* = 1 is used, the same calculation would be more +efficiently performed by the doc:`fix ave/atom ` +command. + +If the simulation box size or shape changes during a simulation, the +grid always conforms to the size/shape of the current simulation box. +If one more dimensions have non-peridoic shrink-wrapped boundary +conditions, as defined by the :doc:`boundary ` command, then +the grid will extend over the (dynamic) shrink-wrapped extent in each +dimension. If the box shape is triclinic, as explained in :doc:`Howto +triclinic `, then the grid is also triclinic; each +grid cell is a small triclinic cell with the same shape as the +simulation box. + +---------- + In both per-atom and per-grid mode, input values from a compute or fix that produces an array of values (multiple values per atom or per grid point), the bracketed index I can be specified using a wildcard @@ -455,9 +481,9 @@ Ny * Nz. For access by other commands, the name of the single grid produced by this fix is "grid". The names of its two per-grid datums are "data" -for the per-grid array and "count" for the per-grid vector. Both -datums can be accessed by various :doc:`output commands -`. +for the per-grid array and "count" for the per-grid vector (if using +per-atom values). Both datums can be accessed by various :doc:`output +commands `. In per-atom mode, the per-grid array values calculated by this fix are treated as "intensive", since they are typically already normalized by diff --git a/doc/src/fix_ttm.rst b/doc/src/fix_ttm.rst index 2cbb0c7799..3aa1d2006e 100644 --- a/doc/src/fix_ttm.rst +++ b/doc/src/fix_ttm.rst @@ -195,20 +195,20 @@ the '#' character. Each line contains four numeric columns: ix,iy,iz,Temperature. Empty or comment-only lines will be ignored. The number of lines must be equal to the number of user-specified grid points (Nx by Ny by Nz). The ix,iy,iz are grid -point indices ranging from 0 to nxnodes-1 inclusive in each dimension. -The lines can appear in any order. For example, the initial -electronic temperatures on a 1 by 2 by 3 grid could be specified in -the file as follows: +point indices ranging from 1 to Nxyz inclusive in each dimension. The +lines can appear in any order. For example, the initial electronic +temperatures on a 1 by 2 by 3 grid could be specified in the file as +follows: .. parsed-literal:: # UNITS: metal COMMENT: initial electron temperature - 0 0 0 1.0 - 0 0 1 1.0 - 0 0 2 1.0 - 0 1 0 2.0 - 0 1 1 2.0 - 0 1 2 2.0 + 1 1 1 1.0 + 1 1 2 1.0 + 1 1 3 1.0 + 1 2 1 2.0 + 1 2 2 2.0 + 1 2 3 2.0 where the electronic temperatures along the y=0 plane have been set to 1.0, and the electronic temperatures along the y=1 plane have been set @@ -226,8 +226,8 @@ units used. The *outfile* keyword has 2 values. The first value *Nout* triggers output of the electronic temperatures for each grid point every Nout -timesteps. The second value is the filename for output which will -be suffixed by the timestep. The format of each output file is exactly +timesteps. The second value is the filename for output, which will be +suffixed by the timestep. The format of each output file is exactly the same as the input temperature file. It will contain a comment in the first line reporting the date the file was created, the LAMMPS units setting in use, grid size and the current timestep. @@ -236,16 +236,21 @@ units setting in use, grid size and the current timestep. The fix ttm/grid command does not support the *outfile* keyword. Instead you can use the :doc:`dump grid ` command to output - the electronic temperature on the distributed grid to a dump file. + the electronic temperature on the distributed grid to a dump file or + the :doc:`restart ` command which creates a file specific + to this fix which the :doc:`read restart ` command + reads. The file has the same format as the file the *infile* option + reads. For the fix ttm and fix ttm/mod commands, the corresponding atomic temperature for atoms in each grid cell can be computed and output by the :doc:`fix ave/chunk ` command using the :doc:`compute chunk/atom ` command to create a 3d -array of chunks consistent with the grid used by this fix. For the -fix ttm/grid command the same thing can be done using the :doc:`fix -ave/grid ` command and its per-grid values can be output -via the :doc:`dump grid ` command. +array of chunks consistent with the grid used by this fix. + +For the fix ttm/grid command the same thing can be done using the +:doc:`fix ave/grid ` command and its per-grid values can +be output via the :doc:`dump grid ` command. ---------- @@ -362,11 +367,14 @@ the operation of the fix continues in an uninterrupted fashion. Note that the restart script must define the same size grid as the original script. -Because the state of the random number generator is not saved in the -restart files, this means you cannot do "exact" restarts with this -fix, where the simulation continues on the same as if no restart had -taken place. However, in a statistical sense, a restarted simulation -should produce the same behavior. +The fix ttm/grid command also outputs an auxiliary file each time a +restart file is written, with the electron temperatures for each grid +cell. The format of this file is the same as that read by the +*infile* option explained above. The filename is the same as the +restart filename with ".ttm" appended. This auxiliary file can be +read in for a restared run by using the *infile* option for the fix +ttm/grid command, following the :doc:`read_restart ` +command. None of the :doc:`fix_modify ` options are relevant to these fixes. @@ -386,13 +394,13 @@ electronic subsystem energies reported at the end of the timestep. The vector values calculated are "extensive". -The fix ttm/grid command also calculates a per-grid vector which -stores the electron temperature for each grid cell in temperature -:doc:`units `. which can be accessed by various :doc:`output -commands `. The length of the vector (distributed -across all processors) is Nx * Ny * Nz. For access by other commands, -the name of the single grid produced by fix ttm/grid is "grid". The -name of its per-grid data is "data". +The fix ttm/grid command also outputs a per-grid vector which stores +the electron temperature for each grid cell in temperature :doc:`units +`. which can be accessed by various :doc:`output commands +`. The length of the vector (distributed across all +processors) is Nx * Ny * Nz. For access by other commands, the name +of the single grid produced by fix ttm/grid is "grid". The name of +its per-grid data is "data". No parameter of the fixes can be used with the *start/stop* keywords of the :doc:`run ` command. The fixes are not invoked during @@ -408,6 +416,15 @@ package ` page for more info. As mentioned above, these fixes require 3d simulations and orthogonal simulation boxes periodic in all 3 dimensions. +These fixes used a random number generator to Langevin thermostat the +electron temperature. This means you will not get identical answers +when running on different numbers of processors or when restarting a +simulation (even on the same number of processors). However, in a +statistical sense, simulations on different processor counts and +restarted simulation should produce results whiich are statistically +the same. + + Related commands """""""""""""""" From b18d388e4c16632a8ee59883b43ba5db114db6aa Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 7 Nov 2022 17:17:48 -0500 Subject: [PATCH 094/142] fix segfault in base class destructor when destructing PPPMElectrode() --- src/ELECTRODE/pppm_electrode.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/ELECTRODE/pppm_electrode.cpp b/src/ELECTRODE/pppm_electrode.cpp index 281da5e1d8..294b747652 100644 --- a/src/ELECTRODE/pppm_electrode.cpp +++ b/src/ELECTRODE/pppm_electrode.cpp @@ -1041,6 +1041,7 @@ void PPPMElectrode::allocate() void PPPMElectrode::deallocate() { delete gc; + gc = nullptr; memory->destroy(gc_buf1); memory->destroy(gc_buf2); @@ -1082,6 +1083,9 @@ void PPPMElectrode::deallocate() delete fft1; delete fft2; delete remap; + fft1 = nullptr; + fft2 = nullptr; + remap = nullptr; } void PPPMElectrode::allocate_peratom() From 90b54300e9a71198dd9068713328c62b8404cf9f Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 7 Nov 2022 16:18:40 -0700 Subject: [PATCH 095/142] remove whitespace --- doc/src/fix_ave_chunk.rst | 2 +- src/AMOEBA/amoeba_convolution.cpp | 2 +- src/ELECTRODE/pppm_electrode.cpp | 14 ++-- src/EXTRA-FIX/fix_ttm.cpp | 2 +- src/EXTRA-FIX/fix_ttm_grid.cpp | 44 +++++----- src/KSPACE/msm.cpp | 20 ++--- src/KSPACE/pppm.cpp | 12 +-- src/KSPACE/pppm_dipole.cpp | 6 +- src/KSPACE/pppm_dipole_spin.cpp | 2 +- src/KSPACE/pppm_disp.cpp | 38 ++++----- src/KSPACE/pppm_disp.h | 10 +-- src/compute_property_grid.cpp | 2 +- src/compute_property_grid.h | 2 +- src/dump_grid.cpp | 2 +- src/dump_grid.h | 2 +- src/fix.h | 2 +- src/fix_ave_grid.cpp | 20 ++--- src/fix_ave_grid.h | 4 +- src/grid2d.cpp | 102 +++++++++++------------ src/grid2d.h | 12 +-- src/grid3d.cpp | 132 +++++++++++++++--------------- src/grid3d.h | 12 +-- 22 files changed, 222 insertions(+), 222 deletions(-) diff --git a/doc/src/fix_ave_chunk.rst b/doc/src/fix_ave_chunk.rst index 0dca00e4bb..3c358c9aa5 100644 --- a/doc/src/fix_ave_chunk.rst +++ b/doc/src/fix_ave_chunk.rst @@ -545,7 +545,7 @@ Related commands :doc:ave/histo `, :doc:`fix ave/time `, :doc:`variable `, :doc:`fix ave/correlate :doc:`, `fix ave/atogrid ` - + Default """"""" diff --git a/src/AMOEBA/amoeba_convolution.cpp b/src/AMOEBA/amoeba_convolution.cpp index a5ccbfdff1..dd381fd581 100644 --- a/src/AMOEBA/amoeba_convolution.cpp +++ b/src/AMOEBA/amoeba_convolution.cpp @@ -115,7 +115,7 @@ void AmoebaConvolution::allocate_grid() // Grid3d determines my owned + ghost grid cells // ghost cell extent depends on maxdist, nlower, nupper - + gc = new Grid3d(lmp,world,nx,ny,nz); gc->set_distance(maxdist); gc->set_stencil_atom(-nlower,nupper); diff --git a/src/ELECTRODE/pppm_electrode.cpp b/src/ELECTRODE/pppm_electrode.cpp index 281da5e1d8..8fcdb89094 100644 --- a/src/ELECTRODE/pppm_electrode.cpp +++ b/src/ELECTRODE/pppm_electrode.cpp @@ -260,7 +260,7 @@ void PPPMElectrode::init() // pre-compute Green's function denomiator expansion // pre-compute 1d charge distribution coefficients - + compute_gf_denom(); if (differentiation_flag == 1) compute_sf_precoeff(); compute_rho_coeff(); @@ -914,7 +914,7 @@ void PPPMElectrode::allocate() // ---------------------------------------------------------------------- // code from PPPM::allocate(), altered to use different Grid3d constructor // ---------------------------------------------------------------------- - + // create ghost grid object for rho and electric field communication // returns local owned and ghost grid bounds // setup communication patterns and buffers @@ -948,9 +948,9 @@ void PPPMElectrode::allocate() (nzhi_fft-nzlo_fft+1); 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"); @@ -1023,11 +1023,11 @@ void PPPMElectrode::allocate() 1,0,0,FFT_PRECISION,collective_flag); // ELECTRODE specific allocations - + memory->create3d_offset(electrolyte_density_brick, nzlo_out, nzhi_out, nylo_out, nyhi_out, nxlo_out, nxhi_out, "pppm/electrode:electrolyte_density_brick"); memory->create(electrolyte_density_fft, nfft_both, "pppm/electrode:electrolyte_density_fft"); - + if (differentiation_flag != 1) memory->create3d_offset(u_brick, nzlo_out, nzhi_out, nylo_out, nyhi_out, nxlo_out, nxhi_out, "pppm:u_brick"); @@ -1401,7 +1401,7 @@ void PPPMElectrode::set_grid_local() shift = OFFSET + 0.5; else shift = OFFSET; - + if (order % 2) shiftone = 0.0; else diff --git a/src/EXTRA-FIX/fix_ttm.cpp b/src/EXTRA-FIX/fix_ttm.cpp index b2662ae6e3..fe0e982e80 100644 --- a/src/EXTRA-FIX/fix_ttm.cpp +++ b/src/EXTRA-FIX/fix_ttm.cpp @@ -316,7 +316,7 @@ void FixTTM::post_force(int /*vflag*/) flangevin[i][0] = gamma1*v[i][0] + gamma2*(random->uniform()-0.5); flangevin[i][1] = gamma1*v[i][1] + gamma2*(random->uniform()-0.5); flangevin[i][2] = gamma1*v[i][2] + gamma2*(random->uniform()-0.5); - + f[i][0] += flangevin[i][0]; f[i][1] += flangevin[i][1]; f[i][2] += flangevin[i][2]; diff --git a/src/EXTRA-FIX/fix_ttm_grid.cpp b/src/EXTRA-FIX/fix_ttm_grid.cpp index b1581fd419..98e88687fe 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.cpp +++ b/src/EXTRA-FIX/fix_ttm_grid.cpp @@ -168,7 +168,7 @@ void FixTTMGrid::post_force(int /*vflag*/) f[i][2] += flangevin[i][2]; } } - + if (flag) error->one(FLERR,"Out of range fix ttm/grid atoms"); } @@ -323,24 +323,24 @@ int FixTTMGrid::unpack_read_grid(char *buffer) try { ValueTokenizer values(utils::trim_comment(line)); if (values.count() == 0) { - ; // ignore comment only or blank lines + ; // ignore comment only or blank lines } else if (values.count() == 4) { - ++nread; - - int ix = values.next_int() - 1; - int iy = values.next_int() - 1; - int iz = values.next_int() - 1; + ++nread; - if (ix < 0 || ix >= nxgrid || iy < 0 || iy >= nygrid || iz < 0 || iz >= nzgrid) - throw TokenizerException("Fix ttm/grid invalid grid index in input", ""); - - if (ix >= nxlo_in && ix <= nxhi_in && iy >= nylo_in && iy <= nyhi_in && iz >= nzlo_in && - iz <= nzhi_in) { - T_electron[iz][iy][ix] = values.next_double(); - T_electron_read[iz][iy][ix] = 1; - } + int ix = values.next_int() - 1; + int iy = values.next_int() - 1; + int iz = values.next_int() - 1; + + if (ix < 0 || ix >= nxgrid || iy < 0 || iy >= nygrid || iz < 0 || iz >= nzgrid) + throw TokenizerException("Fix ttm/grid invalid grid index in input", ""); + + if (ix >= nxlo_in && ix <= nxhi_in && iy >= nylo_in && iy <= nyhi_in && iz >= nzlo_in && + iz <= nzhi_in) { + T_electron[iz][iy][ix] = values.next_double(); + T_electron_read[iz][iy][ix] = 1; + } } else { - throw TokenizerException("Incorrect format in fix ttm electron grid file", ""); + throw TokenizerException("Incorrect format in fix ttm electron grid file", ""); } } catch (std::exception &e) { error->one(FLERR, e.what()); @@ -443,7 +443,7 @@ void FixTTMGrid::pack_write_grid(int /*which*/, void *vbuf) for (iz = nzlo_in; iz <= nzhi_in; iz++) for (iy = nylo_in; iy <= nyhi_in; iy++) for (ix = nxlo_in; ix <= nxhi_in; ix++) - buf[m++] = T_electron[iz][iy][ix]; + buf[m++] = T_electron[iz][iy][ix]; } /* ---------------------------------------------------------------------- @@ -460,7 +460,7 @@ void FixTTMGrid::unpack_write_grid(int /*which*/, void *vbuf, int *bounds) int yhi = bounds[3]; int zlo = bounds[4]; int zhi = bounds[5]; - + auto buf = (double *) vbuf; double value; @@ -468,8 +468,8 @@ void FixTTMGrid::unpack_write_grid(int /*which*/, void *vbuf, int *bounds) for (iz = zlo; iz <= zhi; iz++) for (iy = ylo; iy <= yhi; iy++) for (ix = xlo; ix <= xhi; ix++) { - value = buf[m++]; - fprintf(fpout, "%d %d %d %20.16g\n", ix+1, iy+1, iz+1, value); + value = buf[m++]; + fprintf(fpout, "%d %d %d %20.16g\n", ix+1, iy+1, iz+1, value); } } @@ -490,7 +490,7 @@ void FixTTMGrid::reset_grid() gridnew->set_stencil_grid(1,1); gridnew->setup_grid(tmp[0],tmp[1],tmp[2],tmp[3],tmp[4],tmp[5], tmp[6],tmp[7],tmp[8],tmp[9],tmp[10],tmp[11]); - + if (grid->identical(gridnew)) { delete gridnew; return; @@ -759,7 +759,7 @@ double FixTTMGrid::compute_vector(int n) T_electron[iz][iy][ix] * electronic_specific_heat * electronic_density * volgrid; transfer_energy_me += net_energy_transfer[iz][iy][ix] * update->dt; } - + MPI_Allreduce(&e_energy_me, &e_energy, 1, MPI_DOUBLE, MPI_SUM, world); MPI_Allreduce(&transfer_energy_me, &transfer_energy, 1, MPI_DOUBLE, MPI_SUM, world); outflag = 1; diff --git a/src/KSPACE/msm.cpp b/src/KSPACE/msm.cpp index 5423be9a22..fbd00ea754 100644 --- a/src/KSPACE/msm.cpp +++ b/src/KSPACE/msm.cpp @@ -595,7 +595,7 @@ void MSM::allocate() // one Grid3d for finest grid level, using world comm and all procs // use set_caller_grid() b/c MSM allocates local grid > out_all values - + gcall = new Grid3d(lmp,world,nx_msm[0],ny_msm[0],nz_msm[0], nxlo_in[0],nxhi_in[0],nylo_in[0], nyhi_in[0],nzlo_in[0],nzhi_in[0], @@ -604,7 +604,7 @@ void MSM::allocate() gcall->set_caller_grid(nxlo_out[0],nxhi_out[0],nylo_out[0], nyhi_out[0],nzlo_out[0],nzhi_out[0]); - + gcall->setup_comm(ngcall_buf1,ngcall_buf2); npergrid = 1; memory->destroy(gcall_buf1); @@ -636,7 +636,7 @@ void MSM::allocate() int **procneigh = procneigh_levels[n]; gc[n]->set_proc_neighs(procneigh[0][0],procneigh[0][1],procneigh[1][0], procneigh[1][1],procneigh[2][0],procneigh[2][1]); - + gc[n]->setup_comm(ngc_buf1[n],ngc_buf2[n]); npergrid = 1; memory->destroy(gc_buf1[n]); @@ -1165,7 +1165,7 @@ void MSM::set_grid_local() for (int n = 0; n < levels; n++) { // delete and nullify grid arrays since the number or offset of gridpoints may change - + memory->destroy3d_offset(qgrid[n],nzlo_out[n],nylo_out[n],nxlo_out[n]); memory->destroy3d_offset(egrid[n],nzlo_out[n],nylo_out[n],nxlo_out[n]); @@ -1179,7 +1179,7 @@ void MSM::set_grid_local() nxlo_out[n],nxhi_out[n],nylo_out[n], nyhi_out[n],nzlo_out[n],nzhi_out[n]); delete gcall; - + // nlower/nupper = stencil size for mapping particles to grid nlower = -(order-1)/2; @@ -1226,12 +1226,12 @@ void MSM::set_grid_local() nx_msm[n]/xprd + OFFSET) - OFFSET; nhi = static_cast ((subhi[0]+dist[0]-boxlo[0]) * nx_msm[n]/xprd + OFFSET) - OFFSET; - + if (n == 0) { nxlo_out_all = nlo + nlower; nxhi_out_all = nhi + nupper; } - + nxlo_out[n] = nlo + MIN(-order,nxlo_direct); nxhi_out[n] = nhi + MAX(order,nxhi_direct); @@ -1243,7 +1243,7 @@ void MSM::set_grid_local() nylo_out_all = nlo + nlower; nyhi_out_all = nhi + nupper; } - + nylo_out[n] = nlo + MIN(-order,nylo_direct); nyhi_out[n] = nhi + MAX(order,nyhi_direct); @@ -1255,10 +1255,10 @@ void MSM::set_grid_local() nzlo_out_all = nlo + nlower; nzhi_out_all = nhi + nupper; } - + // hemisphere is used for direct sum interactions // so no ghosting is needed for direct sum in the -z direction - + nzlo_out[n] = nlo - order; nzhi_out[n] = nhi + MAX(order,nzhi_direct); diff --git a/src/KSPACE/pppm.cpp b/src/KSPACE/pppm.cpp index 5976f39ad3..9802292f04 100644 --- a/src/KSPACE/pppm.cpp +++ b/src/KSPACE/pppm.cpp @@ -310,7 +310,7 @@ void PPPM::init() gc->set_stencil_atom(-nlower,nupper); gc->set_shift_atom(shiftatom_lo,shiftatom_hi); gc->set_zfactor(slab_volfactor); - + gc->setup_grid(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in, nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out); @@ -782,9 +782,9 @@ void PPPM::allocate() (nzhi_fft-nzlo_fft+1); 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"); @@ -1352,10 +1352,10 @@ void PPPM::set_grid_local() // shift values for particle <-> grid mapping depend on stencil order // add/subtract OFFSET to avoid int(-0.75) = 0 when want it to be -1 // used in particle_map() and make_rho() and fieldforce() - + if (order % 2) shift = OFFSET + 0.5; else shift = OFFSET; - + if (order % 2) shiftone = 0.0; else shiftone = 0.5; @@ -1382,7 +1382,7 @@ void PPPM::set_grid_local() shiftatom_lo = 0.0; shiftatom_hi = 0.0 + 0.5; } - + // x-pencil decomposition of FFT mesh // global indices range from 0 to N-1 // each proc owns entire x-dimension, clumps of columns in y,z dimensions diff --git a/src/KSPACE/pppm_dipole.cpp b/src/KSPACE/pppm_dipole.cpp index 965009e08c..f2195f856f 100644 --- a/src/KSPACE/pppm_dipole.cpp +++ b/src/KSPACE/pppm_dipole.cpp @@ -205,7 +205,7 @@ void PPPMDipole::init() gc_dipole->set_stencil_atom(-nlower,nupper); gc_dipole->set_shift_atom(shiftatom_lo,shiftatom_hi); gc_dipole->set_zfactor(slab_volfactor); - + gc_dipole->setup_grid(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in, nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out); @@ -440,7 +440,7 @@ void PPPMDipole::compute(int eflag, int vflag) particle_map(); make_rho_dipole(); - + // all procs communicate density values from their ghost cells // to fully sum contribution in their 3d bricks // remap from 3d decomposition to FFT decomposition @@ -553,7 +553,7 @@ void PPPMDipole::allocate() memory->create(gc_buf2,npergrid*ngc_buf2,"pppm:gc_buf2"); // allocate distributed grid data - + memory->create3d_offset(densityx_brick_dipole,nzlo_out,nzhi_out,nylo_out,nyhi_out, nxlo_out,nxhi_out,"pppm_dipole:densityx_brick_dipole"); memory->create3d_offset(densityy_brick_dipole,nzlo_out,nzhi_out,nylo_out,nyhi_out, diff --git a/src/KSPACE/pppm_dipole_spin.cpp b/src/KSPACE/pppm_dipole_spin.cpp index 14e0de593d..e95c1a7973 100644 --- a/src/KSPACE/pppm_dipole_spin.cpp +++ b/src/KSPACE/pppm_dipole_spin.cpp @@ -190,7 +190,7 @@ void PPPMDipoleSpin::init() gc_dipole->set_stencil_atom(-nlower,nupper); gc_dipole->set_shift_atom(shiftatom_lo,shiftatom_hi); gc_dipole->set_zfactor(slab_volfactor); - + gc_dipole->setup_grid(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in, nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out); diff --git a/src/KSPACE/pppm_disp.cpp b/src/KSPACE/pppm_disp.cpp index e797e2d858..e8f490b992 100644 --- a/src/KSPACE/pppm_disp.cpp +++ b/src/KSPACE/pppm_disp.cpp @@ -437,7 +437,7 @@ void PPPMDisp::init() gc->set_stencil_atom(-nlower,nupper); gc->set_shift_atom(shiftatom,shiftatom); gc->set_zfactor(slab_volfactor); - + gc->setup_grid(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in, nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out); @@ -514,7 +514,7 @@ void PPPMDisp::init() gc6->set_stencil_atom(-nlower_6,nupper_6); gc6->set_shift_atom(shiftatom_6,shiftatom_6); gc6->set_zfactor(slab_volfactor); - + gc->setup_grid(nxlo_in_6,nxhi_in_6,nylo_in_6,nyhi_in_6,nzlo_in_6,nzhi_in_6, nxlo_out_6,nxhi_out_6,nylo_out_6,nyhi_out_6,nzlo_out_6,nzhi_out_6); @@ -1668,7 +1668,7 @@ void _noopt PPPMDisp::allocate() // -------------------------------------- // Coulomb grids // -------------------------------------- - + if (function[0]) { // create ghost grid object for rho and electric field communication @@ -1698,20 +1698,20 @@ void _noopt PPPMDisp::allocate() // same as count of owned grid cells // 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); - + 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_both = MAX(nfft,nfft_brick); // allocate distributed grid data - + memory->create(work1,2*nfft_both,"pppm/disp:work1"); memory->create(work2,2*nfft_both,"pppm/disp:work2"); @@ -1756,7 +1756,7 @@ void _noopt PPPMDisp::allocate() memory->create3d_offset(vdz_brick,nzlo_out,nzhi_out,nylo_out,nyhi_out, nxlo_out,nxhi_out,"pppm/disp:vdz_brick"); } - + // create 2 FFTs and a Remap // 1st FFT keeps data in FFT decomposition // 2nd FFT returns data in 3d brick decomposition @@ -1810,7 +1810,7 @@ void _noopt PPPMDisp::allocate() } else if (function[3]) { if (differentiation_flag) npergrid6 = 1*nsplit_alloc; else npergrid6 = 3*nsplit_alloc; - } + } memory->create(gc6_buf1,npergrid6*ngc6_buf1,"pppm:gc_buf1"); memory->create(gc6_buf2,npergrid6*ngc6_buf2,"pppm:gc_buf2"); @@ -1821,16 +1821,16 @@ void _noopt PPPMDisp::allocate() // same as count of owned grid cells // nfft = FFT points in x-pencil FFT decomposition on this proc // nfft_both = greater of nfft and nfft_brick - + ngrid_6 = (nxhi_out_6-nxlo_out_6+1) * (nyhi_out_6-nylo_out_6+1) * (nzhi_out_6-nzlo_out_6+1); - + nfft_brick_6 = (nxhi_in_6-nxlo_in_6+1) * (nyhi_in_6-nylo_in_6+1) * (nzhi_in_6-nzlo_in_6+1); - + nfft_6 = (nxhi_fft_6-nxlo_fft_6+1) * (nyhi_fft_6-nylo_fft_6+1) * (nzhi_fft_6-nzlo_fft_6+1); - + nfft_both_6 = MAX(nfft_6,nfft_brick_6); // create 2 FFTs and a Remap @@ -1858,7 +1858,7 @@ void _noopt PPPMDisp::allocate() nxlo_fft_6,nxhi_fft_6,nylo_fft_6,nyhi_fft_6,nzlo_fft_6,nzhi_fft_6, 1,0,0,FFT_PRECISION,collective_flag); } - + // -------------------------------------- // dispersion grids with geometric mixing // -------------------------------------- @@ -1915,7 +1915,7 @@ void _noopt PPPMDisp::allocate() // -------------------------------------- // dispersion grids with arithmetic mixing // -------------------------------------- - + if (function[2]) { memory->create(work1_6,2*nfft_both_6,"pppm/disp:work1_6"); memory->create(work2_6,2*nfft_both_6,"pppm/disp:work2_6"); @@ -2719,10 +2719,10 @@ void PPPMDisp::set_grid_local(int order_either, // shift values for particle <-> grid mapping depend on stencil order // add/subtract OFFSET to avoid int(-0.75) = 0 when want it to be -1 // used in particle_map() and make_rho() and fieldforce() - + if (order_either % 2) shift_either = OFFSET + 0.5; else shift_either = OFFSET; - + if (order_either % 2) shiftone_either = 0.0; else shiftone_either = 0.5; @@ -3305,7 +3305,7 @@ void PPPMDisp::set_grid_global_6() if (!csumflag) calc_csum(); if (!gewaldflag_6) set_init_g6(); if (!gridflag_6) set_n_pppm_6(); - + while (!factorable(nx_pppm_6)) nx_pppm_6++; while (!factorable(ny_pppm_6)) ny_pppm_6++; while (!factorable(nz_pppm_6)) nz_pppm_6++; diff --git a/src/KSPACE/pppm_disp.h b/src/KSPACE/pppm_disp.h index 0901cdbe82..3d4345679a 100644 --- a/src/KSPACE/pppm_disp.h +++ b/src/KSPACE/pppm_disp.h @@ -150,7 +150,7 @@ class PPPMDisp : public KSpace { ****v4_brick_none, ****v5_brick_none; // needed for each interaction type - + double *greensfn; double **vg; double **vg2; @@ -191,7 +191,7 @@ class PPPMDisp : public KSpace { int triclinic; // domain settings, orthog or triclinic double *boxlo; - + // TIP4P settings int typeH, typeO; // atom types of TIP4P water H and O atoms @@ -211,10 +211,10 @@ class PPPMDisp : public KSpace { int &, int &, int &, int &, int &, int &, int &, int &); void set_init_g6(); void set_n_pppm_6(); - + void adjust_gewald(); void adjust_gewald_6(); - + double f(); double derivf(); double f_6(); @@ -236,7 +236,7 @@ class PPPMDisp : public KSpace { virtual void allocate_peratom(); virtual void deallocate(); virtual void deallocate_peratom(); - + int factorable(int); double rms(double, double, bigint, double, double **); double diffpr(double, double, double, double, double **); diff --git a/src/compute_property_grid.cpp b/src/compute_property_grid.cpp index c545a88168..b9cc2cbb6a 100644 --- a/src/compute_property_grid.cpp +++ b/src/compute_property_grid.cpp @@ -1,7 +1,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/compute_property_grid.h b/src/compute_property_grid.h index 9083293636..8a0ef63090 100644 --- a/src/compute_property_grid.h +++ b/src/compute_property_grid.h @@ -1,7 +1,7 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov + LAMMPS Development team: developers@lammps.org Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains diff --git a/src/dump_grid.cpp b/src/dump_grid.cpp index aa4d37c1e6..94dfc124b9 100644 --- a/src/dump_grid.cpp +++ b/src/dump_grid.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/dump_grid.h b/src/dump_grid.h index ac3d13b3c9..892e3270a7 100644 --- a/src/dump_grid.h +++ b/src/dump_grid.h @@ -1,7 +1,7 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov + LAMMPS Development team: developers@lammps.org Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains diff --git a/src/fix.h b/src/fix.h index efc459f2ab..ccfcc61856 100644 --- a/src/fix.h +++ b/src/fix.h @@ -222,7 +222,7 @@ class Fix : protected Pointers { virtual int unpack_read_grid(char *) {return 0;}; virtual void pack_write_grid(int, void *){}; virtual void unpack_write_grid(int, void *, int *){}; - + virtual int get_grid_by_name(const std::string &, int &) { return -1; }; virtual void *get_grid_by_index(int) { return nullptr; }; virtual int get_griddata_by_name(int, const std::string &, int &) { return -1; }; diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index 16f62d57bc..06c0175503 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.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 @@ -448,7 +448,7 @@ FixAveGrid::~FixAveGrid() delete[] value2data; // deallocate Grid class and buffers - + if (dimension == 2) delete grid2d; else delete grid3d; @@ -468,7 +468,7 @@ FixAveGrid::~FixAveGrid() } delete grid_output; - + if (modeatom) { memory->destroy(bin); memory->destroy(skip); @@ -671,7 +671,7 @@ void FixAveGrid::end_of_step() // normalize sample grid by Nrepeat if (modeatom) { - if (normflag == ALL) { + if (normflag == ALL) { normalize_atom(nrepeat,grid_sample); normalize_count(nrepeat,grid_sample); copy_grid(grid_sample,grid_nfreq); @@ -1504,7 +1504,7 @@ FixAveGrid::GridData *FixAveGrid::allocate_one_grid() grid->vec3d = nullptr; grid->array3d = nullptr; grid->count3d = nullptr; - + if (dimension == 2) { if (nvalues == 1) memory->create2d_offset(grid->vec2d, nylo_out, nyhi_out, @@ -1531,7 +1531,7 @@ FixAveGrid::GridData *FixAveGrid::allocate_one_grid() } zero_grid(grid); - + return grid; } @@ -1870,7 +1870,7 @@ void FixAveGrid::pack_reverse_grid(int /*flag*/, void *vbuf, int nlist, int *lis if (nvalues == 1) data = &grid_sample->vec3d[nzlo_out][nylo_out][nxlo_out]; else data = &grid_sample->array3d[nzlo_out][nylo_out][nxlo_out][0]; } - + if (nvalues == 1) { for (i = 0; i < nlist; i++) { buf[m++] = count[list[i]]; @@ -1942,7 +1942,7 @@ void FixAveGrid::pack_remap_grid(void *vbuf, int nlist, int *list) if (aveflag == WINDOW) window_flag = 1; m = 0; - for (i = 0; i < nlist; i++) { + for (i = 0; i < nlist; i++) { m += pack_one_grid(grid_sample_previous,list[i],&buf[m]); m += pack_one_grid(grid_nfreq_previous,list[i],&buf[m]); if (running_flag) m += pack_one_grid(grid_running_previous,list[i],&buf[m]); @@ -2071,7 +2071,7 @@ void FixAveGrid::reset_grid() gridnew->set_distance(maxdist); gridnew->setup_grid(tmp[0], tmp[1], tmp[2], tmp[3], tmp[4], tmp[5], tmp[6], tmp[7], tmp[8], tmp[9], tmp[10], tmp[11]); - + if (grid3d->identical(gridnew)) { delete gridnew; return; @@ -2101,7 +2101,7 @@ void FixAveGrid::reset_grid() if (dimension == 2) grid2d_previous = grid2d; else grid3d_previous = grid3d; - + nxlo_out_previous = nxlo_out; nylo_out_previous = nylo_out; nzlo_out_previous = nzlo_out; diff --git a/src/fix_ave_grid.h b/src/fix_ave_grid.h index 53c90c2458..bc5ce8ee0c 100644 --- a/src/fix_ave_grid.h +++ b/src/fix_ave_grid.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 @@ -118,7 +118,7 @@ class FixAveGrid : public Fix { int pack_one_grid(GridData *, int, double *); int unpack_one_grid(double *, GridData *, int); - + double size_grid(GridData *); void zero_grid(GridData *); void copy_grid(GridData *, GridData *); diff --git a/src/grid2d.cpp b/src/grid2d.cpp index 61ced82c59..1f25f49187 100644 --- a/src/grid2d.cpp +++ b/src/grid2d.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 @@ -58,7 +58,7 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, int gnx, int gny) : Pointers(lmp) // default settings, can be overridden by set() methods // these affect assignment of owned and ghost cells - + maxdist = 0.0; stencil_grid_lo = stencil_grid_hi = 0; stencil_atom_lo = stencil_atom_hi = 0; @@ -94,7 +94,7 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, int gnx, int gny, ny = gny; // store owned/ghost indices provided by caller - + inxlo = ixlo; inxhi = ixhi; inylo = iylo; @@ -142,14 +142,14 @@ Grid2d::~Grid2d() memory->destroy(copy[i].unpacklist); } memory->sfree(copy); - + delete [] requests; delete [] requests_remap; memory->sfree(rcbinfo); // remap data structs - + deallocate_remap(); } @@ -328,9 +328,9 @@ void Grid2d::setup_grid(int &ixlo, int &ixhi, int &iylo, int &iyhi, { // owned grid cells = those whose grid point is within proc subdomain // shift_grid = 0.5 for grid point at cell center, 0.0 for lower-left corner - + double fraclo,frachi; - + if (comm->layout != Comm::LAYOUT_TILED) { fraclo = comm->xsplit[comm->myloc[0]]; frachi = comm->xsplit[comm->myloc[0]+1]; @@ -355,9 +355,9 @@ void Grid2d::setup_grid(int &ixlo, int &ixhi, int &iylo, int &iyhi, // other constructor invokes this directly initialize(); - + // return values - + ixlo = inxlo; ixhi = inxhi; iylo = inylo; @@ -384,7 +384,7 @@ void Grid2d::initialize() // default = caller grid is allocated to ghost grid // used when computing pack/unpack lists in indices() // these values can be overridden using set_caller_grid() - + fullxlo = outxlo; fullxhi = outxhi; fullylo = outylo; @@ -476,7 +476,7 @@ void Grid2d::ghost_grid() } // for triclinic, maxdist = different value in each orthogonal direction - + double dist[3] = {0.0,0.0,0.0}; if (triclinic == 0) dist[0] = dist[1] = dist[2] = maxdist; else MathExtra::tribbox(domain->h,maxdist,&dist[0]); @@ -488,11 +488,11 @@ void Grid2d::ghost_grid() // ghost cell layers needed in each dim/dir = max of two extension effects // OFFSET allows generation of negative indices with static_cast // out xyz lo/hi = index range of owned + ghost cells - + double dxinv = nx / prd[0]; double dyinv = ny / prd[1]; double dyinv_slab = ny / (prd[1] * yfactor); - + int lo, hi; lo = static_cast((sublo[0]-dist[0]-boxlo[0]) * dxinv + shift_atom_lo + OFFSET) - OFFSET; @@ -571,7 +571,7 @@ void Grid2d::extract_comm_info() ysplit = new double[comm->procgrid[1]+1]; memcpy(xsplit,comm->xsplit,(comm->procgrid[0]+1)*sizeof(double)); memcpy(ysplit,comm->ysplit,(comm->procgrid[1]+1)*sizeof(double)); - + memory->create(grid2proc,comm->procgrid[0],comm->procgrid[1],comm->procgrid[2], "grid3d:grid2proc"); memcpy(&grid2proc[0][0][0],&comm->grid2proc[0][0][0], @@ -593,7 +593,7 @@ void Grid2d::extract_comm_info() if (rcbone.dim <= 0) rcbone.cut = inxlo; else if (rcbone.dim == 1) rcbone.cut = inylo; MPI_Allgather(&rcbone,sizeof(RCBinfo),MPI_CHAR, - rcbinfo,sizeof(RCBinfo),MPI_CHAR,gridcomm); + rcbinfo,sizeof(RCBinfo),MPI_CHAR,gridcomm); } } @@ -866,7 +866,7 @@ void Grid2d::setup_comm_tiled(int &nbuf1, int &nbuf2) // content: me, index of my overlap, box that overlaps with its owned cells // ncopy = # of overlaps with myself, across a periodic boundary // skip copy to self when non-PBC - + int *proclist; memory->create(proclist,noverlap,"grid2d:proclist"); srequest = (Request *) @@ -955,7 +955,7 @@ void Grid2d::setup_comm_tiled(int &nbuf1, int &nbuf2) // create Copy data struct from overlaps with self // skip copy to self when non-PBC - + copy = (Copy *) memory->smalloc(ncopy*sizeof(Copy),"grid2d:copy"); ncopy = 0; @@ -1088,13 +1088,13 @@ void Grid2d::forward_comm(int caller, void *ptr, int nper, int nbyte, int which, if (layout != Comm::LAYOUT_TILED) { if (caller == KSPACE) forward_comm_brick((KSpace *) ptr,nper,nbyte,which, - buf1,buf2,datatype); + buf1,buf2,datatype); else if (caller == PAIR) forward_comm_brick((Pair *) ptr,nper,nbyte,which, - buf1,buf2,datatype); + buf1,buf2,datatype); else if (caller == FIX) forward_comm_brick((Fix *) ptr,nper,nbyte,which, - buf1,buf2,datatype); + buf1,buf2,datatype); } else { if (caller == KSPACE) forward_comm_tiled((KSpace *) ptr,nper,nbyte,which, @@ -1115,7 +1115,7 @@ void Grid2d::forward_comm(int caller, void *ptr, int nper, int nbyte, int which, template < class T > void Grid2d:: forward_comm_brick(T *ptr, int nper, int /*nbyte*/, int which, - void *buf1, void *buf2, MPI_Datatype datatype) + void *buf1, void *buf2, MPI_Datatype datatype) { int m; MPI_Request request; @@ -1193,13 +1193,13 @@ void Grid2d::reverse_comm(int caller, void *ptr, int nper, int nbyte, int which, if (layout != Comm::LAYOUT_TILED) { if (caller == KSPACE) reverse_comm_brick((KSpace *) ptr,nper,nbyte,which, - buf1,buf2,datatype); + buf1,buf2,datatype); else if (caller == PAIR) reverse_comm_brick((Pair *) ptr,nper,nbyte,which, - buf1,buf2,datatype); + buf1,buf2,datatype); else if (caller == FIX) reverse_comm_brick((Fix *) ptr,nper,nbyte,which, - buf1,buf2,datatype); + buf1,buf2,datatype); } else { if (caller == KSPACE) reverse_comm_tiled((KSpace *) ptr,nper,nbyte,which, @@ -1220,7 +1220,7 @@ void Grid2d::reverse_comm(int caller, void *ptr, int nper, int nbyte, int which, template < class T > void Grid2d:: reverse_comm_brick(T *ptr, int nper, int /*nbyte*/, int which, - void *buf1, void *buf2, MPI_Datatype datatype) + void *buf1, void *buf2, MPI_Datatype datatype) { int m; MPI_Request request; @@ -1311,7 +1311,7 @@ void Grid2d::setup_remap(Grid2d *old, int &nremap_buf1, int &nremap_buf2) int *box; // deallocated existing remap data structs - + deallocate_remap(); // set layout to current Comm layout @@ -1331,7 +1331,7 @@ void Grid2d::setup_remap(Grid2d *old, int &nremap_buf1, int &nremap_buf2) // use overlap_old to construct send and copy lists // skip overlaps that contain no grid cells - + self_remap = 0; nsend_remap = 0; @@ -1343,19 +1343,19 @@ void Grid2d::setup_remap(Grid2d *old, int &nremap_buf1, int &nremap_buf2) } send_remap = new Send[nsend_remap]; - + nsend_remap = 0; for (m = 0; m < noverlap_old; m++) { box = overlap_old[m].box; if (box[0] > box[1] || box[2] > box[3]) continue; if (overlap_old[m].proc == me) { copy_remap.npack = - old->indices(copy_remap.packlist,box[0],box[1],box[2],box[3]); + old->indices(copy_remap.packlist,box[0],box[1],box[2],box[3]); } else { send_remap[nsend_remap].proc = overlap_old[m].proc; send_remap[nsend_remap].npack = - old->indices(send_remap[nsend_remap].packlist, - box[0],box[1],box[2],box[3]); + old->indices(send_remap[nsend_remap].packlist, + box[0],box[1],box[2],box[3]); nsend_remap++; } } @@ -1381,7 +1381,7 @@ void Grid2d::setup_remap(Grid2d *old, int &nremap_buf1, int &nremap_buf2) if (box[0] > box[1] || box[2] > box[3]) continue; if (overlap_new[m].proc != me) nrecv_remap++; } - + recv_remap = new Recv[nrecv_remap]; nrecv_remap = 0; @@ -1390,12 +1390,12 @@ void Grid2d::setup_remap(Grid2d *old, int &nremap_buf1, int &nremap_buf2) if (box[0] > box[1] || box[2] > box[3]) continue; if (overlap_new[m].proc == me) { copy_remap.nunpack = - indices(copy_remap.unpacklist,box[0],box[1],box[2],box[3]); + indices(copy_remap.unpacklist,box[0],box[1],box[2],box[3]); } else { recv_remap[nrecv_remap].proc = overlap_new[m].proc; recv_remap[nrecv_remap].nunpack = - indices(recv_remap[nrecv_remap].unpacklist, - box[0],box[1],box[2],box[3]); + indices(recv_remap[nrecv_remap].unpacklist, + box[0],box[1],box[2],box[3]); nrecv_remap++; } } @@ -1417,7 +1417,7 @@ void Grid2d::setup_remap(Grid2d *old, int &nremap_buf1, int &nremap_buf2) clean_overlap(); old->clean_overlap(); - + // nremap_buf1 = largest pack or unpack in any Send or Recv or Copy // nremap_buf2 = sum of all unpacks in Recv @@ -1444,7 +1444,7 @@ void Grid2d::setup_remap(Grid2d *old, int &nremap_buf1, int &nremap_buf2) ------------------------------------------------------------------------- */ void Grid2d::remap(int caller, void *ptr, int nper, int nbyte, - void *buf1, void *buf2, MPI_Datatype datatype) + void *buf1, void *buf2, MPI_Datatype datatype) { if (caller == FIX) remap_style((Fix *) ptr,nper,nbyte,buf1,buf2,datatype); } @@ -1453,7 +1453,7 @@ void Grid2d::remap(int caller, void *ptr, int nper, int nbyte, template < class T > void Grid2d::remap_style(T *ptr, int nper, int nbyte, - void *buf1, void *vbuf2, MPI_Datatype datatype) + void *buf1, void *vbuf2, MPI_Datatype datatype) { int i,m,offset; @@ -1487,7 +1487,7 @@ void Grid2d::remap_style(T *ptr, int nper, int nbyte, MPI_Waitany(nrecv_remap,requests_remap,&m,MPI_STATUS_IGNORE); offset = nper * recv_remap[m].offset * nbyte; ptr->unpack_remap_grid((void *) &buf2[offset], - recv_remap[m].nunpack,recv_remap[m].unpacklist); + recv_remap[m].nunpack,recv_remap[m].unpacklist); } } @@ -1535,7 +1535,7 @@ void Grid2d::read_file_style(T *ptr, FILE *fp, int nchunk, int maxline) ------------------------------------------------------------------------- */ void Grid2d::write_file(int caller, void *ptr, int which, - int nper, int nbyte, MPI_Datatype datatype) + int nper, int nbyte, MPI_Datatype datatype) { if (caller == FIX) write_file_style((Fix *) ptr, which, nper, nbyte, datatype); @@ -1550,7 +1550,7 @@ void Grid2d::write_file(int caller, void *ptr, int which, template < class T > void Grid2d::write_file_style(T *ptr, int which, - int nper, int nbyte, MPI_Datatype datatype) + int nper, int nbyte, MPI_Datatype datatype) { // maxsize = max size of grid data owned by any proc @@ -1603,7 +1603,7 @@ void Grid2d::write_file_style(T *ptr, int which, } // clean up - + memory->destroy(onebuf); } @@ -1640,7 +1640,7 @@ void Grid2d::write_file_style(T *ptr, int which, int Grid2d::compute_overlap(int ghostflag, int *box, int *pbc, Overlap *&overlap) { int obox[4]; - + memory->create(overlap_procs,nprocs,"grid2d:overlap_procs"); noverlap_list = maxoverlap_list = 0; overlap_list = nullptr; @@ -1653,11 +1653,11 @@ int Grid2d::compute_overlap(int ghostflag, int *box, int *pbc, Overlap *&overlap } // test obox against appropriate layout - + if (layout != Comm::LAYOUT_TILED) { // find comm->procgrid indices in each dim for box bounds - + int iproclo = proc_index_uniform(box[0],nx,shift_grid,0,xsplit); int iprochi = proc_index_uniform(box[1],nx,shift_grid,0,xsplit); int jproclo = proc_index_uniform(box[2],ny,shift_grid,1,ysplit); @@ -1690,12 +1690,12 @@ int Grid2d::compute_overlap(int ghostflag, int *box, int *pbc, Overlap *&overlap obox[1] = nx-1; obox[2] = 0; obox[3] = ny-1; - + partition_tiled(overlap_list[m].proc,0,nprocs-1,obox); if (me == 1) printf("OBOX: proc %d obox %d %d: %d %d\n", overlap_list[m].proc,obox[0],obox[1],obox[2],obox[3]); - + overlap_list[m].box[0] = MAX(box[0],obox[0]); overlap_list[m].box[1] = MIN(box[1],obox[1]); overlap_list[m].box[2] = MAX(box[2],obox[2]); @@ -1860,7 +1860,7 @@ void Grid2d::deallocate_remap() for (int i = 0; i < nsend_remap; i++) memory->destroy(send_remap[i].packlist); delete [] send_remap; - + for (int i = 0; i < nrecv_remap; i++) memory->destroy(recv_remap[i].unpacklist); delete [] recv_remap; @@ -1913,12 +1913,12 @@ int Grid2d::proc_index_uniform(int igrid, int n, double shift, int dim, double * // compute the grid bounds for that proc // if igrid falls within those bounds, return m = proc index // same logic as in partition_grid() - + int m; for (m = 0; m < comm->procgrid[dim]; m++) { fraclo = split[m]; frachi = split[m+1]; - + lo = static_cast (fraclo * n); while (lo+shift < fraclo*n) lo++; hi = static_cast (frachi * n); @@ -1953,7 +1953,7 @@ void Grid2d::partition_tiled(int proc, int proclower, int procupper, int *box) int cut = rcbinfo[procmid].cut; // adjust box to reflect which half of partition the proc is in - + if (proc < procmid) { box[2*dim+1] = cut-1; partition_tiled(proc,proclower,procmid-1,box); diff --git a/src/grid2d.h b/src/grid2d.h index 3772028f52..284e96c4f2 100644 --- a/src/grid2d.h +++ b/src/grid2d.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 @@ -75,9 +75,9 @@ protected: double yfactor; // multiplier on extent of grid in Y direction // extent of my owned and ghost cells - + int inxlo, inxhi; // inclusive extent of my grid chunk, 0 <= in <= N-1 - int inylo, inyhi; + int inylo, inyhi; int outxlo, outxhi; // inclusive extent of my grid chunk plus int outylo, outyhi; // ghost cells in all 4 directions // lo indices can be < 0, hi indices can be >= N @@ -174,7 +174,7 @@ protected: Send *send; Recv *recv; Copy *copy; - + // ------------------------------------------- // internal variables for REMAP operation // ------------------------------------------- @@ -189,7 +189,7 @@ protected: // ------------------------------------------- // internal variables for OVERLAP operation // ------------------------------------------- - + int *overlap_procs; // length of Nprocs in communicator // BRICK decomposition @@ -236,7 +236,7 @@ protected: void setup_comm_tiled(int &, int &); int ghost_adjacent_brick(); int ghost_adjacent_tiled(); - + template void forward_comm_brick(T *, int, int, int, void *, void *, MPI_Datatype); template void forward_comm_tiled(T *, int, int, int, void *, void *, MPI_Datatype); template void reverse_comm_brick(T *, int, int, int, void *, void *, MPI_Datatype); diff --git a/src/grid3d.cpp b/src/grid3d.cpp index 4b88457544..c0a3c66cd4 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.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 @@ -60,7 +60,7 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, int gnx, int gny, int gnz) : // default settings, can be overridden by set() methods // these affect assignment of owned and ghost cells - + maxdist = 0.0; stencil_grid_lo = stencil_grid_hi = 0; stencil_atom_lo = stencil_atom_hi = 0; @@ -98,7 +98,7 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, int gnx, int gny, int gnz, nz = gnz; // store owned/ghost indices provided by caller - + inxlo = ixlo; inxhi = ixhi; inylo = iylo; @@ -135,7 +135,7 @@ Grid3d::~Grid3d() delete [] ysplit; delete [] zsplit; memory->destroy(grid2proc); - + // tiled comm data structs for (int i = 0; i < nsend; i++) @@ -151,14 +151,14 @@ Grid3d::~Grid3d() memory->destroy(copy[i].unpacklist); } memory->sfree(copy); - + delete [] requests; delete [] requests_remap; memory->sfree(rcbinfo); // remap data structs - + deallocate_remap(); } @@ -263,7 +263,7 @@ void Grid3d::set_proc_neighs(int pxlo, int pxhi, int pylo, int pyhi, set allocation dimensions of caller grid used by indices() to setup pack/unpack called AFTER setup_grid() but BEFORE setup_comm() to override the caller grid size set by setup_grid() and used in indices() - used by MSM to allow a larger level 0 grid to be allocated + used by MSM to allow a larger level 0 grid to be allocated with more ghost cells for other operations ------------------------------------------------------------------------- */ @@ -286,7 +286,7 @@ int Grid3d::identical(Grid3d *grid2) { int inxlo2,inxhi2,inylo2,inyhi2,inzlo2,inzhi2; int outxlo2,outxhi2,outylo2,outyhi2,outzlo2,outzhi2; - + grid2->get_bounds_owned(inxlo2,inxhi2,inylo2,inyhi2,inzlo2,inzhi2); grid2->get_bounds_ghost(outxlo2,outxhi2,outylo2,outyhi2,outzlo2,outzhi2); @@ -330,7 +330,7 @@ void Grid3d::get_bounds_owned(int &xlo, int &xhi, int &ylo, int &yhi, /* ---------------------------------------------------------------------- */ void Grid3d::get_bounds_ghost(int &xlo, int &xhi, int &ylo, int &yhi, - int &zlo, int &zhi) + int &zlo, int &zhi) { xlo = outxlo; xhi = outxhi; @@ -364,7 +364,7 @@ void Grid3d::setup_grid(int &ixlo, int &ixhi, int &iylo, int &iyhi, // shift_grid = 0.5 for grid point at cell center, 0.0 for lower-left corner double fraclo,frachi; - + if (comm->layout != Comm::LAYOUT_TILED) { fraclo = comm->xsplit[comm->myloc[0]]; frachi = comm->xsplit[comm->myloc[0]+1]; @@ -395,9 +395,9 @@ void Grid3d::setup_grid(int &ixlo, int &ixhi, int &iylo, int &iyhi, // other constructor invokes this directly initialize(); - + // return values - + ixlo = inxlo; ixhi = inxhi; iylo = inylo; @@ -429,7 +429,7 @@ void Grid3d::initialize() // default = caller grid is allocated to ghost grid // used when computing pack/unpack lists in indices() // these values can be overridden using set_caller_grid() - + fullxlo = outxlo; fullxhi = outxhi; fullylo = outylo; @@ -523,7 +523,7 @@ void Grid3d::ghost_grid() } // for triclinic, maxdist = different value in each orthogonal direction - + double dist[3] = {0.0,0.0,0.0}; if (triclinic == 0) dist[0] = dist[1] = dist[2] = maxdist; else MathExtra::tribbox(domain->h,maxdist,&dist[0]); @@ -535,12 +535,12 @@ void Grid3d::ghost_grid() // ghost cell layers needed in each dim/dir = max of two extension effects // OFFSET allows generation of negative indices with static_cast // out xyz lo/hi = index range of owned + ghost cells - + double dxinv = nx / prd[0]; double dyinv = ny / prd[1]; double dzinv = nz / prd[2]; double dzinv_slab = nz / (prd[2] * zfactor); - + int lo, hi; lo = static_cast((sublo[0]-dist[0]-boxlo[0]) * dxinv + shift_atom_lo + OFFSET) - OFFSET; @@ -585,7 +585,7 @@ void Grid3d::ghost_grid() // limit out xyz lo/hi indices to global grid for non-periodic dims // if zextra = 1 (e.g. PPPM), grid is still fully periodic - + int *periodicity = domain->periodicity; if (!periodicity[0]) { @@ -633,7 +633,7 @@ void Grid3d::extract_comm_info() memcpy(xsplit,comm->xsplit,(comm->procgrid[0]+1)*sizeof(double)); memcpy(ysplit,comm->ysplit,(comm->procgrid[1]+1)*sizeof(double)); memcpy(zsplit,comm->zsplit,(comm->procgrid[2]+1)*sizeof(double)); - + memory->create(grid2proc,comm->procgrid[0],comm->procgrid[1],comm->procgrid[2], "grid3d:grid2proc"); memcpy(&grid2proc[0][0][0],&comm->grid2proc[0][0][0], @@ -656,7 +656,7 @@ void Grid3d::extract_comm_info() else if (rcbone.dim == 1) rcbone.cut = inylo; else if (rcbone.dim == 2) rcbone.cut = inzlo; MPI_Allgather(&rcbone,sizeof(RCBinfo),MPI_CHAR, - rcbinfo,sizeof(RCBinfo),MPI_CHAR,gridcomm); + rcbinfo,sizeof(RCBinfo),MPI_CHAR,gridcomm); } } @@ -1116,7 +1116,7 @@ void Grid3d::setup_comm_tiled(int &nbuf1, int &nbuf2) // create Copy data struct from overlaps with self // skip copy to self when non-PBC - + copy = (Copy *) memory->smalloc(ncopy*sizeof(Copy),"grid3d:copy"); ncopy = 0; @@ -1256,13 +1256,13 @@ void Grid3d::forward_comm(int caller, void *ptr, int nper, int nbyte, int which, if (layout != Comm::LAYOUT_TILED) { if (caller == KSPACE) forward_comm_brick((KSpace *) ptr,nper,nbyte,which, - buf1,buf2,datatype); + buf1,buf2,datatype); else if (caller == PAIR) forward_comm_brick((Pair *) ptr,nper,nbyte,which, - buf1,buf2,datatype); + buf1,buf2,datatype); else if (caller == FIX) forward_comm_brick((Fix *) ptr,nper,nbyte,which, - buf1,buf2,datatype); + buf1,buf2,datatype); } else { if (caller == KSPACE) forward_comm_tiled((KSpace *) ptr,nper,nbyte,which, @@ -1283,7 +1283,7 @@ void Grid3d::forward_comm(int caller, void *ptr, int nper, int nbyte, int which, template < class T > void Grid3d:: forward_comm_brick(T *ptr, int nper, int /*nbyte*/, int which, - void *buf1, void *buf2, MPI_Datatype datatype) + void *buf1, void *buf2, MPI_Datatype datatype) { int m; MPI_Request request; @@ -1361,13 +1361,13 @@ void Grid3d::reverse_comm(int caller, void *ptr, int nper, int nbyte, int which, if (layout != Comm::LAYOUT_TILED) { if (caller == KSPACE) reverse_comm_brick((KSpace *) ptr,nper,nbyte,which, - buf1,buf2,datatype); + buf1,buf2,datatype); else if (caller == PAIR) reverse_comm_brick((Pair *) ptr,nper,nbyte,which, - buf1,buf2,datatype); + buf1,buf2,datatype); else if (caller == FIX) reverse_comm_brick((Fix *) ptr,nper,nbyte,which, - buf1,buf2,datatype); + buf1,buf2,datatype); } else { if (caller == KSPACE) reverse_comm_tiled((KSpace *) ptr,nper,nbyte,which, @@ -1388,7 +1388,7 @@ void Grid3d::reverse_comm(int caller, void *ptr, int nper, int nbyte, int which, template < class T > void Grid3d:: reverse_comm_brick(T *ptr, int nper, int /*nbyte*/, int which, - void *buf1, void *buf2, MPI_Datatype datatype) + void *buf1, void *buf2, MPI_Datatype datatype) { int m; MPI_Request request; @@ -1479,13 +1479,13 @@ void Grid3d::setup_remap(Grid3d *old, int &nremap_buf1, int &nremap_buf2) int *box; // deallocated existing remap data structs - + deallocate_remap(); // set layout to current Comm layout layout = comm->layout; - + // overlaps of my old decomp owned box with all owned boxes in new decomp // noverlap_old = # of overlaps, including self // overlap_old = vector of overlap info in Overlap data struct @@ -1512,20 +1512,20 @@ void Grid3d::setup_remap(Grid3d *old, int &nremap_buf1, int &nremap_buf2) } send_remap = new Send[nsend_remap]; - + nsend_remap = 0; for (m = 0; m < noverlap_old; m++) { box = overlap_old[m].box; if (box[0] > box[1] || box[2] > box[3] || box[4] > box[5]) continue; if (overlap_old[m].proc == me) { copy_remap.npack = - old->indices(copy_remap.packlist, - box[0],box[1],box[2],box[3],box[4],box[5]); + old->indices(copy_remap.packlist, + box[0],box[1],box[2],box[3],box[4],box[5]); } else { send_remap[nsend_remap].proc = overlap_old[m].proc; send_remap[nsend_remap].npack = - old->indices(send_remap[nsend_remap].packlist, - box[0],box[1],box[2],box[3],box[4],box[5]); + old->indices(send_remap[nsend_remap].packlist, + box[0],box[1],box[2],box[3],box[4],box[5]); nsend_remap++; } } @@ -1551,7 +1551,7 @@ void Grid3d::setup_remap(Grid3d *old, int &nremap_buf1, int &nremap_buf2) if (box[0] > box[1] || box[2] > box[3] || box[4] > box[5]) continue; if (overlap_new[m].proc != me) nrecv_remap++; } - + recv_remap = new Recv[nrecv_remap]; nrecv_remap = 0; @@ -1560,13 +1560,13 @@ void Grid3d::setup_remap(Grid3d *old, int &nremap_buf1, int &nremap_buf2) if (box[0] > box[1] || box[2] > box[3] || box[4] > box[5]) continue; if (overlap_new[m].proc == me) { copy_remap.nunpack = - indices(copy_remap.unpacklist, - box[0],box[1],box[2],box[3],box[4],box[5]); + indices(copy_remap.unpacklist, + box[0],box[1],box[2],box[3],box[4],box[5]); } else { recv_remap[nrecv_remap].proc = overlap_new[m].proc; recv_remap[nrecv_remap].nunpack = - indices(recv_remap[nrecv_remap].unpacklist, - box[0],box[1],box[2],box[3],box[4],box[5]); + indices(recv_remap[nrecv_remap].unpacklist, + box[0],box[1],box[2],box[3],box[4],box[5]); nrecv_remap++; } } @@ -1588,7 +1588,7 @@ void Grid3d::setup_remap(Grid3d *old, int &nremap_buf1, int &nremap_buf2) clean_overlap(); old->clean_overlap(); - + // nremap_buf1 = largest pack or unpack in any Send or Recv or Copy // nremap_buf2 = sum of all unpacks in Recv @@ -1615,7 +1615,7 @@ void Grid3d::setup_remap(Grid3d *old, int &nremap_buf1, int &nremap_buf2) ------------------------------------------------------------------------- */ void Grid3d::remap(int caller, void *ptr, int nper, int nbyte, - void *buf1, void *buf2, MPI_Datatype datatype) + void *buf1, void *buf2, MPI_Datatype datatype) { if (caller == FIX) remap_style((Fix *) ptr,nper,nbyte,buf1,buf2,datatype); } @@ -1624,7 +1624,7 @@ void Grid3d::remap(int caller, void *ptr, int nper, int nbyte, template < class T > void Grid3d::remap_style(T *ptr, int nper, int nbyte, - void *buf1, void *vbuf2, MPI_Datatype datatype) + void *buf1, void *vbuf2, MPI_Datatype datatype) { int i,m,offset; @@ -1658,7 +1658,7 @@ void Grid3d::remap_style(T *ptr, int nper, int nbyte, MPI_Waitany(nrecv_remap,requests_remap,&m,MPI_STATUS_IGNORE); offset = nper * recv_remap[m].offset * nbyte; ptr->unpack_remap_grid((void *) &buf2[offset], - recv_remap[m].nunpack,recv_remap[m].unpacklist); + recv_remap[m].nunpack,recv_remap[m].unpacklist); } } @@ -1706,7 +1706,7 @@ void Grid3d::read_file_style(T *ptr, FILE *fp, int nchunk, int maxline) ------------------------------------------------------------------------- */ void Grid3d::write_file(int caller, void *ptr, int which, - int nper, int nbyte, MPI_Datatype datatype) + int nper, int nbyte, MPI_Datatype datatype) { if (caller == FIX) write_file_style((Fix *) ptr, which, nper, nbyte, datatype); @@ -1721,7 +1721,7 @@ void Grid3d::write_file(int caller, void *ptr, int which, template < class T > void Grid3d::write_file_style(T *ptr, int which, - int nper, int nbyte, MPI_Datatype datatype) + int nper, int nbyte, MPI_Datatype datatype) { // maxsize = max size of grid data owned by any proc @@ -1778,7 +1778,7 @@ void Grid3d::write_file_style(T *ptr, int which, } // clean up - + memory->destroy(onebuf); } @@ -1830,7 +1830,7 @@ int Grid3d::compute_overlap(int ghostflag, int *box, int *pbc, Overlap *&overlap if (layout != Comm::LAYOUT_TILED) { // find comm->procgrid indices in each dim for box bounds - + int iproclo = proc_index_uniform(box[0],nx,shift_grid,0,xsplit); int iprochi = proc_index_uniform(box[1],nx,shift_grid,0,xsplit); int jproclo = proc_index_uniform(box[2],ny,shift_grid,1,ysplit); @@ -1839,24 +1839,24 @@ int Grid3d::compute_overlap(int ghostflag, int *box, int *pbc, Overlap *&overlap int kprochi = proc_index_uniform(box[5],nz,shift_grid,2,zsplit); // compute extent of overlap of box with with each proc's obox - + for (int k = kproclo; k <= kprochi; k++) for (int j = jproclo; j <= jprochi; j++) - for (int i = iproclo; i <= iprochi; i++) { + for (int i = iproclo; i <= iprochi; i++) { partition_grid(nx,xsplit[i],xsplit[i+1],shift_grid,0,obox[0],obox[1]); partition_grid(ny,ysplit[j],ysplit[j+1],shift_grid,0,obox[2],obox[3]); partition_grid(nz,zsplit[k],zsplit[k+1],shift_grid,zextra,obox[4],obox[5]); - if (noverlap_list == maxoverlap_list) grow_overlap(); - overlap_list[noverlap_list].proc = grid2proc[i][j][k]; - overlap_list[noverlap_list].box[0] = MAX(box[0],obox[0]); - overlap_list[noverlap_list].box[1] = MIN(box[1],obox[1]); - overlap_list[noverlap_list].box[2] = MAX(box[2],obox[2]); - overlap_list[noverlap_list].box[3] = MIN(box[3],obox[3]); - overlap_list[noverlap_list].box[4] = MAX(box[4],obox[4]); - overlap_list[noverlap_list].box[5] = MIN(box[5],obox[5]); - noverlap_list++; - } + if (noverlap_list == maxoverlap_list) grow_overlap(); + overlap_list[noverlap_list].proc = grid2proc[i][j][k]; + overlap_list[noverlap_list].box[0] = MAX(box[0],obox[0]); + overlap_list[noverlap_list].box[1] = MIN(box[1],obox[1]); + overlap_list[noverlap_list].box[2] = MAX(box[2],obox[2]); + overlap_list[noverlap_list].box[3] = MIN(box[3],obox[3]); + overlap_list[noverlap_list].box[4] = MAX(box[4],obox[4]); + overlap_list[noverlap_list].box[5] = MIN(box[5],obox[5]); + noverlap_list++; + } } else { box_drop(box,pbc); @@ -1871,9 +1871,9 @@ int Grid3d::compute_overlap(int ghostflag, int *box, int *pbc, Overlap *&overlap obox[3] = ny-1; obox[4] = 0; obox[5] = nz-1; - + partition_tiled(overlap_list[m].proc,0,nprocs-1,obox); - + overlap_list[m].box[0] = MAX(box[0],obox[0]); overlap_list[m].box[1] = MIN(box[1],obox[1]); overlap_list[m].box[2] = MAX(box[2],obox[2]); @@ -2050,7 +2050,7 @@ void Grid3d::deallocate_remap() for (int i = 0; i < nsend_remap; i++) memory->destroy(send_remap[i].packlist); delete [] send_remap; - + for (int i = 0; i < nrecv_remap; i++) memory->destroy(recv_remap[i].unpacklist); delete [] recv_remap; @@ -2068,7 +2068,7 @@ void Grid3d::deallocate_remap() ------------------------------------------------------------------------- */ int Grid3d::indices(int *&list, - int xlo, int xhi, int ylo, int yhi, int zlo, int zhi) + int xlo, int xhi, int ylo, int yhi, int zlo, int zhi) { int nmax = (xhi-xlo+1) * (yhi-ylo+1) * (zhi-zlo+1); memory->create(list,nmax,"grid3d:indices"); @@ -2090,7 +2090,7 @@ int Grid3d::indices(int *&list, /* ---------------------------------------------------------------------- find the comm->procgrid index = which proc owns the igrid index igrid = grid index (0 to N-1) in dim - n = # of grid points in dim + n = # of grid points in dim shift determines position of grid pt within grid cell shift = 0.5 for cell center, 0.0 for lower-left corner dim = which dimension (0,1,2) @@ -2146,7 +2146,7 @@ void Grid3d::partition_tiled(int proc, int proclower, int procupper, int *box) int cut = rcbinfo[procmid].cut; // adjust box to reflect which half of partition the proc is in - + if (proc < procmid) { box[2*dim+1] = cut-1; partition_tiled(proc,proclower,procmid-1,box); diff --git a/src/grid3d.h b/src/grid3d.h index 721cdd93f0..7ab34080ef 100644 --- a/src/grid3d.h +++ b/src/grid3d.h @@ -35,7 +35,7 @@ class Grid3d : protected Pointers { void set_zfactor(double); void set_caller_grid(int, int, int, int, int, int); void set_proc_neighs(int, int, int, int, int, int); - + int identical(Grid3d *); void get_size(int &, int &, int &); void get_bounds_owned(int &, int &, int &, int &, int &, int &); @@ -77,7 +77,7 @@ class Grid3d : protected Pointers { double zfactor; // multiplier on extent of grid in Z direction // extent of my owned and ghost cells - + int inxlo, inxhi; // inclusive extent of my grid chunk, 0 <= in <= N-1 int inylo, inyhi; int inzlo, inzhi; @@ -117,7 +117,7 @@ class Grid3d : protected Pointers { // ------------------------------------------- // internal variables for TILED layout // ------------------------------------------- - + MPI_Request *requests; // length of max messages this proc receives // request = sent to each proc whose owned cells overlap my ghost cells @@ -195,7 +195,7 @@ class Grid3d : protected Pointers { // ------------------------------------------- // internal variables for OVERLAP operation // ------------------------------------------- - + int *overlap_procs; // length of Nprocs in communicator // BRICK decomposition @@ -236,7 +236,7 @@ class Grid3d : protected Pointers { void partition_grid(int, double, double, double, int, int &, int &); void ghost_grid(); void extract_comm_info(); - + void setup_comm_brick(int &, int &); void setup_comm_tiled(int &, int &); int ghost_adjacent_brick(); @@ -260,7 +260,7 @@ class Grid3d : protected Pointers { void grow_swap(); void grow_overlap(); void deallocate_remap(); - + int indices(int *&, int, int, int, int, int, int); int proc_index_uniform(int, int, double, int, double *); void partition_tiled(int, int, int, int *); From 65ce9aa7910d10deb80572a6d4ca0c06ba058a30 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 8 Nov 2022 11:22:25 -0700 Subject: [PATCH 096/142] KSpace bug fixes --- src/KSPACE/pppm.cpp | 4 +- src/KSPACE/pppm_dipole.cpp | 48 +++++++++++----- src/KSPACE/pppm_disp.cpp | 110 +++++++++++++++++++------------------ 3 files changed, 95 insertions(+), 67 deletions(-) diff --git a/src/KSPACE/pppm.cpp b/src/KSPACE/pppm.cpp index 9802292f04..0dc7ac9326 100644 --- a/src/KSPACE/pppm.cpp +++ b/src/KSPACE/pppm.cpp @@ -868,7 +868,7 @@ void PPPM::deallocate() memory->destroy(gc_buf2); memory->destroy3d_offset(density_brick,nzlo_out,nylo_out,nxlo_out); - + if (differentiation_flag == 1) { memory->destroy3d_offset(u_brick,nzlo_out,nylo_out,nxlo_out); memory->destroy(sf_precoeff1); @@ -882,7 +882,7 @@ void PPPM::deallocate() memory->destroy3d_offset(vdy_brick,nzlo_out,nylo_out,nxlo_out); memory->destroy3d_offset(vdz_brick,nzlo_out,nylo_out,nxlo_out); } - + memory->destroy(density_fft); memory->destroy(greensfn); memory->destroy(work1); diff --git a/src/KSPACE/pppm_dipole.cpp b/src/KSPACE/pppm_dipole.cpp index f2195f856f..a2cab8c0d7 100644 --- a/src/KSPACE/pppm_dipole.cpp +++ b/src/KSPACE/pppm_dipole.cpp @@ -205,7 +205,7 @@ void PPPMDipole::init() gc_dipole->set_stencil_atom(-nlower,nupper); gc_dipole->set_shift_atom(shiftatom_lo,shiftatom_hi); gc_dipole->set_zfactor(slab_volfactor); - + gc_dipole->setup_grid(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in, nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out); @@ -231,6 +231,17 @@ void PPPMDipole::init() double estimated_accuracy = final_accuracy_dipole(); + // allocate K-space dependent memory + // don't invoke allocate peratom(), will be allocated when needed + + allocate(); + + // pre-compute Green's function denomiator expansion + // pre-compute 1d charge distribution coefficients + + compute_gf_denom(); + compute_rho_coeff(); + // print stats int ngrid_max,nfft_both_max; @@ -250,17 +261,6 @@ void PPPMDipole::init() ngrid_max,nfft_both_max); utils::logmesg(lmp,mesg); } - - // allocate K-space dependent memory - // don't invoke allocate peratom(), will be allocated when needed - - allocate(); - - // pre-compute Green's function denomiator expansion - // pre-compute 1d charge distribution coefficients - - compute_gf_denom(); - compute_rho_coeff(); } /* ---------------------------------------------------------------------- @@ -541,7 +541,7 @@ void PPPMDipole::allocate() gc_dipole->set_stencil_atom(-nlower,nupper); gc_dipole->set_shift_atom(shiftatom_lo,shiftatom_hi); gc_dipole->set_zfactor(slab_volfactor); - + gc_dipole->setup_grid(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in, nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out); @@ -552,6 +552,24 @@ void PPPMDipole::allocate() 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 + // nfft_brick = FFT points in 3d brick-decomposition on this proc + // same as count of owned grid cells + // 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); + + 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_both = MAX(nfft,nfft_brick); + // allocate distributed grid data memory->create3d_offset(densityx_brick_dipole,nzlo_out,nzhi_out,nylo_out,nyhi_out, @@ -638,6 +656,7 @@ void PPPMDipole::deallocate() delete gc_dipole; memory->destroy(gc_buf1); memory->destroy(gc_buf2); + gc_buf1 = gc_buf2 = nullptr; memory->destroy3d_offset(densityx_brick_dipole,nzlo_out,nylo_out,nxlo_out); memory->destroy3d_offset(densityy_brick_dipole,nzlo_out,nylo_out,nxlo_out); @@ -664,6 +683,9 @@ void PPPMDipole::deallocate() delete fft1; delete fft2; delete remap; + + fft1 = fft2 = nullptr; + remap = nullptr; } /* ---------------------------------------------------------------------- diff --git a/src/KSPACE/pppm_disp.cpp b/src/KSPACE/pppm_disp.cpp index e8f490b992..1c466f3e00 100644 --- a/src/KSPACE/pppm_disp.cpp +++ b/src/KSPACE/pppm_disp.cpp @@ -389,8 +389,8 @@ void PPPMDisp::init() alpha = qdist / (cos(0.5*theta) * blen); } - //if g_ewald and g_ewald_6 have not been specified, set some initial value - // to avoid problems when calculating the energies! + // if g_ewald and g_ewald_6 have not been specified, + // set some initial value, to avoid problems when calculating the energies! if (!gewaldflag) g_ewald = 1; if (!gewaldflag_6) g_ewald_6 = 1; @@ -407,6 +407,9 @@ void PPPMDisp::init() if (accuracy_absolute >= 0.0) accuracy = accuracy_absolute; else accuracy = accuracy_relative * two_charge_force; + double acc; + double acc_6,acc_real_6,acc_kspace_6; + int iteration = 0; if (function[0]) { @@ -459,31 +462,9 @@ void PPPMDisp::init() if (!gewaldflag) adjust_gewald(); - // calculate the final accuracy + // calculate the final Coulomb accuracy - double acc = final_accuracy(); - - // print stats - - int ngrid_max,nfft_both_max; - MPI_Allreduce(&ngrid,&ngrid_max,1,MPI_INT,MPI_MAX,world); - MPI_Allreduce(&nfft_both,&nfft_both_max,1,MPI_INT,MPI_MAX,world); - - if (me == 0) { - std::string mesg = fmt::format(" Coulomb G vector (1/distance)= {:.16g}\n", - g_ewald); - mesg += fmt::format(" Coulomb grid = {} {} {}\n", - nx_pppm,ny_pppm,nz_pppm); - mesg += fmt::format(" Coulomb stencil order = {}\n",order); - mesg += fmt::format(" Coulomb estimated absolute RMS force accuracy " - "= {:.8g}\n",acc); - mesg += fmt::format(" Coulomb estimated relative force accuracy = {:.8g}\n", - acc/two_charge_force); - mesg += " using " LMP_FFT_PREC " precision " LMP_FFT_LIB "\n"; - mesg += fmt::format(" 3d grid and FFT values/proc = {} {}\n", - ngrid_max,nfft_both_max); - utils::logmesg(lmp,mesg); - } + acc = final_accuracy(); } iteration = 0; @@ -537,34 +518,11 @@ void PPPMDisp::init() if (!gewaldflag_6 && accuracy_kspace_6 == accuracy_real_6) adjust_gewald_6(); - // calculate the final accuracy + // calculate the final displerson accuracy - double acc,acc_real,acc_kspace; - final_accuracy_6(acc,acc_real,acc_kspace); - - // print stats - - int ngrid_6_max,nfft_both_6_max; - MPI_Allreduce(&ngrid_6,&ngrid_6_max,1,MPI_INT,MPI_MAX,world); - MPI_Allreduce(&nfft_both_6,&nfft_both_6_max,1,MPI_INT,MPI_MAX,world); - - if (me == 0) { - std::string mesg = fmt::format(" Dispersion G vector (1/distance)= " - "{:.16}\n",g_ewald_6); - mesg += fmt::format(" Dispersion grid = {} {} {}\n", - nx_pppm_6,ny_pppm_6,nz_pppm_6); - mesg += fmt::format(" Dispersion stencil order = {}\n",order_6); - mesg += fmt::format(" Dispersion estimated absolute RMS force accuracy " - "= {:.8}\n",acc); - mesg += fmt::format(" Dispersion estimated relative force accuracy " - "= {:.8}\n",acc/two_charge_force); - mesg += " using " LMP_FFT_PREC " precision " LMP_FFT_LIB "\n"; - mesg += fmt::format(" 3d grid and FFT values/proc = {} {}\n", - ngrid_6_max,nfft_both_6_max); - utils::logmesg(lmp,mesg); - } + final_accuracy_6(acc_6,acc_real_6,acc_kspace_6); } - + // allocate K-space dependent memory allocate(); @@ -592,6 +550,54 @@ void PPPMDisp::init() sf_precoeff1_6,sf_precoeff2_6,sf_precoeff3_6, sf_precoeff4_6,sf_precoeff5_6,sf_precoeff6_6); } + + // print Coulomb stats + + if (function[0]) { + int ngrid_max,nfft_both_max; + MPI_Allreduce(&ngrid,&ngrid_max,1,MPI_INT,MPI_MAX,world); + MPI_Allreduce(&nfft_both,&nfft_both_max,1,MPI_INT,MPI_MAX,world); + + if (me == 0) { + std::string mesg = fmt::format(" Coulomb G vector (1/distance)= {:.16g}\n", + g_ewald); + mesg += fmt::format(" Coulomb grid = {} {} {}\n", + nx_pppm,ny_pppm,nz_pppm); + mesg += fmt::format(" Coulomb stencil order = {}\n",order); + mesg += fmt::format(" Coulomb estimated absolute RMS force accuracy " + "= {:.8g}\n",acc); + mesg += fmt::format(" Coulomb estimated relative force accuracy = {:.8g}\n", + acc/two_charge_force); + mesg += " using " LMP_FFT_PREC " precision " LMP_FFT_LIB "\n"; + mesg += fmt::format(" 3d grid and FFT values/proc = {} {}\n", + ngrid_max,nfft_both_max); + utils::logmesg(lmp,mesg); + } + } + + // print dipserion stats + + if (function[1] + function[2] + function[3]) { + int ngrid_6_max,nfft_both_6_max; + MPI_Allreduce(&ngrid_6,&ngrid_6_max,1,MPI_INT,MPI_MAX,world); + MPI_Allreduce(&nfft_both_6,&nfft_both_6_max,1,MPI_INT,MPI_MAX,world); + + if (me == 0) { + std::string mesg = fmt::format(" Dispersion G vector (1/distance)= " + "{:.16}\n",g_ewald_6); + mesg += fmt::format(" Dispersion grid = {} {} {}\n", + nx_pppm_6,ny_pppm_6,nz_pppm_6); + mesg += fmt::format(" Dispersion stencil order = {}\n",order_6); + mesg += fmt::format(" Dispersion estimated absolute RMS force accuracy " + "= {:.8}\n",acc_6); + mesg += fmt::format(" Dispersion estimated relative force accuracy " + "= {:.8}\n",acc_6/two_charge_force); + mesg += " using " LMP_FFT_PREC " precision " LMP_FFT_LIB "\n"; + mesg += fmt::format(" 3d grid and FFT values/proc = {} {}\n", + ngrid_6_max,nfft_both_6_max); + utils::logmesg(lmp,mesg); + } + } } /* ---------------------------------------------------------------------- From df9dc387aca101db578e77323149ca4f92f1e82a Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 8 Nov 2022 17:26:29 -0700 Subject: [PATCH 097/142] debug --- src/KSPACE/pppm.cpp | 6 ++++++ src/KSPACE/pppm_disp.cpp | 12 ++++++++++++ 2 files changed, 18 insertions(+) diff --git a/src/KSPACE/pppm.cpp b/src/KSPACE/pppm.cpp index 0dc7ac9326..bfc5014a98 100644 --- a/src/KSPACE/pppm.cpp +++ b/src/KSPACE/pppm.cpp @@ -759,6 +759,12 @@ void PPPM::allocate() gc->setup_comm(ngc_buf1,ngc_buf2); + printf("COUL GRID me %d IN %d %d: %d %d: %d %d\n",comm->me, + nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in); + printf("COUL GRID me %d OUT %d %d: %d %d: %d %d\n",comm->me, + nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out); + printf("COUL BUF me %d buf %d %d\n",comm->me,ngc_buf1,ngc_buf2); + if (differentiation_flag) npergrid = 1; else npergrid = 3; diff --git a/src/KSPACE/pppm_disp.cpp b/src/KSPACE/pppm_disp.cpp index 1c466f3e00..f14b71f384 100644 --- a/src/KSPACE/pppm_disp.cpp +++ b/src/KSPACE/pppm_disp.cpp @@ -1692,6 +1692,12 @@ void _noopt PPPMDisp::allocate() gc->setup_comm(ngc_buf1,ngc_buf2); + printf("COUL GRID me %d IN %d %d: %d %d: %d %d\n",comm->me, + nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in); + printf("COUL GRID me %d OUT %d %d: %d %d: %d %d\n",comm->me, + nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out); + printf("COUL BUF me %d buf %d %d\n",comm->me,ngc_buf1,ngc_buf2); + if (differentiation_flag) npergrid = 1; else npergrid = 3; @@ -1807,6 +1813,12 @@ void _noopt PPPMDisp::allocate() gc6->setup_comm(ngc6_buf1,ngc6_buf2); + printf("DISP GRID me %d IN %d %d: %d %d: %d %d\n",comm->me, + nxlo_in_6,nxhi_in_6,nylo_in_6,nyhi_in_6,nzlo_in_6,nzhi_in_6); + printf("DISP GRID me %d OUT %d %d: %d %d: %d %d\n",comm->me, + nxlo_out_6,nxhi_out_6,nylo_out_6,nyhi_out_6,nzlo_out_6,nzhi_out_6); + printf("DISP BUF me %d buf %d %d\n",comm->me,ngc6_buf1,ngc6_buf2); + if (function[1]) { if (differentiation_flag) npergrid6 = 1; else npergrid6 = 3; From ec0b38f7b78a29f3835b0ae6be267c86a133a8e7 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 8 Nov 2022 18:08:22 -0700 Subject: [PATCH 098/142] bug fix in pppm/disp --- src/KSPACE/pppm_disp.cpp | 47 ++++++++++++++++++++++------------------ src/KSPACE/pppm_disp.h | 6 ++--- 2 files changed, 29 insertions(+), 24 deletions(-) diff --git a/src/KSPACE/pppm_disp.cpp b/src/KSPACE/pppm_disp.cpp index f14b71f384..d1f944e6eb 100644 --- a/src/KSPACE/pppm_disp.cpp +++ b/src/KSPACE/pppm_disp.cpp @@ -429,7 +429,8 @@ void PPPMDisp::init() error->all(FLERR,"PPPMDisp Coulomb grid is too large"); set_grid_local(order,nx_pppm,ny_pppm,nz_pppm, - shift,shiftone,shiftatom,nlower,nupper, + shift,shiftone,shiftatom_lo,shiftatom_hi, + nlower,nupper, nxlo_fft,nylo_fft,nzlo_fft, nxhi_fft,nyhi_fft,nzhi_fft); @@ -438,7 +439,7 @@ void PPPMDisp::init() gc = new Grid3d(lmp,world,nx_pppm,ny_pppm,nz_pppm); gc->set_distance(0.5*neighbor->skin + qdist); gc->set_stencil_atom(-nlower,nupper); - gc->set_shift_atom(shiftatom,shiftatom); + gc->set_shift_atom(shiftatom_lo,shiftatom_lo); gc->set_zfactor(slab_volfactor); gc->setup_grid(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in, @@ -484,7 +485,8 @@ void PPPMDisp::init() error->all(FLERR,"PPPMDisp Dispersion grid is too large"); set_grid_local(order_6,nx_pppm_6,ny_pppm_6,nz_pppm_6, - shift_6,shiftone_6,shiftatom_6,nlower_6,nupper_6, + shift_6,shiftone_6,shiftatom_lo_6,shiftatom_hi_6, + nlower_6,nupper_6, nxlo_fft_6,nylo_fft_6,nzlo_fft_6, nxhi_fft_6,nyhi_fft_6,nzhi_fft_6); @@ -493,7 +495,7 @@ void PPPMDisp::init() gc6 = new Grid3d(lmp,world,nx_pppm_6,ny_pppm_6,nz_pppm_6); gc6->set_distance(0.5*neighbor->skin + qdist); gc6->set_stencil_atom(-nlower_6,nupper_6); - gc6->set_shift_atom(shiftatom_6,shiftatom_6); + gc6->set_shift_atom(shiftatom_lo_6,shiftatom_hi_6); gc6->set_zfactor(slab_volfactor); gc->setup_grid(nxlo_in_6,nxhi_in_6,nylo_in_6,nyhi_in_6,nzlo_in_6,nzhi_in_6, @@ -803,13 +805,15 @@ void PPPMDisp::reset_grid() if (function[0]) set_grid_local(order,nx_pppm,ny_pppm,nz_pppm, - shift,shiftone,shiftatom,nlower,nupper, + shift,shiftone,shiftatom_lo,shiftatom_hi, + nlower,nupper, nxlo_fft,nylo_fft,nzlo_fft, nxhi_fft,nyhi_fft,nzhi_fft); if (function[1] + function[2] + function[3]) set_grid_local(order_6,nx_pppm_6,ny_pppm_6,nz_pppm_6, - shift_6,shiftone_6,shiftatom_6,nlower_6,nupper_6, + shift_6,shiftone_6,shiftatom_lo_6,shiftatom_hi_6, + nlower_6,nupper_6, nxlo_fft_6,nylo_fft_6,nzlo_fft_6, nxhi_fft_6,nyhi_fft_6,nzhi_fft_6); @@ -1684,7 +1688,7 @@ void _noopt PPPMDisp::allocate() gc = new Grid3d(lmp,world,nx_pppm,ny_pppm,nz_pppm); gc->set_distance(0.5*neighbor->skin + qdist); gc->set_stencil_atom(-nlower,nupper); - gc->set_shift_atom(shiftatom,shiftatom); + gc->set_shift_atom(shiftatom_lo,shiftatom_hi); gc->set_zfactor(slab_volfactor); gc->setup_grid(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in, @@ -1692,12 +1696,6 @@ void _noopt PPPMDisp::allocate() gc->setup_comm(ngc_buf1,ngc_buf2); - printf("COUL GRID me %d IN %d %d: %d %d: %d %d\n",comm->me, - nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in); - printf("COUL GRID me %d OUT %d %d: %d %d: %d %d\n",comm->me, - nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out); - printf("COUL BUF me %d buf %d %d\n",comm->me,ngc_buf1,ngc_buf2); - if (differentiation_flag) npergrid = 1; else npergrid = 3; @@ -1805,7 +1803,7 @@ void _noopt PPPMDisp::allocate() gc6 = new Grid3d(lmp,world,nx_pppm_6,ny_pppm_6,nz_pppm_6); gc6->set_distance(0.5*neighbor->skin + qdist); gc6->set_stencil_atom(-nlower_6,nupper_6); - gc6->set_shift_atom(shiftatom_6,shiftatom_6); + gc6->set_shift_atom(shiftatom_lo_6,shiftatom_hi_6); gc6->set_zfactor(slab_volfactor); gc6->setup_grid(nxlo_in_6,nxhi_in_6,nylo_in_6,nyhi_in_6,nzlo_in_6,nzhi_in_6, @@ -1813,12 +1811,6 @@ void _noopt PPPMDisp::allocate() gc6->setup_comm(ngc6_buf1,ngc6_buf2); - printf("DISP GRID me %d IN %d %d: %d %d: %d %d\n",comm->me, - nxlo_in_6,nxhi_in_6,nylo_in_6,nyhi_in_6,nzlo_in_6,nzhi_in_6); - printf("DISP GRID me %d OUT %d %d: %d %d: %d %d\n",comm->me, - nxlo_out_6,nxhi_out_6,nylo_out_6,nyhi_out_6,nzlo_out_6,nzhi_out_6); - printf("DISP BUF me %d buf %d %d\n",comm->me,ngc6_buf1,ngc6_buf2); - if (function[1]) { if (differentiation_flag) npergrid6 = 1; else npergrid6 = 3; @@ -2729,7 +2721,7 @@ void PPPMDisp::set_grid_global() void PPPMDisp::set_grid_local(int order_either, int nx_either, int ny_either, int nz_either, double &shift_either, double &shiftone_either, - double &shiftatom_either, + double &shiftatom_lo_either,double &shiftatom_hi_either, int &nlower_either, int &nupper_either, int &nxlo_fft_either, int &nylo_fft_either, int &nzlo_fft_either, int &nxhi_fft_either, int &nyhi_fft_either, int &nzhi_fft_either) @@ -2749,6 +2741,19 @@ void PPPMDisp::set_grid_local(int order_either, nlower_either = -(order_either-1)/2; nupper_either = order_either/2; + // shiftatom lo/hi are passed to Grid3d to determine ghost cell extents + // shiftatom_lo = min shift on lo side + // shiftatom_hi = max shift on hi side + // for PPPMStagger, stagger value (0.0 or 0.5) also affects this + + if (order % 2) { + shiftatom_lo_either = 0.5; + shiftatom_hi_either = 0.5; + } else if (order % 2 == 0) { + shiftatom_lo_either = 0.0; + shiftatom_hi_either = 0.0; + } + // x-pencil decomposition of Coulomb FFT mesh // global indices range from 0 to N-1 // each proc owns entire x-dimension, clumps of columns in y,z dimensions diff --git a/src/KSPACE/pppm_disp.h b/src/KSPACE/pppm_disp.h index 3d4345679a..a222e041d9 100644 --- a/src/KSPACE/pppm_disp.h +++ b/src/KSPACE/pppm_disp.h @@ -64,14 +64,14 @@ class PPPMDisp : public KSpace { double delxinv, delyinv, delzinv, delvolinv; double delxinv_6, delyinv_6, delzinv_6, delvolinv_6; - double shift, shiftone, shiftatom; + double shift, shiftone, shiftatom_lo, shiftatom_hi; int nxlo_in, nylo_in, nzlo_in, nxhi_in, nyhi_in, nzhi_in; int nxlo_out, nylo_out, nzlo_out, nxhi_out, nyhi_out, nzhi_out; int nxlo_fft, nylo_fft, nzlo_fft, nxhi_fft, nyhi_fft, nzhi_fft; int nlower, nupper; int ngrid, nfft_brick, nfft, nfft_both; - double shift_6, shiftone_6, shiftatom_6; + double shift_6, shiftone_6, shiftatom_lo_6, shiftatom_hi_6; int nxlo_in_6, nylo_in_6, nzlo_in_6, nxhi_in_6, nyhi_in_6, nzhi_in_6; int nxlo_out_6, nylo_out_6, nzlo_out_6, nxhi_out_6, nyhi_out_6, nzhi_out_6; int nxlo_fft_6, nylo_fft_6, nzlo_fft_6, nxhi_fft_6, nyhi_fft_6, nzhi_fft_6; @@ -207,7 +207,7 @@ class PPPMDisp : public KSpace { void set_grid_global(); void set_grid_global_6(); - void set_grid_local(int, int, int, int, double &, double &, double &, + void set_grid_local(int, int, int, int, double &, double &, double &, double &, int &, int &, int &, int &, int &, int &, int &, int &); void set_init_g6(); void set_n_pppm_6(); From de090bf3d49988e3b13f44b2416ab567221036bd Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 8 Nov 2022 18:11:04 -0700 Subject: [PATCH 099/142] add doc line --- src/grid2d.cpp | 1 + src/grid3d.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/src/grid2d.cpp b/src/grid2d.cpp index 1f25f49187..79449eb525 100644 --- a/src/grid2d.cpp +++ b/src/grid2d.cpp @@ -217,6 +217,7 @@ void Grid2d::set_shift_atom(double shift_lo, double shift_hi) enable extra grid cells in Y factor = muliplication factor on box size Y and thus grid size factor > 1.0 when grid extends beyond Y box size (3.0 = tripled in size) + only enable yextra if factor > 1.0 default zextra = 0, factor = 1.0 (no extra grid cells in Y) ------------------------------------------------------------------------- */ diff --git a/src/grid3d.cpp b/src/grid3d.cpp index c0a3c66cd4..866c3120c7 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -231,6 +231,7 @@ void Grid3d::set_shift_atom(double shift_lo, double shift_hi) factor = muliplication factor on box size Z and thus grid size factor > 1.0 when grid extends beyond Z box size (3.0 = tripled in size) used by PPPM for 2d periodic slab geometries + only enable zextra if factor > 1.0 default zextra = 0, factor = 1.0 (no extra grid cells in Z) ------------------------------------------------------------------------- */ From e16aed28b62fb8d87d8b569ab6d8e70a7dc884c1 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 9 Nov 2022 09:20:19 -0700 Subject: [PATCH 100/142] debug --- src/KSPACE/msm.cpp | 12 ++++++++++++ src/KSPACE/pppm.cpp | 9 +++++---- src/KSPACE/pppm_dipole.cpp | 7 +++++++ src/KSPACE/pppm_disp.cpp | 16 +++++++++++++++- 4 files changed, 39 insertions(+), 5 deletions(-) diff --git a/src/KSPACE/msm.cpp b/src/KSPACE/msm.cpp index fbd00ea754..a8643840ec 100644 --- a/src/KSPACE/msm.cpp +++ b/src/KSPACE/msm.cpp @@ -612,6 +612,12 @@ void MSM::allocate() memory->create(gcall_buf1,npergrid*ngcall_buf1,"msm:gcall_buf1"); memory->create(gcall_buf2,npergrid*ngcall_buf2,"msm:gcall_buf2"); + printf("MSM ALL me %d IN %d %d: %d %d: %d %d\n",comm->me, + nxlo_in[0],nxhi_in[0],nylo_in[0],nyhi_in[0],nzlo_in[0],nzhi_in[0]); + printf("MSM ALL me %d OUT %d %d: %d %d: %d %d\n",comm->me, + nxlo_out[0],nxhi_out[0],nylo_out[0],nyhi_out[0],nzlo_out[0],nzhi_out[0]); + printf("MSM ALL me %d BUF %d %d\n",comm->me,ngcall_buf1,ngcall_buf2); + // allocate memory for each grid level for (int n = 0; n < levels; n++) { @@ -644,6 +650,12 @@ void MSM::allocate() memory->create(gc_buf1[n],npergrid*ngc_buf1[n],"msm:gc_buf1"); memory->create(gc_buf2[n],npergrid*ngc_buf2[n],"msm:gc_buf2"); + printf("MSM %d me %d IN %d %d: %d %d: %d %d\n",n,comm->me, + nxlo_in[n],nxhi_in[n],nylo_in[n],nyhi_in[n],nzlo_in[n],nzhi_in[n]); + printf("MSM %d me %d OUT %d %d: %d %d: %d %d\n",n,comm->me, + nxlo_out[n],nxhi_out[n],nylo_out[n],nyhi_out[n],nzlo_out[n],nzhi_out[n]); + printf("MSM %d me %d BUF %d %d\n",n,comm->me,ngc_buf1[n],ngc_buf2[n]); + } else { delete gc[n]; memory->destroy(gc_buf1[n]); diff --git a/src/KSPACE/pppm.cpp b/src/KSPACE/pppm.cpp index bfc5014a98..dadca6c12f 100644 --- a/src/KSPACE/pppm.cpp +++ b/src/KSPACE/pppm.cpp @@ -759,12 +759,13 @@ void PPPM::allocate() gc->setup_comm(ngc_buf1,ngc_buf2); - printf("COUL GRID me %d IN %d %d: %d %d: %d %d\n",comm->me, + printf("PPPM GRID me %d IN %d %d: %d %d: %d %d\n",comm->me, nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in); - printf("COUL GRID me %d OUT %d %d: %d %d: %d %d\n",comm->me, + printf("PPPM GRID me %d OUT %d %d: %d %d: %d %d\n",comm->me, nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out); - printf("COUL BUF me %d buf %d %d\n",comm->me,ngc_buf1,ngc_buf2); - + printf("PPPM GRID me %d BUG %d %d\n",comm->me, + ngc_buf1,ngc_buf2); + if (differentiation_flag) npergrid = 1; else npergrid = 3; diff --git a/src/KSPACE/pppm_dipole.cpp b/src/KSPACE/pppm_dipole.cpp index a2cab8c0d7..3139454669 100644 --- a/src/KSPACE/pppm_dipole.cpp +++ b/src/KSPACE/pppm_dipole.cpp @@ -547,6 +547,13 @@ void PPPMDipole::allocate() gc_dipole->setup_comm(ngc_buf1,ngc_buf2); + printf("PPPM DIPOLE me %d IN %d %d: %d %d: %d %d\n",comm->me, + nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in); + printf("PPPM DIPOLE me %d OUT %d %d: %d %d: %d %d\n",comm->me, + nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out); + printf("PPPM DIPOLE me %d BUG %d %d\n",comm->me, + ngc_buf1,ngc_buf2); + npergrid = 9; memory->create(gc_buf1,npergrid*ngc_buf1,"pppm:gc_buf1"); diff --git a/src/KSPACE/pppm_disp.cpp b/src/KSPACE/pppm_disp.cpp index d1f944e6eb..d902263e93 100644 --- a/src/KSPACE/pppm_disp.cpp +++ b/src/KSPACE/pppm_disp.cpp @@ -1696,7 +1696,14 @@ void _noopt PPPMDisp::allocate() gc->setup_comm(ngc_buf1,ngc_buf2); - if (differentiation_flag) npergrid = 1; + printf("PPPM/DISP COUL me %d IN %d %d: %d %d: %d %d\n",comm->me, + nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in); + printf("PPPM/DISP COUL me %d OUT %d %d: %d %d: %d %d\n",comm->me, + nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out); + printf("PPPM/DISP COUL me %d BUG %d %d\n",comm->me, + ngc_buf1,ngc_buf2); + + if (differentiation_flag) npergrid = 1; else npergrid = 3; memory->create(gc_buf1,npergrid*ngc_buf1,"pppm/disp:gc_buf1"); @@ -1811,6 +1818,13 @@ void _noopt PPPMDisp::allocate() gc6->setup_comm(ngc6_buf1,ngc6_buf2); + printf("PPPM/DISP LJ me %d IN %d %d: %d %d: %d %d\n",comm->me, + nxlo_in_6,nxhi_in_6,nylo_in_6,nyhi_in_6,nzlo_in_6,nzhi_in_6); + printf("PPPM/DISP LJ me %d OUT %d %d: %d %d: %d %d\n",comm->me, + nxlo_out_6,nxhi_out_6,nylo_out_6,nyhi_out_6,nzlo_out_6,nzhi_out_6); + printf("PPPM/DISP LJ me %d BUG %d %d\n",comm->me, + ngc6_buf1,ngc6_buf2); + if (function[1]) { if (differentiation_flag) npergrid6 = 1; else npergrid6 = 3; From cd5d41868f4a9cab5642b6dfd21db62a0f6f1062 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 9 Nov 2022 09:54:04 -0700 Subject: [PATCH 101/142] remove debug statements --- src/KSPACE/msm.cpp | 12 ------------ src/KSPACE/pppm.cpp | 7 ------- src/KSPACE/pppm_dipole.cpp | 7 ------- src/KSPACE/pppm_disp.cpp | 14 -------------- src/grid2d.cpp | 3 --- 5 files changed, 43 deletions(-) diff --git a/src/KSPACE/msm.cpp b/src/KSPACE/msm.cpp index a8643840ec..fbd00ea754 100644 --- a/src/KSPACE/msm.cpp +++ b/src/KSPACE/msm.cpp @@ -612,12 +612,6 @@ void MSM::allocate() memory->create(gcall_buf1,npergrid*ngcall_buf1,"msm:gcall_buf1"); memory->create(gcall_buf2,npergrid*ngcall_buf2,"msm:gcall_buf2"); - printf("MSM ALL me %d IN %d %d: %d %d: %d %d\n",comm->me, - nxlo_in[0],nxhi_in[0],nylo_in[0],nyhi_in[0],nzlo_in[0],nzhi_in[0]); - printf("MSM ALL me %d OUT %d %d: %d %d: %d %d\n",comm->me, - nxlo_out[0],nxhi_out[0],nylo_out[0],nyhi_out[0],nzlo_out[0],nzhi_out[0]); - printf("MSM ALL me %d BUF %d %d\n",comm->me,ngcall_buf1,ngcall_buf2); - // allocate memory for each grid level for (int n = 0; n < levels; n++) { @@ -650,12 +644,6 @@ void MSM::allocate() memory->create(gc_buf1[n],npergrid*ngc_buf1[n],"msm:gc_buf1"); memory->create(gc_buf2[n],npergrid*ngc_buf2[n],"msm:gc_buf2"); - printf("MSM %d me %d IN %d %d: %d %d: %d %d\n",n,comm->me, - nxlo_in[n],nxhi_in[n],nylo_in[n],nyhi_in[n],nzlo_in[n],nzhi_in[n]); - printf("MSM %d me %d OUT %d %d: %d %d: %d %d\n",n,comm->me, - nxlo_out[n],nxhi_out[n],nylo_out[n],nyhi_out[n],nzlo_out[n],nzhi_out[n]); - printf("MSM %d me %d BUF %d %d\n",n,comm->me,ngc_buf1[n],ngc_buf2[n]); - } else { delete gc[n]; memory->destroy(gc_buf1[n]); diff --git a/src/KSPACE/pppm.cpp b/src/KSPACE/pppm.cpp index dadca6c12f..0dc7ac9326 100644 --- a/src/KSPACE/pppm.cpp +++ b/src/KSPACE/pppm.cpp @@ -759,13 +759,6 @@ void PPPM::allocate() gc->setup_comm(ngc_buf1,ngc_buf2); - printf("PPPM GRID me %d IN %d %d: %d %d: %d %d\n",comm->me, - nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in); - printf("PPPM GRID me %d OUT %d %d: %d %d: %d %d\n",comm->me, - nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out); - printf("PPPM GRID me %d BUG %d %d\n",comm->me, - ngc_buf1,ngc_buf2); - if (differentiation_flag) npergrid = 1; else npergrid = 3; diff --git a/src/KSPACE/pppm_dipole.cpp b/src/KSPACE/pppm_dipole.cpp index 3139454669..a2cab8c0d7 100644 --- a/src/KSPACE/pppm_dipole.cpp +++ b/src/KSPACE/pppm_dipole.cpp @@ -547,13 +547,6 @@ void PPPMDipole::allocate() gc_dipole->setup_comm(ngc_buf1,ngc_buf2); - printf("PPPM DIPOLE me %d IN %d %d: %d %d: %d %d\n",comm->me, - nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in); - printf("PPPM DIPOLE me %d OUT %d %d: %d %d: %d %d\n",comm->me, - nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out); - printf("PPPM DIPOLE me %d BUG %d %d\n",comm->me, - ngc_buf1,ngc_buf2); - npergrid = 9; memory->create(gc_buf1,npergrid*ngc_buf1,"pppm:gc_buf1"); diff --git a/src/KSPACE/pppm_disp.cpp b/src/KSPACE/pppm_disp.cpp index d902263e93..29d4b0a1cc 100644 --- a/src/KSPACE/pppm_disp.cpp +++ b/src/KSPACE/pppm_disp.cpp @@ -1696,13 +1696,6 @@ void _noopt PPPMDisp::allocate() gc->setup_comm(ngc_buf1,ngc_buf2); - printf("PPPM/DISP COUL me %d IN %d %d: %d %d: %d %d\n",comm->me, - nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in); - printf("PPPM/DISP COUL me %d OUT %d %d: %d %d: %d %d\n",comm->me, - nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out); - printf("PPPM/DISP COUL me %d BUG %d %d\n",comm->me, - ngc_buf1,ngc_buf2); - if (differentiation_flag) npergrid = 1; else npergrid = 3; @@ -1818,13 +1811,6 @@ void _noopt PPPMDisp::allocate() gc6->setup_comm(ngc6_buf1,ngc6_buf2); - printf("PPPM/DISP LJ me %d IN %d %d: %d %d: %d %d\n",comm->me, - nxlo_in_6,nxhi_in_6,nylo_in_6,nyhi_in_6,nzlo_in_6,nzhi_in_6); - printf("PPPM/DISP LJ me %d OUT %d %d: %d %d: %d %d\n",comm->me, - nxlo_out_6,nxhi_out_6,nylo_out_6,nyhi_out_6,nzlo_out_6,nzhi_out_6); - printf("PPPM/DISP LJ me %d BUG %d %d\n",comm->me, - ngc6_buf1,ngc6_buf2); - if (function[1]) { if (differentiation_flag) npergrid6 = 1; else npergrid6 = 3; diff --git a/src/grid2d.cpp b/src/grid2d.cpp index 79449eb525..2820d4de1a 100644 --- a/src/grid2d.cpp +++ b/src/grid2d.cpp @@ -1694,9 +1694,6 @@ int Grid2d::compute_overlap(int ghostflag, int *box, int *pbc, Overlap *&overlap partition_tiled(overlap_list[m].proc,0,nprocs-1,obox); - if (me == 1) printf("OBOX: proc %d obox %d %d: %d %d\n", - overlap_list[m].proc,obox[0],obox[1],obox[2],obox[3]); - overlap_list[m].box[0] = MAX(box[0],obox[0]); overlap_list[m].box[1] = MIN(box[1],obox[1]); overlap_list[m].box[2] = MAX(box[2],obox[2]); From 4e36a81f2af19aa612cc40c7480788c0a43c9427 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 9 Nov 2022 10:05:24 -0700 Subject: [PATCH 102/142] clarify doc page --- doc/src/kspace_modify.rst | 62 ++++++++++++++++++++++++++------------- 1 file changed, 41 insertions(+), 21 deletions(-) diff --git a/doc/src/kspace_modify.rst b/doc/src/kspace_modify.rst index 3c6fccc285..2d3921e281 100644 --- a/doc/src/kspace_modify.rst +++ b/doc/src/kspace_modify.rst @@ -51,7 +51,6 @@ Syntax *slab* value = volfactor or *nozforce* volfactor = ratio of the total extended volume used in the 2d approximation compared with the volume of the simulation domain - *ew2d* EW2D correction (available with ELECTRODE package) *nozforce* turns off kspace forces in the z direction *splittol* value = tol tol = relative size of two eigenvalues (see discussion below) @@ -381,18 +380,22 @@ solver is set up. The *slab* keyword allows an Ewald or PPPM solver to be used for a systems that are periodic in x,y but non-periodic in z - a -:doc:`boundary ` setting of "boundary p p f". This is done by -treating the system as if it were periodic in z, but inserting empty -volume between atom slabs and removing dipole inter-slab interactions -so that slab-slab interactions are effectively turned off. The -volfactor value sets the ratio of the extended dimension in z divided -by the actual dimension in z. The recommended value is 3.0. A larger -value is inefficient; a smaller value introduces unwanted slab-slab +:doc:`boundary ` setting of "boundary p p f". This is done +by treating the system as if it were periodic in z, but inserting +empty volume between atom slabs and removing dipole inter-slab +interactions so that slab-slab interactions are effectively turned +off. The volfactor value sets the ratio of the extended dimension in +z divided by the actual dimension in z. It must be a value >= 1.0. A +value of 1.0 (the default) means the slab approximation is not used. + +The recommended value for volfactor is 3.0. A larger value is +inefficient; a smaller value introduces unwanted slab-slab interactions. The use of fixed boundaries in z means that the user must prevent particle migration beyond the initial z-bounds, typically by providing a wall-style fix. The methodology behind the *slab* -option is explained in the paper by :ref:`(Yeh) `. The *slab* option -is also extended to non-neutral systems :ref:`(Ballenegger) `. +option is explained in the paper by :ref:`(Yeh) `. The *slab* +option is also extended to non-neutral systems :ref:`(Ballenegger) +`. An alternative slab option can be invoked with the *nozforce* keyword in lieu of the volfactor. This turns off all kspace forces in the z @@ -402,8 +405,8 @@ boundaries can be set using :doc:`boundary ` (the slab approximation in not needed). The *slab* keyword is not currently supported by Ewald or PPPM when using a triclinic simulation cell. The slab correction has also been extended to point dipole interactions -:ref:`(Klapp) ` in :doc:`kspace_style ` *ewald/disp*, -*ewald/dipole*, and *pppm/dipole*\ . +:ref:`(Klapp) ` in :doc:`kspace_style ` +*ewald/disp*, *ewald/dipole*, and *pppm/dipole*\ . .. note:: @@ -448,15 +451,32 @@ Related commands Default """"""" -The option defaults are mesh = mesh/disp = 0 0 0, order = order/disp = -5 (PPPM), order = 10 (MSM), minorder = 2, overlap = yes, force = -1.0, -gewald = gewald/disp = 0.0, slab = 1.0, compute = yes, cutoff/adjust = -yes (MSM), pressure/scalar = yes (MSM), fftbench = no (PPPM), diff = -ik (PPPM), mix/disp = pair, force/disp/real = -1.0, force/disp/kspace -= -1.0, split = 0, tol = 1.0e-6, and disp/auto = no. For pppm/intel, -order = order/disp = 7. For scafacos settings, the scafacos tolerance -option depends on the method chosen, as documented above. The -scafacos fmm_tuning default = 0. +The option defaults are as follows: + +* compute = yes +* cutoff/adjust = yes (MSM) +* diff = ik (PPPM) +* disp/auto = no +* fftbench = no (PPPM) +* force = -1.0, +* force/disp/kspace = -1.0 +* force/disp/real = -1.0 +* gewald = gewald/disp = 0.0 +* mesh = mesh/disp = 0 0 0 +* minorder = 2 +* mix/disp = pair +* order = 10 (MSM) +* order = order/disp = 5 (PPPM) +* order = order/disp = 7 (PPPM/intel) +* overlap = yes +* pressure/scalar = yes (MSM) +* slab = 1.0 +* split = 0 +* tol = 1.0e-6 + +For scafacos settings, the scafacos tolerance option depends on the +method chosen, as documented above. The scafacos fmm_tuning default += 0. ---------- From a2435ea200f21d87ac2bbc4823338056a2bdfe59 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 14 Nov 2022 15:31:11 -0700 Subject: [PATCH 103/142] more work on dump grid/vtk --- doc/src/dump.rst | 495 +++++++++++++++++++++++------------------- src/dump_grid.cpp | 76 +++---- src/dump_grid.h | 9 +- src/dump_grid_vtk.cpp | 169 ++++++++++++++ src/dump_grid_vtk.h | 49 +++++ 5 files changed, 532 insertions(+), 266 deletions(-) create mode 100644 src/dump_grid_vtk.cpp create mode 100644 src/dump_grid_vtk.h diff --git a/doc/src/dump.rst b/doc/src/dump.rst index 281aca71fa..2b6c5f64b9 100644 --- a/doc/src/dump.rst +++ b/doc/src/dump.rst @@ -4,6 +4,7 @@ .. index:: dump custom .. index:: dump dcd .. index:: dump grid +.. index:: dump grid/vtk .. index:: dump local .. index:: dump xtc .. index:: dump yaml @@ -58,47 +59,48 @@ Syntax .. code-block:: LAMMPS - dump ID group-ID style N file args + dump ID group-ID style N file attribute1 attribute2 ... * ID = user-assigned name for the dump * group-ID = ID of the group of atoms to be dumped -* style = *atom* or *atom/adios* or *atom/gz* or *atom/zstd* or *atom/mpiio* or *cfg* or *cfg/gz* or *cfg/zstd* or *cfg/mpiio* or *cfg/uef* or *custom* or *custom/gz* or *custom/zstd* or *custom/mpiio* or *custom/adios* or *dcd* or *grid* or *h5md* or *image* or *local* or *local/gz* or *local/zstd* or *molfile* or *movie* or *netcdf* or *netcdf/mpiio* or *vtk* or *xtc* or *xyz* or *xyz/gz* or *xyz/zstd* or *xyz/mpiio* or *yaml* +* style = *atom* or *atom/adios* or *atom/gz* or *atom/zstd* or *atom/mpiio* or *cfg* or *cfg/gz* or *cfg/zstd* or *cfg/mpiio* or *cfg/uef* or *custom* or *custom/gz* or *custom/zstd* or *custom/mpiio* or *custom/adios* or *dcd* or *grid* or *grid/vtk* or *h5md* or *image* or *local* or *local/gz* or *local/zstd* or *molfile* or *movie* or *netcdf* or *netcdf/mpiio* or *vtk* or *xtc* or *xyz* or *xyz/gz* or *xyz/zstd* or *xyz/mpiio* or *yaml* * N = dump on timesteps which are multiples of N * file = name of file to write dump info to -* args = list of arguments for a particular style +* attribute1,filel2,... = list of attributes for a particular style .. parsed-literal:: - *atom* args = none - *atom/adios* args = none, discussed on :doc:`dump atom/adios ` page - *atom/gz* args = none - *atom/zstd* args = none - *atom/mpiio* args = none - *cfg* args = same as *custom* args, see below - *cfg/gz* args = same as *custom* args, see below - *cfg/zstd* args = same as *custom* args, see below - *cfg/mpiio* args = same as *custom* args, see below - *cfg/uef* args = same as *custom* args, discussed on :doc:`dump cfg/uef ` page - *custom*, *custom/gz*, *custom/zstd*, *custom/mpiio* args = see below - *custom/adios* args = same as *custom* args, discussed on :doc:`dump custom/adios ` page - *dcd* args = none - *h5md* args = discussed on :doc:`dump h5md ` page - *grid* args = see below - *image* args = discussed on :doc:`dump image ` page - *local*, *local/gz*, *local/zstd* args = see below - *molfile* args = discussed on :doc:`dump molfile ` page - *movie* args = discussed on :doc:`dump image ` page - *netcdf* args = discussed on :doc:`dump netcdf ` page - *netcdf/mpiio* args = discussed on :doc:`dump netcdf ` page - *vtk* args = same as *custom* args, see below, also :doc:`dump vtk ` page - *xtc* args = none - *xyz* args = none - *xyz/gz* args = none - *xyz/zstd* args = none - *xyz/mpiio* args = none - *yaml* args = same as *custom* args, see below + *atom* attributes = none + *atom/adios* attributes = none, discussed on :doc:`dump atom/adios ` page + *atom/gz* attributes = none + *atom/zstd* attributes = none + *atom/mpiio* attributes = none + *cfg* attributes = same as *custom* attributes, see below + *cfg/gz* attributes = same as *custom* attributes, see below + *cfg/zstd* attributes = same as *custom* attributes, see below + *cfg/mpiio* attributes = same as *custom* attributes, see below + *cfg/uef* attributes = same as *custom* attributes, discussed on :doc:`dump cfg/uef ` page + *custom*, *custom/gz*, *custom/zstd*, *custom/mpiio* attributes = see below + *custom/adios* attributes = same as *custom* attributes, discussed on :doc:`dump custom/adios ` page + *dcd* attributes = none + *h5md* attributes = discussed on :doc:`dump h5md ` page + *grid* attributes = see below + *grid/vtk* attributes = see below + *image* attributes = discussed on :doc:`dump image ` page + *local*, *local/gz*, *local/zstd* attributes = see below + *molfile* attributes = discussed on :doc:`dump molfile ` page + *movie* attributes = discussed on :doc:`dump image ` page + *netcdf* attributes = discussed on :doc:`dump netcdf ` page + *netcdf/mpiio* attributes = discussed on :doc:`dump netcdf ` page + *vtk* attributes = same as *custom* attributes, see below, also :doc:`dump vtk ` page + *xtc* attributes = none + *xyz* attributes = none + *xyz/gz* attributes = none + *xyz/zstd* attributes = none + *xyz/mpiio* attributes = none + *yaml* attributes = same as *custom* attributes, see below -* *custom* or *custom/gz* or *custom/zstd* or *custom/mpiio* or *cfg* or *cfg/gz* or *cfg/zstd* or *cfg/mpiio* or *cfg/uef* or *netcdf* or *netcdf/mpiio* or *yaml* args = list of atom attributes +* *custom* or *custom/gz* or *custom/zstd* or *custom/mpiio* or *cfg* or *cfg/gz* or *cfg/zstd* or *cfg/mpiio* or *cfg/uef* or *netcdf* or *netcdf/mpiio* or *yaml* attributes: .. parsed-literal:: @@ -145,7 +147,7 @@ Syntax i2_name[I] = Ith column of custom integer array with name, I can include wildcard (see below) d2_name[I] = Ith column of custom floating point vector with name, I can include wildcard (see below) -* *local* or *local/gz* or *local/zstd* args = list of local attributes +* *local* or *local/gz* or *local/zstd* attributes: .. parsed-literal:: @@ -156,7 +158,7 @@ Syntax f_ID = local vector calculated by a fix with ID f_ID[I] = Ith column of local array calculated by a fix with ID, I can include wildcard (see below) -* *grid* args = list of grid attributes +* *grid* or *grid/vtk* attributes: .. parsed-literal:: @@ -190,24 +192,32 @@ Examples Description """"""""""" -Dump a snapshot of atom quantities to one or more files once every -:math:`N` timesteps in one of several styles. The *image* and *movie* -styles are the exception: the *image* style renders a JPG, PNG, or PPM -image file of the atom configuration every :math:`N` timesteps while -the *movie* style combines and compresses them into a movie file; both -are discussed in detail on the :doc:`dump image ` page. -The timesteps on which dump output is written can also be controlled -by a variable. See the :doc:`dump_modify every ` -command. +Dump a snapshot of quantities to one or more files once every +:math:`N` timesteps in one of several styles. The timesteps on which +dump output is written can also be controlled by a variable. See the +:doc:`dump_modify every ` command. + +Almost all the styles output per-atom data, i.e. one or more values +per atom. The exceptions are as follows. The *local* styles output +one or more values per bond (angle, dihedral, improper) or per pair of +interacting atoms (force or neighbor interactions). The *grid* styles +output one or more values per grid cell, which are produced by other +commands which overlay the simulation domain with a regular grid. See +the :doc:`Howto grid ` doc page for details. The *image* +style renders a JPG, PNG, or PPM image file of the system for each +snapshot, while the *movie* style combines and compresses the series +of images into a movie file; both styles are discussed in detail on +the :doc:`dump image ` page. Only information for atoms in the specified group is dumped. The -:doc:`dump_modify thresh and region and refresh ` commands -can also alter what atoms are included. Not all styles support -these options; see details on the :doc:`dump_modify ` doc page. +:doc:`dump_modify thresh and region and refresh ` +commands can also alter what atoms are included. Not all styles +support these options; see details on the :doc:`dump_modify +` doc page. -As described below, the filename determines the kind of output (text -or binary or gzipped, one big file or one per timestep, one big file -or multiple smaller files). +As described below, the filename determines the kind of output: text +or binary or gzipped, one big file or one per timestep, one file for +all the processors or multiple smaller files. .. note:: @@ -221,74 +231,54 @@ or multiple smaller files). .. note:: - Unless the :doc:`dump_modify sort ` option is - invoked, the lines of atom information written to dump files - (typically one line per atom) will be in an indeterminate order for - each snapshot. This is even true when running on a single processor, - if the :doc:`atom_modify sort ` option is on, which it is - by default. In this case atoms are re-ordered periodically during a - simulation, due to spatial sorting. It is also true when running in - parallel, because data for a single snapshot is collected from - multiple processors, each of which owns a subset of the atoms. + Unless the :doc:`dump_modify sort ` option is invoked, + the lines of atom or grid information written to dump files + (typically one line per atom or grid cell) will be in an + indeterminate order for each snapshot. This is even true when + running on a single processor, if the :doc:`atom_modify sort + ` option is on, which it is by default. In this case + atoms are re-ordered periodically during a simulation, due to + spatial sorting. It is also true when running in parallel, because + data for a single snapshot is collected from multiple processors, + each of which owns a subset of the atoms. -For the *atom*, *custom*, *cfg*, and *local* styles, sorting is off by -default. For the *dcd*, *xtc*, *xyz*, and *molfile* styles, sorting -by atom ID is on by default. See the :doc:`dump_modify ` -page for details. +For the *atom*, *custom*, *cfg*, *grid*, and *local* styles, sorting +is off by default. For the *dcd*, *grid/vtk*, *xtc*, *xyz*, and +*molfile* styles, sorting by atom ID or grid ID is on by default. See +the :doc:`dump_modify ` page for details. -The *atom/gz*, *cfg/gz*, *custom/gz*, *local/gz*, and *xyz/gz* styles -are identical in command syntax to the corresponding styles without -"gz", however, they generate compressed files using the zlib -library. Thus the filename suffix ".gz" is mandatory. This is an -alternative approach to writing compressed files via a pipe, as done by -the regular dump styles, which may be required on clusters where the -interface to the high-speed network disallows using the fork() library -call (which is needed for a pipe). For the remainder of this page, you -should thus consider the *atom* and *atom/gz* styles (etc.) to be -inter-changeable, with the exception of the required filename suffix. +The *style* keyword determines what kind of data is written to the +dump file(s) and in what format. -Similarly, the *atom/zstd*, *cfg/zstd*, *custom/zstd*, *local/zstd*, and -*xyz/zstd* styles are identical to the gz styles, but use the Zstd -compression library instead and require the ".zst" suffix. See the -:doc:`dump_modify ` page for details on how to control the -compression level in both variants. +Note that *atom*, *custom*, *dcd*, *xtc*, and *xyz* style dump files +can be read directly by `VMD `_, a +popular tool for viewing molecular systesm. -As explained below, the *atom/mpiio*, *cfg/mpiio*, *custom/mpiio*, and -*xyz/mpiio* styles are identical in command syntax and in the format of -the dump files they create, to the corresponding styles without "mpiio", -except the single dump file they produce is written in parallel via the -MPI-IO library. For the remainder of this page, you should thus -consider the *atom* and *atom/mpiio* styles (etc.) to be -inter-changeable. The one exception is how the filename is specified -for the MPI-IO styles, as explained below. +Likewise the `OVITO visualization tool `_, +popular for materials modeling, can read the *atom*, *custom*, and +*grid* style dump files. -.. warning:: - - The MPIIO package is currently unmaintained and has become - unreliable. Use with caution. - -The precision of values output to text-based dump files can be -controlled by the :doc:`dump_modify format ` command and -its options. +Note that settings made via the :doc:`dump_modify ` +command can also alter the format of individual values and content of +the dump file itself. This includes the precision of values output to +text-based dump files which is controlled by the :doc:`dump_modify +format ` command and its options. ---------- -The *style* keyword determines what atom quantities are written to the -file and in what format. Settings made via the -:doc:`dump_modify ` command can also alter the format of -individual values and the file itself. +Format of native LAMMPS format dump files: -The *atom*, *local*, and *custom* styles create files in a simple text -format that is self-explanatory when viewing a dump file. Some of the -LAMMPS post-processing tools described on the :doc:`Tools ` doc -page, including `Pizza.py `_, -work with this format, as does the :doc:`rerun ` command. +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 +:doc:`rerun ` command. See tools described on the :doc:`Tools +` doc page for examples, including `Pizza.py +`_. -For post-processing purposes the *atom*, *local*, and *custom* text -files are self-describing in the following sense. - -The dimensions of the simulation box are included in each snapshot. -For an orthogonal simulation box this information is formatted as: +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: .. parsed-literal:: @@ -330,10 +320,13 @@ 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. -The "ITEM: ATOMS" line in each snapshot lists column descriptors for -the per-atom lines that follow. For example, the descriptors would be -"id type xs ys zs" for the default *atom* style, and would be the atom -attributes you specify in the dump command for the *custom* style. +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 +lines that follow. For example, the descriptors would be "id type xs +ys zs" for the default *atom* style, and would be the atom attributes +you specify in the dump command for the *custom* style. Each +subsequent line will list the data for a single atom. For style *atom*, atom coordinates are written to the file, along with the atom ID and atom type. By default, atom coords are written in a @@ -346,12 +339,29 @@ added for each atom via dump_modify. Style *custom* allows you to specify a list of atom attributes to be written to the dump file for each atom. Possible attributes are listed above and will appear in the order specified. You cannot -specify a quantity that is not defined for a particular simulation---such as -*q* for atom style *bond*, since that atom style does not -assign charges. Dumps occur at the very end of a timestep, so atom -attributes will include effects due to fixes that are applied during -the timestep. An explanation of the possible dump custom attributes -is given below. +specify a quantity that is not defined for a particular +simulation---such as *q* for atom style *bond*, since that atom style +does not assign charges. Dumps occur at the very end of a timestep, +so atom attributes will include effects due to fixes that are applied +during the timestep. An explanation of the possible dump custom +attributes is given below. + +For style *grid* the extent of the Nx by Ny by Nz grid that overlays +the simulation domain is output with each snapshot: + +.. parsed-literal:: + + ITEM: GRID EXTENT + nx ny nz + +For 2d simulations, nz will be 1. There will also be an "ITEM: GRID +DATA" line which includes column descriptors for the per grid cell +data. Each subsequent line (Nx * Ny * Nz lines) will list the data +for a single grid cell. If grid cell IDs are included in the output +via the :doc:`compute property/grid ` command, +then the IDs will range from 1 to N = Nx*Ny*Nz. The ordering of IDs +is with the x index varying fastest, then the y index, and the z index +varying slowest. For style *local*, local output generated by :doc:`computes ` and :doc:`fixes ` is used to generate lines of output that is @@ -365,6 +375,17 @@ generate information on bonds, angles, etc. that can be cut and pasted directly into a data file read by the :doc:`read_data ` command. +---------- + +Dump files in other popular formats: + + +.. note:: + + This section only discusses file formats relevant to this doc page. + The top of this page has links to other dump commands (with their + own pages) which write files in additional popular formats. + Style *cfg* has the same command syntax as style *custom* and writes extended CFG format files, as used by the `AtomEye `_ visualization package. @@ -401,15 +422,15 @@ periodic box. Note that these coordinates may thus be far outside the box size stored with the snapshot. The *xtc* style writes XTC files, a compressed trajectory format used -by the GROMACS molecular dynamics package, and described -`here `_. +by the GROMACS molecular dynamics package, and described `here +`_. The precision used in XTC files can be adjusted via the :doc:`dump_modify ` command. The default value of 1000 means that coordinates are stored to 1/1000 nanometer accuracy. XTC -files are portable binary files written in the NFS XDR data format, -so that any machine which supports XDR should be able to read them. -The number of atoms per snapshot cannot change with the *xtc* style. -The *unwrap* option of the :doc:`dump_modify ` command allows +files are portable binary files written in the NFS XDR data format, so +that any machine which supports XDR should be able to read them. The +number of atoms per snapshot cannot change with the *xtc* style. The +*unwrap* option of the :doc:`dump_modify ` command allows XTC coordinates to be written "unwrapped" by the image flags for each atom. Unwrapped means that if the atom has passed through a periodic boundary one or more times, the value is printed for what the @@ -418,27 +439,39 @@ box. Note that these coordinates may thus be far outside the box size stored with the snapshot. The *xyz* style writes XYZ files, which is a simple text-based -coordinate format that many codes can read. Specifically it has -a line with the number of atoms, then a comment line that is -usually ignored followed by one line per atom with the atom type -and the :math:`x`-, :math:`y`-, and :math:`z`-coordinate of that atom. -You can use the :doc:`dump_modify element ` option to change the -output from using the (numerical) atom type to an element name (or some other -label). This will help many visualization programs to guess bonds and colors. +coordinate format that many codes can read. Specifically it has a line +with the number of atoms, then a comment line that is usually ignored +followed by one line per atom with the atom type and the :math:`x`-, +:math:`y`-, and :math:`z`-coordinate of that atom. You can use the +:doc:`dump_modify element ` option to change the output +from using the (numerical) atom type to an element name (or some other +label). This will help many visualization programs to guess bonds and +colors. + +The *grid/vtk* style writes VTK files for grid data on a regular +rectilinear grid. Its content is conceptually similar to that of the +text file produced by the *grid* style, except that it in an XML-based +format which visualization programs which support the VTK format can +read, e.g. the `ParaView tool `_. For this +style, there can only be 1 or 3 per grid cell attributes specified. +If it is a single value, it is a scalar quantity. If 3 values are +specified it is encoded in the VTK file as a vector quantity (for each +grid cell). The filename for this style must include a "\*" wildcard +character to produce one file per snapshot; see details below. .. versionadded:: 4May2022 Dump style *yaml* has the same command syntax as style *custom* and -writes YAML format files that can be easily parsed by a variety of data -processing tools and programming languages. Each timestep will be -written as a YAML "document" (i.e., starts with "---" and ends with +writes YAML format files that can be easily parsed by a variety of +data processing tools and programming languages. Each timestep will +be written as a YAML "document" (i.e., starts with "---" and ends with "..."). The style supports writing one file per timestep through the -"\*" wildcard but not multi-processor outputs with the "%" token in the -filename. In addition to per-atom data, :doc:`thermo ` data can -be included in the *yaml* style dump file using the :doc:`dump_modify -thermo yes `. The data included in the dump file uses the -"thermo" tag and is otherwise identical to data specified by the -:doc:`thermo_style ` command. +"\*" wildcard but not multi-processor outputs with the "%" token in +the filename. In addition to per-atom data, :doc:`thermo ` +data can be included in the *yaml* style dump file using the +:doc:`dump_modify thermo yes `. The data included in the +dump file uses the "thermo" tag and is otherwise identical to data +specified by the :doc:`thermo_style ` command. Below is an example for a YAML format dump created by the following commands. @@ -449,13 +482,13 @@ Below is an example for a YAML format dump created by the following commands. The tags "time", "units", and "thermo" are optional and enabled by the dump_modify command. The list under the "box" tag has three lines for -orthogonal boxes and four lines for triclinic boxes, where the first three are -the box boundaries and the fourth the three tilt factors (:math:`xy`, -:math:`xz`, :math:`yz`). The "thermo" data follows the format of the *yaml* -thermo style. The "keywords" tag lists the per-atom properties contained in -the "data" columns, which contain a list with one line per atom. The keywords -may be renamed using the dump_modify command same as for the *custom* dump -style. +orthogonal boxes and four lines for triclinic boxes, where the first +three are the box boundaries and the fourth the three tilt factors +(:math:`xy`, :math:`xz`, :math:`yz`). The "thermo" data follows the +format of the *yaml* thermo style. The "keywords" tag lists the +per-atom properties contained in the "data" columns, which contain a +list with one line per atom. The keywords may be renamed using the +dump_modify command same as for the *custom* dump style. .. code-block:: yaml @@ -493,11 +526,7 @@ style. ---------- -Note that *atom*, *custom*, *dcd*, *xtc*, and *xyz* style dump files -can be read directly by `VMD `_, a -popular molecular viewing program. - ----------- +Frequency of dump output: Dumps are performed on timesteps that are a multiple of :math:`N` (including timestep 0) and on the last timestep of a minimization if @@ -522,29 +551,35 @@ every/time ` command can be used. This can be useful when the timestep size varies during a simulation run, e.g. by use of the :doc:`fix dt/reset ` command. -The specified filename determines how the dump file(s) is written. -The default is to write one large text file, which is opened when the -dump command is invoked and closed when an :doc:`undump ` -command is used or when LAMMPS exits. For the *dcd* and *xtc* styles, -this is a single large binary file. +---------- -Dump filenames can contain two wildcard characters. If a "\*" -character appears in the filename, then one file per snapshot is -written and the "\*" character is replaced with the timestep value. -For example, tmp.dump.\* becomes tmp.dump.0, tmp.dump.10000, -tmp.dump.20000, etc. This option is not available for the *dcd* and -*xtc* styles. Note that the :doc:`dump_modify pad ` -command can be used to insure all timestep numbers are the same length -(e.g., 00010), which can make it easier to read a series of dump files -in order with some post-processing tools. +Dump filenames: + +The specified dump filename determines how the dump file(s) is +written. The default is to write one large text file, which is opened +when the dump command is invoked and closed when an :doc:`undump +` command is used or when LAMMPS exits. For the *dcd* and +*xtc* styles, this is a single large binary file. + +Many of the styles allow dump filenames to contain either or both of +two wildcard characters. If a "\*" character appears in the filename, +then one file per snapshot is written and the "\*" character is +replaced with the timestep value. For example, tmp.dump.\* becomes +tmp.dump.0, tmp.dump.10000, tmp.dump.20000, etc. This option is not +available for the *dcd* and *xtc* styles. Note that the +:doc:`dump_modify pad ` command can be used to insure all +timestep numbers are the same length (e.g., 00010), which can make it +easier to read a series of dump files in order with some +post-processing tools. If a "%" character appears in the filename, then each of P processors writes a portion of the dump file, and the "%" character is replaced -with the processor ID from :math:`0` to :math:`P-1`. For example, tmp.dump.% -becomes tmp.dump.0, tmp.dump.1, ... tmp.dump.:math:`P-1`, etc. This creates -smaller files and can be a fast mode of output on parallel machines that -support parallel I/O for output. This option is **not** available for the -*dcd*, *xtc*, *xyz*, and *yaml* styles. +with the processor ID from :math:`0` to :math:`P-1`. For example, +tmp.dump.% becomes tmp.dump.0, tmp.dump.1, ... tmp.dump.:math:`P-1`, +etc. This creates smaller files and can be a fast mode of output on +parallel machines that support parallel I/O for output. This option is +**not** available for the *dcd*, *xtc*, *xyz*, *grid/vtk*, and *yaml* +styles. By default, :math:`P` is the the number of processors, meaning one file per processor, but :math:`P` can be set to a smaller value via the *nfile* or @@ -555,47 +590,41 @@ when running on large numbers of processors. Note that using the "\*" and "%" characters together can produce a large number of small dump files! -For the *atom/mpiio*, *cfg/mpiio*, *custom/mpiio*, and *xyz/mpiio* -styles, a single dump file is written in parallel via the MPI-IO -library, which is part of the MPI standard for versions 2.0 and above. -Using MPI-IO requires two steps. First, build LAMMPS with its MPIIO -package installed, viz., - -.. code-block:: bash - - make yes-mpiio # installs the MPIIO package - make mpi # build LAMMPS for your platform - -Second, use a dump filename which contains ".mpiio". Note that it does -not have to end in ".mpiio", just contain those characters. Unlike -MPI-IO restart files, which must be both written and read using MPI-IO, -the dump files produced by these MPI-IO styles are identical in format -to the files produced by their non-MPI-IO style counterparts. This -means you can write a dump file using MPI-IO and use the :doc:`read_dump +For styles that end with *mpiio* an ".mpiio" must appear somewhere in +the specified filename. These styles write their dump file in +parallel via the MPI-IO library, which is part of the MPI standard for +versions 2.0 and above. Note these styles are identical in command +syntax to the corresponding styles without "mpiio". Likewise, the +dump files produced by these MPI-IO styles are identical in format to +the files produced by their non-MPI-IO style counterparts. This means +you can write a dump file using MPI-IO and use the :doc:`read_dump ` command or perform other post-processing, just as if the dump file was not written using MPI-IO. +Because MPI-IO dump files are one large file which all processors +write to, you cannot use the "%" wildcard character described above in +the filename. However you can use the ".bin" or ".lammpsbin" suffix +described below. Again, this file will be written in parallel and +have the same binary format as if it were written without MPI-IO. + .. warning:: - The MPIIO package is currently unmaintained and has become - unreliable. Use with caution. + The MPIIO package within LAMMPS is currently unmaintained and has + become unreliable. Use with caution. -Note that MPI-IO dump files are one large file which all processors -write to. You thus cannot use the "%" wildcard character described -above in the filename since that specifies generation of multiple files. -You can use the ".bin" or ".lammpsbin" suffix described below in an -MPI-IO dump file; again this file will be written in parallel and have -the same binary format as if it were written without MPI-IO. +---------- -If the filename ends with ".bin" or ".lammpsbin", the dump file (or -files, if "\*" or "%" is also used) is written in binary format. A -binary dump file will be about the same size as a text version, but will -typically write out much faster. Of course, when post-processing, you -will need to convert it back to text format (see the :ref:`binary2txt -tool `) or write your own code to read the binary file. The -format of the binary file can be understood by looking at the -:file:`tools/binary2txt.cpp` file. This option is only available for -the *atom* and *custom* styles. +Compression of dump file data: + +If the specified filename ends with ".bin" or ".lammpsbin", the dump +file (or files, if "\*" or "%" is also used) is written in binary +format. A binary dump file will be about the same size as a text +version, but will typically write out much faster. Of course, when +post-processing, you will need to convert it back to text format (see +the :ref:`binary2txt tool `) or write your own code to read +the binary file. The format of the binary file can be understood by +looking at the :file:`tools/binary2txt.cpp` file. This option is only +available for the *atom* and *custom* styles. If the filename ends with ".gz", the dump file (or files, if "\*" or "%" is also used) is written in gzipped format. A gzipped dump file will be @@ -603,19 +632,40 @@ about :math:`3\times` smaller than the text version, but will also take longer to write. This option is not available for the *dcd* and *xtc* styles. +Note that styles that end with *gz* are identical in command syntax to +the corresponding styles without "gz", however, they generate +compressed files using the zlib library. Thus the filename suffix +".gz" is mandatory. This is an alternative approach to writing +compressed files via a pipe, as done by the regular dump styles, which +may be required on clusters where the interface to the high-speed +network disallows using the fork() library call (which is needed for a +pipe). For the remainder of this page, you should thus consider the +*atom* and *atom/gz* styles (etc.) to be inter-changeable, with the +exception of the required filename suffix. + +Similarly, styles that end with *zstd* are identical to the gz styles, +but use the Zstd compression library instead and require a ".zst" +suffix. See the :doc:`dump_modify ` page for details on +how to control the compression level in both variants. + ---------- -Note that in the discussion which follows, for styles which can -reference values from a compute or fix or custom atom property, like the -*custom*\ , *cfg*\ , or *local* styles, the bracketed index :math:`i` -can be specified using a wildcard asterisk with the index to effectively -specify multiple values. This takes the form "\*" or "\*n" or "m\*" or -"m\*n". If :math:`N` is the number of columns in the array, then an -asterisk with no numeric values means all column indices from 1 to -:math:`N`. A leading asterisk means all indices from 1 to n -(inclusive). A trailing asterisk means all indices from m to :math:`N` -(inclusive). A middle asterisk means all indices from m to n -(inclusive). +Arguments for different styles: + +The sections below describe per-atom, local, and per grid cell +attibutes which can be used as arguments to the various styles. + +Note that in the discussion below, for styles which can reference +values from a compute or fix or custom atom property, like the +*custom*\ , *cfg*\ , *grid* or *local* styles, the bracketed index +:math:`i` can be specified using a wildcard asterisk with the index to +effectively specify multiple values. This takes the form "\*" or +"\*n" or "m\*" or "m\*n". If :math:`N` is the number of columns in +the array, then an asterisk with no numeric values means all column +indices from 1 to :math:`N`. A leading asterisk means all indices +from 1 to n (inclusive). A trailing asterisk means all indices from m +to :math:`N` (inclusive). A middle asterisk means all indices from m +to n (inclusive). Using a wildcard is the same as if the individual columns of the array had been listed one by one. For example, these two dump commands are @@ -631,8 +681,7 @@ command creates a per-atom array with six columns: ---------- -This section explains the atom attributes that can be specified as -part of the *custom* and *cfg* styles. +Per-atom attributes used as arguments to the *custom* and *cfg* styles: The *id*, *mol*, *proc*, *procp1*, *type*, *element*, *mass*, *vx*, *vy*, *vz*, *fx*, *fy*, *fz*, *q* attributes are self-explanatory. @@ -767,8 +816,7 @@ which could then be output into dump files. ---------- -This section explains the local attributes that can be specified as -part of the *local* style. +Attributes used as arguments to the *local* style: The *index* attribute can be used to generate an index number from 1 to N for each line written into the dump file, where N is the total @@ -823,8 +871,7 @@ the distance and energy of each bond: ---------- -This section explains the per-grid attributes that can be specified as -part of the *grid* style. +Attributes used as arguments to the *grid* and *grid/vtk* styles: The attributes that begin with *c_ID* and *f_ID* both take colon-separated fields *gname* and *dname*. These refer to a grid @@ -868,9 +915,9 @@ To write gzipped dump files, you must either compile LAMMPS with the See the :doc:`Build settings ` page for details. While a dump command is active (i.e., has not been stopped by using -the :doc:`undump command `), no commands may be used that will change -the timestep (e.g., :doc:`reset_timestep `). LAMMPS -will terminate with an error otherwise. +the :doc:`undump command `), no commands may be used that will +change the timestep (e.g., :doc:`reset_timestep `). +LAMMPS will terminate with an error otherwise. The *atom/gz*, *cfg/gz*, *custom/gz*, and *xyz/gz* styles are part of the COMPRESS package. They are only enabled if LAMMPS was built with diff --git a/src/dump_grid.cpp b/src/dump_grid.cpp index 94dfc124b9..71ddcee5f2 100644 --- a/src/dump_grid.cpp +++ b/src/dump_grid.cpp @@ -317,33 +317,6 @@ void DumpGrid::write_header(bigint ndump) /* ---------------------------------------------------------------------- */ -void DumpGrid::format_magic_string_binary() -{ - // use negative ntimestep as marker for new format - bigint fmtlen = strlen(MAGIC_STRING); - bigint marker = -fmtlen; - fwrite(&marker, sizeof(bigint), 1, fp); - fwrite(MAGIC_STRING, sizeof(char), fmtlen, fp); -} - -/* ---------------------------------------------------------------------- */ - -void DumpGrid::format_endian_binary() -{ - int endian = ENDIAN; - fwrite(&endian, sizeof(int), 1, fp); -} - -/* ---------------------------------------------------------------------- */ - -void DumpGrid::format_revision_binary() -{ - int revision = FORMAT_REVISION; - fwrite(&revision, sizeof(int), 1, fp); -} - -/* ---------------------------------------------------------------------- */ - void DumpGrid::header_unit_style_binary() { int len = 0; @@ -404,6 +377,9 @@ void DumpGrid::header_binary(bigint ndump) fwrite(&boxyhi,sizeof(double),1,fp); fwrite(&boxzlo,sizeof(double),1,fp); fwrite(&boxzhi,sizeof(double),1,fp); + fwrite(&nxgrid,sizeof(int),1,fp); + fwrite(&nygrid,sizeof(int),1,fp); + fwrite(&nzgrid,sizeof(int),1,fp); fwrite(&nfield,sizeof(int),1,fp); header_unit_style_binary(); @@ -433,6 +409,9 @@ void DumpGrid::header_binary_triclinic(bigint ndump) fwrite(&boxxy,sizeof(double),1,fp); fwrite(&boxxz,sizeof(double),1,fp); fwrite(&boxyz,sizeof(double),1,fp); + fwrite(&nxgrid,sizeof(int),1,fp); + fwrite(&nygrid,sizeof(int),1,fp); + fwrite(&nzgrid,sizeof(int),1,fp); fwrite(&nfield,sizeof(int),1,fp); header_unit_style_binary(); @@ -453,17 +432,14 @@ void DumpGrid::header_item(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{}\n",update->ntimestep); fmt::print(fp,"ITEM: BOX BOUNDS {}\n" "{:>1.16e} {:>1.16e}\n" "{:>1.16e} {:>1.16e}\n" "{:>1.16e} {:>1.16e}\n", boundstr,boxxlo,boxxhi,boxylo,boxyhi,boxzlo,boxzhi); - - fmt::print(fp,"ITEM: ATOMS {}\n",columns); + fmt::print(fp,"ITEM: GRID SIZE nx ny nz\n{} {} {}\n",nxgrid,nygrid,nzgrid); + fmt::print(fp,"ITEM: GRID CELLS {}\n",columns); } /* ---------------------------------------------------------------------- */ @@ -476,17 +452,41 @@ void DumpGrid::header_item_triclinic(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{}\n",update->ntimestep); fmt::print(fp,"ITEM: BOX BOUNDS xy xz yz {}\n" "{:>1.16e} {:>1.16e} {:>1.16e}\n" "{:>1.16e} {:>1.16e} {:>1.16e}\n" "{:>1.16e} {:>1.16e} {:>1.16e}\n", boundstr,boxxlo,boxxhi,boxxy,boxylo,boxyhi,boxxz,boxzlo,boxzhi,boxyz); + fmt::print(fp,"ITEM: GRID SIZE nx ny nz\n{} {} {}\n",nxgrid,nygrid,nzgrid); + fmt::print(fp,"ITEM: GRID CELLS {}\n",columns); +} - fmt::print(fp,"ITEM: ATOMS {}\n",columns); +/* ---------------------------------------------------------------------- */ + +void DumpGrid::format_magic_string_binary() +{ + // use negative ntimestep as marker for new format + bigint fmtlen = strlen(MAGIC_STRING); + bigint marker = -fmtlen; + fwrite(&marker, sizeof(bigint), 1, fp); + fwrite(MAGIC_STRING, sizeof(char), fmtlen, fp); +} + +/* ---------------------------------------------------------------------- */ + +void DumpGrid::format_endian_binary() +{ + int endian = ENDIAN; + fwrite(&endian, sizeof(int), 1, fp); +} + +/* ---------------------------------------------------------------------- */ + +void DumpGrid::format_revision_binary() +{ + int revision = FORMAT_REVISION; + fwrite(&revision, sizeof(int), 1, fp); } /* ---------------------------------------------------------------------- */ diff --git a/src/dump_grid.h b/src/dump_grid.h index 892e3270a7..019553264c 100644 --- a/src/dump_grid.h +++ b/src/dump_grid.h @@ -74,7 +74,7 @@ class DumpGrid : public Dump { int nylo_in, nyhi_in; int nzlo_in, nzhi_in; - // private methods + // methods void init_style() override; void write_header(bigint) override; @@ -93,9 +93,6 @@ class DumpGrid : public Dump { void header_unit_style_binary(); void header_time_binary(); void header_columns_binary(); - void format_magic_string_binary(); - void format_endian_binary(); - void format_revision_binary(); typedef void (DumpGrid::*FnPtrHeader)(bigint); FnPtrHeader header_choice; // ptr to write header functions @@ -104,6 +101,10 @@ class DumpGrid : public Dump { void header_item(bigint); void header_item_triclinic(bigint); + void format_magic_string_binary(); + void format_endian_binary(); + void format_revision_binary(); + typedef void (DumpGrid::*FnPtrWrite)(int, double *); FnPtrWrite write_choice; // ptr to write data functions void write_binary(int, double *); diff --git a/src/dump_grid_vtk.cpp b/src/dump_grid_vtk.cpp new file mode 100644 index 0000000000..c338e14333 --- /dev/null +++ b/src/dump_grid_vtk.cpp @@ -0,0 +1,169 @@ +// 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 "dump_grid_vtk.h" +#include "domain.h" +#include "error.h" +#include "memory.h" + +using namespace LAMMPS_NS; + +enum{SCALAR,VECTOR}; + +/* ---------------------------------------------------------------------- */ + +DumpGridVTK::DumpGridVTK(LAMMPS *lmp, int narg, char **arg) : + DumpGrid(lmp, narg, arg) +{ + if (binary || multiproc) error->all(FLERR,"Invalid dump grid/vtk filename"); + if (nfield != 1 && nfield != 3) + error->all(FLERR,"Dump grid/vtk requires one or three fields\n"); + + buffer_allow = 0; + buffer_flag = 0; + sort_flag = 1; + sortcol = 0; + + if (nfield == 1) mode = SCALAR; + else mode = VECTOR; + + xcoord = ycoord = zcoord = nullptr; +} + +/* ---------------------------------------------------------------------- */ + +DumpGridVTK::~DumpGridVTK() +{ + memory->destroy(xcoord); + memory->destroy(ycoord); + memory->destroy(zcoord); +} + +/* ---------------------------------------------------------------------- */ + +void DumpGridVTK::init_style() +{ + DumpGrid::init_style(); + + if (multifile == 0) + error->all(FLERR,"Dump grid/vtk requires one snapshot per file"); + if (sort_flag == 0 || sortcol > 0) + error->all(FLERR,"Dump grid/vtk requires sorting on IDs"); + if (domain->triclinic) + error->all(FLERR,"Dump grid/vtk does not support trclinic simulation boxes - " + "use dump grid instead"); + if (binary) error->all(FLERR,"Dump grid/vtk cannot write binary files\n"); + + if (!xcoord) { + memory->create(xcoord,nxgrid,"dumpgridVTK:xcoord"); + memory->create(ycoord,nygrid,"dumpgridVTK:ycoord"); + memory->create(zcoord,nzgrid,"dumpgridVTK:zcoord"); + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpGridVTK::write_header(bigint ndump) +{ + if (me) return; + + xyz_grid(); + + fprintf(fp,"\n"); + fprintf(fp,"\n",nxgrid,nygrid,nzgrid); + fprintf(fp,"\n",nxgrid,nygrid,nzgrid); + fprintf(fp,"\n"); + fprintf(fp,"\n"); + fprintf(fp,"\n"); + + // coords of center point of grid cells in each of xyz dimensions + + fprintf(fp,"\n"); + fprintf(fp,"\n"); + fprintf(fp,"\n"); + + fprintf(fp,"\n"); + + fprintf(fp,"\n"); + if (mode == SCALAR) + fprintf(fp,"\n"); + fprintf(fp,"\n"); + fprintf(fp,"\n"); + fprintf(fp,"\n"); + fprintf(fp,"\n"); +} + +/* ---------------------------------------------------------------------- */ + +void DumpGridVTK::write_data(int n, double *mybuf) +{ + int i,j; + + int m = 0; + for (i = 0; i < n; i++) { + for (j = 0; j < nfield; j++) { + if (vtype[j] == Dump::INT) fprintf(fp,vformat[j],static_cast (mybuf[m])); + else if (vtype[j] == Dump::DOUBLE) fprintf(fp,vformat[j],mybuf[m]); + else if (vtype[j] == Dump::BIGINT) fprintf(fp,vformat[j],static_cast (mybuf[m])); + m++; + } + fprintf(fp,"\n"); + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpGridVTK::xyz_grid() +{ + double *prd = domain->prd; + double *boxlo = domain->boxlo; + + double dx = domain->prd[0] / nxgrid; + double dy = domain->prd[1] / nygrid; + double dz = domain->prd[2] / nzgrid; + + for (int ix = 0; ix < nxgrid; ix++) + xcoord[ix] = boxlo[0] + (ix + 0.5) * dx; + + for (int iy = 0; iy < nygrid; iy++) + ycoord[iy] = boxlo[1] + (iy + 0.5) * dy; + + for (int iz = 0; iz < nzgrid; iz++) + zcoord[iz] = boxlo[2] + (iz + 0.5) * dz; +} diff --git a/src/dump_grid_vtk.h b/src/dump_grid_vtk.h new file mode 100644 index 0000000000..8c8c644a19 --- /dev/null +++ b/src/dump_grid_vtk.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 DUMP_CLASS +// clang-format off +DumpStyle(grid/vtk,DumpGridVTK); +// clang-format on +#else + +#ifndef LMP_DUMP_GRID_VTK_H +#define LMP_DUMP_GRID_VTK_H + +#include "dump_grid.h" + +namespace LAMMPS_NS { + +class DumpGridVTK : public DumpGrid { + public: + DumpGridVTK(class LAMMPS *, int, char **); + ~DumpGridVTK() override; + + protected: + int mode; + double *xcoord,*ycoord,*zcoord; + + // methods + + void init_style() override; + void write_header(bigint) override; + void write_data(int, double *) override; + void write_footer() override; + + void xyz_grid(); +}; + +} // namespace LAMMPS_NS + +#endif +#endif From df5cfd18eb987fb8d8091f4838603476469abf3a Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 16 Nov 2022 15:35:21 -0700 Subject: [PATCH 104/142] start adding support for dump image of grid cell values --- doc/src/dump_image.rst | 45 ++++++++++++++++++++++++++++----------- src/dump_grid_vtk.cpp | 48 ++++++++++++++++++++---------------------- src/dump_image.cpp | 38 +++++++++++++++++++++++++++++---- src/dump_image.h | 2 ++ 4 files changed, 92 insertions(+), 41 deletions(-) diff --git a/doc/src/dump_image.rst b/doc/src/dump_image.rst index bc2373afac..45bea21459 100644 --- a/doc/src/dump_image.rst +++ b/doc/src/dump_image.rst @@ -24,7 +24,7 @@ Syntax * color = atom attribute that determines color of each atom * diameter = atom attribute that determines size of each atom * zero or more keyword/value pairs may be appended -* keyword = *atom* or *adiam* or *bond* or *line* or *tri* or *body* or *fix* or *size* or *view* or *center* or *up* or *zoom* or *box* or *axes* or *subbox* or *shiny* or *ssao* +* keyword = *atom* or *adiam* or *bond* or *grid* or *line* or *tri* or *body* or *fix* or *size* or *view* or *center* or *up* or *zoom* or *box* or *axes* or *subbox* or *shiny* or *ssao* .. parsed-literal:: @@ -34,6 +34,14 @@ Syntax color = *atom* or *type* or *none* width = number or *atom* or *type* or *none* number = numeric value for bond width (distance units) + *grid* = per-grid value to use when coloring each grid cell + per-grid value = c_ID:gname:dname, c_ID:gname:dname[I], f_ID:gname:dname, f_ID:gname:dname[I] + gname = name of grid defined by compute or fix + dname = name of data field defined by compute or fix + c_ID = per-grid vector calculated by a compute with ID + c_ID[I] = Ith column of per-grid array calculated by a compute with ID + f_ID = per-grid vector calculated by a fix with ID + f_ID[I] = Ith column of per-grid array calculated by a fix with ID *line* = color width color = *type* width = numeric value for line width (distance units) @@ -95,7 +103,7 @@ Syntax dump_modify dump-ID keyword values ... * these keywords apply only to the *image* and *movie* styles and are documented on this page -* keyword = *acolor* or *adiam* or *amap* or *backcolor* or *bcolor* or *bdiam* or *boxcolor* or *color* or *bitrate* or *framerate* +* keyword = *acolor* or *adiam* or *amap* or *gmap* or *backcolor* or *bcolor* or *bdiam* or *bitrate* or *boxcolor* or *color* or *framerate* or *gmap* * see the :doc:`dump modify ` doc page for more general keywords .. parsed-literal:: @@ -134,15 +142,16 @@ Syntax *bdiam* args = type diam type = bond type or range of types (see below) diam = diameter of bonds of that type (distance units) + *bitrate* arg = rate + rate = target bitrate for movie in kbps *boxcolor* arg = color color = name of color for simulation box lines and processor sub-domain lines *color* args = name R G B name = name of color R,G,B = red/green/blue numeric values from 0.0 to 1.0 - *bitrate* arg = rate - rate = target bitrate for movie in kbps *framerate* arg = fps fps = frames per second for movie + *gmap* args = identical to *amap* args Examples """""""" @@ -214,7 +223,7 @@ Similarly, the format of the resulting movie is chosen with the and thus details have to be looked up in the `FFmpeg documentation `_. Typical examples are: .avi, .mpg, .m4v, .mp4, .mkv, .flv, .mov, .gif Additional settings of the movie -compression like bitrate and framerate can be set using the +compression like *bitrate* and *framerate* can be set using the dump_modify command as described below. To write out JPEG and PNG format files, you must build LAMMPS with @@ -300,13 +309,13 @@ settings, they are interpreted in the following way. If "vx", for example, is used as the *color* setting, then the color of the atom will depend on the x-component of its velocity. The association of a per-atom value with a specific color is determined by -a "color map", which can be specified via the dump_modify command, as -described below. The basic idea is that the atom-attribute will be -within a range of values, and every value within the range is mapped -to a specific color. Depending on how the color map is defined, that -mapping can take place via interpolation so that a value of -3.2 is -halfway between "red" and "blue", or discretely so that the value of --3.2 is "orange". +a "color map", which can be specified via the dump_modify amap +command, as described below. The basic idea is that the +atom-attribute will be within a range of values, and every value +within the range is mapped to a specific color. Depending on how the +color map is defined, that mapping can take place via interpolation so +that a value of -3.2 is halfway between "red" and "blue", or +discretely so that the value of -3.2 is "orange". If "vx", for example, is used as the *diameter* setting, then the atom will be rendered using the x-component of its velocity as the @@ -948,6 +957,17 @@ frequently. ---------- +The *gmap* keyword can be used with the dump image command, with its +*grid* keyword, to setup a color map. The color map is used to assign +a specific RGB (red/green/blue) color value to an individual grid cell +when it is drawn, based on the grid cell value, which is a numeric +quantity specified with the *grid* keyword. + +The arguments for the *gmap* keyword are identical to those for the +*amap* keyword (for atom coloring) described above. + +---------- + Restrictions """""""""""" @@ -1031,6 +1051,7 @@ The defaults for the dump_modify keywords specific to dump image and dump movie * boxcolor = yellow * color = 140 color names are pre-defined as listed below * framerate = 24 +* gmap = min max cf 0.0 2 min blue max red ---------- diff --git a/src/dump_grid_vtk.cpp b/src/dump_grid_vtk.cpp index c338e14333..d2a32ec160 100644 --- a/src/dump_grid_vtk.cpp +++ b/src/dump_grid_vtk.cpp @@ -56,7 +56,7 @@ void DumpGridVTK::init_style() { DumpGrid::init_style(); - if (multifile == 0) + if (multifile == 0) error->all(FLERR,"Dump grid/vtk requires one snapshot per file"); if (sort_flag == 0 || sortcol > 0) error->all(FLERR,"Dump grid/vtk requires sorting on IDs"); @@ -66,9 +66,9 @@ void DumpGridVTK::init_style() if (binary) error->all(FLERR,"Dump grid/vtk cannot write binary files\n"); if (!xcoord) { - memory->create(xcoord,nxgrid,"dumpgridVTK:xcoord"); - memory->create(ycoord,nygrid,"dumpgridVTK:ycoord"); - memory->create(zcoord,nzgrid,"dumpgridVTK:zcoord"); + memory->create(xcoord,nxgrid+1,"dumpgridVTK:xcoord"); + memory->create(ycoord,nygrid+1,"dumpgridVTK:ycoord"); + memory->create(zcoord,nzgrid+1,"dumpgridVTK:zcoord"); } } @@ -81,7 +81,7 @@ void DumpGridVTK::write_header(bigint ndump) xyz_grid(); fprintf(fp,"\n"); - fprintf(fp,"\n"); fprintf(fp,"\n",nxgrid,nygrid,nzgrid); fprintf(fp,"\n",nxgrid,nygrid,nzgrid); @@ -91,29 +91,27 @@ void DumpGridVTK::write_header(bigint ndump) // coords of center point of grid cells in each of xyz dimensions - fprintf(fp,"\n"); + for (int i = 0; i <= nxgrid; i++) fprintf(fp,"%g ",xcoord[i]); - fprintf(fp,"\n"); - fprintf(fp,"\n"); - fprintf(fp,"\n"); + fprintf(fp,"\n"); + for (int i = 0; i <= nygrid; i++) fprintf(fp,"%g ",ycoord[i]); - fprintf(fp,"\n"); - fprintf(fp,"\n"); - fprintf(fp,"\n"); + fprintf(fp,"\n"); + for (int i = 0; i <= nzgrid; i++) fprintf(fp,"%g ",zcoord[i]); - fprintf(fp,"\n"); - fprintf(fp,"\n"); + fprintf(fp,"\n\n"); fprintf(fp,"\n"); fprintf(fp,"\n"); if (mode == SCALAR) - fprintf(fp,"\n"); else if (mode == VECTOR) - fprintf(fp,"\n"); } /* ---------------------------------------------------------------------- */ @@ -158,12 +156,12 @@ void DumpGridVTK::xyz_grid() double dy = domain->prd[1] / nygrid; double dz = domain->prd[2] / nzgrid; - for (int ix = 0; ix < nxgrid; ix++) - xcoord[ix] = boxlo[0] + (ix + 0.5) * dx; + for (int ix = 0; ix <= nxgrid; ix++) + xcoord[ix] = boxlo[0] + ix*dx; - for (int iy = 0; iy < nygrid; iy++) - ycoord[iy] = boxlo[1] + (iy + 0.5) * dy; + for (int iy = 0; iy <= nygrid; iy++) + ycoord[iy] = boxlo[1] + iy*dy; - for (int iz = 0; iz < nzgrid; iz++) - zcoord[iz] = boxlo[2] + (iz + 0.5) * dz; + for (int iz = 0; iz <= nzgrid; iz++) + zcoord[iz] = boxlo[2] + iz*dz; } diff --git a/src/dump_image.cpp b/src/dump_image.cpp index 0259b44662..4247ebfa95 100644 --- a/src/dump_image.cpp +++ b/src/dump_image.cpp @@ -104,10 +104,10 @@ DumpImage::DumpImage(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[6],"type") == 0) adiam = TYPE; else if (strcmp(arg[6],"element") == 0) adiam = ELEMENT; - // create Image class with single colormap for atoms + // create Image class with two colormaps for atoms and grid cells // change defaults for 2d - image = new Image(lmp,1); + image = new Image(lmp,2); if (domain->dimension == 2) { image->theta = 0.0; @@ -118,6 +118,7 @@ DumpImage::DumpImage(LAMMPS *lmp, int narg, char **arg) : // set defaults for optional args atomflag = YES; + gridflag = NO; lineflag = triflag = bodyflag = fixflag = NO; if (atom->nbondtypes == 0) bondflag = NO; else { @@ -175,6 +176,14 @@ DumpImage::DumpImage(LAMMPS *lmp, int narg, char **arg) : else error->all(FLERR,"Illegal dump image command"); iarg += 3; + } else if (strcmp(arg[iarg],"grid") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal dump image command"); + gridflag = YES; + if (strcmp(arg[iarg+1],"type") == 0) lcolor = TYPE; + else error->all(FLERR,"Illegal dump image command"); + ldiam = NUMERIC; + ldiamvalue = utils::numeric(FLERR,arg[iarg+2],false,lmp); + iarg += 2; } else if (strcmp(arg[iarg],"line") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal dump image command"); @@ -576,6 +585,25 @@ void DumpImage::write() if (flag) error->all(FLERR,"Invalid color map min/max values"); } + // set minmax color range if using dynamic grid color map + + if (acolor == ATTRIBUTE && image->map_dynamic(1)) { + double two[2],twoall[2]; + double lo = BIG; + double hi = -BIG; + int m = 0; + for (int i = 0; i < nchoose; i++) { + lo = MIN(lo,buf[m]); + hi = MAX(hi,buf[m]); + m += size_one; + } + two[0] = -lo; + two[1] = hi; + MPI_Allreduce(two,twoall,2,MPI_DOUBLE,MPI_MAX,world); + int flag = image->map_minmax(0,-twoall[0],twoall[1]); + if (flag) error->all(FLERR,"Invalid color map min/max values"); + } + // create image on each proc, then merge them image->clear(); @@ -1217,7 +1245,7 @@ int DumpImage::modify_param(int narg, char **arg) return 3; } - if (strcmp(arg[0],"amap") == 0) { + if ((strcmp(arg[0],"amap") == 0) || (strcmp(arg[0],"gmap") == 0)) { if (narg < 6) error->all(FLERR,"Illegal dump_modify command"); if (strlen(arg[3]) != 2) error->all(FLERR,"Illegal dump_modify command"); int factor = 0; @@ -1229,7 +1257,9 @@ int DumpImage::modify_param(int narg, char **arg) if (nentry < 1) error->all(FLERR,"Illegal dump_modify command"); n = 6 + factor*nentry; if (narg < n) error->all(FLERR,"Illegal dump_modify command"); - int flag = image->map_reset(0,n-1,&arg[1]); + int flag; + if (strcmp(arg[0],"amap") == 0) flag = image->map_reset(0,n-1,&arg[1]); + if (strcmp(arg[0],"gmap") == 0) flag = image->map_reset(1,n-1,&arg[1]); if (flag) error->all(FLERR,"Illegal dump_modify command"); return n; } diff --git a/src/dump_image.h b/src/dump_image.h index 06dded2dbe..a455e5df19 100644 --- a/src/dump_image.h +++ b/src/dump_image.h @@ -41,6 +41,8 @@ class DumpImage : public DumpCustom { int acolor, adiam; // what determines color/diam of atoms double adiamvalue; // atom diameter value + int gridflag; // 0/1 for draw grid cells + int lineflag; // 0/1 for draw atoms as lines int lcolor, ldiam; // what determines color/diam of lines double ldiamvalue; // line diameter value From c9b431214c92c61b32ce5f8beded9787e690c930 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 17 Nov 2022 15:56:15 -0700 Subject: [PATCH 105/142] more work on dump image --- src/dump_grid.cpp | 35 ++++++++++- src/dump_image.cpp | 138 +++++++++++++++++++++++++++++++++++++------ src/dump_image.h | 19 ++++-- src/fix_ave_grid.cpp | 4 +- src/utils.cpp | 117 +++++++++++++++++++++++++++++++++++- src/utils.h | 13 +++- 6 files changed, 294 insertions(+), 32 deletions(-) diff --git a/src/dump_grid.cpp b/src/dump_grid.cpp index 71ddcee5f2..a11b042de4 100644 --- a/src/dump_grid.cpp +++ b/src/dump_grid.cpp @@ -26,9 +26,6 @@ #include "region.h" #include "update.h" -// DEBUG -#include "comm.h" - #include using namespace LAMMPS_NS; @@ -652,6 +649,37 @@ int DumpGrid::parse_fields(int narg, char **arg) for (int iarg = 0; iarg < narg; iarg++) { + char *id; + int igrid,idata,index; + + int iflag = + utils::check_grid_reference(igrid,idata,index,lmp); + //utils::check_grid_reference((char *) "Dump grid", + // arg[iarg],igrid,idata,index,lmp); + + // arg is not a Grid reference + + if (iflag < 0) return iarg; + + // grid reference is to a compute + + if (iflag == ArgInfo::COMPUTE) { + + + // grid reference is to a fix + + } else if (iflag == ArgInfo::FIX) { + + } + } + + return narg; +} + + + + +/* ArgInfo argi(arg[iarg], ArgInfo::COMPUTE | ArgInfo::FIX); argindex[iarg] = argi.get_index1(); auto name = argi.get_name(); @@ -762,6 +790,7 @@ int DumpGrid::parse_fields(int narg, char **arg) return narg; } +*/ /* ---------------------------------------------------------------------- add Compute to list of Compute objects used by dump diff --git a/src/dump_image.cpp b/src/dump_image.cpp index 4247ebfa95..f76368d0c4 100644 --- a/src/dump_image.cpp +++ b/src/dump_image.cpp @@ -21,10 +21,13 @@ #include "atom_vec_tri.h" #include "body.h" #include "comm.h" +#include "compute.h" #include "domain.h" #include "error.h" #include "fix.h" #include "force.h" +#include "grid2d.h" +#include "grid3d.h" #include "image.h" #include "input.h" #include "math_const.h" @@ -33,6 +36,7 @@ #include "modify.h" #include "molecule.h" #include "tokenizer.h" +#include "update.h" #include "variable.h" #include @@ -179,10 +183,14 @@ DumpImage::DumpImage(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg],"grid") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal dump image command"); gridflag = YES; - if (strcmp(arg[iarg+1],"type") == 0) lcolor = TYPE; - else error->all(FLERR,"Illegal dump image command"); - ldiam = NUMERIC; - ldiamvalue = utils::numeric(FLERR,arg[iarg+2],false,lmp); + + char *id; + int igrid,idata,index; + int iflag = + utils::check_grid_reference(igrid,idata,index,lmp); + // utils::check_grid_reference((char *) "Dump image", + // arg[iarg+1],igrid,idata,index,lmp); + iarg += 2; } else if (strcmp(arg[iarg],"line") == 0) { @@ -453,7 +461,23 @@ void DumpImage::init_style() DumpCustom::init_style(); - // check variables + // for grid output, find current ptr for compute or fix + // check that fix frequency is acceptable + + if (gridflag) { + if (id_grid_compute) { + grid_compute = modify->get_compute_by_id(id_grid_compute); + if (!grid_compute) + error->all(FLERR,"Could not find dump image grid compute ID {}",id_grid_compute); + } else if (id_grid_fix) { + grid_fix = modify->get_fix_by_id(id_grid_fix); + if (!grid_fix) error->all(FLERR,"Could not find dump image fix ID {}",id_grid_fix); + if (nevery % grid_fix->peratom_freq) + error->all(FLERR,"Dump image and grid fix not computed at compatible times"); + } + } + + // check image variables if (thetastr) { thetavar = input->variable->find(thetastr); @@ -562,7 +586,7 @@ void DumpImage::write() memory->create(buf,maxbuf*size_one,"dump:buf"); } - // pack buf with color & diameter + // pack atom buf with color & diameter pack(nullptr); @@ -582,26 +606,95 @@ void DumpImage::write() two[1] = hi; MPI_Allreduce(two,twoall,2,MPI_DOUBLE,MPI_MAX,world); int flag = image->map_minmax(0,-twoall[0],twoall[1]); - if (flag) error->all(FLERR,"Invalid color map min/max values"); + if (flag) error->all(FLERR,"Invalid atom color map min/max values"); + } + + // pack grid gbuf with grid cell values + // ngrid_mine = # of grid cells this proc owns + + if (gridflag) { + if (domain->dimension == 2) { + if (grid_compute) + grid2d = (Grid2d *) grid_compute->get_grid_by_index(grid_index); + else if (grid_fix) + grid2d = (Grid2d *) grid_fix->get_grid_by_index(grid_index); + grid2d->get_bounds_owned(nxlo_in,nxhi_in,nylo_in,nyhi_in); + } else { + if (grid_compute) + grid3d = (Grid3d *) grid_compute->get_grid_by_index(grid_index); + else if (grid_fix) + grid3d = (Grid3d *) grid_fix->get_grid_by_index(grid_index); + grid3d->get_bounds_owned(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in); + } + + // invoke Compute for per-grid quantities + // only if within a run or minimize + // else require the compute is current + // this prevents the compute from being invoked by the WriteDump class + + if (grid_compute) { + if (update->whichflag == 0) { + if (grid_compute->invoked_pergrid != update->ntimestep) + error->all(FLERR,"Grid compute {} used in dump image between runs is not current", + grid_compute->id); + } else { + if (!(grid_compute->invoked_flag & Compute::INVOKED_PERGRID)) { + grid_compute->compute_pergrid(); + grid_compute->invoked_flag |= Compute::INVOKED_PERGRID; + } + } + } + + // access grid data and load gbuf + + /* + if (index == 0) { + double **vec2d; + if (field2source[n] == COMPUTE) + vec2d = (double **) + compute[field2index[n]]->get_griddata_by_index(field2data[n]); + else if (field2source[n] == FIX) + vec2d = (double **) + fix[field2index[n]]->get_griddata_by_index(field2data[n]); + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) { + buf[n] = vec2d[iy][ix]; + n += size_one; + } + } else { + double ***array2d; + if (field2source[n] == COMPUTE) + array2d = (double ***) + compute[field2index[n]]->get_griddata_by_index(field2data[n]); + else if (field2source[n] == FIX) + array2d = (double ***) + fix[field2index[n]]->get_griddata_by_index(field2data[n]); + index--; + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) { + buf[n] = array2d[iy][ix][index]; + n += size_one; + } + } + */ + } // set minmax color range if using dynamic grid color map - if (acolor == ATTRIBUTE && image->map_dynamic(1)) { + if (gridflag && image->map_dynamic(1)) { double two[2],twoall[2]; double lo = BIG; double hi = -BIG; - int m = 0; - for (int i = 0; i < nchoose; i++) { - lo = MIN(lo,buf[m]); - hi = MAX(hi,buf[m]); - m += size_one; + for (int i = 0; i < ngrid_owned; i++) { + lo = MIN(lo,gbuf[i]); + hi = MAX(hi,gbuf[i]); } two[0] = -lo; two[1] = hi; MPI_Allreduce(two,twoall,2,MPI_DOUBLE,MPI_MAX,world); - int flag = image->map_minmax(0,-twoall[0],twoall[1]); - if (flag) error->all(FLERR,"Invalid color map min/max values"); + int flag = image->map_minmax(1,-twoall[0],twoall[1]); + if (flag) error->all(FLERR,"Invalid grid color map min/max values"); } // create image on each proc, then merge them @@ -702,8 +795,9 @@ void DumpImage::view_params() } /* ---------------------------------------------------------------------- - create image for atoms on this proc - every pixel has depth + create image for all data this proc owns + all procs draw simulation box edges if requested + every drawn pixel has depth so merge can decide which to keep ------------------------------------------------------------------------- */ void DumpImage::create_image() @@ -767,6 +861,16 @@ void DumpImage::create_image() } } + // render my grid cells + + if (gridflag) { + + + // draw 2 or 12 triangles + //image->draw_triangle(x,y,z,color); + + } + // render atoms that are lines if (lineflag) { diff --git a/src/dump_image.h b/src/dump_image.h index a455e5df19..c4ce2224f4 100644 --- a/src/dump_image.h +++ b/src/dump_image.h @@ -41,8 +41,6 @@ class DumpImage : public DumpCustom { int acolor, adiam; // what determines color/diam of atoms double adiamvalue; // atom diameter value - int gridflag; // 0/1 for draw grid cells - int lineflag; // 0/1 for draw atoms as lines int lcolor, ldiam; // what determines color/diam of lines double ldiamvalue; // line diameter value @@ -81,16 +79,27 @@ class DumpImage : public DumpCustom { double *diamtype, *diamelement, *bdiamtype; // per-type diameters double **colortype, **colorelement, **bcolortype; // per-type colors + int gridflag; // 0/1 for draw grid cells + class Grid2d *grid2d; + class Grid3d *grid3d; + char *id_grid_compute,*id_grid_fix; + class Compute *grid_compute; + class Fix *grid_fix; + int grid_index; + double *gbuf; + int nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in; + int ngrid_owned; + class AtomVecLine *avec_line; // ptrs to atom style (sub)classes class AtomVecTri *avec_tri; class AtomVecBody *avec_body; class Fix *fixptr; // ptr to Fix that provides image data - class Image *image; // class that renders each image + class Image *image; // class that renders each image - int *chooseghost; // extended choose array for comm - double **bufcopy; // buffer for communicating bond/atom info + int *chooseghost; // extended choose array for comm + double **bufcopy; // buffer for communicating bond/atom info int maxbufcopy; void init_style() override; diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index 06c0175503..fe28b9a8e2 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -312,7 +312,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : for (int i = 0; i < nvalues; i++) { if (which[i] == ArgInfo::COMPUTE) { - auto words = utils::parse_gridid(FLERR,ids[i],error); + auto words = utils::parse_grid_id(FLERR,ids[i],error); const auto &idcompute = words[0]; const auto &gname = words[1]; const auto &dname = words[2]; @@ -350,7 +350,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : } else if (which[i] == ArgInfo::FIX) { - auto words = utils::parse_gridid(FLERR,ids[i],error); + auto words = utils::parse_grid_id(FLERR,ids[i],error); const auto &idfix = words[0]; const auto &gname = words[1]; const auto &dname = words[2]; diff --git a/src/utils.cpp b/src/utils.cpp index c4d60a799b..77d3699f18 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -13,6 +13,7 @@ #include "utils.h" +#include "arg_info.h" #include "atom.h" #include "comm.h" #include "compute.h" @@ -632,7 +633,7 @@ int utils::expand_args(const char *file, int line, int narg, char **arg, int mod // match grids if (strmatch(word, "^[cf]_\\w+:\\w+:\\w+\\[\\d*\\*\\d*\\]")) { - auto gridid = utils::parse_gridid(FLERR, word, lmp->error); + auto gridid = utils::parse_grid_id(FLERR, word, lmp->error); size_t first = gridid[2].find('['); size_t second = gridid[2].find(']', first + 1); @@ -863,13 +864,123 @@ char *utils::expand_type(const char *file, int line, const std::string &str, int return nullptr; } +/* ---------------------------------------------------------------------- + Check grid reference for valid Compute or Fix which produces per-grid data + errstr = name of calling command used if error is generated + ref = grid reference as it appears in an input script + return arguments: + id = ID of compute or fix + igrid = index of which grid in compute/fix + idata = index of which data field in igrid + index = index into data field (0 for vector, 1-N for column of array) + method return = ArgInfo::COMPUTE or ArgInfo::FIX or -1 for neither + caller decides what to do if not COMPUTE or FIX +------------------------------------------------------------------------- */ + +//int check_grid_reference(char *errstr, char *ref, int &igrid, int &idata, int &index, +// LAMMPS *lmp) +int check_grid_reference(int &igrid, int &idata, int &index, LAMMPS *lmp) +{ + char *ref; + char *errstr; + + ArgInfo argi(ref, ArgInfo::COMPUTE | ArgInfo::FIX); + index = argi.get_index1(); + auto name = argi.get_name(); + + switch (argi.get_type()) { + + case ArgInfo::UNKNOWN: { + lmp->error->all(FLERR,"%s grid reference %s is invalid",errstr,ref); + } break; + + // compute value = c_ID + + case ArgInfo::COMPUTE: { + + // split name = idcompute:gname:dname into 3 strings + + auto words = utils::parse_grid_id(FLERR,name,lmp->error); + const auto &idcompute = words[0]; + const auto &gname = words[1]; + const auto &dname = words[2]; + + auto icompute = lmp->modify->get_compute_by_id(idcompute); + if (!icompute) lmp->error->all(FLERR,"%s compute ID {} not found",errstr,idcompute); + if (icompute->pergrid_flag == 0) + lmp->error->all(FLERR,"%s compute {} does not compute per-grid info",errstr,idcompute); + + int dim; + igrid = icompute->get_grid_by_name(gname,dim); + if (igrid < 0) + lmp->error->all(FLERR,"%s compute {} does not recognize grid name {}",errstr,idcompute,gname); + + int ncol; + idata = icompute->get_griddata_by_name(igrid,dname,ncol); + if (idata < 0) + lmp->error->all(FLERR,"%s compute {} does not recognize data name {}",errstr,idcompute,dname); + + if (argi.get_dim() == 0 && ncol) + lmp->error->all(FLERR,"%s compute {} data {} is not per-grid vector",errstr,idcompute,dname); + if (argi.get_dim() && ncol == 0) + lmp->error->all(FLERR,"%s compute {} data {} is not per-grid array",errstr,idcompute,dname); + if (argi.get_dim() && argi.get_index1() > ncol) + lmp->error->all(FLERR,"%s compute {} array {} is accessed out-of-range",errstr,idcompute,dname); + + //id = utils::strdup(idcompute); + return ArgInfo::COMPUTE; + } break; + + // fix value = f_ID + + case ArgInfo::FIX: { + + // split name = idfix:gname:dname into 3 strings + + auto words = utils::parse_grid_id(FLERR,name,lmp->error); + const auto &idfix = words[0]; + const auto &gname = words[1]; + const auto &dname = words[2]; + + auto ifix = lmp->modify->get_fix_by_id(idfix); + if (!ifix) lmp->error->all(FLERR,"%s fix ID {} not found",errstr,idfix); + if (ifix->pergrid_flag == 0) + lmp->error->all(FLERR,"%s fix {} does not compute per-grid info",errstr,idfix); + //if (nevery % ifix->pergrid_freq) + // lmp->error->all(FLERR,"%s fix {} not computed at compatible time",errstr,if); + + int dim; + int igrid = ifix->get_grid_by_name(gname,dim); + if (igrid < 0) + lmp->error->all(FLERR,"%s fix {} does not recognize grid name {}",errstr,idfix,gname); + + int ncol; + int idata = ifix->get_griddata_by_name(igrid,dname,ncol); + if (idata < 0) + lmp->error->all(FLERR,"%s fix {} does not recognize data name {}",errstr,idfix,dname); + + if (argi.get_dim() == 0 && ncol) + lmp->error->all(FLERR,"%s fix {} data {} is not per-grid vector",errstr,idfix,dname); + if (argi.get_dim() > 0 && ncol == 0) + lmp->error->all(FLERR,"%s fix {} data {} is not per-grid array",errstr,idfix,dname); + if (argi.get_dim() > 0 && argi.get_index1() > ncol) + lmp->error->all(FLERR,"%s fix {} array {} is accessed out-of-range",errstr,idfix,dname); + + //id = utils::strdup(idfix); + return ArgInfo::FIX; + } break; + } + + return -1; +} + /* ---------------------------------------------------------------------- Parse grid reference into id:gridname:dataname return vector of 3 substrings ------------------------------------------------------------------------- */ -std::vector utils::parse_gridid(const char *file, int line, const std::string &name, - Error *error) +std::vector utils::parse_grid_id(const char *file, int line, const std::string &name, + Error *error) { auto words = Tokenizer(name, ":").as_vector(); if (words.size() != 3) { diff --git a/src/utils.h b/src/utils.h index 8bf2c542ee..417884442a 100644 --- a/src/utils.h +++ b/src/utils.h @@ -379,6 +379,15 @@ namespace utils { char *expand_type(const char *file, int line, const std::string &str, int mode, LAMMPS *lmp); + + + + + //int check_grid_reference(char *errstr, char *ref, int &igrid, int &idata, int &index, + // LAMMPS *lmp); + int check_grid_reference(int &igrid, int &idata, int &index, LAMMPS *lmp); + + /*! Parse grid reference into 3 sub-strings * * Format of grid ID reference = id:gname:dname @@ -387,8 +396,8 @@ namespace utils { * \param name = complete grid ID * \return std::vector containing the 3 sub-strings */ - std::vector parse_gridid(const char *file, int line, const std::string &name, - Error *error); + std::vector parse_grid_id(const char *file, int line, const std::string &name, + Error *error); /*! Make C-style copy of string in new storage * From 3683f144a6cc2372b42aff047e0a3399048b7b5b Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 17 Nov 2022 16:32:15 -0700 Subject: [PATCH 106/142] fixed compile issue --- src/dump_grid.cpp | 5 ++--- src/dump_image.cpp | 5 ++--- src/utils.cpp | 12 ++++-------- src/utils.h | 5 ++--- 4 files changed, 10 insertions(+), 17 deletions(-) diff --git a/src/dump_grid.cpp b/src/dump_grid.cpp index a11b042de4..f897ee2047 100644 --- a/src/dump_grid.cpp +++ b/src/dump_grid.cpp @@ -653,9 +653,8 @@ int DumpGrid::parse_fields(int narg, char **arg) int igrid,idata,index; int iflag = - utils::check_grid_reference(igrid,idata,index,lmp); - //utils::check_grid_reference((char *) "Dump grid", - // arg[iarg],igrid,idata,index,lmp); + utils::check_grid_reference((char *) "Dump grid", + arg[iarg],igrid,idata,index,lmp); // arg is not a Grid reference diff --git a/src/dump_image.cpp b/src/dump_image.cpp index f76368d0c4..7b9ffbbd35 100644 --- a/src/dump_image.cpp +++ b/src/dump_image.cpp @@ -187,9 +187,8 @@ DumpImage::DumpImage(LAMMPS *lmp, int narg, char **arg) : char *id; int igrid,idata,index; int iflag = - utils::check_grid_reference(igrid,idata,index,lmp); - // utils::check_grid_reference((char *) "Dump image", - // arg[iarg+1],igrid,idata,index,lmp); + utils::check_grid_reference((char *) "Dump image", + arg[iarg+1],igrid,idata,index,lmp); iarg += 2; diff --git a/src/utils.cpp b/src/utils.cpp index 77d3699f18..ed5fd514b4 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -877,13 +877,9 @@ char *utils::expand_type(const char *file, int line, const std::string &str, int caller decides what to do if not COMPUTE or FIX ------------------------------------------------------------------------- */ -//int check_grid_reference(char *errstr, char *ref, int &igrid, int &idata, int &index, -// LAMMPS *lmp) -int check_grid_reference(int &igrid, int &idata, int &index, LAMMPS *lmp) +int utils::check_grid_reference(char *errstr, char *ref, int &igrid, int &idata, int &index, + LAMMPS *lmp) { - char *ref; - char *errstr; - ArgInfo argi(ref, ArgInfo::COMPUTE | ArgInfo::FIX); index = argi.get_index1(); auto name = argi.get_name(); @@ -900,7 +896,7 @@ int check_grid_reference(int &igrid, int &idata, int &index, LAMMPS *lmp) // split name = idcompute:gname:dname into 3 strings - auto words = utils::parse_grid_id(FLERR,name,lmp->error); + auto words = parse_grid_id(FLERR,name,lmp->error); const auto &idcompute = words[0]; const auto &gname = words[1]; const auto &dname = words[2]; @@ -937,7 +933,7 @@ int check_grid_reference(int &igrid, int &idata, int &index, LAMMPS *lmp) // split name = idfix:gname:dname into 3 strings - auto words = utils::parse_grid_id(FLERR,name,lmp->error); + auto words = parse_grid_id(FLERR,name,lmp->error); const auto &idfix = words[0]; const auto &gname = words[1]; const auto &dname = words[2]; diff --git a/src/utils.h b/src/utils.h index 417884442a..5ea11dbaf3 100644 --- a/src/utils.h +++ b/src/utils.h @@ -383,9 +383,8 @@ namespace utils { - //int check_grid_reference(char *errstr, char *ref, int &igrid, int &idata, int &index, - // LAMMPS *lmp); - int check_grid_reference(int &igrid, int &idata, int &index, LAMMPS *lmp); + int check_grid_reference(char *errstr, char *ref, int &igrid, int &idata, int &index, + LAMMPS *lmp); /*! Parse grid reference into 3 sub-strings From 9ab4c65f31bae022d4a657331e294ca26fb997d5 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 22 Nov 2022 16:40:39 -0700 Subject: [PATCH 107/142] more work on dump image --- src/dump_grid.cpp | 156 +++++--------------------- src/dump_image.cpp | 253 +++++++++++++++++++++++++++++++++++-------- src/dump_image.h | 10 +- src/fix_ave_grid.cpp | 131 ++++++---------------- src/utils.cpp | 44 ++++---- src/utils.h | 4 +- 6 files changed, 300 insertions(+), 298 deletions(-) diff --git a/src/dump_grid.cpp b/src/dump_grid.cpp index f897ee2047..f6b2214a2e 100644 --- a/src/dump_grid.cpp +++ b/src/dump_grid.cpp @@ -77,6 +77,10 @@ DumpGrid::DumpGrid(LAMMPS *lmp, int narg, char **arg) : dimension = domain->dimension; + // for 2d, set nzgrid = 1 for dump grid and grid/vtk files + + if (dimension == 2) nzgrid = 1; + // computes and fixes which the dump accesses ncompute = 0; @@ -269,9 +273,9 @@ void DumpGrid::init_style() int nxtmp,nytmp,nztmp; for (int i = 0; i < nfield; i++) { if (dimension == 2) { - if (field2source[i] == COMPUTE) - grid2d = (Grid2d *) compute[field2index[i]]->get_grid_by_index(field2grid[i]); - else + if (field2source[i] == COMPUTE) + grid2d = (Grid2d *) compute[field2index[i]]->get_grid_by_index(field2grid[i]); + else grid2d = (Grid2d *) fix[field2index[i]]->get_grid_by_index(field2grid[i]); if (i == 0) grid2d->get_size(nxgrid,nygrid); else { @@ -651,146 +655,40 @@ int DumpGrid::parse_fields(int narg, char **arg) char *id; int igrid,idata,index; - int iflag = utils::check_grid_reference((char *) "Dump grid", - arg[iarg],igrid,idata,index,lmp); + arg[iarg],nevery,id,igrid,idata,index,lmp); - // arg is not a Grid reference + // arg is not a valid Grid reference + // assume it's an additional dump grid option and return if (iflag < 0) return iarg; - - // grid reference is to a compute + + // grid reference is to a compute or fix if (iflag == ArgInfo::COMPUTE) { - - - // grid reference is to a fix - + auto icompute = lmp->modify->get_compute_by_id(id); + field2index[iarg] = add_compute(id,icompute); + field2source[iarg] = COMPUTE; } else if (iflag == ArgInfo::FIX) { - + auto ifix = modify->get_fix_by_id(id); + field2index[iarg] = add_fix(id,ifix); + field2source[iarg] = FIX; } + + delete [] id; + argindex[iarg] = index; + vtype[iarg] = Dump::DOUBLE; + field2grid[iarg] = igrid; + field2data[iarg] = idata; + + if (dimension == 2) pack_choice[iarg] = &DumpGrid::pack_grid2d; + else pack_choice[iarg] = &DumpGrid::pack_grid3d; } return narg; } - - - -/* - ArgInfo argi(arg[iarg], ArgInfo::COMPUTE | ArgInfo::FIX); - argindex[iarg] = argi.get_index1(); - auto name = argi.get_name(); - - switch (argi.get_type()) { - - case ArgInfo::UNKNOWN: { - error->all(FLERR,"Invalid attribute in dump grid command"); - } break; - - // compute value = c_ID - // if no trailing [], then arg is set to 0, else arg is int between [] - - case ArgInfo::COMPUTE: { - if (dimension == 2) pack_choice[iarg] = &DumpGrid::pack_grid2d; - else pack_choice[iarg] = &DumpGrid::pack_grid3d; - vtype[iarg] = Dump::DOUBLE; - field2source[iarg] = COMPUTE; - - // split name = idcompute:gname:dname into 3 strings - - auto words = utils::parse_gridid(FLERR,name,error); - const auto &idcompute = words[0]; - const auto &gname = words[1]; - const auto &dname = words[2]; - - auto icompute = modify->get_compute_by_id(idcompute); - if (!icompute) error->all(FLERR,"Could not find dump grid compute ID: {}",idcompute); - if (icompute->pergrid_flag == 0) - error->all(FLERR,"Dump grid compute {} does not compute per-grid info",idcompute); - - int dim; - int igrid = icompute->get_grid_by_name(gname,dim); - if (igrid < 0) - error->all(FLERR,"Dump grid compute {} does not recognize grid name {}",idcompute,gname); - - int ncol; - int idata = icompute->get_griddata_by_name(igrid,dname,ncol); - if (idata < 0) - error->all(FLERR,"Dump grid compute {} does not recognize data name {}",idcompute,dname); - - if (argi.get_dim() == 0 && ncol) - error->all(FLERR,"Dump grid compute {} data {} is not per-grid vector",idcompute,dname); - if (argi.get_dim() && ncol == 0) - error->all(FLERR,"Dump grid compute {} data {} is not per-grid array",idcompute,dname); - if (argi.get_dim() && argi.get_index1() > ncol) - error->all(FLERR,"Dump grid compute {} array {} is accessed out-of-range",idcompute,dname); - - field2index[iarg] = add_compute(idcompute,icompute); - field2grid[iarg] = igrid; - field2data[iarg] = idata; - - } break; - - // fix value = f_ID - // if no trailing [], then arg is set to 0, else arg is between [] - - case ArgInfo::FIX: { - if (dimension == 2) pack_choice[iarg] = &DumpGrid::pack_grid2d; - else pack_choice[iarg] = &DumpGrid::pack_grid3d; - vtype[iarg] = Dump::DOUBLE; - field2source[iarg] = FIX; - - // split name = idfix:gname:dname into 3 strings - - auto words = utils::parse_gridid(FLERR,name,error); - const auto &idfix = words[0]; - const auto &gname = words[1]; - const auto &dname = words[2]; - - auto ifix = modify->get_fix_by_id(idfix); - if (!ifix) error->all(FLERR,"Could not find dump grid fix ID: {}",idfix); - if (ifix->pergrid_flag == 0) - error->all(FLERR,"Dump grid fix {} does not compute per-grid info",idfix); - if (nevery % ifix->pergrid_freq) - error->all(FLERR,"Fix ID {} for dump grid not computed at compatible time",idfix); - - int dim; - int igrid = ifix->get_grid_by_name(gname,dim); - if (igrid < 0) - error->all(FLERR,"Dump grid fix {} does not recognize grid name {}",idfix,gname); - - int ncol; - int idata = ifix->get_griddata_by_name(igrid,dname,ncol); - if (idata < 0) - error->all(FLERR,"Dump grid fix {} does not recognize data name {}",idfix,dname); - - if (argi.get_dim() == 0 && ncol) - error->all(FLERR,"Dump grid fix {} data {} is not per-grid vector",idfix,dname); - if (argi.get_dim() > 0 && ncol == 0) - error->all(FLERR,"Dump grid fix {} data {} is not per-grid array",idfix,dname); - if (argi.get_dim() > 0 && argi.get_index1() > ncol) - error->all(FLERR,"Dump grid fix {} array {} is accessed out-of-range",idfix,dname); - - field2index[iarg] = add_fix(idfix,ifix); - field2grid[iarg] = igrid; - field2data[iarg] = idata; - - } break; - - // no match - - default: { - return iarg; - } break; - } - } - - return narg; -} -*/ - /* ---------------------------------------------------------------------- add Compute to list of Compute objects used by dump return index of where this Compute is in list diff --git a/src/dump_image.cpp b/src/dump_image.cpp index 7b9ffbbd35..95ab2be9f0 100644 --- a/src/dump_image.cpp +++ b/src/dump_image.cpp @@ -14,6 +14,7 @@ #include "dump_image.h" +#include "arg_info.h" #include "atom.h" #include "atom_vec.h" #include "atom_vec_body.h" @@ -124,6 +125,8 @@ DumpImage::DumpImage(LAMMPS *lmp, int narg, char **arg) : atomflag = YES; gridflag = NO; lineflag = triflag = bodyflag = fixflag = NO; + id_grid_compute = id_grid_fix = nullptr; + if (atom->nbondtypes == 0) bondflag = NO; else { bondflag = YES; @@ -188,8 +191,16 @@ DumpImage::DumpImage(LAMMPS *lmp, int narg, char **arg) : int igrid,idata,index; int iflag = utils::check_grid_reference((char *) "Dump image", - arg[iarg+1],igrid,idata,index,lmp); - + arg[iarg+1],nevery,id, + igrid,idata,index,lmp); + if (iflag < 0) error->all(FLERR,"Invalid grid reference in dump image command"); + + if (iflag == ArgInfo::COMPUTE) id_grid_compute = utils::strdup(id); + else if (iflag == ArgInfo::FIX) id_grid_fix = utils::strdup(id); + delete [] id; + grid_igrid = igrid; + grid_idata = idata; + grid_index = index; iarg += 2; } else if (strcmp(arg[iarg],"line") == 0) { @@ -432,6 +443,9 @@ DumpImage::DumpImage(LAMMPS *lmp, int narg, char **arg) : maxbufcopy = 0; chooseghost = nullptr; bufcopy = nullptr; + + maxgrid = 0; + gbuf = nullptr; } /* ---------------------------------------------------------------------- */ @@ -448,6 +462,7 @@ DumpImage::~DumpImage() delete [] bcolortype; memory->destroy(chooseghost); memory->destroy(bufcopy); + memory->destroy(gbuf); } /* ---------------------------------------------------------------------- */ @@ -609,21 +624,33 @@ void DumpImage::write() } // pack grid gbuf with grid cell values - // ngrid_mine = # of grid cells this proc owns - + // ngrid = # of grid cells this proc owns + if (gridflag) { if (domain->dimension == 2) { if (grid_compute) - grid2d = (Grid2d *) grid_compute->get_grid_by_index(grid_index); + grid2d = (Grid2d *) grid_compute->get_grid_by_index(grid_igrid); else if (grid_fix) - grid2d = (Grid2d *) grid_fix->get_grid_by_index(grid_index); + grid2d = (Grid2d *) grid_fix->get_grid_by_index(grid_igrid); + grid2d->get_size(nxgrid,nygrid); grid2d->get_bounds_owned(nxlo_in,nxhi_in,nylo_in,nyhi_in); + ngrid = (nxhi_in-nxlo_in+1) * (nyhi_in-nylo_in+1); } else { if (grid_compute) - grid3d = (Grid3d *) grid_compute->get_grid_by_index(grid_index); + grid3d = (Grid3d *) grid_compute->get_grid_by_index(grid_igrid); else if (grid_fix) - grid3d = (Grid3d *) grid_fix->get_grid_by_index(grid_index); + grid3d = (Grid3d *) grid_fix->get_grid_by_index(grid_igrid); + grid3d->get_size(nxgrid,nygrid,nzgrid); grid3d->get_bounds_owned(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in); + ngrid = (nxhi_in-nxlo_in+1) * (nyhi_in-nylo_in+1) * (nzhi_in-nzlo_in+1); + } + + // insure gbuf is large enough + + if (ngrid > maxgrid) { + memory->destroy(gbuf); + maxgrid = ngrid; + memory->create(gbuf,maxgrid,"dump/image:gbuf"); } // invoke Compute for per-grid quantities @@ -646,37 +673,65 @@ void DumpImage::write() // access grid data and load gbuf - /* - if (index == 0) { - double **vec2d; - if (field2source[n] == COMPUTE) - vec2d = (double **) - compute[field2index[n]]->get_griddata_by_index(field2data[n]); - else if (field2source[n] == FIX) - vec2d = (double **) - fix[field2index[n]]->get_griddata_by_index(field2data[n]); - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) { - buf[n] = vec2d[iy][ix]; - n += size_one; + if (domain->dimension == 2) { + if (grid_index == 0) { + double **vec2d; + if (grid_compute) + vec2d = (double **) + grid_compute->get_griddata_by_index(grid_idata); + else if (grid_fix) + vec2d = (double **) + grid_fix->get_griddata_by_index(grid_idata); + int n = 0; + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + gbuf[n++] = vec2d[iy][ix]; + } else { + double ***array2d; + if (grid_compute) + array2d = (double ***) + grid_compute->get_griddata_by_index(grid_idata); + else if (grid_fix) + array2d = (double ***) + grid_fix->get_griddata_by_index(grid_idata); + int index = grid_index - 1; + int n = 0; + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + gbuf[n++] = array2d[iy][ix][index]; + } + + } else if (domain->dimension == 3) { + if (grid_index == 0) { + double ***vec3d; + if (grid_compute) + vec3d = (double ***) + grid_compute->get_griddata_by_index(grid_idata); + else if (grid_fix) + vec3d = (double ***) + grid_fix->get_griddata_by_index(grid_idata); + int n = 0; + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + gbuf[n++] = vec3d[iz][iy][ix]; + } } else { - double ***array2d; - if (field2source[n] == COMPUTE) - array2d = (double ***) - compute[field2index[n]]->get_griddata_by_index(field2data[n]); - else if (field2source[n] == FIX) - array2d = (double ***) - fix[field2index[n]]->get_griddata_by_index(field2data[n]); - index--; - for (int iy = nylo_in; iy <= nyhi_in; iy++) - for (int ix = nxlo_in; ix <= nxhi_in; ix++) { - buf[n] = array2d[iy][ix][index]; - n += size_one; - } - } - */ - + double ****array3d; + if (grid_compute) + array3d = (double ****) + grid_compute->get_griddata_by_index(grid_idata); + else if (grid_fix) + array3d = (double ****) + grid_fix->get_griddata_by_index(grid_idata); + int index = grid_index - 1; + int n = 0; + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) + gbuf[n++] = array3d[iz][iy][ix][index]; + } } // set minmax color range if using dynamic grid color map @@ -685,7 +740,7 @@ void DumpImage::write() double two[2],twoall[2]; double lo = BIG; double hi = -BIG; - for (int i = 0; i < ngrid_owned; i++) { + for (int i = 0; i < ngrid; i++) { lo = MIN(lo,gbuf[i]); hi = MAX(hi,gbuf[i]); } @@ -861,13 +916,46 @@ void DumpImage::create_image() } // render my grid cells - + // 2 triangles for 2d rectangle, 12 triangles for 3d cube surface + // grid_cell_corners_2d/3d calculates orthogonal vs triclinic corner pts + // for 3d, outward normals on all 6 faces + if (gridflag) { - - - // draw 2 or 12 triangles - //image->draw_triangle(x,y,z,color); - + int n = 0; + if (domain->dimension == 2) { + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) { + grid_cell_corners_2d(ix,iy); + color = image->map_value2color(1,gbuf[n++]); + image->draw_triangle(gcorners[0],gcorners[1],gcorners[3],color); + image->draw_triangle(gcorners[0],gcorners[3],gcorners[2],color); + } + } else { + for (int iz = nzlo_in; iz <= nzhi_in; iz++) + for (int iy = nylo_in; iy <= nyhi_in; iy++) + for (int ix = nxlo_in; ix <= nxhi_in; ix++) { + grid_cell_corners_3d(ix,iy,iz); + color = image->map_value2color(1,gbuf[n++]); + // lower x face + image->draw_triangle(gcorners[0],gcorners[4],gcorners[6],color); + image->draw_triangle(gcorners[0],gcorners[6],gcorners[2],color); + // upper x face + image->draw_triangle(gcorners[1],gcorners[5],gcorners[7],color); + image->draw_triangle(gcorners[1],gcorners[7],gcorners[3],color); + // lower y face + image->draw_triangle(gcorners[0],gcorners[1],gcorners[5],color); + image->draw_triangle(gcorners[0],gcorners[5],gcorners[4],color); + // upper y face + image->draw_triangle(gcorners[2],gcorners[6],gcorners[7],color); + image->draw_triangle(gcorners[2],gcorners[7],gcorners[3],color); + // lower z face + image->draw_triangle(gcorners[0],gcorners[2],gcorners[3],color); + image->draw_triangle(gcorners[0],gcorners[3],gcorners[1],color); + // upper z face + image->draw_triangle(gcorners[4],gcorners[5],gcorners[7],color); + image->draw_triangle(gcorners[4],gcorners[7],gcorners[6],color); + } + } } // render atoms that are lines @@ -1266,6 +1354,83 @@ void DumpImage::create_image() /* ---------------------------------------------------------------------- */ +void DumpImage::grid_cell_corners_2d(int ix, int iy) +{ + double *boxlo = domain->boxlo; + double *prd = domain->prd; + + if (!domain->triclinic) { + double xdelta = prd[0] / nxgrid; + double ydelta = prd[1] / nygrid; + + int n = 0; + for (int y = 0; y < 2; y++) + for (int x = 0; x < 2; x++) { + gcorners[n][0] = boxlo[0] + (ix+x) * xdelta; + gcorners[n][1] = boxlo[1] + (iy+y) * ydelta; + n++; + } + + } else { + double lamda[3],xone[3]; + lamda[2] = 0.0; + + double dx = 1.0 / nxgrid; + double dy = 1.0 / nygrid; + + int n = 0; + for (int y = 0; y < 2; y++) + for (int x = 0; x < 2; x++) { + lamda[0] = (ix+x) * dx; + lamda[1] = (iy+y) * dy; + domain->lamda2x(lamda,gcorners[n++]); + } + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpImage::grid_cell_corners_3d(int ix, int iy, int iz) +{ + double *boxlo = domain->boxlo; + double *prd = domain->prd; + + if (!domain->triclinic) { + double xdelta = prd[0] / nxgrid; + double ydelta = prd[1] / nygrid; + double zdelta = prd[2] / nzgrid; + + int n = 0; + for (int z = 0; z < 2; z++) + for (int y = 0; y < 2; y++) + for (int x = 0; x < 2; x++) { + gcorners[n][0] = boxlo[0] + (ix+x) * xdelta; + gcorners[n][1] = boxlo[1] + (iy+y) * ydelta; + gcorners[n][2] = boxlo[2] + (iz+z) * zdelta; + n++; + } + + } else { + double lamda[3],xone[3]; + + double dx = 1.0 / nxgrid; + double dy = 1.0 / nygrid; + double dz = 1.0 / nzgrid; + + int n = 0; + for (int z = 0; z < 2; z++) + for (int y = 0; y < 2; y++) + for (int x = 0; x < 2; x++) { + lamda[0] = (ix+x) * dx; + lamda[1] = (iy+y) * dy; + lamda[2] = (iz+z) * dz; + domain->lamda2x(lamda,gcorners[n++]); + } + } +} + +/* ---------------------------------------------------------------------- */ + int DumpImage::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/) { diff --git a/src/dump_image.h b/src/dump_image.h index c4ce2224f4..0b3a44ead3 100644 --- a/src/dump_image.h +++ b/src/dump_image.h @@ -85,10 +85,12 @@ class DumpImage : public DumpCustom { char *id_grid_compute,*id_grid_fix; class Compute *grid_compute; class Fix *grid_fix; - int grid_index; - double *gbuf; + int grid_igrid,grid_idata,grid_index; + int nxgrid,nygrid,nzgrid; int nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in; - int ngrid_owned; + double *gbuf; + int ngrid,maxgrid; + double gcorners[8][3]; class AtomVecLine *avec_line; // ptrs to atom style (sub)classes class AtomVecTri *avec_tri; @@ -111,6 +113,8 @@ class DumpImage : public DumpCustom { void box_bounds(); void create_image(); + void grid_cell_corners_2d(int, int); + void grid_cell_corners_3d(int, int, int); }; } // namespace LAMMPS_NS diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index fe28b9a8e2..ed895ce533 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -59,6 +59,11 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : pergrid_freq = utils::inumeric(FLERR,arg[5],false,lmp); time_depend = 1; + if (nevery <= 0 || nrepeat <= 0 || pergrid_freq <= 0) + error->all(FLERR,"Illegal fix ave/grid command"); + if (pergrid_freq % nevery || nrepeat*nevery > pergrid_freq) + error->all(FLERR,"Illegal fix ave/grid command"); + // NOTE: allow Dxyz as well at some point ? nxgrid = utils::inumeric(FLERR,arg[6],false,lmp); @@ -135,21 +140,38 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : modeatom = 1; } else { + + // if arg is not a per-atom or per-grid value + // then it's an optional arg after the values + ArgInfo argi(arg[iarg]); + if (argi.get_type() == ArgInfo::NONE || argi.get_type() == ArgInfo::UNKNOWN) break; + if (argi.get_dim() > 1) error->all(FLERR,"Invalid fix ave/grid command"); - if (argi.get_type() == ArgInfo::NONE) break; - if ((argi.get_type() == ArgInfo::UNKNOWN) || (argi.get_dim() > 1)) - error->all(FLERR,"Invalid fix ave/grid command"); + // atom value has no colon + + if (!strchr(arg[iarg],':')) { + modeatom = 1; + ids[nvalues] = argi.copy_name(); + which[nvalues] = argi.get_type(); + argindex[nvalues] = argi.get_index1(); - which[nvalues] = argi.get_type(); - argindex[nvalues] = argi.get_index1(); - ids[nvalues] = argi.copy_name(); + // per-grid value has colons - if (strchr(ids[nvalues],':')) modegrid = 1; - else modeatom = 1; + } else { + modegrid = 1; - if (modegrid && which[nvalues] == ArgInfo::VARIABLE) - error->all(FLERR,"Fix ave/grid cannot use variable for grid info"); + int igrid,idata,index; + int iflag = + utils::check_grid_reference((char *) "Fix ave/grid", + arg[iarg],nevery,ids[nvalues],igrid,idata,index,lmp); + if (iflag < 0) error->all(FLERR,"Invalid grid reference in fix ave/grid command"); + + which[nvalues] = iflag; + value2grid[nvalues] = igrid; + value2data[nvalues] = idata; + argindex[nvalues] = index; + } } nvalues++; @@ -231,16 +253,11 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : memory->sfree(earg); } - // setup and error check + // more error checks // for fix inputs, check that fix frequency is acceptable dimension = domain->dimension; - if (nevery <= 0 || nrepeat <= 0 || pergrid_freq <= 0) - error->all(FLERR,"Illegal fix ave/grid command"); - if (pergrid_freq % nevery || nrepeat*nevery > pergrid_freq) - error->all(FLERR,"Illegal fix ave/grid command"); - if (nxgrid < 1 || nygrid < 1 || nzgrid < 1) error->all(FLERR,"Invalid fix ave/grid grid size"); if (dimension == 2 && nzgrid != 1) @@ -306,88 +323,6 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : } } - // setup and error checks for GRID mode - - if (modegrid) { - for (int i = 0; i < nvalues; i++) { - if (which[i] == ArgInfo::COMPUTE) { - - auto words = utils::parse_grid_id(FLERR,ids[i],error); - const auto &idcompute = words[0]; - const auto &gname = words[1]; - const auto &dname = words[2]; - - delete[] ids[i]; - ids[i] = utils::strdup(idcompute); - - auto icompute = modify->get_compute_by_id(idcompute); - if (!icompute) error->all(FLERR,"Could not find fix ave/grid compute ID: {}",idcompute); - if (icompute->pergrid_flag == 0) - error->all(FLERR,"Fix ave/grid compute {} does not compute per-grid info",idcompute); - - int dim; - int igrid = icompute->get_grid_by_name(gname,dim); - if (igrid < 0) - error->all(FLERR,"Fix ave/grid compute {} does not recognize grid name {}", - idcompute,gname); - - int ncol; - int idata = icompute->get_griddata_by_name(igrid,dname,ncol); - if (idata < 0) - error->all(FLERR,"Fix ave/grid compute {} does not recognize data name {}", - idcompute,dname); - - if (argindex[i] == 0 && ncol) - error->all(FLERR,"Fix ave/grid compute {} data {} is not per-grid vector",idcompute,dname); - if (argindex[i] && ncol == 0) - error->all(FLERR,"Fix ave/grid compute {} data {} is not per-grid array",idcompute,dname); - if (argindex[i] && argindex[i] > ncol) - error->all(FLERR,"Fix ave/grid compute {} array {} is accessed out-of-range", - idcompute,dname); - - value2grid[i] = igrid; - value2data[i] = idata; - - } else if (which[i] == ArgInfo::FIX) { - - auto words = utils::parse_grid_id(FLERR,ids[i],error); - const auto &idfix = words[0]; - const auto &gname = words[1]; - const auto &dname = words[2]; - - delete[] ids[i]; - ids[i] = utils::strdup(idfix); - - Fix *ifix = modify->get_fix_by_id(idfix); - if (!ifix) error->all(FLERR,"Could not find fix ave/grid fix ID: {}",idfix); - if (ifix->pergrid_flag == 0) - error->all(FLERR,"Fix ave/grid fix {} does not compute per-grid info",idfix); - if (nevery % ifix->pergrid_freq) - error->all(FLERR, "Fix ID {} for fix grid/atom not computed at compatible time",idfix); - - int dim; - int igrid = ifix->get_grid_by_name(gname,dim); - if (igrid < 0) - error->all(FLERR,"Fix ave/grid fix {} does not recognize grid name {}",idfix,gname); - - int ncol; - int idata = ifix->get_griddata_by_name(igrid,dname,ncol); - if (idata < 0) - error->all(FLERR,"Fix ave/grid fix {} does not recognize data name {}",idfix,dname); - - if (argindex[i] == 0 && ncol) - error->all(FLERR, "Fix ave/grid fix {} data {} is not per-grid vector",idfix,dname); - if (argindex[i] && ncol == 0) - error->all(FLERR,"Fix ave/grid fix {} data {} is not per-grid array",idfix,dname); - if (argindex[i] && argindex[i] > ncol) - error->all(FLERR,"Fix ave/grid fix {} array {} is accessed out-of-range",idfix,dname); - - value2grid[i] = igrid; - value2data[i] = idata; - } - } - } - // instantiate Grid class and buffers // allocate/zero per-grid data diff --git a/src/utils.cpp b/src/utils.cpp index ed5fd514b4..defe6f3a49 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -877,8 +877,8 @@ char *utils::expand_type(const char *file, int line, const std::string &str, int caller decides what to do if not COMPUTE or FIX ------------------------------------------------------------------------- */ -int utils::check_grid_reference(char *errstr, char *ref, int &igrid, int &idata, int &index, - LAMMPS *lmp) +int utils::check_grid_reference(char *errstr, char *ref, int nevery, + char *&id, int &igrid, int &idata, int &index, LAMMPS *lmp) { ArgInfo argi(ref, ArgInfo::COMPUTE | ArgInfo::FIX); index = argi.get_index1(); @@ -902,28 +902,28 @@ int utils::check_grid_reference(char *errstr, char *ref, int &igrid, int &idata, const auto &dname = words[2]; auto icompute = lmp->modify->get_compute_by_id(idcompute); - if (!icompute) lmp->error->all(FLERR,"%s compute ID {} not found",errstr,idcompute); + if (!icompute) lmp->error->all(FLERR,"{} compute ID {} not found",errstr,idcompute); if (icompute->pergrid_flag == 0) - lmp->error->all(FLERR,"%s compute {} does not compute per-grid info",errstr,idcompute); + lmp->error->all(FLERR,"{} compute {} does not compute per-grid info",errstr,idcompute); int dim; igrid = icompute->get_grid_by_name(gname,dim); if (igrid < 0) - lmp->error->all(FLERR,"%s compute {} does not recognize grid name {}",errstr,idcompute,gname); + lmp->error->all(FLERR,"{} compute {} does not recognize grid name {}",errstr,idcompute,gname); int ncol; idata = icompute->get_griddata_by_name(igrid,dname,ncol); if (idata < 0) - lmp->error->all(FLERR,"%s compute {} does not recognize data name {}",errstr,idcompute,dname); + lmp->error->all(FLERR,"{} compute {} does not recognize data name {}",errstr,idcompute,dname); if (argi.get_dim() == 0 && ncol) - lmp->error->all(FLERR,"%s compute {} data {} is not per-grid vector",errstr,idcompute,dname); + lmp->error->all(FLERR,"{} compute {} data {} is not per-grid vector",errstr,idcompute,dname); if (argi.get_dim() && ncol == 0) - lmp->error->all(FLERR,"%s compute {} data {} is not per-grid array",errstr,idcompute,dname); + lmp->error->all(FLERR,"{} compute {} data {} is not per-grid array",errstr,idcompute,dname); if (argi.get_dim() && argi.get_index1() > ncol) - lmp->error->all(FLERR,"%s compute {} array {} is accessed out-of-range",errstr,idcompute,dname); + lmp->error->all(FLERR,"{} compute {} array {} is accessed out-of-range",errstr,idcompute,dname); - //id = utils::strdup(idcompute); + id = utils::strdup(idcompute); return ArgInfo::COMPUTE; } break; @@ -939,30 +939,30 @@ int utils::check_grid_reference(char *errstr, char *ref, int &igrid, int &idata, const auto &dname = words[2]; auto ifix = lmp->modify->get_fix_by_id(idfix); - if (!ifix) lmp->error->all(FLERR,"%s fix ID {} not found",errstr,idfix); + if (!ifix) lmp->error->all(FLERR,"{} fix ID {} not found",errstr,idfix); if (ifix->pergrid_flag == 0) - lmp->error->all(FLERR,"%s fix {} does not compute per-grid info",errstr,idfix); - //if (nevery % ifix->pergrid_freq) - // lmp->error->all(FLERR,"%s fix {} not computed at compatible time",errstr,if); + lmp->error->all(FLERR,"{} fix {} does not compute per-grid info",errstr,idfix); + if (nevery % ifix->pergrid_freq) + lmp->error->all(FLERR,"{} fix {} not computed at compatible time",errstr,idfix); int dim; - int igrid = ifix->get_grid_by_name(gname,dim); + igrid = ifix->get_grid_by_name(gname,dim); if (igrid < 0) - lmp->error->all(FLERR,"%s fix {} does not recognize grid name {}",errstr,idfix,gname); + lmp->error->all(FLERR,"{} fix {} does not recognize grid name {}",errstr,idfix,gname); int ncol; - int idata = ifix->get_griddata_by_name(igrid,dname,ncol); + idata = ifix->get_griddata_by_name(igrid,dname,ncol); if (idata < 0) - lmp->error->all(FLERR,"%s fix {} does not recognize data name {}",errstr,idfix,dname); + lmp->error->all(FLERR,"{} fix {} does not recognize data name {}",errstr,idfix,dname); if (argi.get_dim() == 0 && ncol) - lmp->error->all(FLERR,"%s fix {} data {} is not per-grid vector",errstr,idfix,dname); + lmp->error->all(FLERR,"{} fix {} data {} is not per-grid vector",errstr,idfix,dname); if (argi.get_dim() > 0 && ncol == 0) - lmp->error->all(FLERR,"%s fix {} data {} is not per-grid array",errstr,idfix,dname); + lmp->error->all(FLERR,"{} fix {} data {} is not per-grid array",errstr,idfix,dname); if (argi.get_dim() > 0 && argi.get_index1() > ncol) - lmp->error->all(FLERR,"%s fix {} array {} is accessed out-of-range",errstr,idfix,dname); + lmp->error->all(FLERR,"{} fix {} array {} is accessed out-of-range",errstr,idfix,dname); - //id = utils::strdup(idfix); + id = utils::strdup(idfix); return ArgInfo::FIX; } break; } diff --git a/src/utils.h b/src/utils.h index 5ea11dbaf3..0f0fcb323e 100644 --- a/src/utils.h +++ b/src/utils.h @@ -383,8 +383,8 @@ namespace utils { - int check_grid_reference(char *errstr, char *ref, int &igrid, int &idata, int &index, - LAMMPS *lmp); + int check_grid_reference(char *errstr, char *ref, int nevery, + char *& id, int &igrid, int &idata, int &index, LAMMPS *lmp); /*! Parse grid reference into 3 sub-strings From dd8a14789b68289a9b6ce6f954b5043db89e68c7 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 23 Nov 2022 10:52:46 -0700 Subject: [PATCH 108/142] update docs for new image features --- doc/src/Howto_grid.rst | 47 ++++++++++++++++++++++++++---------------- src/utils.cpp | 8 ++++--- src/utils.h | 25 +++++++++++++++++----- 3 files changed, 54 insertions(+), 26 deletions(-) diff --git a/doc/src/Howto_grid.rst b/doc/src/Howto_grid.rst index efc19a2cb4..3b7e503f18 100644 --- a/doc/src/Howto_grid.rst +++ b/doc/src/Howto_grid.rst @@ -5,14 +5,14 @@ LAMMPS has internal capabilities to create uniformly spaced grids which overlay the simulation domain. For 2d and 3d simulations these are 2d and 3d grids respectively. Conceptually a grid can be thought of as a collection of grid cells, each of which has an associated grid -point. Internally, the grid point can either be a corner point of the -grid cell, or at its center. Each grid cell (or point) stores one or -more values (data). +point. Internally, the grid point is typically the center point of +the grid cell, though that is a coding option when using grids. Each +grid cell stores one or more values (data). The grid points and data they store are distributed across processors. -Each processor owns the grid points (and their data) that lie within -the spatial sub-domain of the processor. If needed for its -computations, it may also store ghost grid points with data. +Each processor owns the grid cells (and their data) whose grid points +lie within the spatial sub-domain of the processor. If needed for its +computations, it may also store ghost grid cells with their data. These grids can overlay orthogonal or triclinic simulation boxes; see the :doc:`Howto triclinic ` doc page for an @@ -27,31 +27,42 @@ box size, i.e. as set by the :doc:`boundary ` command for fixed or shrink-wrapped boundaries. If load-balancing is invoked by the :doc:`balance ` or -:doc:`fix balance ` commands, then the sub-domain owned by -a processor will change which would also change which grid points they -own. Some of the commands listed below support that operation; others -do not. Eventually we plan to have all commands which define and -store per-grid data support load-balancing. +:doc:`fix balance ` commands, then the sub-domain owned +by a processor will change which may also change which grid points +they own. + +Post-processing and visualization of per-grid data can be enabled by +the :doc:`dump grid `, :doc:`dump grid/vtk `, and +:doc:`dump image ` commands, the latter by using its +optional *grid* keyword. The `OVITO visualization tool +`_ also plans (as of Nov 2022) to add support +for visualizing per-grid data (along with atoms) using the :doc:`dump +grid ` output format. .. note:: For developers, distributed grids are implemented within the code via two classes: Grid2d and Grid3d. These partition the grid across processors and have methods which allow forward and reverse - communication of ghost grid data. If you write a new compute or - fix which needs a distributed grid, these are the classes to look - at. A new pair style could use a distributed grid by having a fix - define it. - + communication of ghost grid data as well as load balancing. If you + write a new compute or fix which needs a distributed grid, these + are the classes to look at. A new pair style could use a + distributed grid by having a fix define it. We plan (as of + Nov 2022) to add a section in the :doc:`Developer ` + section of the manual with a detailed description of how to use + these classes. + ---------- These are the commands which currently define or use distributed grids: -* :doc:`fix ave/grid ` - time average per-atom or per-grid values * :doc:`fix ttm/grid ` - store electron temperature on grid +* :doc:`fix ave/grid ` - time average per-atom or per-grid values * :doc:`compute property/grid ` - generate grid IDs and coords -* :doc:`dump grid ` - output per-grid values +* :doc:`dump grid ` - output per-grid values in LAMMPS format +* :doc:`dump grid/vtk ` - output per-grid values in VTK format +* :doc:`dump image grid ` - include colored grid in output images * :doc:`kspace_style pppm ` (and variants) - FFT grids * :doc:`kspace_style msm ` (and variants) - MSM grids diff --git a/src/utils.cpp b/src/utils.cpp index defe6f3a49..841877859a 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -868,13 +868,15 @@ char *utils::expand_type(const char *file, int line, const std::string &str, int Check grid reference for valid Compute or Fix which produces per-grid data errstr = name of calling command used if error is generated ref = grid reference as it appears in an input script + e.g. c_myCompute:grid:data[2], ditto for a fix + nevery = frequency at which caller will access fix, not used if a compute return arguments: id = ID of compute or fix - igrid = index of which grid in compute/fix - idata = index of which data field in igrid + igrid = index of which grid in compute/fix (0 to N-1) + idata = index of which data field in igrid (0 to N-1) index = index into data field (0 for vector, 1-N for column of array) method return = ArgInfo::COMPUTE or ArgInfo::FIX or -1 for neither - caller decides what to do if not COMPUTE or FIX + caller decides what to do if arg is not a COMPUTE or FIX reference ------------------------------------------------------------------------- */ int utils::check_grid_reference(char *errstr, char *ref, int nevery, diff --git a/src/utils.h b/src/utils.h index 0f0fcb323e..b88c93f463 100644 --- a/src/utils.h +++ b/src/utils.h @@ -379,13 +379,28 @@ namespace utils { char *expand_type(const char *file, int line, const std::string &str, int mode, LAMMPS *lmp); - - - + /*! Check grid reference for valid Compute or Fix which produces per-grid data + * + * This function checks if a command argument in the input script + * is a valid reference to per-grid data produced by a Compute or Fix. + * If it is, the ID of the compute/fix is returned which the caller must + * free with delete []. It also returns igrid/idata/index integers + * which allow the caller to access the per-grid data. + * A flag is also returned to indicate compute vs fix vs error. + * + * \param errstr name of calling command, e.g. "Fix ave/grid" + * \param ref per-grid reference from input script, e.g. "c_10:grid:data[2]" + * \param nevery frequency at which caller will access fix for per-grid info, + * ignored when reference is to a compute + * \param lmp pointer to top-level LAMMPS class instance + * \return id ID of Compute or Fix + * \return igrid which grid is referenced (0 to N-1) + * \return idata which data on grid is referenced (0 to N-1) + * \return index which column of data is referenced (0 for vec, 1-N for array) + * \return ArgINFO::COMPUTE or FIX or UNKNOWN or NONE */ int check_grid_reference(char *errstr, char *ref, int nevery, - char *& id, int &igrid, int &idata, int &index, LAMMPS *lmp); - + char *&id, int &igrid, int &idata, int &index, LAMMPS *lmp); /*! Parse grid reference into 3 sub-strings * From 76dbc498a038d30eae7263801962f2a90ad9f9ea Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 25 Nov 2022 15:03:03 -0700 Subject: [PATCH 109/142] doc tweaks --- doc/src/Howto_grid.rst | 46 +++++++++++++++++++++--------------------- src/grid2d.cpp | 8 ++++---- src/grid3d.cpp | 8 ++++---- 3 files changed, 31 insertions(+), 31 deletions(-) diff --git a/doc/src/Howto_grid.rst b/doc/src/Howto_grid.rst index 3b7e503f18..cc0819fa38 100644 --- a/doc/src/Howto_grid.rst +++ b/doc/src/Howto_grid.rst @@ -4,40 +4,39 @@ Distributed grids LAMMPS has internal capabilities to create uniformly spaced grids which overlay the simulation domain. For 2d and 3d simulations these are 2d and 3d grids respectively. Conceptually a grid can be thought -of as a collection of grid cells, each of which has an associated grid -point. Internally, the grid point is typically the center point of -the grid cell, though that is a coding option when using grids. Each -grid cell stores one or more values (data). +of as a collection of grid cells. Each grid cell can store one or +more values (data). -The grid points and data they store are distributed across processors. -Each processor owns the grid cells (and their data) whose grid points -lie within the spatial sub-domain of the processor. If needed for its -computations, it may also store ghost grid cells with their data. +The grid cells and data they store are distributed across processors. +Each processor owns the grid cells (and data) whose center points lie +within the spatial sub-domain of the processor. If needed for its +computations, a processor may also store ghost grid cells with their +data. -These grids can overlay orthogonal or triclinic simulation boxes; see -the :doc:`Howto triclinic ` doc page for an -explanation of the latter. For a triclinic box, the grid cells -conform to the shape of the simulation domain, e.g. parallelograms -instead of rectangles in 2d. +Distributed grids can overlay orthogonal or triclinic simulation +boxes; see the :doc:`Howto triclinic ` doc page for +an explanation of the latter. For a triclinic box, the grid cell +shape conforms to the shape of the simulation domain, +e.g. parallelograms instead of rectangles in 2d. If the box size or shape changes during a simulation, the grid changes with it, so that it always overlays the entire simulation domain. For non-periodic dimensions, the grid size in that dimension matches the -box size, i.e. as set by the :doc:`boundary ` command for -fixed or shrink-wrapped boundaries. +box size, as set by the :doc:`boundary ` command for fixed +or shrink-wrapped boundaries. If load-balancing is invoked by the :doc:`balance ` or :doc:`fix balance ` commands, then the sub-domain owned -by a processor will change which may also change which grid points -they own. +by a processor can change which may also change which grid cells they +own. -Post-processing and visualization of per-grid data can be enabled by +Post-processing and visualization of grid cell data can be enabled by the :doc:`dump grid `, :doc:`dump grid/vtk `, and -:doc:`dump image ` commands, the latter by using its -optional *grid* keyword. The `OVITO visualization tool +:doc:`dump image ` commands. The latter has an optional +*grid* keyword. The `OVITO visualization tool `_ also plans (as of Nov 2022) to add support -for visualizing per-grid data (along with atoms) using the :doc:`dump -grid ` output format. +for visualizing grid cell data (along with atoms) using :doc:`dump +grid ` output files as input. .. note:: @@ -63,6 +62,7 @@ grids: * :doc:`dump grid ` - output per-grid values in LAMMPS format * :doc:`dump grid/vtk ` - output per-grid values in VTK format * :doc:`dump image grid ` - include colored grid in output images +* :doc:`pair_style amoeba ` - FFT grids * :doc:`kspace_style pppm ` (and variants) - FFT grids * :doc:`kspace_style msm ` (and variants) - MSM grids @@ -75,7 +75,7 @@ sizes). Each grid can store one or more data fields. A data field can be a single value per grid point (per-grid vector) or multiple values per grid point (per-grid array). See the :doc:`Howto output ` doc page for an explanation of how per-grid data can -be generated by some commands and used by others. +be generated by some commands and used by other commands. A command accesses grid data from a compute or fix with the following syntax: diff --git a/src/grid2d.cpp b/src/grid2d.cpp index 2820d4de1a..5e43018e5f 100644 --- a/src/grid2d.cpp +++ b/src/grid2d.cpp @@ -230,8 +230,8 @@ void Grid2d::set_yfactor(double factor) /* ---------------------------------------------------------------------- set IDs of proc neighbors used in uniform local owned/ghost comm - called AFTER setup_grid() but BEFORE setup_comm() to override - the processor neighbors stored by extract_comm() + must be called BEFORE setup_comm() to override + the processor neighbors stored by extract_comm_info() ------------------------------------------------------------------------- */ void Grid2d::set_proc_neighs(int pxlo, int pxhi, int pylo, int pyhi) @@ -244,8 +244,8 @@ void Grid2d::set_proc_neighs(int pxlo, int pxhi, int pylo, int pyhi) /* ---------------------------------------------------------------------- set allocation dimensions of caller grid used by indices() to setup pack/unpack - called AFTER setup_grid() but BEFORE setup_comm() to override - the caller grid size set by setup_grid() and used in indices() + must be called BEFORE setup_comm() to override + the caller grid size used in indices() ------------------------------------------------------------------------- */ void Grid2d::set_caller_grid(int fxlo, int fxhi, int fylo, int fyhi) diff --git a/src/grid3d.cpp b/src/grid3d.cpp index 866c3120c7..1f5669b5f7 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -244,8 +244,8 @@ void Grid3d::set_zfactor(double factor) /* ---------------------------------------------------------------------- set IDs of proc neighbors used in uniform local owned/ghost comm - called AFTER setup_grid() but BEFORE setup_comm() to override - the processor neighbors stored by extract_comm() + must be called BEFORE setup_comm() to override + the processor neighbors stored by extract_comm_info() used by MSM to exclude non-participating procs for coarse grid comm ------------------------------------------------------------------------- */ @@ -262,8 +262,8 @@ void Grid3d::set_proc_neighs(int pxlo, int pxhi, int pylo, int pyhi, /* ---------------------------------------------------------------------- set allocation dimensions of caller grid used by indices() to setup pack/unpack - called AFTER setup_grid() but BEFORE setup_comm() to override - the caller grid size set by setup_grid() and used in indices() + must be called BEFORE setup_comm() to override + the caller grid size used in indices() used by MSM to allow a larger level 0 grid to be allocated with more ghost cells for other operations ------------------------------------------------------------------------- */ From bb7bfc7ee790d12d71b289964403495986a80afd Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 29 Nov 2022 16:14:05 -0700 Subject: [PATCH 110/142] developer doc page for distributed grids --- doc/src/Developer.rst | 1 + doc/src/Developer_grid.rst | 801 +++++++++++++++++++++++++++++++++++++ 2 files changed, 802 insertions(+) create mode 100644 doc/src/Developer_grid.rst diff --git a/doc/src/Developer.rst b/doc/src/Developer.rst index dc3fac94ce..406dd26f59 100644 --- a/doc/src/Developer.rst +++ b/doc/src/Developer.rst @@ -23,3 +23,4 @@ of time and requests from the LAMMPS user community. Classes Developer_platform Developer_utils + Developer_grid diff --git a/doc/src/Developer_grid.rst b/doc/src/Developer_grid.rst new file mode 100644 index 0000000000..a03df3f542 --- /dev/null +++ b/doc/src/Developer_grid.rst @@ -0,0 +1,801 @@ +Use of distributed grids within style classes +--------------------------------------------- + +The LAMMPS source code includes two classes which facilitate the +creation and use of distributed grids. These are the Grid2d and +Grid3d classes in the src/grid2d.cpp.h and src/grid3d.cpp.h files +respectively. As the names imply, they are used for 2d or 3d +simulations, as defined by the :doc:`dimension ` command. + +The :doc:`Howto_grid ` page gives an overview of how +distributed grids are defined from a user perspective, lists LAMMPS +commands which use them, and explains how grid cell data is referenced +from an input script. Please read that page first as it motivates the +coding details discussed here. + +This doc page is for users who wish to write new styles (input script +commands) which use distributed grids. There are a variety of +material models and analysis methods which use atoms (or +coarse-grained particles) and grids in tandem. + +A *distributed* grid means each processor owns a subset of the grid +cells. In LAMMPS, the subset for each processor will be a sub-block +of grid cells with low and high index bounds in each dimension of the +grid. The union of the sub-blocks across all processors is the global +grid. + +More specifically, a grid point is defined for each cell (by default +the center point), and a processor owns a grid cell if its point is +within the processor's spatial subdomain. The union of processor +subdomains is the global simulation box. If a grid point is on the +boundary of two subdomains, the lower processor owns the grid cell. A +processor may also store copies of ghost cells which surround its +owned cells. + +---------- + +Style commands which can define and use distributed grids include the +:doc:`compute `, :doc:`fix `, :doc:`pair `, +and :doc:`kspace ` styles. If you wish grid cell data +to persist across timesteps, then use a fix. If you wish grid cell +data to be accessible by other commands, then use a fix or compute. +Currently in LAMMPS, the :doc:`pair_style amoeba `, +:doc:`kspace_style pppm `, and :doc:`kspace_style msm +` commands use distributed grids but do not require +either of these capabilities; they thus create and use distributed +grids internally. Note that a pair style which needs grid cell data +to persist could be coded to work in tandem with a fix style which +provides that capability. + +The *size* of a grid is specified by the number of grid cells in each +dimension of the simulation domain. In any dimemsin the size can be +any value >= 1. Thus a 10x10x1 grid for a 3d simulation is +effectively a 2d grid, where each grid cell spans the entire +z-dimension. A 1x100x1 grid for a 3d simulation is effectively a 1d +grid, where grid cells are a series of thin xz slabs in the +y-dimension. It is even possible to define a 1x1x1 3d grid, though it +may be inefficient to use it in a computational sense. + +Note that the choice of grid size is independent of the number of +processors or their layout in a grid of processor subdomains which +overlays the simulations domain. Depending on the distributed grid +size, a single processor may own many 1000s or no grid cells. + +A command can define multiple grids, each of a different size. Each +grid is an instantiation of the Grid2d or Grid3d class. + +The command also defines what data it will store for each grid it +creates and it allocates the multi-dimensional array(s) needed to +store the data. No grid cell data is stored within the Grid2d or +Grid3d classes. + +If a single value per grid cell is needed, the data array will have +the same dimension as the grid, i.e. a 2d array for a 2d grid, +likewise for 3d. If multiple values per grid cell are needed, the +data array will have one more dimension than the grid, i.e. a 3d array +for a 2d grid, or 4d array for a 3d grid. A command can choose to +define multiple data arrays for each grid it defines. + +---------- + +The simplest way for a command to allocate and access grid cell data +is to use the *create_offset()* methods provided by the Memory class. +Arguments for these methods can be values returned by the +*setup_grid()* method (described below), which define the extent of +the grid cells (owned+ghost) the processor owns. These 4 methods +allocate memory for 2d (first two) and 3d (second two) grid data. The +two methods that end in "_one" allocate an array which stores a single +value per grid cell. The two that end in "_multi" allocate an aray +which stores *Nvalues* per grid cell. + +.. code-block:: c + + // single value per cell for a 2d grid = 2d array + memory->create2d_offset(data2d_one, nylo_out, nyhi_out, + nxlo_out, nxhi_out, "data2d_one"); + + // nvalues per cell for a 2d grid = 3d array + memory->create3d_offset_last(data2d_multi, nylo_out, nyhi_out, + nxlo_out, nxhi_out, nvalues, "data2d_multi"); + + // single value per cell for a 3d grid = 3d array + memory->create3d_offset(data3d_one, nzlo_out, nzhi_out, nylo_out, + nyhi_out, nxlo_out, nxhi_out, "data3d_one"); + + // nvalues per cell for a 3d grid = 4d array + memory->create4d_offset_last(data3d_multi, nzlo_out, nzhi_out, nylo_out, + nyhi_out, nxlo_out, nxhi_out, nvalues, + "data3d_multi"); + +Note that these multi-dimensional arrays are allocated as contiguous +chunks of memory where the x-index of the grid varies fastest, then y, +and the z-index slowest. For multiple values per grid cell, the +Nvalues are contiguous, so their index varies even faster than the +x-index. + +The key point is that the "offset" methods create arrays which are +indexed by the range of indices which are the bounds of the sub-block +of the global grid owned by this processor. This means loops like +these can be written in the caller code to loop over owned grid cells, +where the "i" loop bounds are the range of owned grid cells for the +processor. These are the bounds returned by the *setup_grid()* +method: + +.. code-block:: c + + for (int iy = iylo; iy <= iyhi; iy++) + for (int ix = ixlo; ix <= ixhi; ix++) + data2d_one[iy][ix] = 0.0; + + for (int iy = iylo; iy <= iyhi; iy++) + for (int ix = ixlo; ix <= ixhi; ix++) + for (int m = 0; m < nvalues; m++) + data2d_multi[iy][ix][m] = 0.0; + + for (int iz = izlo; iz <= izhi; iz++) + for (int iy = iylo; iy <= iyhi; iy++) + for (int ix = ixlo; ix <= ixhi; ix++) + data3d_one[iz][iy][ix] = 0.0; + + for (int iz = izlo; iz <= izhi; iz++) + for (int iy = iylo; iy <= iyhi; iy++) + for (int ix = ixlo; ix <= ixhi; ix++) + for (int m = 0; m < nvalues; m++) + data3d_multi[iz][iy][ix][m] = 0.0; + +Simply replacing the "i" bounds with "o" bounds, also returned by the +*setup_grid()* method, would alter this code to loop over owned+ghost +cells (the entire allocated grid). + +---------- + +What follows are the public methods of the Grid3d class which a style +command can invoke. The Grid2d methods are similar; simply remove +arguments which refer to the z-dimension. + +---------- + +There are 2 constructors which can be used. They differ in the extra +i/o xyz lo/hi arguments: + +.. code-block:: c + + Grid3d(class LAMMPS *lmp, MPI_Comm gcomm, int gnx, int gny, int gnz) + Grid3d(class LAMMPS *lmp, MPI_Comm gcomm, int gnx, int gny, int gnz, + int ixlo, int ixhi, int iylo, int iyhi, int izlo, int izhi, + int oxlo, int oxhi, int oylo, int oyhi, int ozlo, int ozhi) + +Both constructors take the LAMMPS instance pointer and a communicator +over which the grid will be distributed. Typically this is the +*world* communicator the LAMMPS instance is using. The +:doc:`kspace_style msm ` command creates a series of +grids, each of different size, which are partitioned across different +sub-communicators of processos. Both constructors are also passed the +global grid size: *gnx* by *gny* by *gnz*. + +The first constructor is used when the caller wants the Grid class to +partition the global grid across processors; the Grid class defines +which grid cells each processor owns and also which it stores as ghost +cells. A subsequent call to *setup_grid()*, disccussed below, returns +this info to the caller. + +The second constructor allows the caller to define the extent of owned +and ghost cells, and pass them to the Grid class. The 6 arguments +which start with "i" are the inclusive lower and upper index bounds of +the owned (inner) grid cells this processor owns in each of the 3 +dimensions within the global grid. Onwed grid cells are indexed from +0 to N-1 in each dimension. + +The 6 arguments which start with "o" are the inclusive bounds of the +owned+ghost (outer) grid cells it stores. If the ghost cells are on +the other side of a periodic boundary, then these indices may be < 0 +or >= N in any dimension, so that oxlo <= ixlo and ixhi >= ixhi is +always the case. + +For example, if Nx = 100, then a processor might pass ixlo=50, +ixhi=60, oxlo=48, oxhi=62 to the Grid class. Or ixlo=0, ixhi=10, +oxlo=-2, oxhi=13. If a processor owns no grid cells in a dimension, +then the ihi value should be speficied as one less than the ilo value. + +Note that the only reason to use the second constructor is if the +logic for assigning ghost cells is too complex for the Grid class to +compute, using the various set() methods decsribed next. Currently +only the kspace_style pppm/electrode and kspace_style msm commands use +the second constructor. + +---------- + +The following methods affect how the Grid class computes which owned +and ghost cells are assigned to each processor. *Set_shift_grid()* is +the only method which influences owned cell assignement; all the rest +influence ghost cell assignemnt. These methods are only used with the +first constructor; they are ignored if the second constructor is used. +These methods must be called before the *setup_grid()* method is +invoked, because they influence its operation. + +.. code-block:: c + + void set_shift_grid(double shift); + void set_distance(double distance); + void set_stencil_atom(int lo, int hi); + void set_shift_atom(double shift_lo, double shift_hi); + void set_stencil_grid(int lo, int hi); + void set_zfactor(double factor); + +Processors own a grid cell if a point within the grid cell is inside +the processor's subdomain. By default this is the center point of the +grid cell. The *set_shift_grid()* method can change this. The *shift* +argument is a value from 0.0 to 1.0 (inclusive) which is the offset of +the point within the grid cell in each dimension. The default is 0.5 +for the center of the cell. A value of 0.0 is the lower left corner +point; a value of 1.0 is the upper right corner point. There is +typically no need to change the default as it is optimal for +minimizing the number of ghost cells needed. + +If a processor maps its particles to grid cells, it needs to allow for +its particles being outside its subdomain between reneighboring. The +*distance* argument of the *set_distance()* method sets the furthest +distance outside a processor's subdomain which a particle can move. +Typically this is half the neighbor skin distance, assuming +reneighboring is done appropriately. This distance is used in +determining how many ghost cells a processor needs to store to enable +its particles to be mapped to grid cells. The default value is 0.0. + +Some commands, like the :doc:`kspace_style pppm ` +commmand, map values (charge in the case of PPPM) to a stencil of grid +cells beyond the grid cell the particle is in. The stencil extent may +be different in the low and high directions. The *set_stencil_atom()* +method defines the maximum values of those 2 extents, assumed to be +the same in each of the 3 dimensions. Both the lo and hi valuse are +specified as positive integers. The default values are both 0. + +Some commands, like the :doc:`kspace_style pppm ` +commmand, shift the position of an atom when mapping it to a grid +cell, based on the size of the stencil used to map values to the grid +(charge in the case of PPPM). The lo and hi arguments of the +*set_shift_atom()* method are the minimum shift in the low direction +and the maxmimum shift in the high direction, assumed to be the same +in each of the 3 dimensions. The shifts should be fractions of a grid +cell size with values between 0.0 and 1.0 inclusive. The default +values are both 0.0. See the src/pppm.cpp file for examples of these +lo/hi values for regular and staggered grids. + +Some methods like the :doc:`fix ttm/grid ` command, perform +finite difference kinds of operations on the grid, to diffuse electon +heat in the case of the two-temperature model (TTM). This operation +uses ghost grid values beyond the owned grid values the processor +updates. The *set_stencil_grid()* method defines the extent of this +stencil in both directions, assumed to be the same in each of the 3 +dimensions. Both the lo and hi valuse are sepecified as positive +integers. The default values are both 0. + +The kspace_style pppm commmands allow a grid to be defined which +overlays a volume which extends beyond the simulation box in the z +dimension. This is for the purpose of modeling a 2d-periodic slab +(non-perioidc in z) as if it were a larger 3d periodic sytem, extended +(with empty space) in the z dimension. The :doc:`kspace_modify slab +` command is used to specify the ratio of the larger +volume to the simulation volume; a volume ratio of ~3 is typical. For +this kind of model, the PPPM caller sets the global grid size *gnz* +~3x larger than it would be otherwise. This same ratio is passed by +the PPPM caller as the *factor* argument to the Grid class via the +*set_zfactor()* method (*set_yfactor()* for 2d grids). The Grid class +will then assign ownership of the 1/3 of grid cells that overlay the +simulation box to the processors which also overlay the simulation +box. The remaining 2/3 of the grid cells are assigned to processors +whose subdomains are adjacent to the upper z boundary of the +simulation box. + +---------- + +The *setup_grid()* method is called after the first constructor +(above) to partition the grid across processors, which determines +which grid cells each processor owns. It also calculates how many +ghost grid cells in each dimension and each direction each processor +needs to store. + +Note that this method is NOT called if the second constructor above is +used. In that case, the caller assigns owned and ghost cells to each +processor. + +Also note that this method must be invoked after any *set_*()* methods have +been used, since they can influence the assignment of owned and ghost +cells. + +.. code-block:: c + + void setup_grid(int &ixlo, int &ixhi, int &iylo, int &iyhi, int &izlo, int &izhi, + int &oxlo, int &oxhi, int &oylo, int &oyhi, int &ozlo, int &ozhi) + +The 6 return arguments which start with "i" are the inclusive lower +and upper index bounds of the owned (inner) grid cells this processor +owns in each of the 3 dimensions within the global grid. Onwed grid +cells are indexed from 0 to N-1 in each dimension. + +The 6 return arguments which start with "o" are the inclusive bounds of +the owned+ghost cells it owns. If the ghost cells are on the other +side of a periodic boundary, then these indices may be < 0 or >= N in +any dimension, so that oxlo <= ixlo and ixhi >= ixhi is always the +case. + +---------- + +The following 2 methods can be used to override settings made by the +constructors above. If used, they must be called called before the +*setup_comm()* method is invoked, since it uses the settings that +these methods override. In LAMMPS these methods are called by by the +:doc:`kspace_style msm ` command for the grids it +instantiates using the 2nd constructor above. + +.. code-block:: c + + void set_proc_neighs(int pxlo, int pxhi, int pylo, int pyhi, int pzlo, int pzhi) + void set_caller_grid(int fxlo, int fxhi, int fylo, int fyhi, int fzlo, int fzhi) + +The *set_proc_neighs()* method sets the processor IDs of the 6 +neighboring processors for each processor. Normally these would match +the proccessor grid neighbors which LAMMPS creates to overlay the +simulation box (the default). However, MSM excludes non-participating +processors from coarse grid communication when less processors are +used. This method allows MSM to override the default values. + +The *set_caller_grid()* method species the size of the data arrays the +caller allocates. Normally these would match the extent of the ghost +grid cells (the default). However the MSM caller allocates a larger +data array (more ghost cells) for its finest-level grid, for use in +other operations besides owned/ghost cell communication. This method +allows MSM to override the default values. + + +---------- + +The following methods allow the caller to query the settings for a +specific grid, whether it created the grid or another command created +it. + +.. code-block:: c + + void get_size(int &nxgrid, int &nygrid, int &nzgrid); + void get_bounds_owned(int &xlo, int &xhi, int &ylo, int &yhi, int &zlo, int &zhi) + void get_bounds_ghost(int &xlo, int &xhi, int &ylo, int &yhi, int &zlo, int &zhi) + +The *get_size()* method returns the size of the global grid in each dimension. + +The *get_bounds_owned()* method return the inclusive index bounds of +the grid cells this processor owns. The values range from 0 to N-1 in +each dimension. These values are the same as the "i" values returned +by *setup_grid()*. + +The *get_bounds_ghost()* method return the inclusive index bounds of +the owned+ghost grid cells this processor stores. The onwed cell +indices range from 0 to N-1, so these indices may be less than 0 or +greater than or equal to N in each dimension. These values are the +same as the "o" values returned by *setup_grid()*. + +---------- + +If needed by the command, the following methods setup and perform +communication of grid data to/from neighboring processors. The +*forward_comm()* method sends owned grid cell data to the +corresponding ghost grid cells on other processors. The +*reverse_comm()* method sends ghost grid cell data to the +corresponding owned grid cells on another processor. The caller can +choose to sum ghost grid cell data to the owned grid cell or simply +copy it. + +.. code-block:: c + + void setup_comm(int &nbuf1, int &nbuf2) + void forward_comm(int caller, void *ptr, int which, int nper, int nbyte, + void *buf1, void *buf2, MPI_Datatype datatype); + void reverse_comm(int caller, void *ptr, int which, int nper, int nbyte, + void *buf1, void *buf2, MPI_Datatype datatype) + int ghost_adjacent(); + +The *setup_comm()* method must be called one time before performing +*forward* or *reverse* communication (multiple times if needed). It +returns two integers, which should be used to allocate two buffers. +The *nbuf1* and *nbuf2* values are the number of grid cells whose data +will be stored in two buffers by the Grid class when *forward* or +*reverse* communication is performed. The caller should thus allocate +them to a size large enough to hold all the data used in any single +forward or reverse communication operation it performs. Note that the +caller may allocate and communicate multiple data arrays for a grid it +instantiates. This size includes the bytes needed for the data type +of the grid data it stores, e.g. double precision values. + +The *forward_comm()* and *reverse_comm()* methods send grid cell data +from owned to ghost cells, or ghost to owned cells, respectively, as +described above. The *caller* argument should be one of these values +-- Grid3d::COMPUTE, Grid3d::FIX, Grid3d::KSPACE, Grid3d::PAIR -- +depending on the style of the caller class. The *ptr* argument is the +"this" pointer to the caller class. These 2 arguments are used to +call back to pack()/unpack() functions in the caller class, as +explained below. + +The *which* argument is a flag the caller can set which is passed to +the caller's pack()/unpack() methods. This allows a single callback +method to pack/unpack data for several different flavors of +forward/reverse communication, e.g. operating on different grids or +grid data. + +The *nper* argument is the number of values per grid cell to be +communicated. The *nbyte* argument is the number of bytes per value, +e.g. 8 for double-precision values. The *buf1* and *buf2* arguments +are the two allocated buffers described above. So long as they are +allocated for the maximum size communication, they can be re-used for +any *forward_comm()/reverse_comm()* call. The *datatype* argument is +the MPI_Datatype setting, which should match the buffer allocation and +the *nbyte* argument. E.g. MPI_DOUBLE for buffers storing double +precision values. + +To use the *forward_grid()* method, the caller must provide two +callback functions; likewise for use of the *reverse_grid()* methods. +These are the 4 functions, their arguments are all the same. + +.. code-block:: c + + void pack_forward_grid(int which, void *vbuf, int nlist, int *list); + void unpack_forward_grid(int which, void *vbuf, int nlist, int *list); + void pack_reverse_grid(int which, void *vbuf, int nlist, int *list); + void unpack_reverse_grid(int which, void *vbuf, int nlist, int *list); + +The *which* argument is set to the *which* value of the +*forward_comm()* or *reverse_comm()* calls. It allows the pack/unpack +function to select what data values to pack/unpack. *Vbuf* is the +buffer to pack/unpack the data to/from. It is a void pointer so that +the caller can cast it to whatever data type it chooses, e.g. double +precision values. *Nlist* is the number of grid cells to pack/unpack +and *list* is a vector (nlist in length) of offsets to where the data +for each grid cell resides in the caller's data arrays, which is best +illustrated with an example from the src/EXTRA-FIX/fix_ttm_grid.cpp +class which stores the scalar electron temperature for 3d system in a +3d grid (one value per grid cell): + +.. code-block:: c + + void FixTTMGrid::pack_forward_grid(int /*which*/, void *vbuf, int nlist, int *list) + { + auto buf = (double *) vbuf; + double *src = &T_electron[nzlo_out][nylo_out][nxlo_out]; + for (int i = 0; i < nlist; i++) buf[i] = src[list[i]]; + } + +In this case, the *which* argument is not used, *vbuf* points to a +buffer of doubles, and the electron temperature is stored by the +FixTTMGrid class in a 3d array of owned+ghost cells called T_electron. +That array is allocated by the *memory->create_3d_offset()* method +descibed above so that the first grid cell it stores is indexed as +T_electron[nzlo_out][nylo_out][nxlo_out]. The *nlist* values in +*list* are integer offsets from that first grid cell. Setting *src* +to the address of the first cell allows those offsets to be used to +access the temperatures to pack into the buffer. + +Here is a similar portion of code from the src/fix_ave_grid.cpp class +which can store two kinds of data, a scalar count of atoms in a grid +cell, and one or more grid-cell-averaged atom properties. The code +from its *unpack_reverse_grid()* function for 2d grids and multiple +per-atom properties per grid cell (*nvalues*) is shown here: + +.. code-block:: c + +void FixAveGrid::unpack_reverse_grid(int /*which*/, void *vbuf, int nlist, int *list) +{ + auto buf = (double *) vbuf; + double *count,*data,*values; + count = &count2d[nylo_out][nxlo_out]; + data = &array2d[nylo_out][nxlo_out][0]; + m = 0; + for (i = 0; i < nlist; i++) { + count[list[i]] += buf[m++]; + values = &data[nvalues*list[i]]; + for (j = 0; j < nvalues; j++) + values[j] += buf[m++]; + } +} + +Both the count and the multiple values per grid cell are communicated +in *vbuf*. Note that *data* is now a pointer to the first value in +the first grid cell. And *values* points to where the first value in +*data* is for an offset of grid cells, calculated by multiplying +*nvalues* by *list[i]*. Finally, because this is reverse +communication, the communicated buffer values are summed to the caller +values. + +The *ghost_adjacent()* method returns a 1 if every processor can +perform the necessary owned/ghost communication with only its nearest +neighbor processors (4 in 2d, 6 in 3d). It returns a 0 if any +processor's ghost cells extend further than nearest neighbor +processors. + +This can be checked by callers who have the option to change the +global grid size to insure more efficient nearest-neighbor-only +communication if they wish. In this case, they instantiate a grid of +a given size (resolution), then invoke *setup_comm()* followed by +*ghost_adjacent()*. If the ghost cells are not adjacent, they destroy +the grid instance and start over with a higher-resolution grid. +Several of the :doc:`kspace_style pppm ` command +variants have this option. + +---------- + +The following methods are used when a load-balancing operation, +triggered by the :doc:`balance ` or :doc:`fix balance +` commands, changes the partitioning of the simulation +domain into processor subdomains. + +In order to work with load-balancing, any style command (compute, fix, +pair, or kspace style) which allocates a grid and stores per-grid data +should define a *reset_grid()* method; it takes no arguments. It will +be called by the two balance commands after they have reset processor +subdomains and migrated atoms (particles) to new owning processors. +The *reset_grid()* method will typically perform some or all of the +following operations. See the src/fix_ave_grid.cpp and +src/EXTRA_FIX/fix_ttm_grid.cpp files for examples of *reset_grid()* +methods, as well as the *pack_remap_grid()* and *unpack_remap_grid()* +functions. + +First, the *reset_grid()* method can instantiate new grid(s) of the +same global size, then call *setup_grid()* to partition them via the +new processor subdomains. At this point, it can invoke the +*identical()* method which compares the owned and ghost grid cell +index bounds between two grids, the old grid passed as a pointer +argument, and the new grid whose *identical()* method is being called. +It returns 1 if the indices match on all processors, otherwise 0. If +they all match, then the new grids can be deleted; the command can +continue to use the old grids. + +If not, then the command should allocate new grid data array(s) which +depend on the new partitioning. If the command does not need to +persist its grid data from the old partitioning to the new one, then +the command can simply delete the old data array(s) and grid +instance(s). It can then return. + +If the grid data does need to perist, then the data for each grid +needs to be "remapped" from the old grld partitioning to the new grid +partitioning. The *setup_remap()* and *remap()* methods are used +for that purpose. + +.. code-block:: c + + int identical(Grid3d *old); + void setup_remap(Grid3d *old, int &nremap_buf1, int &nremap_buf2) + void remap(int caller, void *ptr, int which, int nper, int nbyte, + void *buf1, void *buf2, MPI_Datatype datatype) + +The arguments to these methods are identical to those for +the *setup_comm()* and *forward_comm()* or *reverse_comm()* methods. +However the returned *nremap_buf1* and *nremap2_buf* values will be +different than the *nbuf1* and *nbuf2* values. They should be used to +allocate two different remap buffers, separate from the owned/ghost +communication buffers. + +To use the *remap()* method, the caller must provide two +callback functions: + +.. code-block:: c + + void pack_remap_grid(int which, void *vbuf, int nlist, int *list); + void unpack_remap_grid(int which, void *vbuf, int list, int *list); + +Their arguments are identical to those for the *pack_forward_grid()* +and *unpack_forward_grid()* callback functions (or the reverse +variants) discussed above. Normally, both these methods pack/unpack +all the data arrays for a given grid. The *which* argument of the +*remap()* method sets the *which* value for the pack/unpack functions. +If the command instantiates multiple grids (of different sizes), it +can be used within the pack/unpack methods to select which grid's data +is being remapped. + +Note that the *pack_remap_grid()* function must copy values from the +OLD grid data arrays into the *vbuf* buffer. The *unpack_remap_grid()* +function must copy values from the *vbuf* buffer into the NEW grid +data arrays. + +After the remap operation for grid cell data has been performed, the +*reset_grid()* method can deallocate the two remap buffers it created, +and can then exit. + +---------- + +There are two I/O methods in the Grid classes which can be used to +read and write grid cell data to files. The caller can decide on the +precise format of each file, e.g. whether header lines are prepended +or comment lines are allowed. Fundmamentally, the file should contain +one line per grid cell for the entire global grid. Each line should +contain identifying info as to which grid cell it is, e.g. a unique +grid cell ID or the ix,iy,iz indices of the cell within a 3d grid. +The line should also contain one or more data values which are stored +within the grid data arrays created by the command + +For grid cell IDs, the LAMMPS convention is that the IDs run from 1 to +N, where N = Nx * Ny for 2d grids and N = Nx * Ny * Nz for 3d grids. +The x-index of the grid cell varies fastest, then y, and the z-index +varies slowest. So for a 10x10x10 grid the cell IDs from 901-1000 +would be in the top xy layer of the z dimension. + +The *read_file()* method does something simple. It reads a chunk of +consecutive lines from the file and passes them back to the caller to +process. The caller provides a *unpack_read_grid()* function for this +purpose. The function checks the grid cell ID or indices and only +stores grid cell data for the grid cells it owns. + +The *write_file()* method does something slightly more complex. Each +processor packs the data for its owned grid cells into a buffer. The +caller provides a *pack_write_grid()* function for this purpose. The +*write_file()* method then loops over all processors and each sends +its buffer one at a time to processor 0, along with the 3d (or 2d) +index bounds of its grid cell data within the global grid. Processor +0 calls back to the *unpack_write_grid()* function provided by the +caller with the buffer. The function writes one line per grid cell to +the file. + +See the src/EXTRA_FIX/fix_ttm_grid.cpp file for examples of now both +these methods are used to read/write electron temperature values +from/to a file, as well as for implementations of the the pack/unpack +functions described below. + +.. code-block:: c + +Here are the details of the two I/O methods and the 3 callback +functions. See the src/fix_ave_grid.cpp file for examples of all of +them. + + void read_file(int caller, void *ptr, FILE *fp, int nchunk, int maxline) + void write_file(int caller, void *ptr, int which, + int nper, int nbyte, MPI_Datatype datatype + +The *caller* argument in both methods should be one of these values -- +Grid3d::COMPUTE, Grid3d::FIX, Grid3d::KSPACE, Grid3d::PAIR -- +depending on the style of the caller class. The *ptr* argument in +both methods is the "this" pointer to the caller class. These 2 +arguments are used to call back to pack()/unpack() functions in the +caller class, as explained below. + +For the *read_file()* method, the *fp* argument is a file pointer to +the file to be read from, opened on processor 0 by the caller. +*Nchunk* is the number of lines to read per chunk, and *maxline* is +the maximum number of characters per line. The Grid class will +allocate a buffer for storing chunks of lines based on these values. + +For the *write_file()* method, the *which* argument is a flag the +caller can set which is passed back to the caller's pack()/unpack() +methods. If the command instantiates multiple grids (of different +sizes), this flag can be used within the pack/unpack methods to select +which grid's data is being written out (presumably to different +files). the *nper* argument is the number of values per grid cell to +be written out. The *nbyte* argument is the number of bytes per +value, e.g. 8 for double-precision values. The *datatype* argument is +the MPI_Datatype setting, which should match the *nbyte* argument. +E.g. MPI_DOUBLE for double precision values. + +To use the *read_grid()* method, the caller must provide one callback +function. To use the *write_grid()* method, it provides two callback +functions: + +.. code-block:: c + + int unpack_read_grid(int nlines, char *buffer) + void pack_write_grid(int which, void *vbuf) + void unpack_write_grid(int which, void *vbuf, int *bounds) + +For *unpack_read_grid()* the *nlines* argument is the number of lines +of character data read from the file and contained in *buffer*. The +lines each include a newline character at the end. When the function +processes the lines, it may choose to skip some of them (header or +comment lines). It returns an integer count of the number of grid +cell lines it processed. This enables the Grid class *read_file()* +method to know when it has read the correct number of lines. + +For *pack_write_grid()* and *unpack_write_grid()*, the *vbuf* argument +is the buffer to pack/unpack data to/from. It is a void pointer so +that the caller can cast it to whatever data type it chooses, +e.g. double precision values. the *which* argument is set to the +*which* value of the *write_file()* method. It allows the caller to +choose which grid data to operate on. + +For *unpack_write_grid()*, the *bounds* argument is a vector of 4 or 6 +integer grid indices (4 for 2d, 6 for 3d). They are the +xlo,xhi,ylo,yhi,zlo,zhi index bounds of the portion of the global grid +which the *vbuf* holds owned grid cell data values for. The caller +should loop over the values in *vbuf* with a double loop (2d) or +triple loop (3d), similar to the code snippets listed above. The +x-index varies fastest, then y, and the z-index slowest. If there are +multiple values per grid cell, the index for those values varies +fastest of all. The caller can add the x,y,z indices of the grid cell +(or the corresponding grid cell ID) to the data value(s) written as +one line to the output file. + +---------- + +A style command can enable its grid cell data to be accessible from +other commands. For example :doc:`fix ave/grid ` or +:doc:`dump grid ` or :doc:`dump grid/vtk `. Those +commands access the grid cell data by using a *grid reference* in +their input script syntax, as described on the :doc:`Howto_grid +` doc page. They look like this: + +* c_ID:gname:dname +* c_ID:gname:dname[I] +* f_ID:gname:dname +* f_ID:gname:dname[I] + +Each grid a command instantiates has a unique *gname*, defined by the +command. Likewise each grid cell data structure (scalar or vector) +associated with a grid has a unique *dname*, also defined by the +command. + +To provide access to its grid cell data, a style command needs to +implement the following 4 methods: + +.. code-block:: c + + int get_grid_by_name(const std::string &name, int &dim); + void *get_grid_by_index(int index); + int get_griddata_by_name(int igrid, const std::string &name, int &ncol); + void *get_griddata_by_index(int index); + +Currently only computes and fixes can implement these methods. If it +does so, the compute of fix should also set the variable +*pergrid_flag* to 1. See any of the compute or fix commands which set +"pregrid_flag = 1" for examples of how these 4 functions can be +implemented. + +The *get_grid_by_name()* method takes a grid name as input and returns +two values. The *dim* argument is returned as 2 or 3 for the +dimensionality of the grid. The function return is a grid index from +0 to G-1 where *G* is the number of grids the command instantiates. A +value of -1 is returned if the grid name is not recognized. + +The *get_grid_by_index()* method can be called after the +*get_grid_by_name()* method, using the grid index it returned as its +argument. This method will return a pointer to the Grid2d or Grid3d +class. The caller can use this to query grid attributes, such as the +global size of the grid. The :doc:`dump grid ` to insure each +its grid reference arguments are for grids of the same size. + +The *get_griddata_by_name()* method takes a grid index *igrid* and a +data name as input. It returns two values. The *ncol* argument is +returned as a 0 if the grid data is a single value (scalar) per grid +cell, or an integer M > 0 if there are M values (vector) per grid +cell. Note that even if M = 1, it is still a 1-length vector, not a +scalar. The function return is a data index from 0 to D-1 where *D* +is the number of data sets associated with that grid by the command. +A value of -1 is returned if the data name is not recognized. + +The *get_griddata_by_index()* method can be called after the +*get_griddata_by_name()* method, using the data index it returned as +its argument. This method will return a pointer to the +multi-dimensional array which stores the requested data. + +As in the discussion above of the Memory class *create_offset()* +methods, the dimensionality of the array associated with the returned +pointer depends on whether it is a 2d or 3d grid and whether there is +a single or multiple values stored for each grid cell: + +* single value per cell for a 2d grid = 2d array pointer +* multiple values per cell for a 2d grid = 3d array pointer +* single value per cell for a 3d grid = 3d array pointer +* multiple values per cell for a 3d grid = 4d array pointer + +The caller will typically access the data by casting the void pointer +to the corresponding array pointer and using nested loops in x,y,z +between owned or ghost index bounds returned by the +*get_bounds_owned()* or *get_bounds_ghost()* methods to index into the +array. Example code snippets with this logic were listed above, + +---------- + +Finally, here are two additional issues to pay attention to for +writing any style command which uses distributed grids via the Grid2d +or Grid3d class. + +The command destructor should delete all instances of the Grid class, +any buffers it allocated for forward/reverse or remap communication, +and any data arrays it allocated to store grid cell data. + +If a command is intended to work for either 2d or 3d simulations, then +it should have logic to instantiate either 2d or 3d grids and their +associated data arrays, depending on the dimension of the simulation +box. The :doc:`fix ave/grid ` command is an example of +such a command. From e0c7ea9db61321703a549e08b372ab98dbd586b2 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 29 Nov 2022 16:19:01 -0700 Subject: [PATCH 111/142] reformating RST file --- doc/src/Developer_grid.rst | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/doc/src/Developer_grid.rst b/doc/src/Developer_grid.rst index a03df3f542..e36c1c8948 100644 --- a/doc/src/Developer_grid.rst +++ b/doc/src/Developer_grid.rst @@ -479,20 +479,20 @@ per-atom properties per grid cell (*nvalues*) is shown here: .. code-block:: c -void FixAveGrid::unpack_reverse_grid(int /*which*/, void *vbuf, int nlist, int *list) -{ - auto buf = (double *) vbuf; - double *count,*data,*values; - count = &count2d[nylo_out][nxlo_out]; - data = &array2d[nylo_out][nxlo_out][0]; - m = 0; - for (i = 0; i < nlist; i++) { - count[list[i]] += buf[m++]; - values = &data[nvalues*list[i]]; - for (j = 0; j < nvalues; j++) - values[j] += buf[m++]; - } -} + void FixAveGrid::unpack_reverse_grid(int /*which*/, void *vbuf, int nlist, int *list) + { + auto buf = (double *) vbuf; + double *count,*data,*values; + count = &count2d[nylo_out][nxlo_out]; + data = &array2d[nylo_out][nxlo_out][0]; + m = 0; + for (i = 0; i < nlist; i++) { + count[list[i]] += buf[m++]; + values = &data[nvalues*list[i]]; + for (j = 0; j < nvalues; j++) + values[j] += buf[m++]; + } + } Both the count and the multiple values per grid cell are communicated in *vbuf*. Note that *data* is now a pointer to the first value in From 479f7e19eead3cc5bc6105b6b4716767b84d0a18 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 29 Nov 2022 16:21:08 -0700 Subject: [PATCH 112/142] reformating RST file --- doc/src/Developer_grid.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/Developer_grid.rst b/doc/src/Developer_grid.rst index e36c1c8948..1c26901228 100644 --- a/doc/src/Developer_grid.rst +++ b/doc/src/Developer_grid.rst @@ -635,12 +635,12 @@ these methods are used to read/write electron temperature values from/to a file, as well as for implementations of the the pack/unpack functions described below. -.. code-block:: c - Here are the details of the two I/O methods and the 3 callback functions. See the src/fix_ave_grid.cpp file for examples of all of them. +.. code-block:: c + void read_file(int caller, void *ptr, FILE *fp, int nchunk, int maxline) void write_file(int caller, void *ptr, int which, int nper, int nbyte, MPI_Datatype datatype From 2d3630a31f1ffeb48f1ab32331d7624189cee8d9 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 29 Nov 2022 16:22:48 -0700 Subject: [PATCH 113/142] reformating RST file --- doc/src/Developer_grid.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/src/Developer_grid.rst b/doc/src/Developer_grid.rst index 1c26901228..01defbbb61 100644 --- a/doc/src/Developer_grid.rst +++ b/doc/src/Developer_grid.rst @@ -738,7 +738,7 @@ implement the following 4 methods: Currently only computes and fixes can implement these methods. If it does so, the compute of fix should also set the variable *pergrid_flag* to 1. See any of the compute or fix commands which set -"pregrid_flag = 1" for examples of how these 4 functions can be +"pergrid_flag = 1" for examples of how these 4 functions can be implemented. The *get_grid_by_name()* method takes a grid name as input and returns @@ -747,7 +747,7 @@ dimensionality of the grid. The function return is a grid index from 0 to G-1 where *G* is the number of grids the command instantiates. A value of -1 is returned if the grid name is not recognized. -The *get_grid_by_index()* method can be called after the +The *get_grid_by_index()* method is called after the *get_grid_by_name()* method, using the grid index it returned as its argument. This method will return a pointer to the Grid2d or Grid3d class. The caller can use this to query grid attributes, such as the @@ -763,7 +763,7 @@ scalar. The function return is a data index from 0 to D-1 where *D* is the number of data sets associated with that grid by the command. A value of -1 is returned if the data name is not recognized. -The *get_griddata_by_index()* method can be called after the +The *get_griddata_by_index()* method is called after the *get_griddata_by_name()* method, using the data index it returned as its argument. This method will return a pointer to the multi-dimensional array which stores the requested data. From 0fc25a9942ce5efdc95d769f58f8a6d43b92efc4 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 29 Nov 2022 16:28:40 -0700 Subject: [PATCH 114/142] reformating RST file --- doc/src/Developer_grid.rst | 42 ++++++++++++++++++++++++++++++++++---- 1 file changed, 38 insertions(+), 4 deletions(-) diff --git a/doc/src/Developer_grid.rst b/doc/src/Developer_grid.rst index 01defbbb61..a3d48450b9 100644 --- a/doc/src/Developer_grid.rst +++ b/doc/src/Developer_grid.rst @@ -34,6 +34,9 @@ owned cells. ---------- +Style commands +^^^^^^^^^^^^^^ + Style commands which can define and use distributed grids include the :doc:`compute `, :doc:`fix `, :doc:`pair `, and :doc:`kspace ` styles. If you wish grid cell data @@ -78,6 +81,9 @@ define multiple data arrays for each grid it defines. ---------- +Grid data allocation and access +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + The simplest way for a command to allocate and access grid cell data is to use the *create_offset()* methods provided by the Memory class. Arguments for these methods can be values returned by the @@ -149,11 +155,12 @@ cells (the entire allocated grid). ---------- -What follows are the public methods of the Grid3d class which a style -command can invoke. The Grid2d methods are similar; simply remove -arguments which refer to the z-dimension. +Grid class constructors +^^^^^^^^^^^^^^^^^^^^^^^ ----------- +The following sub-sections describe the public methods of the Grid3d +class which a style command can invoke. The Grid2d methods are +similar; simply remove arguments which refer to the z-dimension. There are 2 constructors which can be used. They differ in the extra i/o xyz lo/hi arguments: @@ -205,6 +212,9 @@ the second constructor. ---------- +Grid class set methods +^^^^^^^^^^^^^^^^^^^^^^ + The following methods affect how the Grid class computes which owned and ghost cells are assigned to each processor. *Set_shift_grid()* is the only method which influences owned cell assignement; all the rest @@ -288,6 +298,9 @@ simulation box. ---------- +Grid class setup_grid method +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + The *setup_grid()* method is called after the first constructor (above) to partition the grid across processors, which determines which grid cells each processor owns. It also calculates how many @@ -320,6 +333,9 @@ case. ---------- +More grid class set methods +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + The following 2 methods can be used to override settings made by the constructors above. If used, they must be called called before the *setup_comm()* method is invoked, since it uses the settings that @@ -349,6 +365,9 @@ allows MSM to override the default values. ---------- +Grid class get methods +^^^^^^^^^^^^^^^^^^^^^^ + The following methods allow the caller to query the settings for a specific grid, whether it created the grid or another command created it. @@ -374,6 +393,9 @@ same as the "o" values returned by *setup_grid()*. ---------- +Grid class owned/ghost communication +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + If needed by the command, the following methods setup and perform communication of grid data to/from neighboring processors. The *forward_comm()* method sends owned grid cell data to the @@ -519,6 +541,9 @@ variants have this option. ---------- +Grid class remap methods for load balancing +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + The following methods are used when a load-balancing operation, triggered by the :doc:`balance ` or :doc:`fix balance ` commands, changes the partitioning of the simulation @@ -598,6 +623,9 @@ and can then exit. ---------- +Grid class I/O methods +^^^^^^^^^^^^^^^^^^^^^^ + There are two I/O methods in the Grid classes which can be used to read and write grid cell data to files. The caller can decide on the precise format of each file, e.g. whether header lines are prepended @@ -708,6 +736,9 @@ one line to the output file. ---------- +Style class grid access methods +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + A style command can enable its grid cell data to be accessible from other commands. For example :doc:`fix ave/grid ` or :doc:`dump grid ` or :doc:`dump grid/vtk `. Those @@ -786,6 +817,9 @@ array. Example code snippets with this logic were listed above, ---------- +Final notes +^^^^^^^^^^^ + Finally, here are two additional issues to pay attention to for writing any style command which uses distributed grids via the Grid2d or Grid3d class. From 19246898673199045c583d129bb9834df22c4ce2 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 29 Nov 2022 16:37:43 -0700 Subject: [PATCH 115/142] spell checks --- doc/src/Developer_grid.rst | 82 +++++++++++++++++++------------------- doc/src/dump.rst | 6 +-- doc/src/fix_ave_grid.rst | 6 +-- doc/src/fix_ttm.rst | 4 +- 4 files changed, 49 insertions(+), 49 deletions(-) diff --git a/doc/src/Developer_grid.rst b/doc/src/Developer_grid.rst index a3d48450b9..ebed3dd2ab 100644 --- a/doc/src/Developer_grid.rst +++ b/doc/src/Developer_grid.rst @@ -5,7 +5,7 @@ The LAMMPS source code includes two classes which facilitate the creation and use of distributed grids. These are the Grid2d and Grid3d classes in the src/grid2d.cpp.h and src/grid3d.cpp.h files respectively. As the names imply, they are used for 2d or 3d -simulations, as defined by the :doc:`dimension ` command. +simulations, as defined by the :doc:`dimension ` command. The :doc:`Howto_grid ` page gives an overview of how distributed grids are defined from a user perspective, lists LAMMPS @@ -51,7 +51,7 @@ to persist could be coded to work in tandem with a fix style which provides that capability. The *size* of a grid is specified by the number of grid cells in each -dimension of the simulation domain. In any dimemsin the size can be +dimension of the simulation domain. In any dimemsion the size can be any value >= 1. Thus a 10x10x1 grid for a 3d simulation is effectively a 2d grid, where each grid cell spans the entire z-dimension. A 1x100x1 grid for a 3d simulation is effectively a 1d @@ -91,7 +91,7 @@ Arguments for these methods can be values returned by the the grid cells (owned+ghost) the processor owns. These 4 methods allocate memory for 2d (first two) and 3d (second two) grid data. The two methods that end in "_one" allocate an array which stores a single -value per grid cell. The two that end in "_multi" allocate an aray +value per grid cell. The two that end in "_multi" allocate an array which stores *Nvalues* per grid cell. .. code-block:: c @@ -177,20 +177,20 @@ over which the grid will be distributed. Typically this is the *world* communicator the LAMMPS instance is using. The :doc:`kspace_style msm ` command creates a series of grids, each of different size, which are partitioned across different -sub-communicators of processos. Both constructors are also passed the -global grid size: *gnx* by *gny* by *gnz*. +sub-communicators of processors. Both constructors are also passed +the global grid size: *gnx* by *gny* by *gnz*. The first constructor is used when the caller wants the Grid class to partition the global grid across processors; the Grid class defines which grid cells each processor owns and also which it stores as ghost -cells. A subsequent call to *setup_grid()*, disccussed below, returns +cells. A subsequent call to *setup_grid()*, discussed below, returns this info to the caller. The second constructor allows the caller to define the extent of owned and ghost cells, and pass them to the Grid class. The 6 arguments which start with "i" are the inclusive lower and upper index bounds of the owned (inner) grid cells this processor owns in each of the 3 -dimensions within the global grid. Onwed grid cells are indexed from +dimensions within the global grid. Owned grid cells are indexed from 0 to N-1 in each dimension. The 6 arguments which start with "o" are the inclusive bounds of the @@ -202,11 +202,11 @@ always the case. For example, if Nx = 100, then a processor might pass ixlo=50, ixhi=60, oxlo=48, oxhi=62 to the Grid class. Or ixlo=0, ixhi=10, oxlo=-2, oxhi=13. If a processor owns no grid cells in a dimension, -then the ihi value should be speficied as one less than the ilo value. +then the ihi value should be specified as one less than the ilo value. Note that the only reason to use the second constructor is if the logic for assigning ghost cells is too complex for the Grid class to -compute, using the various set() methods decsribed next. Currently +compute, using the various set() methods described next. Currently only the kspace_style pppm/electrode and kspace_style msm commands use the second constructor. @@ -217,8 +217,8 @@ Grid class set methods The following methods affect how the Grid class computes which owned and ghost cells are assigned to each processor. *Set_shift_grid()* is -the only method which influences owned cell assignement; all the rest -influence ghost cell assignemnt. These methods are only used with the +the only method which influences owned cell assignment; all the rest +influence ghost cell assignment. These methods are only used with the first constructor; they are ignored if the second constructor is used. These methods must be called before the *setup_grid()* method is invoked, because they influence its operation. @@ -252,49 +252,49 @@ determining how many ghost cells a processor needs to store to enable its particles to be mapped to grid cells. The default value is 0.0. Some commands, like the :doc:`kspace_style pppm ` -commmand, map values (charge in the case of PPPM) to a stencil of grid +command, map values (charge in the case of PPPM) to a stencil of grid cells beyond the grid cell the particle is in. The stencil extent may be different in the low and high directions. The *set_stencil_atom()* method defines the maximum values of those 2 extents, assumed to be -the same in each of the 3 dimensions. Both the lo and hi valuse are +the same in each of the 3 dimensions. Both the lo and hi values are specified as positive integers. The default values are both 0. Some commands, like the :doc:`kspace_style pppm ` -commmand, shift the position of an atom when mapping it to a grid -cell, based on the size of the stencil used to map values to the grid +command, shift the position of an atom when mapping it to a grid cell, +based on the size of the stencil used to map values to the grid (charge in the case of PPPM). The lo and hi arguments of the *set_shift_atom()* method are the minimum shift in the low direction -and the maxmimum shift in the high direction, assumed to be the same -in each of the 3 dimensions. The shifts should be fractions of a grid +and the maxmium shift in the high direction, assumed to be the same in +each of the 3 dimensions. The shifts should be fractions of a grid cell size with values between 0.0 and 1.0 inclusive. The default values are both 0.0. See the src/pppm.cpp file for examples of these lo/hi values for regular and staggered grids. Some methods like the :doc:`fix ttm/grid ` command, perform -finite difference kinds of operations on the grid, to diffuse electon +finite difference kinds of operations on the grid, to diffuse electron heat in the case of the two-temperature model (TTM). This operation uses ghost grid values beyond the owned grid values the processor updates. The *set_stencil_grid()* method defines the extent of this stencil in both directions, assumed to be the same in each of the 3 -dimensions. Both the lo and hi valuse are sepecified as positive +dimensions. Both the lo and hi values are specified as positive integers. The default values are both 0. -The kspace_style pppm commmands allow a grid to be defined which +The kspace_style pppm commands allow a grid to be defined which overlays a volume which extends beyond the simulation box in the z dimension. This is for the purpose of modeling a 2d-periodic slab -(non-perioidc in z) as if it were a larger 3d periodic sytem, extended -(with empty space) in the z dimension. The :doc:`kspace_modify slab -` command is used to specify the ratio of the larger -volume to the simulation volume; a volume ratio of ~3 is typical. For -this kind of model, the PPPM caller sets the global grid size *gnz* -~3x larger than it would be otherwise. This same ratio is passed by -the PPPM caller as the *factor* argument to the Grid class via the -*set_zfactor()* method (*set_yfactor()* for 2d grids). The Grid class -will then assign ownership of the 1/3 of grid cells that overlay the -simulation box to the processors which also overlay the simulation -box. The remaining 2/3 of the grid cells are assigned to processors -whose subdomains are adjacent to the upper z boundary of the -simulation box. +(non-periodic in z) as if it were a larger 3d periodic system, +extended (with empty space) in the z dimension. The +:doc:`kspace_modify slab ` command is used to specify +the ratio of the larger volume to the simulation volume; a volume +ratio of ~3 is typical. For this kind of model, the PPPM caller sets +the global grid size *gnz* ~3x larger than it would be otherwise. +This same ratio is passed by the PPPM caller as the *factor* argument +to the Grid class via the *set_zfactor()* method (*set_yfactor()* for +2d grids). The Grid class will then assign ownership of the 1/3 of +grid cells that overlay the simulation box to the processors which +also overlay the simulation box. The remaining 2/3 of the grid cells +are assigned to processors whose subdomains are adjacent to the upper +z boundary of the simulation box. ---------- @@ -322,7 +322,7 @@ cells. The 6 return arguments which start with "i" are the inclusive lower and upper index bounds of the owned (inner) grid cells this processor -owns in each of the 3 dimensions within the global grid. Onwed grid +owns in each of the 3 dimensions within the global grid. Owned grid cells are indexed from 0 to N-1 in each dimension. The 6 return arguments which start with "o" are the inclusive bounds of @@ -350,7 +350,7 @@ instantiates using the 2nd constructor above. The *set_proc_neighs()* method sets the processor IDs of the 6 neighboring processors for each processor. Normally these would match -the proccessor grid neighbors which LAMMPS creates to overlay the +the processor grid neighbors which LAMMPS creates to overlay the simulation box (the default). However, MSM excludes non-participating processors from coarse grid communication when less processors are used. This method allows MSM to override the default values. @@ -386,7 +386,7 @@ each dimension. These values are the same as the "i" values returned by *setup_grid()*. The *get_bounds_ghost()* method return the inclusive index bounds of -the owned+ghost grid cells this processor stores. The onwed cell +the owned+ghost grid cells this processor stores. The owned cell indices range from 0 to N-1, so these indices may be less than 0 or greater than or equal to N in each dimension. These values are the same as the "o" values returned by *setup_grid()*. @@ -487,7 +487,7 @@ In this case, the *which* argument is not used, *vbuf* points to a buffer of doubles, and the electron temperature is stored by the FixTTMGrid class in a 3d array of owned+ghost cells called T_electron. That array is allocated by the *memory->create_3d_offset()* method -descibed above so that the first grid cell it stores is indexed as +described above so that the first grid cell it stores is indexed as T_electron[nzlo_out][nylo_out][nxlo_out]. The *nlist* values in *list* are integer offsets from that first grid cell. Setting *src* to the address of the first cell allows those offsets to be used to @@ -576,10 +576,10 @@ persist its grid data from the old partitioning to the new one, then the command can simply delete the old data array(s) and grid instance(s). It can then return. -If the grid data does need to perist, then the data for each grid +If the grid data does need to persist, then the data for each grid needs to be "remapped" from the old grld partitioning to the new grid -partitioning. The *setup_remap()* and *remap()* methods are used -for that purpose. +partitioning. The *setup_remap()* and *remap()* methods are used for +that purpose. .. code-block:: c @@ -629,7 +629,7 @@ Grid class I/O methods There are two I/O methods in the Grid classes which can be used to read and write grid cell data to files. The caller can decide on the precise format of each file, e.g. whether header lines are prepended -or comment lines are allowed. Fundmamentally, the file should contain +or comment lines are allowed. Fundamentally, the file should contain one line per grid cell for the entire global grid. Each line should contain identifying info as to which grid cell it is, e.g. a unique grid cell ID or the ix,iy,iz indices of the cell within a 3d grid. diff --git a/doc/src/dump.rst b/doc/src/dump.rst index 2b6c5f64b9..60efddbd62 100644 --- a/doc/src/dump.rst +++ b/doc/src/dump.rst @@ -251,8 +251,8 @@ The *style* keyword determines what kind of data is written to the dump file(s) and in what format. Note that *atom*, *custom*, *dcd*, *xtc*, and *xyz* style dump files -can be read directly by `VMD `_, a -popular tool for viewing molecular systesm. +can be read directly by `VMD `_, +a popular tool for viewing molecular system. Likewise the `OVITO visualization tool `_, popular for materials modeling, can read the *atom*, *custom*, and @@ -653,7 +653,7 @@ how to control the compression level in both variants. Arguments for different styles: The sections below describe per-atom, local, and per grid cell -attibutes which can be used as arguments to the various styles. +attributes which can be used as arguments to the various styles. Note that in the discussion below, for styles which can reference values from a compute or fix or custom atom property, like the diff --git a/doc/src/fix_ave_grid.rst b/doc/src/fix_ave_grid.rst index 153e558962..b5dda7502c 100644 --- a/doc/src/fix_ave_grid.rst +++ b/doc/src/fix_ave_grid.rst @@ -123,7 +123,7 @@ keyword settings, as discussed below. ---------- -The *Nx*, *Ny*, and *Nz* arguements specify the size of the grid that +The *Nx*, *Ny*, and *Nz* arguments specify the size of the grid that overlays the simulation box. For 2d simulations, *Nz* must be 1. The *Nx*, *Ny*, *Nz* values can be any positive integer. The grid can be very coarse compared to the particle count, or very fine. If one or @@ -139,7 +139,7 @@ command. If the simulation box size or shape changes during a simulation, the grid always conforms to the size/shape of the current simulation box. -If one more dimensions have non-peridoic shrink-wrapped boundary +If one more dimensions have non-periodic shrink-wrapped boundary conditions, as defined by the :doc:`boundary ` command, then the grid will extend over the (dynamic) shrink-wrapped extent in each dimension. If the box shape is triclinic, as explained in :doc:`Howto @@ -328,7 +328,7 @@ applicable to both per-atom and per-grid mode. The *discard* keyword is only applicable to per-atom mode. If a dimension of the system is non-periodic, then grid cells will only span the box dimension (fixed or shrink-wrap boundaries as set by the -:doc:`boundary` command). An atom may thus be slighlty outside the +:doc:`boundary` command). An atom may thus be slightly outside the range of grid cells on a particular timestep. If *discard* is set to *yes* (the default), then the atom will be assigned to the closest grid cell (lowest or highest) in that dimension. If *discard* is set diff --git a/doc/src/fix_ttm.rst b/doc/src/fix_ttm.rst index 3aa1d2006e..e75f33bb4e 100644 --- a/doc/src/fix_ttm.rst +++ b/doc/src/fix_ttm.rst @@ -372,7 +372,7 @@ restart file is written, with the electron temperatures for each grid cell. The format of this file is the same as that read by the *infile* option explained above. The filename is the same as the restart filename with ".ttm" appended. This auxiliary file can be -read in for a restared run by using the *infile* option for the fix +read in for a restarted run by using the *infile* option for the fix ttm/grid command, following the :doc:`read_restart ` command. @@ -421,7 +421,7 @@ electron temperature. This means you will not get identical answers when running on different numbers of processors or when restarting a simulation (even on the same number of processors). However, in a statistical sense, simulations on different processor counts and -restarted simulation should produce results whiich are statistically +restarted simulation should produce results which are statistically the same. From 051ed8f8845c2c131cb6b144190260b620dcaff7 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 29 Nov 2022 16:39:31 -0700 Subject: [PATCH 116/142] spell checks --- doc/src/Developer_grid.rst | 4 ++-- doc/src/fix_ave_grid.rst | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/src/Developer_grid.rst b/doc/src/Developer_grid.rst index ebed3dd2ab..d2cb4abf29 100644 --- a/doc/src/Developer_grid.rst +++ b/doc/src/Developer_grid.rst @@ -51,7 +51,7 @@ to persist could be coded to work in tandem with a fix style which provides that capability. The *size* of a grid is specified by the number of grid cells in each -dimension of the simulation domain. In any dimemsion the size can be +dimension of the simulation domain. In any dimension the size can be any value >= 1. Thus a 10x10x1 grid for a 3d simulation is effectively a 2d grid, where each grid cell spans the entire z-dimension. A 1x100x1 grid for a 3d simulation is effectively a 1d @@ -264,7 +264,7 @@ command, shift the position of an atom when mapping it to a grid cell, based on the size of the stencil used to map values to the grid (charge in the case of PPPM). The lo and hi arguments of the *set_shift_atom()* method are the minimum shift in the low direction -and the maxmium shift in the high direction, assumed to be the same in +and the maximum shift in the high direction, assumed to be the same in each of the 3 dimensions. The shifts should be fractions of a grid cell size with values between 0.0 and 1.0 inclusive. The default values are both 0.0. See the src/pppm.cpp file for examples of these diff --git a/doc/src/fix_ave_grid.rst b/doc/src/fix_ave_grid.rst index b5dda7502c..fe22e5e7ef 100644 --- a/doc/src/fix_ave_grid.rst +++ b/doc/src/fix_ave_grid.rst @@ -376,7 +376,7 @@ cell volume at the sample timestep. For *norm none*, the output is the same as for *norm all*. For *temp*, the output temperature uses the formula for kinetic energy -KE listed above, and is normalized similarl to the formulas above for +KE listed above, and is normalized similarly to the formulas above for *norm all* and *norm sample*, except for the way the degrees of freedom (DOF) are calculated. For *norm none*, the output is the same as for *norm all*. From 47d46e0257077db4ae8b228f15f4674ec577ace6 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 29 Nov 2022 16:58:07 -0700 Subject: [PATCH 117/142] doc page tweak --- doc/src/Howto_grid.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/Howto_grid.rst b/doc/src/Howto_grid.rst index cc0819fa38..7749b71806 100644 --- a/doc/src/Howto_grid.rst +++ b/doc/src/Howto_grid.rst @@ -77,8 +77,8 @@ values per grid point (per-grid array). See the :doc:`Howto output ` doc page for an explanation of how per-grid data can be generated by some commands and used by other commands. -A command accesses grid data from a compute or fix with the following -syntax: +A command accesses grid data from a compute or fix using a *grid +reference* with the following syntax: * c_ID:gname:dname * c_ID:gname:dname[I] From d32da83eb675b7ffecefaa134860c0a13096e2f5 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 30 Nov 2022 09:51:13 -0700 Subject: [PATCH 118/142] small bookkeeping changes --- doc/src/Developer_grid.rst | 11 ++++++- src/AMOEBA/pair_amoeba.cpp | 56 ++++++++++++++++---------------- src/EXTRA-FIX/fix_ttm_grid.cpp | 24 +++++++------- src/EXTRA-FIX/fix_ttm_grid.h | 6 ++-- src/fix.h | 6 ++-- src/fix_ave_grid.cpp | 8 ++--- src/fix_ave_grid.h | 4 +-- src/grid2d.cpp | 56 ++++++++++++++++---------------- src/grid2d.h | 4 +-- src/grid3d.cpp | 58 +++++++++++++++++----------------- src/grid3d.h | 4 +-- 11 files changed, 123 insertions(+), 114 deletions(-) diff --git a/doc/src/Developer_grid.rst b/doc/src/Developer_grid.rst index d2cb4abf29..8e064589af 100644 --- a/doc/src/Developer_grid.rst +++ b/doc/src/Developer_grid.rst @@ -820,7 +820,7 @@ array. Example code snippets with this logic were listed above, Final notes ^^^^^^^^^^^ -Finally, here are two additional issues to pay attention to for +Finally, here are some additional issues to pay attention to for writing any style command which uses distributed grids via the Grid2d or Grid3d class. @@ -833,3 +833,12 @@ it should have logic to instantiate either 2d or 3d grids and their associated data arrays, depending on the dimension of the simulation box. The :doc:`fix ave/grid ` command is an example of such a command. + +When a command maps its particles to the grid and updates grid cell +values, it should check that it is not updating or accessing a grid +cell value outside the range of its owned+ghost cells, and generate an +error message if that is the case. This could happen, for example, if +a particle has moved further than half the neighbor skin distance, +because the neighbor list update criterion are not adequate to prevent +it from happening. See the src/KSPACE/pppm.cpp file and its +*particle_map()* method for an example of this kind of error check. diff --git a/src/AMOEBA/pair_amoeba.cpp b/src/AMOEBA/pair_amoeba.cpp index 0a674b823c..4099e98e2d 100644 --- a/src/AMOEBA/pair_amoeba.cpp +++ b/src/AMOEBA/pair_amoeba.cpp @@ -1448,34 +1448,34 @@ void PairAmoeba::reset_grid() pack own values to buf to send to another proc ------------------------------------------------------------------------- */ -void PairAmoeba::pack_forward_grid(int flag, void *vbuf, int nlist, int *list) +void PairAmoeba::pack_forward_grid(int which, void *vbuf, int nlist, int *list) { FFT_SCALAR *buf = (FFT_SCALAR *) vbuf; - if (flag == MPOLE_GRID) { + if (which == MPOLE_GRID) { FFT_SCALAR *src = m_kspace->grid_brick_start; for (int i = 0; i < nlist; i++) buf[i] = src[list[i]]; - } else if (flag == POLAR_GRID) { + } else if (which == POLAR_GRID) { FFT_SCALAR *src = p_kspace->grid_brick_start; for (int i = 0; i < nlist; i++) buf[i] = src[list[i]]; - } else if (flag == POLAR_GRIDC) { + } else if (which == POLAR_GRIDC) { FFT_SCALAR *src = pc_kspace->grid_brick_start; int n = 0; for (int i = 0; i < nlist; i++) { buf[n++] = src[2*list[i]]; buf[n++] = src[2*list[i]+1]; } - } else if (flag == DISP_GRID) { + } else if (which == DISP_GRID) { FFT_SCALAR *src = d_kspace->grid_brick_start; for (int i = 0; i < nlist; i++) buf[i] = src[list[i]]; - } else if (flag == INDUCE_GRID) { + } else if (which == INDUCE_GRID) { FFT_SCALAR *src = i_kspace->grid_brick_start; for (int i = 0; i < nlist; i++) buf[i] = src[list[i]]; - } else if (flag == INDUCE_GRIDC) { + } else if (which == INDUCE_GRIDC) { FFT_SCALAR *src = ic_kspace->grid_brick_start; int n = 0; for (int i = 0; i < nlist; i++) { @@ -1489,34 +1489,34 @@ void PairAmoeba::pack_forward_grid(int flag, void *vbuf, int nlist, int *list) unpack another proc's own values from buf and set own ghost values ------------------------------------------------------------------------- */ -void PairAmoeba::unpack_forward_grid(int flag, void *vbuf, int nlist, int *list) +void PairAmoeba::unpack_forward_grid(int which, void *vbuf, int nlist, int *list) { FFT_SCALAR *buf = (FFT_SCALAR *) vbuf; - if (flag == MPOLE_GRID) { + if (which == MPOLE_GRID) { FFT_SCALAR *dest = m_kspace->grid_brick_start; for (int i = 0; i < nlist; i++) dest[list[i]] = buf[i]; - } else if (flag == POLAR_GRID) { + } else if (which == POLAR_GRID) { FFT_SCALAR *dest = p_kspace->grid_brick_start; for (int i = 0; i < nlist; i++) dest[list[i]] = buf[i]; - } else if (flag == POLAR_GRIDC) { + } else if (which == POLAR_GRIDC) { FFT_SCALAR *dest = pc_kspace->grid_brick_start; int n = 0; for (int i = 0; i < nlist; i++) { dest[2*list[i]] = buf[n++]; dest[2*list[i]+1] = buf[n++]; } - } else if (flag == DISP_GRID) { + } else if (which == DISP_GRID) { FFT_SCALAR *dest = d_kspace->grid_brick_start; for (int i = 0; i < nlist; i++) dest[list[i]] = buf[i]; - } else if (flag == INDUCE_GRID) { + } else if (which == INDUCE_GRID) { FFT_SCALAR *dest = i_kspace->grid_brick_start; for (int i = 0; i < nlist; i++) dest[list[i]] = buf[i]; - } else if (flag == INDUCE_GRIDC) { + } else if (which == INDUCE_GRIDC) { FFT_SCALAR *dest = ic_kspace->grid_brick_start; int n = 0; for (int i = 0; i < nlist; i++) { @@ -1530,34 +1530,34 @@ void PairAmoeba::unpack_forward_grid(int flag, void *vbuf, int nlist, int *list) pack ghost values into buf to send to another proc ------------------------------------------------------------------------- */ -void PairAmoeba::pack_reverse_grid(int flag, void *vbuf, int nlist, int *list) +void PairAmoeba::pack_reverse_grid(int which, void *vbuf, int nlist, int *list) { FFT_SCALAR *buf = (FFT_SCALAR *) vbuf; - if (flag == MPOLE_GRID) { + if (which == MPOLE_GRID) { FFT_SCALAR *src = m_kspace->grid_brick_start; for (int i = 0; i < nlist; i++) buf[i] = src[list[i]]; - } else if (flag == POLAR_GRID) { + } else if (which == POLAR_GRID) { FFT_SCALAR *src = p_kspace->grid_brick_start; for (int i = 0; i < nlist; i++) buf[i] = src[list[i]]; - } else if (flag == POLAR_GRIDC) { + } else if (which == POLAR_GRIDC) { FFT_SCALAR *src = pc_kspace->grid_brick_start; int n = 0; for (int i = 0; i < nlist; i++) { buf[n++] = src[2*list[i]]; buf[n++] = src[2*list[i]+1]; } - } else if (flag == DISP_GRID) { + } else if (which == DISP_GRID) { FFT_SCALAR *src = d_kspace->grid_brick_start; for (int i = 0; i < nlist; i++) buf[i] = src[list[i]]; - } else if (flag == INDUCE_GRID) { + } else if (which == INDUCE_GRID) { FFT_SCALAR *src = i_kspace->grid_brick_start; for (int i = 0; i < nlist; i++) buf[i] = src[list[i]]; - } else if (flag == INDUCE_GRIDC) { + } else if (which == INDUCE_GRIDC) { FFT_SCALAR *src = ic_kspace->grid_brick_start; int n = 0; for (int i = 0; i < nlist; i++) { @@ -1571,34 +1571,34 @@ void PairAmoeba::pack_reverse_grid(int flag, void *vbuf, int nlist, int *list) unpack another proc's ghost values from buf and add to own values ------------------------------------------------------------------------- */ -void PairAmoeba::unpack_reverse_grid(int flag, void *vbuf, int nlist, int *list) +void PairAmoeba::unpack_reverse_grid(int which, void *vbuf, int nlist, int *list) { FFT_SCALAR *buf = (FFT_SCALAR *) vbuf; - if (flag == MPOLE_GRID) { + if (which == MPOLE_GRID) { FFT_SCALAR *dest = m_kspace->grid_brick_start; for (int i = 0; i < nlist; i++) dest[list[i]] += buf[i]; - } else if (flag == POLAR_GRID) { + } else if (which == POLAR_GRID) { FFT_SCALAR *dest = p_kspace->grid_brick_start; for (int i = 0; i < nlist; i++) dest[list[i]] += buf[i]; - } else if (flag == POLAR_GRIDC) { + } else if (which == POLAR_GRIDC) { FFT_SCALAR *dest = pc_kspace->grid_brick_start; int n = 0; for (int i = 0; i < nlist; i++) { dest[2*list[i]] += buf[n++]; dest[2*list[i]+1] += buf[n++]; } - } else if (flag == DISP_GRID) { + } else if (which == DISP_GRID) { FFT_SCALAR *dest = d_kspace->grid_brick_start; for (int i = 0; i < nlist; i++) dest[list[i]] += buf[i]; - } else if (flag == INDUCE_GRID) { + } else if (which == INDUCE_GRID) { FFT_SCALAR *dest = i_kspace->grid_brick_start; for (int i = 0; i < nlist; i++) dest[list[i]] += buf[i]; - } else if (flag == INDUCE_GRIDC) { + } else if (which == INDUCE_GRIDC) { FFT_SCALAR *dest = ic_kspace->grid_brick_start; int n = 0; for (int i = 0; i < nlist; i++) { diff --git a/src/EXTRA-FIX/fix_ttm_grid.cpp b/src/EXTRA-FIX/fix_ttm_grid.cpp index 98e88687fe..ff9f864f8e 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.cpp +++ b/src/EXTRA-FIX/fix_ttm_grid.cpp @@ -96,7 +96,7 @@ void FixTTMGrid::post_constructor() if (infile) { read_electron_temperatures(infile); - grid->forward_comm(Grid3d::FIX,this,1,sizeof(double),0, + grid->forward_comm(Grid3d::FIX,this,0,1,sizeof(double), grid_buf1,grid_buf2,MPI_DOUBLE); } } @@ -204,7 +204,7 @@ void FixTTMGrid::end_of_step() flangevin[i][2]*v[i][2]); } - grid->reverse_comm(Grid3d::FIX,this,1,sizeof(double),0, + grid->reverse_comm(Grid3d::FIX,this,0,1,sizeof(double), grid_buf1,grid_buf2,MPI_DOUBLE); // clang-format off @@ -257,7 +257,7 @@ void FixTTMGrid::end_of_step() // communicate new T_electron values to ghost grid points - grid->forward_comm(Grid3d::FIX,this,1,sizeof(double),0, + grid->forward_comm(Grid3d::FIX,this,0,1,sizeof(double), grid_buf1,grid_buf2,MPI_DOUBLE); } } @@ -310,7 +310,7 @@ void FixTTMGrid::read_electron_temperatures(const std::string &filename) called back to from Grid3d::read_file() ------------------------------------------------------------------------- */ -int FixTTMGrid::unpack_read_grid(char *buffer) +int FixTTMGrid::unpack_read_grid(int /*nlines*/, char *buffer) { // loop over chunk of lines of grid point values // skip comment lines @@ -524,7 +524,7 @@ void FixTTMGrid::reset_grid() memory->create(remap_buf1, nremap_buf1, "ttm/grid:remap_buf1"); memory->create(remap_buf2, nremap_buf2, "ttm/grid:remap_buf2"); - grid->remap(Grid3d::FIX,this,1,sizeof(double),remap_buf1,remap_buf2,MPI_DOUBLE); + grid->remap(Grid3d::FIX,this,0,1,sizeof(double),remap_buf1,remap_buf2,MPI_DOUBLE); memory->destroy(remap_buf1); memory->destroy(remap_buf2); @@ -538,7 +538,7 @@ void FixTTMGrid::reset_grid() // communicate temperatures to ghost cells on new grid - grid->forward_comm(Grid3d::FIX,this,1,sizeof(double),0, + grid->forward_comm(Grid3d::FIX,this,0,1,sizeof(double), grid_buf1,grid_buf2,MPI_DOUBLE); // zero new net_energy_transfer @@ -553,7 +553,7 @@ void FixTTMGrid::reset_grid() pack own values to buf to send to another proc ------------------------------------------------------------------------- */ -void FixTTMGrid::pack_forward_grid(int /*flag*/, void *vbuf, int nlist, int *list) +void FixTTMGrid::pack_forward_grid(int /*which*/, void *vbuf, int nlist, int *list) { auto buf = (double *) vbuf; double *src = &T_electron[nzlo_out][nylo_out][nxlo_out]; @@ -565,7 +565,7 @@ void FixTTMGrid::pack_forward_grid(int /*flag*/, void *vbuf, int nlist, int *lis unpack another proc's own values from buf and set own ghost values ------------------------------------------------------------------------- */ -void FixTTMGrid::unpack_forward_grid(int /*flag*/, void *vbuf, int nlist, int *list) +void FixTTMGrid::unpack_forward_grid(int /*which*/, void *vbuf, int nlist, int *list) { auto buf = (double *) vbuf; double *dest = &T_electron[nzlo_out][nylo_out][nxlo_out]; @@ -577,7 +577,7 @@ void FixTTMGrid::unpack_forward_grid(int /*flag*/, void *vbuf, int nlist, int *l pack ghost values into buf to send to another proc ------------------------------------------------------------------------- */ -void FixTTMGrid::pack_reverse_grid(int /*flag*/, void *vbuf, int nlist, int *list) +void FixTTMGrid::pack_reverse_grid(int /*which*/, void *vbuf, int nlist, int *list) { auto buf = (double *) vbuf; double *src = &net_energy_transfer[nzlo_out][nylo_out][nxlo_out]; @@ -589,7 +589,7 @@ void FixTTMGrid::pack_reverse_grid(int /*flag*/, void *vbuf, int nlist, int *lis unpack another proc's ghost values from buf and add to own values ------------------------------------------------------------------------- */ -void FixTTMGrid::unpack_reverse_grid(int /*flag*/, void *vbuf, int nlist, int *list) +void FixTTMGrid::unpack_reverse_grid(int /*which*/, void *vbuf, int nlist, int *list) { auto buf = (double *) vbuf; double *dest = &net_energy_transfer[nzlo_out][nylo_out][nxlo_out]; @@ -601,7 +601,7 @@ void FixTTMGrid::unpack_reverse_grid(int /*flag*/, void *vbuf, int nlist, int *l pack old grid values to buf to send to another proc ------------------------------------------------------------------------- */ -void FixTTMGrid::pack_remap_grid(void *vbuf, int nlist, int *list) +void FixTTMGrid::pack_remap_grid(int /*which*/, void *vbuf, int nlist, int *list) { auto buf = (double *) vbuf; double *src = @@ -614,7 +614,7 @@ void FixTTMGrid::pack_remap_grid(void *vbuf, int nlist, int *list) unpack another proc's own values from buf and set own ghost values ------------------------------------------------------------------------- */ -void FixTTMGrid::unpack_remap_grid(void *vbuf, int nlist, int *list) +void FixTTMGrid::unpack_remap_grid(int /*which*/, void *vbuf, int nlist, int *list) { auto buf = (double *) vbuf; double *dest = &T_electron[nzlo_out][nylo_out][nxlo_out]; diff --git a/src/EXTRA-FIX/fix_ttm_grid.h b/src/EXTRA-FIX/fix_ttm_grid.h index 0418598e41..7d18ba2c1a 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.h +++ b/src/EXTRA-FIX/fix_ttm_grid.h @@ -46,9 +46,9 @@ class FixTTMGrid : public FixTTM { void unpack_forward_grid(int, void *, int, int *) override; void pack_reverse_grid(int, void *, int, int *) override; void unpack_reverse_grid(int, void *, int, int *) override; - void pack_remap_grid(void *, int, int *) override; - void unpack_remap_grid(void *, int, int *) override; - int unpack_read_grid(char *) override; + void pack_remap_grid(int, void *, int, int *) override; + void unpack_remap_grid(int, void *, int, int *) override; + int unpack_read_grid(int, char *) override; void pack_write_grid(int, void *) override; void unpack_write_grid(int, void *, int *) override; diff --git a/src/fix.h b/src/fix.h index ccfcc61856..ea82c1677b 100644 --- a/src/fix.h +++ b/src/fix.h @@ -217,9 +217,9 @@ class Fix : protected Pointers { virtual void unpack_forward_grid(int, void *, int, int *){}; virtual void pack_reverse_grid(int, void *, int, int *){}; virtual void unpack_reverse_grid(int, void *, int, int *){}; - virtual void pack_remap_grid(void *, int, int *){}; - virtual void unpack_remap_grid(void *, int, int *){}; - virtual int unpack_read_grid(char *) {return 0;}; + virtual void pack_remap_grid(int, void *, int, int *){}; + virtual void unpack_remap_grid(int, void *, int, int *){}; + virtual int unpack_read_grid(int, char *) {return 0;}; virtual void pack_write_grid(int, void *){}; virtual void unpack_write_grid(int, void *, int *){}; diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index ed895ce533..ed669b8804 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -1865,7 +1865,7 @@ void FixAveGrid::unpack_reverse_grid(int /*flag*/, void *vbuf, int nlist, int *l invoked for both GRID and ATOM mode ------------------------------------------------------------------------- */ -void FixAveGrid::pack_remap_grid(void *vbuf, int nlist, int *list) +void FixAveGrid::pack_remap_grid(int /*which*/, void *vbuf, int nlist, int *list) { int i,j,m,iwindow; @@ -1892,7 +1892,7 @@ void FixAveGrid::pack_remap_grid(void *vbuf, int nlist, int *list) invoked for both GRID and ATOM mode ------------------------------------------------------------------------- */ -void FixAveGrid::unpack_remap_grid(void *vbuf, int nlist, int *list) +void FixAveGrid::unpack_remap_grid(int /*which*/, void *vbuf, int nlist, int *list) { int i,j,m,iwindow; @@ -2086,9 +2086,9 @@ void FixAveGrid::reset_grid() if (nremap_buf2) memory->create(remap_buf2, nper*nremap_buf2, "ave/grid:remap_buf2"); if (dimension == 2) - grid2d->remap(Grid2d::FIX,this,nper,sizeof(double),remap_buf1,remap_buf2,MPI_DOUBLE); + grid2d->remap(Grid2d::FIX,this,0,nper,sizeof(double),remap_buf1,remap_buf2,MPI_DOUBLE); else - grid3d->remap(Grid3d::FIX,this,nper,sizeof(double),remap_buf1,remap_buf2,MPI_DOUBLE); + grid3d->remap(Grid3d::FIX,this,0,nper,sizeof(double),remap_buf1,remap_buf2,MPI_DOUBLE); memory->destroy(remap_buf1); memory->destroy(remap_buf2); diff --git a/src/fix_ave_grid.h b/src/fix_ave_grid.h index bc5ce8ee0c..326adb9f0b 100644 --- a/src/fix_ave_grid.h +++ b/src/fix_ave_grid.h @@ -35,8 +35,8 @@ class FixAveGrid : public Fix { void pack_reverse_grid(int, void *, int, int *) override; void unpack_reverse_grid(int, void *, int, int *) override; - void pack_remap_grid(void *, int, int *) override; - void unpack_remap_grid(void *, int, int *) override; + void pack_remap_grid(int, void *, int, int *) override; + void unpack_remap_grid(int, void *, int, int *) override; void reset_grid() override; diff --git a/src/grid2d.cpp b/src/grid2d.cpp index 5e43018e5f..54004ac188 100644 --- a/src/grid2d.cpp +++ b/src/grid2d.cpp @@ -1083,29 +1083,29 @@ int Grid2d::ghost_adjacent_tiled() forward comm of my owned cells to other's ghost cells ------------------------------------------------------------------------- */ -void Grid2d::forward_comm(int caller, void *ptr, int nper, int nbyte, int which, +void Grid2d::forward_comm(int caller, void *ptr, int which, int nper, int nbyte, void *buf1, void *buf2, MPI_Datatype datatype) { if (layout != Comm::LAYOUT_TILED) { if (caller == KSPACE) - forward_comm_brick((KSpace *) ptr,nper,nbyte,which, + forward_comm_brick((KSpace *) ptr,which,nper,nbyte, buf1,buf2,datatype); else if (caller == PAIR) - forward_comm_brick((Pair *) ptr,nper,nbyte,which, + forward_comm_brick((Pair *) ptr,which,nper,nbyte, buf1,buf2,datatype); else if (caller == FIX) - forward_comm_brick((Fix *) ptr,nper,nbyte,which, + forward_comm_brick((Fix *) ptr,which,nper,nbyte, buf1,buf2,datatype); } else { if (caller == KSPACE) - forward_comm_tiled((KSpace *) ptr,nper,nbyte,which, + forward_comm_tiled((KSpace *) ptr,which,nper,nbyte, buf1,buf2,datatype); else if (caller == PAIR) - forward_comm_tiled((Pair *) ptr,nper,nbyte,which, - buf1,buf2,datatype); + forward_comm_tiled((Pair *) ptr,which,nper,nbyte, + buf1,buf2,datatype); else if (caller == FIX) - forward_comm_tiled((Fix *) ptr,nper,nbyte, - which,buf1,buf2,datatype); + forward_comm_tiled((Fix *) ptr,which,nper,nbyte, + buf1,buf2,datatype); } } @@ -1115,7 +1115,7 @@ void Grid2d::forward_comm(int caller, void *ptr, int nper, int nbyte, int which, template < class T > void Grid2d:: -forward_comm_brick(T *ptr, int nper, int /*nbyte*/, int which, +forward_comm_brick(T *ptr, int which, int nper, int /*nbyte*/, void *buf1, void *buf2, MPI_Datatype datatype) { int m; @@ -1145,7 +1145,7 @@ forward_comm_brick(T *ptr, int nper, int /*nbyte*/, int which, template < class T > void Grid2d:: -forward_comm_tiled(T *ptr, int nper, int nbyte, int which, +forward_comm_tiled(T *ptr, int which, int nper, int nbyte, void *buf1, void *vbuf2, MPI_Datatype datatype) { int i,m,offset; @@ -1188,28 +1188,28 @@ forward_comm_tiled(T *ptr, int nper, int nbyte, int which, reverse comm of my ghost cells to sum to owner cells ------------------------------------------------------------------------- */ -void Grid2d::reverse_comm(int caller, void *ptr, int nper, int nbyte, int which, +void Grid2d::reverse_comm(int caller, void *ptr, int which, int nper, int nbyte, void *buf1, void *buf2, MPI_Datatype datatype) { if (layout != Comm::LAYOUT_TILED) { if (caller == KSPACE) - reverse_comm_brick((KSpace *) ptr,nper,nbyte,which, + reverse_comm_brick((KSpace *) ptr,which,nper,nbyte, buf1,buf2,datatype); else if (caller == PAIR) - reverse_comm_brick((Pair *) ptr,nper,nbyte,which, + reverse_comm_brick((Pair *) ptr,which,nper,nbyte, buf1,buf2,datatype); else if (caller == FIX) - reverse_comm_brick((Fix *) ptr,nper,nbyte,which, + reverse_comm_brick((Fix *) ptr,which,nper,nbyte, buf1,buf2,datatype); } else { if (caller == KSPACE) - reverse_comm_tiled((KSpace *) ptr,nper,nbyte,which, + reverse_comm_tiled((KSpace *) ptr,which,nper,nbyte, buf1,buf2,datatype); else if (caller == PAIR) - reverse_comm_tiled((Pair *) ptr,nper,nbyte,which, + reverse_comm_tiled((Pair *) ptr,which,nper,nbyte, buf1,buf2,datatype); else if (caller == FIX) - reverse_comm_tiled((Fix *) ptr,nper,nbyte,which, + reverse_comm_tiled((Fix *) ptr,which,nper,nbyte, buf1,buf2,datatype); } } @@ -1220,7 +1220,7 @@ void Grid2d::reverse_comm(int caller, void *ptr, int nper, int nbyte, int which, template < class T > void Grid2d:: -reverse_comm_brick(T *ptr, int nper, int /*nbyte*/, int which, +reverse_comm_brick(T *ptr, int which, int nper, int /*nbyte*/, void *buf1, void *buf2, MPI_Datatype datatype) { int m; @@ -1250,7 +1250,7 @@ reverse_comm_brick(T *ptr, int nper, int /*nbyte*/, int which, template < class T > void Grid2d:: -reverse_comm_tiled(T *ptr, int nper, int nbyte, int which, +reverse_comm_tiled(T *ptr, int which, int nper, int nbyte, void *buf1, void *vbuf2, MPI_Datatype datatype) { int i,m,offset; @@ -1444,16 +1444,16 @@ void Grid2d::setup_remap(Grid2d *old, int &nremap_buf1, int &nremap_buf2) pack/unpack operations are performed by caller via callbacks ------------------------------------------------------------------------- */ -void Grid2d::remap(int caller, void *ptr, int nper, int nbyte, +void Grid2d::remap(int caller, void *ptr, int which, int nper, int nbyte, void *buf1, void *buf2, MPI_Datatype datatype) { - if (caller == FIX) remap_style((Fix *) ptr,nper,nbyte,buf1,buf2,datatype); + if (caller == FIX) remap_style((Fix *) ptr,which,nper,nbyte,buf1,buf2,datatype); } /* ------------------------------------------------------------------------- */ template < class T > -void Grid2d::remap_style(T *ptr, int nper, int nbyte, +void Grid2d::remap_style(T *ptr, int which, int nper, int nbyte, void *buf1, void *vbuf2, MPI_Datatype datatype) { int i,m,offset; @@ -1471,15 +1471,15 @@ void Grid2d::remap_style(T *ptr, int nper, int nbyte, // perform all sends to other procs for (m = 0; m < nsend_remap; m++) { - ptr->pack_remap_grid(buf1,send_remap[m].npack,send_remap[m].packlist); + ptr->pack_remap_grid(which,buf1,send_remap[m].npack,send_remap[m].packlist); MPI_Send(buf1,nper*send_remap[m].npack,datatype,send_remap[m].proc,0,gridcomm); } // perform remap to self if defined if (self_remap) { - ptr->pack_remap_grid(buf1,copy_remap.npack,copy_remap.packlist); - ptr->unpack_remap_grid(buf1,copy_remap.nunpack,copy_remap.unpacklist); + ptr->pack_remap_grid(which,buf1,copy_remap.npack,copy_remap.packlist); + ptr->unpack_remap_grid(which,buf1,copy_remap.nunpack,copy_remap.unpacklist); } // unpack all received data @@ -1487,7 +1487,7 @@ void Grid2d::remap_style(T *ptr, int nper, int nbyte, for (i = 0; i < nrecv_remap; i++) { MPI_Waitany(nrecv_remap,requests_remap,&m,MPI_STATUS_IGNORE); offset = nper * recv_remap[m].offset * nbyte; - ptr->unpack_remap_grid((void *) &buf2[offset], + ptr->unpack_remap_grid(which,(void *) &buf2[offset], recv_remap[m].nunpack,recv_remap[m].unpacklist); } } @@ -1525,7 +1525,7 @@ void Grid2d::read_file_style(T *ptr, FILE *fp, int nchunk, int maxline) int eof = utils::read_lines_from_file(fp, nchunk, maxline, buffer, me, world); if (eof) error->all(FLERR, "Unexpected end of grid data file"); - nread += ptr->unpack_read_grid(buffer); + nread += ptr->unpack_read_grid(nchunk,buffer); } delete [] buffer; diff --git a/src/grid2d.h b/src/grid2d.h index 284e96c4f2..bb1bfb25e1 100644 --- a/src/grid2d.h +++ b/src/grid2d.h @@ -48,7 +48,7 @@ class Grid2d : protected Pointers { void reverse_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); void setup_remap(Grid2d *, int &, int &); - void remap(int, void *, int, int, void *, void *, MPI_Datatype); + void remap(int, void *, int, int, int, void *, void *, MPI_Datatype); void read_file(int, void *, FILE *, int, int); void write_file(int, void *, int, int, int, MPI_Datatype); @@ -242,7 +242,7 @@ protected: template void reverse_comm_brick(T *, int, int, int, void *, void *, MPI_Datatype); template void reverse_comm_tiled(T *, int, int, int, void *, void *, MPI_Datatype); - template void remap_style(T *, int, int, void *, void *, MPI_Datatype); + template void remap_style(T *, int, int, int, void *, void *, MPI_Datatype); template void read_file_style(T *, FILE *, int, int); template void write_file_style(T *, int, int, int, MPI_Datatype); diff --git a/src/grid3d.cpp b/src/grid3d.cpp index 1f5669b5f7..c57a47721c 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -1251,29 +1251,29 @@ int Grid3d::ghost_adjacent_tiled() forward comm of my owned cells to other's ghost cells ------------------------------------------------------------------------- */ -void Grid3d::forward_comm(int caller, void *ptr, int nper, int nbyte, int which, +void Grid3d::forward_comm(int caller, void *ptr, int which, int nper, int nbyte, void *buf1, void *buf2, MPI_Datatype datatype) { if (layout != Comm::LAYOUT_TILED) { if (caller == KSPACE) - forward_comm_brick((KSpace *) ptr,nper,nbyte,which, + forward_comm_brick((KSpace *) ptr,which,nper,nbyte, buf1,buf2,datatype); else if (caller == PAIR) - forward_comm_brick((Pair *) ptr,nper,nbyte,which, + forward_comm_brick((Pair *) ptr,which,nper,nbyte, buf1,buf2,datatype); else if (caller == FIX) - forward_comm_brick((Fix *) ptr,nper,nbyte,which, + forward_comm_brick((Fix *) ptr,which,nper,nbyte, buf1,buf2,datatype); } else { if (caller == KSPACE) - forward_comm_tiled((KSpace *) ptr,nper,nbyte,which, + forward_comm_tiled((KSpace *) ptr,which,nper,nbyte, buf1,buf2,datatype); else if (caller == PAIR) - forward_comm_tiled((Pair *) ptr,nper,nbyte,which, - buf1,buf2,datatype); + forward_comm_tiled((Pair *) ptr,which,nper,nbyte, + buf1,buf2,datatype); else if (caller == FIX) - forward_comm_tiled((Fix *) ptr,nper,nbyte, - which,buf1,buf2,datatype); + forward_comm_tiled((Fix *) ptr,which,nper,nbyte, + buf1,buf2,datatype); } } @@ -1283,7 +1283,7 @@ void Grid3d::forward_comm(int caller, void *ptr, int nper, int nbyte, int which, template < class T > void Grid3d:: -forward_comm_brick(T *ptr, int nper, int /*nbyte*/, int which, +forward_comm_brick(T *ptr, int which, int nper, int /*nbyte*/, void *buf1, void *buf2, MPI_Datatype datatype) { int m; @@ -1313,7 +1313,7 @@ forward_comm_brick(T *ptr, int nper, int /*nbyte*/, int which, template < class T > void Grid3d:: -forward_comm_tiled(T *ptr, int nper, int nbyte, int which, +forward_comm_tiled(T *ptr, int which, int nper, int nbyte, void *buf1, void *vbuf2, MPI_Datatype datatype) { int i,m,offset; @@ -1356,28 +1356,28 @@ forward_comm_tiled(T *ptr, int nper, int nbyte, int which, reverse comm of my ghost cells to sum to owner cells ------------------------------------------------------------------------- */ -void Grid3d::reverse_comm(int caller, void *ptr, int nper, int nbyte, int which, +void Grid3d::reverse_comm(int caller, void *ptr, int which, int nper, int nbyte, void *buf1, void *buf2, MPI_Datatype datatype) { if (layout != Comm::LAYOUT_TILED) { if (caller == KSPACE) - reverse_comm_brick((KSpace *) ptr,nper,nbyte,which, + reverse_comm_brick((KSpace *) ptr,which,nper,nbyte, buf1,buf2,datatype); else if (caller == PAIR) - reverse_comm_brick((Pair *) ptr,nper,nbyte,which, + reverse_comm_brick((Pair *) ptr,which,nper,nbyte, buf1,buf2,datatype); else if (caller == FIX) - reverse_comm_brick((Fix *) ptr,nper,nbyte,which, + reverse_comm_brick((Fix *) ptr,which,nper,nbyte, buf1,buf2,datatype); } else { if (caller == KSPACE) - reverse_comm_tiled((KSpace *) ptr,nper,nbyte,which, + reverse_comm_tiled((KSpace *) ptr,which,nper,nbyte, buf1,buf2,datatype); else if (caller == PAIR) - reverse_comm_tiled((Pair *) ptr,nper,nbyte,which, - buf1,buf2,datatype); + reverse_comm_tiled((Pair *) ptr,which,nper,nbyte, + buf1,buf2,datatype); else if (caller == FIX) - reverse_comm_tiled((Fix *) ptr,nper,nbyte,which, + reverse_comm_tiled((Fix *) ptr,which,nper,nbyte, buf1,buf2,datatype); } } @@ -1388,7 +1388,7 @@ void Grid3d::reverse_comm(int caller, void *ptr, int nper, int nbyte, int which, template < class T > void Grid3d:: -reverse_comm_brick(T *ptr, int nper, int /*nbyte*/, int which, +reverse_comm_brick(T *ptr, int which, int nper, int /*nbyte*/, void *buf1, void *buf2, MPI_Datatype datatype) { int m; @@ -1418,7 +1418,7 @@ reverse_comm_brick(T *ptr, int nper, int /*nbyte*/, int which, template < class T > void Grid3d:: -reverse_comm_tiled(T *ptr, int nper, int nbyte, int which, +reverse_comm_tiled(T *ptr, int which, int nper, int nbyte, void *buf1, void *vbuf2, MPI_Datatype datatype) { int i,m,offset; @@ -1615,16 +1615,16 @@ void Grid3d::setup_remap(Grid3d *old, int &nremap_buf1, int &nremap_buf2) pack/unpack operations are performed by caller via callbacks ------------------------------------------------------------------------- */ -void Grid3d::remap(int caller, void *ptr, int nper, int nbyte, +void Grid3d::remap(int caller, void *ptr, int which, int nper, int nbyte, void *buf1, void *buf2, MPI_Datatype datatype) { - if (caller == FIX) remap_style((Fix *) ptr,nper,nbyte,buf1,buf2,datatype); + if (caller == FIX) remap_style((Fix *) ptr,which,nper,nbyte,buf1,buf2,datatype); } /* ------------------------------------------------------------------------- */ template < class T > -void Grid3d::remap_style(T *ptr, int nper, int nbyte, +void Grid3d::remap_style(T *ptr, int which, int nper, int nbyte, void *buf1, void *vbuf2, MPI_Datatype datatype) { int i,m,offset; @@ -1642,15 +1642,15 @@ void Grid3d::remap_style(T *ptr, int nper, int nbyte, // perform all sends to other procs for (m = 0; m < nsend_remap; m++) { - ptr->pack_remap_grid(buf1,send_remap[m].npack,send_remap[m].packlist); + ptr->pack_remap_grid(which,buf1,send_remap[m].npack,send_remap[m].packlist); MPI_Send(buf1,nper*send_remap[m].npack,datatype,send_remap[m].proc,0,gridcomm); } // perform remap to self if defined if (self_remap) { - ptr->pack_remap_grid(buf1,copy_remap.npack,copy_remap.packlist); - ptr->unpack_remap_grid(buf1,copy_remap.nunpack,copy_remap.unpacklist); + ptr->pack_remap_grid(which,buf1,copy_remap.npack,copy_remap.packlist); + ptr->unpack_remap_grid(which,buf1,copy_remap.nunpack,copy_remap.unpacklist); } // unpack all received data @@ -1658,7 +1658,7 @@ void Grid3d::remap_style(T *ptr, int nper, int nbyte, for (i = 0; i < nrecv_remap; i++) { MPI_Waitany(nrecv_remap,requests_remap,&m,MPI_STATUS_IGNORE); offset = nper * recv_remap[m].offset * nbyte; - ptr->unpack_remap_grid((void *) &buf2[offset], + ptr->unpack_remap_grid(which,(void *) &buf2[offset], recv_remap[m].nunpack,recv_remap[m].unpacklist); } } @@ -1696,7 +1696,7 @@ void Grid3d::read_file_style(T *ptr, FILE *fp, int nchunk, int maxline) int eof = utils::read_lines_from_file(fp, nchunk, maxline, buffer, me, world); if (eof) error->all(FLERR, "Unexpected end of grid data file"); - nread += ptr->unpack_read_grid(buffer); + nread += ptr->unpack_read_grid(nchunk,buffer); } delete [] buffer; diff --git a/src/grid3d.h b/src/grid3d.h index 7ab34080ef..a34ba0dbd6 100644 --- a/src/grid3d.h +++ b/src/grid3d.h @@ -50,7 +50,7 @@ class Grid3d : protected Pointers { void reverse_comm(int, void *, int, int, int, void *, void *, MPI_Datatype); void setup_remap(Grid3d *, int &, int &); - void remap(int, void *, int, int, void *, void *, MPI_Datatype); + void remap(int, void *, int, int, int, void *, void *, MPI_Datatype); void read_file(int, void *, FILE *, int, int); void write_file(int, void *, int, int, int, MPI_Datatype); @@ -247,7 +247,7 @@ class Grid3d : protected Pointers { template void reverse_comm_brick(T *, int, int, int, void *, void *, MPI_Datatype); template void reverse_comm_tiled(T *, int, int, int, void *, void *, MPI_Datatype); - template void remap_style(T *, int, int, void *, void *, MPI_Datatype); + template void remap_style(T *, int, int, int, void *, void *, MPI_Datatype); template void read_file_style(T *, FILE *, int, int); template void write_file_style(T *, int, int, int, MPI_Datatype); From cc18528ea1e80d076e8eecabdf5c5d00bdb26def Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 30 Nov 2022 10:56:54 -0700 Subject: [PATCH 119/142] more bookkeeping changes --- src/AMOEBA/amoeba_convolution.cpp | 8 +-- src/DIELECTRIC/msm_dielectric.cpp | 22 +++---- src/DIELECTRIC/pppm_dielectric.cpp | 20 +++---- src/DIELECTRIC/pppm_disp_dielectric.cpp | 70 ++++++++++------------ src/ELECTRODE/pppm_electrode.cpp | 16 ++--- src/GPU/pppm_gpu.cpp | 33 +++++----- src/INTEL/pppm_disp_intel.cpp | 57 +++++++++--------- src/INTEL/pppm_electrode_intel.cpp | 16 ++--- src/INTEL/pppm_intel.cpp | 14 ++--- src/KOKKOS/grid3d_kokkos.cpp | 20 +++---- src/KSPACE/msm.cpp | 40 ++++++------- src/KSPACE/msm_cg.cpp | 40 ++++++------- src/KSPACE/pppm.cpp | 28 ++++----- src/KSPACE/pppm_cg.cpp | 20 +++---- src/KSPACE/pppm_dipole.cpp | 12 ++-- src/KSPACE/pppm_dipole_spin.cpp | 12 ++-- src/KSPACE/pppm_disp.cpp | 80 ++++++++++++------------- src/KSPACE/pppm_stagger.cpp | 20 +++---- src/OPENMP/msm_cg_omp.cpp | 22 +++---- src/fix_ave_grid.cpp | 12 ++-- 20 files changed, 277 insertions(+), 285 deletions(-) diff --git a/src/AMOEBA/amoeba_convolution.cpp b/src/AMOEBA/amoeba_convolution.cpp index dd381fd581..e3723c42f5 100644 --- a/src/AMOEBA/amoeba_convolution.cpp +++ b/src/AMOEBA/amoeba_convolution.cpp @@ -291,7 +291,7 @@ FFT_SCALAR *AmoebaConvolution::pre_convolution_3d() debug_scalar(GRIDBRICK_OUT,"PRE Convo / PRE Grid3d"); #endif - gc->reverse_comm(Grid3d::PAIR,amoeba,1,sizeof(FFT_SCALAR),which, + gc->reverse_comm(Grid3d::PAIR,amoeba,which,1,sizeof(FFT_SCALAR), gc_buf1,gc_buf2,MPI_FFT_SCALAR); #if DEBUG_AMOEBA @@ -354,7 +354,7 @@ FFT_SCALAR *AmoebaConvolution::pre_convolution_4d() debug_scalar(GRIDBRICK_OUT,"PRE Convo / PRE Grid3d"); #endif - gc->reverse_comm(Grid3d::PAIR,amoeba,2,sizeof(FFT_SCALAR),which, + gc->reverse_comm(Grid3d::PAIR,amoeba,which,2,sizeof(FFT_SCALAR), gc_buf1,gc_buf2,MPI_FFT_SCALAR); #if DEBUG_AMOEBA @@ -443,7 +443,7 @@ void *AmoebaConvolution::post_convolution_3d() debug_scalar(GRIDBRICK_IN,"POST Convo / PRE grid3d"); debug_file(GRIDBRICK_IN,"post.convo.pre.grid3d"); #endif - gc->forward_comm(Grid3d::PAIR,amoeba,1,sizeof(FFT_SCALAR),which, + gc->forward_comm(Grid3d::PAIR,amoeba,which,1,sizeof(FFT_SCALAR), gc_buf1,gc_buf2,MPI_FFT_SCALAR); return (void *) grid_brick; @@ -485,7 +485,7 @@ void *AmoebaConvolution::post_convolution_4d() debug_scalar(GRIDBRICK_IN,"POST Convo / PRE grid3d"); debug_file(GRIDBRICK_IN,"post.convo.pre.grid3d"); #endif - gc->forward_comm(Grid3d::PAIR,amoeba,2,sizeof(FFT_SCALAR),which, + gc->forward_comm(Grid3d::PAIR,amoeba,which,2,sizeof(FFT_SCALAR), gc_buf1,gc_buf2,MPI_FFT_SCALAR); return (void *) cgrid_brick; diff --git a/src/DIELECTRIC/msm_dielectric.cpp b/src/DIELECTRIC/msm_dielectric.cpp index 824b231ccc..bbb31d7d66 100644 --- a/src/DIELECTRIC/msm_dielectric.cpp +++ b/src/DIELECTRIC/msm_dielectric.cpp @@ -130,7 +130,7 @@ void MSMDielectric::compute(int eflag, int vflag) // to fully sum contribution in their 3d grid current_level = 0; - gcall->reverse_comm(Grid3d::KSPACE,this,1,sizeof(double),REVERSE_RHO, + gcall->reverse_comm(Grid3d::KSPACE,this,REVERSE_RHO,1,sizeof(double), gcall_buf1,gcall_buf2,MPI_DOUBLE); // forward communicate charge density values to fill ghost grid points @@ -139,7 +139,7 @@ void MSMDielectric::compute(int eflag, int vflag) for (int n=0; n<=levels-2; n++) { if (!active_flag[n]) continue; current_level = n; - gc[n]->forward_comm(Grid3d::KSPACE,this,1,sizeof(double),FORWARD_RHO, + gc[n]->forward_comm(Grid3d::KSPACE,this,FORWARD_RHO,1,sizeof(double), gc_buf1[n],gc_buf2[n],MPI_DOUBLE); direct(n); restriction(n); @@ -152,15 +152,15 @@ void MSMDielectric::compute(int eflag, int vflag) if (domain->nonperiodic) { current_level = levels-1; gc[levels-1]-> - forward_comm(Grid3d::KSPACE,this,1,sizeof(double),FORWARD_RHO, + forward_comm(Grid3d::KSPACE,this,FORWARD_RHO,1,sizeof(double), gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); direct_top(levels-1); gc[levels-1]-> - reverse_comm(Grid3d::KSPACE,this,1,sizeof(double),REVERSE_AD, + reverse_comm(Grid3d::KSPACE,this,REVERSE_AD,1,sizeof(double), gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); if (vflag_atom) gc[levels-1]-> - reverse_comm(Grid3d::KSPACE,this,6,sizeof(double),REVERSE_AD_PERATOM, + reverse_comm(Grid3d::KSPACE,this,REVERSE_AD_PERATOM,6,sizeof(double), gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); } else { @@ -171,7 +171,7 @@ void MSMDielectric::compute(int eflag, int vflag) current_level = levels-1; if (vflag_atom) gc[levels-1]-> - reverse_comm(Grid3d::KSPACE,this,6,sizeof(double),REVERSE_AD_PERATOM, + reverse_comm(Grid3d::KSPACE,this,REVERSE_AD_PERATOM,6,sizeof(double), gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); } } @@ -184,27 +184,27 @@ void MSMDielectric::compute(int eflag, int vflag) prolongation(n); current_level = n; - gc[n]->reverse_comm(Grid3d::KSPACE,this,1,sizeof(double),REVERSE_AD, + gc[n]->reverse_comm(Grid3d::KSPACE,this,REVERSE_AD,1,sizeof(double), gc_buf1[n],gc_buf2[n],MPI_DOUBLE); // extra per-atom virial communication if (vflag_atom) - gc[n]->reverse_comm(Grid3d::KSPACE,this,6,sizeof(double), - REVERSE_AD_PERATOM,gc_buf1[n],gc_buf2[n],MPI_DOUBLE); + gc[n]->reverse_comm(Grid3d::KSPACE,this,REVERSE_AD_PERATOM,6,sizeof(double), + gc_buf1[n],gc_buf2[n],MPI_DOUBLE); } // all procs communicate E-field values // to fill ghost cells surrounding their 3d bricks current_level = 0; - gcall->forward_comm(Grid3d::KSPACE,this,1,sizeof(double),FORWARD_AD, + gcall->forward_comm(Grid3d::KSPACE,this,FORWARD_AD,1,sizeof(double), gcall_buf1,gcall_buf2,MPI_DOUBLE); // extra per-atom energy/virial communication if (vflag_atom) - gcall->forward_comm(Grid3d::KSPACE,this,6,sizeof(double),FORWARD_AD_PERATOM, + gcall->forward_comm(Grid3d::KSPACE,this,FORWARD_AD_PERATOM,6,sizeof(double), gcall_buf1,gcall_buf2,MPI_DOUBLE); // calculate the force on my particles (interpolation) diff --git a/src/DIELECTRIC/pppm_dielectric.cpp b/src/DIELECTRIC/pppm_dielectric.cpp index 6c979666d6..567b8e41c0 100644 --- a/src/DIELECTRIC/pppm_dielectric.cpp +++ b/src/DIELECTRIC/pppm_dielectric.cpp @@ -129,8 +129,8 @@ void PPPMDielectric::compute(int eflag, int vflag) // to fully sum contribution in their 3d bricks // remap from 3d decomposition to FFT decomposition - gc->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), - REVERSE_RHO,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(); // compute potential gradient on my FFT grid and @@ -144,21 +144,21 @@ void PPPMDielectric::compute(int eflag, int vflag) // to fill ghost cells surrounding their 3d bricks if (differentiation_flag == 1) - gc->forward_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), - FORWARD_AD,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_AD,1,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); else - gc->forward_comm(Grid3d::KSPACE,this,3,sizeof(FFT_SCALAR), - FORWARD_IK,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_IK,3,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); // extra per-atom energy/virial communication if (evflag_atom) { if (differentiation_flag == 1 && vflag_atom) - gc->forward_comm(Grid3d::KSPACE,this,6,sizeof(FFT_SCALAR), - FORWARD_AD_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_AD_PERATOM,6,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); else if (differentiation_flag == 0) - gc->forward_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR), - FORWARD_IK_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_IK_PERATOM,7,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); } // calculate the force on my particles diff --git a/src/DIELECTRIC/pppm_disp_dielectric.cpp b/src/DIELECTRIC/pppm_disp_dielectric.cpp index 70eb7ccca8..3c455f9259 100644 --- a/src/DIELECTRIC/pppm_disp_dielectric.cpp +++ b/src/DIELECTRIC/pppm_disp_dielectric.cpp @@ -148,8 +148,8 @@ void PPPMDispDielectric::compute(int eflag, int vflag) make_rho_c(); - gc->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), - REVERSE_RHO,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(nxlo_in,nylo_in,nzlo_in,nxhi_in,nyhi_in,nzhi_in, density_brick,density_fft,work1,remap); @@ -163,14 +163,14 @@ void PPPMDispDielectric::compute(int eflag, int vflag) virial_1,vg,vg2, u_brick,v0_brick,v1_brick,v2_brick,v3_brick,v4_brick,v5_brick); - gc->forward_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR),FORWARD_AD, + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_AD,1,sizeof(FFT_SCALAR), gc_buf1,gc_buf2,MPI_FFT_SCALAR); fieldforce_c_ad(); if (vflag_atom) - gc->forward_comm(Grid3d::KSPACE,this,6,sizeof(FFT_SCALAR), - FORWARD_AD_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_AD_PERATOM,6,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); } else { poisson_ik(work1,work2,density_fft,fft1,fft2, @@ -182,14 +182,14 @@ void PPPMDispDielectric::compute(int eflag, int vflag) vdx_brick,vdy_brick,vdz_brick,virial_1,vg,vg2, u_brick,v0_brick,v1_brick,v2_brick,v3_brick,v4_brick,v5_brick); - gc->forward_comm(Grid3d::KSPACE,this,3,sizeof(FFT_SCALAR),FORWARD_IK, + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_IK,3,sizeof(FFT_SCALAR), gc_buf1,gc_buf2,MPI_FFT_SCALAR); fieldforce_c_ik(); if (evflag_atom) - gc->forward_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR), - FORWARD_IK_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_IK_PERATOM,7,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); } if (evflag_atom) fieldforce_c_peratom(); @@ -206,8 +206,8 @@ void PPPMDispDielectric::compute(int eflag, int vflag) make_rho_g(); - gc6->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), - REVERSE_RHO_GEOM,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->reverse_comm(Grid3d::KSPACE,this,REVERSE_RHO_GEOM,1,sizeof(FFT_SCALAR), + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); brick2fft(nxlo_in_6,nylo_in_6,nzlo_in_6,nxhi_in_6,nyhi_in_6,nzhi_in_6, density_brick_g,density_fft_g,work1_6,remap_6); @@ -222,14 +222,13 @@ void PPPMDispDielectric::compute(int eflag, int vflag) u_brick_g,v0_brick_g,v1_brick_g,v2_brick_g, v3_brick_g,v4_brick_g,v5_brick_g); - gc6->forward_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), - FORWARD_AD_GEOM,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_AD_GEOM,1,sizeof(FFT_SCALAR), + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); fieldforce_g_ad(); if (vflag_atom) - gc6->forward_comm(Grid3d::KSPACE,this,6,sizeof(FFT_SCALAR), - FORWARD_AD_PERATOM_GEOM, + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_AD_PERATOM_GEOM,6,sizeof(FFT_SCALAR), gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } else { @@ -243,14 +242,13 @@ void PPPMDispDielectric::compute(int eflag, int vflag) u_brick_g,v0_brick_g,v1_brick_g,v2_brick_g, v3_brick_g,v4_brick_g,v5_brick_g); - gc6->forward_comm(Grid3d::KSPACE,this,3,sizeof(FFT_SCALAR), - FORWARD_IK_GEOM,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_IK_GEOM,3,sizeof(FFT_SCALAR), + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); fieldforce_g_ik(); if (evflag_atom) - gc6->forward_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR), - FORWARD_IK_PERATOM_GEOM, + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_IK_PERATOM_GEOM,7,sizeof(FFT_SCALAR), gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } @@ -268,8 +266,8 @@ void PPPMDispDielectric::compute(int eflag, int vflag) make_rho_a(); - gc6->reverse_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR), - REVERSE_RHO_ARITH,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->reverse_comm(Grid3d::KSPACE,this,REVERSE_RHO_ARITH,7,sizeof(FFT_SCALAR), + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); brick2fft_a(); @@ -298,14 +296,13 @@ void PPPMDispDielectric::compute(int eflag, int vflag) u_brick_a4,v0_brick_a4,v1_brick_a4,v2_brick_a4, v3_brick_a4,v4_brick_a4,v5_brick_a4); - gc6->forward_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR), - FORWARD_AD_ARITH,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_AD_ARITH,7,sizeof(FFT_SCALAR), + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); fieldforce_a_ad(); if (evflag_atom) - gc6->forward_comm(Grid3d::KSPACE,this,42,sizeof(FFT_SCALAR), - FORWARD_AD_PERATOM_ARITH, + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_AD_PERATOM_ARITH,42,sizeof(FFT_SCALAR), gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } else { @@ -340,14 +337,13 @@ void PPPMDispDielectric::compute(int eflag, int vflag) u_brick_a4,v0_brick_a4,v1_brick_a4,v2_brick_a4, v3_brick_a4,v4_brick_a4,v5_brick_a4); - gc6->forward_comm(Grid3d::KSPACE,this,21,sizeof(FFT_SCALAR), - FORWARD_IK_ARITH,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_IK_ARITH,21,sizeof(FFT_SCALAR), + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); fieldforce_a_ik(); if (evflag_atom) - gc6->forward_comm(Grid3d::KSPACE,this,49,sizeof(FFT_SCALAR), - FORWARD_IK_PERATOM_ARITH, + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_IK_PERATOM_ARITH,49,sizeof(FFT_SCALAR), gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } @@ -365,8 +361,8 @@ void PPPMDispDielectric::compute(int eflag, int vflag) make_rho_none(); - gc6->reverse_comm(Grid3d::KSPACE,this,nsplit_alloc,sizeof(FFT_SCALAR), - REVERSE_RHO_NONE,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->reverse_comm(Grid3d::KSPACE,this,REVERSE_RHO_NONE,nsplit_alloc,sizeof(FFT_SCALAR), + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); brick2fft_none(); @@ -380,14 +376,13 @@ void PPPMDispDielectric::compute(int eflag, int vflag) n += 2; } - gc6->forward_comm(Grid3d::KSPACE,this,1*nsplit_alloc,sizeof(FFT_SCALAR), - FORWARD_AD_NONE,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_AD_NONE,1*nsplit_alloc,sizeof(FFT_SCALAR), + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); fieldforce_none_ad(); if (vflag_atom) - gc6->forward_comm(Grid3d::KSPACE,this,6*nsplit_alloc,sizeof(FFT_SCALAR), - FORWARD_AD_PERATOM_NONE, + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_AD_PERATOM_NONE,6*nsplit_alloc,sizeof(FFT_SCALAR), gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } else { @@ -401,14 +396,13 @@ void PPPMDispDielectric::compute(int eflag, int vflag) n += 2; } - gc6->forward_comm(Grid3d::KSPACE,this,3*nsplit_alloc,sizeof(FFT_SCALAR), - FORWARD_IK_NONE,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_IK_NONE,3*nsplit_alloc,sizeof(FFT_SCALAR), + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); fieldforce_none_ik(); if (evflag_atom) - gc6->forward_comm(Grid3d::KSPACE,this,7*nsplit_alloc,sizeof(FFT_SCALAR), - FORWARD_IK_PERATOM_NONE, + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_IK_PERATOM_NONE,7*nsplit_alloc,sizeof(FFT_SCALAR), gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } diff --git a/src/ELECTRODE/pppm_electrode.cpp b/src/ELECTRODE/pppm_electrode.cpp index 61ea7f2c94..e620983081 100644 --- a/src/ELECTRODE/pppm_electrode.cpp +++ b/src/ELECTRODE/pppm_electrode.cpp @@ -441,7 +441,7 @@ void PPPMElectrode::compute(int eflag, int vflag) // TODO: this is dangerous now that compute_vector's interface has been // changed since a compute could call an arbitrary source, needs tightening make_rho_in_brick(last_source_grpbit, density_brick, !last_invert_source); - gc->reverse_comm(Grid3d::KSPACE, this, 1, sizeof(FFT_SCALAR), REVERSE_RHO, gc_buf1, gc_buf2, + gc->reverse_comm(Grid3d::KSPACE, this, REVERSE_RHO, 1, sizeof(FFT_SCALAR), gc_buf1, gc_buf2, MPI_FFT_SCALAR); for (int nz = nzlo_out; nz <= nzhi_out; nz++) for (int ny = nylo_out; ny <= nyhi_out; ny++) @@ -455,7 +455,7 @@ void PPPMElectrode::compute(int eflag, int vflag) // to fully sum contribution in their 3d bricks // remap from 3d decomposition to FFT decomposition - gc->reverse_comm(Grid3d::KSPACE, this, 1, sizeof(FFT_SCALAR), REVERSE_RHO, gc_buf1, gc_buf2, + gc->reverse_comm(Grid3d::KSPACE, this, REVERSE_RHO, 1, sizeof(FFT_SCALAR), gc_buf1, gc_buf2, MPI_FFT_SCALAR); } @@ -475,20 +475,20 @@ void PPPMElectrode::compute(int eflag, int vflag) // to fill ghost cells surrounding their 3d bricks if (differentiation_flag == 1) - gc->forward_comm(Grid3d::KSPACE, this, 1, sizeof(FFT_SCALAR), FORWARD_AD, gc_buf1, gc_buf2, + gc->forward_comm(Grid3d::KSPACE, this, FORWARD_AD, 1, sizeof(FFT_SCALAR), gc_buf1, gc_buf2, MPI_FFT_SCALAR); else - gc->forward_comm(Grid3d::KSPACE, this, 3, sizeof(FFT_SCALAR), FORWARD_IK, gc_buf1, gc_buf2, + gc->forward_comm(Grid3d::KSPACE, this, FORWARD_IK, 3, sizeof(FFT_SCALAR), gc_buf1, gc_buf2, MPI_FFT_SCALAR); // extra per-atom energy/virial communication if (evflag_atom) { if (differentiation_flag == 1 && vflag_atom) - gc->forward_comm(Grid3d::KSPACE, this, 6, sizeof(FFT_SCALAR), FORWARD_AD_PERATOM, gc_buf1, + gc->forward_comm(Grid3d::KSPACE, this, FORWARD_AD_PERATOM, 6, sizeof(FFT_SCALAR), gc_buf1, gc_buf2, MPI_FFT_SCALAR); else if (differentiation_flag == 0) - gc->forward_comm(Grid3d::KSPACE, this, 7, sizeof(FFT_SCALAR), FORWARD_IK_PERATOM, gc_buf1, + gc->forward_comm(Grid3d::KSPACE, this, FORWARD_IK_PERATOM, 7, sizeof(FFT_SCALAR), gc_buf1, gc_buf2, MPI_FFT_SCALAR); } @@ -586,7 +586,7 @@ void PPPMElectrode::compute_vector(double *vec, int sensor_grpbit, int source_gr make_rho_in_brick(source_grpbit, electrolyte_density_brick, invert_source); density_brick = electrolyte_density_brick; density_fft = electrolyte_density_fft; - gc->reverse_comm(Grid3d::KSPACE, this, 1, sizeof(FFT_SCALAR), REVERSE_RHO, gc_buf1, gc_buf2, + gc->reverse_comm(Grid3d::KSPACE, this, REVERSE_RHO, 1, sizeof(FFT_SCALAR), gc_buf1, gc_buf2, MPI_FFT_SCALAR); brick2fft(); // switch back pointers @@ -614,7 +614,7 @@ void PPPMElectrode::compute_vector(double *vec, int sensor_grpbit, int source_gr u_brick[k][j][i] = work2[n]; n += 2; } - gc->forward_comm(Grid3d::KSPACE, this, 1, sizeof(FFT_SCALAR), FORWARD_AD, gc_buf1, gc_buf2, + gc->forward_comm(Grid3d::KSPACE, this, FORWARD_AD, 1, sizeof(FFT_SCALAR), gc_buf1, gc_buf2, MPI_FFT_SCALAR); project_psi(vec, sensor_grpbit); compute_vector_called = true; diff --git a/src/GPU/pppm_gpu.cpp b/src/GPU/pppm_gpu.cpp index 110dbd26bd..a2a2b0eed8 100644 --- a/src/GPU/pppm_gpu.cpp +++ b/src/GPU/pppm_gpu.cpp @@ -1,3 +1,4 @@ + // clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator @@ -252,12 +253,12 @@ void PPPMGPU::compute(int eflag, int vflag) // remap from 3d decomposition to FFT decomposition if (triclinic == 0) { - gc->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), - REVERSE_RHO_GPU,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->reverse_comm(Grid3d::KSPACE,this,REVERSE_RHO_GPU,1,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); brick2fft_gpu(); } else { - gc->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), - REVERSE_RHO,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); PPPM::brick2fft(); } @@ -271,21 +272,21 @@ void PPPMGPU::compute(int eflag, int vflag) // to fill ghost cells surrounding their 3d bricks if (differentiation_flag == 1) - gc->forward_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), - FORWARD_AD,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_AD,1,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); else - gc->forward_comm(Grid3d::KSPACE,this,3,sizeof(FFT_SCALAR), - FORWARD_IK,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_IK,3,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); // extra per-atom energy/virial communication if (evflag_atom) { if (differentiation_flag == 1 && vflag_atom) - gc->forward_comm(Grid3d::KSPACE,this,6,sizeof(FFT_SCALAR), - FORWARD_AD_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_AD_PERATOM,6,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); else if (differentiation_flag == 0) - gc->forward_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR), - FORWARD_IK_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_IK_PERATOM,7,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); } poisson_time += platform::walltime()-t3; @@ -828,8 +829,8 @@ void PPPMGPU::compute_group_group(int groupbit_A, int groupbit_B, int AA_flag) density_brick = density_A_brick; density_fft = density_A_fft; - gc->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), - REVERSE_RHO,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(); // group B @@ -837,8 +838,8 @@ void PPPMGPU::compute_group_group(int groupbit_A, int groupbit_B, int AA_flag) density_brick = density_B_brick; density_fft = density_B_fft; - gc->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), - REVERSE_RHO,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(); // switch back pointers diff --git a/src/INTEL/pppm_disp_intel.cpp b/src/INTEL/pppm_disp_intel.cpp index dea63821fc..fdff23fe5e 100644 --- a/src/INTEL/pppm_disp_intel.cpp +++ b/src/INTEL/pppm_disp_intel.cpp @@ -292,7 +292,7 @@ void PPPMDispIntel::compute(int eflag, int vflag) make_rho_c(fix->get_single_buffers()); } - gc->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR),REVERSE_RHO, + gc->reverse_comm(Grid3d::KSPACE,this,REVERSE_RHO,1,sizeof(FFT_SCALAR), gc_buf1,gc_buf2,MPI_FFT_SCALAR); brick2fft(nxlo_in, nylo_in, nzlo_in, nxhi_in, nyhi_in, nzhi_in, @@ -306,7 +306,7 @@ void PPPMDispIntel::compute(int eflag, int vflag) energy_1, greensfn, virial_1, vg,vg2, u_brick, v0_brick, v1_brick, v2_brick, v3_brick, v4_brick, v5_brick); - gc->forward_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR),FORWARD_AD, + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_AD,1,sizeof(FFT_SCALAR), gc_buf1,gc_buf2,MPI_FFT_SCALAR); if (fix->precision() == FixIntel::PREC_MODE_MIXED) { @@ -318,8 +318,8 @@ void PPPMDispIntel::compute(int eflag, int vflag) } if (vflag_atom) - gc->forward_comm(Grid3d::KSPACE,this,6,sizeof(FFT_SCALAR), - FORWARD_AD_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_AD_PERATOM,6,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); } else { poisson_ik(work1, work2, density_fft, fft1, fft2, @@ -331,7 +331,7 @@ void PPPMDispIntel::compute(int eflag, int vflag) u_brick, v0_brick, v1_brick, v2_brick, v3_brick, v4_brick, v5_brick); - gc->forward_comm(Grid3d::KSPACE,this,3,sizeof(FFT_SCALAR),FORWARD_IK, + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_IK,3,sizeof(FFT_SCALAR), gc_buf1,gc_buf2,MPI_FFT_SCALAR); if (fix->precision() == FixIntel::PREC_MODE_MIXED) { @@ -343,8 +343,8 @@ void PPPMDispIntel::compute(int eflag, int vflag) } if (evflag_atom) - gc->forward_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR), - FORWARD_IK_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_IK_PERATOM,7,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); } if (evflag_atom) fieldforce_c_peratom(); } @@ -376,7 +376,7 @@ void PPPMDispIntel::compute(int eflag, int vflag) make_rho_g(fix->get_single_buffers()); } - gc6->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR),REVERSE_RHO_G, + gc6->reverse_comm(Grid3d::KSPACE,this,REVERSE_RHO_G,1,sizeof(FFT_SCALAR), gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); brick2fft(nxlo_in_6, nylo_in_6, nzlo_in_6, nxhi_in_6, nyhi_in_6, nzhi_in_6, @@ -391,7 +391,7 @@ void PPPMDispIntel::compute(int eflag, int vflag) virial_6, vg_6, vg2_6, u_brick_g, v0_brick_g, v1_brick_g, v2_brick_g, v3_brick_g, v4_brick_g, v5_brick_g); - gc6->forward_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR),FORWARD_AD_G, + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_AD_G,1,sizeof(FFT_SCALAR), gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); if (fix->precision() == FixIntel::PREC_MODE_MIXED) { @@ -403,8 +403,8 @@ void PPPMDispIntel::compute(int eflag, int vflag) } if (vflag_atom) - gc6->forward_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR), - FORWARD_AD_PERATOM_G,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_AD_PERATOM_G,7,sizeof(FFT_SCALAR), + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } else { poisson_ik(work1_6, work2_6, density_fft_g, fft1_6, fft2_6, @@ -416,7 +416,7 @@ void PPPMDispIntel::compute(int eflag, int vflag) vdz_brick_g, virial_6, vg_6, vg2_6, u_brick_g, v0_brick_g, v1_brick_g, v2_brick_g, v3_brick_g, v4_brick_g, v5_brick_g); - gc6->forward_comm(Grid3d::KSPACE,this,3,sizeof(FFT_SCALAR),FORWARD_IK_G, + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_IK_G,3,sizeof(FFT_SCALAR), gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); if (fix->precision() == FixIntel::PREC_MODE_MIXED) { @@ -428,8 +428,8 @@ void PPPMDispIntel::compute(int eflag, int vflag) } if (evflag_atom) - gc6->forward_comm(Grid3d::KSPACE,this,6,sizeof(FFT_SCALAR), - FORWARD_IK_PERATOM_G,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_IK_PERATOM_G,6,sizeof(FFT_SCALAR), + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } if (evflag_atom) fieldforce_g_peratom(); @@ -461,7 +461,7 @@ void PPPMDispIntel::compute(int eflag, int vflag) make_rho_a(fix->get_single_buffers()); } - gc->reverse_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR),REVERSE_RHO_A, + gc->reverse_comm(Grid3d::KSPACE,this,REVERSE_RHO_A,7,sizeof(FFT_SCALAR), gc_buf1,gc_buf2,MPI_FFT_SCALAR); brick2fft_a(); @@ -487,7 +487,7 @@ void PPPMDispIntel::compute(int eflag, int vflag) v5_brick_a2, u_brick_a4, v0_brick_a4, v1_brick_a4, v2_brick_a4, v3_brick_a4, v4_brick_a4, v5_brick_a4); - gc6->forward_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR),FORWARD_AD_A, + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_AD_A,7,sizeof(FFT_SCALAR), gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); if (fix->precision() == FixIntel::PREC_MODE_MIXED) { @@ -499,8 +499,8 @@ void PPPMDispIntel::compute(int eflag, int vflag) } if (evflag_atom) - gc6->forward_comm(Grid3d::KSPACE,this,42,sizeof(FFT_SCALAR), - FORWARD_AD_PERATOM_A,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_AD_PERATOM_A,42,sizeof(FFT_SCALAR), + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } else { poisson_ik(work1_6, work2_6, density_fft_a3, fft1_6, fft2_6, @@ -530,7 +530,7 @@ void PPPMDispIntel::compute(int eflag, int vflag) u_brick_a4, v0_brick_a4, v1_brick_a4, v2_brick_a4, v3_brick_a4, v4_brick_a4, v5_brick_a4); - gc6->forward_comm(Grid3d::KSPACE,this,18,sizeof(FFT_SCALAR),FORWARD_IK_A, + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_IK_A,18,sizeof(FFT_SCALAR), gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); if (fix->precision() == FixIntel::PREC_MODE_MIXED) { @@ -542,8 +542,8 @@ void PPPMDispIntel::compute(int eflag, int vflag) } if (evflag_atom) - gc6->forward_comm(Grid3d::KSPACE,this,49,sizeof(FFT_SCALAR), - FORWARD_IK_PERATOM_A,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_IK_PERATOM_A,49,sizeof(FFT_SCALAR), + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } if (evflag_atom) fieldforce_a_peratom(); @@ -576,7 +576,7 @@ void PPPMDispIntel::compute(int eflag, int vflag) make_rho_none(fix->get_single_buffers()); } - gc->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR),REVERSE_RHO_NONE, + gc->reverse_comm(Grid3d::KSPACE,this,REVERSE_RHO_NONE,1,sizeof(FFT_SCALAR), gc_buf1,gc_buf2,MPI_FFT_SCALAR); brick2fft_none(); @@ -592,8 +592,8 @@ void PPPMDispIntel::compute(int eflag, int vflag) n += 2; } - gc6->forward_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), - FORWARD_AD_NONE,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_AD_NONE,1,sizeof(FFT_SCALAR), + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); if (fix->precision() == FixIntel::PREC_MODE_MIXED) { fieldforce_none_ad(fix->get_mixed_buffers()); @@ -604,8 +604,7 @@ void PPPMDispIntel::compute(int eflag, int vflag) } if (vflag_atom) - gc6->forward_comm(Grid3d::KSPACE,this,6,sizeof(FFT_SCALAR), - FORWARD_AD_PERATOM_NONE, + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_AD_PERATOM_NONE,6,sizeof(FFT_SCALAR), gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } else { @@ -622,8 +621,7 @@ void PPPMDispIntel::compute(int eflag, int vflag) n += 2; } - gc6->forward_comm(Grid3d::KSPACE,this,3,sizeof(FFT_SCALAR), - FORWARD_IK_NONE, + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_IK_NONE,3,sizeof(FFT_SCALAR), gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); if (fix->precision() == FixIntel::PREC_MODE_MIXED) { @@ -635,8 +633,7 @@ void PPPMDispIntel::compute(int eflag, int vflag) } if (evflag_atom) - gc6->forward_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR), - FORWARD_IK_PERATOM_NONE, + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_IK_PERATOM_NONE,7,sizeof(FFT_SCALAR), gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } diff --git a/src/INTEL/pppm_electrode_intel.cpp b/src/INTEL/pppm_electrode_intel.cpp index 593ce56beb..bf1f9715e4 100644 --- a/src/INTEL/pppm_electrode_intel.cpp +++ b/src/INTEL/pppm_electrode_intel.cpp @@ -210,7 +210,7 @@ void PPPMElectrodeIntel::compute(int eflag, int vflag) make_rho_in_brick(fix->get_single_buffers(), last_source_grpbit, density_brick, !last_invert_source); } - gc->reverse_comm(Grid3d::KSPACE, this, 1, sizeof(FFT_SCALAR), REVERSE_RHO, gc_buf1, gc_buf2, + gc->reverse_comm(Grid3d::KSPACE, this, REVERSE_RHO, 1, sizeof(FFT_SCALAR), gc_buf1, gc_buf2, MPI_FFT_SCALAR); for (int nz = nzlo_out; nz <= nzhi_out; nz++) for (int ny = nylo_out; ny <= nyhi_out; ny++) @@ -232,7 +232,7 @@ void PPPMElectrodeIntel::compute(int eflag, int vflag) // to fully sum contribution in their 3d bricks // remap from 3d decomposition to FFT decomposition - gc->reverse_comm(Grid3d::KSPACE, this, 1, sizeof(FFT_SCALAR), REVERSE_RHO, gc_buf1, gc_buf2, + gc->reverse_comm(Grid3d::KSPACE, this, REVERSE_RHO, 1, sizeof(FFT_SCALAR), gc_buf1, gc_buf2, MPI_FFT_SCALAR); } @@ -252,20 +252,20 @@ void PPPMElectrodeIntel::compute(int eflag, int vflag) // to fill ghost cells surrounding their 3d bricks if (differentiation_flag == 1) - gc->forward_comm(Grid3d::KSPACE, this, 1, sizeof(FFT_SCALAR), FORWARD_AD, gc_buf1, gc_buf2, + gc->forward_comm(Grid3d::KSPACE, this, FORWARD_AD, 1, sizeof(FFT_SCALAR), gc_buf1, gc_buf2, MPI_FFT_SCALAR); else - gc->forward_comm(Grid3d::KSPACE, this, 3, sizeof(FFT_SCALAR), FORWARD_IK, gc_buf1, gc_buf2, + gc->forward_comm(Grid3d::KSPACE, this, FORWARD_IK, 3, sizeof(FFT_SCALAR), gc_buf1, gc_buf2, MPI_FFT_SCALAR); // extra per-atom energy/virial communication if (evflag_atom) { if (differentiation_flag == 1 && vflag_atom) - gc->forward_comm(Grid3d::KSPACE, this, 6, sizeof(FFT_SCALAR), FORWARD_AD_PERATOM, gc_buf1, + gc->forward_comm(Grid3d::KSPACE, this, FORWARD_AD_PERATOM, 6, sizeof(FFT_SCALAR), gc_buf1, gc_buf2, MPI_FFT_SCALAR); else if (differentiation_flag == 0) - gc->forward_comm(Grid3d::KSPACE, this, 7, sizeof(FFT_SCALAR), FORWARD_IK_PERATOM, gc_buf1, + gc->forward_comm(Grid3d::KSPACE, this, FORWARD_IK_PERATOM, 7, sizeof(FFT_SCALAR), gc_buf1, gc_buf2, MPI_FFT_SCALAR); } int tempslabflag = slabflag; @@ -340,7 +340,7 @@ void PPPMElectrodeIntel::compute_vector(double *vec, int sensor_grpbit, int sour } density_brick = electrolyte_density_brick; density_fft = electrolyte_density_fft; - gc->reverse_comm(Grid3d::KSPACE, this, 1, sizeof(FFT_SCALAR), REVERSE_RHO, gc_buf1, gc_buf2, + gc->reverse_comm(Grid3d::KSPACE, this, REVERSE_RHO, 1, sizeof(FFT_SCALAR), gc_buf1, gc_buf2, MPI_FFT_SCALAR); brick2fft(); // switch back pointers @@ -370,7 +370,7 @@ void PPPMElectrodeIntel::compute_vector(double *vec, int sensor_grpbit, int sour n += 2; } - gc->forward_comm(Grid3d::KSPACE, this, 1, sizeof(FFT_SCALAR), FORWARD_AD, gc_buf1, gc_buf2, + gc->forward_comm(Grid3d::KSPACE, this, FORWARD_AD, 1, sizeof(FFT_SCALAR), gc_buf1, gc_buf2, MPI_FFT_SCALAR); switch (fix->precision()) { diff --git a/src/INTEL/pppm_intel.cpp b/src/INTEL/pppm_intel.cpp index 3388bbcbfc..2ceca54d29 100644 --- a/src/INTEL/pppm_intel.cpp +++ b/src/INTEL/pppm_intel.cpp @@ -227,7 +227,7 @@ void PPPMIntel::compute_first(int eflag, int vflag) // to fully sum contribution in their 3d bricks // remap from 3d decomposition to FFT decomposition - gc->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR),REVERSE_RHO, + gc->reverse_comm(Grid3d::KSPACE,this,REVERSE_RHO,1,sizeof(FFT_SCALAR), gc_buf1,gc_buf2,MPI_FFT_SCALAR); brick2fft(); @@ -243,21 +243,21 @@ void PPPMIntel::compute_first(int eflag, int vflag) // to fill ghost cells surrounding their 3d bricks if (differentiation_flag == 1) - gc->forward_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR),FORWARD_AD, + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_AD,1,sizeof(FFT_SCALAR), gc_buf1,gc_buf2,MPI_FFT_SCALAR); else - gc->forward_comm(Grid3d::KSPACE,this,3,sizeof(FFT_SCALAR),FORWARD_IK, + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_IK,3,sizeof(FFT_SCALAR), gc_buf1,gc_buf2,MPI_FFT_SCALAR); // extra per-atom energy/virial communication if (evflag_atom) { if (differentiation_flag == 1 && vflag_atom) - gc->forward_comm(Grid3d::KSPACE,this,6,sizeof(FFT_SCALAR), - FORWARD_AD_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_AD_PERATOM,6,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); else if (differentiation_flag == 0) - gc->forward_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR), - FORWARD_IK_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_IK_PERATOM,7,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); } } diff --git a/src/KOKKOS/grid3d_kokkos.cpp b/src/KOKKOS/grid3d_kokkos.cpp index ac1d359cdf..a12a0663fd 100644 --- a/src/KOKKOS/grid3d_kokkos.cpp +++ b/src/KOKKOS/grid3d_kokkos.cpp @@ -655,13 +655,13 @@ void Grid3dKokkos::setup_tiled(int &nbuf1, int &nbuf2) ------------------------------------------------------------------------- */ template -void Grid3dKokkos::forward_comm_kspace(KSpace *kspace, int nper, int which, +void Grid3dKokkos::forward_comm_kspace(KSpace *kspace, int which, int nper, FFT_DAT::tdual_FFT_SCALAR_1d &k_buf1, FFT_DAT::tdual_FFT_SCALAR_1d &k_buf2, MPI_Datatype datatype) { if (layout == REGULAR) - forward_comm_kspace_regular(kspace,nper,which,k_buf1,k_buf2,datatype); + forward_comm_kspace_regular(kspace,which,nper,k_buf1,k_buf2,datatype); else - forward_comm_kspace_tiled(kspace,nper,which,k_buf1,k_buf2,datatype); + forward_comm_kspace_tiled(kspace,which,nper,k_buf1,k_buf2,datatype); } /* ---------------------------------------------------------------------- @@ -670,7 +670,7 @@ void Grid3dKokkos::forward_comm_kspace(KSpace *kspace, int nper, int template void Grid3dKokkos:: -forward_comm_kspace_regular(KSpace *kspace, int nper, int which, +forward_comm_kspace_regular(KSpace *kspace, int which, int nper, FFT_DAT::tdual_FFT_SCALAR_1d &k_buf1, FFT_DAT::tdual_FFT_SCALAR_1d &k_buf2, MPI_Datatype datatype) { int m; @@ -724,7 +724,7 @@ forward_comm_kspace_regular(KSpace *kspace, int nper, int which, template void Grid3dKokkos:: -forward_comm_kspace_tiled(KSpace *kspace, int nper, int which, +forward_comm_kspace_tiled(KSpace *kspace, int which, int nper, FFT_DAT::tdual_FFT_SCALAR_1d &k_buf1, FFT_DAT::tdual_FFT_SCALAR_1d &k_buf2, MPI_Datatype datatype) { int i,m,offset; @@ -791,13 +791,13 @@ forward_comm_kspace_tiled(KSpace *kspace, int nper, int which, ------------------------------------------------------------------------- */ template -void Grid3dKokkos::reverse_comm_kspace(KSpace *kspace, int nper, int which, +void Grid3dKokkos::reverse_comm_kspace(KSpace *kspace, int which, int nper, FFT_DAT::tdual_FFT_SCALAR_1d &k_buf1, FFT_DAT::tdual_FFT_SCALAR_1d &k_buf2, MPI_Datatype datatype) { if (layout == REGULAR) - reverse_comm_kspace_regular(kspace,nper,which,k_buf1,k_buf2,datatype); + reverse_comm_kspace_regular(kspace,which,nper,k_buf1,k_buf2,datatype); else - reverse_comm_kspace_tiled(kspace,nper,which,k_buf1,k_buf2,datatype); + reverse_comm_kspace_tiled(kspace,which,nper,k_buf1,k_buf2,datatype); } /* ---------------------------------------------------------------------- @@ -806,7 +806,7 @@ void Grid3dKokkos::reverse_comm_kspace(KSpace *kspace, int nper, int template void Grid3dKokkos:: -reverse_comm_kspace_regular(KSpace *kspace, int nper, int which, +reverse_comm_kspace_regular(KSpace *kspace, int which, int nper, FFT_DAT::tdual_FFT_SCALAR_1d &k_buf1, FFT_DAT::tdual_FFT_SCALAR_1d &k_buf2, MPI_Datatype datatype) { int m; @@ -861,7 +861,7 @@ reverse_comm_kspace_regular(KSpace *kspace, int nper, int which, template void Grid3dKokkos:: -reverse_comm_kspace_tiled(KSpace *kspace, int nper, int which, +reverse_comm_kspace_tiled(KSpace *kspace, int which, int nper, FFT_DAT::tdual_FFT_SCALAR_1d &k_buf1, FFT_DAT::tdual_FFT_SCALAR_1d &k_buf2, MPI_Datatype datatype) { int i,m,offset; diff --git a/src/KSPACE/msm.cpp b/src/KSPACE/msm.cpp index fbd00ea754..5e20f153f8 100644 --- a/src/KSPACE/msm.cpp +++ b/src/KSPACE/msm.cpp @@ -444,8 +444,8 @@ void MSM::compute(int eflag, int vflag) // to fully sum contribution in their 3d grid current_level = 0; - gcall->reverse_comm(Grid3d::KSPACE,this,1,sizeof(double), - REVERSE_RHO,gcall_buf1,gcall_buf2,MPI_DOUBLE); + gcall->reverse_comm(Grid3d::KSPACE,this,REVERSE_RHO,1,sizeof(double), + gcall_buf1,gcall_buf2,MPI_DOUBLE); // forward communicate charge density values to fill ghost grid points // compute direct sum interaction and then restrict to coarser grid @@ -453,8 +453,8 @@ void MSM::compute(int eflag, int vflag) for (int n=0; n<=levels-2; n++) { if (!active_flag[n]) continue; current_level = n; - gc[n]->forward_comm(Grid3d::KSPACE,this,1,sizeof(double), - FORWARD_RHO,gc_buf1[n],gc_buf2[n],MPI_DOUBLE); + gc[n]->forward_comm(Grid3d::KSPACE,this,FORWARD_RHO,1,sizeof(double), + gc_buf1[n],gc_buf2[n],MPI_DOUBLE); direct(n); restriction(n); } @@ -466,16 +466,16 @@ void MSM::compute(int eflag, int vflag) if (domain->nonperiodic) { current_level = levels-1; gc[levels-1]-> - forward_comm(Grid3d::KSPACE,this,1,sizeof(double), - FORWARD_RHO,gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); + forward_comm(Grid3d::KSPACE,this,FORWARD_RHO,1,sizeof(double), + gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); direct_top(levels-1); gc[levels-1]-> - reverse_comm(Grid3d::KSPACE,this,1,sizeof(double), - REVERSE_AD,gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); + reverse_comm(Grid3d::KSPACE,this,REVERSE_AD,1,sizeof(double), + gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); if (vflag_atom) gc[levels-1]-> - reverse_comm(Grid3d::KSPACE,this,6,sizeof(double), - REVERSE_AD_PERATOM,gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); + reverse_comm(Grid3d::KSPACE,this,REVERSE_AD_PERATOM,6,sizeof(double), + gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); } else { // Here using MPI_Allreduce is cheaper than using commgrid @@ -485,8 +485,8 @@ void MSM::compute(int eflag, int vflag) current_level = levels-1; if (vflag_atom) gc[levels-1]-> - reverse_comm(Grid3d::KSPACE,this,6,sizeof(double), - REVERSE_AD_PERATOM,gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); + reverse_comm(Grid3d::KSPACE,this,REVERSE_AD_PERATOM,6,sizeof(double), + gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); } } @@ -498,28 +498,28 @@ void MSM::compute(int eflag, int vflag) prolongation(n); current_level = n; - gc[n]->reverse_comm(Grid3d::KSPACE,this,1,sizeof(double), - REVERSE_AD,gc_buf1[n],gc_buf2[n],MPI_DOUBLE); + gc[n]->reverse_comm(Grid3d::KSPACE,this,REVERSE_AD,1,sizeof(double), + gc_buf1[n],gc_buf2[n],MPI_DOUBLE); // extra per-atom virial communication if (vflag_atom) - gc[n]->reverse_comm(Grid3d::KSPACE,this,6,sizeof(double), - REVERSE_AD_PERATOM,gc_buf1[n],gc_buf2[n],MPI_DOUBLE); + gc[n]->reverse_comm(Grid3d::KSPACE,this,REVERSE_AD_PERATOM,6,sizeof(double), + gc_buf1[n],gc_buf2[n],MPI_DOUBLE); } // all procs communicate E-field values // to fill ghost cells surrounding their 3d bricks current_level = 0; - gcall->forward_comm(Grid3d::KSPACE,this,1,sizeof(double), - FORWARD_AD,gcall_buf1,gcall_buf2,MPI_DOUBLE); + gcall->forward_comm(Grid3d::KSPACE,this,FORWARD_AD,1,sizeof(double), + gcall_buf1,gcall_buf2,MPI_DOUBLE); // extra per-atom energy/virial communication if (vflag_atom) - gcall->forward_comm(Grid3d::KSPACE,this,6,sizeof(double), - FORWARD_AD_PERATOM,gcall_buf1,gcall_buf2,MPI_DOUBLE); + gcall->forward_comm(Grid3d::KSPACE,this,FORWARD_AD_PERATOM,6,sizeof(double), + gcall_buf1,gcall_buf2,MPI_DOUBLE); // calculate the force on my particles (interpolation) diff --git a/src/KSPACE/msm_cg.cpp b/src/KSPACE/msm_cg.cpp index 5b14b9b3ae..93037b13f2 100644 --- a/src/KSPACE/msm_cg.cpp +++ b/src/KSPACE/msm_cg.cpp @@ -160,8 +160,8 @@ void MSMCG::compute(int eflag, int vflag) // to fully sum contribution in their 3d grid current_level = 0; - gcall->reverse_comm(Grid3d::KSPACE,this,1,sizeof(double), - REVERSE_RHO,gcall_buf1,gcall_buf2,MPI_DOUBLE); + gcall->reverse_comm(Grid3d::KSPACE,this,REVERSE_RHO,1,sizeof(double), + gcall_buf1,gcall_buf2,MPI_DOUBLE); // forward communicate charge density values to fill ghost grid points // compute direct sum interaction and then restrict to coarser grid @@ -169,8 +169,8 @@ void MSMCG::compute(int eflag, int vflag) for (n=0; n<=levels-2; n++) { if (!active_flag[n]) continue; current_level = n; - gc[n]->forward_comm(Grid3d::KSPACE,this,1,sizeof(double), - FORWARD_RHO,gc_buf1[n],gc_buf2[n],MPI_DOUBLE); + gc[n]->forward_comm(Grid3d::KSPACE,this,FORWARD_RHO,1,sizeof(double), + gc_buf1[n],gc_buf2[n],MPI_DOUBLE); direct(n); restriction(n); } @@ -182,16 +182,16 @@ void MSMCG::compute(int eflag, int vflag) if (domain->nonperiodic) { current_level = levels-1; gc[levels-1]-> - forward_comm(Grid3d::KSPACE,this,1,sizeof(double), - FORWARD_RHO,gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); + forward_comm(Grid3d::KSPACE,this,FORWARD_RHO,1,sizeof(double), + gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); direct_top(levels-1); gc[levels-1]-> - reverse_comm(Grid3d::KSPACE,this,1,sizeof(double), - REVERSE_AD,gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); + reverse_comm(Grid3d::KSPACE,this,REVERSE_AD,1,sizeof(double), + gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); if (vflag_atom) gc[levels-1]-> - reverse_comm(Grid3d::KSPACE,this,6,sizeof(double), - REVERSE_AD_PERATOM,gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); + reverse_comm(Grid3d::KSPACE,this,REVERSE_AD_PERATOM,6,sizeof(double), + gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); } else { // Here using MPI_Allreduce is cheaper than using commgrid @@ -201,8 +201,8 @@ void MSMCG::compute(int eflag, int vflag) current_level = levels-1; if (vflag_atom) gc[levels-1]-> - reverse_comm(Grid3d::KSPACE,this,6,sizeof(double), - REVERSE_AD_PERATOM,gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); + reverse_comm(Grid3d::KSPACE,this,REVERSE_AD_PERATOM,6,sizeof(double), + gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); } } @@ -214,28 +214,28 @@ void MSMCG::compute(int eflag, int vflag) prolongation(n); current_level = n; - gc[n]->reverse_comm(Grid3d::KSPACE,this,1,sizeof(double), - REVERSE_AD,gc_buf1[n],gc_buf2[n],MPI_DOUBLE); + gc[n]->reverse_comm(Grid3d::KSPACE,this,REVERSE_AD,1,sizeof(double), + gc_buf1[n],gc_buf2[n],MPI_DOUBLE); // extra per-atom virial communication if (vflag_atom) - gc[n]->reverse_comm(Grid3d::KSPACE,this,6,sizeof(double), - REVERSE_AD_PERATOM,gc_buf1[n],gc_buf2[n],MPI_DOUBLE); + gc[n]->reverse_comm(Grid3d::KSPACE,this,REVERSE_AD_PERATOM,6,sizeof(double), + gc_buf1[n],gc_buf2[n],MPI_DOUBLE); } // all procs communicate E-field values // to fill ghost cells surrounding their 3d bricks current_level = 0; - gcall->forward_comm(Grid3d::KSPACE,this,1,sizeof(double), - FORWARD_AD,gcall_buf1,gcall_buf2,MPI_DOUBLE); + gcall->forward_comm(Grid3d::KSPACE,this,FORWARD_AD,1,sizeof(double), + gcall_buf1,gcall_buf2,MPI_DOUBLE); // extra per-atom energy/virial communication if (vflag_atom) - gcall->forward_comm(Grid3d::KSPACE,this,6,sizeof(double), - FORWARD_AD_PERATOM,gcall_buf1,gcall_buf2,MPI_DOUBLE); + gcall->forward_comm(Grid3d::KSPACE,this,FORWARD_AD_PERATOM,6,sizeof(double), + gcall_buf1,gcall_buf2,MPI_DOUBLE); // calculate the force on my particles (interpolation) diff --git a/src/KSPACE/pppm.cpp b/src/KSPACE/pppm.cpp index 0dc7ac9326..84b24721ad 100644 --- a/src/KSPACE/pppm.cpp +++ b/src/KSPACE/pppm.cpp @@ -640,8 +640,8 @@ void PPPM::compute(int eflag, int vflag) // to fully sum contribution in their 3d bricks // remap from 3d decomposition to FFT decomposition - gc->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), - REVERSE_RHO,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(); // compute potential gradient on my FFT grid and @@ -655,21 +655,21 @@ void PPPM::compute(int eflag, int vflag) // to fill ghost cells surrounding their 3d bricks if (differentiation_flag == 1) - gc->forward_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), - FORWARD_AD,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_AD,1,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); else - gc->forward_comm(Grid3d::KSPACE,this,3,sizeof(FFT_SCALAR), - FORWARD_IK,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_IK,3,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); // extra per-atom energy/virial communication if (evflag_atom) { if (differentiation_flag == 1 && vflag_atom) - gc->forward_comm(Grid3d::KSPACE,this,6,sizeof(FFT_SCALAR), - FORWARD_AD_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_AD_PERATOM,6,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); else if (differentiation_flag == 0) - gc->forward_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR), - FORWARD_IK_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_IK_PERATOM,7,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); } // calculate the force on my particles @@ -3063,8 +3063,8 @@ void PPPM::compute_group_group(int groupbit_A, int groupbit_B, int AA_flag) density_brick = density_A_brick; density_fft = density_A_fft; - gc->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), - REVERSE_RHO,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(); // group B @@ -3072,8 +3072,8 @@ void PPPM::compute_group_group(int groupbit_A, int groupbit_B, int AA_flag) density_brick = density_B_brick; density_fft = density_B_fft; - gc->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), - REVERSE_RHO,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(); // switch back pointers diff --git a/src/KSPACE/pppm_cg.cpp b/src/KSPACE/pppm_cg.cpp index 69e819e74b..eaafc5cd39 100644 --- a/src/KSPACE/pppm_cg.cpp +++ b/src/KSPACE/pppm_cg.cpp @@ -177,8 +177,8 @@ void PPPMCG::compute(int eflag, int vflag) // to fully sum contribution in their 3d bricks // remap from 3d decomposition to FFT decomposition - gc->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), - REVERSE_RHO,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(); // compute potential gradient on my FFT grid and @@ -192,21 +192,21 @@ void PPPMCG::compute(int eflag, int vflag) // to fill ghost cells surrounding their 3d bricks if (differentiation_flag == 1) - gc->forward_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), - FORWARD_AD,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_AD,1,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); else - gc->forward_comm(Grid3d::KSPACE,this,3,sizeof(FFT_SCALAR), - FORWARD_IK,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_IK,3,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); // extra per-atom energy/virial communication if (evflag_atom) { if (differentiation_flag == 1 && vflag_atom) - gc->forward_comm(Grid3d::KSPACE,this,6,sizeof(FFT_SCALAR), - FORWARD_AD_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_AD_PERATOM,6,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); else if (differentiation_flag == 0) - gc->forward_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR), - FORWARD_IK_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_IK_PERATOM,7,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); } // calculate the force on my particles diff --git a/src/KSPACE/pppm_dipole.cpp b/src/KSPACE/pppm_dipole.cpp index a2cab8c0d7..74f2456a37 100644 --- a/src/KSPACE/pppm_dipole.cpp +++ b/src/KSPACE/pppm_dipole.cpp @@ -445,8 +445,8 @@ void PPPMDipole::compute(int eflag, int vflag) // to fully sum contribution in their 3d bricks // remap from 3d decomposition to FFT decomposition - gc_dipole->reverse_comm(Grid3d::KSPACE,this,3,sizeof(FFT_SCALAR), - REVERSE_MU,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc_dipole->reverse_comm(Grid3d::KSPACE,this,REVERSE_MU,3,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); brick2fft_dipole(); // compute potential gradient on my FFT grid and @@ -459,14 +459,14 @@ void PPPMDipole::compute(int eflag, int vflag) // all procs communicate E-field values // to fill ghost cells surrounding their 3d bricks - gc_dipole->forward_comm(Grid3d::KSPACE,this,9,sizeof(FFT_SCALAR), - FORWARD_MU,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc_dipole->forward_comm(Grid3d::KSPACE,this,FORWARD_MU,9,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); // extra per-atom energy/virial communication if (evflag_atom) - gc_dipole->forward_comm(Grid3d::KSPACE,this,18,sizeof(FFT_SCALAR), - FORWARD_MU_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc_dipole->forward_comm(Grid3d::KSPACE,this,FORWARD_MU_PERATOM,18,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); // calculate the force on my particles diff --git a/src/KSPACE/pppm_dipole_spin.cpp b/src/KSPACE/pppm_dipole_spin.cpp index e95c1a7973..e96378180a 100644 --- a/src/KSPACE/pppm_dipole_spin.cpp +++ b/src/KSPACE/pppm_dipole_spin.cpp @@ -302,8 +302,8 @@ void PPPMDipoleSpin::compute(int eflag, int vflag) // to fully sum contribution in their 3d bricks // remap from 3d decomposition to FFT decomposition - gc_dipole->reverse_comm(Grid3d::KSPACE,this,3,sizeof(FFT_SCALAR), - REVERSE_MU,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc_dipole->reverse_comm(Grid3d::KSPACE,this,REVERSE_MU,3,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); brick2fft_dipole(); // compute potential gradient on my FFT grid and @@ -316,14 +316,14 @@ void PPPMDipoleSpin::compute(int eflag, int vflag) // all procs communicate E-field values // to fill ghost cells surrounding their 3d bricks - gc_dipole->forward_comm(Grid3d::KSPACE,this,9,sizeof(FFT_SCALAR), - FORWARD_MU,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc_dipole->forward_comm(Grid3d::KSPACE,this,FORWARD_MU,9,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); // extra per-atom energy/virial communication if (evflag_atom) - gc->forward_comm(Grid3d::KSPACE,this,18,sizeof(FFT_SCALAR), - FORWARD_MU_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_MU_PERATOM,18,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); // calculate the force on my particles diff --git a/src/KSPACE/pppm_disp.cpp b/src/KSPACE/pppm_disp.cpp index 29d4b0a1cc..d33901b77f 100644 --- a/src/KSPACE/pppm_disp.cpp +++ b/src/KSPACE/pppm_disp.cpp @@ -916,8 +916,8 @@ void PPPMDisp::compute(int eflag, int vflag) make_rho_c(); - gc->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), - REVERSE_RHO,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(nxlo_in,nylo_in,nzlo_in,nxhi_in,nyhi_in,nzhi_in, density_brick,density_fft,work1,remap); @@ -931,14 +931,14 @@ void PPPMDisp::compute(int eflag, int vflag) virial_1,vg,vg2, u_brick,v0_brick,v1_brick,v2_brick,v3_brick,v4_brick,v5_brick); - gc->forward_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), - FORWARD_AD,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_AD,1,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); fieldforce_c_ad(); if (vflag_atom) - gc->forward_comm(Grid3d::KSPACE,this,6,sizeof(FFT_SCALAR), - FORWARD_AD_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_AD_PERATOM,6,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); } else { poisson_ik(work1,work2,density_fft,fft1,fft2, @@ -950,14 +950,14 @@ void PPPMDisp::compute(int eflag, int vflag) vdx_brick,vdy_brick,vdz_brick,virial_1,vg,vg2, u_brick,v0_brick,v1_brick,v2_brick,v3_brick,v4_brick,v5_brick); - gc->forward_comm(Grid3d::KSPACE,this,3,sizeof(FFT_SCALAR), - FORWARD_IK,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_IK,3,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); fieldforce_c_ik(); if (evflag_atom) - gc->forward_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR), - FORWARD_IK_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_IK_PERATOM,7,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); } if (evflag_atom) fieldforce_c_peratom(); @@ -974,8 +974,8 @@ void PPPMDisp::compute(int eflag, int vflag) make_rho_g(); - gc6->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), - REVERSE_RHO_GEOM,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->reverse_comm(Grid3d::KSPACE,this,REVERSE_RHO_GEOM,1,sizeof(FFT_SCALAR), + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); brick2fft(nxlo_in_6,nylo_in_6,nzlo_in_6,nxhi_in_6,nyhi_in_6,nzhi_in_6, density_brick_g,density_fft_g,work1_6,remap_6); @@ -990,14 +990,14 @@ void PPPMDisp::compute(int eflag, int vflag) u_brick_g,v0_brick_g,v1_brick_g,v2_brick_g, v3_brick_g,v4_brick_g,v5_brick_g); - gc6->forward_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), - FORWARD_AD_GEOM,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_AD_GEOM,1,sizeof(FFT_SCALAR), + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); fieldforce_g_ad(); if (vflag_atom) - gc6->forward_comm(Grid3d::KSPACE,this,6,sizeof(FFT_SCALAR), - FORWARD_AD_PERATOM_GEOM,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_AD_PERATOM_GEOM,6,sizeof(FFT_SCALAR), + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } else { poisson_ik(work1_6,work2_6,density_fft_g,fft1_6,fft2_6, @@ -1010,14 +1010,14 @@ void PPPMDisp::compute(int eflag, int vflag) u_brick_g,v0_brick_g,v1_brick_g,v2_brick_g, v3_brick_g,v4_brick_g,v5_brick_g); - gc6->forward_comm(Grid3d::KSPACE,this,3,sizeof(FFT_SCALAR), - FORWARD_IK_GEOM,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_IK_GEOM,3,sizeof(FFT_SCALAR), + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); fieldforce_g_ik(); if (evflag_atom) - gc6->forward_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR), - FORWARD_IK_PERATOM_GEOM,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_IK_PERATOM_GEOM,7,sizeof(FFT_SCALAR), + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } if (evflag_atom) fieldforce_g_peratom(); @@ -1034,8 +1034,8 @@ void PPPMDisp::compute(int eflag, int vflag) make_rho_a(); - gc6->reverse_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR), - REVERSE_RHO_ARITH,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->reverse_comm(Grid3d::KSPACE,this,REVERSE_RHO_ARITH,7,sizeof(FFT_SCALAR), + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); brick2fft_a(); @@ -1064,14 +1064,14 @@ void PPPMDisp::compute(int eflag, int vflag) u_brick_a4,v0_brick_a4,v1_brick_a4,v2_brick_a4, v3_brick_a4,v4_brick_a4,v5_brick_a4); - gc6->forward_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR), - FORWARD_AD_ARITH,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_AD_ARITH,7,sizeof(FFT_SCALAR), + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); fieldforce_a_ad(); if (evflag_atom) - gc6->forward_comm(Grid3d::KSPACE,this,42,sizeof(FFT_SCALAR), - FORWARD_AD_PERATOM_ARITH,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_AD_PERATOM_ARITH,42,sizeof(FFT_SCALAR), + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } else { poisson_ik(work1_6,work2_6,density_fft_a3,fft1_6,fft2_6, @@ -1105,14 +1105,14 @@ void PPPMDisp::compute(int eflag, int vflag) u_brick_a4,v0_brick_a4,v1_brick_a4,v2_brick_a4, v3_brick_a4,v4_brick_a4,v5_brick_a4); - gc6->forward_comm(Grid3d::KSPACE,this,21,sizeof(FFT_SCALAR), - FORWARD_IK_ARITH,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_IK_ARITH,21,sizeof(FFT_SCALAR), + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); fieldforce_a_ik(); if (evflag_atom) - gc6->forward_comm(Grid3d::KSPACE,this,49,sizeof(FFT_SCALAR), - FORWARD_IK_PERATOM_ARITH,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_IK_PERATOM_ARITH,49,sizeof(FFT_SCALAR), + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } if (evflag_atom) fieldforce_a_peratom(); @@ -1129,8 +1129,8 @@ void PPPMDisp::compute(int eflag, int vflag) make_rho_none(); - gc6->reverse_comm(Grid3d::KSPACE,this,nsplit_alloc,sizeof(FFT_SCALAR), - REVERSE_RHO_NONE,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->reverse_comm(Grid3d::KSPACE,this,REVERSE_RHO_NONE,nsplit_alloc,sizeof(FFT_SCALAR), + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); brick2fft_none(); @@ -1144,14 +1144,14 @@ void PPPMDisp::compute(int eflag, int vflag) n += 2; } - gc6->forward_comm(Grid3d::KSPACE,this,1*nsplit_alloc,sizeof(FFT_SCALAR), - FORWARD_AD_NONE,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_AD_NONE,1*nsplit_alloc,sizeof(FFT_SCALAR), + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); fieldforce_none_ad(); if (vflag_atom) - gc6->forward_comm(Grid3d::KSPACE,this,6*nsplit_alloc,sizeof(FFT_SCALAR), - FORWARD_AD_PERATOM_NONE,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_AD_PERATOM_NONE,6*nsplit_alloc,sizeof(FFT_SCALAR), + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } else { int n = 0; @@ -1164,14 +1164,14 @@ void PPPMDisp::compute(int eflag, int vflag) n += 2; } - gc6->forward_comm(Grid3d::KSPACE,this,3*nsplit_alloc,sizeof(FFT_SCALAR), - FORWARD_IK_NONE,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_IK_NONE,3*nsplit_alloc,sizeof(FFT_SCALAR), + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); fieldforce_none_ik(); if (evflag_atom) - gc6->forward_comm(Grid3d::KSPACE,this,7*nsplit_alloc,sizeof(FFT_SCALAR), - FORWARD_IK_PERATOM_NONE,gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); + gc6->forward_comm(Grid3d::KSPACE,this,FORWARD_IK_PERATOM_NONE,7*nsplit_alloc,sizeof(FFT_SCALAR), + gc6_buf1,gc6_buf2,MPI_FFT_SCALAR); } if (evflag_atom) fieldforce_none_peratom(); diff --git a/src/KSPACE/pppm_stagger.cpp b/src/KSPACE/pppm_stagger.cpp index 369c5e61c0..d7aafd796c 100644 --- a/src/KSPACE/pppm_stagger.cpp +++ b/src/KSPACE/pppm_stagger.cpp @@ -157,8 +157,8 @@ void PPPMStagger::compute(int eflag, int vflag) // to fully sum contribution in their 3d bricks // remap from 3d decomposition to FFT decomposition - gc->reverse_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), - REVERSE_RHO,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(); // compute potential gradient on my FFT grid and @@ -172,21 +172,21 @@ void PPPMStagger::compute(int eflag, int vflag) // to fill ghost cells surrounding their 3d bricks if (differentiation_flag == 1) - gc->forward_comm(Grid3d::KSPACE,this,1,sizeof(FFT_SCALAR), - FORWARD_AD,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_AD,1,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); else - gc->forward_comm(Grid3d::KSPACE,this,3,sizeof(FFT_SCALAR), - FORWARD_IK,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_IK,3,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); // extra per-atom energy/virial communication if (evflag_atom) { if (differentiation_flag == 1 && vflag_atom) - gc->forward_comm(Grid3d::KSPACE,this,6,sizeof(FFT_SCALAR), - FORWARD_AD_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_AD_PERATOM,6,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); else if (differentiation_flag == 0) - gc->forward_comm(Grid3d::KSPACE,this,7,sizeof(FFT_SCALAR), - FORWARD_IK_PERATOM,gc_buf1,gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_IK_PERATOM,7,sizeof(FFT_SCALAR), + gc_buf1,gc_buf2,MPI_FFT_SCALAR); } // calculate the force on my particles diff --git a/src/OPENMP/msm_cg_omp.cpp b/src/OPENMP/msm_cg_omp.cpp index e38620078b..fa6c81918b 100644 --- a/src/OPENMP/msm_cg_omp.cpp +++ b/src/OPENMP/msm_cg_omp.cpp @@ -166,7 +166,7 @@ void MSMCGOMP::compute(int eflag, int vflag) // to fully sum contribution in their 3d grid current_level = 0; - gcall->reverse_comm(Grid3d::KSPACE,this,1,sizeof(double),REVERSE_RHO, + gcall->reverse_comm(Grid3d::KSPACE,this,REVERSE_RHO,1,sizeof(double), gcall_buf1,gcall_buf2,MPI_DOUBLE); // forward communicate charge density values to fill ghost grid points @@ -175,7 +175,7 @@ void MSMCGOMP::compute(int eflag, int vflag) for (int n=0; n<=levels-2; n++) { if (!active_flag[n]) continue; current_level = n; - gc[n]->forward_comm(Grid3d::KSPACE,this,1,sizeof(double),FORWARD_RHO, + gc[n]->forward_comm(Grid3d::KSPACE,this,FORWARD_RHO,1,sizeof(double), gc_buf1[n],gc_buf2[n],MPI_DOUBLE); direct(n); restriction(n); @@ -188,15 +188,15 @@ void MSMCGOMP::compute(int eflag, int vflag) if (domain->nonperiodic) { current_level = levels-1; gc[levels-1]-> - forward_comm(Grid3d::KSPACE,this,1,sizeof(double),FORWARD_RHO, + forward_comm(Grid3d::KSPACE,this,FORWARD_RHO,1,sizeof(double), gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); direct_top(levels-1); gc[levels-1]-> - reverse_comm(Grid3d::KSPACE,this,1,sizeof(double),REVERSE_AD, + reverse_comm(Grid3d::KSPACE,this,REVERSE_AD,1,sizeof(double), gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); if (vflag_atom) gc[levels-1]-> - reverse_comm(Grid3d::KSPACE,this,6,sizeof(double),REVERSE_AD_PERATOM, + reverse_comm(Grid3d::KSPACE,this,REVERSE_AD_PERATOM,6,sizeof(double), gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); } else { @@ -207,7 +207,7 @@ void MSMCGOMP::compute(int eflag, int vflag) current_level = levels-1; if (vflag_atom) gc[levels-1]-> - reverse_comm(Grid3d::KSPACE,this,6,sizeof(double),REVERSE_AD_PERATOM, + reverse_comm(Grid3d::KSPACE,this,REVERSE_AD_PERATOM,6,sizeof(double), gc_buf1[levels-1],gc_buf2[levels-1],MPI_DOUBLE); } } @@ -220,27 +220,27 @@ void MSMCGOMP::compute(int eflag, int vflag) prolongation(n); current_level = n; - gc[n]->reverse_comm(Grid3d::KSPACE,this,1,sizeof(double),REVERSE_AD, + gc[n]->reverse_comm(Grid3d::KSPACE,this,REVERSE_AD,1,sizeof(double), gc_buf1[n],gc_buf2[n],MPI_DOUBLE); // extra per-atom virial communication if (vflag_atom) - gc[n]->reverse_comm(Grid3d::KSPACE,this,6,sizeof(double), - REVERSE_AD_PERATOM,gc_buf1[n],gc_buf2[n],MPI_DOUBLE); + gc[n]->reverse_comm(Grid3d::KSPACE,this,REVERSE_AD_PERATOM,6,sizeof(double), + gc_buf1[n],gc_buf2[n],MPI_DOUBLE); } // all procs communicate E-field values // to fill ghost cells surrounding their 3d bricks current_level = 0; - gcall->forward_comm(Grid3d::KSPACE,this,1,sizeof(double),FORWARD_AD, + gcall->forward_comm(Grid3d::KSPACE,this,FORWARD_AD,1,sizeof(double), gcall_buf1,gcall_buf2,MPI_DOUBLE); // extra per-atom energy/virial communication if (vflag_atom) - gcall->forward_comm(Grid3d::KSPACE,this,6,sizeof(double),FORWARD_AD_PERATOM, + gcall->forward_comm(Grid3d::KSPACE,this,FORWARD_AD_PERATOM,6,sizeof(double), gcall_buf1,gcall_buf2,MPI_DOUBLE); // calculate the force on my particles (interpolation) diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index ed669b8804..d0c71821cb 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -560,10 +560,10 @@ void FixAveGrid::end_of_step() if (modeatom) { if (dimension == 2) - grid2d->reverse_comm(Grid2d::FIX,this,nvalues+1,sizeof(double),0, + grid2d->reverse_comm(Grid2d::FIX,this,0,nvalues+1,sizeof(double), grid_buf1,grid_buf2,MPI_DOUBLE); else - grid3d->reverse_comm(Grid3d::FIX,this,nvalues+1,sizeof(double),0, + grid3d->reverse_comm(Grid3d::FIX,this,0,nvalues+1,sizeof(double), grid_buf1,grid_buf2,MPI_DOUBLE); } @@ -1788,7 +1788,7 @@ void FixAveGrid::output_grid(GridData *src) only invoked for ATOM mode ------------------------------------------------------------------------ */ -void FixAveGrid::pack_reverse_grid(int /*flag*/, void *vbuf, int nlist, int *list) +void FixAveGrid::pack_reverse_grid(int /*which*/, void *vbuf, int nlist, int *list) { int i,j,m; @@ -1827,7 +1827,7 @@ void FixAveGrid::pack_reverse_grid(int /*flag*/, void *vbuf, int nlist, int *lis only invoked for ATOM mode ------------------------------------------------------------------------- */ -void FixAveGrid::unpack_reverse_grid(int /*flag*/, void *vbuf, int nlist, int *list) +void FixAveGrid::unpack_reverse_grid(int /*which*/, void *vbuf, int nlist, int *list) { int i,j,m; @@ -2020,10 +2020,10 @@ void FixAveGrid::reset_grid() if (modeatom) { if (dimension == 2) - grid2d->reverse_comm(Grid2d::FIX,this,nvalues+1,sizeof(double),0, + grid2d->reverse_comm(Grid2d::FIX,this,0,nvalues+1,sizeof(double), grid_buf1,grid_buf2,MPI_DOUBLE); else - grid3d->reverse_comm(Grid3d::FIX,this,nvalues+1,sizeof(double),0, + grid3d->reverse_comm(Grid3d::FIX,this,0,nvalues+1,sizeof(double), grid_buf1,grid_buf2,MPI_DOUBLE); } From 7ce4b2eb688a5106100c83e5109184e89ab019b1 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 30 Nov 2022 11:55:19 -0700 Subject: [PATCH 120/142] fix bug with slab geometries --- src/grid2d.cpp | 22 ++++++++-------------- src/grid3d.cpp | 24 +++++++++--------------- 2 files changed, 17 insertions(+), 29 deletions(-) diff --git a/src/grid2d.cpp b/src/grid2d.cpp index 54004ac188..dfff7c82d6 100644 --- a/src/grid2d.cpp +++ b/src/grid2d.cpp @@ -489,10 +489,11 @@ void Grid2d::ghost_grid() // ghost cell layers needed in each dim/dir = max of two extension effects // OFFSET allows generation of negative indices with static_cast // out xyz lo/hi = index range of owned + ghost cells + // if yextra, ny and effective prd[1] are both larger, so dyinv is the same double dxinv = nx / prd[0]; double dyinv = ny / prd[1]; - double dyinv_slab = ny / (prd[1] * yfactor); + if (yextra) dyinv = ny / (prd[1] * yfactor); int lo, hi; @@ -501,17 +502,10 @@ void Grid2d::ghost_grid() outxlo = MIN(lo - stencil_atom_lo, inxlo - stencil_grid_lo); outxhi = MAX(hi + stencil_atom_hi, inxhi + stencil_grid_hi); - if (yextra == 0) { - lo = static_cast((sublo[1]-dist[1]-boxlo[1]) * dyinv + shift_atom_lo + OFFSET) - OFFSET; - hi = static_cast((subhi[1]+dist[1]-boxlo[1]) * dyinv + shift_atom_hi + OFFSET) - OFFSET; - outylo = MIN(lo - stencil_atom_lo, inylo - stencil_grid_lo); - outyhi = MAX(hi + stencil_atom_hi, inyhi + stencil_grid_hi); - } else { - lo = static_cast((sublo[1]-dist[1]-boxlo[1]) * dyinv_slab + shift_atom_lo + OFFSET) - OFFSET; - hi = static_cast((subhi[1]+dist[1]-boxlo[1]) * dyinv_slab + shift_atom_hi + OFFSET) - OFFSET; - outylo = MIN(lo - stencil_atom_lo, inylo - stencil_grid_lo); - outyhi = MAX(hi + stencil_atom_hi, inyhi + stencil_grid_hi); - } + lo = static_cast((sublo[1]-dist[1]-boxlo[1]) * dyinv + shift_atom_lo + OFFSET) - OFFSET; + hi = static_cast((subhi[1]+dist[1]-boxlo[1]) * dyinv + shift_atom_hi + OFFSET) - OFFSET; + outylo = MIN(lo - stencil_atom_lo, inylo - stencil_grid_lo); + outyhi = MAX(hi + stencil_atom_hi, inyhi + stencil_grid_hi); // if yextra = 1: // adjust grid boundaries for processors at +y end, @@ -532,7 +526,7 @@ void Grid2d::ghost_grid() } // limit out xyz lo/hi indices to global grid for non-periodic dims - // if yextra = 1, grid is still fully periodic + // if yextra = 1, treat y-dimension as if periodic int *periodicity = domain->periodicity; @@ -541,7 +535,7 @@ void Grid2d::ghost_grid() outxhi = MIN(nx-1,outxhi); } - if (!periodicity[1]) { + if (!periodicity[1] && !yextra) { outylo = MAX(0,outylo); outyhi = MIN(ny-1,outyhi); } diff --git a/src/grid3d.cpp b/src/grid3d.cpp index c57a47721c..abb09c617c 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -536,11 +536,12 @@ void Grid3d::ghost_grid() // ghost cell layers needed in each dim/dir = max of two extension effects // OFFSET allows generation of negative indices with static_cast // out xyz lo/hi = index range of owned + ghost cells - + // if zextra, nz and effective prd[2] are both larger, so dzinv is the same + double dxinv = nx / prd[0]; double dyinv = ny / prd[1]; double dzinv = nz / prd[2]; - double dzinv_slab = nz / (prd[2] * zfactor); + if (zextra) dzinv = nz / (prd[2] * zfactor); int lo, hi; @@ -554,17 +555,10 @@ void Grid3d::ghost_grid() outylo = MIN(lo - stencil_atom_lo, inylo - stencil_grid_lo); outyhi = MAX(hi + stencil_atom_hi, inyhi + stencil_grid_hi); - if (zextra == 0) { - lo = static_cast((sublo[2]-dist[2]-boxlo[2]) * dzinv + shift_atom_lo + OFFSET) - OFFSET; - hi = static_cast((subhi[2]+dist[2]-boxlo[2]) * dzinv + shift_atom_hi + OFFSET) - OFFSET; - outzlo = MIN(lo - stencil_atom_lo, inzlo - stencil_grid_lo); - outzhi = MAX(hi + stencil_atom_hi, inzhi + stencil_grid_hi); - } else { - lo = static_cast((sublo[2]-dist[2]-boxlo[2]) * dzinv_slab + shift_atom_lo + OFFSET) - OFFSET; - hi = static_cast((subhi[2]+dist[2]-boxlo[2]) * dzinv_slab + shift_atom_hi + OFFSET) - OFFSET; - outzlo = MIN(lo - stencil_atom_lo, inzlo - stencil_grid_lo); - outzhi = MAX(hi + stencil_atom_hi, inzhi + stencil_grid_hi); - } + lo = static_cast((sublo[2]-dist[2]-boxlo[2]) * dzinv + shift_atom_lo + OFFSET) - OFFSET; + hi = static_cast((subhi[2]+dist[2]-boxlo[2]) * dzinv + shift_atom_hi + OFFSET) - OFFSET; + outzlo = MIN(lo - stencil_atom_lo, inzlo - stencil_grid_lo); + outzhi = MAX(hi + stencil_atom_hi, inzhi + stencil_grid_hi); // if zextra = 1: // adjust grid boundaries for processors at +z end, @@ -585,7 +579,7 @@ void Grid3d::ghost_grid() } // limit out xyz lo/hi indices to global grid for non-periodic dims - // if zextra = 1 (e.g. PPPM), grid is still fully periodic + // if zextra = 1 (e.g. PPPM), treat z-dimension as if periodic int *periodicity = domain->periodicity; @@ -599,7 +593,7 @@ void Grid3d::ghost_grid() outyhi = MIN(ny-1,outyhi); } - if (!periodicity[2]) { + if (!periodicity[2] && !zextra) { outzlo = MAX(0,outzlo); outzhi = MIN(nz-1,outzhi); } From 87a0833edd2d3b73820b789296d7e33befebc955 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 1 Dec 2022 10:12:14 -0500 Subject: [PATCH 121/142] whitespace fixes --- doc/src/Developer_grid.rst | 4 ++-- doc/src/Howto_grid.rst | 2 +- doc/src/compute_temp.rst | 6 +++--- src/KSPACE/pppm.cpp | 4 ++-- src/KSPACE/pppm_dipole.cpp | 4 ++-- src/KSPACE/pppm_disp.cpp | 10 +++++----- src/dump_grid.cpp | 8 ++++---- src/dump_grid_vtk.cpp | 12 ++++++------ src/dump_grid_vtk.h | 2 +- src/dump_image.cpp | 18 +++++++++--------- src/dump_image.h | 2 +- src/fix_ave_grid.cpp | 4 ++-- src/grid3d.cpp | 2 +- src/utils.cpp | 10 +++++----- src/utils.h | 2 +- 15 files changed, 45 insertions(+), 45 deletions(-) diff --git a/doc/src/Developer_grid.rst b/doc/src/Developer_grid.rst index 8e064589af..e18fc399f9 100644 --- a/doc/src/Developer_grid.rst +++ b/doc/src/Developer_grid.rst @@ -305,7 +305,7 @@ The *setup_grid()* method is called after the first constructor (above) to partition the grid across processors, which determines which grid cells each processor owns. It also calculates how many ghost grid cells in each dimension and each direction each processor -needs to store. +needs to store. Note that this method is NOT called if the second constructor above is used. In that case, the caller assigns owned and ghost cells to each @@ -528,7 +528,7 @@ The *ghost_adjacent()* method returns a 1 if every processor can perform the necessary owned/ghost communication with only its nearest neighbor processors (4 in 2d, 6 in 3d). It returns a 0 if any processor's ghost cells extend further than nearest neighbor -processors. +processors. This can be checked by callers who have the option to change the global grid size to insure more efficient nearest-neighbor-only diff --git a/doc/src/Howto_grid.rst b/doc/src/Howto_grid.rst index 7749b71806..a7b2bc7743 100644 --- a/doc/src/Howto_grid.rst +++ b/doc/src/Howto_grid.rst @@ -50,7 +50,7 @@ grid ` output files as input. Nov 2022) to add a section in the :doc:`Developer ` section of the manual with a detailed description of how to use these classes. - + ---------- These are the commands which currently define or use distributed diff --git a/doc/src/compute_temp.rst b/doc/src/compute_temp.rst index bf07b2a78e..8f6f9f225f 100644 --- a/doc/src/compute_temp.rst +++ b/doc/src/compute_temp.rst @@ -104,9 +104,9 @@ Restrictions Related commands """""""""""""""" -:doc:`compute temp/partial `, :doc:`compute - temp/region `, :doc:`compute pressure - ` +:doc:`compute temp/partial `, +:doc:`compute temp/region `, +:doc:`compute pressure ` Default """"""" diff --git a/src/KSPACE/pppm.cpp b/src/KSPACE/pppm.cpp index 84b24721ad..0865880cb2 100644 --- a/src/KSPACE/pppm.cpp +++ b/src/KSPACE/pppm.cpp @@ -868,7 +868,7 @@ void PPPM::deallocate() memory->destroy(gc_buf2); memory->destroy3d_offset(density_brick,nzlo_out,nylo_out,nxlo_out); - + if (differentiation_flag == 1) { memory->destroy3d_offset(u_brick,nzlo_out,nylo_out,nxlo_out); memory->destroy(sf_precoeff1); @@ -882,7 +882,7 @@ void PPPM::deallocate() memory->destroy3d_offset(vdy_brick,nzlo_out,nylo_out,nxlo_out); memory->destroy3d_offset(vdz_brick,nzlo_out,nylo_out,nxlo_out); } - + memory->destroy(density_fft); memory->destroy(greensfn); memory->destroy(work1); diff --git a/src/KSPACE/pppm_dipole.cpp b/src/KSPACE/pppm_dipole.cpp index 74f2456a37..a01ffea1dc 100644 --- a/src/KSPACE/pppm_dipole.cpp +++ b/src/KSPACE/pppm_dipole.cpp @@ -205,7 +205,7 @@ void PPPMDipole::init() gc_dipole->set_stencil_atom(-nlower,nupper); gc_dipole->set_shift_atom(shiftatom_lo,shiftatom_hi); gc_dipole->set_zfactor(slab_volfactor); - + gc_dipole->setup_grid(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in, nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out); @@ -541,7 +541,7 @@ void PPPMDipole::allocate() gc_dipole->set_stencil_atom(-nlower,nupper); gc_dipole->set_shift_atom(shiftatom_lo,shiftatom_hi); gc_dipole->set_zfactor(slab_volfactor); - + gc_dipole->setup_grid(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in, nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out); diff --git a/src/KSPACE/pppm_disp.cpp b/src/KSPACE/pppm_disp.cpp index d33901b77f..9545fd0d31 100644 --- a/src/KSPACE/pppm_disp.cpp +++ b/src/KSPACE/pppm_disp.cpp @@ -409,7 +409,7 @@ void PPPMDisp::init() double acc; double acc_6,acc_real_6,acc_kspace_6; - + int iteration = 0; if (function[0]) { @@ -524,7 +524,7 @@ void PPPMDisp::init() final_accuracy_6(acc_6,acc_real_6,acc_kspace_6); } - + // allocate K-space dependent memory allocate(); @@ -559,7 +559,7 @@ void PPPMDisp::init() int ngrid_max,nfft_both_max; MPI_Allreduce(&ngrid,&ngrid_max,1,MPI_INT,MPI_MAX,world); MPI_Allreduce(&nfft_both,&nfft_both_max,1,MPI_INT,MPI_MAX,world); - + if (me == 0) { std::string mesg = fmt::format(" Coulomb G vector (1/distance)= {:.16g}\n", g_ewald); @@ -576,14 +576,14 @@ void PPPMDisp::init() utils::logmesg(lmp,mesg); } } - + // print dipserion stats if (function[1] + function[2] + function[3]) { int ngrid_6_max,nfft_both_6_max; MPI_Allreduce(&ngrid_6,&ngrid_6_max,1,MPI_INT,MPI_MAX,world); MPI_Allreduce(&nfft_both_6,&nfft_both_6_max,1,MPI_INT,MPI_MAX,world); - + if (me == 0) { std::string mesg = fmt::format(" Dispersion G vector (1/distance)= " "{:.16}\n",g_ewald_6); diff --git a/src/dump_grid.cpp b/src/dump_grid.cpp index f6b2214a2e..7a3de98921 100644 --- a/src/dump_grid.cpp +++ b/src/dump_grid.cpp @@ -78,9 +78,9 @@ DumpGrid::DumpGrid(LAMMPS *lmp, int narg, char **arg) : dimension = domain->dimension; // for 2d, set nzgrid = 1 for dump grid and grid/vtk files - + if (dimension == 2) nzgrid = 1; - + // computes and fixes which the dump accesses ncompute = 0; @@ -661,11 +661,11 @@ int DumpGrid::parse_fields(int narg, char **arg) // arg is not a valid Grid reference // assume it's an additional dump grid option and return - + if (iflag < 0) return iarg; // grid reference is to a compute or fix - + if (iflag == ArgInfo::COMPUTE) { auto icompute = lmp->modify->get_compute_by_id(id); field2index[iarg] = add_compute(id,icompute); diff --git a/src/dump_grid_vtk.cpp b/src/dump_grid_vtk.cpp index d2a32ec160..6a4b05d9f3 100644 --- a/src/dump_grid_vtk.cpp +++ b/src/dump_grid_vtk.cpp @@ -79,7 +79,7 @@ void DumpGridVTK::write_header(bigint ndump) if (me) return; xyz_grid(); - + fprintf(fp,"\n"); fprintf(fp,"\n"); fprintf(fp,"\n"); // coords of center point of grid cells in each of xyz dimensions - + fprintf(fp,"\n"); for (int i = 0; i <= nxgrid; i++) fprintf(fp,"%g ",xcoord[i]); @@ -103,9 +103,9 @@ void DumpGridVTK::write_header(bigint ndump) for (int i = 0; i <= nzgrid; i++) fprintf(fp,"%g ",zcoord[i]); fprintf(fp,"\n\n"); - + fprintf(fp,"\n"); - + fprintf(fp,"\n"); if (mode == SCALAR) fprintf(fp,"\n"); @@ -155,10 +155,10 @@ void DumpGridVTK::xyz_grid() double dx = domain->prd[0] / nxgrid; double dy = domain->prd[1] / nygrid; double dz = domain->prd[2] / nzgrid; - + for (int ix = 0; ix <= nxgrid; ix++) xcoord[ix] = boxlo[0] + ix*dx; - + for (int iy = 0; iy <= nygrid; iy++) ycoord[iy] = boxlo[1] + iy*dy; diff --git a/src/dump_grid_vtk.h b/src/dump_grid_vtk.h index 8c8c644a19..ca8ffed525 100644 --- a/src/dump_grid_vtk.h +++ b/src/dump_grid_vtk.h @@ -32,7 +32,7 @@ class DumpGridVTK : public DumpGrid { protected: int mode; double *xcoord,*ycoord,*zcoord; - + // methods void init_style() override; diff --git a/src/dump_image.cpp b/src/dump_image.cpp index 95ab2be9f0..3085843e7e 100644 --- a/src/dump_image.cpp +++ b/src/dump_image.cpp @@ -126,7 +126,7 @@ DumpImage::DumpImage(LAMMPS *lmp, int narg, char **arg) : gridflag = NO; lineflag = triflag = bodyflag = fixflag = NO; id_grid_compute = id_grid_fix = nullptr; - + if (atom->nbondtypes == 0) bondflag = NO; else { bondflag = YES; @@ -490,7 +490,7 @@ void DumpImage::init_style() error->all(FLERR,"Dump image and grid fix not computed at compatible times"); } } - + // check image variables if (thetastr) { @@ -625,7 +625,7 @@ void DumpImage::write() // pack grid gbuf with grid cell values // ngrid = # of grid cells this proc owns - + if (gridflag) { if (domain->dimension == 2) { if (grid_compute) @@ -700,7 +700,7 @@ void DumpImage::write() for (int ix = nxlo_in; ix <= nxhi_in; ix++) gbuf[n++] = array2d[iy][ix][index]; } - + } else if (domain->dimension == 3) { if (grid_index == 0) { double ***vec3d; @@ -715,7 +715,7 @@ void DumpImage::write() for (int iy = nylo_in; iy <= nyhi_in; iy++) for (int ix = nxlo_in; ix <= nxhi_in; ix++) gbuf[n++] = vec3d[iz][iy][ix]; - + } } else { double ****array3d; @@ -919,7 +919,7 @@ void DumpImage::create_image() // 2 triangles for 2d rectangle, 12 triangles for 3d cube surface // grid_cell_corners_2d/3d calculates orthogonal vs triclinic corner pts // for 3d, outward normals on all 6 faces - + if (gridflag) { int n = 0; if (domain->dimension == 2) { @@ -1358,7 +1358,7 @@ void DumpImage::grid_cell_corners_2d(int ix, int iy) { double *boxlo = domain->boxlo; double *prd = domain->prd; - + if (!domain->triclinic) { double xdelta = prd[0] / nxgrid; double ydelta = prd[1] / nygrid; @@ -1389,12 +1389,12 @@ void DumpImage::grid_cell_corners_2d(int ix, int iy) } /* ---------------------------------------------------------------------- */ - + void DumpImage::grid_cell_corners_3d(int ix, int iy, int iz) { double *boxlo = domain->boxlo; double *prd = domain->prd; - + if (!domain->triclinic) { double xdelta = prd[0] / nxgrid; double ydelta = prd[1] / nygrid; diff --git a/src/dump_image.h b/src/dump_image.h index 0b3a44ead3..efac5e97d3 100644 --- a/src/dump_image.h +++ b/src/dump_image.h @@ -91,7 +91,7 @@ class DumpImage : public DumpCustom { double *gbuf; int ngrid,maxgrid; double gcorners[8][3]; - + class AtomVecLine *avec_line; // ptrs to atom style (sub)classes class AtomVecTri *avec_tri; class AtomVecBody *avec_body; diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index d0c71821cb..c6040903bb 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -143,13 +143,13 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : // if arg is not a per-atom or per-grid value // then it's an optional arg after the values - + ArgInfo argi(arg[iarg]); if (argi.get_type() == ArgInfo::NONE || argi.get_type() == ArgInfo::UNKNOWN) break; if (argi.get_dim() > 1) error->all(FLERR,"Invalid fix ave/grid command"); // atom value has no colon - + if (!strchr(arg[iarg],':')) { modeatom = 1; ids[nvalues] = argi.copy_name(); diff --git a/src/grid3d.cpp b/src/grid3d.cpp index abb09c617c..ca8d19aacc 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -537,7 +537,7 @@ void Grid3d::ghost_grid() // OFFSET allows generation of negative indices with static_cast // out xyz lo/hi = index range of owned + ghost cells // if zextra, nz and effective prd[2] are both larger, so dzinv is the same - + double dxinv = nx / prd[0]; double dyinv = ny / prd[1]; double dzinv = nz / prd[2]; diff --git a/src/utils.cpp b/src/utils.cpp index 841877859a..c39a4f7889 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -887,27 +887,27 @@ int utils::check_grid_reference(char *errstr, char *ref, int nevery, auto name = argi.get_name(); switch (argi.get_type()) { - + case ArgInfo::UNKNOWN: { lmp->error->all(FLERR,"%s grid reference %s is invalid",errstr,ref); } break; - + // compute value = c_ID case ArgInfo::COMPUTE: { // split name = idcompute:gname:dname into 3 strings - + auto words = parse_grid_id(FLERR,name,lmp->error); const auto &idcompute = words[0]; const auto &gname = words[1]; const auto &dname = words[2]; - + auto icompute = lmp->modify->get_compute_by_id(idcompute); if (!icompute) lmp->error->all(FLERR,"{} compute ID {} not found",errstr,idcompute); if (icompute->pergrid_flag == 0) lmp->error->all(FLERR,"{} compute {} does not compute per-grid info",errstr,idcompute); - + int dim; igrid = icompute->get_grid_by_name(gname,dim); if (igrid < 0) diff --git a/src/utils.h b/src/utils.h index b88c93f463..218fe2ad5e 100644 --- a/src/utils.h +++ b/src/utils.h @@ -401,7 +401,7 @@ namespace utils { int check_grid_reference(char *errstr, char *ref, int nevery, char *&id, int &igrid, int &idata, int &index, LAMMPS *lmp); - + /*! Parse grid reference into 3 sub-strings * * Format of grid ID reference = id:gname:dname From 6d4cb38d1fe5f7a3d6e940fb76a8e6446e7e0aac Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 1 Dec 2022 10:12:39 -0500 Subject: [PATCH 122/142] parse_gridid was renamed to parse_grid_id --- doc/src/Developer_utils.rst | 2 +- unittest/utils/test_utils.cpp | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/doc/src/Developer_utils.rst b/doc/src/Developer_utils.rst index 7d9e7a46f9..247d972ab4 100644 --- a/doc/src/Developer_utils.rst +++ b/doc/src/Developer_utils.rst @@ -211,7 +211,7 @@ Argument processing .. doxygenfunction:: expand_args :project: progguide -.. doxygenfunction:: parse_gridid +.. doxygenfunction:: parse_grid_id :project: progguide .. doxygenfunction:: expand_type diff --git a/unittest/utils/test_utils.cpp b/unittest/utils/test_utils.cpp index 9e19a17255..d1a4b90fea 100644 --- a/unittest/utils/test_utils.cpp +++ b/unittest/utils/test_utils.cpp @@ -844,39 +844,39 @@ TEST(Utils, boundsbig_case3) ASSERT_EQ(nhi, -1); } -TEST(Utils, parse_gridid) +TEST(Utils, parse_grid_id) { - auto words = utils::parse_gridid(FLERR, "c_1:full:density", nullptr); + auto words = utils::parse_grid_id(FLERR, "c_1:full:density", nullptr); ASSERT_THAT(words[0], StrEq("c_1")); ASSERT_THAT(words[1], StrEq("full")); ASSERT_THAT(words[2], StrEq("density")); - words = utils::parse_gridid(FLERR, "c_1:full:density[1]", nullptr); + words = utils::parse_grid_id(FLERR, "c_1:full:density[1]", nullptr); ASSERT_THAT(words[0], StrEq("c_1")); ASSERT_THAT(words[1], StrEq("full")); ASSERT_THAT(words[2], StrEq("density[1]")); - words = utils::parse_gridid(FLERR, "c_1:full:density[*]", nullptr); + words = utils::parse_grid_id(FLERR, "c_1:full:density[*]", nullptr); ASSERT_THAT(words[0], StrEq("c_1")); ASSERT_THAT(words[1], StrEq("full")); ASSERT_THAT(words[2], StrEq("density[*]")); - words = utils::parse_gridid(FLERR, "c_1_full_density", nullptr); + words = utils::parse_grid_id(FLERR, "c_1_full_density", nullptr); ASSERT_THAT(words[0], StrEq("")); ASSERT_THAT(words[1], StrEq("")); ASSERT_THAT(words[0], StrEq("")); - words = utils::parse_gridid(FLERR, "c_1:full:", nullptr); + words = utils::parse_grid_id(FLERR, "c_1:full:", nullptr); ASSERT_THAT(words[0], StrEq("")); ASSERT_THAT(words[1], StrEq("")); ASSERT_THAT(words[0], StrEq("")); - words = utils::parse_gridid(FLERR, ":full:density", nullptr); + words = utils::parse_grid_id(FLERR, ":full:density", nullptr); ASSERT_THAT(words[0], StrEq("")); ASSERT_THAT(words[1], StrEq("")); ASSERT_THAT(words[0], StrEq("")); - words = utils::parse_gridid(FLERR, "c_1:full", nullptr); + words = utils::parse_grid_id(FLERR, "c_1:full", nullptr); ASSERT_THAT(words[0], StrEq("")); ASSERT_THAT(words[1], StrEq("")); ASSERT_THAT(words[0], StrEq("")); From dbfc5c74cec0093b26ef22d44b8bae50dcecf738 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 1 Dec 2022 10:36:12 -0500 Subject: [PATCH 123/142] spelling --- doc/src/Developer_grid.rst | 24 ++++++++++----------- doc/src/dump.rst | 2 +- doc/utils/sphinx-config/false_positives.txt | 19 ++++++++++++++++ 3 files changed, 32 insertions(+), 13 deletions(-) diff --git a/doc/src/Developer_grid.rst b/doc/src/Developer_grid.rst index e18fc399f9..4012b2b1f2 100644 --- a/doc/src/Developer_grid.rst +++ b/doc/src/Developer_grid.rst @@ -26,9 +26,9 @@ grid. More specifically, a grid point is defined for each cell (by default the center point), and a processor owns a grid cell if its point is -within the processor's spatial subdomain. The union of processor -subdomains is the global simulation box. If a grid point is on the -boundary of two subdomains, the lower processor owns the grid cell. A +within the processor's spatial sub-domain. The union of processor +sub-domains is the global simulation box. If a grid point is on the +boundary of two sub-domains, the lower processor owns the grid cell. A processor may also store copies of ghost cells which surround its owned cells. @@ -60,7 +60,7 @@ y-dimension. It is even possible to define a 1x1x1 3d grid, though it may be inefficient to use it in a computational sense. Note that the choice of grid size is independent of the number of -processors or their layout in a grid of processor subdomains which +processors or their layout in a grid of processor sub-domains which overlays the simulations domain. Depending on the distributed grid size, a single processor may own many 1000s or no grid cells. @@ -233,7 +233,7 @@ invoked, because they influence its operation. void set_zfactor(double factor); Processors own a grid cell if a point within the grid cell is inside -the processor's subdomain. By default this is the center point of the +the processor's sub-domain. By default this is the center point of the grid cell. The *set_shift_grid()* method can change this. The *shift* argument is a value from 0.0 to 1.0 (inclusive) which is the offset of the point within the grid cell in each dimension. The default is 0.5 @@ -243,9 +243,9 @@ typically no need to change the default as it is optimal for minimizing the number of ghost cells needed. If a processor maps its particles to grid cells, it needs to allow for -its particles being outside its subdomain between reneighboring. The +its particles being outside its sub-domain between reneighboring. The *distance* argument of the *set_distance()* method sets the furthest -distance outside a processor's subdomain which a particle can move. +distance outside a processor's sub-domain which a particle can move. Typically this is half the neighbor skin distance, assuming reneighboring is done appropriately. This distance is used in determining how many ghost cells a processor needs to store to enable @@ -293,7 +293,7 @@ to the Grid class via the *set_zfactor()* method (*set_yfactor()* for 2d grids). The Grid class will then assign ownership of the 1/3 of grid cells that overlay the simulation box to the processors which also overlay the simulation box. The remaining 2/3 of the grid cells -are assigned to processors whose subdomains are adjacent to the upper +are assigned to processors whose sub-domains are adjacent to the upper z boundary of the simulation box. ---------- @@ -547,13 +547,13 @@ Grid class remap methods for load balancing The following methods are used when a load-balancing operation, triggered by the :doc:`balance ` or :doc:`fix balance ` commands, changes the partitioning of the simulation -domain into processor subdomains. +domain into processor sub-domains. In order to work with load-balancing, any style command (compute, fix, pair, or kspace style) which allocates a grid and stores per-grid data should define a *reset_grid()* method; it takes no arguments. It will be called by the two balance commands after they have reset processor -subdomains and migrated atoms (particles) to new owning processors. +sub-domains and migrated atoms (particles) to new owning processors. The *reset_grid()* method will typically perform some or all of the following operations. See the src/fix_ave_grid.cpp and src/EXTRA_FIX/fix_ttm_grid.cpp files for examples of *reset_grid()* @@ -562,7 +562,7 @@ functions. First, the *reset_grid()* method can instantiate new grid(s) of the same global size, then call *setup_grid()* to partition them via the -new processor subdomains. At this point, it can invoke the +new processor sub-domains. At this point, it can invoke the *identical()* method which compares the owned and ghost grid cell index bounds between two grids, the old grid passed as a pointer argument, and the new grid whose *identical()* method is being called. @@ -577,7 +577,7 @@ the command can simply delete the old data array(s) and grid instance(s). It can then return. If the grid data does need to persist, then the data for each grid -needs to be "remapped" from the old grld partitioning to the new grid +needs to be "remapped" from the old grid partitioning to the new grid partitioning. The *setup_remap()* and *remap()* methods are used for that purpose. diff --git a/doc/src/dump.rst b/doc/src/dump.rst index 60efddbd62..4547c76289 100644 --- a/doc/src/dump.rst +++ b/doc/src/dump.rst @@ -66,7 +66,7 @@ Syntax * style = *atom* or *atom/adios* or *atom/gz* or *atom/zstd* or *atom/mpiio* or *cfg* or *cfg/gz* or *cfg/zstd* or *cfg/mpiio* or *cfg/uef* or *custom* or *custom/gz* or *custom/zstd* or *custom/mpiio* or *custom/adios* or *dcd* or *grid* or *grid/vtk* or *h5md* or *image* or *local* or *local/gz* or *local/zstd* or *molfile* or *movie* or *netcdf* or *netcdf/mpiio* or *vtk* or *xtc* or *xyz* or *xyz/gz* or *xyz/zstd* or *xyz/mpiio* or *yaml* * N = dump on timesteps which are multiples of N * file = name of file to write dump info to -* attribute1,filel2,... = list of attributes for a particular style +* attribute1,attribute2,... = list of attributes for a particular style .. parsed-literal:: diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index e9f3a4089b..e515d3bd0b 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -412,6 +412,7 @@ cdennist cdof ceil Ceil +cekk centerline centro centroid @@ -470,6 +471,7 @@ Cij cis civ CKD +ckk Clang clearstore Cleary @@ -559,6 +561,8 @@ Coulombic Coulombics counterion counterions +CountI +CountN Courant covalent covalently @@ -1240,6 +1244,7 @@ Glosli Glotzer gmail gmake +gmap gmask Gmask GMock @@ -1439,6 +1444,7 @@ ieni ifdefs iff ifort +ihi Ihle ij ijk @@ -1449,6 +1455,7 @@ ilabel Ilie ilmenau Ilmenau +ilo ilp Ilya im @@ -1550,6 +1557,8 @@ Iw Iwers iwyu ixcm +ixhi +ixlo ixx Ixx ixy @@ -2388,6 +2397,7 @@ nlayers nlen nlines Nlines +nlist nlo nlocal Nlocal @@ -2517,11 +2527,15 @@ Nwait nwchem nx Nx +nxlo nxnodes +Nxyz ny Ny +nylo nz Nz +nzlo ocl octahedral octants @@ -2590,6 +2604,8 @@ overlayed Ovito oxdna oxDNA +oxhi +oxlo oxrna oxRNA packings @@ -2657,6 +2673,7 @@ Peng peptide peratom Pergamon +pergrid peri peridynamic Peridynamic @@ -3370,6 +3387,8 @@ Sugaku Suhai Sukumaran Sulc +SumI +SumN sumsq Sunderland supercell From 65488ca217174ae1b9a194dd9dd4ec85f4b7fcb2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 1 Dec 2022 10:51:04 -0500 Subject: [PATCH 124/142] silence compiler warnings --- src/EXTRA-FIX/fix_ttm_grid.cpp | 1 - src/dump_grid.cpp | 4 ++-- src/dump_grid_vtk.cpp | 2 +- src/dump_grid_vtk.h | 2 +- src/dump_image.cpp | 4 ++-- src/fix_ave_grid.cpp | 22 ++++++++-------------- 6 files changed, 14 insertions(+), 21 deletions(-) diff --git a/src/EXTRA-FIX/fix_ttm_grid.cpp b/src/EXTRA-FIX/fix_ttm_grid.cpp index ff9f864f8e..ec5ba2540e 100644 --- a/src/EXTRA-FIX/fix_ttm_grid.cpp +++ b/src/EXTRA-FIX/fix_ttm_grid.cpp @@ -411,7 +411,6 @@ void FixTTMGrid::write_restart_file(const char *file) if (fpout == nullptr) error->one(FLERR,"Cannot open fix ttm/grid restart file {}: {}",outfile,utils::getsyserror()); - bigint ngrid = (bigint) nxgrid * nygrid * nzgrid; fmt::print(fpout,"# DATE: {} UNITS: {} COMMENT: " "Electron temperature on {}x{}x{} grid at step {} - " "created by fix {}\n", diff --git a/src/dump_grid.cpp b/src/dump_grid.cpp index 7a3de98921..ded86d414d 100644 --- a/src/dump_grid.cpp +++ b/src/dump_grid.cpp @@ -425,7 +425,7 @@ void DumpGrid::header_binary_triclinic(bigint ndump) /* ---------------------------------------------------------------------- */ -void DumpGrid::header_item(bigint ndump) +void DumpGrid::header_item(bigint /*ndump*/) { if (unit_flag && !unit_count) { ++unit_count; @@ -445,7 +445,7 @@ void DumpGrid::header_item(bigint ndump) /* ---------------------------------------------------------------------- */ -void DumpGrid::header_item_triclinic(bigint ndump) +void DumpGrid::header_item_triclinic(bigint /*ndump*/) { if (unit_flag && !unit_count) { ++unit_count; diff --git a/src/dump_grid_vtk.cpp b/src/dump_grid_vtk.cpp index 6a4b05d9f3..a143a04152 100644 --- a/src/dump_grid_vtk.cpp +++ b/src/dump_grid_vtk.cpp @@ -74,7 +74,7 @@ void DumpGridVTK::init_style() /* ---------------------------------------------------------------------- */ -void DumpGridVTK::write_header(bigint ndump) +void DumpGridVTK::write_header(bigint /*ndump*/) { if (me) return; diff --git a/src/dump_grid_vtk.h b/src/dump_grid_vtk.h index ca8ffed525..4f4da3fd4e 100644 --- a/src/dump_grid_vtk.h +++ b/src/dump_grid_vtk.h @@ -31,7 +31,7 @@ class DumpGridVTK : public DumpGrid { protected: int mode; - double *xcoord,*ycoord,*zcoord; + double *xcoord, *ycoord, *zcoord; // methods diff --git a/src/dump_image.cpp b/src/dump_image.cpp index 3085843e7e..32b4a69feb 100644 --- a/src/dump_image.cpp +++ b/src/dump_image.cpp @@ -1372,7 +1372,7 @@ void DumpImage::grid_cell_corners_2d(int ix, int iy) } } else { - double lamda[3],xone[3]; + double lamda[3]; lamda[2] = 0.0; double dx = 1.0 / nxgrid; @@ -1411,7 +1411,7 @@ void DumpImage::grid_cell_corners_3d(int ix, int iy, int iz) } } else { - double lamda[3],xone[3]; + double lamda[3]; double dx = 1.0 / nxgrid; double dy = 1.0 / nygrid; diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index c6040903bb..6e0e16b360 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -518,8 +518,6 @@ void FixAveGrid::setup(int /*vflag*/) void FixAveGrid::end_of_step() { - int m,ix,iy,iz; - // skip if not step which requires doing something bigint ntimestep = update->ntimestep; @@ -1524,7 +1522,7 @@ void FixAveGrid::deallocate_one_grid(GridData *grid, if ATOM mode, also include per-grid count ------------------------------------------------------------------------- */ -double FixAveGrid::size_grid(GridData *grid) +double FixAveGrid::size_grid(GridData * /*grid*/) { int nper = nvalues; if (modeatom) nper++; @@ -1867,8 +1865,6 @@ void FixAveGrid::unpack_reverse_grid(int /*which*/, void *vbuf, int nlist, int * void FixAveGrid::pack_remap_grid(int /*which*/, void *vbuf, int nlist, int *list) { - int i,j,m,iwindow; - auto buf = (double *) vbuf; int running_flag = 0; @@ -1876,13 +1872,13 @@ void FixAveGrid::pack_remap_grid(int /*which*/, void *vbuf, int nlist, int *list int window_flag = 0; if (aveflag == WINDOW) window_flag = 1; - m = 0; - for (i = 0; i < nlist; i++) { + int m = 0; + for (int i = 0; i < nlist; i++) { m += pack_one_grid(grid_sample_previous,list[i],&buf[m]); m += pack_one_grid(grid_nfreq_previous,list[i],&buf[m]); if (running_flag) m += pack_one_grid(grid_running_previous,list[i],&buf[m]); if (window_flag) - for (iwindow = 0; iwindow < nwindow; iwindow++) + for (int iwindow = 0; iwindow < nwindow; iwindow++) m += pack_one_grid(grid_window_previous[iwindow],list[i],&buf[m]); } } @@ -1894,22 +1890,20 @@ void FixAveGrid::pack_remap_grid(int /*which*/, void *vbuf, int nlist, int *list void FixAveGrid::unpack_remap_grid(int /*which*/, void *vbuf, int nlist, int *list) { - int i,j,m,iwindow; - - auto buf = (double *) vbuf; + auto buf = (double *) vbuf; int running_flag = 0; if (aveflag == RUNNING || aveflag == WINDOW) running_flag = 1; int window_flag = 0; if (aveflag == WINDOW) window_flag = 1; - m = 0; - for (i = 0; i < nlist; i++) { + int m = 0; + for (int i = 0; i < nlist; i++) { m += unpack_one_grid(&buf[m],grid_sample,list[i]); m += unpack_one_grid(&buf[m],grid_nfreq,list[i]); if (running_flag) m += unpack_one_grid(&buf[m],grid_running,list[i]); if (window_flag) - for (iwindow = 0; iwindow < nwindow; iwindow++) + for (int iwindow = 0; iwindow < nwindow; iwindow++) m += unpack_one_grid(&buf[m],grid_window[iwindow],list[i]); } } From cd7b3897a4888535ef7fae75c48277c89325d388 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 1 Dec 2022 11:02:04 -0500 Subject: [PATCH 125/142] enable and apply clang-format --- src/dump_grid_vtk.cpp | 121 +++++++++++++++++++----------------------- 1 file changed, 55 insertions(+), 66 deletions(-) diff --git a/src/dump_grid_vtk.cpp b/src/dump_grid_vtk.cpp index a143a04152..8c74024485 100644 --- a/src/dump_grid_vtk.cpp +++ b/src/dump_grid_vtk.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -13,32 +12,29 @@ ------------------------------------------------------------------------- */ #include "dump_grid_vtk.h" + #include "domain.h" #include "error.h" #include "memory.h" using namespace LAMMPS_NS; -enum{SCALAR,VECTOR}; +enum { SCALAR, VECTOR }; /* ---------------------------------------------------------------------- */ DumpGridVTK::DumpGridVTK(LAMMPS *lmp, int narg, char **arg) : - DumpGrid(lmp, narg, arg) + DumpGrid(lmp, narg, arg), xcoord(nullptr), ycoord(nullptr), zcoord(nullptr) { - if (binary || multiproc) error->all(FLERR,"Invalid dump grid/vtk filename"); - if (nfield != 1 && nfield != 3) - error->all(FLERR,"Dump grid/vtk requires one or three fields\n"); + if (binary || multiproc) error->all(FLERR, "Invalid dump grid/vtk filename: {}", filename); + if (nfield != 1 && nfield != 3) error->all(FLERR, "Dump grid/vtk requires one or three fields\n"); buffer_allow = 0; buffer_flag = 0; sort_flag = 1; sortcol = 0; - if (nfield == 1) mode = SCALAR; - else mode = VECTOR; - - xcoord = ycoord = zcoord = nullptr; + mode = (nfield == 1) ? SCALAR : VECTOR; } /* ---------------------------------------------------------------------- */ @@ -56,19 +52,17 @@ void DumpGridVTK::init_style() { DumpGrid::init_style(); - if (multifile == 0) - error->all(FLERR,"Dump grid/vtk requires one snapshot per file"); - if (sort_flag == 0 || sortcol > 0) - error->all(FLERR,"Dump grid/vtk requires sorting on IDs"); + if (multifile == 0) error->all(FLERR, "Dump grid/vtk requires one snapshot per file"); + if (sort_flag == 0 || sortcol > 0) error->all(FLERR, "Dump grid/vtk requires sorting on IDs"); if (domain->triclinic) - error->all(FLERR,"Dump grid/vtk does not support trclinic simulation boxes - " - "use dump grid instead"); - if (binary) error->all(FLERR,"Dump grid/vtk cannot write binary files\n"); + error->all(FLERR, + "Dump grid/vtk does not support triclinic simulation boxes, use dump grid instead"); + if (binary) error->all(FLERR, "Dump grid/vtk cannot write binary files\n"); if (!xcoord) { - memory->create(xcoord,nxgrid+1,"dumpgridVTK:xcoord"); - memory->create(ycoord,nygrid+1,"dumpgridVTK:ycoord"); - memory->create(zcoord,nzgrid+1,"dumpgridVTK:zcoord"); + memory->create(xcoord, nxgrid + 1, "dumpgridVTK:xcoord"); + memory->create(ycoord, nygrid + 1, "dumpgridVTK:ycoord"); + memory->create(zcoord, nzgrid + 1, "dumpgridVTK:zcoord"); } } @@ -80,37 +74,37 @@ void DumpGridVTK::write_header(bigint /*ndump*/) xyz_grid(); - fprintf(fp,"\n"); - fprintf(fp,"\n"); - fprintf(fp,"\n",nxgrid,nygrid,nzgrid); - fprintf(fp,"\n",nxgrid,nygrid,nzgrid); - fprintf(fp,"\n"); - fprintf(fp,"\n"); - fprintf(fp,"\n"); + fprintf(fp, "\n"); + fprintf(fp, "\n"); + fprintf(fp, + "\n", + nxgrid, nygrid, nzgrid); + fprintf(fp, "\n", nxgrid, nygrid, nzgrid); + fprintf(fp, "\n"); + fprintf(fp, "\n"); + fprintf(fp, "\n"); // coords of center point of grid cells in each of xyz dimensions - fprintf(fp,"\n"); - for (int i = 0; i <= nxgrid; i++) - fprintf(fp,"%g ",xcoord[i]); - fprintf(fp,"\n\n"); - fprintf(fp,"\n"); - for (int i = 0; i <= nygrid; i++) - fprintf(fp,"%g ",ycoord[i]); - fprintf(fp,"\n\n"); - fprintf(fp,"\n"); - for (int i = 0; i <= nzgrid; i++) - fprintf(fp,"%g ",zcoord[i]); - fprintf(fp,"\n\n"); + fprintf(fp, "\n"); + for (int i = 0; i <= nxgrid; i++) fprintf(fp, "%g ", xcoord[i]); + fprintf(fp, "\n\n"); + fprintf(fp, "\n"); + for (int i = 0; i <= nygrid; i++) fprintf(fp, "%g ", ycoord[i]); + fprintf(fp, "\n\n"); + fprintf(fp, "\n"); + for (int i = 0; i <= nzgrid; i++) fprintf(fp, "%g ", zcoord[i]); + fprintf(fp, "\n\n"); - fprintf(fp,"\n"); + fprintf(fp, "\n"); - fprintf(fp,"\n"); + fprintf(fp, "\n"); if (mode == SCALAR) - fprintf(fp,"\n"); + fprintf(fp, "\n"); else if (mode == VECTOR) - fprintf(fp,"\n"); } @@ -120,28 +114,29 @@ void DumpGridVTK::write_footer() { if (me) return; - fprintf(fp,"\n"); - fprintf(fp,"\n"); - fprintf(fp,"\n"); - fprintf(fp,"\n"); - fprintf(fp,"\n"); + fprintf(fp, "\n"); + fprintf(fp, "\n"); + fprintf(fp, "\n"); + fprintf(fp, "\n"); + fprintf(fp, "\n"); } /* ---------------------------------------------------------------------- */ void DumpGridVTK::write_data(int n, double *mybuf) { - int i,j; - int m = 0; - for (i = 0; i < n; i++) { - for (j = 0; j < nfield; j++) { - if (vtype[j] == Dump::INT) fprintf(fp,vformat[j],static_cast (mybuf[m])); - else if (vtype[j] == Dump::DOUBLE) fprintf(fp,vformat[j],mybuf[m]); - else if (vtype[j] == Dump::BIGINT) fprintf(fp,vformat[j],static_cast (mybuf[m])); + for (int i = 0; i < n; i++) { + for (int j = 0; j < nfield; j++) { + if (vtype[j] == Dump::INT) + fprintf(fp, vformat[j], static_cast(mybuf[m])); + else if (vtype[j] == Dump::DOUBLE) + fprintf(fp, vformat[j], mybuf[m]); + else if (vtype[j] == Dump::BIGINT) + fprintf(fp, vformat[j], static_cast(mybuf[m])); m++; } - fprintf(fp,"\n"); + fprintf(fp, "\n"); } } @@ -149,19 +144,13 @@ void DumpGridVTK::write_data(int n, double *mybuf) void DumpGridVTK::xyz_grid() { - double *prd = domain->prd; double *boxlo = domain->boxlo; double dx = domain->prd[0] / nxgrid; double dy = domain->prd[1] / nygrid; double dz = domain->prd[2] / nzgrid; - for (int ix = 0; ix <= nxgrid; ix++) - xcoord[ix] = boxlo[0] + ix*dx; - - for (int iy = 0; iy <= nygrid; iy++) - ycoord[iy] = boxlo[1] + iy*dy; - - for (int iz = 0; iz <= nzgrid; iz++) - zcoord[iz] = boxlo[2] + iz*dz; + for (int ix = 0; ix <= nxgrid; ix++) xcoord[ix] = boxlo[0] + ix * dx; + for (int iy = 0; iy <= nygrid; iy++) ycoord[iy] = boxlo[1] + iy * dy; + for (int iz = 0; iz <= nzgrid; iz++) zcoord[iz] = boxlo[2] + iz * dz; } From f91828d7a6383beb2556e27f5c8a902fc307042e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 1 Dec 2022 11:02:16 -0500 Subject: [PATCH 126/142] improve error messages --- src/dump_grid.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/dump_grid.cpp b/src/dump_grid.cpp index ded86d414d..d5cc3abe69 100644 --- a/src/dump_grid.cpp +++ b/src/dump_grid.cpp @@ -33,7 +33,7 @@ using namespace LAMMPS_NS; // customize by adding keyword // also customize compute_atom_property.cpp -enum{COMPUTE,FIX}; +enum {COMPUTE,FIX}; #define ONEFIELD 32 #define DELTA 1048576 @@ -51,7 +51,7 @@ DumpGrid::DumpGrid(LAMMPS *lmp, int narg, char **arg) : clearstep = 1; nevery = utils::inumeric(FLERR,arg[3],false,lmp); - if (nevery <= 0) error->all(FLERR,"Illegal dump grid command"); + if (nevery <= 0) error->all(FLERR,"Illegal dump grid nevery value: {}", nevery); // expand args if any have wildcard character "*" // ok to include trailing optional args, @@ -93,8 +93,7 @@ DumpGrid::DumpGrid(LAMMPS *lmp, int narg, char **arg) : if (ioptional < nfield && strcmp(style,"image") != 0 && strcmp(style,"movie") != 0) - error->all(FLERR,"Invalid attribute {} in dump {} command", - earg[ioptional],style); + error->all(FLERR,"Invalid attribute {} in dump {} command", earg[ioptional],style); // noptional = # of optional args // reset nfield to subtract off optional args From 1ba9ff7817286be97c6b829b52ce39e755c4fe3e Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 1 Dec 2022 15:51:17 -0700 Subject: [PATCH 127/142] add new grid-based examples --- examples/README | 1 + examples/grid/README | 23 + examples/grid/data.sph | 31424 ++++++++++++++++ examples/grid/in.grid.2d | 52 + examples/grid/in.grid.3d | 50 + examples/grid/in.sph | 112 + examples/grid/log.1Dec22.grid.2d.g++.1 | 104 + examples/grid/log.1Dec22.grid.2d.g++.12 | 105 + examples/grid/log.1Dec22.grid.2d.g++.4 | 105 + examples/grid/log.1Dec22.grid.3d.g++.1 | 102 + examples/grid/log.1Dec22.grid.3d.g++.10 | 103 + examples/grid/log.1Dec22.grid.3d.g++.4 | 103 + examples/grid/log.1Dec22.sph.g++.1 | 193 + examples/grid/log.1Dec22.sph.g++.12 | 194 + examples/grid/log.1Dec22.sph.g++.4 | 194 + examples/ttm/in.ttm.grid | 22 +- ...m.grid.g++.1 => log.1Dec22.ttm.grid.g++.1} | 41 +- ...m.grid.g++.4 => log.1Dec22.ttm.grid.g++.4} | 46 +- 18 files changed, 32938 insertions(+), 36 deletions(-) create mode 100644 examples/grid/README create mode 100644 examples/grid/data.sph create mode 100644 examples/grid/in.grid.2d create mode 100644 examples/grid/in.grid.3d create mode 100644 examples/grid/in.sph create mode 100644 examples/grid/log.1Dec22.grid.2d.g++.1 create mode 100644 examples/grid/log.1Dec22.grid.2d.g++.12 create mode 100644 examples/grid/log.1Dec22.grid.2d.g++.4 create mode 100644 examples/grid/log.1Dec22.grid.3d.g++.1 create mode 100644 examples/grid/log.1Dec22.grid.3d.g++.10 create mode 100644 examples/grid/log.1Dec22.grid.3d.g++.4 create mode 100644 examples/grid/log.1Dec22.sph.g++.1 create mode 100644 examples/grid/log.1Dec22.sph.g++.12 create mode 100644 examples/grid/log.1Dec22.sph.g++.4 rename examples/ttm/{log.30Aug22.ttm.grid.g++.1 => log.1Dec22.ttm.grid.g++.1} (79%) rename examples/ttm/{log.30Aug22.ttm.grid.g++.4 => log.1Dec22.ttm.grid.g++.4} (78%) diff --git a/examples/README b/examples/README index b563fd818e..c1c1c7dcd5 100644 --- a/examples/README +++ b/examples/README @@ -78,6 +78,7 @@ flow: Couette and Poiseuille flow in a 2d channel friction: frictional contact of spherical asperities between 2d surfaces gjf: use of fix langevin Gronbech-Jensen/Farago option granregion: use of fix wall/region/gran as boundary on granular particles +grid use of commands which overlay grids on the simulation domain hugoniostat: Hugoniostat shock dynamics hyper: global and local hyperdynamics of diffusion on Pt surface indent: spherical indenter into a 2d solid diff --git a/examples/grid/README b/examples/grid/README new file mode 100644 index 0000000000..4d65325308 --- /dev/null +++ b/examples/grid/README @@ -0,0 +1,23 @@ +These input scripts illustrate the use of several commands that +overlay grids on the simulation domain. + +fix ave/grid +compute property/grid +dump grid +dump grid/vtk + +The in.grid.2d and in.grid.3d scripts model simple Lennard Jones +liquids. The in.sph script models SPH water flowing over a dam. All +the scripts use dynamic load balancing to illustrate that the grid +cells can be dynamically partitioned across processors similar to how +particles are. + +To produce output dump files and image files, you will need to +uncomment the various "dump" commands that produce them. The images +show processor subdomains as well as the background grid, colored by +particle counts in each grid cell. + + + + + diff --git a/examples/grid/data.sph b/examples/grid/data.sph new file mode 100644 index 0000000000..9a78b60348 --- /dev/null +++ b/examples/grid/data.sph @@ -0,0 +1,31424 @@ +LAMMPS data file from restart file: timestep = 0, procs = 4 + +15702 atoms + +2 atom types + +0.0000000000000000e+00 4.0010000000000003e+00 xlo xhi +0.0000000000000000e+00 8.0009999999999994e+00 ylo yhi +-1.0000000000000000e-03 1.0000000000000000e-03 zlo zhi + +Masses + +1 0.2 +2 0.1 + +Atoms + +1 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +3 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +4 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1213203435596427e-02 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8284271247461901e-02 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +6 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5355339059327376e-02 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +7 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2426406871192854e-02 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +8 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.9497474683058325e-02 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +9 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6568542494923803e-02 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3639610306789274e-02 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +11 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654752e-02 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +12 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7781745930520230e-02 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +13 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4852813742385708e-02 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +14 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1923881554251186e-02 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +15 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.8994949366116650e-02 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +16 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0606601717798213e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +17 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1313708498984761e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +18 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2020815280171308e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +19 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2727922061357855e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +20 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3435028842544403e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +21 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730950e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +22 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4849242404917498e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +23 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5556349186104046e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +24 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6263455967290594e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +284 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +285 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +286 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +287 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8284271247461901e-02 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +288 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2426406871192854e-02 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +289 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6568542494923803e-02 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +290 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654752e-02 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +291 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4852813742385708e-02 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +292 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.8994949366116650e-02 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +293 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1313708498984761e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +294 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2727922061357855e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +295 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730950e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +296 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5556349186104046e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +427 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +428 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +429 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +430 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +431 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +432 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +433 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +434 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +435 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +436 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.0710678118654752e-02 0.0000000000000000e+00 0 0 0 +437 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.7781745930520230e-02 0.0000000000000000e+00 0 0 0 +438 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.0710678118654752e-02 0.0000000000000000e+00 0 0 0 +439 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 8.4852813742385708e-02 0.0000000000000000e+00 0 0 0 +440 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 9.1923881554251186e-02 0.0000000000000000e+00 0 0 0 +441 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 8.4852813742385708e-02 0.0000000000000000e+00 0 0 0 +442 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 9.8994949366116650e-02 0.0000000000000000e+00 0 0 0 +443 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.0606601717798213e-01 0.0000000000000000e+00 0 0 0 +444 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 9.8994949366116650e-02 0.0000000000000000e+00 0 0 0 +445 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.1313708498984761e-01 0.0000000000000000e+00 0 0 0 +446 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.2020815280171308e-01 0.0000000000000000e+00 0 0 0 +447 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.1313708498984761e-01 0.0000000000000000e+00 0 0 0 +448 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.2727922061357855e-01 0.0000000000000000e+00 0 0 0 +449 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.3435028842544403e-01 0.0000000000000000e+00 0 0 0 +450 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.2727922061357855e-01 0.0000000000000000e+00 0 0 0 +451 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.4142135623730950e-01 0.0000000000000000e+00 0 0 0 +452 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.4849242404917498e-01 0.0000000000000000e+00 0 0 0 +453 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.4142135623730950e-01 0.0000000000000000e+00 0 0 0 +454 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.5556349186104046e-01 0.0000000000000000e+00 0 0 0 +455 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.6263455967290594e-01 0.0000000000000000e+00 0 0 0 +456 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.5556349186104046e-01 0.0000000000000000e+00 0 0 0 +6001 1 5.5054257779048794e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6002 1 7.1371621756056618e+02 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6003 1 7.1371621756056618e+02 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6004 1 7.1371621756056618e+02 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6005 1 7.1371621756056629e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6006 1 7.1371621756056595e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6007 1 7.1371621756056641e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6050 1 7.1371621756056618e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6051 1 9.3882791880927641e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6052 1 1.0063722103956354e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6053 1 9.7257311157309164e+02 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6054 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6055 1 9.7257311157309209e+02 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6056 1 1.0063722103956354e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6057 1 9.7257311157309175e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6058 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6059 1 9.7257311157309164e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6060 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6061 1 9.7257311157309198e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6062 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6063 1 9.7257311157309141e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6148 1 7.1371621756056618e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6149 1 9.7257311157309164e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6150 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6151 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6152 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6153 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6154 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6155 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6156 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6157 1 1.0063722103956350e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6158 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6159 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6160 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6161 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6246 1 7.1371621756056629e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6247 1 9.7257311157309209e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6248 1 1.0063722103956354e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6249 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6250 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6251 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6252 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6253 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6254 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6255 1 1.0063722103956354e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6256 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6257 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6258 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6259 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6344 1 7.1371621756056629e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6345 1 9.7257311157309175e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6346 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6347 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6348 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6349 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6350 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6351 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6352 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6353 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6354 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6355 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6356 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6357 1 1.0063722103956350e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6442 1 7.1371621756056595e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6443 1 9.7257311157309152e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6444 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6445 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6446 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6447 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6448 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6449 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6450 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6451 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6452 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6453 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6454 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6455 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6540 1 7.1371621756056641e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6541 1 9.7257311157309209e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6542 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6543 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6544 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6545 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6546 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6547 1 1.0063722103956354e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6548 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6549 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6550 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6551 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6552 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6553 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6639 1 9.7257311157309141e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6641 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6643 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6645 1 1.0063722103956350e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6647 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6649 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6651 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +25 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6970562748477142e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +26 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7677669529663689e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +27 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8384776310850237e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +28 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9091883092036782e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +29 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9798989873223330e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +30 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0506096654409878e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +31 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1213203435596426e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +32 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1920310216782973e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +33 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2627416997969521e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +34 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3334523779156069e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +35 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4041630560342617e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +36 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4748737341529164e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +37 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5455844122715710e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +38 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6162950903902260e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +39 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6870057685088805e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +40 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7577164466275356e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +41 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8284271247461901e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +42 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8991378028648451e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +43 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9698484809834996e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +44 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0405591591021541e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +45 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1112698372208092e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +46 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1819805153394637e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +47 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2526911934581187e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +48 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3234018715767732e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +297 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6970562748477142e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +298 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8384776310850237e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +299 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9798989873223330e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +300 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1213203435596426e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +301 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2627416997969521e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +302 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4041630560342617e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +303 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5455844122715710e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +304 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6870057685088805e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +305 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8284271247461901e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +306 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9698484809834996e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +307 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1112698372208092e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +308 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2526911934581187e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +6008 1 7.1371621756056629e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6009 1 7.1371621756056618e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6010 1 7.1371621756056629e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6011 1 7.1371621756056629e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6012 1 7.1371621756056584e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6013 1 7.1371621756056618e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6014 1 7.1371621756056709e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6015 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6016 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6064 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6065 1 9.7257311157309221e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6066 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6067 1 9.7257311157309198e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6068 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6069 1 9.7257311157309141e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6070 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6071 1 9.7257311157309209e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6072 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6073 1 9.7257311157309073e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6074 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6075 1 9.7257311157309323e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6076 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6077 1 9.7257311157309141e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6078 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6079 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6080 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6162 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6163 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6164 1 1.0063722103956350e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6165 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6166 1 1.0063722103956354e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6167 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6168 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6169 1 1.0063722103956354e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6170 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6171 1 1.0063722103956343e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6172 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6173 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6174 1 1.0063722103956366e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6175 1 1.0063722103956350e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6176 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6177 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6178 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6260 1 1.0063722103956354e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6261 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6262 1 1.0063722103956350e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6263 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6264 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6265 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6266 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6267 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6268 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6269 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6270 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6271 1 1.0063722103956372e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6272 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6273 1 1.0063722103956354e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6274 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6275 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6276 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6358 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6359 1 1.0063722103956354e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6360 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6361 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6362 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6363 1 1.0063722103956350e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6364 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6365 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6366 1 1.0063722103956350e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6367 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6368 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6369 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6370 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6371 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6372 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6373 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6374 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6456 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6457 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6458 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6459 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6460 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6461 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6462 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6463 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6464 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6465 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6466 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6467 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6468 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6469 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6470 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6471 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6472 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6554 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6555 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6556 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6557 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6558 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6559 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6560 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6561 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6562 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6563 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6564 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6565 1 1.0063722103956368e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6566 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6567 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6568 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6569 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6570 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6653 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6655 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6657 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6659 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6661 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6663 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6665 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6667 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +49 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3941125496954283e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +50 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4648232278140828e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +51 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5355339059327379e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +52 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6062445840513924e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +53 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6769552621700474e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +54 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7476659402887019e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +55 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8183766184073564e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +56 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8890872965260115e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +57 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9597979746446660e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +58 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0305086527633210e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +59 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1012193308819755e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +60 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1719300090006306e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +61 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2426406871192851e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +62 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.3133513652379402e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +63 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.3840620433565947e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +64 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4547727214752497e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +65 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5254833995939042e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +66 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5961940777125587e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +67 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6669047558312138e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +68 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7376154339498683e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +69 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8083261120685233e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +70 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8790367901871778e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +71 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.9497474683058329e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +309 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3941125496954283e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +310 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5355339059327379e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +311 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6769552621700474e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +312 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8183766184073564e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +313 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9597979746446660e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +314 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1012193308819755e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +315 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2426406871192851e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +316 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.3840620433565947e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +317 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5254833995939042e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +318 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6669047558312138e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +319 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8083261120685233e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +320 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.9497474683058329e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +6017 1 7.1371621756056709e+02 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6018 1 7.1371621756056618e+02 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6019 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6020 1 7.1371621756056709e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6021 1 7.1371621756056618e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6022 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6023 1 7.1371621756056709e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6024 1 7.1371621756056618e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6081 1 9.7257311157309152e+02 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6082 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6083 1 9.7257311157309323e+02 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6084 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6085 1 9.7257311157309073e+02 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6086 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6087 1 9.7257311157309141e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6088 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6089 1 9.7257311157309323e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6090 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6091 1 9.7257311157309073e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6092 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6093 1 9.7257311157309141e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6094 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6095 1 9.7257311157309323e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6096 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6097 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6179 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6180 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6181 1 1.0063722103956366e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6182 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6183 1 1.0063722103956343e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6184 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6185 1 1.0063722103956350e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6186 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6187 1 1.0063722103956366e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6188 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6189 1 1.0063722103956343e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6190 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6191 1 1.0063722103956350e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6192 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6193 1 1.0063722103956366e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6194 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6195 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6277 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6278 1 1.0063722103956368e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6279 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6280 1 1.0063722103956350e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6281 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6282 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6283 1 1.0063722103956354e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6284 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6285 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6286 1 1.0063722103956350e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6287 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6288 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6289 1 1.0063722103956354e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6290 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6291 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6292 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6293 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6375 1 1.0063722103956350e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6376 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6377 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6378 1 1.0063722103956354e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6379 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6380 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6381 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6382 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6383 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6384 1 1.0063722103956354e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6385 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6386 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6387 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6388 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6389 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6390 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6391 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6473 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6474 1 1.0063722103956362e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6475 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6476 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6477 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6478 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6479 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6480 1 1.0063722103956362e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6481 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6482 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6483 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6484 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6485 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6486 1 1.0063722103956362e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6487 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6488 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6489 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6571 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6572 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6573 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6574 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6575 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6576 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6577 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6578 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6579 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6580 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6581 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6582 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6583 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6584 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6585 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6586 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6587 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6669 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6671 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6673 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6675 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6677 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6679 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6681 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6683 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6685 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +72 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0204581464244880e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +73 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0911688245431419e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +74 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1618795026617970e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +75 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2325901807804520e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +76 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3033008588991060e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +77 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3740115370177610e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +78 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4447222151364161e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +79 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5154328932550711e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +80 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5861435713737251e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +81 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6568542494923801e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +82 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7275649276110352e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +83 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7982756057296903e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +84 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8689862838483442e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +85 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9396969619669993e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +86 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0104076400856543e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +87 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0811183182043083e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +88 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.1518289963229633e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +89 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2225396744416184e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +90 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2932503525602734e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +91 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3639610306789274e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +92 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4346717087975824e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +93 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5053823869162375e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +94 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5760930650348925e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +95 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6468037431535465e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +321 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0911688245431419e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +322 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2325901807804520e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +323 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3740115370177610e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +324 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5154328932550711e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +325 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6568542494923801e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +326 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7982756057296903e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +327 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9396969619669993e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +328 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0811183182043083e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +329 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2225396744416184e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +330 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3639610306789274e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +331 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5053823869162375e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +332 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6468037431535465e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +6025 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6026 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6027 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6028 1 7.1371621756056845e+02 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6029 1 7.1371621756056675e+02 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6030 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6031 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6032 1 7.1371621756056550e+02 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6098 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6099 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6100 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6101 1 9.7257311157309073e+02 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6102 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6103 1 9.7257311157309198e+02 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6104 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6105 1 9.7257311157309550e+02 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6106 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6107 1 9.7257311157309073e+02 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6108 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6109 1 9.7257311157309073e+02 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6110 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6111 1 9.7257311157309073e+02 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6112 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6113 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6196 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6197 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6198 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6199 1 1.0063722103956343e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6200 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6201 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6202 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6203 1 1.0063722103956388e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6204 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6205 1 1.0063722103956343e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6206 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6207 1 1.0063722103956343e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6208 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6209 1 1.0063722103956343e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6210 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6211 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6294 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6295 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6296 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6297 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6298 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6299 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6300 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6301 1 1.0063722103956391e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6302 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6303 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6304 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6305 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6306 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6307 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6308 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6309 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6392 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6393 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6394 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6395 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6396 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6397 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6398 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6399 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6400 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6401 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6402 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6403 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6404 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6405 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6406 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6407 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6490 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6491 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6492 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6493 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6494 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6495 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6496 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6497 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6498 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6499 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6500 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6501 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6502 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6503 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6504 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6505 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6588 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6589 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6590 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6591 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6592 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6593 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6594 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6595 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6596 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6597 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6598 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6599 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6600 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6601 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6602 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6603 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6687 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6689 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6691 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6693 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6695 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6697 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6699 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6701 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +96 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7175144212722016e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +97 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7882250993908566e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +98 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8589357775095106e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +99 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9296464556281656e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +100 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0003571337468207e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +101 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654757e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +102 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1417784899841297e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +103 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2124891681027847e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +104 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2831998462214398e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +105 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3539105243400948e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +106 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.4246212024587488e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +107 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.4953318805774038e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +108 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5660425586960589e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +109 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6367532368147129e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +110 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7074639149333679e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +111 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7781745930520230e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +112 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8488852711706780e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +113 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9195959492893320e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +114 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9903066274079870e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +115 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0610173055266421e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +116 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1317279836452971e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +117 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2024386617639511e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +118 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2731493398826061e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +333 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7882250993908566e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +334 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9296464556281656e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +335 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654757e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +336 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2124891681027847e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +337 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3539105243400948e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +338 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.4953318805774038e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +339 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6367532368147129e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +340 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7781745930520230e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +341 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9195959492893320e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +342 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0610173055266421e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +343 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2024386617639511e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +6033 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6034 1 7.1371621756056675e+02 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6035 1 7.1371621756056845e+02 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6036 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6037 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6038 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6039 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6040 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6041 1 7.1371621756056845e+02 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6114 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6115 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6116 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6117 1 9.7257311157309516e+02 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6118 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6119 1 9.7257311157309209e+02 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6120 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6121 1 9.7257311157309073e+02 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6122 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6123 1 9.7257311157309073e+02 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6124 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6125 1 9.7257311157309073e+02 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6126 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6127 1 9.7257311157309073e+02 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6128 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6129 1 9.7257311157309198e+02 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6130 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6212 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6213 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6214 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6215 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6216 1 1.0063722103956388e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6217 1 1.0063722103956354e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6218 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6219 1 1.0063722103956343e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6220 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6221 1 1.0063722103956343e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6222 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6223 1 1.0063722103956343e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6224 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6225 1 1.0063722103956343e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6226 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6227 1 1.0063722103956354e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6228 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6310 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6311 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6312 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6313 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6314 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6315 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6316 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6317 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6318 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6319 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6320 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6321 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6322 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6323 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6324 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6325 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6326 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6408 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6409 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6410 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6411 1 1.0063722103956388e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6412 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6413 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6414 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6415 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6416 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6417 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6418 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6419 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6420 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6421 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6422 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6423 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6424 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6506 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6507 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6508 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6509 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6510 1 1.0063722103956384e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6511 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6512 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6513 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6514 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6515 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6516 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6517 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6518 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6519 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6520 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6521 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6522 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6604 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6605 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6606 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6607 1 1.0063722103956391e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6608 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6609 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6610 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6611 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6612 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6613 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6614 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6615 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6616 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6617 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6618 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6619 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6620 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6703 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6705 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6707 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6709 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6711 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6713 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6715 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6717 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +119 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3438600180012612e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +120 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4145706961199151e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +121 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4852813742385702e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +122 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5559920523572253e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +123 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.6267027304758803e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +124 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.6974134085945343e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +125 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7681240867131893e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +126 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8388347648318444e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +127 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9095454429504994e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +128 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9802561210691534e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +129 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0509667991878084e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +130 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1216774773064635e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +131 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1923881554251174e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +132 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2630988335437725e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +133 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3338095116624276e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +134 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4045201897810826e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +135 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4752308678997366e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +136 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5459415460183916e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +137 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6166522241370467e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +138 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6873629022557017e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +139 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7580735803743557e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +140 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.8287842584930107e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +141 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.8994949366116658e-01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +142 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.9702056147303197e-01 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +344 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3438600180012612e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +345 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4852813742385702e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +346 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.6267027304758803e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +347 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7681240867131893e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +348 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9095454429504994e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +349 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0509667991878084e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +350 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1923881554251174e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +351 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3338095116624276e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +352 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4752308678997366e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +353 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6166522241370467e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +354 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7580735803743557e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +355 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.8994949366116658e-01 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +6042 1 7.1371621756056675e+02 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6043 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6044 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6045 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6046 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6047 1 7.1371621756056845e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6048 1 7.1371621756056675e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6049 1 6.7997102479675050e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 2.9999999999999999e-02 0.0000000000000000e+00 0 0 0 +6131 1 9.7257311157309539e+02 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6132 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6133 1 9.7257311157309073e+02 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6134 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6135 1 9.7257311157309073e+02 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6136 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6137 1 9.7257311157309073e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6138 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6139 1 9.7257311157309073e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6140 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6141 1 9.7257311157309198e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6142 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6143 1 9.7257311157309550e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6144 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6145 1 9.7257311157309073e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6146 1 9.7257311157309130e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 5.0000000000000003e-02 0.0000000000000000e+00 0 0 0 +6147 1 6.7997102479675050e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 0.0000000000000000e+00 0 0 0 +6229 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6230 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6231 1 1.0063722103956343e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6232 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6233 1 1.0063722103956343e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6234 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6235 1 1.0063722103956343e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6236 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6237 1 1.0063722103956343e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6238 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6239 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6240 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6241 1 1.0063722103956388e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6242 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6243 1 1.0063722103956343e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6244 1 9.7257311157309118e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 7.0000000000000007e-02 0.0000000000000000e+00 0 0 0 +6245 1 7.1371621756056572e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 0.0000000000000000e+00 0 0 0 +6327 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6328 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6329 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6330 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6331 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6332 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6333 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6334 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6335 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6336 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6337 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6338 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6339 1 1.0063722103956391e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6340 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6341 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6342 1 9.7257311157309118e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 8.9999999999999997e-02 0.0000000000000000e+00 0 0 0 +6343 1 7.1371621756056595e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 0.0000000000000000e+00 0 0 0 +6425 1 1.0063722103956388e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6426 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6427 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6428 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6429 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6430 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6431 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6432 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6433 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6434 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6435 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6436 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6437 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6438 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6439 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6440 1 9.7257311157309152e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +6441 1 7.1371621756056584e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6523 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6524 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6525 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6526 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6527 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6528 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6529 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6530 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6531 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6532 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6533 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6534 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6535 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6536 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6537 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6538 1 9.7257311157309073e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +6539 1 7.1371621756056584e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6621 1 1.0063722103956391e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6622 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6623 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6624 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6625 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6626 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6627 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6628 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6629 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6630 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6631 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6632 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6633 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6634 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6635 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6636 1 9.7257311157309141e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.4999999999999999e-01 0.0000000000000000e+00 0 0 0 +6637 1 7.1371621756056584e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +6719 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6721 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6723 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6725 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6727 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6729 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6731 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6733 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +6735 1 7.1371621756056584e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 0.0000000000000000e+00 0 0 0 +143 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0040916292848976e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +144 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0111626970967629e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +145 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0182337649086284e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +146 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0253048327204939e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +147 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0323759005323594e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +148 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0394469683442249e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +149 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0465180361560904e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +150 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0535891039679559e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +151 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0606601717798212e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +152 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0677312395916867e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +153 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0748023074035522e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +154 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0818733752154177e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +155 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0889444430272832e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +156 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0960155108391487e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +157 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1030865786510142e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +158 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1101576464628797e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +159 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1172287142747450e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +160 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1242997820866105e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +161 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1313708498984760e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +162 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1384419177103415e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +163 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1455129855222070e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +164 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1525840533340725e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +165 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1596551211459381e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +166 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1667261889578033e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +356 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0040916292848976e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +357 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0182337649086284e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +358 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0323759005323594e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +359 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0465180361560904e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +360 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0606601717798212e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +361 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0748023074035522e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +362 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0889444430272832e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +363 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1030865786510142e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +364 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1172287142747450e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +365 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1313708498984760e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +366 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1455129855222070e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +367 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1596551211459381e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +167 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1737972567696688e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +168 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1808683245815343e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +169 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1879393923933999e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +170 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1950104602052654e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +171 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2020815280171309e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +172 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2091525958289964e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +173 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2162236636408617e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +174 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2232947314527272e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +175 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2303657992645927e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +176 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2374368670764582e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +177 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2445079348883237e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +178 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2515790027001892e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +179 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2586500705120547e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +180 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2657211383239202e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +181 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2727922061357855e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +182 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2798632739476510e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +183 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2869343417595165e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +184 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2940054095713820e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +185 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3010764773832475e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +186 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3081475451951130e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +187 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3152186130069785e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +188 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3222896808188438e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +189 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3293607486307093e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +368 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1737972567696688e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +369 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1879393923933999e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +370 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2020815280171309e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +371 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2162236636408617e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +372 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2303657992645927e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +373 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2445079348883237e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +374 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2586500705120547e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +375 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2727922061357855e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +376 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2869343417595165e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +377 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3010764773832475e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +378 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3152186130069785e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +379 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3293607486307093e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +190 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3364318164425748e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +191 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3435028842544403e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +192 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3505739520663058e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +193 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3576450198781713e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +194 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3647160876900368e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +195 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3717871555019021e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +196 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3788582233137676e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +197 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3859292911256331e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +198 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3930003589374986e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +199 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000714267493641e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +200 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4071424945612296e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +201 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +202 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4212846301849607e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +203 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4283556979968259e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +204 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4354267658086914e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +205 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4424978336205569e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +206 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4495689014324225e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +207 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4566399692442880e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +208 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4637110370561535e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +209 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4707821048680190e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +210 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4778531726798843e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +211 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4849242404917498e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +212 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4919953083036153e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +213 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4990663761154808e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +380 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3435028842544403e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +381 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3576450198781713e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +382 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3717871555019021e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +383 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3859292911256331e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +384 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000714267493641e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +385 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +386 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4283556979968259e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +387 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4424978336205569e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +388 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4566399692442880e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +389 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4707821048680190e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +390 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4849242404917498e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +391 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4990663761154808e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +214 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5061374439273463e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +215 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5132085117392118e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +216 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5202795795510773e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +217 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5273506473629426e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +218 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5344217151748081e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +219 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5414927829866736e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +220 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5485638507985391e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +221 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5556349186104046e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +222 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5627059864222701e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +223 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5697770542341356e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +224 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5768481220460011e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +225 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5839191898578664e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +226 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5909902576697319e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +227 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5980613254815974e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +228 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6051323932934629e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +229 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6122034611053284e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +230 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6192745289171939e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +231 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6263455967290594e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +232 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6334166645409247e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +233 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6404877323527902e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +234 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6475588001646557e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +235 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6546298679765212e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +236 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6617009357883867e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +392 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5132085117392118e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +393 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5273506473629426e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +394 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5414927829866736e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +395 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5556349186104046e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +396 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5697770542341356e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +397 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5839191898578664e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +398 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5980613254815974e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +399 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6122034611053284e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +400 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6263455967290594e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +401 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6404877323527902e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +402 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6546298679765212e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +237 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6687720036002522e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +238 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6758430714121177e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +239 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6829141392239830e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +240 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6899852070358485e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +241 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6970562748477140e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +242 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7041273426595795e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +243 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7111984104714451e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +244 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7182694782833106e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +245 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7253405460951761e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +246 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7324116139070416e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +247 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7394826817189069e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +248 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7465537495307724e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +249 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7536248173426379e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +250 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7606958851545034e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +251 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7677669529663689e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +252 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7748380207782344e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +253 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7819090885900999e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +254 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7889801564019652e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +255 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7960512242138307e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +256 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8031222920256962e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +257 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8101933598375617e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +258 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8172644276494272e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +259 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8243354954612927e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +260 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8314065632731582e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +403 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6687720036002522e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +404 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6829141392239830e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +405 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6970562748477140e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +406 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7111984104714451e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +407 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7253405460951761e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +408 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7394826817189069e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +409 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7536248173426379e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +410 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7677669529663689e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +411 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7819090885900999e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +412 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7960512242138307e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +413 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8101933598375617e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +414 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8243354954612927e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +261 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8384776310850235e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +262 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8455486988968890e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +263 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8526197667087545e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +264 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8596908345206200e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +265 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8667619023324855e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +266 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8738329701443510e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +267 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8809040379562165e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +268 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8879751057680818e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +269 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8950461735799473e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +270 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9021172413918128e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +271 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9091883092036783e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +272 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9162593770155438e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +273 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9233304448274093e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +274 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9304015126392748e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +275 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9374725804511403e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +276 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9445436482630056e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +277 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9516147160748711e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +278 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9586857838867366e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +279 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9657568516986021e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +280 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9728279195104677e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +281 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9798989873223332e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +282 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9869700551341987e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +283 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9940411229460639e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +415 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8384776310850235e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +416 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8526197667087545e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +417 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8667619023324855e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +418 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8809040379562165e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +419 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8950461735799473e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +420 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9091883092036783e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +421 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9233304448274093e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +422 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9374725804511403e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +423 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9516147160748711e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +424 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9657568516986021e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +425 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9798989873223332e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +426 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9940411229460639e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +457 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.6970562748477142e-01 0.0000000000000000e+00 0 0 0 +458 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.7677669529663689e-01 0.0000000000000000e+00 0 0 0 +459 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.6970562748477142e-01 0.0000000000000000e+00 0 0 0 +460 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.8384776310850237e-01 0.0000000000000000e+00 0 0 0 +461 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.9091883092036782e-01 0.0000000000000000e+00 0 0 0 +462 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.8384776310850237e-01 0.0000000000000000e+00 0 0 0 +463 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.9798989873223330e-01 0.0000000000000000e+00 0 0 0 +464 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.0506096654409878e-01 0.0000000000000000e+00 0 0 0 +465 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.9798989873223330e-01 0.0000000000000000e+00 0 0 0 +466 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.1213203435596426e-01 0.0000000000000000e+00 0 0 0 +467 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.1920310216782973e-01 0.0000000000000000e+00 0 0 0 +468 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.1213203435596426e-01 0.0000000000000000e+00 0 0 0 +469 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.2627416997969521e-01 0.0000000000000000e+00 0 0 0 +470 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.3334523779156069e-01 0.0000000000000000e+00 0 0 0 +471 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.2627416997969521e-01 0.0000000000000000e+00 0 0 0 +472 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.4041630560342617e-01 0.0000000000000000e+00 0 0 0 +473 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.4748737341529164e-01 0.0000000000000000e+00 0 0 0 +474 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.4041630560342617e-01 0.0000000000000000e+00 0 0 0 +475 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.5455844122715710e-01 0.0000000000000000e+00 0 0 0 +476 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.6162950903902260e-01 0.0000000000000000e+00 0 0 0 +477 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.5455844122715710e-01 0.0000000000000000e+00 0 0 0 +478 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.6870057685088805e-01 0.0000000000000000e+00 0 0 0 +479 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.7577164466275356e-01 0.0000000000000000e+00 0 0 0 +480 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.6870057685088805e-01 0.0000000000000000e+00 0 0 0 +481 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.8284271247461901e-01 0.0000000000000000e+00 0 0 0 +482 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.8991378028648451e-01 0.0000000000000000e+00 0 0 0 +483 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.8284271247461901e-01 0.0000000000000000e+00 0 0 0 +484 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.9698484809834996e-01 0.0000000000000000e+00 0 0 0 +485 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.0405591591021541e-01 0.0000000000000000e+00 0 0 0 +486 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.9698484809834996e-01 0.0000000000000000e+00 0 0 0 +487 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.1112698372208092e-01 0.0000000000000000e+00 0 0 0 +488 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.1819805153394637e-01 0.0000000000000000e+00 0 0 0 +489 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.1112698372208092e-01 0.0000000000000000e+00 0 0 0 +490 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.2526911934581187e-01 0.0000000000000000e+00 0 0 0 +491 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.3234018715767732e-01 0.0000000000000000e+00 0 0 0 +492 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.2526911934581187e-01 0.0000000000000000e+00 0 0 0 +6638 1 7.1371621756056629e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6640 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6642 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6644 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6646 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6648 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6650 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6736 1 7.1371621756056618e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6737 1 9.7257311157309221e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6738 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6739 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6740 1 1.0063722103956350e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6741 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6742 1 1.0063722103956350e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6743 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6744 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6745 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6746 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6747 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6748 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6749 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6834 1 7.1371621756056629e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6835 1 9.7257311157309209e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6836 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6837 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6838 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6839 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6840 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6841 1 1.0063722103956354e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6842 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6843 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6844 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6845 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6846 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6847 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6932 1 7.1371621756056629e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +6933 1 9.7257311157309141e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6934 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +6935 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6936 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +6937 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6938 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +6939 1 1.0063722103956350e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6940 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +6941 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6942 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +6943 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6944 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +6945 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +7030 1 7.1371621756056584e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7031 1 9.7257311157309198e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7032 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7033 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7034 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7035 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7036 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7037 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7038 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7039 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7040 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7041 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7042 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7043 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7128 1 7.1371621756056618e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7129 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7130 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7131 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7132 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7133 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7134 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7135 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7136 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7137 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7138 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7139 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7140 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7141 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7226 1 7.1371621756056697e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7227 1 9.7257311157309334e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7228 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7229 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7230 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7231 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7232 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7233 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7234 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7235 1 1.0063722103956366e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7236 1 1.0063722103956362e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7237 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7238 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7239 1 1.0063722103956362e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7324 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7325 1 9.7257311157309152e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7326 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7327 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7328 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7329 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7330 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7331 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7332 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7333 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7334 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7335 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7336 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7337 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7422 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7423 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7424 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7425 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7426 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7427 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7428 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7429 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7430 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7431 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7432 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7433 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7434 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7435 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +6652 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6654 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6656 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6658 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6660 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6662 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6664 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6666 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6668 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6750 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6751 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6752 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6753 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6754 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6755 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6756 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6757 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6758 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6759 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6760 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6761 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6762 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6763 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6764 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6765 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6766 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6848 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6849 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6850 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6851 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6852 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6853 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6854 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6855 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6856 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6857 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6858 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6859 1 1.0063722103956368e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6860 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6861 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6862 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6863 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6864 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6946 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +6947 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6948 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +6949 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6950 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +6951 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6952 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +6953 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6954 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +6955 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6956 1 1.0063722103956354e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +6957 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6958 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +6959 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6960 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +6961 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6962 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +7044 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7045 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7046 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7047 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7048 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7049 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7050 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7051 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7052 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7053 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7054 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7055 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7056 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7057 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7058 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7059 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7060 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7142 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7143 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7144 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7145 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7146 1 1.0063722103956354e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7147 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7148 1 1.0063722103956354e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7149 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7150 1 1.0063722103956345e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7151 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7152 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7153 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7154 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7155 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7156 1 1.0063722103956343e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7157 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7158 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7240 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7241 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7242 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7243 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7244 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7245 1 1.0063722103956362e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7246 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7247 1 1.0063722103956368e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7248 1 1.0063722103956362e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7249 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7250 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7251 1 1.0063722103956379e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7252 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7253 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7254 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7255 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7256 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7338 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7339 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7340 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7341 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7342 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7343 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7344 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7345 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7346 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7347 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7348 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7349 1 1.0063722103956362e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7350 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7351 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7352 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7353 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7354 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7436 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7437 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7438 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7439 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7440 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7441 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7442 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7443 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7444 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7445 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7446 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7447 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7448 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7449 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7450 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7451 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7452 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +6670 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6672 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6674 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6676 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6678 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6680 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6682 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6684 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6767 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6768 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6769 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6770 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6771 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6772 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6773 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6774 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6775 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6776 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6777 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6778 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6779 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6780 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6781 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6782 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6783 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6865 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6866 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6867 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6868 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6869 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6870 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6871 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6872 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6873 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6874 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6875 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6876 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6877 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6878 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6879 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6880 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6881 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6963 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6964 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +6965 1 1.0063722103956362e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6966 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +6967 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6968 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +6969 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6970 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +6971 1 1.0063722103956362e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6972 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +6973 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6974 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +6975 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6976 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +6977 1 1.0063722103956362e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6978 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +6979 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +7061 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7062 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7063 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7064 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7065 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7066 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7067 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7068 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7069 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7070 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7071 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7072 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7073 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7074 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7075 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7076 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7077 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7159 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7160 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7161 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7162 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7163 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7164 1 1.0063722103956343e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7165 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7166 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7167 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7168 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7169 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7170 1 1.0063722103956343e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7171 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7172 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7173 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7174 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7175 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7257 1 1.0063722103956362e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7258 1 1.0063722103956381e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7259 1 1.0063722103956381e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7260 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7261 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7262 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7263 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7264 1 1.0063722103956381e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7265 1 1.0063722103956381e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7266 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7267 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7268 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7269 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7270 1 1.0063722103956381e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7271 1 1.0063722103956381e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7272 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7273 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7355 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7356 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7357 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7358 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7359 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7360 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7361 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7362 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7363 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7364 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7365 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7366 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7367 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7368 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7369 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7370 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7371 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7453 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7454 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7455 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7456 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7457 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7458 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7459 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7460 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7461 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7462 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7463 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7464 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7465 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7466 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7467 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7468 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7469 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +6686 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6688 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6690 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6692 1 1.0063722103956391e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6694 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6696 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6698 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6700 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6784 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6785 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6786 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6787 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6788 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6789 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6790 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6791 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6792 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6793 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6794 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6795 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6796 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6797 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6798 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6799 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6882 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6883 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6884 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6885 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6886 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6887 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6888 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6889 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6890 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6891 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6892 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6893 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6894 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6895 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6896 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6897 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6980 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +6981 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6982 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +6983 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6984 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +6985 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6986 1 1.0063722103956393e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +6987 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6988 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +6989 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6990 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +6991 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6992 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +6993 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6994 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +6995 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +7078 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7079 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7080 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7081 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7082 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7083 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7084 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7085 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7086 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7087 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7088 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7089 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7090 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7091 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7092 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7093 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7176 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7177 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7178 1 1.0063722103956343e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7179 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7180 1 1.0063722103956343e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7181 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7182 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7183 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7184 1 1.0063722103956354e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7185 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7186 1 1.0063722103956343e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7187 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7188 1 1.0063722103956343e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7189 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7190 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7191 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7274 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7275 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7276 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7277 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7278 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7279 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7280 1 1.0063722103956401e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7281 1 1.0063722103956402e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7282 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7283 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7284 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7285 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7286 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7287 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7288 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7289 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7372 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7373 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7374 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7375 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7376 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7377 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7378 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7379 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7380 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7381 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7382 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7383 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7384 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7385 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7386 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7387 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7470 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7471 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7472 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7473 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7474 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7475 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7476 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7477 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7478 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7479 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7480 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7481 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7482 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7483 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7484 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7485 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +6702 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6704 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6706 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6708 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6710 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6712 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6714 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6716 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6718 1 1.0063722103956391e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6800 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6801 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6802 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6803 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6804 1 1.0063722103956386e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6805 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6806 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6807 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6808 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6809 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6810 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6811 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6812 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6813 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6814 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6815 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6816 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6898 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6899 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6900 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6901 1 1.0063722103956391e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6902 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6903 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6904 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6905 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6906 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6907 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6908 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6909 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6910 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6911 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6912 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6913 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6914 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6996 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +6997 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +6998 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +6999 1 1.0063722103956386e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +7000 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +7001 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +7002 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +7003 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +7004 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +7005 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +7006 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +7007 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +7008 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +7009 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +7010 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +7011 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +7012 1 1.0063722103956391e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +7094 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7095 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7096 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7097 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7098 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7099 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7100 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7101 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7102 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7103 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7104 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7105 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7106 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7107 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7108 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7109 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7110 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7192 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7193 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7194 1 1.0063722103956354e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7195 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7196 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7197 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7198 1 1.0063722103956343e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7199 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7200 1 1.0063722103956343e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7201 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7202 1 1.0063722103956343e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7203 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7204 1 1.0063722103956343e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7205 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7206 1 1.0063722103956343e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7207 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7208 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7290 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7291 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7292 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7293 1 1.0063722103956401e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7294 1 1.0063722103956403e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7295 1 1.0063722103956368e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7296 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7297 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7298 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7299 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7300 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7301 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7302 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7303 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7304 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7305 1 1.0063722103956368e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7306 1 1.0063722103956403e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7388 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7389 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7390 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7391 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7392 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7393 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7394 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7395 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7396 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7397 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7398 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7399 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7400 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7401 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7402 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7403 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7404 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7486 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7487 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7488 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7489 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7490 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7491 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7492 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7493 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7494 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7495 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7496 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7497 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7498 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7499 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7500 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7501 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7502 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +6720 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6722 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6724 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6726 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6728 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6730 1 1.0063722103956391e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6732 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6734 1 9.7257311157309164e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.7000000000000001e-01 0.0000000000000000e+00 0 0 0 +6817 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6818 1 1.0063722103956354e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6819 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6820 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6821 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6822 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6823 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6824 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6825 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6826 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6827 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6828 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6829 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6830 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6831 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6832 1 9.7257311157309096e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.9000000000000000e-01 0.0000000000000000e+00 0 0 0 +6833 1 7.1371621756056607e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 0.0000000000000000e+00 0 0 0 +6915 1 1.0063722103956391e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6916 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6917 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6918 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6919 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6920 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6921 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6922 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6923 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6924 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6925 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6926 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6927 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6928 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6929 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +6930 1 9.7257311157309141e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 2.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +6931 1 7.1371621756056584e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 0.0000000000000000e+00 0 0 0 +7013 1 1.0063722103956386e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +7014 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +7015 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +7016 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +7017 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +7018 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +7019 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +7020 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +7021 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +7022 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +7023 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +7024 1 1.0063722103956393e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +7025 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +7026 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +7027 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +7028 1 9.7257311157309152e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 2.3000000000000001e-01 0.0000000000000000e+00 0 0 0 +7029 1 7.1371621756056584e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +7111 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7112 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7113 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7114 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7115 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7116 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7117 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7118 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7119 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7120 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7121 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7122 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7123 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7124 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7125 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7126 1 9.7257311157309073e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 2.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +7127 1 7.1371621756056607e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +7209 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7210 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7211 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7212 1 1.0063722103956343e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7213 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7214 1 1.0063722103956343e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7215 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7216 1 1.0063722103956343e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7217 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7218 1 1.0063722103956343e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7219 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7220 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7221 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7222 1 1.0063722103956354e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7223 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7224 1 9.7257311157309096e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 2.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +7225 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +7307 1 1.0063722103956401e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7308 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7309 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7310 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7311 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7312 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7313 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7314 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7315 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7316 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7317 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7318 1 1.0063722103956401e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7319 1 1.0063722103956402e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7320 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7321 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7322 1 9.7257311157309255e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 2.8999999999999998e-01 0.0000000000000000e+00 0 0 0 +7323 1 7.1371621756056652e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +7405 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7406 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7407 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7408 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7409 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7410 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7411 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7412 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7413 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7414 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7415 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7416 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7417 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7418 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7419 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7420 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 3.1000000000000000e-01 0.0000000000000000e+00 0 0 0 +7421 1 7.1371621756056584e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 0.0000000000000000e+00 0 0 0 +7503 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7504 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7505 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7506 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7507 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7508 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7509 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7510 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7511 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7512 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7513 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7514 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7515 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7516 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7517 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +7518 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 3.3000000000000002e-01 0.0000000000000000e+00 0 0 0 +7519 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 0.0000000000000000e+00 0 0 0 +493 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.3941125496954283e-01 0.0000000000000000e+00 0 0 0 +494 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.4648232278140828e-01 0.0000000000000000e+00 0 0 0 +495 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.3941125496954283e-01 0.0000000000000000e+00 0 0 0 +496 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.5355339059327379e-01 0.0000000000000000e+00 0 0 0 +497 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.6062445840513924e-01 0.0000000000000000e+00 0 0 0 +498 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.5355339059327379e-01 0.0000000000000000e+00 0 0 0 +499 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.6769552621700474e-01 0.0000000000000000e+00 0 0 0 +500 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.7476659402887019e-01 0.0000000000000000e+00 0 0 0 +501 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.6769552621700474e-01 0.0000000000000000e+00 0 0 0 +502 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.8183766184073564e-01 0.0000000000000000e+00 0 0 0 +503 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.8890872965260115e-01 0.0000000000000000e+00 0 0 0 +504 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.8183766184073564e-01 0.0000000000000000e+00 0 0 0 +505 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.9597979746446660e-01 0.0000000000000000e+00 0 0 0 +506 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.0305086527633210e-01 0.0000000000000000e+00 0 0 0 +507 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.9597979746446660e-01 0.0000000000000000e+00 0 0 0 +508 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.1012193308819755e-01 0.0000000000000000e+00 0 0 0 +509 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.1719300090006306e-01 0.0000000000000000e+00 0 0 0 +510 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.1012193308819755e-01 0.0000000000000000e+00 0 0 0 +511 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.2426406871192851e-01 0.0000000000000000e+00 0 0 0 +512 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.3133513652379402e-01 0.0000000000000000e+00 0 0 0 +513 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.2426406871192851e-01 0.0000000000000000e+00 0 0 0 +514 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.3840620433565947e-01 0.0000000000000000e+00 0 0 0 +515 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.4547727214752497e-01 0.0000000000000000e+00 0 0 0 +516 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.3840620433565947e-01 0.0000000000000000e+00 0 0 0 +517 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.5254833995939042e-01 0.0000000000000000e+00 0 0 0 +518 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.5961940777125587e-01 0.0000000000000000e+00 0 0 0 +519 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.5254833995939042e-01 0.0000000000000000e+00 0 0 0 +520 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.6669047558312138e-01 0.0000000000000000e+00 0 0 0 +521 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.7376154339498683e-01 0.0000000000000000e+00 0 0 0 +522 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.6669047558312138e-01 0.0000000000000000e+00 0 0 0 +523 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.8083261120685233e-01 0.0000000000000000e+00 0 0 0 +524 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.8790367901871778e-01 0.0000000000000000e+00 0 0 0 +525 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.8083261120685233e-01 0.0000000000000000e+00 0 0 0 +526 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.9497474683058329e-01 0.0000000000000000e+00 0 0 0 +528 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.9497474683058329e-01 0.0000000000000000e+00 0 0 0 +7520 1 7.1371621756056709e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7521 1 9.7257311157309152e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7522 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7523 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7524 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7525 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7526 1 1.0063722103956368e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7527 1 1.0063722103956350e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7528 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7529 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7530 1 1.0063722103956362e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7531 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7532 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7533 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7618 1 7.1371621756056607e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7619 1 9.7257311157309334e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7620 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7621 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7622 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7623 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7624 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7625 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7626 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7627 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7628 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7629 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7630 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7631 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7716 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7717 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7718 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7719 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7720 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7721 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7722 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7723 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7724 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7725 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7726 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7727 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7728 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7729 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7814 1 7.1371621756056709e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7815 1 9.7257311157309152e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7816 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7817 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7818 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7819 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7820 1 1.0063722103956368e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7821 1 1.0063722103956350e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7822 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7823 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7824 1 1.0063722103956362e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7825 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7826 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7827 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7912 1 7.1371621756056607e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7913 1 9.7257311157309334e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7914 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7915 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7916 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7917 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7918 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7919 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7920 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7921 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7922 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7923 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7924 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7925 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +8010 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8011 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8012 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8013 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8014 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8015 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8016 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8017 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8018 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8019 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8020 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8021 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8022 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8023 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8108 1 7.1371621756056709e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8109 1 9.7257311157309152e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8110 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8111 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8112 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8113 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8114 1 1.0063722103956368e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8115 1 1.0063722103956350e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8116 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8117 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8118 1 1.0063722103956362e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8119 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8120 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8121 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8206 1 7.1371621756056618e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8207 1 9.7257311157309334e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8208 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8209 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8210 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8211 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8212 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8213 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8214 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8215 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8216 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8217 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8218 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8219 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8305 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8307 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8309 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8311 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8313 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8315 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8317 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +7534 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7535 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7536 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7537 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7538 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7539 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7540 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7541 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7542 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7543 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7544 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7545 1 1.0063722103956362e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7546 1 1.0063722103956381e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7547 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7548 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7549 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7550 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7632 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7633 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7634 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7635 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7636 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7637 1 1.0063722103956362e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7638 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7639 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7640 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7641 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7642 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7643 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7644 1 1.0063722103956362e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7645 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7646 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7647 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7648 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7730 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7731 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7732 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7733 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7734 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7735 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7736 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7737 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7738 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7739 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7740 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7741 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7742 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7743 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7744 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7745 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7746 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7828 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7829 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7830 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7831 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7832 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7833 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7834 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7835 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7836 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7837 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7838 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7839 1 1.0063722103956362e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7840 1 1.0063722103956381e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7841 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7842 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7843 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7844 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7926 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7927 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7928 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7929 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7930 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7931 1 1.0063722103956362e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7932 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7933 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7934 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7935 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7936 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7937 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7938 1 1.0063722103956362e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7939 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7940 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7941 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7942 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +8024 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8025 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8026 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8027 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8028 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8029 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8030 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8031 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8032 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8033 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8034 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8035 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8036 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8037 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8038 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8039 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8040 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8122 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8123 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8124 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8125 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8126 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8127 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8128 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8129 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8130 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8131 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8132 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8133 1 1.0063722103956362e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8134 1 1.0063722103956381e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8135 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8136 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8137 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8138 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8220 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8221 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8222 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8223 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8224 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8225 1 1.0063722103956362e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8226 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8227 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8228 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8229 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8230 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8231 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8232 1 1.0063722103956362e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8233 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8234 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8235 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8236 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8319 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8321 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8323 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8325 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8327 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8329 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8331 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8333 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +7551 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7552 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7553 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7554 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7555 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7556 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7557 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7558 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7559 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7560 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7561 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7562 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7563 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7564 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7565 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7566 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7567 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7649 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7650 1 1.0063722103956366e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7651 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7652 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7653 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7654 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7655 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7656 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7657 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7658 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7659 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7660 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7661 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7662 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7663 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7664 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7665 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7747 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7748 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7749 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7750 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7751 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7752 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7753 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7754 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7755 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7756 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7757 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7758 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7759 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7760 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7761 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7762 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7763 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7845 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7846 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7847 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7848 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7849 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7850 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7851 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7852 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7853 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7854 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7855 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7856 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7857 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7858 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7859 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7860 1 1.0063722103956362e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7861 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7943 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7944 1 1.0063722103956366e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7945 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7946 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7947 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7948 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7949 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7950 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7951 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7952 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7953 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7954 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7955 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7956 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7957 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7958 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7959 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +8041 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8042 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8043 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8044 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8045 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8046 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8047 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8048 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8049 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8050 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8051 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8052 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8053 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8054 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8055 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8056 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8057 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8139 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8140 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8141 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8142 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8143 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8144 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8145 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8146 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8147 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8148 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8149 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8150 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8151 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8152 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8153 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8154 1 1.0063722103956362e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8155 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8237 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8238 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8239 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8240 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8241 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8242 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8243 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8244 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8245 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8246 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8247 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8248 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8249 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8250 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8251 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8252 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8253 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8335 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8337 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8339 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8341 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8343 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8345 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8347 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8349 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8351 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +7568 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7569 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7570 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7571 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7572 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7573 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7574 1 1.0063722103956403e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7575 1 1.0063722103956386e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7576 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7577 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7578 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7579 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7580 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7581 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7582 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7583 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7666 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7667 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7668 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7669 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7670 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7671 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7672 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7673 1 1.0063722103956401e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7674 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7675 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7676 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7677 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7678 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7679 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7680 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7681 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7764 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7765 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7766 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7767 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7768 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7769 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7770 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7771 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7772 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7773 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7774 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7775 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7776 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7777 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7778 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7779 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7862 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7863 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7864 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7865 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7866 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7867 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7868 1 1.0063722103956403e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7869 1 1.0063722103956386e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7870 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7871 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7872 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7873 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7874 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7875 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7876 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7877 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7960 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7961 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7962 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7963 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7964 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7965 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7966 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7967 1 1.0063722103956401e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7968 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7969 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7970 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7971 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7972 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7973 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7974 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7975 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +8058 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8059 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8060 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8061 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8062 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8063 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8064 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8065 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8066 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8067 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8068 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8069 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8070 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8071 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8072 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8073 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8156 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8157 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8158 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8159 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8160 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8161 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8162 1 1.0063722103956403e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8163 1 1.0063722103956386e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8164 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8165 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8166 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8167 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8168 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8169 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8170 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8171 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8254 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8255 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8256 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8257 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8258 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8259 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8260 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8261 1 1.0063722103956401e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8262 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8263 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8264 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8265 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8266 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8267 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8268 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8269 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8353 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8355 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8357 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8359 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8361 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8363 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8365 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8367 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +7584 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7585 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7586 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7587 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7588 1 1.0063722103956402e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7589 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7590 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7591 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7592 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7593 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7594 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7595 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7596 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7597 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7598 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7599 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7600 1 1.0063722103956403e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7682 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7683 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7684 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7685 1 1.0063722103956401e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7686 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7687 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7688 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7689 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7690 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7691 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7692 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7693 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7694 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7695 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7696 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7697 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7698 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7780 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7781 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7782 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7783 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7784 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7785 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7786 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7787 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7788 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7789 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7790 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7791 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7792 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7793 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7794 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7795 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7796 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7878 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7879 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7880 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7881 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7882 1 1.0063722103956402e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7883 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7884 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7885 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7886 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7887 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7888 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7889 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7890 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7891 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7892 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7893 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7894 1 1.0063722103956401e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7976 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7977 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7978 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7979 1 1.0063722103956401e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7980 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7981 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7982 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7983 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7984 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7985 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7986 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7987 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7988 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7989 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7990 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7991 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7992 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +8074 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8075 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8076 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8077 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8078 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8079 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8080 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8081 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8082 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8083 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8084 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8085 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8086 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8087 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8088 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8089 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8090 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8172 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8173 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8174 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8175 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8176 1 1.0063722103956402e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8177 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8178 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8179 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8180 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8181 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8182 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8183 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8184 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8185 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8186 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8187 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8188 1 1.0063722103956401e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8270 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8271 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8272 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8273 1 1.0063722103956401e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8274 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8275 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8276 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8277 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8278 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8279 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8280 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8281 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8282 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8283 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8284 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8285 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8286 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8369 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8371 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8373 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8375 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8377 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8379 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8381 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8383 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +7601 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7602 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7603 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7604 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7605 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7606 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7607 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7608 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7609 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7610 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7611 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7612 1 1.0063722103956403e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7613 1 1.0063722103956386e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7614 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7615 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7616 1 9.7257311157309255e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 3.5000000000000003e-01 0.0000000000000000e+00 0 0 0 +7617 1 7.1371621756056572e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 0.0000000000000000e+00 0 0 0 +7699 1 1.0063722103956401e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7700 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7701 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7702 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7703 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7704 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7705 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7706 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7707 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7708 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7709 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7710 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7711 1 1.0063722103956401e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7712 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7713 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7714 1 9.7257311157309096e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 3.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +7715 1 7.1371621756056675e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +7797 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7798 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7799 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7800 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7801 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7802 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7803 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7804 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7805 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7806 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7807 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7808 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7809 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7810 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7811 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7812 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 3.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +7813 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +7895 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7896 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7897 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7898 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7899 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7900 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7901 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7902 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7903 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7904 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7905 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7906 1 1.0063722103956403e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7907 1 1.0063722103956386e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7908 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7909 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7910 1 9.7257311157309255e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 4.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +7911 1 7.1371621756056572e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +7993 1 1.0063722103956401e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7994 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7995 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7996 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7997 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +7998 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +7999 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +8000 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +8001 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +8002 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +8003 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +8004 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +8005 1 1.0063722103956401e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +8006 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +8007 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +8008 1 9.7257311157309096e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 4.2999999999999999e-01 0.0000000000000000e+00 0 0 0 +8009 1 7.1371621756056675e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 0.0000000000000000e+00 0 0 0 +8091 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8092 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8093 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8094 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8095 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8096 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8097 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8098 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8099 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8100 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8101 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8102 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8103 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8104 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8105 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8106 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 4.5000000000000001e-01 0.0000000000000000e+00 0 0 0 +8107 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 0.0000000000000000e+00 0 0 0 +8189 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8190 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8191 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8192 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8193 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8194 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8195 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8196 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8197 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8198 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8199 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8200 1 1.0063722103956403e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8201 1 1.0063722103956386e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8202 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8203 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8204 1 9.7257311157309255e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 4.7000000000000003e-01 0.0000000000000000e+00 0 0 0 +8205 1 7.1371621756056572e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 0.0000000000000000e+00 0 0 0 +8287 1 1.0063722103956401e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8288 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8289 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8290 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8291 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8292 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8293 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8294 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8295 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8296 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8297 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8298 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8299 1 1.0063722103956401e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8300 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8301 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8302 1 9.7257311157309096e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 4.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +8303 1 7.1371621756056675e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +8385 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8387 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8389 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8391 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8393 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8395 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8397 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8399 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +8401 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 0.0000000000000000e+00 0 0 0 +527 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.0204581464244880e-01 0.0000000000000000e+00 0 0 0 +529 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.0911688245431419e-01 0.0000000000000000e+00 0 0 0 +530 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.1618795026617970e-01 0.0000000000000000e+00 0 0 0 +531 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.0911688245431419e-01 0.0000000000000000e+00 0 0 0 +532 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.2325901807804520e-01 0.0000000000000000e+00 0 0 0 +533 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.3033008588991060e-01 0.0000000000000000e+00 0 0 0 +534 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.2325901807804520e-01 0.0000000000000000e+00 0 0 0 +535 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.3740115370177610e-01 0.0000000000000000e+00 0 0 0 +536 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.4447222151364161e-01 0.0000000000000000e+00 0 0 0 +537 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.3740115370177610e-01 0.0000000000000000e+00 0 0 0 +538 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.5154328932550711e-01 0.0000000000000000e+00 0 0 0 +539 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.5861435713737251e-01 0.0000000000000000e+00 0 0 0 +540 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.5154328932550711e-01 0.0000000000000000e+00 0 0 0 +541 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.6568542494923801e-01 0.0000000000000000e+00 0 0 0 +542 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.7275649276110352e-01 0.0000000000000000e+00 0 0 0 +543 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.6568542494923801e-01 0.0000000000000000e+00 0 0 0 +544 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.7982756057296903e-01 0.0000000000000000e+00 0 0 0 +545 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.8689862838483442e-01 0.0000000000000000e+00 0 0 0 +546 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.7982756057296903e-01 0.0000000000000000e+00 0 0 0 +547 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.9396969619669993e-01 0.0000000000000000e+00 0 0 0 +548 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.0104076400856543e-01 0.0000000000000000e+00 0 0 0 +549 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.9396969619669993e-01 0.0000000000000000e+00 0 0 0 +550 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.0811183182043083e-01 0.0000000000000000e+00 0 0 0 +551 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.1518289963229633e-01 0.0000000000000000e+00 0 0 0 +552 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.0811183182043083e-01 0.0000000000000000e+00 0 0 0 +553 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.2225396744416184e-01 0.0000000000000000e+00 0 0 0 +554 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.2932503525602734e-01 0.0000000000000000e+00 0 0 0 +555 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.2225396744416184e-01 0.0000000000000000e+00 0 0 0 +556 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.3639610306789274e-01 0.0000000000000000e+00 0 0 0 +557 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.4346717087975824e-01 0.0000000000000000e+00 0 0 0 +558 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.3639610306789274e-01 0.0000000000000000e+00 0 0 0 +559 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.5053823869162375e-01 0.0000000000000000e+00 0 0 0 +560 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.5760930650348925e-01 0.0000000000000000e+00 0 0 0 +561 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.5053823869162375e-01 0.0000000000000000e+00 0 0 0 +562 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.6468037431535465e-01 0.0000000000000000e+00 0 0 0 +564 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.6468037431535465e-01 0.0000000000000000e+00 0 0 0 +8304 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8306 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8308 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8310 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8312 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8314 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8316 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8402 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8403 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8404 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8405 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8406 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8407 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8408 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8409 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8410 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8411 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8412 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8413 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8414 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8415 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8500 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8501 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8502 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8503 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8504 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8505 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8506 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8507 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8508 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8509 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8510 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8511 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8512 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8513 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8598 1 7.1371621756056845e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8599 1 9.7257311157309209e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8600 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8601 1 1.0063722103956354e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8602 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8603 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8604 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8605 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8606 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8607 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8608 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8609 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8610 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8611 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8696 1 7.1371621756056675e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8697 1 9.7257311157309539e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8698 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8699 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8700 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8701 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8702 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8703 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8704 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8705 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8706 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8707 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8708 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8709 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8794 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8795 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8796 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8797 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8798 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8799 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8800 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8801 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8802 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8803 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8804 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8805 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8806 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8807 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8892 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8893 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8894 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8895 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8896 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8897 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8898 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8899 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8900 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8901 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8902 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8903 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8904 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8905 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8990 1 7.1371621756056550e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +8991 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +8992 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +8993 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +8994 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +8995 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +8996 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +8997 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +8998 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +8999 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9000 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9001 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9002 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9003 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9089 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9091 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9093 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9095 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9097 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9099 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9101 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +8318 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8320 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8322 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8324 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8326 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8328 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8330 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8332 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8334 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8416 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8417 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8418 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8419 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8420 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8421 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8422 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8423 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8424 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8425 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8426 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8427 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8428 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8429 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8430 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8431 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8432 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8514 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8515 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8516 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8517 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8518 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8519 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8520 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8521 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8522 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8523 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8524 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8525 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8526 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8527 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8528 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8529 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8530 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8612 1 1.0063722103956391e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8613 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8614 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8615 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8616 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8617 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8618 1 1.0063722103956393e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8619 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8620 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8621 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8622 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8623 1 1.0063722103956368e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8624 1 1.0063722103956403e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8625 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8626 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8627 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8628 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8710 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8711 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8712 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8713 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8714 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8715 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8716 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8717 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8718 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8719 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8720 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8721 1 1.0063722103956401e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8722 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8723 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8724 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8725 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8726 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8808 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8809 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8810 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8811 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8812 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8813 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8814 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8815 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8816 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8817 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8818 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8819 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8820 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8821 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8822 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8823 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8824 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8906 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8907 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8908 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8909 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8910 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8911 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8912 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8913 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8914 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8915 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8916 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8917 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8918 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8919 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8920 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8921 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8922 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +9004 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9005 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9006 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9007 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9008 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9009 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9010 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9011 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9012 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9013 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9014 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9015 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9016 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9017 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9018 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9019 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9020 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9103 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9105 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9107 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9109 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9111 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9113 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9115 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9117 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +8336 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8338 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8340 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8342 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8344 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8346 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8348 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8350 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8433 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8434 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8435 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8436 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8437 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8438 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8439 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8440 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8441 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8442 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8443 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8444 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8445 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8446 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8447 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8448 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8449 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8531 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8532 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8533 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8534 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8535 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8536 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8537 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8538 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8539 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8540 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8541 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8542 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8543 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8544 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8545 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8546 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8547 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8629 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8630 1 1.0063722103956403e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8631 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8632 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8633 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8634 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8635 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8636 1 1.0063722103956403e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8637 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8638 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8639 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8640 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8641 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8642 1 1.0063722103956403e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8643 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8644 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8645 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8727 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8728 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8729 1 1.0063722103956401e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8730 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8731 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8732 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8733 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8734 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8735 1 1.0063722103956401e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8736 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8737 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8738 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8739 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8740 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8741 1 1.0063722103956401e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8742 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8743 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8825 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8826 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8827 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8828 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8829 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8830 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8831 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8832 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8833 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8834 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8835 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8836 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8837 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8838 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8839 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8840 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8841 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8923 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8924 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8925 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8926 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8927 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8928 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8929 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8930 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8931 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8932 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8933 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8934 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8935 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8936 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8937 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8938 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8939 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +9021 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9022 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9023 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9024 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9025 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9026 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9027 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9028 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9029 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9030 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9031 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9032 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9033 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9034 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9035 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9036 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9037 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9119 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9121 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9123 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9125 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9127 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9129 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9131 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9133 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9135 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +8352 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8354 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8356 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8358 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8360 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8362 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8364 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8366 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8450 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8451 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8452 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8453 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8454 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8455 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8456 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8457 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8458 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8459 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8460 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8461 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8462 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8463 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8464 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8465 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8548 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8549 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8550 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8551 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8552 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8553 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8554 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8555 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8556 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8557 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8558 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8559 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8560 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8561 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8562 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8563 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8646 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8647 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8648 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8649 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8650 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8651 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8652 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8653 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8654 1 1.0063722103956394e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8655 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8656 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8657 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8658 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8659 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8660 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8661 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8744 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8745 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8746 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8747 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8748 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8749 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8750 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8751 1 1.0063722103956424e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8752 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8753 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8754 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8755 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8756 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8757 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8758 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8759 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8842 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8843 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8844 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8845 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8846 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8847 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8848 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8849 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8850 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8851 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8852 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8853 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8854 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8855 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8856 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8857 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8940 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8941 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8942 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8943 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8944 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8945 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8946 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8947 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8948 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8949 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8950 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8951 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8952 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8953 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8954 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8955 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +9038 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9039 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9040 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9041 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9042 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9043 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9044 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9045 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9046 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9047 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9048 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9049 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9050 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9051 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9052 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9053 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9137 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9139 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9141 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9143 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9145 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9147 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9149 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9151 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +8368 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8370 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8372 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8374 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8376 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8378 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8380 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8382 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8384 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8466 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8467 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8468 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8469 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8470 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8471 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8472 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8473 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8474 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8475 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8476 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8477 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8478 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8479 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8480 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8481 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8482 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8564 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8565 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8566 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8567 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8568 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8569 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8570 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8571 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8572 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8573 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8574 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8575 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8576 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8577 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8578 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8579 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8580 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8662 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8663 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8664 1 1.0063722103956394e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8665 1 1.0063722103956391e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8666 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8667 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8668 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8669 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8670 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8671 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8672 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8673 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8674 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8675 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8676 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8677 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8678 1 1.0063722103956424e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8760 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8761 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8762 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8763 1 1.0063722103956424e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8764 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8765 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8766 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8767 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8768 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8769 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8770 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8771 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8772 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8773 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8774 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8775 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8776 1 1.0063722103956394e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8858 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8859 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8860 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8861 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8862 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8863 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8864 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8865 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8866 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8867 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8868 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8869 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8870 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8871 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8872 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8873 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8874 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8956 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8957 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8958 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8959 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8960 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8961 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8962 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8963 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8964 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8965 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8966 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8967 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8968 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8969 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8970 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8971 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8972 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +9054 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9055 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9056 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9057 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9058 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9059 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9060 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9061 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9062 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9063 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9064 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9065 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9066 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9067 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9068 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9069 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9070 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9153 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9155 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9157 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9159 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9161 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9163 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9165 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9167 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +8386 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8388 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8390 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8392 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8394 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8396 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8398 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8400 1 9.7257311157309050e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 5.1000000000000001e-01 0.0000000000000000e+00 0 0 0 +8483 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8484 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8485 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8486 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8487 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8488 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8489 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8490 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8491 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8492 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8493 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8494 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8495 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8496 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8497 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8498 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 5.3000000000000003e-01 0.0000000000000000e+00 0 0 0 +8499 1 7.1371621756056538e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 0.0000000000000000e+00 0 0 0 +8581 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8582 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8583 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8584 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8585 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8586 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8587 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8588 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8589 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8590 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8591 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8592 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8593 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8594 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8595 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8596 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 5.5000000000000004e-01 0.0000000000000000e+00 0 0 0 +8597 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 0.0000000000000000e+00 0 0 0 +8679 1 1.0063722103956393e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8680 1 1.0063722103956394e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8681 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8682 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8683 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8684 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8685 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8686 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8687 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8688 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8689 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8690 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8691 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8692 1 1.0063722103956394e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8693 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8694 1 9.7257311157309482e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 5.7000000000000006e-01 0.0000000000000000e+00 0 0 0 +8695 1 7.1371621756056629e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 0.0000000000000000e+00 0 0 0 +8777 1 1.0063722103956424e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8778 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8779 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8780 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8781 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8782 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8783 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8784 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8785 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8786 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8787 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8788 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8789 1 1.0063722103956424e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8790 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8791 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8792 1 9.7257311157309164e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 5.8999999999999997e-01 0.0000000000000000e+00 0 0 0 +8793 1 7.1371621756056811e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 0.0000000000000000e+00 0 0 0 +8875 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8876 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8877 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8878 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8879 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8880 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8881 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8882 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8883 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8884 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8885 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8886 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8887 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8888 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8889 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8890 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 6.0999999999999999e-01 0.0000000000000000e+00 0 0 0 +8891 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 0.0000000000000000e+00 0 0 0 +8973 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8974 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8975 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8976 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8977 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8978 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8979 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8980 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8981 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8982 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8983 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8984 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8985 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8986 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8987 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +8988 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 6.3000000000000000e-01 0.0000000000000000e+00 0 0 0 +8989 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 0.0000000000000000e+00 0 0 0 +9071 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9072 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9073 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9074 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9075 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9076 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9077 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9078 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9079 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9080 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9081 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9082 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9083 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9084 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9085 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9086 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 6.5000000000000002e-01 0.0000000000000000e+00 0 0 0 +9087 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 0.0000000000000000e+00 0 0 0 +9169 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9171 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9173 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9175 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9177 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9179 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9181 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9183 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +9185 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 0.0000000000000000e+00 0 0 0 +563 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.7175144212722016e-01 0.0000000000000000e+00 0 0 0 +565 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.7882250993908566e-01 0.0000000000000000e+00 0 0 0 +566 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.8589357775095106e-01 0.0000000000000000e+00 0 0 0 +567 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.7882250993908566e-01 0.0000000000000000e+00 0 0 0 +568 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.9296464556281656e-01 0.0000000000000000e+00 0 0 0 +569 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.0003571337468207e-01 0.0000000000000000e+00 0 0 0 +570 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.9296464556281656e-01 0.0000000000000000e+00 0 0 0 +571 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.0710678118654757e-01 0.0000000000000000e+00 0 0 0 +572 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.1417784899841297e-01 0.0000000000000000e+00 0 0 0 +573 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.0710678118654757e-01 0.0000000000000000e+00 0 0 0 +574 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.2124891681027847e-01 0.0000000000000000e+00 0 0 0 +575 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.2831998462214398e-01 0.0000000000000000e+00 0 0 0 +576 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.2124891681027847e-01 0.0000000000000000e+00 0 0 0 +577 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.3539105243400948e-01 0.0000000000000000e+00 0 0 0 +578 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.4246212024587488e-01 0.0000000000000000e+00 0 0 0 +579 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.3539105243400948e-01 0.0000000000000000e+00 0 0 0 +580 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.4953318805774038e-01 0.0000000000000000e+00 0 0 0 +581 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.5660425586960589e-01 0.0000000000000000e+00 0 0 0 +582 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.4953318805774038e-01 0.0000000000000000e+00 0 0 0 +583 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.6367532368147129e-01 0.0000000000000000e+00 0 0 0 +584 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.7074639149333679e-01 0.0000000000000000e+00 0 0 0 +585 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.6367532368147129e-01 0.0000000000000000e+00 0 0 0 +586 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.7781745930520230e-01 0.0000000000000000e+00 0 0 0 +587 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.8488852711706780e-01 0.0000000000000000e+00 0 0 0 +588 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.7781745930520230e-01 0.0000000000000000e+00 0 0 0 +589 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.9195959492893320e-01 0.0000000000000000e+00 0 0 0 +590 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.9903066274079870e-01 0.0000000000000000e+00 0 0 0 +591 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.9195959492893320e-01 0.0000000000000000e+00 0 0 0 +592 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 8.0610173055266421e-01 0.0000000000000000e+00 0 0 0 +593 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 8.1317279836452971e-01 0.0000000000000000e+00 0 0 0 +594 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 8.0610173055266421e-01 0.0000000000000000e+00 0 0 0 +595 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 8.2024386617639511e-01 0.0000000000000000e+00 0 0 0 +596 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 8.2731493398826061e-01 0.0000000000000000e+00 0 0 0 +597 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 8.2024386617639511e-01 0.0000000000000000e+00 0 0 0 +9088 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9090 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9092 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9094 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9096 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9098 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9100 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9186 1 7.1371621756056675e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9187 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9188 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9189 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9190 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9191 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9192 1 1.0063722103956356e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9193 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9194 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9195 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9196 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9197 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9198 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9199 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9284 1 7.1371621756056834e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9285 1 9.7257311157309550e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9286 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9287 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9288 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9289 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9290 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9291 1 1.0063722103956388e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9292 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9293 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9294 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9295 1 1.0063722103956391e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9296 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9297 1 1.0063722103956386e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9382 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9383 1 9.7257311157309198e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9384 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9385 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9386 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9387 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9388 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9389 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9390 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9391 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9392 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9393 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9394 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9395 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9480 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9481 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9482 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9483 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9484 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9485 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9486 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9487 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9488 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9489 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9490 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9491 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9492 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9493 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9578 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9579 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9580 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9581 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9582 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9583 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9584 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9585 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9586 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9587 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9588 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9589 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9590 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9591 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9676 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9677 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9678 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9679 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9680 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9681 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9682 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9683 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9684 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9685 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9686 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9687 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9688 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9689 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9774 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9775 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9776 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9777 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9778 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9779 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9780 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9781 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9782 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9783 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9784 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9785 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9786 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9787 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9872 1 7.1371621756056845e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9873 1 9.7257311157309209e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9874 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9875 1 1.0063722103956354e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9876 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9877 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9878 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9879 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9880 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9881 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9882 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9883 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9884 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9885 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9102 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9104 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9106 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9108 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9110 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9112 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9114 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9116 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9118 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9200 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9201 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9202 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9203 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9204 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9205 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9206 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9207 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9208 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9209 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9210 1 1.0063722103956354e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9211 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9212 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9213 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9214 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9215 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9216 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9298 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9299 1 1.0063722103956391e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9300 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9301 1 1.0063722103956391e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9302 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9303 1 1.0063722103956384e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9304 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9305 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9306 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9307 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9308 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9309 1 1.0063722103956401e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9310 1 1.0063722103956401e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9311 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9312 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9313 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9314 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9396 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9397 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9398 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9399 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9400 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9401 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9402 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9403 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9404 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9405 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9406 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9407 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9408 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9409 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9410 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9411 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9412 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9494 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9495 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9496 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9497 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9498 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9499 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9500 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9501 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9502 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9503 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9504 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9505 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9506 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9507 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9508 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9509 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9510 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9592 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9593 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9594 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9595 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9596 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9597 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9598 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9599 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9600 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9601 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9602 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9603 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9604 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9605 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9606 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9607 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9608 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9690 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9691 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9692 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9693 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9694 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9695 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9696 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9697 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9698 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9699 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9700 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9701 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9702 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9703 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9704 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9705 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9706 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9788 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9789 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9790 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9791 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9792 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9793 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9794 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9795 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9796 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9797 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9798 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9799 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9800 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9801 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9802 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9803 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9804 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9886 1 1.0063722103956393e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9887 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9888 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9889 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9890 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9891 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9892 1 1.0063722103956393e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9893 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9894 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9895 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9896 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9897 1 1.0063722103956368e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9898 1 1.0063722103956403e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9899 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9900 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9901 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9902 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9120 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9122 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9124 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9126 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9128 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9130 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9132 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9134 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9217 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9218 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9219 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9220 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9221 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9222 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9223 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9224 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9225 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9226 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9227 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9228 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9229 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9230 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9231 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9232 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9233 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9315 1 1.0063722103956386e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9316 1 1.0063722103956402e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9317 1 1.0063722103956401e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9318 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9319 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9320 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9321 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9322 1 1.0063722103956404e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9323 1 1.0063722103956401e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9324 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9325 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9326 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9327 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9328 1 1.0063722103956404e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9329 1 1.0063722103956401e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9330 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9331 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9413 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9414 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9415 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9416 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9417 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9418 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9419 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9420 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9421 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9422 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9423 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9424 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9425 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9426 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9427 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9428 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9429 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9511 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9512 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9513 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9514 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9515 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9516 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9517 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9518 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9519 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9520 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9521 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9522 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9523 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9524 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9525 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9526 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9527 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9609 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9610 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9611 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9612 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9613 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9614 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9615 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9616 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9617 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9618 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9619 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9620 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9621 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9622 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9623 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9624 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9625 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9707 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9708 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9709 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9710 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9711 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9712 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9713 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9714 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9715 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9716 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9717 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9718 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9719 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9720 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9721 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9722 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9723 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9805 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9806 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9807 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9808 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9809 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9810 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9811 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9812 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9813 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9814 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9815 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9816 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9817 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9818 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9819 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9820 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9821 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9903 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9904 1 1.0063722103956403e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9905 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9906 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9907 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9908 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9909 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9910 1 1.0063722103956403e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9911 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9912 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9913 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9914 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9915 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9916 1 1.0063722103956403e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9917 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9918 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9919 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9136 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9138 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9140 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9142 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9144 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9146 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9148 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9150 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9234 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9235 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9236 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9237 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9238 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9239 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9240 1 1.0063722103956394e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9241 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9242 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9243 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9244 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9245 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9246 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9247 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9248 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9249 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9332 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9333 1 1.0063722103956379e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9334 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9335 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9336 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9337 1 1.0063722103956391e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9338 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9339 1 1.0063722103956424e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9340 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9341 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9342 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9343 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9344 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9345 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9346 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9347 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9430 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9431 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9432 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9433 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9434 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9435 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9436 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9437 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9438 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9439 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9440 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9441 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9442 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9443 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9444 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9445 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9528 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9529 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9530 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9531 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9532 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9533 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9534 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9535 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9536 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9537 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9538 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9539 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9540 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9541 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9542 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9543 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9626 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9627 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9628 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9629 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9630 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9631 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9632 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9633 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9634 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9635 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9636 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9637 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9638 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9639 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9640 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9641 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9724 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9725 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9726 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9727 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9728 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9729 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9730 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9731 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9732 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9733 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9734 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9735 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9736 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9737 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9738 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9739 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9822 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9823 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9824 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9825 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9826 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9827 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9828 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9829 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9830 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9831 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9832 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9833 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9834 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9835 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9836 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9837 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9920 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9921 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9922 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9923 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9924 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9925 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9926 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9927 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9928 1 1.0063722103956394e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9929 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9930 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9931 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9932 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9933 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9934 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9935 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9152 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9154 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9156 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9158 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9160 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9162 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9164 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9166 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9168 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9250 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9251 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9252 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9253 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9254 1 1.0063722103956393e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9255 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9256 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9257 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9258 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9259 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9260 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9261 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9262 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9263 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9264 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9265 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9266 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9348 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9349 1 1.0063722103956379e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9350 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9351 1 1.0063722103956425e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9352 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9353 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9354 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9355 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9356 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9357 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9358 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9359 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9360 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9361 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9362 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9363 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9364 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9446 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9447 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9448 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9449 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9450 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9451 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9452 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9453 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9454 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9455 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9456 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9457 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9458 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9459 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9460 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9461 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9462 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9544 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9545 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9546 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9547 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9548 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9549 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9550 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9551 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9552 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9553 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9554 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9555 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9556 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9557 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9558 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9559 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9560 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9642 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9643 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9644 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9645 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9646 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9647 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9648 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9649 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9650 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9651 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9652 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9653 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9654 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9655 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9656 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9657 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9658 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9740 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9741 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9742 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9743 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9744 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9745 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9746 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9747 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9748 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9749 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9750 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9751 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9752 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9753 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9754 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9755 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9756 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9838 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9839 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9840 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9841 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9842 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9843 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9844 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9845 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9846 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9847 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9848 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9849 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9850 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9851 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9852 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9853 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9854 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9936 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9937 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9938 1 1.0063722103956394e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9939 1 1.0063722103956391e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9940 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9941 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9942 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9943 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9944 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9945 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9946 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9947 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9948 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9949 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9950 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9951 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9952 1 1.0063722103956424e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9170 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9172 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9174 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9176 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9178 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9180 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9182 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9184 1 9.7257311157309050e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 6.7000000000000004e-01 0.0000000000000000e+00 0 0 0 +9267 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9268 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9269 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9270 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9271 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9272 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9273 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9274 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9275 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9276 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9277 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9278 1 1.0063722103956394e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9279 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9280 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9281 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9282 1 9.7257311157309152e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 6.9000000000000006e-01 0.0000000000000000e+00 0 0 0 +9283 1 7.1371621756056538e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 0.0000000000000000e+00 0 0 0 +9365 1 1.0063722103956425e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9366 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9367 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9368 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9369 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9370 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9371 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9372 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9373 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9374 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9375 1 1.0063722103956391e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9376 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9377 1 1.0063722103956424e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9378 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9379 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9380 1 9.7257311157309482e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 7.0999999999999996e-01 0.0000000000000000e+00 0 0 0 +9381 1 7.1371621756056788e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 0.0000000000000000e+00 0 0 0 +9463 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9464 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9465 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9466 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9467 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9468 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9469 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9470 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9471 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9472 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9473 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9474 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9475 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9476 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9477 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9478 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 7.2999999999999998e-01 0.0000000000000000e+00 0 0 0 +9479 1 7.1371621756056652e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 0.0000000000000000e+00 0 0 0 +9561 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9562 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9563 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9564 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9565 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9566 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9567 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9568 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9569 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9570 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9571 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9572 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9573 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9574 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9575 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9576 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 7.5000000000000000e-01 0.0000000000000000e+00 0 0 0 +9577 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 0.0000000000000000e+00 0 0 0 +9659 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9660 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9661 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9662 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9663 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9664 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9665 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9666 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9667 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9668 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9669 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9670 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9671 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9672 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9673 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9674 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 7.7000000000000002e-01 0.0000000000000000e+00 0 0 0 +9675 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 0.0000000000000000e+00 0 0 0 +9757 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9758 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9759 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9760 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9761 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9762 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9763 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9764 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9765 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9766 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9767 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9768 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9769 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9770 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9771 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9772 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 7.9000000000000004e-01 0.0000000000000000e+00 0 0 0 +9773 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 0.0000000000000000e+00 0 0 0 +9855 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9856 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9857 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9858 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9859 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9860 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9861 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9862 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9863 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9864 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9865 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9866 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9867 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9868 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9869 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9870 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 8.1000000000000005e-01 0.0000000000000000e+00 0 0 0 +9871 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 0.0000000000000000e+00 0 0 0 +9953 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9954 1 1.0063722103956394e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9955 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9956 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9957 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9958 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9959 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9960 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9961 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9962 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9963 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9964 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9965 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9966 1 1.0063722103956394e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9967 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +9968 1 9.7257311157309482e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 8.3000000000000007e-01 0.0000000000000000e+00 0 0 0 +9969 1 7.1371621756056629e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 0.0000000000000000e+00 0 0 0 +598 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 8.3438600180012612e-01 0.0000000000000000e+00 0 0 0 +599 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 8.4145706961199151e-01 0.0000000000000000e+00 0 0 0 +600 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 8.3438600180012612e-01 0.0000000000000000e+00 0 0 0 +601 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 8.4852813742385702e-01 0.0000000000000000e+00 0 0 0 +602 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 8.5559920523572253e-01 0.0000000000000000e+00 0 0 0 +603 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 8.4852813742385702e-01 0.0000000000000000e+00 0 0 0 +604 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 8.6267027304758803e-01 0.0000000000000000e+00 0 0 0 +605 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 8.6974134085945343e-01 0.0000000000000000e+00 0 0 0 +606 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 8.6267027304758803e-01 0.0000000000000000e+00 0 0 0 +607 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 8.7681240867131893e-01 0.0000000000000000e+00 0 0 0 +608 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 8.8388347648318444e-01 0.0000000000000000e+00 0 0 0 +609 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 8.7681240867131893e-01 0.0000000000000000e+00 0 0 0 +610 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 8.9095454429504994e-01 0.0000000000000000e+00 0 0 0 +611 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 8.9802561210691534e-01 0.0000000000000000e+00 0 0 0 +612 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 8.9095454429504994e-01 0.0000000000000000e+00 0 0 0 +613 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 9.0509667991878084e-01 0.0000000000000000e+00 0 0 0 +614 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 9.1216774773064635e-01 0.0000000000000000e+00 0 0 0 +615 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 9.0509667991878084e-01 0.0000000000000000e+00 0 0 0 +616 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 9.1923881554251174e-01 0.0000000000000000e+00 0 0 0 +617 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 9.2630988335437725e-01 0.0000000000000000e+00 0 0 0 +618 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 9.1923881554251174e-01 0.0000000000000000e+00 0 0 0 +619 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 9.3338095116624276e-01 0.0000000000000000e+00 0 0 0 +620 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 9.4045201897810826e-01 0.0000000000000000e+00 0 0 0 +621 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 9.3338095116624276e-01 0.0000000000000000e+00 0 0 0 +622 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 9.4752308678997366e-01 0.0000000000000000e+00 0 0 0 +623 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 9.5459415460183916e-01 0.0000000000000000e+00 0 0 0 +624 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 9.4752308678997366e-01 0.0000000000000000e+00 0 0 0 +625 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 9.6166522241370467e-01 0.0000000000000000e+00 0 0 0 +626 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 9.6873629022557017e-01 0.0000000000000000e+00 0 0 0 +627 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 9.6166522241370467e-01 0.0000000000000000e+00 0 0 0 +628 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 9.7580735803743557e-01 0.0000000000000000e+00 0 0 0 +629 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 9.8287842584930107e-01 0.0000000000000000e+00 0 0 0 +630 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 9.7580735803743557e-01 0.0000000000000000e+00 0 0 0 +631 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 9.8994949366116658e-01 0.0000000000000000e+00 0 0 0 +632 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 9.9702056147303197e-01 0.0000000000000000e+00 0 0 0 +633 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 9.8994949366116658e-01 0.0000000000000000e+00 0 0 0 +9970 1 7.1371621756056675e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +9971 1 9.7257311157309539e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +9972 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +9973 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +9974 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +9975 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +9976 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +9977 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +9978 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +9979 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +9980 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +9981 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +9982 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +9983 1 1.0063722103956386e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10068 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10069 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10070 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10071 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10072 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10073 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10074 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10075 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10076 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10077 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10078 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10079 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10080 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10081 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10166 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10167 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10168 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10169 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10170 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10171 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10172 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10173 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10174 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10175 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10176 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10177 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10178 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10179 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10264 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10265 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10266 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10267 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10268 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10269 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10270 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10271 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10272 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10273 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10274 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10275 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10276 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10277 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10362 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10363 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10364 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10365 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10366 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10367 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10368 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10369 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10370 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10371 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10372 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10373 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10374 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10375 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10460 1 7.1371621756056845e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10461 1 9.7257311157309209e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10462 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10463 1 1.0063722103956354e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10464 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10465 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10466 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10467 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10468 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10469 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10470 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10471 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10472 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10473 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10558 1 7.1371621756056675e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10559 1 9.7257311157309539e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10560 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10561 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10562 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10563 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10564 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10565 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10566 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10567 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10568 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10569 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10570 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10571 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10656 1 7.1371621756056550e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10657 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10658 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10659 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10660 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10661 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10662 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10663 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10664 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10665 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10666 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10667 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10668 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10669 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10755 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10757 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10759 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10761 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10763 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10765 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10767 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +9984 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +9985 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +9986 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +9987 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +9988 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +9989 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +9990 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +9991 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +9992 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +9993 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +9994 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +9995 1 1.0063722103956401e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +9996 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +9997 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +9998 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +9999 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10000 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +10082 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10083 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10084 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10085 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10086 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10087 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10088 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10089 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10090 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10091 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10092 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10093 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10094 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10095 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10096 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10097 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10098 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10180 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10181 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10182 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10183 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10184 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10185 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10186 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10187 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10188 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10189 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10190 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10191 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10192 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10193 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10194 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10195 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10196 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10278 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10279 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10280 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10281 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10282 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10283 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10284 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10285 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10286 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10287 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10288 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10289 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10290 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10291 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10292 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10293 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10294 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10376 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10377 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10378 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10379 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10380 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10381 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10382 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10383 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10384 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10385 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10386 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10387 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10388 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10389 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10390 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10391 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10392 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10474 1 1.0063722103956391e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10475 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10476 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10477 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10478 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10479 1 1.0063722103956352e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10480 1 1.0063722103956393e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10481 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10482 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10483 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10484 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10485 1 1.0063722103956368e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10486 1 1.0063722103956403e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10487 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10488 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10489 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10490 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10572 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10573 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10574 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10575 1 1.0063722103956389e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10576 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10577 1 1.0063722103956385e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10578 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10579 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10580 1 1.0063722103956351e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10581 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10582 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10583 1 1.0063722103956401e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10584 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10585 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10586 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10587 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10588 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10670 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10671 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10672 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10673 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10674 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10675 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10676 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10677 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10678 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10679 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10680 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10681 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10682 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10683 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10684 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10685 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10686 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10769 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10771 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10773 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10775 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10777 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10779 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10781 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10783 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10001 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10002 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +10003 1 1.0063722103956401e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10004 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +10005 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10006 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +10007 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10008 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +10009 1 1.0063722103956401e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10010 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +10011 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10012 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +10013 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10014 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +10015 1 1.0063722103956401e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10016 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +10017 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10099 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10100 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10101 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10102 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10103 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10104 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10105 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10106 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10107 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10108 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10109 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10110 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10111 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10112 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10113 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10114 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10115 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10197 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10198 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10199 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10200 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10201 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10202 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10203 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10204 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10205 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10206 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10207 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10208 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10209 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10210 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10211 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10212 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10213 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10295 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10296 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10297 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10298 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10299 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10300 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10301 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10302 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10303 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10304 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10305 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10306 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10307 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10308 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10309 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10310 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10311 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10393 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10394 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10395 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10396 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10397 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10398 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10399 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10400 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10401 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10402 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10403 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10404 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10405 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10406 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10407 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10408 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10409 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10491 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10492 1 1.0063722103956403e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10493 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10494 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10495 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10496 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10497 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10498 1 1.0063722103956403e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10499 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10500 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10501 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10502 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10503 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10504 1 1.0063722103956403e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10505 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10506 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10507 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10589 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10590 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10591 1 1.0063722103956401e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10592 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10593 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10594 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10595 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10596 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10597 1 1.0063722103956401e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10598 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10599 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10600 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10601 1 1.0063722103956387e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10602 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10603 1 1.0063722103956401e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10604 1 1.0063722103956353e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10605 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10687 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10688 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10689 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10690 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10691 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10692 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10693 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10694 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10695 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10696 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10697 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10698 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10699 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10700 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10701 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10702 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10703 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10785 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10787 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10789 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10791 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10793 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10795 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10797 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10799 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10801 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10018 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +10019 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10020 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +10021 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10022 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +10023 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10024 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +10025 1 1.0063722103956424e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10026 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +10027 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10028 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +10029 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10030 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +10031 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10032 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +10033 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10116 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10117 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10118 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10119 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10120 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10121 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10122 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10123 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10124 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10125 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10126 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10127 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10128 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10129 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10130 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10131 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10214 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10215 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10216 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10217 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10218 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10219 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10220 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10221 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10222 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10223 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10224 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10225 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10226 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10227 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10228 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10229 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10312 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10313 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10314 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10315 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10316 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10317 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10318 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10319 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10320 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10321 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10322 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10323 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10324 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10325 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10326 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10327 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10410 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10411 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10412 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10413 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10414 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10415 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10416 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10417 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10418 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10419 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10420 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10421 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10422 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10423 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10424 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10425 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10508 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10509 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10510 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10511 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10512 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10513 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10514 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10515 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10516 1 1.0063722103956394e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10517 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10518 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10519 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10520 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10521 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10522 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10523 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10606 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10607 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10608 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10609 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10610 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10611 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10612 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10613 1 1.0063722103956424e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10614 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10615 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10616 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10617 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10618 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10619 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10620 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10621 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10704 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10705 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10706 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10707 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10708 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10709 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10710 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10711 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10712 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10713 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10714 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10715 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10716 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10717 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10718 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10719 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10803 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10805 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10807 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10809 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10811 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10813 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10815 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10817 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10034 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +10035 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10036 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +10037 1 1.0063722103956424e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10038 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +10039 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10040 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +10041 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10042 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +10043 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10044 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +10045 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10046 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +10047 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10048 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +10049 1 1.0063722103956393e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10050 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +10132 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10133 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10134 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10135 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10136 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10137 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10138 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10139 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10140 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10141 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10142 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10143 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10144 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10145 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10146 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10147 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10148 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10230 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10231 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10232 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10233 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10234 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10235 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10236 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10237 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10238 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10239 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10240 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10241 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10242 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10243 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10244 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10245 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10246 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10328 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10329 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10330 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10331 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10332 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10333 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10334 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10335 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10336 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10337 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10338 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10339 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10340 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10341 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10342 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10343 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10344 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10426 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10427 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10428 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10429 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10430 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10431 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10432 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10433 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10434 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10435 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10436 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10437 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10438 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10439 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10440 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10441 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10442 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10524 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10525 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10526 1 1.0063722103956394e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10527 1 1.0063722103956391e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10528 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10529 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10530 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10531 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10532 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10533 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10534 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10535 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10536 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10537 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10538 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10539 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10540 1 1.0063722103956424e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10622 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10623 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10624 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10625 1 1.0063722103956424e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10626 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10627 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10628 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10629 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10630 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10631 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10632 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10633 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10634 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10635 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10636 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10637 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10638 1 1.0063722103956394e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10720 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10721 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10722 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10723 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10724 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10725 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10726 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10727 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10728 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10729 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10730 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10731 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10732 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10733 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10734 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10735 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10736 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10819 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10821 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10823 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10825 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10827 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10829 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10831 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10833 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10051 1 1.0063722103956424e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10052 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +10053 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10054 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +10055 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10056 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +10057 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10058 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +10059 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10060 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +10061 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10062 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +10063 1 1.0063722103956424e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10064 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +10065 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10066 1 9.7257311157309164e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 8.4999999999999998e-01 0.0000000000000000e+00 0 0 0 +10067 1 7.1371621756056811e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 0.0000000000000000e+00 0 0 0 +10149 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10150 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10151 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10152 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10153 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10154 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10155 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10156 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10157 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10158 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10159 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10160 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10161 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10162 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10163 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10164 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 8.7000000000000000e-01 0.0000000000000000e+00 0 0 0 +10165 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 0.0000000000000000e+00 0 0 0 +10247 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10248 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10249 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10250 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10251 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10252 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10253 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10254 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10255 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10256 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10257 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10258 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10259 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10260 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10261 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10262 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 8.9000000000000001e-01 0.0000000000000000e+00 0 0 0 +10263 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 0.0000000000000000e+00 0 0 0 +10345 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10346 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10347 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10348 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10349 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10350 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10351 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10352 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10353 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10354 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10355 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10356 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10357 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10358 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10359 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10360 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 9.1000000000000003e-01 0.0000000000000000e+00 0 0 0 +10361 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 0.0000000000000000e+00 0 0 0 +10443 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10444 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10445 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10446 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10447 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10448 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10449 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10450 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10451 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10452 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10453 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10454 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10455 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10456 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10457 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10458 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 9.3000000000000005e-01 0.0000000000000000e+00 0 0 0 +10459 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 0.0000000000000000e+00 0 0 0 +10541 1 1.0063722103956393e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10542 1 1.0063722103956394e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10543 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10544 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10545 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10546 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10547 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10548 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10549 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10550 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10551 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10552 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10553 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10554 1 1.0063722103956394e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10555 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10556 1 9.7257311157309482e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 9.5000000000000007e-01 0.0000000000000000e+00 0 0 0 +10557 1 7.1371621756056629e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 0.0000000000000000e+00 0 0 0 +10639 1 1.0063722103956424e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10640 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10641 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10642 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10643 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10644 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10645 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10646 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10647 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10648 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10649 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10650 1 1.0063722103956392e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10651 1 1.0063722103956424e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10652 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10653 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10654 1 9.7257311157309164e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 9.6999999999999997e-01 0.0000000000000000e+00 0 0 0 +10655 1 7.1371621756056811e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 0.0000000000000000e+00 0 0 0 +10737 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10738 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10739 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10740 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10741 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10742 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10743 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10744 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10745 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10746 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10747 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10748 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10749 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10750 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10751 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10752 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 9.8999999999999999e-01 0.0000000000000000e+00 0 0 0 +10753 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 0.0000000000000000e+00 0 0 0 +10835 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10837 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10839 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10841 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10843 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10845 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10847 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10849 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10851 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +634 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.0040916292848976e+00 0.0000000000000000e+00 0 0 0 +635 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.0111626970967629e+00 0.0000000000000000e+00 0 0 0 +636 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.0040916292848976e+00 0.0000000000000000e+00 0 0 0 +637 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.0182337649086284e+00 0.0000000000000000e+00 0 0 0 +638 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.0253048327204939e+00 0.0000000000000000e+00 0 0 0 +639 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.0182337649086284e+00 0.0000000000000000e+00 0 0 0 +640 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.0323759005323594e+00 0.0000000000000000e+00 0 0 0 +641 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.0394469683442249e+00 0.0000000000000000e+00 0 0 0 +642 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.0323759005323594e+00 0.0000000000000000e+00 0 0 0 +643 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.0465180361560904e+00 0.0000000000000000e+00 0 0 0 +644 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.0535891039679559e+00 0.0000000000000000e+00 0 0 0 +645 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.0465180361560904e+00 0.0000000000000000e+00 0 0 0 +646 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.0606601717798212e+00 0.0000000000000000e+00 0 0 0 +647 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.0677312395916867e+00 0.0000000000000000e+00 0 0 0 +648 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.0606601717798212e+00 0.0000000000000000e+00 0 0 0 +649 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.0748023074035522e+00 0.0000000000000000e+00 0 0 0 +650 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.0818733752154177e+00 0.0000000000000000e+00 0 0 0 +651 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.0748023074035522e+00 0.0000000000000000e+00 0 0 0 +652 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.0889444430272832e+00 0.0000000000000000e+00 0 0 0 +653 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.0960155108391487e+00 0.0000000000000000e+00 0 0 0 +654 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.0889444430272832e+00 0.0000000000000000e+00 0 0 0 +655 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.1030865786510142e+00 0.0000000000000000e+00 0 0 0 +656 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.1101576464628797e+00 0.0000000000000000e+00 0 0 0 +657 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.1030865786510142e+00 0.0000000000000000e+00 0 0 0 +658 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.1172287142747450e+00 0.0000000000000000e+00 0 0 0 +659 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.1242997820866105e+00 0.0000000000000000e+00 0 0 0 +660 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.1172287142747450e+00 0.0000000000000000e+00 0 0 0 +661 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.1313708498984760e+00 0.0000000000000000e+00 0 0 0 +662 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.1384419177103415e+00 0.0000000000000000e+00 0 0 0 +663 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.1313708498984760e+00 0.0000000000000000e+00 0 0 0 +664 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.1455129855222070e+00 0.0000000000000000e+00 0 0 0 +665 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.1525840533340725e+00 0.0000000000000000e+00 0 0 0 +666 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.1455129855222070e+00 0.0000000000000000e+00 0 0 0 +667 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.1596551211459381e+00 0.0000000000000000e+00 0 0 0 +668 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.1667261889578033e+00 0.0000000000000000e+00 0 0 0 +669 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.1596551211459381e+00 0.0000000000000000e+00 0 0 0 +10754 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10756 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10758 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10760 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10762 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10764 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10766 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10852 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10853 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10854 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10855 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10856 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10857 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10858 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10859 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10860 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10861 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10862 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10863 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10864 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10865 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10950 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +10951 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +10952 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +10953 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +10954 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +10955 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +10956 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +10957 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +10958 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +10959 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +10960 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +10961 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +10962 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +10963 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +11048 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11049 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11050 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11051 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11052 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11053 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11054 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11055 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11056 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11057 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11058 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11059 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11060 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11061 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11146 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11147 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11148 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11149 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11150 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11151 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11152 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11153 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11154 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11155 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11156 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11157 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11158 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11159 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11244 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11245 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11246 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11247 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11248 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11249 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11250 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11251 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11252 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11253 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11254 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11255 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11256 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11257 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11342 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11343 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11344 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11345 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11346 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11347 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11348 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11349 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11350 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11351 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11352 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11353 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11354 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11355 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11440 1 7.1371621756057129e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11441 1 9.7257311157309334e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11442 1 1.0063722103956435e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11443 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11444 1 1.0063722103956435e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11445 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11446 1 1.0063722103956436e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11447 1 1.0063722103956368e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11448 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11449 1 1.0063722103956366e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11450 1 1.0063722103956432e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11451 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11452 1 1.0063722103956438e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11453 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11539 1 9.7257311157309994e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11541 1 1.0063722103956433e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11543 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11545 1 1.0063722103956435e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11547 1 1.0063722103956433e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11549 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11551 1 1.0063722103956433e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +10768 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10770 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10772 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10774 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10776 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10778 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10780 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10782 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10784 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10866 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10867 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10868 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10869 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10870 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10871 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10872 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10873 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10874 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10875 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10876 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10877 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10878 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10879 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10880 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10881 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10882 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10964 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +10965 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +10966 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +10967 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +10968 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +10969 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +10970 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +10971 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +10972 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +10973 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +10974 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +10975 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +10976 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +10977 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +10978 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +10979 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +10980 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +11062 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11063 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11064 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11065 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11066 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11067 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11068 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11069 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11070 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11071 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11072 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11073 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11074 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11075 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11076 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11077 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11078 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11160 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11161 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11162 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11163 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11164 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11165 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11166 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11167 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11168 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11169 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11170 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11171 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11172 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11173 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11174 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11175 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11176 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11258 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11259 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11260 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11261 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11262 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11263 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11264 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11265 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11266 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11267 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11268 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11269 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11270 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11271 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11272 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11273 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11274 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11356 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11357 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11358 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11359 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11360 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11361 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11362 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11363 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11364 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11365 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11366 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11367 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11368 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11369 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11370 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11371 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11372 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11454 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11455 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11456 1 1.0063722103956434e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11457 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11458 1 1.0063722103956438e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11459 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11460 1 1.0063722103956439e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11461 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11462 1 1.0063722103956432e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11463 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11464 1 1.0063722103956435e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11465 1 1.0063722103956381e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11466 1 1.0063722103956451e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11467 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11468 1 1.0063722103956429e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11469 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11470 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11553 1 1.0063722103956439e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11555 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11557 1 1.0063722103956430e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11559 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11561 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11563 1 1.0063722103956449e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11565 1 1.0063722103956433e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11567 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +10786 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10788 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10790 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10792 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10794 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10796 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10798 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10800 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10883 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10884 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10885 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10886 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10887 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10888 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10889 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10890 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10891 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10892 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10893 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10894 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10895 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10896 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10897 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10898 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10899 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10981 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +10982 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +10983 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +10984 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +10985 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +10986 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +10987 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +10988 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +10989 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +10990 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +10991 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +10992 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +10993 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +10994 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +10995 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +10996 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +10997 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +11079 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11080 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11081 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11082 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11083 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11084 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11085 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11086 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11087 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11088 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11089 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11090 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11091 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11092 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11093 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11094 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11095 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11177 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11178 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11179 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11180 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11181 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11182 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11183 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11184 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11185 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11186 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11187 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11188 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11189 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11190 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11191 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11192 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11193 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11275 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11276 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11277 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11278 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11279 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11280 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11281 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11282 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11283 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11284 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11285 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11286 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11287 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11288 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11289 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11290 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11291 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11373 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11374 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11375 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11376 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11377 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11378 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11379 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11380 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11381 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11382 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11383 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11384 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11385 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11386 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11387 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11388 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11389 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11471 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11472 1 1.0063722103956451e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11473 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11474 1 1.0063722103956435e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11475 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11476 1 1.0063722103956429e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11477 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11478 1 1.0063722103956451e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11479 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11480 1 1.0063722103956435e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11481 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11482 1 1.0063722103956429e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11483 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11484 1 1.0063722103956451e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11485 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11486 1 1.0063722103956435e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11487 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11569 1 1.0063722103956435e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11571 1 1.0063722103956449e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11573 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11575 1 1.0063722103956433e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11577 1 1.0063722103956449e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11579 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11581 1 1.0063722103956433e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11583 1 1.0063722103956449e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11585 1 1.0063722103956428e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +10802 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10804 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10806 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10808 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10810 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10812 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10814 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10816 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10900 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10901 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10902 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10903 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10904 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10905 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10906 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10907 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10908 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10909 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10910 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10911 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10912 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10913 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10914 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10915 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10998 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +10999 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +11000 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +11001 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +11002 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +11003 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +11004 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +11005 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +11006 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +11007 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +11008 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +11009 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +11010 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +11011 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +11012 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +11013 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +11096 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11097 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11098 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11099 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11100 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11101 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11102 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11103 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11104 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11105 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11106 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11107 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11108 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11109 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11110 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11111 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11194 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11195 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11196 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11197 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11198 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11199 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11200 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11201 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11202 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11203 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11204 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11205 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11206 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11207 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11208 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11209 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11292 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11293 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11294 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11295 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11296 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11297 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11298 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11299 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11300 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11301 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11302 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11303 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11304 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11305 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11306 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11307 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11390 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11391 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11392 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11393 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11394 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11395 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11396 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11397 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11398 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11399 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11400 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11401 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11402 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11403 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11404 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11405 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11488 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11489 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11490 1 1.0063722103956429e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11491 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11492 1 1.0063722103956429e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11493 1 1.0063722103956372e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11494 1 1.0063722103956474e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11495 1 1.0063722103956405e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11496 1 1.0063722103956442e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11497 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11498 1 1.0063722103956429e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11499 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11500 1 1.0063722103956429e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11501 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11502 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11503 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11587 1 1.0063722103956428e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11589 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11591 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11593 1 1.0063722103956471e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11595 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11597 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11599 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11601 1 1.0063722103956428e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +10818 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10820 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10822 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10824 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10826 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10828 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10830 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10832 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10834 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10916 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10917 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10918 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10919 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10920 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10921 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10922 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10923 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10924 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10925 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10926 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10927 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10928 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10929 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10930 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10931 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10932 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +11014 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +11015 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +11016 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +11017 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +11018 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +11019 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +11020 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +11021 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +11022 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +11023 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +11024 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +11025 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +11026 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +11027 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +11028 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +11029 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +11030 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +11112 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11113 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11114 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11115 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11116 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11117 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11118 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11119 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11120 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11121 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11122 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11123 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11124 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11125 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11126 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11127 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11128 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11210 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11211 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11212 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11213 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11214 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11215 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11216 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11217 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11218 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11219 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11220 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11221 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11222 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11223 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11224 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11225 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11226 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11308 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11309 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11310 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11311 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11312 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11313 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11314 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11315 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11316 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11317 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11318 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11319 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11320 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11321 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11322 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11323 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11324 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11406 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11407 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11408 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11409 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11410 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11411 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11412 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11413 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11414 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11415 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11416 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11417 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11418 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11419 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11420 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11421 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11422 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11504 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11505 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11506 1 1.0063722103956442e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11507 1 1.0063722103956404e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11508 1 1.0063722103956474e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11509 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11510 1 1.0063722103956429e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11511 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11512 1 1.0063722103956429e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11513 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11514 1 1.0063722103956429e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11515 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11516 1 1.0063722103956429e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11517 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11518 1 1.0063722103956429e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11519 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11520 1 1.0063722103956472e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11603 1 1.0063722103956428e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11605 1 1.0063722103956474e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11607 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11609 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11611 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11613 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11615 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11617 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +10836 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10838 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10840 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10842 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10844 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10846 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10848 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10850 1 9.7257311157309050e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.0100000000000000e+00 0.0000000000000000e+00 0 0 0 +10933 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10934 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10935 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10936 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10937 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10938 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10939 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10940 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10941 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10942 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10943 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10944 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10945 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10946 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10947 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +10948 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.0300000000000000e+00 0.0000000000000000e+00 0 0 0 +10949 1 7.1371621756056538e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.0200000000000000e+00 0.0000000000000000e+00 0 0 0 +11031 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +11032 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +11033 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +11034 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +11035 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +11036 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +11037 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +11038 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +11039 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +11040 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +11041 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +11042 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +11043 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +11044 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +11045 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +11046 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.0500000000000000e+00 0.0000000000000000e+00 0 0 0 +11047 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.0400000000000000e+00 0.0000000000000000e+00 0 0 0 +11129 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11130 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11131 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11132 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11133 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11134 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11135 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11136 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11137 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11138 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11139 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11140 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11141 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11142 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11143 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11144 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.0700000000000001e+00 0.0000000000000000e+00 0 0 0 +11145 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.0600000000000001e+00 0.0000000000000000e+00 0 0 0 +11227 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11228 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11229 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11230 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11231 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11232 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11233 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11234 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11235 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11236 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11237 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11238 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11239 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11240 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11241 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11242 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.0900000000000001e+00 0.0000000000000000e+00 0 0 0 +11243 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.0800000000000001e+00 0.0000000000000000e+00 0 0 0 +11325 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11326 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11327 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11328 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11329 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11330 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11331 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11332 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11333 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11334 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11335 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11336 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11337 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11338 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11339 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11340 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.1100000000000001e+00 0.0000000000000000e+00 0 0 0 +11341 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000001e+00 0.0000000000000000e+00 0 0 0 +11423 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11424 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11425 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11426 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11427 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11428 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11429 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11430 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11431 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11432 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11433 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11434 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11435 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11436 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11437 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11438 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.1300000000000001e+00 0.0000000000000000e+00 0 0 0 +11439 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.1200000000000001e+00 0.0000000000000000e+00 0 0 0 +11521 1 1.0063722103956405e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11522 1 1.0063722103956442e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11523 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11524 1 1.0063722103956429e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11525 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11526 1 1.0063722103956429e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11527 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11528 1 1.0063722103956429e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11529 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11530 1 1.0063722103956429e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11531 1 1.0063722103956372e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11532 1 1.0063722103956474e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11533 1 1.0063722103956405e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11534 1 1.0063722103956442e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11535 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11536 1 9.7257311157309948e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.1500000000000001e+00 0.0000000000000000e+00 0 0 0 +11537 1 7.1371621756056754e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.1400000000000001e+00 0.0000000000000000e+00 0 0 0 +11619 1 1.0063722103956471e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11621 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11623 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11625 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11627 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11629 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11631 1 1.0063722103956471e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11633 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +11635 1 7.1371621756057107e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.1599999999999999e+00 0.0000000000000000e+00 0 0 0 +670 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.1737972567696688e+00 0.0000000000000000e+00 0 0 0 +671 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.1808683245815343e+00 0.0000000000000000e+00 0 0 0 +672 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.1737972567696688e+00 0.0000000000000000e+00 0 0 0 +673 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.1879393923933999e+00 0.0000000000000000e+00 0 0 0 +674 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.1950104602052654e+00 0.0000000000000000e+00 0 0 0 +675 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.1879393923933999e+00 0.0000000000000000e+00 0 0 0 +676 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.2020815280171309e+00 0.0000000000000000e+00 0 0 0 +677 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.2091525958289964e+00 0.0000000000000000e+00 0 0 0 +678 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.2020815280171309e+00 0.0000000000000000e+00 0 0 0 +679 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.2162236636408617e+00 0.0000000000000000e+00 0 0 0 +680 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.2232947314527272e+00 0.0000000000000000e+00 0 0 0 +681 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.2162236636408617e+00 0.0000000000000000e+00 0 0 0 +682 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.2303657992645927e+00 0.0000000000000000e+00 0 0 0 +683 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.2374368670764582e+00 0.0000000000000000e+00 0 0 0 +684 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.2303657992645927e+00 0.0000000000000000e+00 0 0 0 +685 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.2445079348883237e+00 0.0000000000000000e+00 0 0 0 +686 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.2515790027001892e+00 0.0000000000000000e+00 0 0 0 +687 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.2445079348883237e+00 0.0000000000000000e+00 0 0 0 +688 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.2586500705120547e+00 0.0000000000000000e+00 0 0 0 +689 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.2657211383239202e+00 0.0000000000000000e+00 0 0 0 +690 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.2586500705120547e+00 0.0000000000000000e+00 0 0 0 +691 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.2727922061357855e+00 0.0000000000000000e+00 0 0 0 +692 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.2798632739476510e+00 0.0000000000000000e+00 0 0 0 +693 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.2727922061357855e+00 0.0000000000000000e+00 0 0 0 +694 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.2869343417595165e+00 0.0000000000000000e+00 0 0 0 +695 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.2940054095713820e+00 0.0000000000000000e+00 0 0 0 +696 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.2869343417595165e+00 0.0000000000000000e+00 0 0 0 +697 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.3010764773832475e+00 0.0000000000000000e+00 0 0 0 +698 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.3081475451951130e+00 0.0000000000000000e+00 0 0 0 +699 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.3010764773832475e+00 0.0000000000000000e+00 0 0 0 +700 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.3152186130069785e+00 0.0000000000000000e+00 0 0 0 +701 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.3222896808188438e+00 0.0000000000000000e+00 0 0 0 +702 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.3152186130069785e+00 0.0000000000000000e+00 0 0 0 +703 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.3293607486307093e+00 0.0000000000000000e+00 0 0 0 +705 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.3293607486307093e+00 0.0000000000000000e+00 0 0 0 +11538 1 7.1371621756056788e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11540 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11542 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11544 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11546 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11548 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11550 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11636 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11637 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11638 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11639 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11640 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11641 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11642 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11643 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11644 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11645 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11646 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11647 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11648 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11649 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11734 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11735 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11736 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11737 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11738 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11739 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11740 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11741 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11742 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11743 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11744 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11745 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11746 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11747 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11832 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11833 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11834 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11835 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11836 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11837 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11838 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11839 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11840 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11841 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11842 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11843 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11844 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11845 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11930 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +11931 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +11932 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +11933 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +11934 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +11935 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +11936 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +11937 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +11938 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +11939 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +11940 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +11941 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +11942 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +11943 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +12028 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12029 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12030 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12031 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12032 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12033 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12034 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12035 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12036 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12037 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12038 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12039 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12040 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12041 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12126 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12127 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12128 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12129 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12130 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12131 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12132 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12133 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12134 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12135 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12136 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12137 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12138 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12139 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12224 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12225 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12226 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12227 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12228 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12229 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12230 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12231 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12232 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12233 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12234 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12235 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12236 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12237 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12322 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12323 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12324 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12325 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12326 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12327 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12328 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12329 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12330 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12331 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12332 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12333 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12334 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12335 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +11552 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11554 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11556 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11558 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11560 1 1.0063722103956362e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11562 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11564 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11566 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11568 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11650 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11651 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11652 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11653 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11654 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11655 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11656 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11657 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11658 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11659 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11660 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11661 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11662 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11663 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11664 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11665 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11666 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11748 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11749 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11750 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11751 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11752 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11753 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11754 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11755 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11756 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11757 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11758 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11759 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11760 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11761 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11762 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11763 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11764 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11846 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11847 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11848 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11849 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11850 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11851 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11852 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11853 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11854 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11855 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11856 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11857 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11858 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11859 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11860 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11861 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11862 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11944 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +11945 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +11946 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +11947 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +11948 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +11949 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +11950 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +11951 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +11952 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +11953 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +11954 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +11955 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +11956 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +11957 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +11958 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +11959 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +11960 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +12042 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12043 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12044 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12045 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12046 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12047 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12048 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12049 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12050 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12051 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12052 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12053 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12054 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12055 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12056 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12057 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12058 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12140 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12141 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12142 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12143 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12144 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12145 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12146 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12147 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12148 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12149 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12150 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12151 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12152 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12153 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12154 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12155 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12156 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12238 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12239 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12240 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12241 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12242 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12243 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12244 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12245 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12246 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12247 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12248 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12249 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12250 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12251 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12252 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12253 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12254 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12336 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12337 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12338 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12339 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12340 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12341 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12342 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12343 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12344 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12345 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12346 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12347 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12348 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12349 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12350 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12351 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12352 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +11570 1 1.0063722103956381e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11572 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11574 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11576 1 1.0063722103956381e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11578 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11580 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11582 1 1.0063722103956381e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11584 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11667 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11668 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11669 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11670 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11671 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11672 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11673 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11674 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11675 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11676 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11677 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11678 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11679 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11680 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11681 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11682 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11683 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11765 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11766 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11767 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11768 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11769 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11770 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11771 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11772 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11773 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11774 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11775 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11776 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11777 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11778 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11779 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11780 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11781 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11863 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11864 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11865 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11866 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11867 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11868 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11869 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11870 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11871 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11872 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11873 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11874 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11875 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11876 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11877 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11878 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11879 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11961 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +11962 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +11963 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +11964 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +11965 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +11966 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +11967 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +11968 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +11969 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +11970 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +11971 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +11972 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +11973 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +11974 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +11975 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +11976 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +11977 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +12059 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12060 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12061 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12062 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12063 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12064 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12065 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12066 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12067 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12068 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12069 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12070 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12071 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12072 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12073 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12074 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12075 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12157 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12158 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12159 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12160 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12161 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12162 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12163 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12164 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12165 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12166 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12167 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12168 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12169 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12170 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12171 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12172 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12173 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12255 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12256 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12257 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12258 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12259 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12260 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12261 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12262 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12263 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12264 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12265 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12266 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12267 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12268 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12269 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12270 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12271 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12353 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12354 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12355 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12356 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12357 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12358 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12359 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12360 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12361 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12362 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12363 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12364 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12365 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12366 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12367 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12368 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12369 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +11586 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11588 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11590 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11592 1 1.0063722103956403e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11594 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11596 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11598 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11600 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11684 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11685 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11686 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11687 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11688 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11689 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11690 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11691 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11692 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11693 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11694 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11695 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11696 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11697 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11698 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11699 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11782 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11783 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11784 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11785 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11786 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11787 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11788 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11789 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11790 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11791 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11792 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11793 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11794 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11795 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11796 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11797 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11880 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11881 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11882 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11883 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11884 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11885 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11886 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11887 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11888 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11889 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11890 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11891 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11892 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11893 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11894 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11895 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11978 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +11979 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +11980 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +11981 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +11982 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +11983 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +11984 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +11985 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +11986 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +11987 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +11988 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +11989 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +11990 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +11991 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +11992 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +11993 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +12076 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12077 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12078 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12079 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12080 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12081 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12082 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12083 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12084 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12085 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12086 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12087 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12088 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12089 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12090 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12091 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12174 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12175 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12176 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12177 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12178 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12179 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12180 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12181 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12182 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12183 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12184 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12185 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12186 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12187 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12188 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12189 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12272 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12273 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12274 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12275 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12276 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12277 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12278 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12279 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12280 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12281 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12282 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12283 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12284 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12285 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12286 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12287 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12370 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12371 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12372 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12373 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12374 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12375 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12376 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12377 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12378 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12379 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12380 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12381 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12382 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12383 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12384 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12385 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +11602 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11604 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11606 1 1.0063722103956405e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11608 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11610 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11612 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11614 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11616 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11618 1 1.0063722103956405e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11700 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11701 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11702 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11703 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11704 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11705 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11706 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11707 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11708 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11709 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11710 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11711 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11712 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11713 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11714 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11715 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11716 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11798 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11799 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11800 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11801 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11802 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11803 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11804 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11805 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11806 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11807 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11808 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11809 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11810 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11811 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11812 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11813 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11814 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11896 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11897 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11898 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11899 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11900 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11901 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11902 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11903 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11904 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11905 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11906 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11907 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11908 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11909 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11910 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11911 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11912 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11994 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +11995 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +11996 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +11997 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +11998 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +11999 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +12000 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +12001 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +12002 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +12003 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +12004 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +12005 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +12006 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +12007 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +12008 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +12009 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +12010 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +12092 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12093 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12094 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12095 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12096 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12097 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12098 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12099 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12100 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12101 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12102 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12103 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12104 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12105 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12106 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12107 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12108 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12190 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12191 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12192 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12193 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12194 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12195 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12196 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12197 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12198 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12199 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12200 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12201 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12202 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12203 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12204 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12205 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12206 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12288 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12289 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12290 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12291 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12292 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12293 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12294 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12295 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12296 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12297 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12298 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12299 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12300 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12301 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12302 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12303 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12304 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12386 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12387 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12388 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12389 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12390 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12391 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12392 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12393 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12394 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12395 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12396 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12397 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12398 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12399 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12400 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12401 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12402 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +11620 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11622 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11624 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11626 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11628 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11630 1 1.0063722103956403e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11632 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11634 1 9.7257311157309277e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.1699999999999999e+00 0.0000000000000000e+00 0 0 0 +11717 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11718 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11719 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11720 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11721 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11722 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11723 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11724 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11725 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11726 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11727 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11728 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11729 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11730 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11731 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11732 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.1899999999999999e+00 0.0000000000000000e+00 0 0 0 +11733 1 7.1371621756056538e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.1799999999999999e+00 0.0000000000000000e+00 0 0 0 +11815 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11816 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11817 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11818 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11819 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11820 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11821 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11822 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11823 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11824 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11825 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11826 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11827 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11828 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11829 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11830 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.2100000000000000e+00 0.0000000000000000e+00 0 0 0 +11831 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e+00 0.0000000000000000e+00 0 0 0 +11913 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11914 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11915 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11916 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11917 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11918 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11919 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11920 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11921 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11922 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11923 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11924 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11925 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11926 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11927 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +11928 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.2300000000000000e+00 0.0000000000000000e+00 0 0 0 +11929 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.2200000000000000e+00 0.0000000000000000e+00 0 0 0 +12011 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +12012 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +12013 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +12014 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +12015 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +12016 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +12017 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +12018 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +12019 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +12020 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +12021 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +12022 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +12023 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +12024 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +12025 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +12026 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.2500000000000000e+00 0.0000000000000000e+00 0 0 0 +12027 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.2400000000000000e+00 0.0000000000000000e+00 0 0 0 +12109 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12110 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12111 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12112 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12113 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12114 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12115 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12116 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12117 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12118 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12119 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12120 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12121 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12122 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12123 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12124 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.2700000000000000e+00 0.0000000000000000e+00 0 0 0 +12125 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.2600000000000000e+00 0.0000000000000000e+00 0 0 0 +12207 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12208 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12209 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12210 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12211 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12212 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12213 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12214 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12215 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12216 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12217 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12218 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12219 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12220 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12221 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12222 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.2900000000000000e+00 0.0000000000000000e+00 0 0 0 +12223 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.2800000000000000e+00 0.0000000000000000e+00 0 0 0 +12305 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12306 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12307 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12308 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12309 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12310 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12311 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12312 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12313 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12314 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12315 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12316 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12317 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12318 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12319 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12320 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.3100000000000001e+00 0.0000000000000000e+00 0 0 0 +12321 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e+00 0.0000000000000000e+00 0 0 0 +12403 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12404 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12405 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12406 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12407 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12408 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12409 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12410 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12411 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12412 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12413 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12414 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12415 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12416 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12417 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +12418 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.3300000000000001e+00 0.0000000000000000e+00 0 0 0 +12419 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.3200000000000001e+00 0.0000000000000000e+00 0 0 0 +704 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.3364318164425748e+00 0.0000000000000000e+00 0 0 0 +706 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.3435028842544403e+00 0.0000000000000000e+00 0 0 0 +707 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.3505739520663058e+00 0.0000000000000000e+00 0 0 0 +708 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.3435028842544403e+00 0.0000000000000000e+00 0 0 0 +709 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.3576450198781713e+00 0.0000000000000000e+00 0 0 0 +710 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.3647160876900368e+00 0.0000000000000000e+00 0 0 0 +711 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.3576450198781713e+00 0.0000000000000000e+00 0 0 0 +712 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.3717871555019021e+00 0.0000000000000000e+00 0 0 0 +713 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.3788582233137676e+00 0.0000000000000000e+00 0 0 0 +714 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.3717871555019021e+00 0.0000000000000000e+00 0 0 0 +715 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.3859292911256331e+00 0.0000000000000000e+00 0 0 0 +716 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.3930003589374986e+00 0.0000000000000000e+00 0 0 0 +717 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.3859292911256331e+00 0.0000000000000000e+00 0 0 0 +718 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.4000714267493641e+00 0.0000000000000000e+00 0 0 0 +719 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.4071424945612296e+00 0.0000000000000000e+00 0 0 0 +720 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.4000714267493641e+00 0.0000000000000000e+00 0 0 0 +721 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.4142135623730951e+00 0.0000000000000000e+00 0 0 0 +722 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.4212846301849607e+00 0.0000000000000000e+00 0 0 0 +723 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.4142135623730951e+00 0.0000000000000000e+00 0 0 0 +724 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.4283556979968259e+00 0.0000000000000000e+00 0 0 0 +725 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.4354267658086914e+00 0.0000000000000000e+00 0 0 0 +726 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.4283556979968259e+00 0.0000000000000000e+00 0 0 0 +727 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.4424978336205569e+00 0.0000000000000000e+00 0 0 0 +728 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.4495689014324225e+00 0.0000000000000000e+00 0 0 0 +729 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.4424978336205569e+00 0.0000000000000000e+00 0 0 0 +730 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.4566399692442880e+00 0.0000000000000000e+00 0 0 0 +731 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.4637110370561535e+00 0.0000000000000000e+00 0 0 0 +732 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.4566399692442880e+00 0.0000000000000000e+00 0 0 0 +733 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.4707821048680190e+00 0.0000000000000000e+00 0 0 0 +734 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.4778531726798843e+00 0.0000000000000000e+00 0 0 0 +735 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.4707821048680190e+00 0.0000000000000000e+00 0 0 0 +736 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.4849242404917498e+00 0.0000000000000000e+00 0 0 0 +737 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.4919953083036153e+00 0.0000000000000000e+00 0 0 0 +738 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.4849242404917498e+00 0.0000000000000000e+00 0 0 0 +739 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.4990663761154808e+00 0.0000000000000000e+00 0 0 0 +741 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.4990663761154808e+00 0.0000000000000000e+00 0 0 0 +12420 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12421 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12422 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12423 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12424 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12425 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12426 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12427 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12428 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12429 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12430 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12431 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12432 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12433 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12518 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12519 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12520 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12521 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12522 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12523 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12524 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12525 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12526 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12527 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12528 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12529 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12530 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12531 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12616 1 7.1371621756056800e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12617 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12618 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12619 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12620 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12621 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12622 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12623 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12624 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12625 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12626 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12627 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12628 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12629 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12714 1 7.1371621756057129e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12715 1 9.7257311157309994e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12716 1 1.0063722103956435e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12717 1 1.0063722103956434e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12718 1 1.0063722103956435e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12719 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12720 1 1.0063722103956435e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12721 1 1.0063722103956434e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12722 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12723 1 1.0063722103956432e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12724 1 1.0063722103956430e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12725 1 1.0063722103956438e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12726 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12727 1 1.0063722103956432e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12812 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12813 1 9.7257311157309334e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12814 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12815 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12816 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12817 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12818 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12819 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12820 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12821 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12822 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12823 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12824 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12825 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12910 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12911 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12912 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12913 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12914 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12915 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12916 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12917 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12918 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12919 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12920 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12921 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12922 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12923 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +13008 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13009 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13010 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13011 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13012 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13013 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13014 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13015 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13016 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13017 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13018 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13019 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13020 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13021 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13106 1 7.1371621756056550e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13107 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13108 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13109 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13110 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13111 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13112 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13113 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13114 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13115 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13116 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13117 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13118 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13119 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13205 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13207 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13209 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13211 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13213 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13215 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13217 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +12434 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12435 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12436 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12437 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12438 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12439 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12440 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12441 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12442 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12443 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12444 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12445 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12446 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12447 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12448 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12449 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12450 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12532 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12533 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12534 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12535 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12536 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12537 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12538 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12539 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12540 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12541 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12542 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12543 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12544 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12545 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12546 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12547 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12548 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12630 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12631 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12632 1 1.0063722103956366e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12633 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12634 1 1.0063722103956372e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12635 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12636 1 1.0063722103956372e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12637 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12638 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12639 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12640 1 1.0063722103956368e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12641 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12642 1 1.0063722103956384e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12643 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12644 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12645 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12646 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12728 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12729 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12730 1 1.0063722103956433e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12731 1 1.0063722103956438e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12732 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12733 1 1.0063722103956433e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12734 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12735 1 1.0063722103956436e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12736 1 1.0063722103956430e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12737 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12738 1 1.0063722103956433e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12739 1 1.0063722103956449e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12740 1 1.0063722103956446e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12741 1 1.0063722103956433e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12742 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12743 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12744 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12826 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12827 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12828 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12829 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12830 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12831 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12832 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12833 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12834 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12835 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12836 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12837 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12838 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12839 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12840 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12841 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12842 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12924 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12925 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12926 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12927 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12928 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12929 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12930 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12931 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12932 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12933 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12934 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12935 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12936 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12937 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12938 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12939 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12940 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +13022 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13023 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13024 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13025 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13026 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13027 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13028 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13029 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13030 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13031 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13032 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13033 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13034 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13035 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13036 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13037 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13038 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13120 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13121 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13122 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13123 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13124 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13125 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13126 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13127 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13128 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13129 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13130 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13131 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13132 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13133 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13134 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13135 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13136 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13219 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13221 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13223 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13225 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13227 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13229 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13231 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13233 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +12451 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12452 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12453 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12454 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12455 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12456 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12457 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12458 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12459 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12460 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12461 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12462 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12463 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12464 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12465 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12466 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12467 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12549 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12550 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12551 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12552 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12553 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12554 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12555 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12556 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12557 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12558 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12559 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12560 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12561 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12562 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12563 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12564 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12565 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12647 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12648 1 1.0063722103956384e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12649 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12650 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12651 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12652 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12653 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12654 1 1.0063722103956384e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12655 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12656 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12657 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12658 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12659 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12660 1 1.0063722103956384e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12661 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12662 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12663 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12745 1 1.0063722103956434e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12746 1 1.0063722103956447e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12747 1 1.0063722103956449e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12748 1 1.0063722103956433e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12749 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12750 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12751 1 1.0063722103956435e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12752 1 1.0063722103956447e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12753 1 1.0063722103956449e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12754 1 1.0063722103956433e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12755 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12756 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12757 1 1.0063722103956435e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12758 1 1.0063722103956447e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12759 1 1.0063722103956449e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12760 1 1.0063722103956433e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12761 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12843 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12844 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12845 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12846 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12847 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12848 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12849 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12850 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12851 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12852 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12853 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12854 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12855 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12856 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12857 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12858 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12859 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12941 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12942 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12943 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12944 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12945 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12946 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12947 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12948 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12949 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12950 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12951 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12952 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12953 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12954 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12955 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12956 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12957 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +13039 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13040 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13041 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13042 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13043 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13044 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13045 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13046 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13047 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13048 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13049 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13050 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13051 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13052 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13053 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13054 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13055 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13137 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13138 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13139 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13140 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13141 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13142 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13143 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13144 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13145 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13146 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13147 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13148 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13149 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13150 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13151 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13152 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13153 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13235 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13237 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13239 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13241 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13243 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13245 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13247 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13249 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13251 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +12468 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12469 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12470 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12471 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12472 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12473 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12474 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12475 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12476 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12477 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12478 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12479 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12480 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12481 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12482 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12483 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12566 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12567 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12568 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12569 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12570 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12571 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12572 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12573 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12574 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12575 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12576 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12577 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12578 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12579 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12580 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12581 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12664 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12665 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12666 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12667 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12668 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12669 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12670 1 1.0063722103956406e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12671 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12672 1 1.0063722103956374e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12673 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12674 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12675 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12676 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12677 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12678 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12679 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12762 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12763 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12764 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12765 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12766 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12767 1 1.0063722103956441e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12768 1 1.0063722103956471e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12769 1 1.0063722103956471e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12770 1 1.0063722103956439e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12771 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12772 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12773 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12774 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12775 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12776 1 1.0063722103956428e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12777 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12860 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12861 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12862 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12863 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12864 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12865 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12866 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12867 1 1.0063722103956403e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12868 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12869 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12870 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12871 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12872 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12873 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12874 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12875 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12958 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12959 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12960 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12961 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12962 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12963 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12964 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12965 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12966 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12967 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12968 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12969 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12970 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12971 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12972 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12973 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +13056 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13057 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13058 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13059 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13060 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13061 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13062 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13063 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13064 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13065 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13066 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13067 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13068 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13069 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13070 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13071 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13154 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13155 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13156 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13157 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13158 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13159 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13160 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13161 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13162 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13163 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13164 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13165 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13166 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13167 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13168 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13169 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13253 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13255 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13257 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13259 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13261 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13263 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13265 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13267 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +12484 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12485 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12486 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12487 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12488 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12489 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12490 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12491 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12492 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12493 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12494 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12495 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12496 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12497 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12498 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12499 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12500 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12582 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12583 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12584 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12585 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12586 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12587 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12588 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12589 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12590 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12591 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12592 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12593 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12594 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12595 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12596 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12597 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12598 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12680 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12681 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12682 1 1.0063722103956374e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12683 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12684 1 1.0063722103956405e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12685 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12686 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12687 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12688 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12689 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12690 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12691 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12692 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12693 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12694 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12695 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12696 1 1.0063722103956406e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12778 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12779 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12780 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12781 1 1.0063722103956472e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12782 1 1.0063722103956471e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12783 1 1.0063722103956439e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12784 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12785 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12786 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12787 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12788 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12789 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12790 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12791 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12792 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12793 1 1.0063722103956439e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12794 1 1.0063722103956474e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12876 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12877 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12878 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12879 1 1.0063722103956403e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12880 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12881 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12882 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12883 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12884 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12885 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12886 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12887 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12888 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12889 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12890 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12891 1 1.0063722103956372e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12892 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12974 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12975 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12976 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12977 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12978 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12979 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12980 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12981 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12982 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12983 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12984 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12985 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12986 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12987 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12988 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12989 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12990 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +13072 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13073 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13074 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13075 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13076 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13077 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13078 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13079 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13080 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13081 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13082 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13083 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13084 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13085 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13086 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13087 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13088 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13170 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13171 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13172 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13173 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13174 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13175 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13176 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13177 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13178 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13179 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13180 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13181 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13182 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13183 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13184 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13185 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13186 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13269 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13271 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13273 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13275 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13277 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13279 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13281 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13283 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +12501 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12502 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12503 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12504 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12505 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12506 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12507 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12508 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12509 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12510 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12511 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12512 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12513 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12514 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12515 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12516 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.3500000000000001e+00 0.0000000000000000e+00 0 0 0 +12517 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.3400000000000001e+00 0.0000000000000000e+00 0 0 0 +12599 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12600 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12601 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12602 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12603 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12604 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12605 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12606 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12607 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12608 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12609 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12610 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12611 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12612 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12613 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12614 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.3700000000000001e+00 0.0000000000000000e+00 0 0 0 +12615 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.3600000000000001e+00 0.0000000000000000e+00 0 0 0 +12697 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12698 1 1.0063722103956374e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12699 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12700 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12701 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12702 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12703 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12704 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12705 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12706 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12707 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12708 1 1.0063722103956406e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12709 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12710 1 1.0063722103956374e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12711 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12712 1 9.7257311157309277e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.3900000000000001e+00 0.0000000000000000e+00 0 0 0 +12713 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.3800000000000001e+00 0.0000000000000000e+00 0 0 0 +12795 1 1.0063722103956471e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12796 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12797 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12798 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12799 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12800 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12801 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12802 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12803 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12804 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12805 1 1.0063722103956441e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12806 1 1.0063722103956471e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12807 1 1.0063722103956471e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12808 1 1.0063722103956439e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12809 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12810 1 9.7257311157309960e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.4099999999999999e+00 0.0000000000000000e+00 0 0 0 +12811 1 7.1371621756057095e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e+00 0.0000000000000000e+00 0 0 0 +12893 1 1.0063722103956403e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12894 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12895 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12896 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12897 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12898 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12899 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12900 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12901 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12902 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12903 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12904 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12905 1 1.0063722103956403e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12906 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12907 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12908 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.4299999999999999e+00 0.0000000000000000e+00 0 0 0 +12909 1 7.1371621756056766e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.4199999999999999e+00 0.0000000000000000e+00 0 0 0 +12991 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12992 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12993 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12994 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12995 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12996 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12997 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +12998 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +12999 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +13000 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +13001 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +13002 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +13003 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +13004 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +13005 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +13006 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.4500000000000000e+00 0.0000000000000000e+00 0 0 0 +13007 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.4399999999999999e+00 0.0000000000000000e+00 0 0 0 +13089 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13090 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13091 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13092 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13093 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13094 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13095 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13096 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13097 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13098 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13099 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13100 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13101 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13102 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13103 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13104 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.4700000000000000e+00 0.0000000000000000e+00 0 0 0 +13105 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.4600000000000000e+00 0.0000000000000000e+00 0 0 0 +13187 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13188 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13189 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13190 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13191 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13192 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13193 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13194 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13195 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13196 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13197 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13198 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13199 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13200 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13201 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13202 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.4900000000000000e+00 0.0000000000000000e+00 0 0 0 +13203 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.4800000000000000e+00 0.0000000000000000e+00 0 0 0 +13285 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13287 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13289 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13291 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13293 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13295 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13297 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13299 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +13301 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.5000000000000000e+00 0.0000000000000000e+00 0 0 0 +740 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.5061374439273463e+00 0.0000000000000000e+00 0 0 0 +742 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.5132085117392118e+00 0.0000000000000000e+00 0 0 0 +743 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.5202795795510773e+00 0.0000000000000000e+00 0 0 0 +744 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.5132085117392118e+00 0.0000000000000000e+00 0 0 0 +745 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.5273506473629426e+00 0.0000000000000000e+00 0 0 0 +746 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.5344217151748081e+00 0.0000000000000000e+00 0 0 0 +747 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.5273506473629426e+00 0.0000000000000000e+00 0 0 0 +748 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.5414927829866736e+00 0.0000000000000000e+00 0 0 0 +749 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.5485638507985391e+00 0.0000000000000000e+00 0 0 0 +750 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.5414927829866736e+00 0.0000000000000000e+00 0 0 0 +751 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.5556349186104046e+00 0.0000000000000000e+00 0 0 0 +752 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.5627059864222701e+00 0.0000000000000000e+00 0 0 0 +753 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.5556349186104046e+00 0.0000000000000000e+00 0 0 0 +754 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.5697770542341356e+00 0.0000000000000000e+00 0 0 0 +755 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.5768481220460011e+00 0.0000000000000000e+00 0 0 0 +756 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.5697770542341356e+00 0.0000000000000000e+00 0 0 0 +757 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.5839191898578664e+00 0.0000000000000000e+00 0 0 0 +758 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.5909902576697319e+00 0.0000000000000000e+00 0 0 0 +759 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.5839191898578664e+00 0.0000000000000000e+00 0 0 0 +760 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.5980613254815974e+00 0.0000000000000000e+00 0 0 0 +761 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.6051323932934629e+00 0.0000000000000000e+00 0 0 0 +762 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.5980613254815974e+00 0.0000000000000000e+00 0 0 0 +763 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.6122034611053284e+00 0.0000000000000000e+00 0 0 0 +764 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.6192745289171939e+00 0.0000000000000000e+00 0 0 0 +765 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.6122034611053284e+00 0.0000000000000000e+00 0 0 0 +766 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.6263455967290594e+00 0.0000000000000000e+00 0 0 0 +767 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.6334166645409247e+00 0.0000000000000000e+00 0 0 0 +768 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.6263455967290594e+00 0.0000000000000000e+00 0 0 0 +769 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.6404877323527902e+00 0.0000000000000000e+00 0 0 0 +770 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.6475588001646557e+00 0.0000000000000000e+00 0 0 0 +771 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.6404877323527902e+00 0.0000000000000000e+00 0 0 0 +772 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.6546298679765212e+00 0.0000000000000000e+00 0 0 0 +773 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.6617009357883867e+00 0.0000000000000000e+00 0 0 0 +774 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.6546298679765212e+00 0.0000000000000000e+00 0 0 0 +13204 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13206 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13208 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13210 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13212 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13214 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13216 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13302 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13303 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13304 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13305 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13306 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13307 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13308 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13309 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13310 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13311 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13312 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13313 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13314 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13315 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13400 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13401 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13402 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13403 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13404 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13405 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13406 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13407 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13408 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13409 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13410 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13411 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13412 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13413 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13498 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13499 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13500 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13501 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13502 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13503 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13504 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13505 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13506 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13507 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13508 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13509 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13510 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13511 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13596 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13597 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13598 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13599 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13600 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13601 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13602 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13603 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13604 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13605 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13606 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13607 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13608 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13609 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13694 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13695 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13696 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13697 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13698 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13699 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13700 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13701 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13702 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13703 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13704 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13705 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13706 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13707 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13792 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13793 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13794 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13795 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13796 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13797 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13798 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13799 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13800 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13801 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13802 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13803 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13804 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13805 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13890 1 7.1371621756056800e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13891 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13892 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13893 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13894 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13895 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13896 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13897 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13898 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13899 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13900 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13901 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13902 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13903 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13989 1 9.7257311157309994e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +13991 1 1.0063722103956434e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +13993 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +13995 1 1.0063722103956435e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +13997 1 1.0063722103956432e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +13999 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14001 1 1.0063722103956430e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +13218 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13220 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13222 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13224 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13226 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13228 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13230 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13232 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13234 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13316 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13317 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13318 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13319 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13320 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13321 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13322 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13323 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13324 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13325 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13326 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13327 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13328 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13329 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13330 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13331 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13332 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13414 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13415 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13416 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13417 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13418 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13419 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13420 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13421 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13422 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13423 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13424 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13425 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13426 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13427 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13428 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13429 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13430 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13512 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13513 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13514 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13515 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13516 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13517 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13518 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13519 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13520 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13521 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13522 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13523 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13524 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13525 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13526 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13527 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13528 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13610 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13611 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13612 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13613 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13614 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13615 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13616 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13617 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13618 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13619 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13620 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13621 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13622 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13623 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13624 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13625 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13626 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13708 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13709 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13710 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13711 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13712 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13713 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13714 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13715 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13716 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13717 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13718 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13719 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13720 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13721 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13722 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13723 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13724 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13806 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13807 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13808 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13809 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13810 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13811 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13812 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13813 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13814 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13815 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13816 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13817 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13818 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13819 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13820 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13821 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13822 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13904 1 1.0063722103956372e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13905 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13906 1 1.0063722103956366e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13907 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13908 1 1.0063722103956372e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13909 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13910 1 1.0063722103956372e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13911 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13912 1 1.0063722103956363e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13913 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13914 1 1.0063722103956368e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13915 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13916 1 1.0063722103956384e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13917 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13918 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13919 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13920 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +14003 1 1.0063722103956439e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14005 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14007 1 1.0063722103956432e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14009 1 1.0063722103956436e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14011 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14013 1 1.0063722103956449e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14015 1 1.0063722103956435e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14017 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +13236 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13238 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13240 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13242 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13244 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13246 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13248 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13250 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13333 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13334 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13335 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13336 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13337 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13338 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13339 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13340 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13341 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13342 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13343 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13344 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13345 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13346 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13347 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13348 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13349 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13431 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13432 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13433 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13434 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13435 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13436 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13437 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13438 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13439 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13440 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13441 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13442 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13443 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13444 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13445 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13446 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13447 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13529 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13530 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13531 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13532 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13533 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13534 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13535 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13536 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13537 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13538 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13539 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13540 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13541 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13542 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13543 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13544 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13545 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13627 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13628 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13629 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13630 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13631 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13632 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13633 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13634 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13635 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13636 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13637 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13638 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13639 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13640 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13641 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13642 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13643 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13725 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13726 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13727 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13728 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13729 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13730 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13731 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13732 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13733 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13734 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13735 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13736 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13737 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13738 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13739 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13740 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13741 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13823 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13824 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13825 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13826 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13827 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13828 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13829 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13830 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13831 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13832 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13833 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13834 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13835 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13836 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13837 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13838 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13839 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13921 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13922 1 1.0063722103956384e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13923 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13924 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13925 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13926 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13927 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13928 1 1.0063722103956384e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13929 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13930 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13931 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13932 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13933 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13934 1 1.0063722103956384e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13935 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13936 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13937 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +14019 1 1.0063722103956432e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14021 1 1.0063722103956451e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14023 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14025 1 1.0063722103956435e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14027 1 1.0063722103956451e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14029 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14031 1 1.0063722103956435e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14033 1 1.0063722103956451e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14035 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +13252 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13254 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13256 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13258 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13260 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13262 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13264 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13266 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13350 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13351 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13352 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13353 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13354 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13355 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13356 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13357 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13358 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13359 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13360 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13361 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13362 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13363 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13364 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13365 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13448 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13449 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13450 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13451 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13452 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13453 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13454 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13455 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13456 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13457 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13458 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13459 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13460 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13461 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13462 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13463 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13546 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13547 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13548 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13549 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13550 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13551 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13552 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13553 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13554 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13555 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13556 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13557 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13558 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13559 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13560 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13561 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13644 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13645 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13646 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13647 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13648 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13649 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13650 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13651 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13652 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13653 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13654 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13655 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13656 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13657 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13658 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13659 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13742 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13743 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13744 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13745 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13746 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13747 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13748 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13749 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13750 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13751 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13752 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13753 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13754 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13755 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13756 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13757 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13840 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13841 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13842 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13843 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13844 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13845 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13846 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13847 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13848 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13849 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13850 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13851 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13852 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13853 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13854 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13855 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13938 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13939 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13940 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13941 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13942 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13943 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13944 1 1.0063722103956408e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13945 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13946 1 1.0063722103956374e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13947 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13948 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13949 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13950 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13951 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13952 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13953 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +14037 1 1.0063722103956428e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14039 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14041 1 1.0063722103956439e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14043 1 1.0063722103956474e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14045 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14047 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14049 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14051 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +13268 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13270 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13272 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13274 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13276 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13278 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13280 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13282 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13284 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13366 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13367 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13368 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13369 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13370 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13371 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13372 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13373 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13374 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13375 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13376 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13377 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13378 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13379 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13380 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13381 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13382 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13464 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13465 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13466 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13467 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13468 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13469 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13470 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13471 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13472 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13473 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13474 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13475 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13476 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13477 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13478 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13479 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13480 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13562 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13563 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13564 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13565 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13566 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13567 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13568 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13569 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13570 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13571 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13572 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13573 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13574 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13575 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13576 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13577 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13578 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13660 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13661 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13662 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13663 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13664 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13665 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13666 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13667 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13668 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13669 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13670 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13671 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13672 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13673 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13674 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13675 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13676 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13758 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13759 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13760 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13761 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13762 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13763 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13764 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13765 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13766 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13767 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13768 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13769 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13770 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13771 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13772 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13773 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13774 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13856 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13857 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13858 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13859 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13860 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13861 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13862 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13863 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13864 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13865 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13866 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13867 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13868 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13869 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13870 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13871 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13872 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13954 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13955 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13956 1 1.0063722103956374e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13957 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13958 1 1.0063722103956405e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13959 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13960 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13961 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13962 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13963 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13964 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13965 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13966 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13967 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13968 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13969 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13970 1 1.0063722103956405e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +14053 1 1.0063722103956428e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14055 1 1.0063722103956471e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14057 1 1.0063722103956439e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14059 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14061 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14063 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14065 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14067 1 1.0063722103956439e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +13286 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13288 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13290 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13292 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13294 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13296 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13298 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13300 1 9.7257311157309050e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.5100000000000000e+00 0.0000000000000000e+00 0 0 0 +13383 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13384 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13385 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13386 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13387 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13388 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13389 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13390 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13391 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13392 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13393 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13394 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13395 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13396 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13397 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13398 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.5300000000000000e+00 0.0000000000000000e+00 0 0 0 +13399 1 7.1371621756056538e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.5200000000000000e+00 0.0000000000000000e+00 0 0 0 +13481 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13482 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13483 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13484 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13485 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13486 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13487 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13488 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13489 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13490 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13491 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13492 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13493 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13494 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13495 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13496 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.5500000000000000e+00 0.0000000000000000e+00 0 0 0 +13497 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.5400000000000000e+00 0.0000000000000000e+00 0 0 0 +13579 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13580 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13581 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13582 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13583 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13584 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13585 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13586 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13587 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13588 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13589 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13590 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13591 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13592 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13593 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13594 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.5700000000000001e+00 0.0000000000000000e+00 0 0 0 +13595 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.5600000000000001e+00 0.0000000000000000e+00 0 0 0 +13677 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13678 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13679 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13680 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13681 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13682 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13683 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13684 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13685 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13686 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13687 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13688 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13689 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13690 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13691 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13692 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.5900000000000001e+00 0.0000000000000000e+00 0 0 0 +13693 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.5800000000000001e+00 0.0000000000000000e+00 0 0 0 +13775 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13776 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13777 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13778 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13779 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13780 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13781 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13782 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13783 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13784 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13785 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13786 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13787 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13788 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13789 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13790 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.6100000000000001e+00 0.0000000000000000e+00 0 0 0 +13791 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000001e+00 0.0000000000000000e+00 0 0 0 +13873 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13874 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13875 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13876 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13877 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13878 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13879 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13880 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13881 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13882 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13883 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13884 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13885 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13886 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13887 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13888 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.6300000000000001e+00 0.0000000000000000e+00 0 0 0 +13889 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.6200000000000001e+00 0.0000000000000000e+00 0 0 0 +13971 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13972 1 1.0063722103956374e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13973 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13974 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13975 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13976 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13977 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13978 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13979 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13980 1 1.0063722103956361e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13981 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13982 1 1.0063722103956408e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13983 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13984 1 1.0063722103956374e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13985 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +13986 1 9.7257311157309277e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.6500000000000001e+00 0.0000000000000000e+00 0 0 0 +13987 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.6400000000000001e+00 0.0000000000000000e+00 0 0 0 +14069 1 1.0063722103956474e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14071 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14073 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14075 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14077 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14079 1 1.0063722103956439e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14081 1 1.0063722103956474e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14083 1 1.0063722103956427e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +14085 1 7.1371621756057095e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.6600000000000001e+00 0.0000000000000000e+00 0 0 0 +775 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.6687720036002522e+00 0.0000000000000000e+00 0 0 0 +776 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.6758430714121177e+00 0.0000000000000000e+00 0 0 0 +777 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.6687720036002522e+00 0.0000000000000000e+00 0 0 0 +778 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.6829141392239830e+00 0.0000000000000000e+00 0 0 0 +779 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.6899852070358485e+00 0.0000000000000000e+00 0 0 0 +780 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.6829141392239830e+00 0.0000000000000000e+00 0 0 0 +781 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.6970562748477140e+00 0.0000000000000000e+00 0 0 0 +782 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.7041273426595795e+00 0.0000000000000000e+00 0 0 0 +783 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.6970562748477140e+00 0.0000000000000000e+00 0 0 0 +784 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.7111984104714451e+00 0.0000000000000000e+00 0 0 0 +785 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.7182694782833106e+00 0.0000000000000000e+00 0 0 0 +786 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.7111984104714451e+00 0.0000000000000000e+00 0 0 0 +787 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.7253405460951761e+00 0.0000000000000000e+00 0 0 0 +788 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.7324116139070416e+00 0.0000000000000000e+00 0 0 0 +789 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.7253405460951761e+00 0.0000000000000000e+00 0 0 0 +790 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.7394826817189069e+00 0.0000000000000000e+00 0 0 0 +791 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.7465537495307724e+00 0.0000000000000000e+00 0 0 0 +792 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.7394826817189069e+00 0.0000000000000000e+00 0 0 0 +793 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.7536248173426379e+00 0.0000000000000000e+00 0 0 0 +794 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.7606958851545034e+00 0.0000000000000000e+00 0 0 0 +795 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.7536248173426379e+00 0.0000000000000000e+00 0 0 0 +796 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.7677669529663689e+00 0.0000000000000000e+00 0 0 0 +797 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.7748380207782344e+00 0.0000000000000000e+00 0 0 0 +798 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.7677669529663689e+00 0.0000000000000000e+00 0 0 0 +799 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.7819090885900999e+00 0.0000000000000000e+00 0 0 0 +800 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.7889801564019652e+00 0.0000000000000000e+00 0 0 0 +801 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.7819090885900999e+00 0.0000000000000000e+00 0 0 0 +802 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.7960512242138307e+00 0.0000000000000000e+00 0 0 0 +803 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.8031222920256962e+00 0.0000000000000000e+00 0 0 0 +804 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.7960512242138307e+00 0.0000000000000000e+00 0 0 0 +805 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.8101933598375617e+00 0.0000000000000000e+00 0 0 0 +806 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.8172644276494272e+00 0.0000000000000000e+00 0 0 0 +807 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.8101933598375617e+00 0.0000000000000000e+00 0 0 0 +808 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.8243354954612927e+00 0.0000000000000000e+00 0 0 0 +809 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.8314065632731582e+00 0.0000000000000000e+00 0 0 0 +810 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.8243354954612927e+00 0.0000000000000000e+00 0 0 0 +13988 1 7.1371621756057129e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +13990 1 1.0063722103956435e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +13992 1 1.0063722103956435e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +13994 1 1.0063722103956435e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +13996 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +13998 1 1.0063722103956430e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14000 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14086 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14087 1 9.7257311157309334e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14088 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14089 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14090 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14091 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14092 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14093 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14094 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14095 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14096 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14097 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14098 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14099 1 1.0063722103956366e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14184 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14185 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14186 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14187 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14188 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14189 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14190 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14191 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14192 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14193 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14194 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14195 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14196 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14197 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14282 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14283 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14284 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14285 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14286 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14287 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14288 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14289 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14290 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14291 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14292 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14293 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14294 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14295 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14380 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14381 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14382 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14383 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14384 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14385 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14386 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14387 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14388 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14389 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14390 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14391 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14392 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14393 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14478 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14479 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14480 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14481 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14482 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14483 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14484 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14485 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14486 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14487 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14488 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14489 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14490 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14491 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14576 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14577 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14578 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14579 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14580 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14581 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14582 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14583 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14584 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14585 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14586 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14587 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14588 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14589 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14674 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14675 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14676 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14677 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14678 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14679 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14680 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14681 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14682 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14683 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14684 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14685 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14686 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14687 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14772 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14773 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14774 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14775 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14776 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14777 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14778 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14779 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14780 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14781 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14782 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14783 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14784 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14785 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14002 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14004 1 1.0063722103956433e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14006 1 1.0063722103956439e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14008 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14010 1 1.0063722103956430e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14012 1 1.0063722103956433e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14014 1 1.0063722103956446e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14016 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14018 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14100 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14101 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14102 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14103 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14104 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14105 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14106 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14107 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14108 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14109 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14110 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14111 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14112 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14113 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14114 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14115 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14116 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14198 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14199 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14200 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14201 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14202 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14203 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14204 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14205 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14206 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14207 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14208 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14209 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14210 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14211 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14212 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14213 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14214 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14296 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14297 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14298 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14299 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14300 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14301 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14302 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14303 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14304 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14305 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14306 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14307 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14308 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14309 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14310 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14311 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14312 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14394 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14395 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14396 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14397 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14398 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14399 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14400 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14401 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14402 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14403 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14404 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14405 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14406 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14407 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14408 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14409 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14410 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14492 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14493 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14494 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14495 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14496 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14497 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14498 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14499 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14500 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14501 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14502 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14503 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14504 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14505 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14506 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14507 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14508 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14590 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14591 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14592 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14593 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14594 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14595 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14596 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14597 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14598 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14599 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14600 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14601 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14602 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14603 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14604 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14605 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14606 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14688 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14689 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14690 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14691 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14692 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14693 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14694 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14695 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14696 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14697 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14698 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14699 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14700 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14701 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14702 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14703 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14704 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14786 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14787 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14788 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14789 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14790 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14791 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14792 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14793 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14794 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14795 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14796 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14797 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14798 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14799 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14800 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14801 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14802 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14020 1 1.0063722103956447e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14022 1 1.0063722103956433e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14024 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14026 1 1.0063722103956447e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14028 1 1.0063722103956433e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14030 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14032 1 1.0063722103956447e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14034 1 1.0063722103956430e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14117 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14118 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14119 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14120 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14121 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14122 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14123 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14124 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14125 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14126 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14127 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14128 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14129 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14130 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14131 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14132 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14133 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14215 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14216 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14217 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14218 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14219 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14220 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14221 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14222 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14223 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14224 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14225 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14226 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14227 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14228 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14229 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14230 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14231 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14313 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14314 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14315 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14316 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14317 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14318 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14319 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14320 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14321 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14322 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14323 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14324 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14325 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14326 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14327 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14328 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14329 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14411 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14412 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14413 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14414 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14415 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14416 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14417 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14418 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14419 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14420 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14421 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14422 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14423 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14424 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14425 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14426 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14427 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14509 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14510 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14511 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14512 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14513 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14514 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14515 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14516 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14517 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14518 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14519 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14520 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14521 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14522 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14523 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14524 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14525 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14607 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14608 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14609 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14610 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14611 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14612 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14613 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14614 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14615 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14616 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14617 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14618 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14619 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14620 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14621 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14622 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14623 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14705 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14706 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14707 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14708 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14709 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14710 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14711 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14712 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14713 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14714 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14715 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14716 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14717 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14718 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14719 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14720 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14721 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14803 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14804 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14805 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14806 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14807 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14808 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14809 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14810 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14811 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14812 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14813 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14814 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14815 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14816 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14817 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14818 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14819 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14036 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14038 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14040 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14042 1 1.0063722103956469e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14044 1 1.0063722103956439e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14046 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14048 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14050 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14134 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14135 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14136 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14137 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14138 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14139 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14140 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14141 1 1.0063722103956405e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14142 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14143 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14144 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14145 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14146 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14147 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14148 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14149 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14232 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14233 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14234 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14235 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14236 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14237 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14238 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14239 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14240 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14241 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14242 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14243 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14244 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14245 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14246 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14247 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14330 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14331 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14332 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14333 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14334 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14335 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14336 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14337 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14338 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14339 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14340 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14341 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14342 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14343 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14344 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14345 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14428 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14429 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14430 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14431 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14432 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14433 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14434 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14435 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14436 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14437 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14438 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14439 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14440 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14441 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14442 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14443 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14526 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14527 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14528 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14529 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14530 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14531 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14532 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14533 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14534 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14535 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14536 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14537 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14538 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14539 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14540 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14541 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14624 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14625 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14626 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14627 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14628 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14629 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14630 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14631 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14632 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14633 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14634 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14635 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14636 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14637 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14638 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14639 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14722 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14723 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14724 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14725 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14726 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14727 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14728 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14729 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14730 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14731 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14732 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14733 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14734 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14735 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14736 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14737 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14820 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14821 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14822 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14823 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14824 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14825 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14826 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14827 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14828 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14829 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14830 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14831 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14832 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14833 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14834 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14835 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14052 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14054 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14056 1 1.0063722103956471e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14058 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14060 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14062 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14064 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14066 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14068 1 1.0063722103956474e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14150 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14151 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14152 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14153 1 1.0063722103956403e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14154 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14155 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14156 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14157 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14158 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14159 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14160 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14161 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14162 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14163 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14164 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14165 1 1.0063722103956372e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14166 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14248 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14249 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14250 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14251 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14252 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14253 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14254 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14255 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14256 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14257 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14258 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14259 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14260 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14261 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14262 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14263 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14264 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14346 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14347 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14348 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14349 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14350 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14351 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14352 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14353 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14354 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14355 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14356 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14357 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14358 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14359 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14360 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14361 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14362 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14444 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14445 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14446 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14447 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14448 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14449 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14450 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14451 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14452 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14453 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14454 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14455 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14456 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14457 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14458 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14459 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14460 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14542 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14543 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14544 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14545 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14546 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14547 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14548 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14549 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14550 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14551 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14552 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14553 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14554 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14555 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14556 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14557 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14558 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14640 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14641 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14642 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14643 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14644 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14645 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14646 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14647 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14648 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14649 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14650 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14651 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14652 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14653 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14654 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14655 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14656 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14738 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14739 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14740 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14741 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14742 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14743 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14744 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14745 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14746 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14747 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14748 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14749 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14750 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14751 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14752 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14753 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14754 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14836 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14837 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14838 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14839 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14840 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14841 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14842 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14843 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14844 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14845 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14846 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14847 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14848 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14849 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14850 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14851 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14852 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14070 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14072 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14074 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14076 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14078 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14080 1 1.0063722103956469e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14082 1 1.0063722103956439e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14084 1 9.7257311157309937e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.6699999999999999e+00 0.0000000000000000e+00 0 0 0 +14167 1 1.0063722103956405e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14168 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14169 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14170 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14171 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14172 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14173 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14174 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14175 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14176 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14177 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14178 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14179 1 1.0063722103956405e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14180 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14181 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14182 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.6899999999999999e+00 0.0000000000000000e+00 0 0 0 +14183 1 7.1371621756056766e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.6799999999999999e+00 0.0000000000000000e+00 0 0 0 +14265 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14266 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14267 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14268 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14269 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14270 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14271 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14272 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14273 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14274 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14275 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14276 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14277 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14278 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14279 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14280 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.7100000000000000e+00 0.0000000000000000e+00 0 0 0 +14281 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000000e+00 0.0000000000000000e+00 0 0 0 +14363 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14364 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14365 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14366 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14367 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14368 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14369 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14370 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14371 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14372 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14373 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14374 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14375 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14376 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14377 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14378 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.7300000000000000e+00 0.0000000000000000e+00 0 0 0 +14379 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.7200000000000000e+00 0.0000000000000000e+00 0 0 0 +14461 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14462 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14463 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14464 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14465 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14466 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14467 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14468 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14469 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14470 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14471 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14472 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14473 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14474 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14475 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14476 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.7500000000000000e+00 0.0000000000000000e+00 0 0 0 +14477 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.7400000000000000e+00 0.0000000000000000e+00 0 0 0 +14559 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14560 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14561 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14562 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14563 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14564 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14565 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14566 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14567 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14568 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14569 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14570 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14571 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14572 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14573 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14574 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.7700000000000000e+00 0.0000000000000000e+00 0 0 0 +14575 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.7600000000000000e+00 0.0000000000000000e+00 0 0 0 +14657 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14658 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14659 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14660 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14661 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14662 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14663 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14664 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14665 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14666 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14667 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14668 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14669 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14670 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14671 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14672 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.7900000000000000e+00 0.0000000000000000e+00 0 0 0 +14673 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.7800000000000000e+00 0.0000000000000000e+00 0 0 0 +14755 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14756 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14757 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14758 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14759 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14760 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14761 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14762 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14763 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14764 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14765 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14766 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14767 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14768 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14769 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14770 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.8100000000000001e+00 0.0000000000000000e+00 0 0 0 +14771 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.8000000000000000e+00 0.0000000000000000e+00 0 0 0 +14853 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14854 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14855 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14856 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14857 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14858 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14859 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14860 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14861 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14862 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14863 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14864 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14865 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14866 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14867 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +14868 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.8300000000000001e+00 0.0000000000000000e+00 0 0 0 +14869 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.8200000000000001e+00 0.0000000000000000e+00 0 0 0 +811 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.8384776310850235e+00 0.0000000000000000e+00 0 0 0 +812 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.8455486988968890e+00 0.0000000000000000e+00 0 0 0 +813 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.8384776310850235e+00 0.0000000000000000e+00 0 0 0 +814 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.8526197667087545e+00 0.0000000000000000e+00 0 0 0 +815 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.8596908345206200e+00 0.0000000000000000e+00 0 0 0 +816 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.8526197667087545e+00 0.0000000000000000e+00 0 0 0 +817 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.8667619023324855e+00 0.0000000000000000e+00 0 0 0 +818 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.8738329701443510e+00 0.0000000000000000e+00 0 0 0 +819 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.8667619023324855e+00 0.0000000000000000e+00 0 0 0 +820 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.8809040379562165e+00 0.0000000000000000e+00 0 0 0 +821 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.8879751057680818e+00 0.0000000000000000e+00 0 0 0 +822 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.8809040379562165e+00 0.0000000000000000e+00 0 0 0 +823 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.8950461735799473e+00 0.0000000000000000e+00 0 0 0 +824 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.9021172413918128e+00 0.0000000000000000e+00 0 0 0 +825 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.8950461735799473e+00 0.0000000000000000e+00 0 0 0 +826 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.9091883092036783e+00 0.0000000000000000e+00 0 0 0 +827 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.9162593770155438e+00 0.0000000000000000e+00 0 0 0 +828 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.9091883092036783e+00 0.0000000000000000e+00 0 0 0 +829 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.9233304448274093e+00 0.0000000000000000e+00 0 0 0 +830 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.9304015126392748e+00 0.0000000000000000e+00 0 0 0 +831 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.9233304448274093e+00 0.0000000000000000e+00 0 0 0 +832 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.9374725804511403e+00 0.0000000000000000e+00 0 0 0 +833 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.9445436482630056e+00 0.0000000000000000e+00 0 0 0 +834 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.9374725804511403e+00 0.0000000000000000e+00 0 0 0 +835 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.9516147160748711e+00 0.0000000000000000e+00 0 0 0 +836 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.9586857838867366e+00 0.0000000000000000e+00 0 0 0 +837 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.9516147160748711e+00 0.0000000000000000e+00 0 0 0 +838 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.9657568516986021e+00 0.0000000000000000e+00 0 0 0 +839 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.9728279195104677e+00 0.0000000000000000e+00 0 0 0 +840 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.9657568516986021e+00 0.0000000000000000e+00 0 0 0 +841 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.9798989873223332e+00 0.0000000000000000e+00 0 0 0 +842 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 1.9869700551341987e+00 0.0000000000000000e+00 0 0 0 +843 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.9798989873223332e+00 0.0000000000000000e+00 0 0 0 +844 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.9940411229460639e+00 0.0000000000000000e+00 0 0 0 +846 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 1.9940411229460639e+00 0.0000000000000000e+00 0 0 0 +14870 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14871 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14872 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14873 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14874 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14875 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14876 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14877 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14878 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14879 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14880 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14881 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14882 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14883 1 1.0063722103956341e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14968 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +14969 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +14970 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +14971 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +14972 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +14973 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +14974 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +14975 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +14976 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +14977 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +14978 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +14979 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +14980 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +14981 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +15066 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15067 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15068 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15069 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15070 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15071 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15072 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15073 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15074 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15075 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15076 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15077 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15078 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15079 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15164 1 7.1371621756057129e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15165 1 9.7257311157309334e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15166 1 1.0063722103956435e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15167 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15168 1 1.0063722103956436e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15169 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15170 1 1.0063722103956435e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15171 1 1.0063722103956368e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15172 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15173 1 1.0063722103956366e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15174 1 1.0063722103956433e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15175 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15176 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15177 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15262 1 7.1371621756056788e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15263 1 9.7257311157309994e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15264 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15265 1 1.0063722103956433e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15266 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15267 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15268 1 1.0063722103956369e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15269 1 1.0063722103956435e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15270 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15271 1 1.0063722103956433e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15272 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15273 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15274 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15275 1 1.0063722103956433e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15360 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15361 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15362 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15363 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15364 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15365 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15366 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15367 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15368 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15369 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15370 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15371 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15372 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15373 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15458 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15459 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15460 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15461 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15462 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15463 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15464 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15465 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15466 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15467 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15468 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15469 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15470 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15471 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15556 1 6.7997102479675050e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-02 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15557 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15558 1 9.7257311157309130e+02 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000003e-02 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15559 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15560 1 9.7257311157309130e+02 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-02 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15561 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15562 1 9.7257311157309130e+02 0.0000000000000000e+00 1.0000000000000000e+00 8.9999999999999997e-02 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15563 1 1.0063722103956344e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15564 1 9.7257311157309152e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.1000000000000000e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15565 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15566 1 9.7257311157309084e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.3000000000000000e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15567 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15568 1 9.7257311157309141e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.4999999999999999e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15569 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15654 1 6.7997102479675050e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000001e-02 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15655 1 7.1371621756056572e+02 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-02 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15656 1 7.1371621756056595e+02 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000002e-02 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15657 1 7.1371621756056584e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000001e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15658 1 7.1371621756056561e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.2000000000000000e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15659 1 7.1371621756056595e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.4000000000000001e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15660 1 7.1371621756056572e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.6000000000000000e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +14884 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14885 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14886 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14887 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14888 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14889 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14890 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14891 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14892 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14893 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14894 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14895 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14896 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14897 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14898 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14899 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14900 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14982 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +14983 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +14984 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +14985 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +14986 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +14987 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +14988 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +14989 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +14990 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +14991 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +14992 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +14993 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +14994 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +14995 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +14996 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +14997 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +14998 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +15080 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15081 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15082 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15083 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15084 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15085 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15086 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15087 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15088 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15089 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15090 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15091 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15092 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15093 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15094 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15095 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15096 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15178 1 1.0063722103956438e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15179 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15180 1 1.0063722103956433e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15181 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15182 1 1.0063722103956439e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15183 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15184 1 1.0063722103956438e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15185 1 1.0063722103956370e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15186 1 1.0063722103956430e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15187 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15188 1 1.0063722103956436e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15189 1 1.0063722103956381e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15190 1 1.0063722103956451e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15191 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15192 1 1.0063722103956428e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15193 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15194 1 1.0063722103956428e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15276 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15277 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15278 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15279 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15280 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15281 1 1.0063722103956430e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15282 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15283 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15284 1 1.0063722103956362e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15285 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15286 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15287 1 1.0063722103956449e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15288 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15289 1 1.0063722103956433e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15290 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15291 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15292 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15374 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15375 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15376 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15377 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15378 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15379 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15380 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15381 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15382 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15383 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15384 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15385 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15386 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15387 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15388 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15389 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15390 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15472 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15473 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15474 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15475 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15476 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15477 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15478 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15479 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15480 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15481 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15482 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15483 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15484 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15485 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15486 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15487 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15488 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15570 1 9.7257311157309164e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.7000000000000001e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15571 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15572 1 9.7257311157309096e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000000e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15573 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15574 1 9.7257311157309164e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.0999999999999999e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15575 1 1.0063722103956339e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15576 1 9.7257311157309164e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.3000000000000001e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15577 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15578 1 9.7257311157309073e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.5000000000000000e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15579 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15580 1 9.7257311157309107e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.7000000000000002e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15581 1 1.0063722103956355e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15582 1 9.7257311157309266e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.8999999999999998e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15583 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15584 1 9.7257311157309050e+02 0.0000000000000000e+00 1.0000000000000000e+00 3.1000000000000000e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15585 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15586 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 3.3000000000000002e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15661 1 7.1371621756056607e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.7999999999999999e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15662 1 7.1371621756056595e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000001e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15663 1 7.1371621756056572e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.2000000000000000e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15664 1 7.1371621756056584e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.3999999999999999e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15665 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.6000000000000001e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15666 1 7.1371621756056652e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.8000000000000003e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15667 1 7.1371621756056584e+02 0.0000000000000000e+00 1.0000000000000000e+00 2.9999999999999999e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15668 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 3.2000000000000001e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +14901 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14902 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14903 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14904 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14905 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14906 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14907 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14908 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14909 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14910 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14911 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14912 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14913 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14914 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14915 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14916 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14917 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14999 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +15000 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +15001 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +15002 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +15003 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +15004 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +15005 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +15006 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +15007 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +15008 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +15009 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +15010 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +15011 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +15012 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +15013 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +15014 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +15015 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +15097 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15098 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15099 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15100 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15101 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15102 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15103 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15104 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15105 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15106 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15107 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15108 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15109 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15110 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15111 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15112 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15113 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15195 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15196 1 1.0063722103956450e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15197 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15198 1 1.0063722103956435e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15199 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15200 1 1.0063722103956428e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15201 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15202 1 1.0063722103956450e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15203 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15204 1 1.0063722103956435e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15205 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15206 1 1.0063722103956428e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15207 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15208 1 1.0063722103956450e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15209 1 1.0063722103956383e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15210 1 1.0063722103956435e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15211 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15293 1 1.0063722103956433e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15294 1 1.0063722103956381e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15295 1 1.0063722103956449e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15296 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15297 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15298 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15299 1 1.0063722103956433e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15300 1 1.0063722103956381e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15301 1 1.0063722103956449e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15302 1 1.0063722103956367e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15303 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15304 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15305 1 1.0063722103956433e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15306 1 1.0063722103956381e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15307 1 1.0063722103956449e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15308 1 1.0063722103956364e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15309 1 1.0063722103956428e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15391 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15392 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15393 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15394 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15395 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15396 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15397 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15398 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15399 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15400 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15401 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15402 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15403 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15404 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15405 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15406 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15407 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15489 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15490 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15491 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15492 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15493 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15494 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15495 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15496 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15497 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15498 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15499 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15500 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15501 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15502 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15503 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15504 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15505 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15587 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15588 1 9.7257311157309266e+02 0.0000000000000000e+00 1.0000000000000000e+00 3.5000000000000003e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15589 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15590 1 9.7257311157309096e+02 0.0000000000000000e+00 1.0000000000000000e+00 3.7000000000000000e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15591 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15592 1 9.7257311157309050e+02 0.0000000000000000e+00 1.0000000000000000e+00 3.9000000000000001e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15593 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15594 1 9.7257311157309266e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.1000000000000003e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15595 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15596 1 9.7257311157309096e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.2999999999999999e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15597 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15598 1 9.7257311157309050e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.5000000000000001e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15599 1 1.0063722103956342e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15600 1 9.7257311157309266e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.7000000000000003e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15601 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15602 1 9.7257311157309096e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.8999999999999999e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15603 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15669 1 7.1371621756056572e+02 0.0000000000000000e+00 1.0000000000000000e+00 3.4000000000000002e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15670 1 7.1371621756056675e+02 0.0000000000000000e+00 1.0000000000000000e+00 3.5999999999999999e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15671 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 3.8000000000000000e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15672 1 7.1371621756056584e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.0000000000000002e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15673 1 7.1371621756056675e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.1999999999999998e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15674 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.4000000000000000e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15675 1 7.1371621756056584e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.6000000000000002e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15676 1 7.1371621756056675e+02 0.0000000000000000e+00 1.0000000000000000e+00 4.7999999999999998e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15677 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 5.0000000000000000e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +14918 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14919 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14920 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14921 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14922 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14923 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14924 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14925 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14926 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14927 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14928 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14929 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14930 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14931 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14932 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14933 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +15016 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +15017 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +15018 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +15019 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +15020 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +15021 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +15022 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +15023 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +15024 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +15025 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +15026 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +15027 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +15028 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +15029 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +15030 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +15031 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +15114 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15115 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15116 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15117 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15118 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15119 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15120 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15121 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15122 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15123 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15124 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15125 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15126 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15127 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15128 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15129 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15212 1 1.0063722103956428e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15213 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15214 1 1.0063722103956428e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15215 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15216 1 1.0063722103956428e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15217 1 1.0063722103956372e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15218 1 1.0063722103956475e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15219 1 1.0063722103956405e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15220 1 1.0063722103956442e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15221 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15222 1 1.0063722103956428e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15223 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15224 1 1.0063722103956428e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15225 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15226 1 1.0063722103956428e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15227 1 1.0063722103956358e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15310 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15311 1 1.0063722103956428e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15312 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15313 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15314 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15315 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15316 1 1.0063722103956403e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15317 1 1.0063722103956471e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15318 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15319 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15320 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15321 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15322 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15323 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15324 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15325 1 1.0063722103956428e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15408 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15409 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15410 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15411 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15412 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15413 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15414 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15415 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15416 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15417 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15418 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15419 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15420 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15421 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15422 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15423 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15506 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15507 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15508 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15509 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15510 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15511 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15512 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15513 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15514 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15515 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15516 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15517 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15518 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15519 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15520 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15521 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15604 1 9.7257311157309050e+02 0.0000000000000000e+00 1.0000000000000000e+00 5.1000000000000001e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15605 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15606 1 9.7257311157309050e+02 0.0000000000000000e+00 1.0000000000000000e+00 5.3000000000000003e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15607 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15608 1 9.7257311157309050e+02 0.0000000000000000e+00 1.0000000000000000e+00 5.5000000000000004e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15609 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15610 1 9.7257311157309505e+02 0.0000000000000000e+00 1.0000000000000000e+00 5.7000000000000006e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15611 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15612 1 9.7257311157309164e+02 0.0000000000000000e+00 1.0000000000000000e+00 5.8999999999999997e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15613 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15614 1 9.7257311157309050e+02 0.0000000000000000e+00 1.0000000000000000e+00 6.0999999999999999e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15615 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15616 1 9.7257311157309050e+02 0.0000000000000000e+00 1.0000000000000000e+00 6.3000000000000000e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15617 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15618 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 6.5000000000000002e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15619 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15678 1 7.1371621756056538e+02 0.0000000000000000e+00 1.0000000000000000e+00 5.2000000000000002e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15679 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 5.4000000000000004e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15680 1 7.1371621756056641e+02 0.0000000000000000e+00 1.0000000000000000e+00 5.6000000000000005e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15681 1 7.1371621756056811e+02 0.0000000000000000e+00 1.0000000000000000e+00 5.7999999999999996e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15682 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 5.9999999999999998e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15683 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 6.2000000000000000e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15684 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 6.4000000000000001e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15685 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 6.6000000000000003e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +14934 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14935 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14936 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14937 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14938 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14939 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14940 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14941 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14942 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14943 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14944 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14945 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14946 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14947 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14948 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14949 1 1.0063722103956347e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14950 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +15032 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +15033 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +15034 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +15035 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +15036 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +15037 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +15038 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +15039 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +15040 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +15041 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +15042 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +15043 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +15044 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +15045 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +15046 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +15047 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +15048 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +15130 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15131 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15132 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15133 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15134 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15135 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15136 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15137 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15138 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15139 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15140 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15141 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15142 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15143 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15144 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15145 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15146 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15228 1 1.0063722103956428e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15229 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15230 1 1.0063722103956441e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15231 1 1.0063722103956404e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15232 1 1.0063722103956474e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15233 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15234 1 1.0063722103956428e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15235 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15236 1 1.0063722103956428e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15237 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15238 1 1.0063722103956428e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15239 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15240 1 1.0063722103956428e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15241 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15242 1 1.0063722103956428e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15243 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15244 1 1.0063722103956474e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15326 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15327 1 1.0063722103956428e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15328 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15329 1 1.0063722103956471e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15330 1 1.0063722103956403e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15331 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15332 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15333 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15334 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15335 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15336 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15337 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15338 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15339 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15340 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15341 1 1.0063722103956438e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15342 1 1.0063722103956405e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15424 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15425 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15426 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15427 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15428 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15429 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15430 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15431 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15432 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15433 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15434 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15435 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15436 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15437 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15438 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15439 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15440 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15522 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15523 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15524 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15525 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15526 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15527 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15528 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15529 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15530 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15531 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15532 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15533 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15534 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15535 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15536 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15537 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15538 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15620 1 9.7257311157309050e+02 0.0000000000000000e+00 1.0000000000000000e+00 6.7000000000000004e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15621 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15622 1 9.7257311157309164e+02 0.0000000000000000e+00 1.0000000000000000e+00 6.9000000000000006e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15623 1 1.0063722103956378e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15624 1 9.7257311157309482e+02 0.0000000000000000e+00 1.0000000000000000e+00 7.0999999999999996e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15625 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15626 1 9.7257311157309050e+02 0.0000000000000000e+00 1.0000000000000000e+00 7.2999999999999998e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15627 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15628 1 9.7257311157309050e+02 0.0000000000000000e+00 1.0000000000000000e+00 7.5000000000000000e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15629 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15630 1 9.7257311157309050e+02 0.0000000000000000e+00 1.0000000000000000e+00 7.7000000000000002e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15631 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15632 1 9.7257311157309050e+02 0.0000000000000000e+00 1.0000000000000000e+00 7.9000000000000004e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15633 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15634 1 9.7257311157309050e+02 0.0000000000000000e+00 1.0000000000000000e+00 8.1000000000000005e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15635 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15636 1 9.7257311157309482e+02 0.0000000000000000e+00 1.0000000000000000e+00 8.3000000000000007e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15686 1 7.1371621756056538e+02 0.0000000000000000e+00 1.0000000000000000e+00 6.8000000000000005e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15687 1 7.1371621756056800e+02 0.0000000000000000e+00 1.0000000000000000e+00 7.0000000000000007e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15688 1 7.1371621756056629e+02 0.0000000000000000e+00 1.0000000000000000e+00 7.1999999999999997e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15689 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 7.3999999999999999e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15690 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 7.6000000000000001e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15691 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 7.8000000000000003e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15692 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 8.0000000000000004e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15693 1 7.1371621756056629e+02 0.0000000000000000e+00 1.0000000000000000e+00 8.2000000000000006e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +14951 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14952 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14953 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14954 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14955 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14956 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14957 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14958 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14959 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14960 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14961 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14962 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14963 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14964 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14965 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +14966 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.8500000000000001e+00 0.0000000000000000e+00 0 0 0 +14967 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.8400000000000001e+00 0.0000000000000000e+00 0 0 0 +15049 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +15050 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +15051 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +15052 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +15053 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +15054 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +15055 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +15056 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +15057 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +15058 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +15059 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +15060 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +15061 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +15062 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +15063 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +15064 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.8700000000000001e+00 0.0000000000000000e+00 0 0 0 +15065 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.8600000000000001e+00 0.0000000000000000e+00 0 0 0 +15147 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15148 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15149 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15150 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15151 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15152 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15153 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15154 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15155 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15156 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15157 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15158 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15159 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15160 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15161 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15162 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.8900000000000001e+00 0.0000000000000000e+00 0 0 0 +15163 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.8800000000000001e+00 0.0000000000000000e+00 0 0 0 +15245 1 1.0063722103956405e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15246 1 1.0063722103956442e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15247 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15248 1 1.0063722103956428e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15249 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15250 1 1.0063722103956428e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15251 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15252 1 1.0063722103956428e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15253 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15254 1 1.0063722103956428e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15255 1 1.0063722103956372e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15256 1 1.0063722103956475e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15257 1 1.0063722103956405e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15258 1 1.0063722103956442e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15259 1 1.0063722103956359e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15260 1 9.7257311157309960e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.9100000000000001e+00 0.0000000000000000e+00 0 0 0 +15261 1 7.1371621756056754e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.9000000000000001e+00 0.0000000000000000e+00 0 0 0 +15343 1 1.0063722103956471e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15344 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15345 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15346 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15347 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15348 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15349 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15350 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15351 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15352 1 1.0063722103956360e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15353 1 1.0063722103956437e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15354 1 1.0063722103956403e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15355 1 1.0063722103956471e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15356 1 1.0063722103956371e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15357 1 1.0063722103956426e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15358 1 9.7257311157309277e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.9299999999999999e+00 0.0000000000000000e+00 0 0 0 +15359 1 7.1371621756057107e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.9199999999999999e+00 0.0000000000000000e+00 0 0 0 +15441 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15442 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15443 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15444 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15445 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15446 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15447 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15448 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15449 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15450 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15451 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15452 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15453 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15454 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15455 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15456 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.9500000000000000e+00 0.0000000000000000e+00 0 0 0 +15457 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.9399999999999999e+00 0.0000000000000000e+00 0 0 0 +15539 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15540 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15541 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15542 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15543 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15544 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15545 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15546 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15547 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15548 1 1.0063722103956337e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15549 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15550 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15551 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15552 1 1.0063722103956349e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15553 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15554 1 9.7257311157309027e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.9700000000000000e+00 0.0000000000000000e+00 0 0 0 +15555 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.9600000000000000e+00 0.0000000000000000e+00 0 0 0 +15637 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15638 1 9.7257311157309164e+02 0.0000000000000000e+00 1.0000000000000000e+00 8.4999999999999998e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15639 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15640 1 9.7257311157309050e+02 0.0000000000000000e+00 1.0000000000000000e+00 8.7000000000000000e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15641 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15642 1 9.7257311157309050e+02 0.0000000000000000e+00 1.0000000000000000e+00 8.9000000000000001e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15643 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15644 1 9.7257311157309050e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.1000000000000003e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15645 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15646 1 9.7257311157309050e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.3000000000000005e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15647 1 1.0063722103956346e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15648 1 9.7257311157309505e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.5000000000000007e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15649 1 1.0063722103956380e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15650 1 9.7257311157309164e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.6999999999999997e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15651 1 1.0063722103956335e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15652 1 9.3882791880927527e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.8999999999999999e-01 1.9900000000000000e+00 0.0000000000000000e+00 0 0 0 +15653 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.9800000000000000e+00 0.0000000000000000e+00 0 0 0 +15694 1 7.1371621756056811e+02 0.0000000000000000e+00 1.0000000000000000e+00 8.3999999999999997e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15695 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 8.5999999999999999e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15696 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 8.8000000000000000e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15697 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.0000000000000002e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15698 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.2000000000000004e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15699 1 7.1371621756056641e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.4000000000000006e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15700 1 7.1371621756056811e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.5999999999999996e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15701 1 7.1371621756056516e+02 0.0000000000000000e+00 1.0000000000000000e+00 9.7999999999999998e-01 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15702 1 5.5054257779048748e+02 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +845 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.0011121907579295e+00 0.0000000000000000e+00 0 0 0 +847 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.0081832585697952e+00 0.0000000000000000e+00 0 0 0 +848 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.0152543263816605e+00 0.0000000000000000e+00 0 0 0 +849 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.0081832585697952e+00 0.0000000000000000e+00 0 0 0 +850 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.0223253941935257e+00 0.0000000000000000e+00 0 0 0 +851 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.0293964620053915e+00 0.0000000000000000e+00 0 0 0 +852 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.0223253941935257e+00 0.0000000000000000e+00 0 0 0 +853 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.0364675298172568e+00 0.0000000000000000e+00 0 0 0 +854 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.0435385976291225e+00 0.0000000000000000e+00 0 0 0 +855 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.0364675298172568e+00 0.0000000000000000e+00 0 0 0 +856 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.0506096654409878e+00 0.0000000000000000e+00 0 0 0 +857 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.0576807332528535e+00 0.0000000000000000e+00 0 0 0 +858 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.0506096654409878e+00 0.0000000000000000e+00 0 0 0 +859 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.0647518010647188e+00 0.0000000000000000e+00 0 0 0 +860 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.0718228688765841e+00 0.0000000000000000e+00 0 0 0 +861 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.0647518010647188e+00 0.0000000000000000e+00 0 0 0 +862 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.0788939366884498e+00 0.0000000000000000e+00 0 0 0 +863 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.0859650045003151e+00 0.0000000000000000e+00 0 0 0 +864 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.0788939366884498e+00 0.0000000000000000e+00 0 0 0 +865 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.0930360723121808e+00 0.0000000000000000e+00 0 0 0 +866 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.1001071401240461e+00 0.0000000000000000e+00 0 0 0 +867 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.0930360723121808e+00 0.0000000000000000e+00 0 0 0 +868 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.1071782079359118e+00 0.0000000000000000e+00 0 0 0 +869 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.1142492757477771e+00 0.0000000000000000e+00 0 0 0 +870 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.1071782079359118e+00 0.0000000000000000e+00 0 0 0 +871 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.1213203435596424e+00 0.0000000000000000e+00 0 0 0 +872 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.1283914113715081e+00 0.0000000000000000e+00 0 0 0 +873 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.1213203435596424e+00 0.0000000000000000e+00 0 0 0 +874 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.1354624791833734e+00 0.0000000000000000e+00 0 0 0 +875 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.1425335469952391e+00 0.0000000000000000e+00 0 0 0 +876 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.1354624791833734e+00 0.0000000000000000e+00 0 0 0 +877 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.1496046148071044e+00 0.0000000000000000e+00 0 0 0 +878 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.1566756826189701e+00 0.0000000000000000e+00 0 0 0 +879 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.1496046148071044e+00 0.0000000000000000e+00 0 0 0 +880 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.1637467504308354e+00 0.0000000000000000e+00 0 0 0 +882 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.1637467504308354e+00 0.0000000000000000e+00 0 0 0 +881 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.1708178182427011e+00 0.0000000000000000e+00 0 0 0 +883 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.1778888860545664e+00 0.0000000000000000e+00 0 0 0 +884 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.1849599538664317e+00 0.0000000000000000e+00 0 0 0 +885 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.1778888860545664e+00 0.0000000000000000e+00 0 0 0 +886 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.1920310216782974e+00 0.0000000000000000e+00 0 0 0 +887 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.1991020894901627e+00 0.0000000000000000e+00 0 0 0 +888 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.1920310216782974e+00 0.0000000000000000e+00 0 0 0 +889 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.2061731573020285e+00 0.0000000000000000e+00 0 0 0 +890 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.2132442251138937e+00 0.0000000000000000e+00 0 0 0 +891 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.2061731573020285e+00 0.0000000000000000e+00 0 0 0 +892 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.2203152929257595e+00 0.0000000000000000e+00 0 0 0 +893 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.2273863607376247e+00 0.0000000000000000e+00 0 0 0 +894 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.2203152929257595e+00 0.0000000000000000e+00 0 0 0 +895 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.2344574285494900e+00 0.0000000000000000e+00 0 0 0 +896 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.2415284963613558e+00 0.0000000000000000e+00 0 0 0 +897 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.2344574285494900e+00 0.0000000000000000e+00 0 0 0 +898 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.2485995641732210e+00 0.0000000000000000e+00 0 0 0 +899 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.2556706319850868e+00 0.0000000000000000e+00 0 0 0 +900 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.2485995641732210e+00 0.0000000000000000e+00 0 0 0 +901 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.2627416997969521e+00 0.0000000000000000e+00 0 0 0 +902 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.2698127676088178e+00 0.0000000000000000e+00 0 0 0 +903 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.2627416997969521e+00 0.0000000000000000e+00 0 0 0 +904 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.2768838354206831e+00 0.0000000000000000e+00 0 0 0 +905 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.2839549032325484e+00 0.0000000000000000e+00 0 0 0 +906 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.2768838354206831e+00 0.0000000000000000e+00 0 0 0 +907 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.2910259710444141e+00 0.0000000000000000e+00 0 0 0 +908 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.2980970388562794e+00 0.0000000000000000e+00 0 0 0 +909 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.2910259710444141e+00 0.0000000000000000e+00 0 0 0 +910 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.3051681066681451e+00 0.0000000000000000e+00 0 0 0 +911 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.3122391744800104e+00 0.0000000000000000e+00 0 0 0 +912 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.3051681066681451e+00 0.0000000000000000e+00 0 0 0 +913 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.3193102422918761e+00 0.0000000000000000e+00 0 0 0 +914 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.3263813101037414e+00 0.0000000000000000e+00 0 0 0 +915 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.3193102422918761e+00 0.0000000000000000e+00 0 0 0 +916 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.3334523779156067e+00 0.0000000000000000e+00 0 0 0 +918 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.3334523779156067e+00 0.0000000000000000e+00 0 0 0 +917 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.3405234457274724e+00 0.0000000000000000e+00 0 0 0 +919 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.3475945135393377e+00 0.0000000000000000e+00 0 0 0 +920 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.3546655813512034e+00 0.0000000000000000e+00 0 0 0 +921 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.3475945135393377e+00 0.0000000000000000e+00 0 0 0 +922 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.3617366491630687e+00 0.0000000000000000e+00 0 0 0 +923 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.3688077169749344e+00 0.0000000000000000e+00 0 0 0 +924 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.3617366491630687e+00 0.0000000000000000e+00 0 0 0 +925 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.3758787847867997e+00 0.0000000000000000e+00 0 0 0 +926 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.3829498525986650e+00 0.0000000000000000e+00 0 0 0 +927 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.3758787847867997e+00 0.0000000000000000e+00 0 0 0 +928 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.3900209204105307e+00 0.0000000000000000e+00 0 0 0 +929 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.3970919882223960e+00 0.0000000000000000e+00 0 0 0 +930 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.3900209204105307e+00 0.0000000000000000e+00 0 0 0 +931 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.4041630560342617e+00 0.0000000000000000e+00 0 0 0 +932 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.4112341238461270e+00 0.0000000000000000e+00 0 0 0 +933 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.4041630560342617e+00 0.0000000000000000e+00 0 0 0 +934 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.4183051916579927e+00 0.0000000000000000e+00 0 0 0 +935 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.4253762594698580e+00 0.0000000000000000e+00 0 0 0 +936 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.4183051916579927e+00 0.0000000000000000e+00 0 0 0 +937 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.4324473272817233e+00 0.0000000000000000e+00 0 0 0 +938 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.4395183950935890e+00 0.0000000000000000e+00 0 0 0 +939 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.4324473272817233e+00 0.0000000000000000e+00 0 0 0 +940 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.4465894629054543e+00 0.0000000000000000e+00 0 0 0 +941 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.4536605307173200e+00 0.0000000000000000e+00 0 0 0 +942 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.4465894629054543e+00 0.0000000000000000e+00 0 0 0 +943 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.4607315985291853e+00 0.0000000000000000e+00 0 0 0 +944 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.4678026663410511e+00 0.0000000000000000e+00 0 0 0 +945 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.4607315985291853e+00 0.0000000000000000e+00 0 0 0 +946 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.4748737341529163e+00 0.0000000000000000e+00 0 0 0 +947 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.4819448019647821e+00 0.0000000000000000e+00 0 0 0 +948 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.4748737341529163e+00 0.0000000000000000e+00 0 0 0 +949 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.4890158697766473e+00 0.0000000000000000e+00 0 0 0 +950 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.4960869375885126e+00 0.0000000000000000e+00 0 0 0 +951 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.4890158697766473e+00 0.0000000000000000e+00 0 0 0 +952 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.5031580054003784e+00 0.0000000000000000e+00 0 0 0 +953 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.5102290732122436e+00 0.0000000000000000e+00 0 0 0 +954 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.5031580054003784e+00 0.0000000000000000e+00 0 0 0 +955 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.5173001410241094e+00 0.0000000000000000e+00 0 0 0 +956 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.5243712088359747e+00 0.0000000000000000e+00 0 0 0 +957 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.5173001410241094e+00 0.0000000000000000e+00 0 0 0 +958 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.5314422766478404e+00 0.0000000000000000e+00 0 0 0 +959 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.5385133444597057e+00 0.0000000000000000e+00 0 0 0 +960 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.5314422766478404e+00 0.0000000000000000e+00 0 0 0 +961 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.5455844122715710e+00 0.0000000000000000e+00 0 0 0 +962 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.5526554800834367e+00 0.0000000000000000e+00 0 0 0 +963 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.5455844122715710e+00 0.0000000000000000e+00 0 0 0 +964 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.5597265478953020e+00 0.0000000000000000e+00 0 0 0 +965 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.5667976157071677e+00 0.0000000000000000e+00 0 0 0 +966 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.5597265478953020e+00 0.0000000000000000e+00 0 0 0 +967 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.5738686835190330e+00 0.0000000000000000e+00 0 0 0 +968 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.5809397513308987e+00 0.0000000000000000e+00 0 0 0 +969 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.5738686835190330e+00 0.0000000000000000e+00 0 0 0 +970 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.5880108191427640e+00 0.0000000000000000e+00 0 0 0 +971 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.5950818869546293e+00 0.0000000000000000e+00 0 0 0 +972 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.5880108191427640e+00 0.0000000000000000e+00 0 0 0 +973 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.6021529547664950e+00 0.0000000000000000e+00 0 0 0 +974 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.6092240225783603e+00 0.0000000000000000e+00 0 0 0 +975 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.6021529547664950e+00 0.0000000000000000e+00 0 0 0 +976 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.6162950903902260e+00 0.0000000000000000e+00 0 0 0 +977 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.6233661582020913e+00 0.0000000000000000e+00 0 0 0 +978 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.6162950903902260e+00 0.0000000000000000e+00 0 0 0 +979 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.6304372260139570e+00 0.0000000000000000e+00 0 0 0 +980 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.6375082938258223e+00 0.0000000000000000e+00 0 0 0 +981 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.6304372260139570e+00 0.0000000000000000e+00 0 0 0 +982 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.6445793616376876e+00 0.0000000000000000e+00 0 0 0 +983 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.6516504294495533e+00 0.0000000000000000e+00 0 0 0 +984 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.6445793616376876e+00 0.0000000000000000e+00 0 0 0 +985 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.6587214972614186e+00 0.0000000000000000e+00 0 0 0 +986 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.6657925650732843e+00 0.0000000000000000e+00 0 0 0 +987 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.6587214972614186e+00 0.0000000000000000e+00 0 0 0 +988 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.6728636328851496e+00 0.0000000000000000e+00 0 0 0 +989 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.6799347006970153e+00 0.0000000000000000e+00 0 0 0 +990 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.6728636328851496e+00 0.0000000000000000e+00 0 0 0 +991 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.6870057685088806e+00 0.0000000000000000e+00 0 0 0 +992 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.6940768363207459e+00 0.0000000000000000e+00 0 0 0 +993 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.6870057685088806e+00 0.0000000000000000e+00 0 0 0 +994 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.7011479041326116e+00 0.0000000000000000e+00 0 0 0 +995 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.7082189719444769e+00 0.0000000000000000e+00 0 0 0 +996 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.7011479041326116e+00 0.0000000000000000e+00 0 0 0 +997 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.7152900397563426e+00 0.0000000000000000e+00 0 0 0 +998 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.7223611075682079e+00 0.0000000000000000e+00 0 0 0 +999 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.7152900397563426e+00 0.0000000000000000e+00 0 0 0 +1000 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.7294321753800737e+00 0.0000000000000000e+00 0 0 0 +1001 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.7365032431919389e+00 0.0000000000000000e+00 0 0 0 +1002 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.7294321753800737e+00 0.0000000000000000e+00 0 0 0 +1003 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.7435743110038042e+00 0.0000000000000000e+00 0 0 0 +1004 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.7506453788156700e+00 0.0000000000000000e+00 0 0 0 +1005 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.7435743110038042e+00 0.0000000000000000e+00 0 0 0 +1006 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.7577164466275352e+00 0.0000000000000000e+00 0 0 0 +1007 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.7647875144394010e+00 0.0000000000000000e+00 0 0 0 +1008 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.7577164466275352e+00 0.0000000000000000e+00 0 0 0 +1009 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.7718585822512662e+00 0.0000000000000000e+00 0 0 0 +1010 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.7789296500631320e+00 0.0000000000000000e+00 0 0 0 +1011 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.7718585822512662e+00 0.0000000000000000e+00 0 0 0 +1012 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.7860007178749973e+00 0.0000000000000000e+00 0 0 0 +1013 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.7930717856868625e+00 0.0000000000000000e+00 0 0 0 +1014 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.7860007178749973e+00 0.0000000000000000e+00 0 0 0 +1015 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.8001428534987283e+00 0.0000000000000000e+00 0 0 0 +1016 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.8072139213105936e+00 0.0000000000000000e+00 0 0 0 +1017 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.8001428534987283e+00 0.0000000000000000e+00 0 0 0 +1018 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.8142849891224593e+00 0.0000000000000000e+00 0 0 0 +1019 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.8213560569343246e+00 0.0000000000000000e+00 0 0 0 +1020 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.8142849891224593e+00 0.0000000000000000e+00 0 0 0 +1021 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.8284271247461903e+00 0.0000000000000000e+00 0 0 0 +1023 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.8284271247461903e+00 0.0000000000000000e+00 0 0 0 +1022 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.8354981925580556e+00 0.0000000000000000e+00 0 0 0 +1024 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.8425692603699213e+00 0.0000000000000000e+00 0 0 0 +1025 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.8496403281817866e+00 0.0000000000000000e+00 0 0 0 +1026 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.8425692603699213e+00 0.0000000000000000e+00 0 0 0 +1027 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.8567113959936519e+00 0.0000000000000000e+00 0 0 0 +1028 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.8637824638055176e+00 0.0000000000000000e+00 0 0 0 +1029 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.8567113959936519e+00 0.0000000000000000e+00 0 0 0 +1030 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.8708535316173829e+00 0.0000000000000000e+00 0 0 0 +1031 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.8779245994292486e+00 0.0000000000000000e+00 0 0 0 +1032 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.8708535316173829e+00 0.0000000000000000e+00 0 0 0 +1033 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.8849956672411139e+00 0.0000000000000000e+00 0 0 0 +1034 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.8920667350529796e+00 0.0000000000000000e+00 0 0 0 +1035 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.8849956672411139e+00 0.0000000000000000e+00 0 0 0 +1036 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.8991378028648449e+00 0.0000000000000000e+00 0 0 0 +1037 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.9062088706767102e+00 0.0000000000000000e+00 0 0 0 +1038 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.8991378028648449e+00 0.0000000000000000e+00 0 0 0 +1039 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.9132799384885759e+00 0.0000000000000000e+00 0 0 0 +1040 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.9203510063004412e+00 0.0000000000000000e+00 0 0 0 +1041 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.9132799384885759e+00 0.0000000000000000e+00 0 0 0 +1042 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.9274220741123069e+00 0.0000000000000000e+00 0 0 0 +1043 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.9344931419241722e+00 0.0000000000000000e+00 0 0 0 +1044 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.9274220741123069e+00 0.0000000000000000e+00 0 0 0 +1045 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.9415642097360379e+00 0.0000000000000000e+00 0 0 0 +1046 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.9486352775479032e+00 0.0000000000000000e+00 0 0 0 +1047 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.9415642097360379e+00 0.0000000000000000e+00 0 0 0 +1048 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.9557063453597685e+00 0.0000000000000000e+00 0 0 0 +1049 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.9627774131716342e+00 0.0000000000000000e+00 0 0 0 +1050 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.9557063453597685e+00 0.0000000000000000e+00 0 0 0 +1051 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.9698484809834995e+00 0.0000000000000000e+00 0 0 0 +1052 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.9769195487953652e+00 0.0000000000000000e+00 0 0 0 +1053 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.9698484809834995e+00 0.0000000000000000e+00 0 0 0 +1054 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.9839906166072305e+00 0.0000000000000000e+00 0 0 0 +1055 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 2.9910616844190963e+00 0.0000000000000000e+00 0 0 0 +1056 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.9839906166072305e+00 0.0000000000000000e+00 0 0 0 +1057 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.9981327522309615e+00 0.0000000000000000e+00 0 0 0 +1059 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 2.9981327522309615e+00 0.0000000000000000e+00 0 0 0 +1058 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.0052038200428268e+00 0.0000000000000000e+00 0 0 0 +1060 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.0122748878546926e+00 0.0000000000000000e+00 0 0 0 +1061 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.0193459556665578e+00 0.0000000000000000e+00 0 0 0 +1062 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.0122748878546926e+00 0.0000000000000000e+00 0 0 0 +1063 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.0264170234784236e+00 0.0000000000000000e+00 0 0 0 +1064 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.0334880912902888e+00 0.0000000000000000e+00 0 0 0 +1065 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.0264170234784236e+00 0.0000000000000000e+00 0 0 0 +1066 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.0405591591021546e+00 0.0000000000000000e+00 0 0 0 +1067 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.0476302269140199e+00 0.0000000000000000e+00 0 0 0 +1068 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.0405591591021546e+00 0.0000000000000000e+00 0 0 0 +1069 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.0547012947258851e+00 0.0000000000000000e+00 0 0 0 +1070 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.0617723625377509e+00 0.0000000000000000e+00 0 0 0 +1071 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.0547012947258851e+00 0.0000000000000000e+00 0 0 0 +1072 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.0688434303496162e+00 0.0000000000000000e+00 0 0 0 +1073 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.0759144981614819e+00 0.0000000000000000e+00 0 0 0 +1074 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.0688434303496162e+00 0.0000000000000000e+00 0 0 0 +1075 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.0829855659733472e+00 0.0000000000000000e+00 0 0 0 +1076 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.0900566337852129e+00 0.0000000000000000e+00 0 0 0 +1077 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.0829855659733472e+00 0.0000000000000000e+00 0 0 0 +1078 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.0971277015970782e+00 0.0000000000000000e+00 0 0 0 +1079 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.1041987694089435e+00 0.0000000000000000e+00 0 0 0 +1080 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.0971277015970782e+00 0.0000000000000000e+00 0 0 0 +1081 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.1112698372208092e+00 0.0000000000000000e+00 0 0 0 +1082 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.1183409050326745e+00 0.0000000000000000e+00 0 0 0 +1083 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.1112698372208092e+00 0.0000000000000000e+00 0 0 0 +1084 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.1254119728445402e+00 0.0000000000000000e+00 0 0 0 +1085 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.1324830406564055e+00 0.0000000000000000e+00 0 0 0 +1086 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.1254119728445402e+00 0.0000000000000000e+00 0 0 0 +1087 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.1395541084682712e+00 0.0000000000000000e+00 0 0 0 +1088 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.1466251762801365e+00 0.0000000000000000e+00 0 0 0 +1089 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.1395541084682712e+00 0.0000000000000000e+00 0 0 0 +1090 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.1536962440920022e+00 0.0000000000000000e+00 0 0 0 +1091 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.1607673119038675e+00 0.0000000000000000e+00 0 0 0 +1092 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.1536962440920022e+00 0.0000000000000000e+00 0 0 0 +1093 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.1678383797157328e+00 0.0000000000000000e+00 0 0 0 +1094 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.1749094475275985e+00 0.0000000000000000e+00 0 0 0 +1095 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.1678383797157328e+00 0.0000000000000000e+00 0 0 0 +1096 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.1819805153394638e+00 0.0000000000000000e+00 0 0 0 +1097 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.1890515831513295e+00 0.0000000000000000e+00 0 0 0 +1098 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.1819805153394638e+00 0.0000000000000000e+00 0 0 0 +1099 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.1961226509631948e+00 0.0000000000000000e+00 0 0 0 +1100 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.2031937187750605e+00 0.0000000000000000e+00 0 0 0 +1101 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.1961226509631948e+00 0.0000000000000000e+00 0 0 0 +1102 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.2102647865869258e+00 0.0000000000000000e+00 0 0 0 +1103 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.2173358543987911e+00 0.0000000000000000e+00 0 0 0 +1104 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.2102647865869258e+00 0.0000000000000000e+00 0 0 0 +1105 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.2244069222106568e+00 0.0000000000000000e+00 0 0 0 +1106 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.2314779900225221e+00 0.0000000000000000e+00 0 0 0 +1107 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.2244069222106568e+00 0.0000000000000000e+00 0 0 0 +1108 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.2385490578343878e+00 0.0000000000000000e+00 0 0 0 +1109 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.2456201256462531e+00 0.0000000000000000e+00 0 0 0 +1110 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.2385490578343878e+00 0.0000000000000000e+00 0 0 0 +1111 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.2526911934581189e+00 0.0000000000000000e+00 0 0 0 +1112 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.2597622612699841e+00 0.0000000000000000e+00 0 0 0 +1113 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.2526911934581189e+00 0.0000000000000000e+00 0 0 0 +1114 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.2668333290818494e+00 0.0000000000000000e+00 0 0 0 +1115 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.2739043968937152e+00 0.0000000000000000e+00 0 0 0 +1116 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.2668333290818494e+00 0.0000000000000000e+00 0 0 0 +1117 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.2809754647055804e+00 0.0000000000000000e+00 0 0 0 +1118 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.2880465325174462e+00 0.0000000000000000e+00 0 0 0 +1119 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.2809754647055804e+00 0.0000000000000000e+00 0 0 0 +1120 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.2951176003293114e+00 0.0000000000000000e+00 0 0 0 +1121 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.3021886681411772e+00 0.0000000000000000e+00 0 0 0 +1122 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.2951176003293114e+00 0.0000000000000000e+00 0 0 0 +1123 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.3092597359530425e+00 0.0000000000000000e+00 0 0 0 +1124 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.3163308037649077e+00 0.0000000000000000e+00 0 0 0 +1125 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.3092597359530425e+00 0.0000000000000000e+00 0 0 0 +1126 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.3234018715767735e+00 0.0000000000000000e+00 0 0 0 +1127 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.3304729393886388e+00 0.0000000000000000e+00 0 0 0 +1128 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.3234018715767735e+00 0.0000000000000000e+00 0 0 0 +1129 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.3375440072005045e+00 0.0000000000000000e+00 0 0 0 +1130 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.3446150750123698e+00 0.0000000000000000e+00 0 0 0 +1131 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.3375440072005045e+00 0.0000000000000000e+00 0 0 0 +1132 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.3516861428242355e+00 0.0000000000000000e+00 0 0 0 +1133 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.3587572106361008e+00 0.0000000000000000e+00 0 0 0 +1134 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.3516861428242355e+00 0.0000000000000000e+00 0 0 0 +1135 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.3658282784479661e+00 0.0000000000000000e+00 0 0 0 +1136 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.3728993462598318e+00 0.0000000000000000e+00 0 0 0 +1137 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.3658282784479661e+00 0.0000000000000000e+00 0 0 0 +1138 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.3799704140716971e+00 0.0000000000000000e+00 0 0 0 +1139 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.3870414818835628e+00 0.0000000000000000e+00 0 0 0 +1140 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.3799704140716971e+00 0.0000000000000000e+00 0 0 0 +1141 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.3941125496954281e+00 0.0000000000000000e+00 0 0 0 +1142 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.4011836175072938e+00 0.0000000000000000e+00 0 0 0 +1143 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.3941125496954281e+00 0.0000000000000000e+00 0 0 0 +1144 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.4082546853191591e+00 0.0000000000000000e+00 0 0 0 +1145 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.4153257531310244e+00 0.0000000000000000e+00 0 0 0 +1146 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.4082546853191591e+00 0.0000000000000000e+00 0 0 0 +1147 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.4223968209428901e+00 0.0000000000000000e+00 0 0 0 +1148 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.4294678887547554e+00 0.0000000000000000e+00 0 0 0 +1149 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.4223968209428901e+00 0.0000000000000000e+00 0 0 0 +1150 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.4365389565666211e+00 0.0000000000000000e+00 0 0 0 +1151 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.4436100243784864e+00 0.0000000000000000e+00 0 0 0 +1152 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.4365389565666211e+00 0.0000000000000000e+00 0 0 0 +1153 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.4506810921903521e+00 0.0000000000000000e+00 0 0 0 +1154 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.4577521600022174e+00 0.0000000000000000e+00 0 0 0 +1155 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.4506810921903521e+00 0.0000000000000000e+00 0 0 0 +1156 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.4648232278140831e+00 0.0000000000000000e+00 0 0 0 +1157 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.4718942956259484e+00 0.0000000000000000e+00 0 0 0 +1158 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.4648232278140831e+00 0.0000000000000000e+00 0 0 0 +1159 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.4789653634378137e+00 0.0000000000000000e+00 0 0 0 +1160 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.4860364312496794e+00 0.0000000000000000e+00 0 0 0 +1161 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.4789653634378137e+00 0.0000000000000000e+00 0 0 0 +1162 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.4931074990615447e+00 0.0000000000000000e+00 0 0 0 +1163 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.5001785668734104e+00 0.0000000000000000e+00 0 0 0 +1164 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.4931074990615447e+00 0.0000000000000000e+00 0 0 0 +1165 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.5072496346852757e+00 0.0000000000000000e+00 0 0 0 +1166 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.5143207024971415e+00 0.0000000000000000e+00 0 0 0 +1167 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.5072496346852757e+00 0.0000000000000000e+00 0 0 0 +1168 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.5213917703090067e+00 0.0000000000000000e+00 0 0 0 +1169 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.5284628381208720e+00 0.0000000000000000e+00 0 0 0 +1170 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.5213917703090067e+00 0.0000000000000000e+00 0 0 0 +1171 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.5355339059327378e+00 0.0000000000000000e+00 0 0 0 +1172 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.5426049737446030e+00 0.0000000000000000e+00 0 0 0 +1173 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.5355339059327378e+00 0.0000000000000000e+00 0 0 0 +1174 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.5496760415564688e+00 0.0000000000000000e+00 0 0 0 +1175 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.5567471093683340e+00 0.0000000000000000e+00 0 0 0 +1176 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.5496760415564688e+00 0.0000000000000000e+00 0 0 0 +1177 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.5638181771801998e+00 0.0000000000000000e+00 0 0 0 +1178 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.5708892449920651e+00 0.0000000000000000e+00 0 0 0 +1179 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.5638181771801998e+00 0.0000000000000000e+00 0 0 0 +1180 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.5779603128039303e+00 0.0000000000000000e+00 0 0 0 +1181 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.5850313806157961e+00 0.0000000000000000e+00 0 0 0 +1182 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.5779603128039303e+00 0.0000000000000000e+00 0 0 0 +1183 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.5921024484276614e+00 0.0000000000000000e+00 0 0 0 +1184 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.5991735162395271e+00 0.0000000000000000e+00 0 0 0 +1185 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.5921024484276614e+00 0.0000000000000000e+00 0 0 0 +1186 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.6062445840513924e+00 0.0000000000000000e+00 0 0 0 +1187 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.6133156518632581e+00 0.0000000000000000e+00 0 0 0 +1188 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.6062445840513924e+00 0.0000000000000000e+00 0 0 0 +1189 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.6203867196751234e+00 0.0000000000000000e+00 0 0 0 +1190 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.6274577874869887e+00 0.0000000000000000e+00 0 0 0 +1191 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.6203867196751234e+00 0.0000000000000000e+00 0 0 0 +1192 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.6345288552988544e+00 0.0000000000000000e+00 0 0 0 +1193 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.6415999231107197e+00 0.0000000000000000e+00 0 0 0 +1194 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.6345288552988544e+00 0.0000000000000000e+00 0 0 0 +1195 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.6486709909225854e+00 0.0000000000000000e+00 0 0 0 +1196 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.6557420587344507e+00 0.0000000000000000e+00 0 0 0 +1197 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.6486709909225854e+00 0.0000000000000000e+00 0 0 0 +1198 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.6628131265463164e+00 0.0000000000000000e+00 0 0 0 +1200 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.6628131265463164e+00 0.0000000000000000e+00 0 0 0 +1199 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.6698841943581817e+00 0.0000000000000000e+00 0 0 0 +1201 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.6769552621700470e+00 0.0000000000000000e+00 0 0 0 +1202 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.6840263299819127e+00 0.0000000000000000e+00 0 0 0 +1203 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.6769552621700470e+00 0.0000000000000000e+00 0 0 0 +1204 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.6910973977937780e+00 0.0000000000000000e+00 0 0 0 +1205 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.6981684656056437e+00 0.0000000000000000e+00 0 0 0 +1206 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.6910973977937780e+00 0.0000000000000000e+00 0 0 0 +1207 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.7052395334175090e+00 0.0000000000000000e+00 0 0 0 +1208 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.7123106012293747e+00 0.0000000000000000e+00 0 0 0 +1209 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.7052395334175090e+00 0.0000000000000000e+00 0 0 0 +1210 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.7193816690412400e+00 0.0000000000000000e+00 0 0 0 +1211 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.7264527368531053e+00 0.0000000000000000e+00 0 0 0 +1212 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.7193816690412400e+00 0.0000000000000000e+00 0 0 0 +1213 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.7335238046649710e+00 0.0000000000000000e+00 0 0 0 +1214 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.7405948724768363e+00 0.0000000000000000e+00 0 0 0 +1215 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.7335238046649710e+00 0.0000000000000000e+00 0 0 0 +1216 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.7476659402887020e+00 0.0000000000000000e+00 0 0 0 +1217 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.7547370081005673e+00 0.0000000000000000e+00 0 0 0 +1218 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.7476659402887020e+00 0.0000000000000000e+00 0 0 0 +1219 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.7618080759124330e+00 0.0000000000000000e+00 0 0 0 +1220 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.7688791437242983e+00 0.0000000000000000e+00 0 0 0 +1221 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.7618080759124330e+00 0.0000000000000000e+00 0 0 0 +1222 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.7759502115361636e+00 0.0000000000000000e+00 0 0 0 +1223 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.7830212793480293e+00 0.0000000000000000e+00 0 0 0 +1224 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.7759502115361636e+00 0.0000000000000000e+00 0 0 0 +1225 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.7900923471598946e+00 0.0000000000000000e+00 0 0 0 +1226 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.7971634149717604e+00 0.0000000000000000e+00 0 0 0 +1227 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.7900923471598946e+00 0.0000000000000000e+00 0 0 0 +1228 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.8042344827836256e+00 0.0000000000000000e+00 0 0 0 +1229 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.8113055505954914e+00 0.0000000000000000e+00 0 0 0 +1230 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.8042344827836256e+00 0.0000000000000000e+00 0 0 0 +1231 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.8183766184073566e+00 0.0000000000000000e+00 0 0 0 +1232 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.8254476862192224e+00 0.0000000000000000e+00 0 0 0 +1233 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.8183766184073566e+00 0.0000000000000000e+00 0 0 0 +1234 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.8325187540310877e+00 0.0000000000000000e+00 0 0 0 +1236 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.8325187540310877e+00 0.0000000000000000e+00 0 0 0 +1235 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.8395898218429529e+00 0.0000000000000000e+00 0 0 0 +1237 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.8466608896548187e+00 0.0000000000000000e+00 0 0 0 +1238 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.8537319574666840e+00 0.0000000000000000e+00 0 0 0 +1239 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.8466608896548187e+00 0.0000000000000000e+00 0 0 0 +1240 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.8608030252785497e+00 0.0000000000000000e+00 0 0 0 +1241 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.8678740930904150e+00 0.0000000000000000e+00 0 0 0 +1242 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.8608030252785497e+00 0.0000000000000000e+00 0 0 0 +1243 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.8749451609022807e+00 0.0000000000000000e+00 0 0 0 +1244 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.8820162287141460e+00 0.0000000000000000e+00 0 0 0 +1245 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.8749451609022807e+00 0.0000000000000000e+00 0 0 0 +1246 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.8890872965260113e+00 0.0000000000000000e+00 0 0 0 +1247 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.8961583643378770e+00 0.0000000000000000e+00 0 0 0 +1248 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.8890872965260113e+00 0.0000000000000000e+00 0 0 0 +1249 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.9032294321497423e+00 0.0000000000000000e+00 0 0 0 +1250 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.9103004999616080e+00 0.0000000000000000e+00 0 0 0 +1251 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.9032294321497423e+00 0.0000000000000000e+00 0 0 0 +1252 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.9173715677734733e+00 0.0000000000000000e+00 0 0 0 +1253 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.9244426355853390e+00 0.0000000000000000e+00 0 0 0 +1254 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.9173715677734733e+00 0.0000000000000000e+00 0 0 0 +1255 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.9315137033972043e+00 0.0000000000000000e+00 0 0 0 +1256 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.9385847712090696e+00 0.0000000000000000e+00 0 0 0 +1257 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.9315137033972043e+00 0.0000000000000000e+00 0 0 0 +1258 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.9456558390209353e+00 0.0000000000000000e+00 0 0 0 +1259 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.9527269068328006e+00 0.0000000000000000e+00 0 0 0 +1260 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.9456558390209353e+00 0.0000000000000000e+00 0 0 0 +1261 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.9597979746446663e+00 0.0000000000000000e+00 0 0 0 +1262 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.9668690424565316e+00 0.0000000000000000e+00 0 0 0 +1263 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.9597979746446663e+00 0.0000000000000000e+00 0 0 0 +1264 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.9739401102683973e+00 0.0000000000000000e+00 0 0 0 +1265 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.9810111780802626e+00 0.0000000000000000e+00 0 0 0 +1266 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.9739401102683973e+00 0.0000000000000000e+00 0 0 0 +1267 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.9880822458921279e+00 0.0000000000000000e+00 0 0 0 +1268 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 3.9951533137039936e+00 0.0000000000000000e+00 0 0 0 +1269 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 3.9880822458921279e+00 0.0000000000000000e+00 0 0 0 +1270 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.0022243815158589e+00 0.0000000000000000e+00 0 0 0 +1271 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.0092954493277242e+00 0.0000000000000000e+00 0 0 0 +1272 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.0022243815158589e+00 0.0000000000000000e+00 0 0 0 +1273 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.0163665171395904e+00 0.0000000000000000e+00 0 0 0 +1274 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.0234375849514556e+00 0.0000000000000000e+00 0 0 0 +1275 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.0163665171395904e+00 0.0000000000000000e+00 0 0 0 +1276 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.0305086527633209e+00 0.0000000000000000e+00 0 0 0 +1277 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.0375797205751862e+00 0.0000000000000000e+00 0 0 0 +1278 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.0305086527633209e+00 0.0000000000000000e+00 0 0 0 +1279 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.0446507883870515e+00 0.0000000000000000e+00 0 0 0 +1280 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.0517218561989177e+00 0.0000000000000000e+00 0 0 0 +1281 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.0446507883870515e+00 0.0000000000000000e+00 0 0 0 +1282 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.0587929240107830e+00 0.0000000000000000e+00 0 0 0 +1283 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.0658639918226482e+00 0.0000000000000000e+00 0 0 0 +1284 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.0587929240107830e+00 0.0000000000000000e+00 0 0 0 +1285 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.0729350596345135e+00 0.0000000000000000e+00 0 0 0 +1286 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.0800061274463797e+00 0.0000000000000000e+00 0 0 0 +1287 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.0729350596345135e+00 0.0000000000000000e+00 0 0 0 +1288 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.0870771952582450e+00 0.0000000000000000e+00 0 0 0 +1289 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.0941482630701103e+00 0.0000000000000000e+00 0 0 0 +1290 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.0870771952582450e+00 0.0000000000000000e+00 0 0 0 +1291 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.1012193308819755e+00 0.0000000000000000e+00 0 0 0 +1292 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.1082903986938408e+00 0.0000000000000000e+00 0 0 0 +1293 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.1012193308819755e+00 0.0000000000000000e+00 0 0 0 +1294 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.1153614665057070e+00 0.0000000000000000e+00 0 0 0 +1295 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.1224325343175723e+00 0.0000000000000000e+00 0 0 0 +1296 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.1153614665057070e+00 0.0000000000000000e+00 0 0 0 +1297 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.1295036021294376e+00 0.0000000000000000e+00 0 0 0 +1298 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.1365746699413029e+00 0.0000000000000000e+00 0 0 0 +1299 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.1295036021294376e+00 0.0000000000000000e+00 0 0 0 +1300 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.1436457377531681e+00 0.0000000000000000e+00 0 0 0 +1301 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.1507168055650343e+00 0.0000000000000000e+00 0 0 0 +1302 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.1436457377531681e+00 0.0000000000000000e+00 0 0 0 +1303 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.1577878733768996e+00 0.0000000000000000e+00 0 0 0 +1304 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.1648589411887649e+00 0.0000000000000000e+00 0 0 0 +1305 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.1577878733768996e+00 0.0000000000000000e+00 0 0 0 +1306 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.1719300090006302e+00 0.0000000000000000e+00 0 0 0 +1307 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.1790010768124963e+00 0.0000000000000000e+00 0 0 0 +1308 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.1719300090006302e+00 0.0000000000000000e+00 0 0 0 +1309 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.1860721446243616e+00 0.0000000000000000e+00 0 0 0 +1310 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.1931432124362269e+00 0.0000000000000000e+00 0 0 0 +1311 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.1860721446243616e+00 0.0000000000000000e+00 0 0 0 +1312 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.2002142802480922e+00 0.0000000000000000e+00 0 0 0 +1313 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.2072853480599575e+00 0.0000000000000000e+00 0 0 0 +1314 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.2002142802480922e+00 0.0000000000000000e+00 0 0 0 +1315 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.2143564158718236e+00 0.0000000000000000e+00 0 0 0 +1316 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.2214274836836889e+00 0.0000000000000000e+00 0 0 0 +1317 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.2143564158718236e+00 0.0000000000000000e+00 0 0 0 +1318 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.2284985514955542e+00 0.0000000000000000e+00 0 0 0 +1319 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.2355696193074195e+00 0.0000000000000000e+00 0 0 0 +1320 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.2284985514955542e+00 0.0000000000000000e+00 0 0 0 +1321 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.2426406871192848e+00 0.0000000000000000e+00 0 0 0 +1322 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.2497117549311509e+00 0.0000000000000000e+00 0 0 0 +1323 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.2426406871192848e+00 0.0000000000000000e+00 0 0 0 +1324 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.2567828227430162e+00 0.0000000000000000e+00 0 0 0 +1325 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.2638538905548815e+00 0.0000000000000000e+00 0 0 0 +1326 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.2567828227430162e+00 0.0000000000000000e+00 0 0 0 +1327 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.2709249583667468e+00 0.0000000000000000e+00 0 0 0 +1328 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.2779960261786130e+00 0.0000000000000000e+00 0 0 0 +1329 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.2709249583667468e+00 0.0000000000000000e+00 0 0 0 +1330 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.2850670939904782e+00 0.0000000000000000e+00 0 0 0 +1331 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.2921381618023435e+00 0.0000000000000000e+00 0 0 0 +1332 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.2850670939904782e+00 0.0000000000000000e+00 0 0 0 +1333 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.2992092296142088e+00 0.0000000000000000e+00 0 0 0 +1334 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.3062802974260741e+00 0.0000000000000000e+00 0 0 0 +1335 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.2992092296142088e+00 0.0000000000000000e+00 0 0 0 +1336 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.3133513652379403e+00 0.0000000000000000e+00 0 0 0 +1337 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.3204224330498056e+00 0.0000000000000000e+00 0 0 0 +1338 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.3133513652379403e+00 0.0000000000000000e+00 0 0 0 +1339 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.3274935008616708e+00 0.0000000000000000e+00 0 0 0 +1341 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.3274935008616708e+00 0.0000000000000000e+00 0 0 0 +1340 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.3345645686735361e+00 0.0000000000000000e+00 0 0 0 +1342 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.3416356364854023e+00 0.0000000000000000e+00 0 0 0 +1343 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.3487067042972676e+00 0.0000000000000000e+00 0 0 0 +1344 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.3416356364854023e+00 0.0000000000000000e+00 0 0 0 +1345 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.3557777721091329e+00 0.0000000000000000e+00 0 0 0 +1346 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.3628488399209981e+00 0.0000000000000000e+00 0 0 0 +1347 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.3557777721091329e+00 0.0000000000000000e+00 0 0 0 +1348 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.3699199077328634e+00 0.0000000000000000e+00 0 0 0 +1349 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.3769909755447296e+00 0.0000000000000000e+00 0 0 0 +1350 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.3699199077328634e+00 0.0000000000000000e+00 0 0 0 +1351 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.3840620433565949e+00 0.0000000000000000e+00 0 0 0 +1352 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.3911331111684602e+00 0.0000000000000000e+00 0 0 0 +1353 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.3840620433565949e+00 0.0000000000000000e+00 0 0 0 +1354 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.3982041789803255e+00 0.0000000000000000e+00 0 0 0 +1355 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.4052752467921907e+00 0.0000000000000000e+00 0 0 0 +1356 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.3982041789803255e+00 0.0000000000000000e+00 0 0 0 +1357 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.4123463146040569e+00 0.0000000000000000e+00 0 0 0 +1358 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.4194173824159222e+00 0.0000000000000000e+00 0 0 0 +1359 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.4123463146040569e+00 0.0000000000000000e+00 0 0 0 +1360 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.4264884502277875e+00 0.0000000000000000e+00 0 0 0 +1361 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.4335595180396528e+00 0.0000000000000000e+00 0 0 0 +1362 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.4264884502277875e+00 0.0000000000000000e+00 0 0 0 +1363 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.4406305858515189e+00 0.0000000000000000e+00 0 0 0 +1364 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.4477016536633842e+00 0.0000000000000000e+00 0 0 0 +1365 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.4406305858515189e+00 0.0000000000000000e+00 0 0 0 +1366 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.4547727214752495e+00 0.0000000000000000e+00 0 0 0 +1367 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.4618437892871148e+00 0.0000000000000000e+00 0 0 0 +1368 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.4547727214752495e+00 0.0000000000000000e+00 0 0 0 +1369 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.4689148570989801e+00 0.0000000000000000e+00 0 0 0 +1370 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.4759859249108462e+00 0.0000000000000000e+00 0 0 0 +1371 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.4689148570989801e+00 0.0000000000000000e+00 0 0 0 +1372 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.4830569927227115e+00 0.0000000000000000e+00 0 0 0 +1373 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.4901280605345768e+00 0.0000000000000000e+00 0 0 0 +1374 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.4830569927227115e+00 0.0000000000000000e+00 0 0 0 +1375 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.4971991283464421e+00 0.0000000000000000e+00 0 0 0 +1377 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.4971991283464421e+00 0.0000000000000000e+00 0 0 0 +1376 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.5042701961583074e+00 0.0000000000000000e+00 0 0 0 +1378 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.5113412639701735e+00 0.0000000000000000e+00 0 0 0 +1379 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.5184123317820388e+00 0.0000000000000000e+00 0 0 0 +1380 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.5113412639701735e+00 0.0000000000000000e+00 0 0 0 +1381 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.5254833995939041e+00 0.0000000000000000e+00 0 0 0 +1382 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.5325544674057694e+00 0.0000000000000000e+00 0 0 0 +1383 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.5254833995939041e+00 0.0000000000000000e+00 0 0 0 +1384 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.5396255352176356e+00 0.0000000000000000e+00 0 0 0 +1385 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.5466966030295008e+00 0.0000000000000000e+00 0 0 0 +1386 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.5396255352176356e+00 0.0000000000000000e+00 0 0 0 +1387 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.5537676708413661e+00 0.0000000000000000e+00 0 0 0 +1388 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.5608387386532314e+00 0.0000000000000000e+00 0 0 0 +1389 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.5537676708413661e+00 0.0000000000000000e+00 0 0 0 +1390 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.5679098064650967e+00 0.0000000000000000e+00 0 0 0 +1391 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.5749808742769629e+00 0.0000000000000000e+00 0 0 0 +1392 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.5679098064650967e+00 0.0000000000000000e+00 0 0 0 +1393 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.5820519420888282e+00 0.0000000000000000e+00 0 0 0 +1394 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.5891230099006934e+00 0.0000000000000000e+00 0 0 0 +1395 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.5820519420888282e+00 0.0000000000000000e+00 0 0 0 +1396 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.5961940777125587e+00 0.0000000000000000e+00 0 0 0 +1397 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.6032651455244240e+00 0.0000000000000000e+00 0 0 0 +1398 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.5961940777125587e+00 0.0000000000000000e+00 0 0 0 +1399 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.6103362133362902e+00 0.0000000000000000e+00 0 0 0 +1400 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.6174072811481555e+00 0.0000000000000000e+00 0 0 0 +1401 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.6103362133362902e+00 0.0000000000000000e+00 0 0 0 +1402 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.6244783489600207e+00 0.0000000000000000e+00 0 0 0 +1403 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.6315494167718860e+00 0.0000000000000000e+00 0 0 0 +1404 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.6244783489600207e+00 0.0000000000000000e+00 0 0 0 +1405 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.6386204845837522e+00 0.0000000000000000e+00 0 0 0 +1406 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.6456915523956175e+00 0.0000000000000000e+00 0 0 0 +1407 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.6386204845837522e+00 0.0000000000000000e+00 0 0 0 +1408 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.6527626202074828e+00 0.0000000000000000e+00 0 0 0 +1409 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.6598336880193481e+00 0.0000000000000000e+00 0 0 0 +1410 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.6527626202074828e+00 0.0000000000000000e+00 0 0 0 +1411 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.6669047558312133e+00 0.0000000000000000e+00 0 0 0 +1413 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.6669047558312133e+00 0.0000000000000000e+00 0 0 0 +1412 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.6739758236430795e+00 0.0000000000000000e+00 0 0 0 +1414 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.6810468914549448e+00 0.0000000000000000e+00 0 0 0 +1415 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.6881179592668101e+00 0.0000000000000000e+00 0 0 0 +1416 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.6810468914549448e+00 0.0000000000000000e+00 0 0 0 +1417 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.6951890270786754e+00 0.0000000000000000e+00 0 0 0 +1418 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.7022600948905415e+00 0.0000000000000000e+00 0 0 0 +1419 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.6951890270786754e+00 0.0000000000000000e+00 0 0 0 +1420 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.7093311627024068e+00 0.0000000000000000e+00 0 0 0 +1421 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.7164022305142721e+00 0.0000000000000000e+00 0 0 0 +1422 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.7093311627024068e+00 0.0000000000000000e+00 0 0 0 +1423 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.7234732983261374e+00 0.0000000000000000e+00 0 0 0 +1424 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.7305443661380027e+00 0.0000000000000000e+00 0 0 0 +1425 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.7234732983261374e+00 0.0000000000000000e+00 0 0 0 +1426 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.7376154339498688e+00 0.0000000000000000e+00 0 0 0 +1427 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.7446865017617341e+00 0.0000000000000000e+00 0 0 0 +1428 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.7376154339498688e+00 0.0000000000000000e+00 0 0 0 +1429 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.7517575695735994e+00 0.0000000000000000e+00 0 0 0 +1430 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.7588286373854647e+00 0.0000000000000000e+00 0 0 0 +1431 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.7517575695735994e+00 0.0000000000000000e+00 0 0 0 +1432 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.7658997051973300e+00 0.0000000000000000e+00 0 0 0 +1433 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.7729707730091961e+00 0.0000000000000000e+00 0 0 0 +1434 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.7658997051973300e+00 0.0000000000000000e+00 0 0 0 +1435 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.7800418408210614e+00 0.0000000000000000e+00 0 0 0 +1436 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.7871129086329267e+00 0.0000000000000000e+00 0 0 0 +1437 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.7800418408210614e+00 0.0000000000000000e+00 0 0 0 +1438 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.7941839764447920e+00 0.0000000000000000e+00 0 0 0 +1439 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.8012550442566582e+00 0.0000000000000000e+00 0 0 0 +1440 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.7941839764447920e+00 0.0000000000000000e+00 0 0 0 +1441 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.8083261120685235e+00 0.0000000000000000e+00 0 0 0 +1442 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.8153971798803887e+00 0.0000000000000000e+00 0 0 0 +1443 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.8083261120685235e+00 0.0000000000000000e+00 0 0 0 +1444 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.8224682476922540e+00 0.0000000000000000e+00 0 0 0 +1445 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.8295393155041193e+00 0.0000000000000000e+00 0 0 0 +1446 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.8224682476922540e+00 0.0000000000000000e+00 0 0 0 +1447 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.8366103833159855e+00 0.0000000000000000e+00 0 0 0 +1448 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.8436814511278508e+00 0.0000000000000000e+00 0 0 0 +1449 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.8366103833159855e+00 0.0000000000000000e+00 0 0 0 +1450 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.8507525189397160e+00 0.0000000000000000e+00 0 0 0 +1451 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.8578235867515813e+00 0.0000000000000000e+00 0 0 0 +1452 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.8507525189397160e+00 0.0000000000000000e+00 0 0 0 +1453 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.8648946545634466e+00 0.0000000000000000e+00 0 0 0 +1454 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.8719657223753128e+00 0.0000000000000000e+00 0 0 0 +1455 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.8648946545634466e+00 0.0000000000000000e+00 0 0 0 +1456 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.8790367901871781e+00 0.0000000000000000e+00 0 0 0 +1457 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.8861078579990433e+00 0.0000000000000000e+00 0 0 0 +1458 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.8790367901871781e+00 0.0000000000000000e+00 0 0 0 +1459 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.8931789258109086e+00 0.0000000000000000e+00 0 0 0 +1460 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.9002499936227748e+00 0.0000000000000000e+00 0 0 0 +1461 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.8931789258109086e+00 0.0000000000000000e+00 0 0 0 +1462 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.9073210614346401e+00 0.0000000000000000e+00 0 0 0 +1463 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.9143921292465054e+00 0.0000000000000000e+00 0 0 0 +1464 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.9073210614346401e+00 0.0000000000000000e+00 0 0 0 +1465 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.9214631970583707e+00 0.0000000000000000e+00 0 0 0 +1466 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.9285342648702359e+00 0.0000000000000000e+00 0 0 0 +1467 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.9214631970583707e+00 0.0000000000000000e+00 0 0 0 +1468 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.9356053326821021e+00 0.0000000000000000e+00 0 0 0 +1469 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.9426764004939674e+00 0.0000000000000000e+00 0 0 0 +1470 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.9356053326821021e+00 0.0000000000000000e+00 0 0 0 +1471 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.9497474683058327e+00 0.0000000000000000e+00 0 0 0 +1472 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.9568185361176980e+00 0.0000000000000000e+00 0 0 0 +1473 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.9497474683058327e+00 0.0000000000000000e+00 0 0 0 +1474 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.9638896039295641e+00 0.0000000000000000e+00 0 0 0 +1475 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.9709606717414294e+00 0.0000000000000000e+00 0 0 0 +1476 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.9638896039295641e+00 0.0000000000000000e+00 0 0 0 +1477 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.9780317395532947e+00 0.0000000000000000e+00 0 0 0 +1478 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.9851028073651600e+00 0.0000000000000000e+00 0 0 0 +1479 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.9780317395532947e+00 0.0000000000000000e+00 0 0 0 +1480 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 4.9921738751770253e+00 0.0000000000000000e+00 0 0 0 +1481 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 4.9992449429888914e+00 0.0000000000000000e+00 0 0 0 +1482 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 4.9921738751770253e+00 0.0000000000000000e+00 0 0 0 +1483 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.0063160108007567e+00 0.0000000000000000e+00 0 0 0 +1484 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.0133870786126220e+00 0.0000000000000000e+00 0 0 0 +1485 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.0063160108007567e+00 0.0000000000000000e+00 0 0 0 +1486 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.0204581464244873e+00 0.0000000000000000e+00 0 0 0 +1487 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.0275292142363526e+00 0.0000000000000000e+00 0 0 0 +1488 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.0204581464244873e+00 0.0000000000000000e+00 0 0 0 +1489 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.0346002820482187e+00 0.0000000000000000e+00 0 0 0 +1490 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.0416713498600840e+00 0.0000000000000000e+00 0 0 0 +1491 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.0346002820482187e+00 0.0000000000000000e+00 0 0 0 +1492 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.0487424176719493e+00 0.0000000000000000e+00 0 0 0 +1493 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.0558134854838146e+00 0.0000000000000000e+00 0 0 0 +1494 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.0487424176719493e+00 0.0000000000000000e+00 0 0 0 +1495 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.0628845532956808e+00 0.0000000000000000e+00 0 0 0 +1496 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.0699556211075461e+00 0.0000000000000000e+00 0 0 0 +1497 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.0628845532956808e+00 0.0000000000000000e+00 0 0 0 +1498 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.0770266889194113e+00 0.0000000000000000e+00 0 0 0 +1499 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.0840977567312766e+00 0.0000000000000000e+00 0 0 0 +1500 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.0770266889194113e+00 0.0000000000000000e+00 0 0 0 +1501 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.0911688245431419e+00 0.0000000000000000e+00 0 0 0 +1502 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.0982398923550081e+00 0.0000000000000000e+00 0 0 0 +1503 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.0911688245431419e+00 0.0000000000000000e+00 0 0 0 +1504 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.1053109601668734e+00 0.0000000000000000e+00 0 0 0 +1505 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.1123820279787386e+00 0.0000000000000000e+00 0 0 0 +1506 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.1053109601668734e+00 0.0000000000000000e+00 0 0 0 +1507 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.1194530957906039e+00 0.0000000000000000e+00 0 0 0 +1508 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.1265241636024692e+00 0.0000000000000000e+00 0 0 0 +1509 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.1194530957906039e+00 0.0000000000000000e+00 0 0 0 +1510 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.1335952314143354e+00 0.0000000000000000e+00 0 0 0 +1511 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.1406662992262007e+00 0.0000000000000000e+00 0 0 0 +1512 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.1335952314143354e+00 0.0000000000000000e+00 0 0 0 +1513 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.1477373670380659e+00 0.0000000000000000e+00 0 0 0 +1514 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.1548084348499312e+00 0.0000000000000000e+00 0 0 0 +1515 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.1477373670380659e+00 0.0000000000000000e+00 0 0 0 +1516 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.1618795026617974e+00 0.0000000000000000e+00 0 0 0 +1518 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.1618795026617974e+00 0.0000000000000000e+00 0 0 0 +1517 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.1689505704736627e+00 0.0000000000000000e+00 0 0 0 +1519 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.1760216382855280e+00 0.0000000000000000e+00 0 0 0 +1520 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.1830927060973933e+00 0.0000000000000000e+00 0 0 0 +1521 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.1760216382855280e+00 0.0000000000000000e+00 0 0 0 +1522 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.1901637739092585e+00 0.0000000000000000e+00 0 0 0 +1523 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.1972348417211247e+00 0.0000000000000000e+00 0 0 0 +1524 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.1901637739092585e+00 0.0000000000000000e+00 0 0 0 +1525 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.2043059095329900e+00 0.0000000000000000e+00 0 0 0 +1526 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.2113769773448553e+00 0.0000000000000000e+00 0 0 0 +1527 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.2043059095329900e+00 0.0000000000000000e+00 0 0 0 +1528 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.2184480451567206e+00 0.0000000000000000e+00 0 0 0 +1529 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.2255191129685858e+00 0.0000000000000000e+00 0 0 0 +1530 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.2184480451567206e+00 0.0000000000000000e+00 0 0 0 +1531 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.2325901807804520e+00 0.0000000000000000e+00 0 0 0 +1532 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.2396612485923173e+00 0.0000000000000000e+00 0 0 0 +1533 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.2325901807804520e+00 0.0000000000000000e+00 0 0 0 +1534 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.2467323164041826e+00 0.0000000000000000e+00 0 0 0 +1535 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.2538033842160479e+00 0.0000000000000000e+00 0 0 0 +1536 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.2467323164041826e+00 0.0000000000000000e+00 0 0 0 +1537 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.2608744520279140e+00 0.0000000000000000e+00 0 0 0 +1538 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.2679455198397793e+00 0.0000000000000000e+00 0 0 0 +1539 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.2608744520279140e+00 0.0000000000000000e+00 0 0 0 +1540 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.2750165876516446e+00 0.0000000000000000e+00 0 0 0 +1541 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.2820876554635099e+00 0.0000000000000000e+00 0 0 0 +1542 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.2750165876516446e+00 0.0000000000000000e+00 0 0 0 +1543 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.2891587232753752e+00 0.0000000000000000e+00 0 0 0 +1544 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.2962297910872413e+00 0.0000000000000000e+00 0 0 0 +1545 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.2891587232753752e+00 0.0000000000000000e+00 0 0 0 +1546 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.3033008588991066e+00 0.0000000000000000e+00 0 0 0 +1547 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.3103719267109719e+00 0.0000000000000000e+00 0 0 0 +1548 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.3033008588991066e+00 0.0000000000000000e+00 0 0 0 +1549 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.3174429945228372e+00 0.0000000000000000e+00 0 0 0 +1550 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.3245140623347034e+00 0.0000000000000000e+00 0 0 0 +1551 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.3174429945228372e+00 0.0000000000000000e+00 0 0 0 +1552 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.3315851301465687e+00 0.0000000000000000e+00 0 0 0 +1554 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.3315851301465687e+00 0.0000000000000000e+00 0 0 0 +1553 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.3386561979584339e+00 0.0000000000000000e+00 0 0 0 +1555 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.3457272657702992e+00 0.0000000000000000e+00 0 0 0 +1556 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.3527983335821645e+00 0.0000000000000000e+00 0 0 0 +1557 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.3457272657702992e+00 0.0000000000000000e+00 0 0 0 +1558 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.3598694013940307e+00 0.0000000000000000e+00 0 0 0 +1559 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.3669404692058960e+00 0.0000000000000000e+00 0 0 0 +1560 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.3598694013940307e+00 0.0000000000000000e+00 0 0 0 +1561 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.3740115370177612e+00 0.0000000000000000e+00 0 0 0 +1562 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.3810826048296265e+00 0.0000000000000000e+00 0 0 0 +1563 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.3740115370177612e+00 0.0000000000000000e+00 0 0 0 +1564 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.3881536726414918e+00 0.0000000000000000e+00 0 0 0 +1565 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.3952247404533580e+00 0.0000000000000000e+00 0 0 0 +1566 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.3881536726414918e+00 0.0000000000000000e+00 0 0 0 +1567 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.4022958082652233e+00 0.0000000000000000e+00 0 0 0 +1568 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.4093668760770885e+00 0.0000000000000000e+00 0 0 0 +1569 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.4022958082652233e+00 0.0000000000000000e+00 0 0 0 +1570 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.4164379438889538e+00 0.0000000000000000e+00 0 0 0 +1571 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.4235090117008200e+00 0.0000000000000000e+00 0 0 0 +1572 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.4164379438889538e+00 0.0000000000000000e+00 0 0 0 +1573 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.4305800795126853e+00 0.0000000000000000e+00 0 0 0 +1574 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.4376511473245506e+00 0.0000000000000000e+00 0 0 0 +1575 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.4305800795126853e+00 0.0000000000000000e+00 0 0 0 +1576 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.4447222151364159e+00 0.0000000000000000e+00 0 0 0 +1577 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.4517932829482811e+00 0.0000000000000000e+00 0 0 0 +1578 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.4447222151364159e+00 0.0000000000000000e+00 0 0 0 +1579 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.4588643507601473e+00 0.0000000000000000e+00 0 0 0 +1580 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.4659354185720126e+00 0.0000000000000000e+00 0 0 0 +1581 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.4588643507601473e+00 0.0000000000000000e+00 0 0 0 +1582 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.4730064863838779e+00 0.0000000000000000e+00 0 0 0 +1583 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.4800775541957432e+00 0.0000000000000000e+00 0 0 0 +1584 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.4730064863838779e+00 0.0000000000000000e+00 0 0 0 +1585 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.4871486220076084e+00 0.0000000000000000e+00 0 0 0 +1586 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.4942196898194746e+00 0.0000000000000000e+00 0 0 0 +1587 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.4871486220076084e+00 0.0000000000000000e+00 0 0 0 +1588 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.5012907576313399e+00 0.0000000000000000e+00 0 0 0 +1589 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.5083618254432052e+00 0.0000000000000000e+00 0 0 0 +1590 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.5012907576313399e+00 0.0000000000000000e+00 0 0 0 +1591 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.5154328932550705e+00 0.0000000000000000e+00 0 0 0 +1592 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.5225039610669366e+00 0.0000000000000000e+00 0 0 0 +1593 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.5154328932550705e+00 0.0000000000000000e+00 0 0 0 +1594 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.5295750288788019e+00 0.0000000000000000e+00 0 0 0 +1595 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.5366460966906672e+00 0.0000000000000000e+00 0 0 0 +1596 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.5295750288788019e+00 0.0000000000000000e+00 0 0 0 +1597 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.5437171645025325e+00 0.0000000000000000e+00 0 0 0 +1598 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.5507882323143978e+00 0.0000000000000000e+00 0 0 0 +1599 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.5437171645025325e+00 0.0000000000000000e+00 0 0 0 +1600 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.5578593001262639e+00 0.0000000000000000e+00 0 0 0 +1601 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.5649303679381292e+00 0.0000000000000000e+00 0 0 0 +1602 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.5578593001262639e+00 0.0000000000000000e+00 0 0 0 +1603 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.5720014357499945e+00 0.0000000000000000e+00 0 0 0 +1604 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.5790725035618598e+00 0.0000000000000000e+00 0 0 0 +1605 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.5720014357499945e+00 0.0000000000000000e+00 0 0 0 +1606 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.5861435713737251e+00 0.0000000000000000e+00 0 0 0 +1607 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.5932146391855913e+00 0.0000000000000000e+00 0 0 0 +1608 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.5861435713737251e+00 0.0000000000000000e+00 0 0 0 +1609 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.6002857069974565e+00 0.0000000000000000e+00 0 0 0 +1610 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.6073567748093218e+00 0.0000000000000000e+00 0 0 0 +1611 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.6002857069974565e+00 0.0000000000000000e+00 0 0 0 +1612 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.6144278426211871e+00 0.0000000000000000e+00 0 0 0 +1613 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.6214989104330533e+00 0.0000000000000000e+00 0 0 0 +1614 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.6144278426211871e+00 0.0000000000000000e+00 0 0 0 +1615 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.6285699782449186e+00 0.0000000000000000e+00 0 0 0 +1616 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.6356410460567838e+00 0.0000000000000000e+00 0 0 0 +1617 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.6285699782449186e+00 0.0000000000000000e+00 0 0 0 +1618 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.6427121138686491e+00 0.0000000000000000e+00 0 0 0 +1619 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.6497831816805144e+00 0.0000000000000000e+00 0 0 0 +1620 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.6427121138686491e+00 0.0000000000000000e+00 0 0 0 +1621 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.6568542494923806e+00 0.0000000000000000e+00 0 0 0 +1622 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.6639253173042459e+00 0.0000000000000000e+00 0 0 0 +1623 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.6568542494923806e+00 0.0000000000000000e+00 0 0 0 +1624 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.6709963851161111e+00 0.0000000000000000e+00 0 0 0 +1625 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.6780674529279764e+00 0.0000000000000000e+00 0 0 0 +1626 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.6709963851161111e+00 0.0000000000000000e+00 0 0 0 +1627 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.6851385207398426e+00 0.0000000000000000e+00 0 0 0 +1628 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.6922095885517079e+00 0.0000000000000000e+00 0 0 0 +1629 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.6851385207398426e+00 0.0000000000000000e+00 0 0 0 +1630 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.6992806563635732e+00 0.0000000000000000e+00 0 0 0 +1631 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.7063517241754385e+00 0.0000000000000000e+00 0 0 0 +1632 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.6992806563635732e+00 0.0000000000000000e+00 0 0 0 +1633 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.7134227919873037e+00 0.0000000000000000e+00 0 0 0 +1634 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.7204938597991699e+00 0.0000000000000000e+00 0 0 0 +1635 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.7134227919873037e+00 0.0000000000000000e+00 0 0 0 +1636 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.7275649276110352e+00 0.0000000000000000e+00 0 0 0 +1637 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.7346359954229005e+00 0.0000000000000000e+00 0 0 0 +1638 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.7275649276110352e+00 0.0000000000000000e+00 0 0 0 +1639 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.7417070632347658e+00 0.0000000000000000e+00 0 0 0 +1640 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.7487781310466310e+00 0.0000000000000000e+00 0 0 0 +1641 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.7417070632347658e+00 0.0000000000000000e+00 0 0 0 +1642 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.7558491988584972e+00 0.0000000000000000e+00 0 0 0 +1643 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.7629202666703625e+00 0.0000000000000000e+00 0 0 0 +1644 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.7558491988584972e+00 0.0000000000000000e+00 0 0 0 +1645 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.7699913344822278e+00 0.0000000000000000e+00 0 0 0 +1646 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.7770624022940931e+00 0.0000000000000000e+00 0 0 0 +1647 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.7699913344822278e+00 0.0000000000000000e+00 0 0 0 +1648 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.7841334701059592e+00 0.0000000000000000e+00 0 0 0 +1649 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.7912045379178245e+00 0.0000000000000000e+00 0 0 0 +1650 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.7841334701059592e+00 0.0000000000000000e+00 0 0 0 +1651 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.7982756057296898e+00 0.0000000000000000e+00 0 0 0 +1652 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.8053466735415551e+00 0.0000000000000000e+00 0 0 0 +1653 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.7982756057296898e+00 0.0000000000000000e+00 0 0 0 +1654 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.8124177413534204e+00 0.0000000000000000e+00 0 0 0 +1655 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.8194888091652865e+00 0.0000000000000000e+00 0 0 0 +1656 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.8124177413534204e+00 0.0000000000000000e+00 0 0 0 +1657 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.8265598769771518e+00 0.0000000000000000e+00 0 0 0 +1658 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.8336309447890171e+00 0.0000000000000000e+00 0 0 0 +1659 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.8265598769771518e+00 0.0000000000000000e+00 0 0 0 +1660 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.8407020126008824e+00 0.0000000000000000e+00 0 0 0 +1661 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.8477730804127477e+00 0.0000000000000000e+00 0 0 0 +1662 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.8407020126008824e+00 0.0000000000000000e+00 0 0 0 +1663 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.8548441482246139e+00 0.0000000000000000e+00 0 0 0 +1664 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.8619152160364791e+00 0.0000000000000000e+00 0 0 0 +1665 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.8548441482246139e+00 0.0000000000000000e+00 0 0 0 +1666 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.8689862838483444e+00 0.0000000000000000e+00 0 0 0 +1667 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.8760573516602097e+00 0.0000000000000000e+00 0 0 0 +1668 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.8689862838483444e+00 0.0000000000000000e+00 0 0 0 +1669 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.8831284194720759e+00 0.0000000000000000e+00 0 0 0 +1670 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.8901994872839412e+00 0.0000000000000000e+00 0 0 0 +1671 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.8831284194720759e+00 0.0000000000000000e+00 0 0 0 +1672 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.8972705550958064e+00 0.0000000000000000e+00 0 0 0 +1673 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.9043416229076717e+00 0.0000000000000000e+00 0 0 0 +1674 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.8972705550958064e+00 0.0000000000000000e+00 0 0 0 +1675 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.9114126907195370e+00 0.0000000000000000e+00 0 0 0 +1676 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.9184837585314032e+00 0.0000000000000000e+00 0 0 0 +1677 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.9114126907195370e+00 0.0000000000000000e+00 0 0 0 +1678 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.9255548263432685e+00 0.0000000000000000e+00 0 0 0 +1679 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.9326258941551338e+00 0.0000000000000000e+00 0 0 0 +1680 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.9255548263432685e+00 0.0000000000000000e+00 0 0 0 +1681 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.9396969619669990e+00 0.0000000000000000e+00 0 0 0 +1682 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.9467680297788652e+00 0.0000000000000000e+00 0 0 0 +1683 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.9396969619669990e+00 0.0000000000000000e+00 0 0 0 +1684 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.9538390975907305e+00 0.0000000000000000e+00 0 0 0 +1685 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.9609101654025958e+00 0.0000000000000000e+00 0 0 0 +1686 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.9538390975907305e+00 0.0000000000000000e+00 0 0 0 +1687 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.9679812332144611e+00 0.0000000000000000e+00 0 0 0 +1688 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.9750523010263263e+00 0.0000000000000000e+00 0 0 0 +1689 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.9679812332144611e+00 0.0000000000000000e+00 0 0 0 +1690 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.9821233688381925e+00 0.0000000000000000e+00 0 0 0 +1691 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 5.9891944366500578e+00 0.0000000000000000e+00 0 0 0 +1692 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.9821233688381925e+00 0.0000000000000000e+00 0 0 0 +1693 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.9962655044619231e+00 0.0000000000000000e+00 0 0 0 +1695 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 5.9962655044619231e+00 0.0000000000000000e+00 0 0 0 +1694 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.0033365722737884e+00 0.0000000000000000e+00 0 0 0 +1696 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.0104076400856536e+00 0.0000000000000000e+00 0 0 0 +1697 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.0174787078975198e+00 0.0000000000000000e+00 0 0 0 +1698 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.0104076400856536e+00 0.0000000000000000e+00 0 0 0 +1699 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.0245497757093851e+00 0.0000000000000000e+00 0 0 0 +1700 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.0316208435212504e+00 0.0000000000000000e+00 0 0 0 +1701 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.0245497757093851e+00 0.0000000000000000e+00 0 0 0 +1702 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.0386919113331157e+00 0.0000000000000000e+00 0 0 0 +1703 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.0457629791449818e+00 0.0000000000000000e+00 0 0 0 +1704 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.0386919113331157e+00 0.0000000000000000e+00 0 0 0 +1705 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.0528340469568471e+00 0.0000000000000000e+00 0 0 0 +1706 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.0599051147687124e+00 0.0000000000000000e+00 0 0 0 +1707 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.0528340469568471e+00 0.0000000000000000e+00 0 0 0 +1708 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.0669761825805777e+00 0.0000000000000000e+00 0 0 0 +1709 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.0740472503924430e+00 0.0000000000000000e+00 0 0 0 +1710 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.0669761825805777e+00 0.0000000000000000e+00 0 0 0 +1711 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.0811183182043091e+00 0.0000000000000000e+00 0 0 0 +1712 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.0881893860161744e+00 0.0000000000000000e+00 0 0 0 +1713 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.0811183182043091e+00 0.0000000000000000e+00 0 0 0 +1714 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.0952604538280397e+00 0.0000000000000000e+00 0 0 0 +1715 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.1023315216399050e+00 0.0000000000000000e+00 0 0 0 +1716 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.0952604538280397e+00 0.0000000000000000e+00 0 0 0 +1717 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.1094025894517703e+00 0.0000000000000000e+00 0 0 0 +1718 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.1164736572636365e+00 0.0000000000000000e+00 0 0 0 +1719 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.1094025894517703e+00 0.0000000000000000e+00 0 0 0 +1720 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.1235447250755017e+00 0.0000000000000000e+00 0 0 0 +1721 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.1306157928873670e+00 0.0000000000000000e+00 0 0 0 +1722 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.1235447250755017e+00 0.0000000000000000e+00 0 0 0 +1723 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.1376868606992323e+00 0.0000000000000000e+00 0 0 0 +1724 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.1447579285110985e+00 0.0000000000000000e+00 0 0 0 +1725 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.1376868606992323e+00 0.0000000000000000e+00 0 0 0 +1726 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.1518289963229638e+00 0.0000000000000000e+00 0 0 0 +1727 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.1589000641348290e+00 0.0000000000000000e+00 0 0 0 +1728 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.1518289963229638e+00 0.0000000000000000e+00 0 0 0 +1729 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.1659711319466943e+00 0.0000000000000000e+00 0 0 0 +1731 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.1659711319466943e+00 0.0000000000000000e+00 0 0 0 +1730 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.1730421997585596e+00 0.0000000000000000e+00 0 0 0 +1732 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.1801132675704258e+00 0.0000000000000000e+00 0 0 0 +1733 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.1871843353822911e+00 0.0000000000000000e+00 0 0 0 +1734 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.1801132675704258e+00 0.0000000000000000e+00 0 0 0 +1735 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.1942554031941564e+00 0.0000000000000000e+00 0 0 0 +1736 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.2013264710060216e+00 0.0000000000000000e+00 0 0 0 +1737 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.1942554031941564e+00 0.0000000000000000e+00 0 0 0 +1738 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.2083975388178869e+00 0.0000000000000000e+00 0 0 0 +1739 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.2154686066297531e+00 0.0000000000000000e+00 0 0 0 +1740 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.2083975388178869e+00 0.0000000000000000e+00 0 0 0 +1741 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.2225396744416184e+00 0.0000000000000000e+00 0 0 0 +1742 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.2296107422534837e+00 0.0000000000000000e+00 0 0 0 +1743 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.2225396744416184e+00 0.0000000000000000e+00 0 0 0 +1744 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.2366818100653489e+00 0.0000000000000000e+00 0 0 0 +1745 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.2437528778772151e+00 0.0000000000000000e+00 0 0 0 +1746 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.2366818100653489e+00 0.0000000000000000e+00 0 0 0 +1747 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.2508239456890804e+00 0.0000000000000000e+00 0 0 0 +1748 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.2578950135009457e+00 0.0000000000000000e+00 0 0 0 +1749 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.2508239456890804e+00 0.0000000000000000e+00 0 0 0 +1750 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.2649660813128110e+00 0.0000000000000000e+00 0 0 0 +1751 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.2720371491246762e+00 0.0000000000000000e+00 0 0 0 +1752 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.2649660813128110e+00 0.0000000000000000e+00 0 0 0 +1753 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.2791082169365424e+00 0.0000000000000000e+00 0 0 0 +1754 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.2861792847484077e+00 0.0000000000000000e+00 0 0 0 +1755 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.2791082169365424e+00 0.0000000000000000e+00 0 0 0 +1756 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.2932503525602730e+00 0.0000000000000000e+00 0 0 0 +1757 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.3003214203721383e+00 0.0000000000000000e+00 0 0 0 +1758 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.2932503525602730e+00 0.0000000000000000e+00 0 0 0 +1759 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.3073924881840044e+00 0.0000000000000000e+00 0 0 0 +1760 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.3144635559958697e+00 0.0000000000000000e+00 0 0 0 +1761 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.3073924881840044e+00 0.0000000000000000e+00 0 0 0 +1762 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.3215346238077350e+00 0.0000000000000000e+00 0 0 0 +1763 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.3286056916196003e+00 0.0000000000000000e+00 0 0 0 +1764 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.3215346238077350e+00 0.0000000000000000e+00 0 0 0 +1765 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.3356767594314656e+00 0.0000000000000000e+00 0 0 0 +1766 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.3427478272433317e+00 0.0000000000000000e+00 0 0 0 +1767 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.3356767594314656e+00 0.0000000000000000e+00 0 0 0 +1768 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.3498188950551970e+00 0.0000000000000000e+00 0 0 0 +1769 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.3568899628670623e+00 0.0000000000000000e+00 0 0 0 +1770 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.3498188950551970e+00 0.0000000000000000e+00 0 0 0 +1771 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.3639610306789276e+00 0.0000000000000000e+00 0 0 0 +1772 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.3710320984907929e+00 0.0000000000000000e+00 0 0 0 +1773 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.3639610306789276e+00 0.0000000000000000e+00 0 0 0 +1774 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.3781031663026591e+00 0.0000000000000000e+00 0 0 0 +1775 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.3851742341145243e+00 0.0000000000000000e+00 0 0 0 +1776 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.3781031663026591e+00 0.0000000000000000e+00 0 0 0 +1777 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.3922453019263896e+00 0.0000000000000000e+00 0 0 0 +1778 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.3993163697382549e+00 0.0000000000000000e+00 0 0 0 +1779 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.3922453019263896e+00 0.0000000000000000e+00 0 0 0 +1780 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.4063874375501211e+00 0.0000000000000000e+00 0 0 0 +1781 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.4134585053619864e+00 0.0000000000000000e+00 0 0 0 +1782 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.4063874375501211e+00 0.0000000000000000e+00 0 0 0 +1783 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.4205295731738516e+00 0.0000000000000000e+00 0 0 0 +1784 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.4276006409857169e+00 0.0000000000000000e+00 0 0 0 +1785 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.4205295731738516e+00 0.0000000000000000e+00 0 0 0 +1786 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.4346717087975822e+00 0.0000000000000000e+00 0 0 0 +1787 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.4417427766094484e+00 0.0000000000000000e+00 0 0 0 +1788 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.4346717087975822e+00 0.0000000000000000e+00 0 0 0 +1789 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.4488138444213137e+00 0.0000000000000000e+00 0 0 0 +1790 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.4558849122331790e+00 0.0000000000000000e+00 0 0 0 +1791 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.4488138444213137e+00 0.0000000000000000e+00 0 0 0 +1792 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.4629559800450442e+00 0.0000000000000000e+00 0 0 0 +1793 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.4700270478569095e+00 0.0000000000000000e+00 0 0 0 +1794 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.4629559800450442e+00 0.0000000000000000e+00 0 0 0 +1795 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.4770981156687757e+00 0.0000000000000000e+00 0 0 0 +1796 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.4841691834806410e+00 0.0000000000000000e+00 0 0 0 +1797 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.4770981156687757e+00 0.0000000000000000e+00 0 0 0 +1798 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.4912402512925063e+00 0.0000000000000000e+00 0 0 0 +1799 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.4983113191043715e+00 0.0000000000000000e+00 0 0 0 +1800 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.4912402512925063e+00 0.0000000000000000e+00 0 0 0 +1801 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.5053823869162377e+00 0.0000000000000000e+00 0 0 0 +1802 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.5124534547281030e+00 0.0000000000000000e+00 0 0 0 +1803 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.5053823869162377e+00 0.0000000000000000e+00 0 0 0 +1804 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.5195245225399683e+00 0.0000000000000000e+00 0 0 0 +1805 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.5265955903518336e+00 0.0000000000000000e+00 0 0 0 +1806 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.5195245225399683e+00 0.0000000000000000e+00 0 0 0 +1807 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.5336666581636988e+00 0.0000000000000000e+00 0 0 0 +1808 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.5407377259755650e+00 0.0000000000000000e+00 0 0 0 +1809 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.5336666581636988e+00 0.0000000000000000e+00 0 0 0 +1810 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.5478087937874303e+00 0.0000000000000000e+00 0 0 0 +1811 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.5548798615992956e+00 0.0000000000000000e+00 0 0 0 +1812 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.5478087937874303e+00 0.0000000000000000e+00 0 0 0 +1813 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.5619509294111609e+00 0.0000000000000000e+00 0 0 0 +1814 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.5690219972230262e+00 0.0000000000000000e+00 0 0 0 +1815 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.5619509294111609e+00 0.0000000000000000e+00 0 0 0 +1816 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.5760930650348923e+00 0.0000000000000000e+00 0 0 0 +1817 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.5831641328467576e+00 0.0000000000000000e+00 0 0 0 +1818 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.5760930650348923e+00 0.0000000000000000e+00 0 0 0 +1819 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.5902352006586229e+00 0.0000000000000000e+00 0 0 0 +1820 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.5973062684704882e+00 0.0000000000000000e+00 0 0 0 +1821 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.5902352006586229e+00 0.0000000000000000e+00 0 0 0 +1822 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.6043773362823543e+00 0.0000000000000000e+00 0 0 0 +1823 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.6114484040942196e+00 0.0000000000000000e+00 0 0 0 +1824 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.6043773362823543e+00 0.0000000000000000e+00 0 0 0 +1825 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.6185194719060849e+00 0.0000000000000000e+00 0 0 0 +1826 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.6255905397179502e+00 0.0000000000000000e+00 0 0 0 +1827 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.6185194719060849e+00 0.0000000000000000e+00 0 0 0 +1828 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.6326616075298155e+00 0.0000000000000000e+00 0 0 0 +1829 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.6397326753416817e+00 0.0000000000000000e+00 0 0 0 +1830 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.6326616075298155e+00 0.0000000000000000e+00 0 0 0 +1831 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.6468037431535469e+00 0.0000000000000000e+00 0 0 0 +1832 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.6538748109654122e+00 0.0000000000000000e+00 0 0 0 +1833 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.6468037431535469e+00 0.0000000000000000e+00 0 0 0 +1834 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.6609458787772775e+00 0.0000000000000000e+00 0 0 0 +1836 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.6609458787772775e+00 0.0000000000000000e+00 0 0 0 +1835 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.6680169465891437e+00 0.0000000000000000e+00 0 0 0 +1837 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.6750880144010090e+00 0.0000000000000000e+00 0 0 0 +1838 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.6821590822128742e+00 0.0000000000000000e+00 0 0 0 +1839 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.6750880144010090e+00 0.0000000000000000e+00 0 0 0 +1840 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.6892301500247395e+00 0.0000000000000000e+00 0 0 0 +1841 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.6963012178366048e+00 0.0000000000000000e+00 0 0 0 +1842 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.6892301500247395e+00 0.0000000000000000e+00 0 0 0 +1843 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.7033722856484710e+00 0.0000000000000000e+00 0 0 0 +1844 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.7104433534603363e+00 0.0000000000000000e+00 0 0 0 +1845 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.7033722856484710e+00 0.0000000000000000e+00 0 0 0 +1846 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.7175144212722016e+00 0.0000000000000000e+00 0 0 0 +1847 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.7245854890840668e+00 0.0000000000000000e+00 0 0 0 +1848 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.7175144212722016e+00 0.0000000000000000e+00 0 0 0 +1849 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.7316565568959321e+00 0.0000000000000000e+00 0 0 0 +1850 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.7387276247077983e+00 0.0000000000000000e+00 0 0 0 +1851 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.7316565568959321e+00 0.0000000000000000e+00 0 0 0 +1852 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.7457986925196636e+00 0.0000000000000000e+00 0 0 0 +1853 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.7528697603315289e+00 0.0000000000000000e+00 0 0 0 +1854 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.7457986925196636e+00 0.0000000000000000e+00 0 0 0 +1855 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.7599408281433941e+00 0.0000000000000000e+00 0 0 0 +1856 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.7670118959552603e+00 0.0000000000000000e+00 0 0 0 +1857 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.7599408281433941e+00 0.0000000000000000e+00 0 0 0 +1858 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.7740829637671256e+00 0.0000000000000000e+00 0 0 0 +1859 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.7811540315789909e+00 0.0000000000000000e+00 0 0 0 +1860 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.7740829637671256e+00 0.0000000000000000e+00 0 0 0 +1861 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.7882250993908562e+00 0.0000000000000000e+00 0 0 0 +1862 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.7952961672027214e+00 0.0000000000000000e+00 0 0 0 +1863 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.7882250993908562e+00 0.0000000000000000e+00 0 0 0 +1864 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.8023672350145876e+00 0.0000000000000000e+00 0 0 0 +1865 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.8094383028264529e+00 0.0000000000000000e+00 0 0 0 +1866 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.8023672350145876e+00 0.0000000000000000e+00 0 0 0 +1867 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.8165093706383182e+00 0.0000000000000000e+00 0 0 0 +1868 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.8235804384501835e+00 0.0000000000000000e+00 0 0 0 +1869 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.8165093706383182e+00 0.0000000000000000e+00 0 0 0 +1870 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.8306515062620488e+00 0.0000000000000000e+00 0 0 0 +1872 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.8306515062620488e+00 0.0000000000000000e+00 0 0 0 +1871 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.8377225740739149e+00 0.0000000000000000e+00 0 0 0 +1873 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.8447936418857802e+00 0.0000000000000000e+00 0 0 0 +1874 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.8518647096976455e+00 0.0000000000000000e+00 0 0 0 +1875 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.8447936418857802e+00 0.0000000000000000e+00 0 0 0 +1876 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.8589357775095108e+00 0.0000000000000000e+00 0 0 0 +1877 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.8660068453213770e+00 0.0000000000000000e+00 0 0 0 +1878 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.8589357775095108e+00 0.0000000000000000e+00 0 0 0 +1879 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.8730779131332422e+00 0.0000000000000000e+00 0 0 0 +1880 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.8801489809451075e+00 0.0000000000000000e+00 0 0 0 +1881 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.8730779131332422e+00 0.0000000000000000e+00 0 0 0 +1882 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.8872200487569728e+00 0.0000000000000000e+00 0 0 0 +1883 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.8942911165688381e+00 0.0000000000000000e+00 0 0 0 +1884 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.8872200487569728e+00 0.0000000000000000e+00 0 0 0 +1885 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.9013621843807043e+00 0.0000000000000000e+00 0 0 0 +1886 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.9084332521925695e+00 0.0000000000000000e+00 0 0 0 +1887 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.9013621843807043e+00 0.0000000000000000e+00 0 0 0 +1888 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.9155043200044348e+00 0.0000000000000000e+00 0 0 0 +1889 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.9225753878163001e+00 0.0000000000000000e+00 0 0 0 +1890 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.9155043200044348e+00 0.0000000000000000e+00 0 0 0 +1891 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.9296464556281663e+00 0.0000000000000000e+00 0 0 0 +1892 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.9367175234400316e+00 0.0000000000000000e+00 0 0 0 +1893 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.9296464556281663e+00 0.0000000000000000e+00 0 0 0 +1894 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.9437885912518968e+00 0.0000000000000000e+00 0 0 0 +1895 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.9508596590637621e+00 0.0000000000000000e+00 0 0 0 +1896 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.9437885912518968e+00 0.0000000000000000e+00 0 0 0 +1897 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.9579307268756274e+00 0.0000000000000000e+00 0 0 0 +1898 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.9650017946874936e+00 0.0000000000000000e+00 0 0 0 +1899 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.9579307268756274e+00 0.0000000000000000e+00 0 0 0 +1900 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.9720728624993589e+00 0.0000000000000000e+00 0 0 0 +1901 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.9791439303112242e+00 0.0000000000000000e+00 0 0 0 +1902 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.9720728624993589e+00 0.0000000000000000e+00 0 0 0 +1903 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 6.9862149981230894e+00 0.0000000000000000e+00 0 0 0 +1904 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 6.9932860659349547e+00 0.0000000000000000e+00 0 0 0 +1905 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 6.9862149981230894e+00 0.0000000000000000e+00 0 0 0 +1906 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.0003571337468209e+00 0.0000000000000000e+00 0 0 0 +1908 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.0003571337468209e+00 0.0000000000000000e+00 0 0 0 +1907 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.0074282015586862e+00 0.0000000000000000e+00 0 0 0 +1909 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.0144992693705515e+00 0.0000000000000000e+00 0 0 0 +1910 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.0215703371824167e+00 0.0000000000000000e+00 0 0 0 +1911 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.0144992693705515e+00 0.0000000000000000e+00 0 0 0 +1912 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.0286414049942829e+00 0.0000000000000000e+00 0 0 0 +1913 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.0357124728061482e+00 0.0000000000000000e+00 0 0 0 +1914 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.0286414049942829e+00 0.0000000000000000e+00 0 0 0 +1915 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.0427835406180135e+00 0.0000000000000000e+00 0 0 0 +1916 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.0498546084298788e+00 0.0000000000000000e+00 0 0 0 +1917 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.0427835406180135e+00 0.0000000000000000e+00 0 0 0 +1918 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.0569256762417440e+00 0.0000000000000000e+00 0 0 0 +1919 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.0639967440536102e+00 0.0000000000000000e+00 0 0 0 +1920 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.0569256762417440e+00 0.0000000000000000e+00 0 0 0 +1921 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.0710678118654755e+00 0.0000000000000000e+00 0 0 0 +1922 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.0781388796773408e+00 0.0000000000000000e+00 0 0 0 +1923 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.0710678118654755e+00 0.0000000000000000e+00 0 0 0 +1924 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.0852099474892061e+00 0.0000000000000000e+00 0 0 0 +1925 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.0922810153010714e+00 0.0000000000000000e+00 0 0 0 +1926 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.0852099474892061e+00 0.0000000000000000e+00 0 0 0 +1927 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.0993520831129375e+00 0.0000000000000000e+00 0 0 0 +1928 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.1064231509248028e+00 0.0000000000000000e+00 0 0 0 +1929 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.0993520831129375e+00 0.0000000000000000e+00 0 0 0 +1930 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.1134942187366681e+00 0.0000000000000000e+00 0 0 0 +1931 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.1205652865485334e+00 0.0000000000000000e+00 0 0 0 +1932 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.1134942187366681e+00 0.0000000000000000e+00 0 0 0 +1933 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.1276363543603996e+00 0.0000000000000000e+00 0 0 0 +1934 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.1347074221722648e+00 0.0000000000000000e+00 0 0 0 +1935 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.1276363543603996e+00 0.0000000000000000e+00 0 0 0 +1936 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.1417784899841301e+00 0.0000000000000000e+00 0 0 0 +1937 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.1488495577959954e+00 0.0000000000000000e+00 0 0 0 +1938 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.1417784899841301e+00 0.0000000000000000e+00 0 0 0 +1939 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.1559206256078607e+00 0.0000000000000000e+00 0 0 0 +1940 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.1629916934197269e+00 0.0000000000000000e+00 0 0 0 +1941 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.1559206256078607e+00 0.0000000000000000e+00 0 0 0 +1942 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.1700627612315921e+00 0.0000000000000000e+00 0 0 0 +1943 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.1771338290434574e+00 0.0000000000000000e+00 0 0 0 +1944 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.1700627612315921e+00 0.0000000000000000e+00 0 0 0 +1945 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.1842048968553227e+00 0.0000000000000000e+00 0 0 0 +1946 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.1912759646671880e+00 0.0000000000000000e+00 0 0 0 +1947 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.1842048968553227e+00 0.0000000000000000e+00 0 0 0 +1948 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.1983470324790542e+00 0.0000000000000000e+00 0 0 0 +1949 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.2054181002909194e+00 0.0000000000000000e+00 0 0 0 +1950 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.1983470324790542e+00 0.0000000000000000e+00 0 0 0 +1951 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.2124891681027847e+00 0.0000000000000000e+00 0 0 0 +1952 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.2195602359146500e+00 0.0000000000000000e+00 0 0 0 +1953 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.2124891681027847e+00 0.0000000000000000e+00 0 0 0 +1954 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.2266313037265162e+00 0.0000000000000000e+00 0 0 0 +1955 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.2337023715383815e+00 0.0000000000000000e+00 0 0 0 +1956 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.2266313037265162e+00 0.0000000000000000e+00 0 0 0 +1957 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.2407734393502468e+00 0.0000000000000000e+00 0 0 0 +1958 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.2478445071621120e+00 0.0000000000000000e+00 0 0 0 +1959 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.2407734393502468e+00 0.0000000000000000e+00 0 0 0 +1960 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.2549155749739773e+00 0.0000000000000000e+00 0 0 0 +1961 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.2619866427858435e+00 0.0000000000000000e+00 0 0 0 +1962 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.2549155749739773e+00 0.0000000000000000e+00 0 0 0 +1963 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.2690577105977088e+00 0.0000000000000000e+00 0 0 0 +1964 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.2761287784095741e+00 0.0000000000000000e+00 0 0 0 +1965 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.2690577105977088e+00 0.0000000000000000e+00 0 0 0 +1966 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.2831998462214393e+00 0.0000000000000000e+00 0 0 0 +1967 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.2902709140333055e+00 0.0000000000000000e+00 0 0 0 +1968 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.2831998462214393e+00 0.0000000000000000e+00 0 0 0 +1969 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.2973419818451708e+00 0.0000000000000000e+00 0 0 0 +1970 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.3044130496570361e+00 0.0000000000000000e+00 0 0 0 +1971 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.2973419818451708e+00 0.0000000000000000e+00 0 0 0 +1972 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.3114841174689014e+00 0.0000000000000000e+00 0 0 0 +1973 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.3185551852807667e+00 0.0000000000000000e+00 0 0 0 +1974 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.3114841174689014e+00 0.0000000000000000e+00 0 0 0 +1975 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.3256262530926328e+00 0.0000000000000000e+00 0 0 0 +1976 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.3326973209044981e+00 0.0000000000000000e+00 0 0 0 +1977 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.3256262530926328e+00 0.0000000000000000e+00 0 0 0 +1978 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.3397683887163634e+00 0.0000000000000000e+00 0 0 0 +1979 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.3468394565282287e+00 0.0000000000000000e+00 0 0 0 +1980 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.3397683887163634e+00 0.0000000000000000e+00 0 0 0 +1981 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.3539105243400940e+00 0.0000000000000000e+00 0 0 0 +1982 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.3609815921519601e+00 0.0000000000000000e+00 0 0 0 +1983 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.3539105243400940e+00 0.0000000000000000e+00 0 0 0 +1984 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.3680526599638254e+00 0.0000000000000000e+00 0 0 0 +1985 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.3751237277756907e+00 0.0000000000000000e+00 0 0 0 +1986 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.3680526599638254e+00 0.0000000000000000e+00 0 0 0 +1987 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.3821947955875560e+00 0.0000000000000000e+00 0 0 0 +1988 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.3892658633994222e+00 0.0000000000000000e+00 0 0 0 +1989 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.3821947955875560e+00 0.0000000000000000e+00 0 0 0 +1990 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.3963369312112874e+00 0.0000000000000000e+00 0 0 0 +1991 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.4034079990231527e+00 0.0000000000000000e+00 0 0 0 +1992 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.3963369312112874e+00 0.0000000000000000e+00 0 0 0 +1993 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.4104790668350180e+00 0.0000000000000000e+00 0 0 0 +1994 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.4175501346468833e+00 0.0000000000000000e+00 0 0 0 +1995 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.4104790668350180e+00 0.0000000000000000e+00 0 0 0 +1996 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.4246212024587495e+00 0.0000000000000000e+00 0 0 0 +1997 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.4316922702706147e+00 0.0000000000000000e+00 0 0 0 +1998 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.4246212024587495e+00 0.0000000000000000e+00 0 0 0 +1999 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.4387633380824800e+00 0.0000000000000000e+00 0 0 0 +2000 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.4458344058943453e+00 0.0000000000000000e+00 0 0 0 +2001 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.4387633380824800e+00 0.0000000000000000e+00 0 0 0 +2002 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.4529054737062106e+00 0.0000000000000000e+00 0 0 0 +2003 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.4599765415180768e+00 0.0000000000000000e+00 0 0 0 +2004 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.4529054737062106e+00 0.0000000000000000e+00 0 0 0 +2005 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.4670476093299420e+00 0.0000000000000000e+00 0 0 0 +2006 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.4741186771418073e+00 0.0000000000000000e+00 0 0 0 +2007 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.4670476093299420e+00 0.0000000000000000e+00 0 0 0 +2008 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.4811897449536726e+00 0.0000000000000000e+00 0 0 0 +2009 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.4882608127655388e+00 0.0000000000000000e+00 0 0 0 +2010 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.4811897449536726e+00 0.0000000000000000e+00 0 0 0 +2011 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.4953318805774041e+00 0.0000000000000000e+00 0 0 0 +2013 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.4953318805774041e+00 0.0000000000000000e+00 0 0 0 +2012 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.5024029483892694e+00 0.0000000000000000e+00 0 0 0 +2014 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.5094740162011346e+00 0.0000000000000000e+00 0 0 0 +2015 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.5165450840129999e+00 0.0000000000000000e+00 0 0 0 +2016 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.5094740162011346e+00 0.0000000000000000e+00 0 0 0 +2017 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.5236161518248661e+00 0.0000000000000000e+00 0 0 0 +2018 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.5306872196367314e+00 0.0000000000000000e+00 0 0 0 +2019 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.5236161518248661e+00 0.0000000000000000e+00 0 0 0 +2020 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.5377582874485967e+00 0.0000000000000000e+00 0 0 0 +2021 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.5448293552604619e+00 0.0000000000000000e+00 0 0 0 +2022 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.5377582874485967e+00 0.0000000000000000e+00 0 0 0 +2023 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.5519004230723272e+00 0.0000000000000000e+00 0 0 0 +2024 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.5589714908841934e+00 0.0000000000000000e+00 0 0 0 +2025 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.5519004230723272e+00 0.0000000000000000e+00 0 0 0 +2026 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.5660425586960587e+00 0.0000000000000000e+00 0 0 0 +2027 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.5731136265079240e+00 0.0000000000000000e+00 0 0 0 +2028 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.5660425586960587e+00 0.0000000000000000e+00 0 0 0 +2029 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.5801846943197893e+00 0.0000000000000000e+00 0 0 0 +2030 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.5872557621316554e+00 0.0000000000000000e+00 0 0 0 +2031 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.5801846943197893e+00 0.0000000000000000e+00 0 0 0 +2032 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.5943268299435207e+00 0.0000000000000000e+00 0 0 0 +2033 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.6013978977553860e+00 0.0000000000000000e+00 0 0 0 +2034 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.5943268299435207e+00 0.0000000000000000e+00 0 0 0 +2035 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.6084689655672513e+00 0.0000000000000000e+00 0 0 0 +2036 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.6155400333791166e+00 0.0000000000000000e+00 0 0 0 +2037 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.6084689655672513e+00 0.0000000000000000e+00 0 0 0 +2038 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.6226111011909827e+00 0.0000000000000000e+00 0 0 0 +2039 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.6296821690028480e+00 0.0000000000000000e+00 0 0 0 +2040 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.6226111011909827e+00 0.0000000000000000e+00 0 0 0 +2041 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.6367532368147133e+00 0.0000000000000000e+00 0 0 0 +2042 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.6438243046265786e+00 0.0000000000000000e+00 0 0 0 +2043 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.6367532368147133e+00 0.0000000000000000e+00 0 0 0 +2044 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.6508953724384448e+00 0.0000000000000000e+00 0 0 0 +2045 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.6579664402503100e+00 0.0000000000000000e+00 0 0 0 +2046 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.6508953724384448e+00 0.0000000000000000e+00 0 0 0 +2047 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.6650375080621753e+00 0.0000000000000000e+00 0 0 0 +2049 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.6650375080621753e+00 0.0000000000000000e+00 0 0 0 +2048 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.6721085758740406e+00 0.0000000000000000e+00 0 0 0 +2050 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.6791796436859059e+00 0.0000000000000000e+00 0 0 0 +2051 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.6862507114977721e+00 0.0000000000000000e+00 0 0 0 +2052 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.6791796436859059e+00 0.0000000000000000e+00 0 0 0 +2053 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.6933217793096373e+00 0.0000000000000000e+00 0 0 0 +2054 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.7003928471215026e+00 0.0000000000000000e+00 0 0 0 +2055 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.6933217793096373e+00 0.0000000000000000e+00 0 0 0 +2056 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.7074639149333679e+00 0.0000000000000000e+00 0 0 0 +2057 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.7145349827452332e+00 0.0000000000000000e+00 0 0 0 +2058 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.7074639149333679e+00 0.0000000000000000e+00 0 0 0 +2059 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.7216060505570994e+00 0.0000000000000000e+00 0 0 0 +2060 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.7286771183689646e+00 0.0000000000000000e+00 0 0 0 +2061 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.7216060505570994e+00 0.0000000000000000e+00 0 0 0 +2062 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.7357481861808299e+00 0.0000000000000000e+00 0 0 0 +2063 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.7428192539926952e+00 0.0000000000000000e+00 0 0 0 +2064 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.7357481861808299e+00 0.0000000000000000e+00 0 0 0 +2065 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.7498903218045614e+00 0.0000000000000000e+00 0 0 0 +2066 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.7569613896164267e+00 0.0000000000000000e+00 0 0 0 +2067 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.7498903218045614e+00 0.0000000000000000e+00 0 0 0 +2068 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.7640324574282920e+00 0.0000000000000000e+00 0 0 0 +2069 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.7711035252401572e+00 0.0000000000000000e+00 0 0 0 +2070 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.7640324574282920e+00 0.0000000000000000e+00 0 0 0 +2071 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.7781745930520225e+00 0.0000000000000000e+00 0 0 0 +2072 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.7852456608638887e+00 0.0000000000000000e+00 0 0 0 +2073 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.7781745930520225e+00 0.0000000000000000e+00 0 0 0 +2074 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.7923167286757540e+00 0.0000000000000000e+00 0 0 0 +2075 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.7993877964876193e+00 0.0000000000000000e+00 0 0 0 +2076 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.7923167286757540e+00 0.0000000000000000e+00 0 0 0 +2077 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.8064588642994845e+00 0.0000000000000000e+00 0 0 0 +2078 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.8135299321113498e+00 0.0000000000000000e+00 0 0 0 +2079 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.8064588642994845e+00 0.0000000000000000e+00 0 0 0 +2080 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.8206009999232160e+00 0.0000000000000000e+00 0 0 0 +2081 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.8276720677350813e+00 0.0000000000000000e+00 0 0 0 +2082 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.8206009999232160e+00 0.0000000000000000e+00 0 0 0 +2083 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.8347431355469466e+00 0.0000000000000000e+00 0 0 0 +2084 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.8418142033588119e+00 0.0000000000000000e+00 0 0 0 +2085 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.8347431355469466e+00 0.0000000000000000e+00 0 0 0 +2086 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.8488852711706780e+00 0.0000000000000000e+00 0 0 0 +2087 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.8559563389825433e+00 0.0000000000000000e+00 0 0 0 +2088 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.8488852711706780e+00 0.0000000000000000e+00 0 0 0 +2089 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.8630274067944086e+00 0.0000000000000000e+00 0 0 0 +2090 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.8700984746062739e+00 0.0000000000000000e+00 0 0 0 +2091 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.8630274067944086e+00 0.0000000000000000e+00 0 0 0 +2092 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.8771695424181392e+00 0.0000000000000000e+00 0 0 0 +2093 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.8842406102300053e+00 0.0000000000000000e+00 0 0 0 +2094 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.8771695424181392e+00 0.0000000000000000e+00 0 0 0 +2095 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.8913116780418706e+00 0.0000000000000000e+00 0 0 0 +2096 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.8983827458537359e+00 0.0000000000000000e+00 0 0 0 +2097 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.8913116780418706e+00 0.0000000000000000e+00 0 0 0 +2098 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.9054538136656012e+00 0.0000000000000000e+00 0 0 0 +2099 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.9125248814774674e+00 0.0000000000000000e+00 0 0 0 +2100 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.9054538136656012e+00 0.0000000000000000e+00 0 0 0 +2101 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.9195959492893326e+00 0.0000000000000000e+00 0 0 0 +2102 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.9266670171011979e+00 0.0000000000000000e+00 0 0 0 +2103 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.9195959492893326e+00 0.0000000000000000e+00 0 0 0 +2104 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.9337380849130632e+00 0.0000000000000000e+00 0 0 0 +2105 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.9408091527249285e+00 0.0000000000000000e+00 0 0 0 +2106 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.9337380849130632e+00 0.0000000000000000e+00 0 0 0 +2107 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.9478802205367947e+00 0.0000000000000000e+00 0 0 0 +2108 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.9549512883486599e+00 0.0000000000000000e+00 0 0 0 +2109 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.9478802205367947e+00 0.0000000000000000e+00 0 0 0 +2110 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.9620223561605252e+00 0.0000000000000000e+00 0 0 0 +2111 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.9690934239723905e+00 0.0000000000000000e+00 0 0 0 +2112 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.9620223561605252e+00 0.0000000000000000e+00 0 0 0 +2113 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.9761644917842558e+00 0.0000000000000000e+00 0 0 0 +2114 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2115 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.9761644917842558e+00 0.0000000000000000e+00 0 0 0 +2116 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1213203435596427e-02 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2117 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5355339059327376e-02 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2118 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.9497474683058325e-02 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2119 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3639610306789274e-02 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2120 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7781745930520230e-02 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2121 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1923881554251186e-02 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2122 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0606601717798213e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2123 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2020815280171308e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2124 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3435028842544403e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2125 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4849242404917498e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2126 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6263455967290594e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2256 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2257 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654753e-03 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2258 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e-02 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2259 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1213203435596427e-02 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2260 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8284271247461901e-02 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2261 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5355339059327376e-02 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2262 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2426406871192854e-02 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2263 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.9497474683058325e-02 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2264 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6568542494923803e-02 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2265 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3639610306789274e-02 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2266 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654752e-02 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2267 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7781745930520230e-02 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2268 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4852813742385708e-02 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2269 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1923881554251186e-02 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2270 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.8994949366116650e-02 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2271 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0606601717798213e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2272 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1313708498984761e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2273 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2020815280171308e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2274 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2727922061357855e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2275 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3435028842544403e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2276 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730950e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2277 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4849242404917498e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2278 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5556349186104046e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2279 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6263455967290594e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2127 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7677669529663689e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2128 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9091883092036782e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2129 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0506096654409878e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2130 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1920310216782973e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2131 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3334523779156069e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2132 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4748737341529164e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2133 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6162950903902260e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2134 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7577164466275356e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2135 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8991378028648451e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2136 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0405591591021541e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2137 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1819805153394637e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2138 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3234018715767732e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2280 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6970562748477142e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2281 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7677669529663689e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2282 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8384776310850237e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2283 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9091883092036782e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2284 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9798989873223330e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2285 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0506096654409878e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2286 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1213203435596426e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2287 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1920310216782973e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2288 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2627416997969521e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2289 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3334523779156069e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2290 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4041630560342617e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2291 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4748737341529164e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2292 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5455844122715710e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2293 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6162950903902260e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2294 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6870057685088805e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2295 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7577164466275356e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2296 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8284271247461901e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2297 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8991378028648451e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2298 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9698484809834996e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2299 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0405591591021541e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2300 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1112698372208092e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2301 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1819805153394637e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2302 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2526911934581187e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2303 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3234018715767732e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2139 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4648232278140828e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2140 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6062445840513924e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2141 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7476659402887019e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2142 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8890872965260115e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2143 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0305086527633210e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2144 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1719300090006306e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2145 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.3133513652379402e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2146 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4547727214752497e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2147 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5961940777125587e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2148 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7376154339498683e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2149 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8790367901871778e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2304 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3941125496954283e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2305 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4648232278140828e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2306 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5355339059327379e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2307 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6062445840513924e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2308 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6769552621700474e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2309 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7476659402887019e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2310 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8183766184073564e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2311 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8890872965260115e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2312 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9597979746446660e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2313 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.0305086527633210e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2314 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1012193308819755e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2315 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.1719300090006306e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2316 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.2426406871192851e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2317 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.3133513652379402e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2318 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.3840620433565947e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2319 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.4547727214752497e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2320 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5254833995939042e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2321 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.5961940777125587e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2322 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.6669047558312138e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2323 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.7376154339498683e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2324 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8083261120685233e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2325 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.8790367901871778e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2326 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 4.9497474683058329e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2150 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0204581464244880e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2151 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1618795026617970e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2152 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3033008588991060e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2153 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4447222151364161e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2154 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5861435713737251e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2155 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7275649276110352e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2156 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8689862838483442e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2157 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0104076400856543e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2158 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.1518289963229633e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2159 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2932503525602734e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2160 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4346717087975824e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2161 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5760930650348925e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2327 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0204581464244880e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2328 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.0911688245431419e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2329 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.1618795026617970e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2330 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.2325901807804520e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2331 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3033008588991060e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2332 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.3740115370177610e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2333 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.4447222151364161e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2334 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5154328932550711e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2335 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.5861435713737251e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2336 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.6568542494923801e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2337 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7275649276110352e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2338 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.7982756057296903e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2339 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.8689862838483442e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2340 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 5.9396969619669993e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2341 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0104076400856543e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2342 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.0811183182043083e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2343 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.1518289963229633e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2344 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2225396744416184e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2345 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.2932503525602734e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2346 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.3639610306789274e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2347 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.4346717087975824e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2348 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5053823869162375e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2349 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.5760930650348925e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2350 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.6468037431535465e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2162 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7175144212722016e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2163 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8589357775095106e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2164 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0003571337468207e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2165 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1417784899841297e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2166 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2831998462214398e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2167 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.4246212024587488e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2168 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5660425586960589e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2169 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7074639149333679e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2170 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8488852711706780e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2171 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9903066274079870e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2172 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1317279836452971e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2173 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2731493398826061e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2351 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7175144212722016e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2352 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.7882250993908566e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2353 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.8589357775095106e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2354 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 6.9296464556281656e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2355 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0003571337468207e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2356 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.0710678118654757e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2357 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.1417784899841297e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2358 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2124891681027847e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2359 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.2831998462214398e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2360 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.3539105243400948e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2361 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.4246212024587488e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2362 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.4953318805774038e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2363 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.5660425586960589e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2364 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.6367532368147129e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2365 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7074639149333679e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2366 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.7781745930520230e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2367 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.8488852711706780e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2368 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9195959492893320e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2369 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 7.9903066274079870e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2370 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.0610173055266421e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2371 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.1317279836452971e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2372 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2024386617639511e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2373 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.2731493398826061e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2174 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4145706961199151e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2175 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5559920523572253e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2176 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.6974134085945343e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2177 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8388347648318444e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2178 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9802561210691534e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2179 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1216774773064635e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2180 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2630988335437725e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2181 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4045201897810826e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2182 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5459415460183916e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2183 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6873629022557017e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2184 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.8287842584930107e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2185 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.9702056147303197e-01 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2374 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.3438600180012612e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2375 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4145706961199151e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2376 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.4852813742385702e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2377 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.5559920523572253e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2378 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.6267027304758803e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2379 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.6974134085945343e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2380 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.7681240867131893e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2381 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.8388347648318444e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2382 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9095454429504994e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2383 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 8.9802561210691534e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2384 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.0509667991878084e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2385 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1216774773064635e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2386 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.1923881554251174e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2387 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.2630988335437725e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2388 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.3338095116624276e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2389 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4045201897810826e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2390 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.4752308678997366e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2391 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.5459415460183916e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2392 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6166522241370467e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2393 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.6873629022557017e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2394 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.7580735803743557e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2395 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.8287842584930107e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2396 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.8994949366116658e-01 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2397 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 9.9702056147303197e-01 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2186 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0111626970967629e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2187 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0253048327204939e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2188 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0394469683442249e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2189 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0535891039679559e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2190 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0677312395916867e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2191 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0818733752154177e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2192 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0960155108391487e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2193 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1101576464628797e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2194 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1242997820866105e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2195 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1384419177103415e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2196 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1525840533340725e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2197 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1667261889578033e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2398 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0040916292848976e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2399 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0111626970967629e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2400 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0182337649086284e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2401 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0253048327204939e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2402 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0323759005323594e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2403 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0394469683442249e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2404 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0465180361560904e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2405 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0535891039679559e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2406 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0606601717798212e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2407 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0677312395916867e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2408 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0748023074035522e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2409 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0818733752154177e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2410 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0889444430272832e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2411 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.0960155108391487e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2412 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1030865786510142e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2413 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1101576464628797e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2414 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1172287142747450e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2415 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1242997820866105e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2416 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1313708498984760e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2417 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1384419177103415e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2418 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1455129855222070e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2419 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1525840533340725e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2420 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1596551211459381e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2421 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1667261889578033e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2198 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1808683245815343e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2199 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1950104602052654e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2200 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2091525958289964e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2201 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2232947314527272e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2202 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2374368670764582e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2203 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2515790027001892e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2204 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2657211383239202e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2205 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2798632739476510e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2206 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2940054095713820e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2207 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3081475451951130e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2208 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3222896808188438e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2422 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1737972567696688e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2423 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1808683245815343e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2424 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1879393923933999e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2425 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.1950104602052654e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2426 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2020815280171309e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2427 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2091525958289964e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2428 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2162236636408617e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2429 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2232947314527272e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2430 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2303657992645927e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2431 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2374368670764582e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2432 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2445079348883237e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2433 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2515790027001892e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2434 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2586500705120547e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2435 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2657211383239202e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2436 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2727922061357855e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2437 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2798632739476510e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2438 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2869343417595165e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2439 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.2940054095713820e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2440 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3010764773832475e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2441 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3081475451951130e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2442 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3152186130069785e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2443 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3222896808188438e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2444 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3293607486307093e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2209 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3364318164425748e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2210 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3505739520663058e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2211 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3647160876900368e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2212 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3788582233137676e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2213 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3930003589374986e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2214 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4071424945612296e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2215 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4212846301849607e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2216 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4354267658086914e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2217 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4495689014324225e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2218 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4637110370561535e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2219 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4778531726798843e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2220 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4919953083036153e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2445 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3364318164425748e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2446 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3435028842544403e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2447 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3505739520663058e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2448 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3576450198781713e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2449 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3647160876900368e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2450 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3717871555019021e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2451 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3788582233137676e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2452 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3859292911256331e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2453 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.3930003589374986e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2454 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4000714267493641e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2455 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4071424945612296e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2456 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4142135623730951e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2457 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4212846301849607e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2458 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4283556979968259e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2459 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4354267658086914e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2460 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4424978336205569e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2461 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4495689014324225e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2462 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4566399692442880e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2463 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4637110370561535e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2464 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4707821048680190e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2465 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4778531726798843e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2466 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4849242404917498e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2467 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4919953083036153e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2468 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.4990663761154808e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2221 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5061374439273463e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2222 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5202795795510773e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2223 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5344217151748081e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2224 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5485638507985391e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2225 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5627059864222701e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2226 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5768481220460011e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2227 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5909902576697319e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2228 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6051323932934629e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2229 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6192745289171939e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2230 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6334166645409247e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2231 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6475588001646557e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2232 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6617009357883867e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2469 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5061374439273463e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2470 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5132085117392118e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2471 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5202795795510773e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2472 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5273506473629426e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2473 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5344217151748081e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2474 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5414927829866736e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2475 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5485638507985391e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2476 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5556349186104046e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2477 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5627059864222701e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2478 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5697770542341356e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2479 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5768481220460011e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2480 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5839191898578664e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2481 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5909902576697319e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2482 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.5980613254815974e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2483 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6051323932934629e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2484 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6122034611053284e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2485 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6192745289171939e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2486 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6263455967290594e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2487 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6334166645409247e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2488 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6404877323527902e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2489 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6475588001646557e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2490 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6546298679765212e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2491 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6617009357883867e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2233 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6758430714121177e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2234 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6899852070358485e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2235 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7041273426595795e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2236 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7182694782833106e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2237 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7324116139070416e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2238 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7465537495307724e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2239 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7606958851545034e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2240 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7748380207782344e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2241 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7889801564019652e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2242 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8031222920256962e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2243 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8172644276494272e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2244 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8314065632731582e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2492 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6687720036002522e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2493 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6758430714121177e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2494 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6829141392239830e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2495 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6899852070358485e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2496 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.6970562748477140e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2497 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7041273426595795e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2498 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7111984104714451e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2499 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7182694782833106e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2500 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7253405460951761e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2501 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7324116139070416e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2502 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7394826817189069e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2503 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7465537495307724e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2504 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7536248173426379e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2505 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7606958851545034e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2506 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7677669529663689e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2507 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7748380207782344e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2508 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7819090885900999e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2509 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7889801564019652e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2510 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.7960512242138307e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2511 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8031222920256962e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2512 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8101933598375617e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2513 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8172644276494272e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2514 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8243354954612927e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2515 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8314065632731582e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2245 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8455486988968890e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2246 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8596908345206200e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2247 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8738329701443510e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2248 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8879751057680818e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2249 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9021172413918128e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2250 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9162593770155438e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2251 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9304015126392748e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2252 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9445436482630056e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2253 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9586857838867366e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2254 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9728279195104677e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2255 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9869700551341987e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +2516 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8384776310850235e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2517 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8455486988968890e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2518 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8526197667087545e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2519 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8596908345206200e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2520 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8667619023324855e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2521 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8738329701443510e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2522 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8809040379562165e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2523 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8879751057680818e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2524 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.8950461735799473e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2525 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9021172413918128e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2526 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9091883092036783e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2527 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9162593770155438e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2528 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9233304448274093e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2529 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9304015126392748e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2530 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9374725804511403e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2531 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9445436482630056e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2532 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9516147160748711e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2533 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9586857838867366e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2534 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9657568516986021e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2535 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9728279195104677e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2536 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9798989873223332e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2537 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9869700551341987e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +2538 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 1.9940411229460639e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +2539 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0011121907579295e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2540 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0081832585697952e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2541 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0152543263816605e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2542 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0223253941935257e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2543 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0293964620053915e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2544 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0364675298172568e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2545 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0435385976291225e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2546 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0506096654409878e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2547 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0576807332528535e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2548 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0647518010647188e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2549 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0718228688765841e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2550 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0788939366884498e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2551 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0859650045003151e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2552 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0930360723121808e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2553 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1001071401240461e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2554 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1071782079359118e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2555 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1142492757477771e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2556 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1213203435596424e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2557 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1283914113715081e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2558 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1354624791833734e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2559 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1425335469952391e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2560 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1496046148071044e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2561 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1566756826189701e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2562 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1637467504308354e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2822 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0081832585697952e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2823 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0223253941935257e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2824 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0364675298172568e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2825 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0506096654409878e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2826 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0647518010647188e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2827 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0788939366884498e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2828 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0930360723121808e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2829 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1071782079359118e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2830 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1213203435596424e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2831 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1354624791833734e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2832 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1496046148071044e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2833 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1637467504308354e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5077 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0081832585697952e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5078 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0152543263816605e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5079 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0223253941935257e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5080 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0293964620053915e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5081 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0364675298172568e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5082 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0435385976291225e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5083 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0506096654409878e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5084 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0576807332528535e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5085 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0647518010647188e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5086 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0718228688765841e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5087 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0788939366884498e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5088 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0859650045003151e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5089 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0930360723121808e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5090 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1001071401240461e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5091 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1071782079359118e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5092 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1142492757477771e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5093 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1213203435596424e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5094 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1283914113715081e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5095 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1354624791833734e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5096 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1425335469952391e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5097 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1496046148071044e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5098 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1566756826189701e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5099 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1637467504308354e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5119 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0223253941935257e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5120 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0293964620053915e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5121 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0364675298172568e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5122 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0435385976291225e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5123 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0506096654409878e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5124 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0576807332528535e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5125 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0647518010647188e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5126 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0718228688765841e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5127 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0788939366884498e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5128 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0859650045003151e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5129 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0930360723121808e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5130 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1001071401240461e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5131 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1071782079359118e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5132 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1142492757477771e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5133 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1213203435596424e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5134 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1283914113715081e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5135 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1354624791833734e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5136 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1425335469952391e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5137 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1496046148071044e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5138 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1566756826189701e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5139 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1637467504308354e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5159 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0364675298172568e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5160 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0435385976291225e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5161 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0506096654409878e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5162 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0576807332528535e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5163 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0647518010647188e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5164 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0718228688765841e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5165 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0788939366884498e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5166 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0859650045003151e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5167 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0930360723121808e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5168 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1001071401240461e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5169 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1071782079359118e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5170 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1142492757477771e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5171 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1213203435596424e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5172 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1283914113715081e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5173 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1354624791833734e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5174 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1425335469952391e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5175 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1496046148071044e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5176 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1566756826189701e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5177 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1637467504308354e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5197 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0506096654409878e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5198 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0576807332528535e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5199 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0647518010647188e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5200 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0718228688765841e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5201 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0788939366884498e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5202 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0859650045003151e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5203 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0930360723121808e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5204 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1001071401240461e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5205 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1071782079359118e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5206 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1142492757477771e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5207 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1213203435596424e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5208 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1283914113715081e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5209 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1354624791833734e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5210 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1425335469952391e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5211 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1496046148071044e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5212 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1566756826189701e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5213 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1637467504308354e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5233 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0647518010647188e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +5234 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0718228688765841e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +5235 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0788939366884498e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +5236 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0859650045003151e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +5237 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0930360723121808e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +5238 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1001071401240461e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +5239 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1071782079359118e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +5240 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1142492757477771e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +5241 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1213203435596424e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +5242 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1283914113715081e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +5243 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1354624791833734e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +5244 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1425335469952391e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +5245 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1496046148071044e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +5246 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1566756826189701e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +5247 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1637467504308354e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +5267 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0788939366884498e+00 7.0710678118654752e-02 0.0000000000000000e+00 0 0 0 +5268 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0859650045003151e+00 7.7781745930520230e-02 0.0000000000000000e+00 0 0 0 +5269 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0930360723121808e+00 7.0710678118654752e-02 0.0000000000000000e+00 0 0 0 +5270 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1001071401240461e+00 7.7781745930520230e-02 0.0000000000000000e+00 0 0 0 +5271 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1071782079359118e+00 7.0710678118654752e-02 0.0000000000000000e+00 0 0 0 +5272 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1142492757477771e+00 7.7781745930520230e-02 0.0000000000000000e+00 0 0 0 +5273 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1213203435596424e+00 7.0710678118654752e-02 0.0000000000000000e+00 0 0 0 +5274 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1283914113715081e+00 7.7781745930520230e-02 0.0000000000000000e+00 0 0 0 +5275 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1354624791833734e+00 7.0710678118654752e-02 0.0000000000000000e+00 0 0 0 +5276 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1425335469952391e+00 7.7781745930520230e-02 0.0000000000000000e+00 0 0 0 +5277 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1496046148071044e+00 7.0710678118654752e-02 0.0000000000000000e+00 0 0 0 +5278 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1566756826189701e+00 7.7781745930520230e-02 0.0000000000000000e+00 0 0 0 +5279 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1637467504308354e+00 7.0710678118654752e-02 0.0000000000000000e+00 0 0 0 +5299 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0930360723121808e+00 8.4852813742385708e-02 0.0000000000000000e+00 0 0 0 +5300 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1001071401240461e+00 9.1923881554251186e-02 0.0000000000000000e+00 0 0 0 +5301 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1071782079359118e+00 8.4852813742385708e-02 0.0000000000000000e+00 0 0 0 +5302 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1142492757477771e+00 9.1923881554251186e-02 0.0000000000000000e+00 0 0 0 +5303 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1213203435596424e+00 8.4852813742385708e-02 0.0000000000000000e+00 0 0 0 +5304 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1283914113715081e+00 9.1923881554251186e-02 0.0000000000000000e+00 0 0 0 +5305 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1354624791833734e+00 8.4852813742385708e-02 0.0000000000000000e+00 0 0 0 +5306 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1425335469952391e+00 9.1923881554251186e-02 0.0000000000000000e+00 0 0 0 +5307 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1496046148071044e+00 8.4852813742385708e-02 0.0000000000000000e+00 0 0 0 +5308 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1566756826189701e+00 9.1923881554251186e-02 0.0000000000000000e+00 0 0 0 +5309 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1637467504308354e+00 8.4852813742385708e-02 0.0000000000000000e+00 0 0 0 +5329 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1071782079359118e+00 9.8994949366116650e-02 0.0000000000000000e+00 0 0 0 +5330 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1142492757477771e+00 1.0606601717798213e-01 0.0000000000000000e+00 0 0 0 +5331 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1213203435596424e+00 9.8994949366116650e-02 0.0000000000000000e+00 0 0 0 +5332 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1283914113715081e+00 1.0606601717798213e-01 0.0000000000000000e+00 0 0 0 +5333 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1354624791833734e+00 9.8994949366116650e-02 0.0000000000000000e+00 0 0 0 +5334 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1425335469952391e+00 1.0606601717798213e-01 0.0000000000000000e+00 0 0 0 +5335 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1496046148071044e+00 9.8994949366116650e-02 0.0000000000000000e+00 0 0 0 +5336 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1566756826189701e+00 1.0606601717798213e-01 0.0000000000000000e+00 0 0 0 +5337 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1637467504308354e+00 9.8994949366116650e-02 0.0000000000000000e+00 0 0 0 +5357 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1213203435596424e+00 1.1313708498984761e-01 0.0000000000000000e+00 0 0 0 +5358 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1283914113715081e+00 1.2020815280171308e-01 0.0000000000000000e+00 0 0 0 +5359 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1354624791833734e+00 1.1313708498984761e-01 0.0000000000000000e+00 0 0 0 +5360 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1425335469952391e+00 1.2020815280171308e-01 0.0000000000000000e+00 0 0 0 +5361 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1496046148071044e+00 1.1313708498984761e-01 0.0000000000000000e+00 0 0 0 +5362 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1566756826189701e+00 1.2020815280171308e-01 0.0000000000000000e+00 0 0 0 +5363 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1637467504308354e+00 1.1313708498984761e-01 0.0000000000000000e+00 0 0 0 +5383 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1354624791833734e+00 1.2727922061357855e-01 0.0000000000000000e+00 0 0 0 +5384 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1425335469952391e+00 1.3435028842544403e-01 0.0000000000000000e+00 0 0 0 +5385 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1496046148071044e+00 1.2727922061357855e-01 0.0000000000000000e+00 0 0 0 +5386 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1566756826189701e+00 1.3435028842544403e-01 0.0000000000000000e+00 0 0 0 +5387 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1637467504308354e+00 1.2727922061357855e-01 0.0000000000000000e+00 0 0 0 +5407 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1496046148071044e+00 1.4142135623730950e-01 0.0000000000000000e+00 0 0 0 +5408 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1566756826189701e+00 1.4849242404917498e-01 0.0000000000000000e+00 0 0 0 +5409 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1637467504308354e+00 1.4142135623730950e-01 0.0000000000000000e+00 0 0 0 +5429 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1637467504308354e+00 1.5556349186104046e-01 0.0000000000000000e+00 0 0 0 +2563 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1708178182427011e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2564 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1778888860545664e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2565 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1849599538664317e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2566 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1920310216782974e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2567 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1991020894901627e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2568 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2061731573020285e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2569 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2132442251138937e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2570 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2203152929257595e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2571 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2273863607376247e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2572 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2344574285494900e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2573 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2415284963613558e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2574 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2485995641732210e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2575 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2556706319850868e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2576 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2627416997969521e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2577 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2698127676088178e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2578 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2768838354206831e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2579 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2839549032325484e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2580 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2910259710444141e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2581 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2980970388562794e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2582 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3051681066681451e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2583 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3122391744800104e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2584 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3193102422918761e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2585 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3263813101037414e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2586 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3334523779156067e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2834 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1778888860545664e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2835 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1920310216782974e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2836 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2061731573020285e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2837 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2203152929257595e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2838 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2344574285494900e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2839 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2485995641732210e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2840 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2627416997969521e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2841 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2768838354206831e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2842 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2910259710444141e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2843 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3051681066681451e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2844 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3193102422918761e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2845 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3334523779156067e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5100 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1708178182427011e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5101 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1778888860545664e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5102 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1849599538664317e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5103 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1920310216782974e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5104 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1991020894901627e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5105 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2061731573020285e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5106 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2132442251138937e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5107 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2203152929257595e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5108 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2273863607376247e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5109 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2344574285494900e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5110 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2415284963613558e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5111 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2485995641732210e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5112 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2556706319850868e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5113 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2627416997969521e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5114 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2698127676088178e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5115 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2768838354206831e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5116 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2839549032325484e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5117 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2910259710444141e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5118 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2980970388562794e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5140 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1708178182427011e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5141 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1778888860545664e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5142 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1849599538664317e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5143 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1920310216782974e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5144 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1991020894901627e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5145 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2061731573020285e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5146 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2132442251138937e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5147 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2203152929257595e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5148 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2273863607376247e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5149 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2344574285494900e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5150 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2415284963613558e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5151 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2485995641732210e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5152 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2556706319850868e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5153 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2627416997969521e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5154 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2698127676088178e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5155 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2768838354206831e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5156 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2839549032325484e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5157 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2910259710444141e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5158 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2980970388562794e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5178 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1708178182427011e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5179 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1778888860545664e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5180 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1849599538664317e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5181 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1920310216782974e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5182 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1991020894901627e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5183 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2061731573020285e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5184 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2132442251138937e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5185 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2203152929257595e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5186 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2273863607376247e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5187 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2344574285494900e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5188 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2415284963613558e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5189 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2485995641732210e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5190 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2556706319850868e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5191 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2627416997969521e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5192 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2698127676088178e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5193 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2768838354206831e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5194 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2839549032325484e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5195 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2910259710444141e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5196 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2980970388562794e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5214 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1708178182427011e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5215 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1778888860545664e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5216 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1849599538664317e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5217 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1920310216782974e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5218 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1991020894901627e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5219 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2061731573020285e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5220 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2132442251138937e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5221 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2203152929257595e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5222 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2273863607376247e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5223 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2344574285494900e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5224 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2415284963613558e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5225 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2485995641732210e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5226 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2556706319850868e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5227 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2627416997969521e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5228 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2698127676088178e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5229 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2768838354206831e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5230 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2839549032325484e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5231 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2910259710444141e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5232 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2980970388562794e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5248 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1708178182427011e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +5249 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1778888860545664e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +5250 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1849599538664317e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +5251 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1920310216782974e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +5252 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1991020894901627e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +5253 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2061731573020285e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +5254 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2132442251138937e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +5255 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2203152929257595e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +5256 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2273863607376247e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +5257 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2344574285494900e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +5258 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2415284963613558e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +5259 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2485995641732210e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +5260 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2556706319850868e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +5261 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2627416997969521e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +5262 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2698127676088178e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +5263 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2768838354206831e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +5264 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2839549032325484e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +5265 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2910259710444141e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +5266 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2980970388562794e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +5280 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1708178182427011e+00 7.7781745930520230e-02 0.0000000000000000e+00 0 0 0 +5281 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1778888860545664e+00 7.0710678118654752e-02 0.0000000000000000e+00 0 0 0 +5282 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1849599538664317e+00 7.7781745930520230e-02 0.0000000000000000e+00 0 0 0 +5283 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1920310216782974e+00 7.0710678118654752e-02 0.0000000000000000e+00 0 0 0 +5284 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1991020894901627e+00 7.7781745930520230e-02 0.0000000000000000e+00 0 0 0 +5285 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2061731573020285e+00 7.0710678118654752e-02 0.0000000000000000e+00 0 0 0 +5286 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2132442251138937e+00 7.7781745930520230e-02 0.0000000000000000e+00 0 0 0 +5287 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2203152929257595e+00 7.0710678118654752e-02 0.0000000000000000e+00 0 0 0 +5288 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2273863607376247e+00 7.7781745930520230e-02 0.0000000000000000e+00 0 0 0 +5289 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2344574285494900e+00 7.0710678118654752e-02 0.0000000000000000e+00 0 0 0 +5290 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2415284963613558e+00 7.7781745930520230e-02 0.0000000000000000e+00 0 0 0 +5291 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2485995641732210e+00 7.0710678118654752e-02 0.0000000000000000e+00 0 0 0 +5292 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2556706319850868e+00 7.7781745930520230e-02 0.0000000000000000e+00 0 0 0 +5293 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2627416997969521e+00 7.0710678118654752e-02 0.0000000000000000e+00 0 0 0 +5294 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2698127676088178e+00 7.7781745930520230e-02 0.0000000000000000e+00 0 0 0 +5295 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2768838354206831e+00 7.0710678118654752e-02 0.0000000000000000e+00 0 0 0 +5296 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2839549032325484e+00 7.7781745930520230e-02 0.0000000000000000e+00 0 0 0 +5297 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2910259710444141e+00 7.0710678118654752e-02 0.0000000000000000e+00 0 0 0 +5298 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2980970388562794e+00 7.7781745930520230e-02 0.0000000000000000e+00 0 0 0 +5310 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1708178182427011e+00 9.1923881554251186e-02 0.0000000000000000e+00 0 0 0 +5311 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1778888860545664e+00 8.4852813742385708e-02 0.0000000000000000e+00 0 0 0 +5312 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1849599538664317e+00 9.1923881554251186e-02 0.0000000000000000e+00 0 0 0 +5313 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1920310216782974e+00 8.4852813742385708e-02 0.0000000000000000e+00 0 0 0 +5314 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1991020894901627e+00 9.1923881554251186e-02 0.0000000000000000e+00 0 0 0 +5315 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2061731573020285e+00 8.4852813742385708e-02 0.0000000000000000e+00 0 0 0 +5316 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2132442251138937e+00 9.1923881554251186e-02 0.0000000000000000e+00 0 0 0 +5317 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2203152929257595e+00 8.4852813742385708e-02 0.0000000000000000e+00 0 0 0 +5318 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2273863607376247e+00 9.1923881554251186e-02 0.0000000000000000e+00 0 0 0 +5319 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2344574285494900e+00 8.4852813742385708e-02 0.0000000000000000e+00 0 0 0 +5320 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2415284963613558e+00 9.1923881554251186e-02 0.0000000000000000e+00 0 0 0 +5321 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2485995641732210e+00 8.4852813742385708e-02 0.0000000000000000e+00 0 0 0 +5322 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2556706319850868e+00 9.1923881554251186e-02 0.0000000000000000e+00 0 0 0 +5323 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2627416997969521e+00 8.4852813742385708e-02 0.0000000000000000e+00 0 0 0 +5324 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2698127676088178e+00 9.1923881554251186e-02 0.0000000000000000e+00 0 0 0 +5325 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2768838354206831e+00 8.4852813742385708e-02 0.0000000000000000e+00 0 0 0 +5326 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2839549032325484e+00 9.1923881554251186e-02 0.0000000000000000e+00 0 0 0 +5327 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2910259710444141e+00 8.4852813742385708e-02 0.0000000000000000e+00 0 0 0 +5328 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2980970388562794e+00 9.1923881554251186e-02 0.0000000000000000e+00 0 0 0 +5338 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1708178182427011e+00 1.0606601717798213e-01 0.0000000000000000e+00 0 0 0 +5339 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1778888860545664e+00 9.8994949366116650e-02 0.0000000000000000e+00 0 0 0 +5340 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1849599538664317e+00 1.0606601717798213e-01 0.0000000000000000e+00 0 0 0 +5341 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1920310216782974e+00 9.8994949366116650e-02 0.0000000000000000e+00 0 0 0 +5342 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1991020894901627e+00 1.0606601717798213e-01 0.0000000000000000e+00 0 0 0 +5343 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2061731573020285e+00 9.8994949366116650e-02 0.0000000000000000e+00 0 0 0 +5344 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2132442251138937e+00 1.0606601717798213e-01 0.0000000000000000e+00 0 0 0 +5345 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2203152929257595e+00 9.8994949366116650e-02 0.0000000000000000e+00 0 0 0 +5346 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2273863607376247e+00 1.0606601717798213e-01 0.0000000000000000e+00 0 0 0 +5347 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2344574285494900e+00 9.8994949366116650e-02 0.0000000000000000e+00 0 0 0 +5348 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2415284963613558e+00 1.0606601717798213e-01 0.0000000000000000e+00 0 0 0 +5349 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2485995641732210e+00 9.8994949366116650e-02 0.0000000000000000e+00 0 0 0 +5350 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2556706319850868e+00 1.0606601717798213e-01 0.0000000000000000e+00 0 0 0 +5351 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2627416997969521e+00 9.8994949366116650e-02 0.0000000000000000e+00 0 0 0 +5352 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2698127676088178e+00 1.0606601717798213e-01 0.0000000000000000e+00 0 0 0 +5353 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2768838354206831e+00 9.8994949366116650e-02 0.0000000000000000e+00 0 0 0 +5354 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2839549032325484e+00 1.0606601717798213e-01 0.0000000000000000e+00 0 0 0 +5355 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2910259710444141e+00 9.8994949366116650e-02 0.0000000000000000e+00 0 0 0 +5356 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2980970388562794e+00 1.0606601717798213e-01 0.0000000000000000e+00 0 0 0 +5364 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1708178182427011e+00 1.2020815280171308e-01 0.0000000000000000e+00 0 0 0 +5365 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1778888860545664e+00 1.1313708498984761e-01 0.0000000000000000e+00 0 0 0 +5366 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1849599538664317e+00 1.2020815280171308e-01 0.0000000000000000e+00 0 0 0 +5367 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1920310216782974e+00 1.1313708498984761e-01 0.0000000000000000e+00 0 0 0 +5368 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1991020894901627e+00 1.2020815280171308e-01 0.0000000000000000e+00 0 0 0 +5369 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2061731573020285e+00 1.1313708498984761e-01 0.0000000000000000e+00 0 0 0 +5370 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2132442251138937e+00 1.2020815280171308e-01 0.0000000000000000e+00 0 0 0 +5371 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2203152929257595e+00 1.1313708498984761e-01 0.0000000000000000e+00 0 0 0 +5372 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2273863607376247e+00 1.2020815280171308e-01 0.0000000000000000e+00 0 0 0 +5373 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2344574285494900e+00 1.1313708498984761e-01 0.0000000000000000e+00 0 0 0 +5374 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2415284963613558e+00 1.2020815280171308e-01 0.0000000000000000e+00 0 0 0 +5375 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2485995641732210e+00 1.1313708498984761e-01 0.0000000000000000e+00 0 0 0 +5376 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2556706319850868e+00 1.2020815280171308e-01 0.0000000000000000e+00 0 0 0 +5377 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2627416997969521e+00 1.1313708498984761e-01 0.0000000000000000e+00 0 0 0 +5378 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2698127676088178e+00 1.2020815280171308e-01 0.0000000000000000e+00 0 0 0 +5379 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2768838354206831e+00 1.1313708498984761e-01 0.0000000000000000e+00 0 0 0 +5380 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2839549032325484e+00 1.2020815280171308e-01 0.0000000000000000e+00 0 0 0 +5381 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2910259710444141e+00 1.1313708498984761e-01 0.0000000000000000e+00 0 0 0 +5382 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2980970388562794e+00 1.2020815280171308e-01 0.0000000000000000e+00 0 0 0 +5388 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1708178182427011e+00 1.3435028842544403e-01 0.0000000000000000e+00 0 0 0 +5389 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1778888860545664e+00 1.2727922061357855e-01 0.0000000000000000e+00 0 0 0 +5390 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1849599538664317e+00 1.3435028842544403e-01 0.0000000000000000e+00 0 0 0 +5391 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1920310216782974e+00 1.2727922061357855e-01 0.0000000000000000e+00 0 0 0 +5392 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1991020894901627e+00 1.3435028842544403e-01 0.0000000000000000e+00 0 0 0 +5393 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2061731573020285e+00 1.2727922061357855e-01 0.0000000000000000e+00 0 0 0 +5394 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2132442251138937e+00 1.3435028842544403e-01 0.0000000000000000e+00 0 0 0 +5395 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2203152929257595e+00 1.2727922061357855e-01 0.0000000000000000e+00 0 0 0 +5396 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2273863607376247e+00 1.3435028842544403e-01 0.0000000000000000e+00 0 0 0 +5397 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2344574285494900e+00 1.2727922061357855e-01 0.0000000000000000e+00 0 0 0 +5398 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2415284963613558e+00 1.3435028842544403e-01 0.0000000000000000e+00 0 0 0 +5399 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2485995641732210e+00 1.2727922061357855e-01 0.0000000000000000e+00 0 0 0 +5400 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2556706319850868e+00 1.3435028842544403e-01 0.0000000000000000e+00 0 0 0 +5401 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2627416997969521e+00 1.2727922061357855e-01 0.0000000000000000e+00 0 0 0 +5402 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2698127676088178e+00 1.3435028842544403e-01 0.0000000000000000e+00 0 0 0 +5403 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2768838354206831e+00 1.2727922061357855e-01 0.0000000000000000e+00 0 0 0 +5404 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2839549032325484e+00 1.3435028842544403e-01 0.0000000000000000e+00 0 0 0 +5405 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2910259710444141e+00 1.2727922061357855e-01 0.0000000000000000e+00 0 0 0 +5406 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2980970388562794e+00 1.3435028842544403e-01 0.0000000000000000e+00 0 0 0 +5410 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1708178182427011e+00 1.4849242404917498e-01 0.0000000000000000e+00 0 0 0 +5411 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1778888860545664e+00 1.4142135623730950e-01 0.0000000000000000e+00 0 0 0 +5412 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1849599538664317e+00 1.4849242404917498e-01 0.0000000000000000e+00 0 0 0 +5413 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1920310216782974e+00 1.4142135623730950e-01 0.0000000000000000e+00 0 0 0 +5414 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1991020894901627e+00 1.4849242404917498e-01 0.0000000000000000e+00 0 0 0 +5415 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2061731573020285e+00 1.4142135623730950e-01 0.0000000000000000e+00 0 0 0 +5416 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2132442251138937e+00 1.4849242404917498e-01 0.0000000000000000e+00 0 0 0 +5417 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2203152929257595e+00 1.4142135623730950e-01 0.0000000000000000e+00 0 0 0 +5418 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2273863607376247e+00 1.4849242404917498e-01 0.0000000000000000e+00 0 0 0 +5419 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2344574285494900e+00 1.4142135623730950e-01 0.0000000000000000e+00 0 0 0 +5420 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2415284963613558e+00 1.4849242404917498e-01 0.0000000000000000e+00 0 0 0 +5421 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2485995641732210e+00 1.4142135623730950e-01 0.0000000000000000e+00 0 0 0 +5422 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2556706319850868e+00 1.4849242404917498e-01 0.0000000000000000e+00 0 0 0 +5423 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2627416997969521e+00 1.4142135623730950e-01 0.0000000000000000e+00 0 0 0 +5424 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2698127676088178e+00 1.4849242404917498e-01 0.0000000000000000e+00 0 0 0 +5425 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2768838354206831e+00 1.4142135623730950e-01 0.0000000000000000e+00 0 0 0 +5426 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2839549032325484e+00 1.4849242404917498e-01 0.0000000000000000e+00 0 0 0 +5427 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2910259710444141e+00 1.4142135623730950e-01 0.0000000000000000e+00 0 0 0 +5428 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2980970388562794e+00 1.4849242404917498e-01 0.0000000000000000e+00 0 0 0 +5430 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1708178182427011e+00 1.6263455967290594e-01 0.0000000000000000e+00 0 0 0 +5431 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1778888860545664e+00 1.5556349186104046e-01 0.0000000000000000e+00 0 0 0 +5432 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1849599538664317e+00 1.6263455967290594e-01 0.0000000000000000e+00 0 0 0 +5433 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1920310216782974e+00 1.5556349186104046e-01 0.0000000000000000e+00 0 0 0 +5434 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1991020894901627e+00 1.6263455967290594e-01 0.0000000000000000e+00 0 0 0 +5435 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2061731573020285e+00 1.5556349186104046e-01 0.0000000000000000e+00 0 0 0 +5436 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2132442251138937e+00 1.6263455967290594e-01 0.0000000000000000e+00 0 0 0 +5437 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2203152929257595e+00 1.5556349186104046e-01 0.0000000000000000e+00 0 0 0 +5438 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2273863607376247e+00 1.6263455967290594e-01 0.0000000000000000e+00 0 0 0 +5439 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2344574285494900e+00 1.5556349186104046e-01 0.0000000000000000e+00 0 0 0 +5440 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2415284963613558e+00 1.6263455967290594e-01 0.0000000000000000e+00 0 0 0 +5441 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2485995641732210e+00 1.5556349186104046e-01 0.0000000000000000e+00 0 0 0 +5442 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2556706319850868e+00 1.6263455967290594e-01 0.0000000000000000e+00 0 0 0 +5443 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2627416997969521e+00 1.5556349186104046e-01 0.0000000000000000e+00 0 0 0 +5444 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2698127676088178e+00 1.6263455967290594e-01 0.0000000000000000e+00 0 0 0 +5445 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2768838354206831e+00 1.5556349186104046e-01 0.0000000000000000e+00 0 0 0 +5446 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2839549032325484e+00 1.6263455967290594e-01 0.0000000000000000e+00 0 0 0 +5447 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2910259710444141e+00 1.5556349186104046e-01 0.0000000000000000e+00 0 0 0 +5448 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2980970388562794e+00 1.6263455967290594e-01 0.0000000000000000e+00 0 0 0 +2587 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3405234457274724e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2588 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3475945135393377e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2589 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3546655813512034e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2590 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3617366491630687e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2591 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3688077169749344e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2592 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3758787847867997e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2593 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3829498525986650e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2594 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3900209204105307e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2595 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3970919882223960e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2596 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4041630560342617e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2597 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4112341238461270e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2598 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4183051916579927e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2599 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4253762594698580e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2600 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4324473272817233e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2601 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4395183950935890e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2602 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4465894629054543e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2603 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4536605307173200e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2604 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4607315985291853e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2605 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4678026663410511e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2606 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4748737341529163e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2607 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4819448019647821e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2608 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4890158697766473e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2609 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4960869375885126e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2846 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3475945135393377e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2847 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3617366491630687e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2848 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3758787847867997e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2849 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3900209204105307e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2850 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4041630560342617e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2851 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4183051916579927e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2852 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4324473272817233e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2853 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4465894629054543e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2854 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4607315985291853e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2855 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4748737341529163e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2856 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4890158697766473e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2610 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5031580054003784e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2611 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5102290732122436e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2612 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5173001410241094e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2613 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5243712088359747e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2614 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5314422766478404e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2615 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5385133444597057e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2616 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5455844122715710e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2617 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5526554800834367e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2618 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5597265478953020e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2619 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5667976157071677e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2620 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5738686835190330e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2621 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5809397513308987e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2622 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5880108191427640e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2623 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5950818869546293e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2624 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6021529547664950e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2625 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6092240225783603e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2626 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6162950903902260e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2627 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6233661582020913e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2628 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6304372260139570e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2629 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6375082938258223e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2630 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6445793616376876e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2631 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6516504294495533e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2632 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6587214972614186e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2633 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6657925650732843e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2857 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5031580054003784e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2858 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5173001410241094e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2859 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5314422766478404e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2860 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5455844122715710e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2861 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5597265478953020e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2862 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5738686835190330e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2863 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5880108191427640e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2864 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6021529547664950e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2865 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6162950903902260e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2866 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6304372260139570e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2867 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6445793616376876e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2868 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6587214972614186e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2634 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6728636328851496e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2635 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6799347006970153e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2636 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6870057685088806e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2637 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6940768363207459e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2638 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7011479041326116e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2639 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7082189719444769e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2640 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7152900397563426e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2641 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7223611075682079e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2642 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7294321753800737e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2643 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7365032431919389e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2644 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7435743110038042e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2645 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7506453788156700e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2646 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7577164466275352e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2647 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7647875144394010e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2648 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7718585822512662e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2649 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7789296500631320e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2650 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7860007178749973e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2651 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7930717856868625e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2652 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8001428534987283e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2653 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8072139213105936e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2654 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8142849891224593e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2655 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8213560569343246e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2656 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8284271247461903e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2869 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6728636328851496e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2870 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6870057685088806e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2871 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7011479041326116e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2872 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7152900397563426e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2873 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7294321753800737e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2874 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7435743110038042e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2875 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7577164466275352e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2876 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7718585822512662e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2877 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7860007178749973e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2878 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8001428534987283e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2879 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8142849891224593e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2880 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8284271247461903e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2657 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8354981925580556e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2658 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8425692603699213e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2659 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8496403281817866e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2660 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8567113959936519e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2661 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8637824638055176e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2662 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8708535316173829e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2663 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8779245994292486e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2664 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8849956672411139e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2665 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8920667350529796e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2666 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8991378028648449e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2667 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9062088706767102e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2668 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9132799384885759e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2669 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9203510063004412e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2670 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9274220741123069e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2671 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9344931419241722e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2672 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9415642097360379e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2673 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9486352775479032e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2674 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9557063453597685e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2675 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9627774131716342e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2676 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9698484809834995e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2677 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9769195487953652e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2678 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9839906166072305e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2679 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9910616844190963e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2680 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9981327522309615e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2881 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8425692603699213e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2882 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8567113959936519e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2883 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8708535316173829e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2884 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8849956672411139e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2885 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8991378028648449e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2886 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9132799384885759e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2887 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9274220741123069e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2888 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9415642097360379e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2889 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9557063453597685e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2890 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9698484809834995e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2891 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9839906166072305e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2892 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9981327522309615e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2681 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0052038200428268e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2682 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0122748878546926e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2683 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0193459556665578e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2684 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0264170234784236e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2685 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0334880912902888e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2686 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0405591591021546e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2687 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0476302269140199e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2688 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0547012947258851e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2689 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0617723625377509e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2690 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0688434303496162e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2691 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0759144981614819e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2692 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0829855659733472e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2693 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0900566337852129e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2694 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0971277015970782e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2695 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1041987694089435e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2696 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1112698372208092e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2697 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1183409050326745e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2698 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1254119728445402e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2699 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1324830406564055e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2700 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1395541084682712e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2701 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1466251762801365e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2702 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1536962440920022e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2703 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1607673119038675e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2893 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0122748878546926e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2894 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0264170234784236e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2895 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0405591591021546e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2896 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0547012947258851e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2897 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0688434303496162e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2898 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0829855659733472e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2899 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0971277015970782e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2900 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1112698372208092e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2901 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1254119728445402e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2902 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1395541084682712e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2903 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1536962440920022e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2704 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1678383797157328e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2705 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1749094475275985e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2706 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1819805153394638e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2707 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1890515831513295e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2708 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1961226509631948e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2709 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2031937187750605e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2710 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2102647865869258e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2711 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2173358543987911e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2712 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2244069222106568e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2713 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2314779900225221e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2714 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2385490578343878e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2715 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2456201256462531e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2716 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2526911934581189e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2717 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2597622612699841e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2718 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2668333290818494e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2719 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2739043968937152e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2720 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2809754647055804e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2721 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2880465325174462e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2722 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2951176003293114e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2723 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3021886681411772e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2724 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3092597359530425e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2725 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3163308037649077e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2726 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3234018715767735e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2727 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3304729393886388e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2904 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1678383797157328e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2905 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1819805153394638e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2906 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1961226509631948e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2907 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2102647865869258e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2908 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2244069222106568e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2909 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2385490578343878e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2910 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2526911934581189e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2911 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2668333290818494e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2912 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2809754647055804e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2913 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2951176003293114e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2914 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3092597359530425e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2915 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3234018715767735e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2728 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3375440072005045e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2729 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3446150750123698e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2730 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3516861428242355e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2731 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3587572106361008e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2732 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3658282784479661e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2733 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3728993462598318e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2734 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3799704140716971e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2735 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3870414818835628e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2736 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3941125496954281e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2737 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4011836175072938e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2738 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4082546853191591e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2739 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4153257531310244e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2740 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4223968209428901e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2741 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4294678887547554e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2742 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4365389565666211e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2743 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4436100243784864e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2744 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4506810921903521e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2745 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4577521600022174e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2746 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4648232278140831e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2747 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4718942956259484e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2748 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4789653634378137e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2749 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4860364312496794e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2750 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4931074990615447e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2751 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5001785668734104e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2916 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3375440072005045e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2917 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3516861428242355e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2918 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3658282784479661e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2919 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3799704140716971e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2920 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3941125496954281e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2921 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4082546853191591e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2922 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4223968209428901e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2923 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4365389565666211e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2924 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4506810921903521e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2925 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4648232278140831e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2926 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4789653634378137e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2927 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4931074990615447e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2752 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5072496346852757e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2753 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5143207024971415e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2754 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5213917703090067e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2755 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5284628381208720e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2756 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5355339059327378e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2757 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5426049737446030e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2758 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5496760415564688e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2759 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5567471093683340e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2760 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5638181771801998e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2761 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5708892449920651e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2762 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5779603128039303e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2763 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5850313806157961e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2764 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5921024484276614e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2765 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5991735162395271e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2766 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6062445840513924e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2767 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6133156518632581e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2768 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6203867196751234e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2769 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6274577874869887e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2770 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6345288552988544e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2771 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6415999231107197e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2772 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6486709909225854e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2773 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6557420587344507e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2774 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6628131265463164e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2928 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5072496346852757e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2929 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5213917703090067e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2930 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5355339059327378e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2931 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5496760415564688e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2932 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5638181771801998e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2933 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5779603128039303e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2934 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5921024484276614e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2935 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6062445840513924e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2936 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6203867196751234e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2937 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6345288552988544e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2938 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6486709909225854e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2939 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6628131265463164e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2775 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6698841943581817e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2776 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6769552621700470e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2777 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6840263299819127e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2778 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6910973977937780e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2779 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6981684656056437e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2780 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7052395334175090e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2781 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7123106012293747e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2782 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7193816690412400e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2783 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7264527368531053e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2784 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7335238046649710e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2785 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7405948724768363e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2786 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7476659402887020e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2787 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7547370081005673e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2788 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7618080759124330e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2789 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7688791437242983e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2790 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7759502115361636e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2791 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7830212793480293e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2792 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7900923471598946e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2793 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7971634149717604e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2794 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8042344827836256e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2795 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8113055505954914e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2796 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8183766184073566e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2797 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8254476862192224e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2798 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8325187540310877e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2940 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6769552621700470e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2941 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6910973977937780e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2942 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7052395334175090e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2943 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7193816690412400e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2944 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7335238046649710e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2945 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7476659402887020e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2946 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7618080759124330e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2947 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7759502115361636e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2948 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7900923471598946e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2949 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8042344827836256e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2950 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8183766184073566e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2951 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8325187540310877e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5539 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7052395334175090e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5540 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7123106012293747e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5541 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7193816690412400e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5542 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7264527368531053e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5543 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7335238046649710e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5544 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7405948724768363e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5545 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7476659402887020e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5546 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7547370081005673e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5547 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7618080759124330e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5548 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7688791437242983e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5549 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7759502115361636e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5550 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7830212793480293e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5551 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7900923471598946e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5552 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7971634149717604e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5553 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8042344827836256e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5554 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8113055505954914e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5555 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8183766184073566e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5556 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8254476862192224e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5557 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8325187540310877e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5581 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7193816690412400e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5582 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7264527368531053e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5583 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7335238046649710e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5584 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7405948724768363e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5585 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7476659402887020e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5586 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7547370081005673e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5587 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7618080759124330e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5588 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7688791437242983e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5589 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7759502115361636e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5590 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7830212793480293e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5591 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7900923471598946e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5592 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7971634149717604e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5593 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8042344827836256e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5594 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8113055505954914e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5595 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8183766184073566e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5596 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8254476862192224e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5597 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8325187540310877e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5621 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7335238046649710e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5622 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7405948724768363e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5623 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7476659402887020e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5624 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7547370081005673e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5625 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7618080759124330e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5626 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7688791437242983e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5627 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7759502115361636e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5628 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7830212793480293e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5629 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7900923471598946e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5630 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7971634149717604e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5631 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8042344827836256e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5632 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8113055505954914e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5633 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8183766184073566e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5634 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8254476862192224e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5635 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8325187540310877e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5659 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7476659402887020e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5660 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7547370081005673e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5661 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7618080759124330e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5662 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7688791437242983e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5663 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7759502115361636e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5664 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7830212793480293e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5665 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7900923471598946e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5666 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7971634149717604e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5667 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8042344827836256e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5668 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8113055505954914e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5669 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8183766184073566e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5670 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8254476862192224e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5671 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8325187540310877e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5695 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7618080759124330e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +5696 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7688791437242983e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +5697 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7759502115361636e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +5698 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7830212793480293e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +5699 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7900923471598946e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +5700 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7971634149717604e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +5701 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8042344827836256e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +5702 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8113055505954914e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +5703 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8183766184073566e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +5704 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8254476862192224e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +5705 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8325187540310877e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +5729 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7759502115361636e+00 7.0710678118654752e-02 0.0000000000000000e+00 0 0 0 +5730 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7830212793480293e+00 7.7781745930520230e-02 0.0000000000000000e+00 0 0 0 +5731 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7900923471598946e+00 7.0710678118654752e-02 0.0000000000000000e+00 0 0 0 +5732 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7971634149717604e+00 7.7781745930520230e-02 0.0000000000000000e+00 0 0 0 +5733 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8042344827836256e+00 7.0710678118654752e-02 0.0000000000000000e+00 0 0 0 +5734 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8113055505954914e+00 7.7781745930520230e-02 0.0000000000000000e+00 0 0 0 +5735 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8183766184073566e+00 7.0710678118654752e-02 0.0000000000000000e+00 0 0 0 +5736 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8254476862192224e+00 7.7781745930520230e-02 0.0000000000000000e+00 0 0 0 +5737 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8325187540310877e+00 7.0710678118654752e-02 0.0000000000000000e+00 0 0 0 +5761 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7900923471598946e+00 8.4852813742385708e-02 0.0000000000000000e+00 0 0 0 +5762 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7971634149717604e+00 9.1923881554251186e-02 0.0000000000000000e+00 0 0 0 +5763 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8042344827836256e+00 8.4852813742385708e-02 0.0000000000000000e+00 0 0 0 +5764 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8113055505954914e+00 9.1923881554251186e-02 0.0000000000000000e+00 0 0 0 +5765 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8183766184073566e+00 8.4852813742385708e-02 0.0000000000000000e+00 0 0 0 +5766 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8254476862192224e+00 9.1923881554251186e-02 0.0000000000000000e+00 0 0 0 +5767 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8325187540310877e+00 8.4852813742385708e-02 0.0000000000000000e+00 0 0 0 +5791 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8042344827836256e+00 9.8994949366116650e-02 0.0000000000000000e+00 0 0 0 +5792 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8113055505954914e+00 1.0606601717798213e-01 0.0000000000000000e+00 0 0 0 +5793 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8183766184073566e+00 9.8994949366116650e-02 0.0000000000000000e+00 0 0 0 +5794 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8254476862192224e+00 1.0606601717798213e-01 0.0000000000000000e+00 0 0 0 +5795 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8325187540310877e+00 9.8994949366116650e-02 0.0000000000000000e+00 0 0 0 +5819 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8183766184073566e+00 1.1313708498984761e-01 0.0000000000000000e+00 0 0 0 +5820 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8254476862192224e+00 1.2020815280171308e-01 0.0000000000000000e+00 0 0 0 +5821 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8325187540310877e+00 1.1313708498984761e-01 0.0000000000000000e+00 0 0 0 +5845 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8325187540310877e+00 1.2727922061357855e-01 0.0000000000000000e+00 0 0 0 +2799 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8395898218429529e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2800 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8466608896548187e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2801 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8537319574666840e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2802 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8608030252785497e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2803 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8678740930904150e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2804 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8749451609022807e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2805 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8820162287141460e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2806 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8890872965260113e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2807 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8961583643378770e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2808 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9032294321497423e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2809 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9103004999616080e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2810 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9173715677734733e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2811 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9244426355853390e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2812 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9315137033972043e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2813 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9385847712090696e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2814 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9456558390209353e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2815 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9527269068328006e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2816 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9597979746446663e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2817 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9668690424565316e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2818 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9739401102683973e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2819 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2820 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2821 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +2952 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8466608896548187e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2953 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8608030252785497e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2954 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8749451609022807e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2955 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8890872965260113e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2956 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9032294321497423e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2957 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9173715677734733e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2958 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9315137033972043e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2959 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9456558390209353e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2960 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9597979746446663e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2961 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9739401102683973e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2962 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +2963 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +2964 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +2965 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +2966 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +2967 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +2968 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +2969 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +2970 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +2971 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +2972 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +2973 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +2974 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.7781745930520230e-02 0.0000000000000000e+00 0 0 0 +2975 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.0710678118654752e-02 0.0000000000000000e+00 0 0 0 +2976 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.7781745930520230e-02 0.0000000000000000e+00 0 0 0 +2977 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 9.1923881554251186e-02 0.0000000000000000e+00 0 0 0 +2978 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 8.4852813742385708e-02 0.0000000000000000e+00 0 0 0 +2979 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 9.1923881554251186e-02 0.0000000000000000e+00 0 0 0 +2980 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.0606601717798213e-01 0.0000000000000000e+00 0 0 0 +2981 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 9.8994949366116650e-02 0.0000000000000000e+00 0 0 0 +2982 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.0606601717798213e-01 0.0000000000000000e+00 0 0 0 +2983 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.2020815280171308e-01 0.0000000000000000e+00 0 0 0 +2984 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.1313708498984761e-01 0.0000000000000000e+00 0 0 0 +2985 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.2020815280171308e-01 0.0000000000000000e+00 0 0 0 +2986 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.3435028842544403e-01 0.0000000000000000e+00 0 0 0 +2987 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.2727922061357855e-01 0.0000000000000000e+00 0 0 0 +2988 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.3435028842544403e-01 0.0000000000000000e+00 0 0 0 +2989 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.4849242404917498e-01 0.0000000000000000e+00 0 0 0 +2990 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.4142135623730950e-01 0.0000000000000000e+00 0 0 0 +2991 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.4849242404917498e-01 0.0000000000000000e+00 0 0 0 +2992 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.6263455967290594e-01 0.0000000000000000e+00 0 0 0 +2993 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.5556349186104046e-01 0.0000000000000000e+00 0 0 0 +2994 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.6263455967290594e-01 0.0000000000000000e+00 0 0 0 +5558 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8395898218429529e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5559 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8466608896548187e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5560 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8537319574666840e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5561 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8608030252785497e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5562 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8678740930904150e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5563 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8749451609022807e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5564 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8820162287141460e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5565 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8890872965260113e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5566 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8961583643378770e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5567 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9032294321497423e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5568 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9103004999616080e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5569 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9173715677734733e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5570 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9244426355853390e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5571 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9315137033972043e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5572 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9385847712090696e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5573 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9456558390209353e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5574 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9527269068328006e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5575 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9597979746446663e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5576 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9668690424565316e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5577 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9739401102683973e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5578 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5579 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5580 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.0710678118654753e-03 0.0000000000000000e+00 0 0 0 +5598 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8395898218429529e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5599 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8466608896548187e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5600 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8537319574666840e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5601 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8608030252785497e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5602 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8678740930904150e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5603 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8749451609022807e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5604 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8820162287141460e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5605 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8890872965260113e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5606 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8961583643378770e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5607 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9032294321497423e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5608 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9103004999616080e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5609 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9173715677734733e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5610 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9244426355853390e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5611 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9315137033972043e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5612 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9385847712090696e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5613 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9456558390209353e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5614 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9527269068328006e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5615 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9597979746446663e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5616 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9668690424565316e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5617 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9739401102683973e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5618 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5619 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.4142135623730951e-02 0.0000000000000000e+00 0 0 0 +5620 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.1213203435596427e-02 0.0000000000000000e+00 0 0 0 +5636 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8395898218429529e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5637 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8466608896548187e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5638 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8537319574666840e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5639 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8608030252785497e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5640 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8678740930904150e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5641 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8749451609022807e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5642 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8820162287141460e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5643 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8890872965260113e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5644 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8961583643378770e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5645 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9032294321497423e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5646 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9103004999616080e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5647 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9173715677734733e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5648 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9244426355853390e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5649 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9315137033972043e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5650 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9385847712090696e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5651 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9456558390209353e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5652 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9527269068328006e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5653 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9597979746446663e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5654 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9668690424565316e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5655 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9739401102683973e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5656 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5657 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.8284271247461901e-02 0.0000000000000000e+00 0 0 0 +5658 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.5355339059327376e-02 0.0000000000000000e+00 0 0 0 +5672 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8395898218429529e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5673 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8466608896548187e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5674 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8537319574666840e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5675 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8608030252785497e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5676 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8678740930904150e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5677 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8749451609022807e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5678 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8820162287141460e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5679 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8890872965260113e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5680 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8961583643378770e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5681 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9032294321497423e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5682 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9103004999616080e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5683 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9173715677734733e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5684 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9244426355853390e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5685 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9315137033972043e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5686 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9385847712090696e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5687 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9456558390209353e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5688 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9527269068328006e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5689 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9597979746446663e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5690 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9668690424565316e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5691 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9739401102683973e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5692 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5693 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.2426406871192854e-02 0.0000000000000000e+00 0 0 0 +5694 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.9497474683058325e-02 0.0000000000000000e+00 0 0 0 +5706 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8395898218429529e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +5707 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8466608896548187e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +5708 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8537319574666840e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +5709 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8608030252785497e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +5710 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8678740930904150e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +5711 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8749451609022807e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +5712 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8820162287141460e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +5713 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8890872965260113e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +5714 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8961583643378770e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +5715 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9032294321497423e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +5716 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9103004999616080e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +5717 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9173715677734733e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +5718 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9244426355853390e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +5719 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9315137033972043e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +5720 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9385847712090696e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +5721 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9456558390209353e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +5722 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9527269068328006e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +5723 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9597979746446663e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +5724 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9668690424565316e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +5725 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9739401102683973e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +5726 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +5727 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.6568542494923803e-02 0.0000000000000000e+00 0 0 0 +5728 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.3639610306789274e-02 0.0000000000000000e+00 0 0 0 +5738 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8395898218429529e+00 7.7781745930520230e-02 0.0000000000000000e+00 0 0 0 +5739 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8466608896548187e+00 7.0710678118654752e-02 0.0000000000000000e+00 0 0 0 +5740 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8537319574666840e+00 7.7781745930520230e-02 0.0000000000000000e+00 0 0 0 +5741 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8608030252785497e+00 7.0710678118654752e-02 0.0000000000000000e+00 0 0 0 +5742 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8678740930904150e+00 7.7781745930520230e-02 0.0000000000000000e+00 0 0 0 +5743 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8749451609022807e+00 7.0710678118654752e-02 0.0000000000000000e+00 0 0 0 +5744 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8820162287141460e+00 7.7781745930520230e-02 0.0000000000000000e+00 0 0 0 +5745 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8890872965260113e+00 7.0710678118654752e-02 0.0000000000000000e+00 0 0 0 +5746 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8961583643378770e+00 7.7781745930520230e-02 0.0000000000000000e+00 0 0 0 +5747 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9032294321497423e+00 7.0710678118654752e-02 0.0000000000000000e+00 0 0 0 +5748 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9103004999616080e+00 7.7781745930520230e-02 0.0000000000000000e+00 0 0 0 +5749 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9173715677734733e+00 7.0710678118654752e-02 0.0000000000000000e+00 0 0 0 +5750 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9244426355853390e+00 7.7781745930520230e-02 0.0000000000000000e+00 0 0 0 +5751 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9315137033972043e+00 7.0710678118654752e-02 0.0000000000000000e+00 0 0 0 +5752 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9385847712090696e+00 7.7781745930520230e-02 0.0000000000000000e+00 0 0 0 +5753 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9456558390209353e+00 7.0710678118654752e-02 0.0000000000000000e+00 0 0 0 +5754 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9527269068328006e+00 7.7781745930520230e-02 0.0000000000000000e+00 0 0 0 +5755 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9597979746446663e+00 7.0710678118654752e-02 0.0000000000000000e+00 0 0 0 +5756 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9668690424565316e+00 7.7781745930520230e-02 0.0000000000000000e+00 0 0 0 +5757 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9739401102683973e+00 7.0710678118654752e-02 0.0000000000000000e+00 0 0 0 +5758 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.7781745930520230e-02 0.0000000000000000e+00 0 0 0 +5759 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.0710678118654752e-02 0.0000000000000000e+00 0 0 0 +5760 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.7781745930520230e-02 0.0000000000000000e+00 0 0 0 +5768 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8395898218429529e+00 9.1923881554251186e-02 0.0000000000000000e+00 0 0 0 +5769 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8466608896548187e+00 8.4852813742385708e-02 0.0000000000000000e+00 0 0 0 +5770 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8537319574666840e+00 9.1923881554251186e-02 0.0000000000000000e+00 0 0 0 +5771 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8608030252785497e+00 8.4852813742385708e-02 0.0000000000000000e+00 0 0 0 +5772 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8678740930904150e+00 9.1923881554251186e-02 0.0000000000000000e+00 0 0 0 +5773 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8749451609022807e+00 8.4852813742385708e-02 0.0000000000000000e+00 0 0 0 +5774 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8820162287141460e+00 9.1923881554251186e-02 0.0000000000000000e+00 0 0 0 +5775 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8890872965260113e+00 8.4852813742385708e-02 0.0000000000000000e+00 0 0 0 +5776 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8961583643378770e+00 9.1923881554251186e-02 0.0000000000000000e+00 0 0 0 +5777 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9032294321497423e+00 8.4852813742385708e-02 0.0000000000000000e+00 0 0 0 +5778 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9103004999616080e+00 9.1923881554251186e-02 0.0000000000000000e+00 0 0 0 +5779 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9173715677734733e+00 8.4852813742385708e-02 0.0000000000000000e+00 0 0 0 +5780 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9244426355853390e+00 9.1923881554251186e-02 0.0000000000000000e+00 0 0 0 +5781 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9315137033972043e+00 8.4852813742385708e-02 0.0000000000000000e+00 0 0 0 +5782 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9385847712090696e+00 9.1923881554251186e-02 0.0000000000000000e+00 0 0 0 +5783 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9456558390209353e+00 8.4852813742385708e-02 0.0000000000000000e+00 0 0 0 +5784 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9527269068328006e+00 9.1923881554251186e-02 0.0000000000000000e+00 0 0 0 +5785 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9597979746446663e+00 8.4852813742385708e-02 0.0000000000000000e+00 0 0 0 +5786 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9668690424565316e+00 9.1923881554251186e-02 0.0000000000000000e+00 0 0 0 +5787 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9739401102683973e+00 8.4852813742385708e-02 0.0000000000000000e+00 0 0 0 +5788 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 9.1923881554251186e-02 0.0000000000000000e+00 0 0 0 +5789 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 8.4852813742385708e-02 0.0000000000000000e+00 0 0 0 +5790 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 9.1923881554251186e-02 0.0000000000000000e+00 0 0 0 +5796 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8395898218429529e+00 1.0606601717798213e-01 0.0000000000000000e+00 0 0 0 +5797 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8466608896548187e+00 9.8994949366116650e-02 0.0000000000000000e+00 0 0 0 +5798 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8537319574666840e+00 1.0606601717798213e-01 0.0000000000000000e+00 0 0 0 +5799 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8608030252785497e+00 9.8994949366116650e-02 0.0000000000000000e+00 0 0 0 +5800 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8678740930904150e+00 1.0606601717798213e-01 0.0000000000000000e+00 0 0 0 +5801 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8749451609022807e+00 9.8994949366116650e-02 0.0000000000000000e+00 0 0 0 +5802 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8820162287141460e+00 1.0606601717798213e-01 0.0000000000000000e+00 0 0 0 +5803 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8890872965260113e+00 9.8994949366116650e-02 0.0000000000000000e+00 0 0 0 +5804 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8961583643378770e+00 1.0606601717798213e-01 0.0000000000000000e+00 0 0 0 +5805 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9032294321497423e+00 9.8994949366116650e-02 0.0000000000000000e+00 0 0 0 +5806 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9103004999616080e+00 1.0606601717798213e-01 0.0000000000000000e+00 0 0 0 +5807 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9173715677734733e+00 9.8994949366116650e-02 0.0000000000000000e+00 0 0 0 +5808 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9244426355853390e+00 1.0606601717798213e-01 0.0000000000000000e+00 0 0 0 +5809 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9315137033972043e+00 9.8994949366116650e-02 0.0000000000000000e+00 0 0 0 +5810 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9385847712090696e+00 1.0606601717798213e-01 0.0000000000000000e+00 0 0 0 +5811 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9456558390209353e+00 9.8994949366116650e-02 0.0000000000000000e+00 0 0 0 +5812 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9527269068328006e+00 1.0606601717798213e-01 0.0000000000000000e+00 0 0 0 +5813 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9597979746446663e+00 9.8994949366116650e-02 0.0000000000000000e+00 0 0 0 +5814 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9668690424565316e+00 1.0606601717798213e-01 0.0000000000000000e+00 0 0 0 +5815 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9739401102683973e+00 9.8994949366116650e-02 0.0000000000000000e+00 0 0 0 +5816 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.0606601717798213e-01 0.0000000000000000e+00 0 0 0 +5817 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 9.8994949366116650e-02 0.0000000000000000e+00 0 0 0 +5818 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.0606601717798213e-01 0.0000000000000000e+00 0 0 0 +5822 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8395898218429529e+00 1.2020815280171308e-01 0.0000000000000000e+00 0 0 0 +5823 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8466608896548187e+00 1.1313708498984761e-01 0.0000000000000000e+00 0 0 0 +5824 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8537319574666840e+00 1.2020815280171308e-01 0.0000000000000000e+00 0 0 0 +5825 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8608030252785497e+00 1.1313708498984761e-01 0.0000000000000000e+00 0 0 0 +5826 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8678740930904150e+00 1.2020815280171308e-01 0.0000000000000000e+00 0 0 0 +5827 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8749451609022807e+00 1.1313708498984761e-01 0.0000000000000000e+00 0 0 0 +5828 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8820162287141460e+00 1.2020815280171308e-01 0.0000000000000000e+00 0 0 0 +5829 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8890872965260113e+00 1.1313708498984761e-01 0.0000000000000000e+00 0 0 0 +5830 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8961583643378770e+00 1.2020815280171308e-01 0.0000000000000000e+00 0 0 0 +5831 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9032294321497423e+00 1.1313708498984761e-01 0.0000000000000000e+00 0 0 0 +5832 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9103004999616080e+00 1.2020815280171308e-01 0.0000000000000000e+00 0 0 0 +5833 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9173715677734733e+00 1.1313708498984761e-01 0.0000000000000000e+00 0 0 0 +5834 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9244426355853390e+00 1.2020815280171308e-01 0.0000000000000000e+00 0 0 0 +5835 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9315137033972043e+00 1.1313708498984761e-01 0.0000000000000000e+00 0 0 0 +5836 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9385847712090696e+00 1.2020815280171308e-01 0.0000000000000000e+00 0 0 0 +5837 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9456558390209353e+00 1.1313708498984761e-01 0.0000000000000000e+00 0 0 0 +5838 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9527269068328006e+00 1.2020815280171308e-01 0.0000000000000000e+00 0 0 0 +5839 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9597979746446663e+00 1.1313708498984761e-01 0.0000000000000000e+00 0 0 0 +5840 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9668690424565316e+00 1.2020815280171308e-01 0.0000000000000000e+00 0 0 0 +5841 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9739401102683973e+00 1.1313708498984761e-01 0.0000000000000000e+00 0 0 0 +5842 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.2020815280171308e-01 0.0000000000000000e+00 0 0 0 +5843 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.1313708498984761e-01 0.0000000000000000e+00 0 0 0 +5844 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.2020815280171308e-01 0.0000000000000000e+00 0 0 0 +5846 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8395898218429529e+00 1.3435028842544403e-01 0.0000000000000000e+00 0 0 0 +5847 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8466608896548187e+00 1.2727922061357855e-01 0.0000000000000000e+00 0 0 0 +5848 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8537319574666840e+00 1.3435028842544403e-01 0.0000000000000000e+00 0 0 0 +5849 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8608030252785497e+00 1.2727922061357855e-01 0.0000000000000000e+00 0 0 0 +5850 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8678740930904150e+00 1.3435028842544403e-01 0.0000000000000000e+00 0 0 0 +5851 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8749451609022807e+00 1.2727922061357855e-01 0.0000000000000000e+00 0 0 0 +5852 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8820162287141460e+00 1.3435028842544403e-01 0.0000000000000000e+00 0 0 0 +5853 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8890872965260113e+00 1.2727922061357855e-01 0.0000000000000000e+00 0 0 0 +5854 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8961583643378770e+00 1.3435028842544403e-01 0.0000000000000000e+00 0 0 0 +5855 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9032294321497423e+00 1.2727922061357855e-01 0.0000000000000000e+00 0 0 0 +5856 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9103004999616080e+00 1.3435028842544403e-01 0.0000000000000000e+00 0 0 0 +5857 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9173715677734733e+00 1.2727922061357855e-01 0.0000000000000000e+00 0 0 0 +5858 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9244426355853390e+00 1.3435028842544403e-01 0.0000000000000000e+00 0 0 0 +5859 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9315137033972043e+00 1.2727922061357855e-01 0.0000000000000000e+00 0 0 0 +5860 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9385847712090696e+00 1.3435028842544403e-01 0.0000000000000000e+00 0 0 0 +5861 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9456558390209353e+00 1.2727922061357855e-01 0.0000000000000000e+00 0 0 0 +5862 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9527269068328006e+00 1.3435028842544403e-01 0.0000000000000000e+00 0 0 0 +5863 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9597979746446663e+00 1.2727922061357855e-01 0.0000000000000000e+00 0 0 0 +5864 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9668690424565316e+00 1.3435028842544403e-01 0.0000000000000000e+00 0 0 0 +5865 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9739401102683973e+00 1.2727922061357855e-01 0.0000000000000000e+00 0 0 0 +5866 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.3435028842544403e-01 0.0000000000000000e+00 0 0 0 +5867 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.2727922061357855e-01 0.0000000000000000e+00 0 0 0 +5868 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.3435028842544403e-01 0.0000000000000000e+00 0 0 0 +5869 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8466608896548187e+00 1.4142135623730950e-01 0.0000000000000000e+00 0 0 0 +5870 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8537319574666840e+00 1.4849242404917498e-01 0.0000000000000000e+00 0 0 0 +5871 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8608030252785497e+00 1.4142135623730950e-01 0.0000000000000000e+00 0 0 0 +5872 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8678740930904150e+00 1.4849242404917498e-01 0.0000000000000000e+00 0 0 0 +5873 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8749451609022807e+00 1.4142135623730950e-01 0.0000000000000000e+00 0 0 0 +5874 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8820162287141460e+00 1.4849242404917498e-01 0.0000000000000000e+00 0 0 0 +5875 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8890872965260113e+00 1.4142135623730950e-01 0.0000000000000000e+00 0 0 0 +5876 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8961583643378770e+00 1.4849242404917498e-01 0.0000000000000000e+00 0 0 0 +5877 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9032294321497423e+00 1.4142135623730950e-01 0.0000000000000000e+00 0 0 0 +5878 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9103004999616080e+00 1.4849242404917498e-01 0.0000000000000000e+00 0 0 0 +5879 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9173715677734733e+00 1.4142135623730950e-01 0.0000000000000000e+00 0 0 0 +5880 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9244426355853390e+00 1.4849242404917498e-01 0.0000000000000000e+00 0 0 0 +5881 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9315137033972043e+00 1.4142135623730950e-01 0.0000000000000000e+00 0 0 0 +5882 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9385847712090696e+00 1.4849242404917498e-01 0.0000000000000000e+00 0 0 0 +5883 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9456558390209353e+00 1.4142135623730950e-01 0.0000000000000000e+00 0 0 0 +5884 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9527269068328006e+00 1.4849242404917498e-01 0.0000000000000000e+00 0 0 0 +5885 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9597979746446663e+00 1.4142135623730950e-01 0.0000000000000000e+00 0 0 0 +5886 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9668690424565316e+00 1.4849242404917498e-01 0.0000000000000000e+00 0 0 0 +5887 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9739401102683973e+00 1.4142135623730950e-01 0.0000000000000000e+00 0 0 0 +5888 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.4849242404917498e-01 0.0000000000000000e+00 0 0 0 +5889 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.4142135623730950e-01 0.0000000000000000e+00 0 0 0 +5890 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.4849242404917498e-01 0.0000000000000000e+00 0 0 0 +5891 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8608030252785497e+00 1.5556349186104046e-01 0.0000000000000000e+00 0 0 0 +5892 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8678740930904150e+00 1.6263455967290594e-01 0.0000000000000000e+00 0 0 0 +5893 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8749451609022807e+00 1.5556349186104046e-01 0.0000000000000000e+00 0 0 0 +5894 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8820162287141460e+00 1.6263455967290594e-01 0.0000000000000000e+00 0 0 0 +5895 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8890872965260113e+00 1.5556349186104046e-01 0.0000000000000000e+00 0 0 0 +5896 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8961583643378770e+00 1.6263455967290594e-01 0.0000000000000000e+00 0 0 0 +5897 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9032294321497423e+00 1.5556349186104046e-01 0.0000000000000000e+00 0 0 0 +5898 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9103004999616080e+00 1.6263455967290594e-01 0.0000000000000000e+00 0 0 0 +5899 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9173715677734733e+00 1.5556349186104046e-01 0.0000000000000000e+00 0 0 0 +5900 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9244426355853390e+00 1.6263455967290594e-01 0.0000000000000000e+00 0 0 0 +5901 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9315137033972043e+00 1.5556349186104046e-01 0.0000000000000000e+00 0 0 0 +5902 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9385847712090696e+00 1.6263455967290594e-01 0.0000000000000000e+00 0 0 0 +5903 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9456558390209353e+00 1.5556349186104046e-01 0.0000000000000000e+00 0 0 0 +5904 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9527269068328006e+00 1.6263455967290594e-01 0.0000000000000000e+00 0 0 0 +5905 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9597979746446663e+00 1.5556349186104046e-01 0.0000000000000000e+00 0 0 0 +5906 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9668690424565316e+00 1.6263455967290594e-01 0.0000000000000000e+00 0 0 0 +5907 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9739401102683973e+00 1.5556349186104046e-01 0.0000000000000000e+00 0 0 0 +5908 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.6263455967290594e-01 0.0000000000000000e+00 0 0 0 +5909 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.5556349186104046e-01 0.0000000000000000e+00 0 0 0 +5910 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.6263455967290594e-01 0.0000000000000000e+00 0 0 0 +5449 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1778888860545664e+00 1.6970562748477142e-01 0.0000000000000000e+00 0 0 0 +5450 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1849599538664317e+00 1.7677669529663689e-01 0.0000000000000000e+00 0 0 0 +5451 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1920310216782974e+00 1.6970562748477142e-01 0.0000000000000000e+00 0 0 0 +5452 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1991020894901627e+00 1.7677669529663689e-01 0.0000000000000000e+00 0 0 0 +5453 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2061731573020285e+00 1.6970562748477142e-01 0.0000000000000000e+00 0 0 0 +5454 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2132442251138937e+00 1.7677669529663689e-01 0.0000000000000000e+00 0 0 0 +5455 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2203152929257595e+00 1.6970562748477142e-01 0.0000000000000000e+00 0 0 0 +5456 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2273863607376247e+00 1.7677669529663689e-01 0.0000000000000000e+00 0 0 0 +5457 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2344574285494900e+00 1.6970562748477142e-01 0.0000000000000000e+00 0 0 0 +5458 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2415284963613558e+00 1.7677669529663689e-01 0.0000000000000000e+00 0 0 0 +5459 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2485995641732210e+00 1.6970562748477142e-01 0.0000000000000000e+00 0 0 0 +5460 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2556706319850868e+00 1.7677669529663689e-01 0.0000000000000000e+00 0 0 0 +5461 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2627416997969521e+00 1.6970562748477142e-01 0.0000000000000000e+00 0 0 0 +5462 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2698127676088178e+00 1.7677669529663689e-01 0.0000000000000000e+00 0 0 0 +5463 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2768838354206831e+00 1.6970562748477142e-01 0.0000000000000000e+00 0 0 0 +5464 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2839549032325484e+00 1.7677669529663689e-01 0.0000000000000000e+00 0 0 0 +5465 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2910259710444141e+00 1.6970562748477142e-01 0.0000000000000000e+00 0 0 0 +5466 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2980970388562794e+00 1.7677669529663689e-01 0.0000000000000000e+00 0 0 0 +5467 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1920310216782974e+00 1.8384776310850237e-01 0.0000000000000000e+00 0 0 0 +5468 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1991020894901627e+00 1.9091883092036782e-01 0.0000000000000000e+00 0 0 0 +5469 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2061731573020285e+00 1.8384776310850237e-01 0.0000000000000000e+00 0 0 0 +5470 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2132442251138937e+00 1.9091883092036782e-01 0.0000000000000000e+00 0 0 0 +5471 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2203152929257595e+00 1.8384776310850237e-01 0.0000000000000000e+00 0 0 0 +5472 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2273863607376247e+00 1.9091883092036782e-01 0.0000000000000000e+00 0 0 0 +5473 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2344574285494900e+00 1.8384776310850237e-01 0.0000000000000000e+00 0 0 0 +5474 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2415284963613558e+00 1.9091883092036782e-01 0.0000000000000000e+00 0 0 0 +5475 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2485995641732210e+00 1.8384776310850237e-01 0.0000000000000000e+00 0 0 0 +5476 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2556706319850868e+00 1.9091883092036782e-01 0.0000000000000000e+00 0 0 0 +5477 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2627416997969521e+00 1.8384776310850237e-01 0.0000000000000000e+00 0 0 0 +5478 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2698127676088178e+00 1.9091883092036782e-01 0.0000000000000000e+00 0 0 0 +5479 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2768838354206831e+00 1.8384776310850237e-01 0.0000000000000000e+00 0 0 0 +5480 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2839549032325484e+00 1.9091883092036782e-01 0.0000000000000000e+00 0 0 0 +5481 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2910259710444141e+00 1.8384776310850237e-01 0.0000000000000000e+00 0 0 0 +5482 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2980970388562794e+00 1.9091883092036782e-01 0.0000000000000000e+00 0 0 0 +5483 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2061731573020285e+00 1.9798989873223330e-01 0.0000000000000000e+00 0 0 0 +5484 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2132442251138937e+00 2.0506096654409878e-01 0.0000000000000000e+00 0 0 0 +5485 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2203152929257595e+00 1.9798989873223330e-01 0.0000000000000000e+00 0 0 0 +5486 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2273863607376247e+00 2.0506096654409878e-01 0.0000000000000000e+00 0 0 0 +5487 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2344574285494900e+00 1.9798989873223330e-01 0.0000000000000000e+00 0 0 0 +5488 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2415284963613558e+00 2.0506096654409878e-01 0.0000000000000000e+00 0 0 0 +5489 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2485995641732210e+00 1.9798989873223330e-01 0.0000000000000000e+00 0 0 0 +5490 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2556706319850868e+00 2.0506096654409878e-01 0.0000000000000000e+00 0 0 0 +5491 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2627416997969521e+00 1.9798989873223330e-01 0.0000000000000000e+00 0 0 0 +5492 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2698127676088178e+00 2.0506096654409878e-01 0.0000000000000000e+00 0 0 0 +5493 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2768838354206831e+00 1.9798989873223330e-01 0.0000000000000000e+00 0 0 0 +5494 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2839549032325484e+00 2.0506096654409878e-01 0.0000000000000000e+00 0 0 0 +5495 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2910259710444141e+00 1.9798989873223330e-01 0.0000000000000000e+00 0 0 0 +5496 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2980970388562794e+00 2.0506096654409878e-01 0.0000000000000000e+00 0 0 0 +5497 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2203152929257595e+00 2.1213203435596426e-01 0.0000000000000000e+00 0 0 0 +5498 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2273863607376247e+00 2.1920310216782973e-01 0.0000000000000000e+00 0 0 0 +5499 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2344574285494900e+00 2.1213203435596426e-01 0.0000000000000000e+00 0 0 0 +5500 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2415284963613558e+00 2.1920310216782973e-01 0.0000000000000000e+00 0 0 0 +5501 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2485995641732210e+00 2.1213203435596426e-01 0.0000000000000000e+00 0 0 0 +5502 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2556706319850868e+00 2.1920310216782973e-01 0.0000000000000000e+00 0 0 0 +5503 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2627416997969521e+00 2.1213203435596426e-01 0.0000000000000000e+00 0 0 0 +5504 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2698127676088178e+00 2.1920310216782973e-01 0.0000000000000000e+00 0 0 0 +5505 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2768838354206831e+00 2.1213203435596426e-01 0.0000000000000000e+00 0 0 0 +5506 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2839549032325484e+00 2.1920310216782973e-01 0.0000000000000000e+00 0 0 0 +5507 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2910259710444141e+00 2.1213203435596426e-01 0.0000000000000000e+00 0 0 0 +5508 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2980970388562794e+00 2.1920310216782973e-01 0.0000000000000000e+00 0 0 0 +5509 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2344574285494900e+00 2.2627416997969521e-01 0.0000000000000000e+00 0 0 0 +5510 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2415284963613558e+00 2.3334523779156069e-01 0.0000000000000000e+00 0 0 0 +5511 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2485995641732210e+00 2.2627416997969521e-01 0.0000000000000000e+00 0 0 0 +5512 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2556706319850868e+00 2.3334523779156069e-01 0.0000000000000000e+00 0 0 0 +5513 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2627416997969521e+00 2.2627416997969521e-01 0.0000000000000000e+00 0 0 0 +5514 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2698127676088178e+00 2.3334523779156069e-01 0.0000000000000000e+00 0 0 0 +5515 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2768838354206831e+00 2.2627416997969521e-01 0.0000000000000000e+00 0 0 0 +5516 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2839549032325484e+00 2.3334523779156069e-01 0.0000000000000000e+00 0 0 0 +5517 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2910259710444141e+00 2.2627416997969521e-01 0.0000000000000000e+00 0 0 0 +5518 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2980970388562794e+00 2.3334523779156069e-01 0.0000000000000000e+00 0 0 0 +5519 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2485995641732210e+00 2.4041630560342617e-01 0.0000000000000000e+00 0 0 0 +5520 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2556706319850868e+00 2.4748737341529164e-01 0.0000000000000000e+00 0 0 0 +5521 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2627416997969521e+00 2.4041630560342617e-01 0.0000000000000000e+00 0 0 0 +5522 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2698127676088178e+00 2.4748737341529164e-01 0.0000000000000000e+00 0 0 0 +5523 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2768838354206831e+00 2.4041630560342617e-01 0.0000000000000000e+00 0 0 0 +5524 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2839549032325484e+00 2.4748737341529164e-01 0.0000000000000000e+00 0 0 0 +5525 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2910259710444141e+00 2.4041630560342617e-01 0.0000000000000000e+00 0 0 0 +5526 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2980970388562794e+00 2.4748737341529164e-01 0.0000000000000000e+00 0 0 0 +5527 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2627416997969521e+00 2.5455844122715710e-01 0.0000000000000000e+00 0 0 0 +5528 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2698127676088178e+00 2.6162950903902260e-01 0.0000000000000000e+00 0 0 0 +5529 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2768838354206831e+00 2.5455844122715710e-01 0.0000000000000000e+00 0 0 0 +5530 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2839549032325484e+00 2.6162950903902260e-01 0.0000000000000000e+00 0 0 0 +5531 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2910259710444141e+00 2.5455844122715710e-01 0.0000000000000000e+00 0 0 0 +5532 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2980970388562794e+00 2.6162950903902260e-01 0.0000000000000000e+00 0 0 0 +5533 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2768838354206831e+00 2.6870057685088805e-01 0.0000000000000000e+00 0 0 0 +5534 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2839549032325484e+00 2.7577164466275356e-01 0.0000000000000000e+00 0 0 0 +5535 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2910259710444141e+00 2.6870057685088805e-01 0.0000000000000000e+00 0 0 0 +5536 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2980970388562794e+00 2.7577164466275356e-01 0.0000000000000000e+00 0 0 0 +5537 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2910259710444141e+00 2.8284271247461901e-01 0.0000000000000000e+00 0 0 0 +5538 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2980970388562794e+00 2.8991378028648451e-01 0.0000000000000000e+00 0 0 0 +2995 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.7677669529663689e-01 0.0000000000000000e+00 0 0 0 +2996 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.6970562748477142e-01 0.0000000000000000e+00 0 0 0 +2997 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.7677669529663689e-01 0.0000000000000000e+00 0 0 0 +2998 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.9091883092036782e-01 0.0000000000000000e+00 0 0 0 +2999 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.8384776310850237e-01 0.0000000000000000e+00 0 0 0 +3000 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.9091883092036782e-01 0.0000000000000000e+00 0 0 0 +3001 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.0506096654409878e-01 0.0000000000000000e+00 0 0 0 +3002 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.9798989873223330e-01 0.0000000000000000e+00 0 0 0 +3003 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.0506096654409878e-01 0.0000000000000000e+00 0 0 0 +3004 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.1920310216782973e-01 0.0000000000000000e+00 0 0 0 +3005 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.1213203435596426e-01 0.0000000000000000e+00 0 0 0 +3006 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.1920310216782973e-01 0.0000000000000000e+00 0 0 0 +3007 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.3334523779156069e-01 0.0000000000000000e+00 0 0 0 +3008 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.2627416997969521e-01 0.0000000000000000e+00 0 0 0 +3009 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.3334523779156069e-01 0.0000000000000000e+00 0 0 0 +3010 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.4748737341529164e-01 0.0000000000000000e+00 0 0 0 +3011 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.4041630560342617e-01 0.0000000000000000e+00 0 0 0 +3012 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.4748737341529164e-01 0.0000000000000000e+00 0 0 0 +3013 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.6162950903902260e-01 0.0000000000000000e+00 0 0 0 +3014 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.5455844122715710e-01 0.0000000000000000e+00 0 0 0 +3015 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.6162950903902260e-01 0.0000000000000000e+00 0 0 0 +3016 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.7577164466275356e-01 0.0000000000000000e+00 0 0 0 +3017 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.6870057685088805e-01 0.0000000000000000e+00 0 0 0 +3018 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.7577164466275356e-01 0.0000000000000000e+00 0 0 0 +3019 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.8991378028648451e-01 0.0000000000000000e+00 0 0 0 +3020 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.8284271247461901e-01 0.0000000000000000e+00 0 0 0 +3021 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.8991378028648451e-01 0.0000000000000000e+00 0 0 0 +3022 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.0405591591021541e-01 0.0000000000000000e+00 0 0 0 +3023 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.9698484809834996e-01 0.0000000000000000e+00 0 0 0 +3024 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.0405591591021541e-01 0.0000000000000000e+00 0 0 0 +3025 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.1819805153394637e-01 0.0000000000000000e+00 0 0 0 +3026 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.1112698372208092e-01 0.0000000000000000e+00 0 0 0 +3027 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.1819805153394637e-01 0.0000000000000000e+00 0 0 0 +3028 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.3234018715767732e-01 0.0000000000000000e+00 0 0 0 +3029 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.2526911934581187e-01 0.0000000000000000e+00 0 0 0 +3030 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.3234018715767732e-01 0.0000000000000000e+00 0 0 0 +5911 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8749451609022807e+00 1.6970562748477142e-01 0.0000000000000000e+00 0 0 0 +5912 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8820162287141460e+00 1.7677669529663689e-01 0.0000000000000000e+00 0 0 0 +5913 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8890872965260113e+00 1.6970562748477142e-01 0.0000000000000000e+00 0 0 0 +5914 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8961583643378770e+00 1.7677669529663689e-01 0.0000000000000000e+00 0 0 0 +5915 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9032294321497423e+00 1.6970562748477142e-01 0.0000000000000000e+00 0 0 0 +5916 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9103004999616080e+00 1.7677669529663689e-01 0.0000000000000000e+00 0 0 0 +5917 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9173715677734733e+00 1.6970562748477142e-01 0.0000000000000000e+00 0 0 0 +5918 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9244426355853390e+00 1.7677669529663689e-01 0.0000000000000000e+00 0 0 0 +5919 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9315137033972043e+00 1.6970562748477142e-01 0.0000000000000000e+00 0 0 0 +5920 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9385847712090696e+00 1.7677669529663689e-01 0.0000000000000000e+00 0 0 0 +5921 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9456558390209353e+00 1.6970562748477142e-01 0.0000000000000000e+00 0 0 0 +5922 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9527269068328006e+00 1.7677669529663689e-01 0.0000000000000000e+00 0 0 0 +5923 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9597979746446663e+00 1.6970562748477142e-01 0.0000000000000000e+00 0 0 0 +5924 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9668690424565316e+00 1.7677669529663689e-01 0.0000000000000000e+00 0 0 0 +5925 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9739401102683973e+00 1.6970562748477142e-01 0.0000000000000000e+00 0 0 0 +5926 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.7677669529663689e-01 0.0000000000000000e+00 0 0 0 +5927 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.6970562748477142e-01 0.0000000000000000e+00 0 0 0 +5928 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.7677669529663689e-01 0.0000000000000000e+00 0 0 0 +5929 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8890872965260113e+00 1.8384776310850237e-01 0.0000000000000000e+00 0 0 0 +5930 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8961583643378770e+00 1.9091883092036782e-01 0.0000000000000000e+00 0 0 0 +5931 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9032294321497423e+00 1.8384776310850237e-01 0.0000000000000000e+00 0 0 0 +5932 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9103004999616080e+00 1.9091883092036782e-01 0.0000000000000000e+00 0 0 0 +5933 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9173715677734733e+00 1.8384776310850237e-01 0.0000000000000000e+00 0 0 0 +5934 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9244426355853390e+00 1.9091883092036782e-01 0.0000000000000000e+00 0 0 0 +5935 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9315137033972043e+00 1.8384776310850237e-01 0.0000000000000000e+00 0 0 0 +5936 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9385847712090696e+00 1.9091883092036782e-01 0.0000000000000000e+00 0 0 0 +5937 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9456558390209353e+00 1.8384776310850237e-01 0.0000000000000000e+00 0 0 0 +5938 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9527269068328006e+00 1.9091883092036782e-01 0.0000000000000000e+00 0 0 0 +5939 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9597979746446663e+00 1.8384776310850237e-01 0.0000000000000000e+00 0 0 0 +5940 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9668690424565316e+00 1.9091883092036782e-01 0.0000000000000000e+00 0 0 0 +5941 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9739401102683973e+00 1.8384776310850237e-01 0.0000000000000000e+00 0 0 0 +5942 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.9091883092036782e-01 0.0000000000000000e+00 0 0 0 +5943 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.8384776310850237e-01 0.0000000000000000e+00 0 0 0 +5944 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.9091883092036782e-01 0.0000000000000000e+00 0 0 0 +5945 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9032294321497423e+00 1.9798989873223330e-01 0.0000000000000000e+00 0 0 0 +5946 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9103004999616080e+00 2.0506096654409878e-01 0.0000000000000000e+00 0 0 0 +5947 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9173715677734733e+00 1.9798989873223330e-01 0.0000000000000000e+00 0 0 0 +5948 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9244426355853390e+00 2.0506096654409878e-01 0.0000000000000000e+00 0 0 0 +5949 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9315137033972043e+00 1.9798989873223330e-01 0.0000000000000000e+00 0 0 0 +5950 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9385847712090696e+00 2.0506096654409878e-01 0.0000000000000000e+00 0 0 0 +5951 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9456558390209353e+00 1.9798989873223330e-01 0.0000000000000000e+00 0 0 0 +5952 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9527269068328006e+00 2.0506096654409878e-01 0.0000000000000000e+00 0 0 0 +5953 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9597979746446663e+00 1.9798989873223330e-01 0.0000000000000000e+00 0 0 0 +5954 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9668690424565316e+00 2.0506096654409878e-01 0.0000000000000000e+00 0 0 0 +5955 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9739401102683973e+00 1.9798989873223330e-01 0.0000000000000000e+00 0 0 0 +5956 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.0506096654409878e-01 0.0000000000000000e+00 0 0 0 +5957 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.9798989873223330e-01 0.0000000000000000e+00 0 0 0 +5958 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.0506096654409878e-01 0.0000000000000000e+00 0 0 0 +5959 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9173715677734733e+00 2.1213203435596426e-01 0.0000000000000000e+00 0 0 0 +5960 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9244426355853390e+00 2.1920310216782973e-01 0.0000000000000000e+00 0 0 0 +5961 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9315137033972043e+00 2.1213203435596426e-01 0.0000000000000000e+00 0 0 0 +5962 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9385847712090696e+00 2.1920310216782973e-01 0.0000000000000000e+00 0 0 0 +5963 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9456558390209353e+00 2.1213203435596426e-01 0.0000000000000000e+00 0 0 0 +5964 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9527269068328006e+00 2.1920310216782973e-01 0.0000000000000000e+00 0 0 0 +5965 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9597979746446663e+00 2.1213203435596426e-01 0.0000000000000000e+00 0 0 0 +5966 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9668690424565316e+00 2.1920310216782973e-01 0.0000000000000000e+00 0 0 0 +5967 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9739401102683973e+00 2.1213203435596426e-01 0.0000000000000000e+00 0 0 0 +5968 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.1920310216782973e-01 0.0000000000000000e+00 0 0 0 +5969 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.1213203435596426e-01 0.0000000000000000e+00 0 0 0 +5970 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.1920310216782973e-01 0.0000000000000000e+00 0 0 0 +5971 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9315137033972043e+00 2.2627416997969521e-01 0.0000000000000000e+00 0 0 0 +5972 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9385847712090696e+00 2.3334523779156069e-01 0.0000000000000000e+00 0 0 0 +5973 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9456558390209353e+00 2.2627416997969521e-01 0.0000000000000000e+00 0 0 0 +5974 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9527269068328006e+00 2.3334523779156069e-01 0.0000000000000000e+00 0 0 0 +5975 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9597979746446663e+00 2.2627416997969521e-01 0.0000000000000000e+00 0 0 0 +5976 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9668690424565316e+00 2.3334523779156069e-01 0.0000000000000000e+00 0 0 0 +5977 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9739401102683973e+00 2.2627416997969521e-01 0.0000000000000000e+00 0 0 0 +5978 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.3334523779156069e-01 0.0000000000000000e+00 0 0 0 +5979 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.2627416997969521e-01 0.0000000000000000e+00 0 0 0 +5980 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.3334523779156069e-01 0.0000000000000000e+00 0 0 0 +5981 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9456558390209353e+00 2.4041630560342617e-01 0.0000000000000000e+00 0 0 0 +5982 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9527269068328006e+00 2.4748737341529164e-01 0.0000000000000000e+00 0 0 0 +5983 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9597979746446663e+00 2.4041630560342617e-01 0.0000000000000000e+00 0 0 0 +5984 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9668690424565316e+00 2.4748737341529164e-01 0.0000000000000000e+00 0 0 0 +5985 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9739401102683973e+00 2.4041630560342617e-01 0.0000000000000000e+00 0 0 0 +5986 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.4748737341529164e-01 0.0000000000000000e+00 0 0 0 +5987 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.4041630560342617e-01 0.0000000000000000e+00 0 0 0 +5988 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.4748737341529164e-01 0.0000000000000000e+00 0 0 0 +5989 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9597979746446663e+00 2.5455844122715710e-01 0.0000000000000000e+00 0 0 0 +5990 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9668690424565316e+00 2.6162950903902260e-01 0.0000000000000000e+00 0 0 0 +5991 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9739401102683973e+00 2.5455844122715710e-01 0.0000000000000000e+00 0 0 0 +5992 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.6162950903902260e-01 0.0000000000000000e+00 0 0 0 +5993 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.5455844122715710e-01 0.0000000000000000e+00 0 0 0 +5994 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.6162950903902260e-01 0.0000000000000000e+00 0 0 0 +5995 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9739401102683973e+00 2.6870057685088805e-01 0.0000000000000000e+00 0 0 0 +5996 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.7577164466275356e-01 0.0000000000000000e+00 0 0 0 +5997 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.6870057685088805e-01 0.0000000000000000e+00 0 0 0 +5998 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.7577164466275356e-01 0.0000000000000000e+00 0 0 0 +5999 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.8284271247461901e-01 0.0000000000000000e+00 0 0 0 +6000 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.8991378028648451e-01 0.0000000000000000e+00 0 0 0 +3031 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.4648232278140828e-01 0.0000000000000000e+00 0 0 0 +3032 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.3941125496954283e-01 0.0000000000000000e+00 0 0 0 +3033 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.4648232278140828e-01 0.0000000000000000e+00 0 0 0 +3034 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.6062445840513924e-01 0.0000000000000000e+00 0 0 0 +3035 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.5355339059327379e-01 0.0000000000000000e+00 0 0 0 +3036 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.6062445840513924e-01 0.0000000000000000e+00 0 0 0 +3037 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.7476659402887019e-01 0.0000000000000000e+00 0 0 0 +3038 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.6769552621700474e-01 0.0000000000000000e+00 0 0 0 +3039 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.7476659402887019e-01 0.0000000000000000e+00 0 0 0 +3040 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.8890872965260115e-01 0.0000000000000000e+00 0 0 0 +3041 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.8183766184073564e-01 0.0000000000000000e+00 0 0 0 +3042 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.8890872965260115e-01 0.0000000000000000e+00 0 0 0 +3043 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.0305086527633210e-01 0.0000000000000000e+00 0 0 0 +3044 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.9597979746446660e-01 0.0000000000000000e+00 0 0 0 +3045 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.0305086527633210e-01 0.0000000000000000e+00 0 0 0 +3046 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.1719300090006306e-01 0.0000000000000000e+00 0 0 0 +3047 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.1012193308819755e-01 0.0000000000000000e+00 0 0 0 +3048 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.1719300090006306e-01 0.0000000000000000e+00 0 0 0 +3049 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.3133513652379402e-01 0.0000000000000000e+00 0 0 0 +3050 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.2426406871192851e-01 0.0000000000000000e+00 0 0 0 +3051 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.3133513652379402e-01 0.0000000000000000e+00 0 0 0 +3052 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.4547727214752497e-01 0.0000000000000000e+00 0 0 0 +3053 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.3840620433565947e-01 0.0000000000000000e+00 0 0 0 +3054 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.4547727214752497e-01 0.0000000000000000e+00 0 0 0 +3055 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.5961940777125587e-01 0.0000000000000000e+00 0 0 0 +3056 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.5254833995939042e-01 0.0000000000000000e+00 0 0 0 +3057 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.5961940777125587e-01 0.0000000000000000e+00 0 0 0 +3058 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.7376154339498683e-01 0.0000000000000000e+00 0 0 0 +3059 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.6669047558312138e-01 0.0000000000000000e+00 0 0 0 +3060 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.7376154339498683e-01 0.0000000000000000e+00 0 0 0 +3061 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.8790367901871778e-01 0.0000000000000000e+00 0 0 0 +3062 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.8083261120685233e-01 0.0000000000000000e+00 0 0 0 +3063 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.8790367901871778e-01 0.0000000000000000e+00 0 0 0 +3065 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.9497474683058329e-01 0.0000000000000000e+00 0 0 0 +3064 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.0204581464244880e-01 0.0000000000000000e+00 0 0 0 +3066 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.0204581464244880e-01 0.0000000000000000e+00 0 0 0 +3067 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.1618795026617970e-01 0.0000000000000000e+00 0 0 0 +3068 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.0911688245431419e-01 0.0000000000000000e+00 0 0 0 +3069 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.1618795026617970e-01 0.0000000000000000e+00 0 0 0 +3070 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.3033008588991060e-01 0.0000000000000000e+00 0 0 0 +3071 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.2325901807804520e-01 0.0000000000000000e+00 0 0 0 +3072 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.3033008588991060e-01 0.0000000000000000e+00 0 0 0 +3073 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.4447222151364161e-01 0.0000000000000000e+00 0 0 0 +3074 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.3740115370177610e-01 0.0000000000000000e+00 0 0 0 +3075 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.4447222151364161e-01 0.0000000000000000e+00 0 0 0 +3076 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.5861435713737251e-01 0.0000000000000000e+00 0 0 0 +3077 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.5154328932550711e-01 0.0000000000000000e+00 0 0 0 +3078 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.5861435713737251e-01 0.0000000000000000e+00 0 0 0 +3079 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.7275649276110352e-01 0.0000000000000000e+00 0 0 0 +3080 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.6568542494923801e-01 0.0000000000000000e+00 0 0 0 +3081 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.7275649276110352e-01 0.0000000000000000e+00 0 0 0 +3082 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.8689862838483442e-01 0.0000000000000000e+00 0 0 0 +3083 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.7982756057296903e-01 0.0000000000000000e+00 0 0 0 +3084 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.8689862838483442e-01 0.0000000000000000e+00 0 0 0 +3085 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.0104076400856543e-01 0.0000000000000000e+00 0 0 0 +3086 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.9396969619669993e-01 0.0000000000000000e+00 0 0 0 +3087 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.0104076400856543e-01 0.0000000000000000e+00 0 0 0 +3088 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.1518289963229633e-01 0.0000000000000000e+00 0 0 0 +3089 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.0811183182043083e-01 0.0000000000000000e+00 0 0 0 +3090 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.1518289963229633e-01 0.0000000000000000e+00 0 0 0 +3091 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.2932503525602734e-01 0.0000000000000000e+00 0 0 0 +3092 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.2225396744416184e-01 0.0000000000000000e+00 0 0 0 +3093 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.2932503525602734e-01 0.0000000000000000e+00 0 0 0 +3094 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.4346717087975824e-01 0.0000000000000000e+00 0 0 0 +3095 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.3639610306789274e-01 0.0000000000000000e+00 0 0 0 +3096 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.4346717087975824e-01 0.0000000000000000e+00 0 0 0 +3097 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.5760930650348925e-01 0.0000000000000000e+00 0 0 0 +3098 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.5053823869162375e-01 0.0000000000000000e+00 0 0 0 +3099 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.5760930650348925e-01 0.0000000000000000e+00 0 0 0 +3101 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.6468037431535465e-01 0.0000000000000000e+00 0 0 0 +3100 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.7175144212722016e-01 0.0000000000000000e+00 0 0 0 +3102 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.7175144212722016e-01 0.0000000000000000e+00 0 0 0 +3103 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.8589357775095106e-01 0.0000000000000000e+00 0 0 0 +3104 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.7882250993908566e-01 0.0000000000000000e+00 0 0 0 +3105 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.8589357775095106e-01 0.0000000000000000e+00 0 0 0 +3106 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.0003571337468207e-01 0.0000000000000000e+00 0 0 0 +3107 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.9296464556281656e-01 0.0000000000000000e+00 0 0 0 +3108 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.0003571337468207e-01 0.0000000000000000e+00 0 0 0 +3109 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.1417784899841297e-01 0.0000000000000000e+00 0 0 0 +3110 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.0710678118654757e-01 0.0000000000000000e+00 0 0 0 +3111 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.1417784899841297e-01 0.0000000000000000e+00 0 0 0 +3112 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.2831998462214398e-01 0.0000000000000000e+00 0 0 0 +3113 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.2124891681027847e-01 0.0000000000000000e+00 0 0 0 +3114 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.2831998462214398e-01 0.0000000000000000e+00 0 0 0 +3115 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.4246212024587488e-01 0.0000000000000000e+00 0 0 0 +3116 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.3539105243400948e-01 0.0000000000000000e+00 0 0 0 +3117 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.4246212024587488e-01 0.0000000000000000e+00 0 0 0 +3118 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.5660425586960589e-01 0.0000000000000000e+00 0 0 0 +3119 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.4953318805774038e-01 0.0000000000000000e+00 0 0 0 +3120 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.5660425586960589e-01 0.0000000000000000e+00 0 0 0 +3121 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.7074639149333679e-01 0.0000000000000000e+00 0 0 0 +3122 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.6367532368147129e-01 0.0000000000000000e+00 0 0 0 +3123 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.7074639149333679e-01 0.0000000000000000e+00 0 0 0 +3124 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.8488852711706780e-01 0.0000000000000000e+00 0 0 0 +3125 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.7781745930520230e-01 0.0000000000000000e+00 0 0 0 +3126 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.8488852711706780e-01 0.0000000000000000e+00 0 0 0 +3127 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.9903066274079870e-01 0.0000000000000000e+00 0 0 0 +3128 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.9195959492893320e-01 0.0000000000000000e+00 0 0 0 +3129 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.9903066274079870e-01 0.0000000000000000e+00 0 0 0 +3130 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 8.1317279836452971e-01 0.0000000000000000e+00 0 0 0 +3131 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 8.0610173055266421e-01 0.0000000000000000e+00 0 0 0 +3132 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 8.1317279836452971e-01 0.0000000000000000e+00 0 0 0 +3133 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 8.2731493398826061e-01 0.0000000000000000e+00 0 0 0 +3134 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 8.2024386617639511e-01 0.0000000000000000e+00 0 0 0 +3135 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 8.2731493398826061e-01 0.0000000000000000e+00 0 0 0 +3136 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 8.4145706961199151e-01 0.0000000000000000e+00 0 0 0 +3137 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 8.3438600180012612e-01 0.0000000000000000e+00 0 0 0 +3138 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 8.4145706961199151e-01 0.0000000000000000e+00 0 0 0 +3139 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 8.5559920523572253e-01 0.0000000000000000e+00 0 0 0 +3140 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 8.4852813742385702e-01 0.0000000000000000e+00 0 0 0 +3141 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 8.5559920523572253e-01 0.0000000000000000e+00 0 0 0 +3142 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 8.6974134085945343e-01 0.0000000000000000e+00 0 0 0 +3143 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 8.6267027304758803e-01 0.0000000000000000e+00 0 0 0 +3144 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 8.6974134085945343e-01 0.0000000000000000e+00 0 0 0 +3145 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 8.8388347648318444e-01 0.0000000000000000e+00 0 0 0 +3146 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 8.7681240867131893e-01 0.0000000000000000e+00 0 0 0 +3147 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 8.8388347648318444e-01 0.0000000000000000e+00 0 0 0 +3148 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 8.9802561210691534e-01 0.0000000000000000e+00 0 0 0 +3149 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 8.9095454429504994e-01 0.0000000000000000e+00 0 0 0 +3150 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 8.9802561210691534e-01 0.0000000000000000e+00 0 0 0 +3151 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 9.1216774773064635e-01 0.0000000000000000e+00 0 0 0 +3152 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 9.0509667991878084e-01 0.0000000000000000e+00 0 0 0 +3153 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 9.1216774773064635e-01 0.0000000000000000e+00 0 0 0 +3154 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 9.2630988335437725e-01 0.0000000000000000e+00 0 0 0 +3155 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 9.1923881554251174e-01 0.0000000000000000e+00 0 0 0 +3156 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 9.2630988335437725e-01 0.0000000000000000e+00 0 0 0 +3157 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 9.4045201897810826e-01 0.0000000000000000e+00 0 0 0 +3158 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 9.3338095116624276e-01 0.0000000000000000e+00 0 0 0 +3159 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 9.4045201897810826e-01 0.0000000000000000e+00 0 0 0 +3160 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 9.5459415460183916e-01 0.0000000000000000e+00 0 0 0 +3161 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 9.4752308678997366e-01 0.0000000000000000e+00 0 0 0 +3162 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 9.5459415460183916e-01 0.0000000000000000e+00 0 0 0 +3163 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 9.6873629022557017e-01 0.0000000000000000e+00 0 0 0 +3164 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 9.6166522241370467e-01 0.0000000000000000e+00 0 0 0 +3165 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 9.6873629022557017e-01 0.0000000000000000e+00 0 0 0 +3166 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 9.8287842584930107e-01 0.0000000000000000e+00 0 0 0 +3167 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 9.7580735803743557e-01 0.0000000000000000e+00 0 0 0 +3168 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 9.8287842584930107e-01 0.0000000000000000e+00 0 0 0 +3169 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 9.9702056147303197e-01 0.0000000000000000e+00 0 0 0 +3170 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 9.8994949366116658e-01 0.0000000000000000e+00 0 0 0 +3171 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 9.9702056147303197e-01 0.0000000000000000e+00 0 0 0 +3172 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.0111626970967629e+00 0.0000000000000000e+00 0 0 0 +3173 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.0040916292848976e+00 0.0000000000000000e+00 0 0 0 +3174 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.0111626970967629e+00 0.0000000000000000e+00 0 0 0 +3175 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.0253048327204939e+00 0.0000000000000000e+00 0 0 0 +3176 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.0182337649086284e+00 0.0000000000000000e+00 0 0 0 +3177 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.0253048327204939e+00 0.0000000000000000e+00 0 0 0 +3178 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.0394469683442249e+00 0.0000000000000000e+00 0 0 0 +3179 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.0323759005323594e+00 0.0000000000000000e+00 0 0 0 +3180 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.0394469683442249e+00 0.0000000000000000e+00 0 0 0 +3181 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.0535891039679559e+00 0.0000000000000000e+00 0 0 0 +3182 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.0465180361560904e+00 0.0000000000000000e+00 0 0 0 +3183 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.0535891039679559e+00 0.0000000000000000e+00 0 0 0 +3184 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.0677312395916867e+00 0.0000000000000000e+00 0 0 0 +3185 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.0606601717798212e+00 0.0000000000000000e+00 0 0 0 +3186 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.0677312395916867e+00 0.0000000000000000e+00 0 0 0 +3187 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.0818733752154177e+00 0.0000000000000000e+00 0 0 0 +3188 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.0748023074035522e+00 0.0000000000000000e+00 0 0 0 +3189 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.0818733752154177e+00 0.0000000000000000e+00 0 0 0 +3190 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.0960155108391487e+00 0.0000000000000000e+00 0 0 0 +3191 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.0889444430272832e+00 0.0000000000000000e+00 0 0 0 +3192 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.0960155108391487e+00 0.0000000000000000e+00 0 0 0 +3193 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.1101576464628797e+00 0.0000000000000000e+00 0 0 0 +3194 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.1030865786510142e+00 0.0000000000000000e+00 0 0 0 +3195 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.1101576464628797e+00 0.0000000000000000e+00 0 0 0 +3196 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.1242997820866105e+00 0.0000000000000000e+00 0 0 0 +3197 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.1172287142747450e+00 0.0000000000000000e+00 0 0 0 +3198 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.1242997820866105e+00 0.0000000000000000e+00 0 0 0 +3199 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.1384419177103415e+00 0.0000000000000000e+00 0 0 0 +3200 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.1313708498984760e+00 0.0000000000000000e+00 0 0 0 +3201 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.1384419177103415e+00 0.0000000000000000e+00 0 0 0 +3202 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.1525840533340725e+00 0.0000000000000000e+00 0 0 0 +3203 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.1455129855222070e+00 0.0000000000000000e+00 0 0 0 +3204 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.1525840533340725e+00 0.0000000000000000e+00 0 0 0 +3205 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.1667261889578033e+00 0.0000000000000000e+00 0 0 0 +3206 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.1596551211459381e+00 0.0000000000000000e+00 0 0 0 +3207 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.1667261889578033e+00 0.0000000000000000e+00 0 0 0 +3208 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.1808683245815343e+00 0.0000000000000000e+00 0 0 0 +3209 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.1737972567696688e+00 0.0000000000000000e+00 0 0 0 +3210 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.1808683245815343e+00 0.0000000000000000e+00 0 0 0 +3211 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.1950104602052654e+00 0.0000000000000000e+00 0 0 0 +3212 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.1879393923933999e+00 0.0000000000000000e+00 0 0 0 +3213 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.1950104602052654e+00 0.0000000000000000e+00 0 0 0 +3214 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.2091525958289964e+00 0.0000000000000000e+00 0 0 0 +3215 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.2020815280171309e+00 0.0000000000000000e+00 0 0 0 +3216 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.2091525958289964e+00 0.0000000000000000e+00 0 0 0 +3217 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.2232947314527272e+00 0.0000000000000000e+00 0 0 0 +3218 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.2162236636408617e+00 0.0000000000000000e+00 0 0 0 +3219 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.2232947314527272e+00 0.0000000000000000e+00 0 0 0 +3220 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.2374368670764582e+00 0.0000000000000000e+00 0 0 0 +3221 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.2303657992645927e+00 0.0000000000000000e+00 0 0 0 +3222 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.2374368670764582e+00 0.0000000000000000e+00 0 0 0 +3223 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.2515790027001892e+00 0.0000000000000000e+00 0 0 0 +3224 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.2445079348883237e+00 0.0000000000000000e+00 0 0 0 +3225 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.2515790027001892e+00 0.0000000000000000e+00 0 0 0 +3226 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.2657211383239202e+00 0.0000000000000000e+00 0 0 0 +3227 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.2586500705120547e+00 0.0000000000000000e+00 0 0 0 +3228 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.2657211383239202e+00 0.0000000000000000e+00 0 0 0 +3229 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.2798632739476510e+00 0.0000000000000000e+00 0 0 0 +3230 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.2727922061357855e+00 0.0000000000000000e+00 0 0 0 +3231 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.2798632739476510e+00 0.0000000000000000e+00 0 0 0 +3232 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.2940054095713820e+00 0.0000000000000000e+00 0 0 0 +3233 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.2869343417595165e+00 0.0000000000000000e+00 0 0 0 +3234 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.2940054095713820e+00 0.0000000000000000e+00 0 0 0 +3235 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.3081475451951130e+00 0.0000000000000000e+00 0 0 0 +3236 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.3010764773832475e+00 0.0000000000000000e+00 0 0 0 +3237 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.3081475451951130e+00 0.0000000000000000e+00 0 0 0 +3238 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.3222896808188438e+00 0.0000000000000000e+00 0 0 0 +3239 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.3152186130069785e+00 0.0000000000000000e+00 0 0 0 +3240 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.3222896808188438e+00 0.0000000000000000e+00 0 0 0 +3242 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.3293607486307093e+00 0.0000000000000000e+00 0 0 0 +3241 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.3364318164425748e+00 0.0000000000000000e+00 0 0 0 +3243 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.3364318164425748e+00 0.0000000000000000e+00 0 0 0 +3244 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.3505739520663058e+00 0.0000000000000000e+00 0 0 0 +3245 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.3435028842544403e+00 0.0000000000000000e+00 0 0 0 +3246 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.3505739520663058e+00 0.0000000000000000e+00 0 0 0 +3247 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.3647160876900368e+00 0.0000000000000000e+00 0 0 0 +3248 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.3576450198781713e+00 0.0000000000000000e+00 0 0 0 +3249 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.3647160876900368e+00 0.0000000000000000e+00 0 0 0 +3250 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.3788582233137676e+00 0.0000000000000000e+00 0 0 0 +3251 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.3717871555019021e+00 0.0000000000000000e+00 0 0 0 +3252 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.3788582233137676e+00 0.0000000000000000e+00 0 0 0 +3253 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.3930003589374986e+00 0.0000000000000000e+00 0 0 0 +3254 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.3859292911256331e+00 0.0000000000000000e+00 0 0 0 +3255 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.3930003589374986e+00 0.0000000000000000e+00 0 0 0 +3256 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.4071424945612296e+00 0.0000000000000000e+00 0 0 0 +3257 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.4000714267493641e+00 0.0000000000000000e+00 0 0 0 +3258 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.4071424945612296e+00 0.0000000000000000e+00 0 0 0 +3259 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.4212846301849607e+00 0.0000000000000000e+00 0 0 0 +3260 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.4142135623730951e+00 0.0000000000000000e+00 0 0 0 +3261 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.4212846301849607e+00 0.0000000000000000e+00 0 0 0 +3262 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.4354267658086914e+00 0.0000000000000000e+00 0 0 0 +3263 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.4283556979968259e+00 0.0000000000000000e+00 0 0 0 +3264 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.4354267658086914e+00 0.0000000000000000e+00 0 0 0 +3265 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.4495689014324225e+00 0.0000000000000000e+00 0 0 0 +3266 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.4424978336205569e+00 0.0000000000000000e+00 0 0 0 +3267 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.4495689014324225e+00 0.0000000000000000e+00 0 0 0 +3268 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.4637110370561535e+00 0.0000000000000000e+00 0 0 0 +3269 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.4566399692442880e+00 0.0000000000000000e+00 0 0 0 +3270 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.4637110370561535e+00 0.0000000000000000e+00 0 0 0 +3271 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.4778531726798843e+00 0.0000000000000000e+00 0 0 0 +3272 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.4707821048680190e+00 0.0000000000000000e+00 0 0 0 +3273 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.4778531726798843e+00 0.0000000000000000e+00 0 0 0 +3274 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.4919953083036153e+00 0.0000000000000000e+00 0 0 0 +3275 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.4849242404917498e+00 0.0000000000000000e+00 0 0 0 +3276 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.4919953083036153e+00 0.0000000000000000e+00 0 0 0 +3278 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.4990663761154808e+00 0.0000000000000000e+00 0 0 0 +3277 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.5061374439273463e+00 0.0000000000000000e+00 0 0 0 +3279 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.5061374439273463e+00 0.0000000000000000e+00 0 0 0 +3280 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.5202795795510773e+00 0.0000000000000000e+00 0 0 0 +3281 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.5132085117392118e+00 0.0000000000000000e+00 0 0 0 +3282 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.5202795795510773e+00 0.0000000000000000e+00 0 0 0 +3283 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.5344217151748081e+00 0.0000000000000000e+00 0 0 0 +3284 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.5273506473629426e+00 0.0000000000000000e+00 0 0 0 +3285 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.5344217151748081e+00 0.0000000000000000e+00 0 0 0 +3286 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.5485638507985391e+00 0.0000000000000000e+00 0 0 0 +3287 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.5414927829866736e+00 0.0000000000000000e+00 0 0 0 +3288 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.5485638507985391e+00 0.0000000000000000e+00 0 0 0 +3289 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.5627059864222701e+00 0.0000000000000000e+00 0 0 0 +3290 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.5556349186104046e+00 0.0000000000000000e+00 0 0 0 +3291 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.5627059864222701e+00 0.0000000000000000e+00 0 0 0 +3292 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.5768481220460011e+00 0.0000000000000000e+00 0 0 0 +3293 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.5697770542341356e+00 0.0000000000000000e+00 0 0 0 +3294 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.5768481220460011e+00 0.0000000000000000e+00 0 0 0 +3295 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.5909902576697319e+00 0.0000000000000000e+00 0 0 0 +3296 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.5839191898578664e+00 0.0000000000000000e+00 0 0 0 +3297 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.5909902576697319e+00 0.0000000000000000e+00 0 0 0 +3298 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.6051323932934629e+00 0.0000000000000000e+00 0 0 0 +3299 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.5980613254815974e+00 0.0000000000000000e+00 0 0 0 +3300 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.6051323932934629e+00 0.0000000000000000e+00 0 0 0 +3301 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.6192745289171939e+00 0.0000000000000000e+00 0 0 0 +3302 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.6122034611053284e+00 0.0000000000000000e+00 0 0 0 +3303 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.6192745289171939e+00 0.0000000000000000e+00 0 0 0 +3304 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.6334166645409247e+00 0.0000000000000000e+00 0 0 0 +3305 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.6263455967290594e+00 0.0000000000000000e+00 0 0 0 +3306 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.6334166645409247e+00 0.0000000000000000e+00 0 0 0 +3307 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.6475588001646557e+00 0.0000000000000000e+00 0 0 0 +3308 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.6404877323527902e+00 0.0000000000000000e+00 0 0 0 +3309 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.6475588001646557e+00 0.0000000000000000e+00 0 0 0 +3310 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.6617009357883867e+00 0.0000000000000000e+00 0 0 0 +3311 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.6546298679765212e+00 0.0000000000000000e+00 0 0 0 +3312 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.6617009357883867e+00 0.0000000000000000e+00 0 0 0 +3313 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.6758430714121177e+00 0.0000000000000000e+00 0 0 0 +3314 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.6687720036002522e+00 0.0000000000000000e+00 0 0 0 +3315 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.6758430714121177e+00 0.0000000000000000e+00 0 0 0 +3316 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.6899852070358485e+00 0.0000000000000000e+00 0 0 0 +3317 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.6829141392239830e+00 0.0000000000000000e+00 0 0 0 +3318 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.6899852070358485e+00 0.0000000000000000e+00 0 0 0 +3319 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.7041273426595795e+00 0.0000000000000000e+00 0 0 0 +3320 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.6970562748477140e+00 0.0000000000000000e+00 0 0 0 +3321 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.7041273426595795e+00 0.0000000000000000e+00 0 0 0 +3322 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.7182694782833106e+00 0.0000000000000000e+00 0 0 0 +3323 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.7111984104714451e+00 0.0000000000000000e+00 0 0 0 +3324 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.7182694782833106e+00 0.0000000000000000e+00 0 0 0 +3325 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.7324116139070416e+00 0.0000000000000000e+00 0 0 0 +3326 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.7253405460951761e+00 0.0000000000000000e+00 0 0 0 +3327 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.7324116139070416e+00 0.0000000000000000e+00 0 0 0 +3328 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.7465537495307724e+00 0.0000000000000000e+00 0 0 0 +3329 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.7394826817189069e+00 0.0000000000000000e+00 0 0 0 +3330 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.7465537495307724e+00 0.0000000000000000e+00 0 0 0 +3331 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.7606958851545034e+00 0.0000000000000000e+00 0 0 0 +3332 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.7536248173426379e+00 0.0000000000000000e+00 0 0 0 +3333 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.7606958851545034e+00 0.0000000000000000e+00 0 0 0 +3334 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.7748380207782344e+00 0.0000000000000000e+00 0 0 0 +3335 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.7677669529663689e+00 0.0000000000000000e+00 0 0 0 +3336 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.7748380207782344e+00 0.0000000000000000e+00 0 0 0 +3337 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.7889801564019652e+00 0.0000000000000000e+00 0 0 0 +3338 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.7819090885900999e+00 0.0000000000000000e+00 0 0 0 +3339 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.7889801564019652e+00 0.0000000000000000e+00 0 0 0 +3340 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.8031222920256962e+00 0.0000000000000000e+00 0 0 0 +3341 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.7960512242138307e+00 0.0000000000000000e+00 0 0 0 +3342 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.8031222920256962e+00 0.0000000000000000e+00 0 0 0 +3343 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.8172644276494272e+00 0.0000000000000000e+00 0 0 0 +3344 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.8101933598375617e+00 0.0000000000000000e+00 0 0 0 +3345 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.8172644276494272e+00 0.0000000000000000e+00 0 0 0 +3346 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.8314065632731582e+00 0.0000000000000000e+00 0 0 0 +3347 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.8243354954612927e+00 0.0000000000000000e+00 0 0 0 +3348 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.8314065632731582e+00 0.0000000000000000e+00 0 0 0 +3349 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.8455486988968890e+00 0.0000000000000000e+00 0 0 0 +3350 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.8384776310850235e+00 0.0000000000000000e+00 0 0 0 +3351 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.8455486988968890e+00 0.0000000000000000e+00 0 0 0 +3352 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.8596908345206200e+00 0.0000000000000000e+00 0 0 0 +3353 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.8526197667087545e+00 0.0000000000000000e+00 0 0 0 +3354 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.8596908345206200e+00 0.0000000000000000e+00 0 0 0 +3355 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.8738329701443510e+00 0.0000000000000000e+00 0 0 0 +3356 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.8667619023324855e+00 0.0000000000000000e+00 0 0 0 +3357 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.8738329701443510e+00 0.0000000000000000e+00 0 0 0 +3358 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.8879751057680818e+00 0.0000000000000000e+00 0 0 0 +3359 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.8809040379562165e+00 0.0000000000000000e+00 0 0 0 +3360 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.8879751057680818e+00 0.0000000000000000e+00 0 0 0 +3361 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.9021172413918128e+00 0.0000000000000000e+00 0 0 0 +3362 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.8950461735799473e+00 0.0000000000000000e+00 0 0 0 +3363 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.9021172413918128e+00 0.0000000000000000e+00 0 0 0 +3364 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.9162593770155438e+00 0.0000000000000000e+00 0 0 0 +3365 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.9091883092036783e+00 0.0000000000000000e+00 0 0 0 +3366 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.9162593770155438e+00 0.0000000000000000e+00 0 0 0 +3367 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.9304015126392748e+00 0.0000000000000000e+00 0 0 0 +3368 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.9233304448274093e+00 0.0000000000000000e+00 0 0 0 +3369 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.9304015126392748e+00 0.0000000000000000e+00 0 0 0 +3370 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.9445436482630056e+00 0.0000000000000000e+00 0 0 0 +3371 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.9374725804511403e+00 0.0000000000000000e+00 0 0 0 +3372 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.9445436482630056e+00 0.0000000000000000e+00 0 0 0 +3373 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.9586857838867366e+00 0.0000000000000000e+00 0 0 0 +3374 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.9516147160748711e+00 0.0000000000000000e+00 0 0 0 +3375 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.9586857838867366e+00 0.0000000000000000e+00 0 0 0 +3376 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.9728279195104677e+00 0.0000000000000000e+00 0 0 0 +3377 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.9657568516986021e+00 0.0000000000000000e+00 0 0 0 +3378 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.9728279195104677e+00 0.0000000000000000e+00 0 0 0 +3379 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 1.9869700551341987e+00 0.0000000000000000e+00 0 0 0 +3380 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.9798989873223332e+00 0.0000000000000000e+00 0 0 0 +3381 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 1.9869700551341987e+00 0.0000000000000000e+00 0 0 0 +3383 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 1.9940411229460639e+00 0.0000000000000000e+00 0 0 0 +3382 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.0011121907579295e+00 0.0000000000000000e+00 0 0 0 +3384 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.0011121907579295e+00 0.0000000000000000e+00 0 0 0 +3385 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.0152543263816605e+00 0.0000000000000000e+00 0 0 0 +3386 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.0081832585697952e+00 0.0000000000000000e+00 0 0 0 +3387 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.0152543263816605e+00 0.0000000000000000e+00 0 0 0 +3388 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.0293964620053915e+00 0.0000000000000000e+00 0 0 0 +3389 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.0223253941935257e+00 0.0000000000000000e+00 0 0 0 +3390 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.0293964620053915e+00 0.0000000000000000e+00 0 0 0 +3391 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.0435385976291225e+00 0.0000000000000000e+00 0 0 0 +3392 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.0364675298172568e+00 0.0000000000000000e+00 0 0 0 +3393 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.0435385976291225e+00 0.0000000000000000e+00 0 0 0 +3394 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.0576807332528535e+00 0.0000000000000000e+00 0 0 0 +3395 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.0506096654409878e+00 0.0000000000000000e+00 0 0 0 +3396 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.0576807332528535e+00 0.0000000000000000e+00 0 0 0 +3397 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.0718228688765841e+00 0.0000000000000000e+00 0 0 0 +3398 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.0647518010647188e+00 0.0000000000000000e+00 0 0 0 +3399 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.0718228688765841e+00 0.0000000000000000e+00 0 0 0 +3400 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.0859650045003151e+00 0.0000000000000000e+00 0 0 0 +3401 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.0788939366884498e+00 0.0000000000000000e+00 0 0 0 +3402 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.0859650045003151e+00 0.0000000000000000e+00 0 0 0 +3403 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.1001071401240461e+00 0.0000000000000000e+00 0 0 0 +3404 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.0930360723121808e+00 0.0000000000000000e+00 0 0 0 +3405 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.1001071401240461e+00 0.0000000000000000e+00 0 0 0 +3406 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.1142492757477771e+00 0.0000000000000000e+00 0 0 0 +3407 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.1071782079359118e+00 0.0000000000000000e+00 0 0 0 +3408 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.1142492757477771e+00 0.0000000000000000e+00 0 0 0 +3409 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.1283914113715081e+00 0.0000000000000000e+00 0 0 0 +3410 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.1213203435596424e+00 0.0000000000000000e+00 0 0 0 +3411 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.1283914113715081e+00 0.0000000000000000e+00 0 0 0 +3412 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.1425335469952391e+00 0.0000000000000000e+00 0 0 0 +3413 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.1354624791833734e+00 0.0000000000000000e+00 0 0 0 +3414 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.1425335469952391e+00 0.0000000000000000e+00 0 0 0 +3415 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.1566756826189701e+00 0.0000000000000000e+00 0 0 0 +3416 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.1496046148071044e+00 0.0000000000000000e+00 0 0 0 +3417 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.1566756826189701e+00 0.0000000000000000e+00 0 0 0 +3419 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.1637467504308354e+00 0.0000000000000000e+00 0 0 0 +3418 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.1708178182427011e+00 0.0000000000000000e+00 0 0 0 +3420 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.1708178182427011e+00 0.0000000000000000e+00 0 0 0 +3421 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.1849599538664317e+00 0.0000000000000000e+00 0 0 0 +3422 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.1778888860545664e+00 0.0000000000000000e+00 0 0 0 +3423 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.1849599538664317e+00 0.0000000000000000e+00 0 0 0 +3424 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.1991020894901627e+00 0.0000000000000000e+00 0 0 0 +3425 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.1920310216782974e+00 0.0000000000000000e+00 0 0 0 +3426 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.1991020894901627e+00 0.0000000000000000e+00 0 0 0 +3427 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.2132442251138937e+00 0.0000000000000000e+00 0 0 0 +3428 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.2061731573020285e+00 0.0000000000000000e+00 0 0 0 +3429 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.2132442251138937e+00 0.0000000000000000e+00 0 0 0 +3430 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.2273863607376247e+00 0.0000000000000000e+00 0 0 0 +3431 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.2203152929257595e+00 0.0000000000000000e+00 0 0 0 +3432 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.2273863607376247e+00 0.0000000000000000e+00 0 0 0 +3433 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.2415284963613558e+00 0.0000000000000000e+00 0 0 0 +3434 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.2344574285494900e+00 0.0000000000000000e+00 0 0 0 +3435 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.2415284963613558e+00 0.0000000000000000e+00 0 0 0 +3436 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.2556706319850868e+00 0.0000000000000000e+00 0 0 0 +3437 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.2485995641732210e+00 0.0000000000000000e+00 0 0 0 +3438 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.2556706319850868e+00 0.0000000000000000e+00 0 0 0 +3439 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.2698127676088178e+00 0.0000000000000000e+00 0 0 0 +3440 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.2627416997969521e+00 0.0000000000000000e+00 0 0 0 +3441 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.2698127676088178e+00 0.0000000000000000e+00 0 0 0 +3442 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.2839549032325484e+00 0.0000000000000000e+00 0 0 0 +3443 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.2768838354206831e+00 0.0000000000000000e+00 0 0 0 +3444 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.2839549032325484e+00 0.0000000000000000e+00 0 0 0 +3445 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.2980970388562794e+00 0.0000000000000000e+00 0 0 0 +3446 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.2910259710444141e+00 0.0000000000000000e+00 0 0 0 +3447 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.2980970388562794e+00 0.0000000000000000e+00 0 0 0 +3448 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.3122391744800104e+00 0.0000000000000000e+00 0 0 0 +3449 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.3051681066681451e+00 0.0000000000000000e+00 0 0 0 +3450 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.3122391744800104e+00 0.0000000000000000e+00 0 0 0 +3451 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.3263813101037414e+00 0.0000000000000000e+00 0 0 0 +3452 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.3193102422918761e+00 0.0000000000000000e+00 0 0 0 +3453 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.3263813101037414e+00 0.0000000000000000e+00 0 0 0 +3455 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.3334523779156067e+00 0.0000000000000000e+00 0 0 0 +3454 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.3405234457274724e+00 0.0000000000000000e+00 0 0 0 +3456 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.3405234457274724e+00 0.0000000000000000e+00 0 0 0 +3457 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.3546655813512034e+00 0.0000000000000000e+00 0 0 0 +3458 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.3475945135393377e+00 0.0000000000000000e+00 0 0 0 +3459 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.3546655813512034e+00 0.0000000000000000e+00 0 0 0 +3460 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.3688077169749344e+00 0.0000000000000000e+00 0 0 0 +3461 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.3617366491630687e+00 0.0000000000000000e+00 0 0 0 +3462 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.3688077169749344e+00 0.0000000000000000e+00 0 0 0 +3463 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.3829498525986650e+00 0.0000000000000000e+00 0 0 0 +3464 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.3758787847867997e+00 0.0000000000000000e+00 0 0 0 +3465 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.3829498525986650e+00 0.0000000000000000e+00 0 0 0 +3466 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.3970919882223960e+00 0.0000000000000000e+00 0 0 0 +3467 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.3900209204105307e+00 0.0000000000000000e+00 0 0 0 +3468 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.3970919882223960e+00 0.0000000000000000e+00 0 0 0 +3469 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.4112341238461270e+00 0.0000000000000000e+00 0 0 0 +3470 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.4041630560342617e+00 0.0000000000000000e+00 0 0 0 +3471 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.4112341238461270e+00 0.0000000000000000e+00 0 0 0 +3472 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.4253762594698580e+00 0.0000000000000000e+00 0 0 0 +3473 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.4183051916579927e+00 0.0000000000000000e+00 0 0 0 +3474 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.4253762594698580e+00 0.0000000000000000e+00 0 0 0 +3475 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.4395183950935890e+00 0.0000000000000000e+00 0 0 0 +3476 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.4324473272817233e+00 0.0000000000000000e+00 0 0 0 +3477 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.4395183950935890e+00 0.0000000000000000e+00 0 0 0 +3478 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.4536605307173200e+00 0.0000000000000000e+00 0 0 0 +3479 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.4465894629054543e+00 0.0000000000000000e+00 0 0 0 +3480 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.4536605307173200e+00 0.0000000000000000e+00 0 0 0 +3481 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.4678026663410511e+00 0.0000000000000000e+00 0 0 0 +3482 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.4607315985291853e+00 0.0000000000000000e+00 0 0 0 +3483 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.4678026663410511e+00 0.0000000000000000e+00 0 0 0 +3484 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.4819448019647821e+00 0.0000000000000000e+00 0 0 0 +3485 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.4748737341529163e+00 0.0000000000000000e+00 0 0 0 +3486 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.4819448019647821e+00 0.0000000000000000e+00 0 0 0 +3487 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.4960869375885126e+00 0.0000000000000000e+00 0 0 0 +3488 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.4890158697766473e+00 0.0000000000000000e+00 0 0 0 +3489 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.4960869375885126e+00 0.0000000000000000e+00 0 0 0 +3490 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.5102290732122436e+00 0.0000000000000000e+00 0 0 0 +3491 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.5031580054003784e+00 0.0000000000000000e+00 0 0 0 +3492 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.5102290732122436e+00 0.0000000000000000e+00 0 0 0 +3493 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.5243712088359747e+00 0.0000000000000000e+00 0 0 0 +3494 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.5173001410241094e+00 0.0000000000000000e+00 0 0 0 +3495 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.5243712088359747e+00 0.0000000000000000e+00 0 0 0 +3496 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.5385133444597057e+00 0.0000000000000000e+00 0 0 0 +3497 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.5314422766478404e+00 0.0000000000000000e+00 0 0 0 +3498 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.5385133444597057e+00 0.0000000000000000e+00 0 0 0 +3499 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.5526554800834367e+00 0.0000000000000000e+00 0 0 0 +3500 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.5455844122715710e+00 0.0000000000000000e+00 0 0 0 +3501 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.5526554800834367e+00 0.0000000000000000e+00 0 0 0 +3502 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.5667976157071677e+00 0.0000000000000000e+00 0 0 0 +3503 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.5597265478953020e+00 0.0000000000000000e+00 0 0 0 +3504 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.5667976157071677e+00 0.0000000000000000e+00 0 0 0 +3505 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.5809397513308987e+00 0.0000000000000000e+00 0 0 0 +3506 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.5738686835190330e+00 0.0000000000000000e+00 0 0 0 +3507 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.5809397513308987e+00 0.0000000000000000e+00 0 0 0 +3508 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.5950818869546293e+00 0.0000000000000000e+00 0 0 0 +3509 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.5880108191427640e+00 0.0000000000000000e+00 0 0 0 +3510 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.5950818869546293e+00 0.0000000000000000e+00 0 0 0 +3511 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.6092240225783603e+00 0.0000000000000000e+00 0 0 0 +3512 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.6021529547664950e+00 0.0000000000000000e+00 0 0 0 +3513 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.6092240225783603e+00 0.0000000000000000e+00 0 0 0 +3514 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.6233661582020913e+00 0.0000000000000000e+00 0 0 0 +3515 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.6162950903902260e+00 0.0000000000000000e+00 0 0 0 +3516 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.6233661582020913e+00 0.0000000000000000e+00 0 0 0 +3517 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.6375082938258223e+00 0.0000000000000000e+00 0 0 0 +3518 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.6304372260139570e+00 0.0000000000000000e+00 0 0 0 +3519 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.6375082938258223e+00 0.0000000000000000e+00 0 0 0 +3520 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.6516504294495533e+00 0.0000000000000000e+00 0 0 0 +3521 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.6445793616376876e+00 0.0000000000000000e+00 0 0 0 +3522 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.6516504294495533e+00 0.0000000000000000e+00 0 0 0 +3523 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.6657925650732843e+00 0.0000000000000000e+00 0 0 0 +3524 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.6587214972614186e+00 0.0000000000000000e+00 0 0 0 +3525 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.6657925650732843e+00 0.0000000000000000e+00 0 0 0 +3526 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.6799347006970153e+00 0.0000000000000000e+00 0 0 0 +3527 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.6728636328851496e+00 0.0000000000000000e+00 0 0 0 +3528 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.6799347006970153e+00 0.0000000000000000e+00 0 0 0 +3529 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.6940768363207459e+00 0.0000000000000000e+00 0 0 0 +3530 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.6870057685088806e+00 0.0000000000000000e+00 0 0 0 +3531 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.6940768363207459e+00 0.0000000000000000e+00 0 0 0 +3532 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.7082189719444769e+00 0.0000000000000000e+00 0 0 0 +3533 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.7011479041326116e+00 0.0000000000000000e+00 0 0 0 +3534 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.7082189719444769e+00 0.0000000000000000e+00 0 0 0 +3535 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.7223611075682079e+00 0.0000000000000000e+00 0 0 0 +3536 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.7152900397563426e+00 0.0000000000000000e+00 0 0 0 +3537 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.7223611075682079e+00 0.0000000000000000e+00 0 0 0 +3538 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.7365032431919389e+00 0.0000000000000000e+00 0 0 0 +3539 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.7294321753800737e+00 0.0000000000000000e+00 0 0 0 +3540 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.7365032431919389e+00 0.0000000000000000e+00 0 0 0 +3541 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.7506453788156700e+00 0.0000000000000000e+00 0 0 0 +3542 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.7435743110038042e+00 0.0000000000000000e+00 0 0 0 +3543 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.7506453788156700e+00 0.0000000000000000e+00 0 0 0 +3544 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.7647875144394010e+00 0.0000000000000000e+00 0 0 0 +3545 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.7577164466275352e+00 0.0000000000000000e+00 0 0 0 +3546 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.7647875144394010e+00 0.0000000000000000e+00 0 0 0 +3547 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.7789296500631320e+00 0.0000000000000000e+00 0 0 0 +3548 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.7718585822512662e+00 0.0000000000000000e+00 0 0 0 +3549 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.7789296500631320e+00 0.0000000000000000e+00 0 0 0 +3550 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.7930717856868625e+00 0.0000000000000000e+00 0 0 0 +3551 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.7860007178749973e+00 0.0000000000000000e+00 0 0 0 +3552 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.7930717856868625e+00 0.0000000000000000e+00 0 0 0 +3553 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.8072139213105936e+00 0.0000000000000000e+00 0 0 0 +3554 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.8001428534987283e+00 0.0000000000000000e+00 0 0 0 +3555 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.8072139213105936e+00 0.0000000000000000e+00 0 0 0 +3556 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.8213560569343246e+00 0.0000000000000000e+00 0 0 0 +3557 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.8142849891224593e+00 0.0000000000000000e+00 0 0 0 +3558 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.8213560569343246e+00 0.0000000000000000e+00 0 0 0 +3560 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.8284271247461903e+00 0.0000000000000000e+00 0 0 0 +3559 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.8354981925580556e+00 0.0000000000000000e+00 0 0 0 +3561 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.8354981925580556e+00 0.0000000000000000e+00 0 0 0 +3562 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.8496403281817866e+00 0.0000000000000000e+00 0 0 0 +3563 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.8425692603699213e+00 0.0000000000000000e+00 0 0 0 +3564 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.8496403281817866e+00 0.0000000000000000e+00 0 0 0 +3565 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.8637824638055176e+00 0.0000000000000000e+00 0 0 0 +3566 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.8567113959936519e+00 0.0000000000000000e+00 0 0 0 +3567 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.8637824638055176e+00 0.0000000000000000e+00 0 0 0 +3568 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.8779245994292486e+00 0.0000000000000000e+00 0 0 0 +3569 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.8708535316173829e+00 0.0000000000000000e+00 0 0 0 +3570 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.8779245994292486e+00 0.0000000000000000e+00 0 0 0 +3571 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.8920667350529796e+00 0.0000000000000000e+00 0 0 0 +3572 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.8849956672411139e+00 0.0000000000000000e+00 0 0 0 +3573 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.8920667350529796e+00 0.0000000000000000e+00 0 0 0 +3574 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.9062088706767102e+00 0.0000000000000000e+00 0 0 0 +3575 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.8991378028648449e+00 0.0000000000000000e+00 0 0 0 +3576 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.9062088706767102e+00 0.0000000000000000e+00 0 0 0 +3577 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.9203510063004412e+00 0.0000000000000000e+00 0 0 0 +3578 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.9132799384885759e+00 0.0000000000000000e+00 0 0 0 +3579 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.9203510063004412e+00 0.0000000000000000e+00 0 0 0 +3580 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.9344931419241722e+00 0.0000000000000000e+00 0 0 0 +3581 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.9274220741123069e+00 0.0000000000000000e+00 0 0 0 +3582 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.9344931419241722e+00 0.0000000000000000e+00 0 0 0 +3583 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.9486352775479032e+00 0.0000000000000000e+00 0 0 0 +3584 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.9415642097360379e+00 0.0000000000000000e+00 0 0 0 +3585 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.9486352775479032e+00 0.0000000000000000e+00 0 0 0 +3586 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.9627774131716342e+00 0.0000000000000000e+00 0 0 0 +3587 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.9557063453597685e+00 0.0000000000000000e+00 0 0 0 +3588 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.9627774131716342e+00 0.0000000000000000e+00 0 0 0 +3589 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.9769195487953652e+00 0.0000000000000000e+00 0 0 0 +3590 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.9698484809834995e+00 0.0000000000000000e+00 0 0 0 +3591 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.9769195487953652e+00 0.0000000000000000e+00 0 0 0 +3592 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 2.9910616844190963e+00 0.0000000000000000e+00 0 0 0 +3593 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.9839906166072305e+00 0.0000000000000000e+00 0 0 0 +3594 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 2.9910616844190963e+00 0.0000000000000000e+00 0 0 0 +3596 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 2.9981327522309615e+00 0.0000000000000000e+00 0 0 0 +3595 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.0052038200428268e+00 0.0000000000000000e+00 0 0 0 +3597 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.0052038200428268e+00 0.0000000000000000e+00 0 0 0 +3598 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.0193459556665578e+00 0.0000000000000000e+00 0 0 0 +3599 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.0122748878546926e+00 0.0000000000000000e+00 0 0 0 +3600 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.0193459556665578e+00 0.0000000000000000e+00 0 0 0 +3601 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.0334880912902888e+00 0.0000000000000000e+00 0 0 0 +3602 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.0264170234784236e+00 0.0000000000000000e+00 0 0 0 +3603 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.0334880912902888e+00 0.0000000000000000e+00 0 0 0 +3604 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.0476302269140199e+00 0.0000000000000000e+00 0 0 0 +3605 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.0405591591021546e+00 0.0000000000000000e+00 0 0 0 +3606 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.0476302269140199e+00 0.0000000000000000e+00 0 0 0 +3607 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.0617723625377509e+00 0.0000000000000000e+00 0 0 0 +3608 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.0547012947258851e+00 0.0000000000000000e+00 0 0 0 +3609 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.0617723625377509e+00 0.0000000000000000e+00 0 0 0 +3610 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.0759144981614819e+00 0.0000000000000000e+00 0 0 0 +3611 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.0688434303496162e+00 0.0000000000000000e+00 0 0 0 +3612 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.0759144981614819e+00 0.0000000000000000e+00 0 0 0 +3613 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.0900566337852129e+00 0.0000000000000000e+00 0 0 0 +3614 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.0829855659733472e+00 0.0000000000000000e+00 0 0 0 +3615 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.0900566337852129e+00 0.0000000000000000e+00 0 0 0 +3616 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.1041987694089435e+00 0.0000000000000000e+00 0 0 0 +3617 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.0971277015970782e+00 0.0000000000000000e+00 0 0 0 +3618 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.1041987694089435e+00 0.0000000000000000e+00 0 0 0 +3619 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.1183409050326745e+00 0.0000000000000000e+00 0 0 0 +3620 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.1112698372208092e+00 0.0000000000000000e+00 0 0 0 +3621 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.1183409050326745e+00 0.0000000000000000e+00 0 0 0 +3622 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.1324830406564055e+00 0.0000000000000000e+00 0 0 0 +3623 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.1254119728445402e+00 0.0000000000000000e+00 0 0 0 +3624 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.1324830406564055e+00 0.0000000000000000e+00 0 0 0 +3625 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.1466251762801365e+00 0.0000000000000000e+00 0 0 0 +3626 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.1395541084682712e+00 0.0000000000000000e+00 0 0 0 +3627 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.1466251762801365e+00 0.0000000000000000e+00 0 0 0 +3628 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.1607673119038675e+00 0.0000000000000000e+00 0 0 0 +3629 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.1536962440920022e+00 0.0000000000000000e+00 0 0 0 +3630 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.1607673119038675e+00 0.0000000000000000e+00 0 0 0 +3631 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.1749094475275985e+00 0.0000000000000000e+00 0 0 0 +3632 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.1678383797157328e+00 0.0000000000000000e+00 0 0 0 +3633 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.1749094475275985e+00 0.0000000000000000e+00 0 0 0 +3634 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.1890515831513295e+00 0.0000000000000000e+00 0 0 0 +3635 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.1819805153394638e+00 0.0000000000000000e+00 0 0 0 +3636 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.1890515831513295e+00 0.0000000000000000e+00 0 0 0 +3637 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.2031937187750605e+00 0.0000000000000000e+00 0 0 0 +3638 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.1961226509631948e+00 0.0000000000000000e+00 0 0 0 +3639 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.2031937187750605e+00 0.0000000000000000e+00 0 0 0 +3640 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.2173358543987911e+00 0.0000000000000000e+00 0 0 0 +3641 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.2102647865869258e+00 0.0000000000000000e+00 0 0 0 +3642 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.2173358543987911e+00 0.0000000000000000e+00 0 0 0 +3643 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.2314779900225221e+00 0.0000000000000000e+00 0 0 0 +3644 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.2244069222106568e+00 0.0000000000000000e+00 0 0 0 +3645 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.2314779900225221e+00 0.0000000000000000e+00 0 0 0 +3646 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.2456201256462531e+00 0.0000000000000000e+00 0 0 0 +3647 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.2385490578343878e+00 0.0000000000000000e+00 0 0 0 +3648 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.2456201256462531e+00 0.0000000000000000e+00 0 0 0 +3649 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.2597622612699841e+00 0.0000000000000000e+00 0 0 0 +3650 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.2526911934581189e+00 0.0000000000000000e+00 0 0 0 +3651 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.2597622612699841e+00 0.0000000000000000e+00 0 0 0 +3652 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.2739043968937152e+00 0.0000000000000000e+00 0 0 0 +3653 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.2668333290818494e+00 0.0000000000000000e+00 0 0 0 +3654 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.2739043968937152e+00 0.0000000000000000e+00 0 0 0 +3655 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.2880465325174462e+00 0.0000000000000000e+00 0 0 0 +3656 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.2809754647055804e+00 0.0000000000000000e+00 0 0 0 +3657 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.2880465325174462e+00 0.0000000000000000e+00 0 0 0 +3658 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.3021886681411772e+00 0.0000000000000000e+00 0 0 0 +3659 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.2951176003293114e+00 0.0000000000000000e+00 0 0 0 +3660 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.3021886681411772e+00 0.0000000000000000e+00 0 0 0 +3661 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.3163308037649077e+00 0.0000000000000000e+00 0 0 0 +3662 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.3092597359530425e+00 0.0000000000000000e+00 0 0 0 +3663 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.3163308037649077e+00 0.0000000000000000e+00 0 0 0 +3664 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.3304729393886388e+00 0.0000000000000000e+00 0 0 0 +3665 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.3234018715767735e+00 0.0000000000000000e+00 0 0 0 +3666 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.3304729393886388e+00 0.0000000000000000e+00 0 0 0 +3667 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.3446150750123698e+00 0.0000000000000000e+00 0 0 0 +3668 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.3375440072005045e+00 0.0000000000000000e+00 0 0 0 +3669 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.3446150750123698e+00 0.0000000000000000e+00 0 0 0 +3670 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.3587572106361008e+00 0.0000000000000000e+00 0 0 0 +3671 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.3516861428242355e+00 0.0000000000000000e+00 0 0 0 +3672 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.3587572106361008e+00 0.0000000000000000e+00 0 0 0 +3673 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.3728993462598318e+00 0.0000000000000000e+00 0 0 0 +3674 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.3658282784479661e+00 0.0000000000000000e+00 0 0 0 +3675 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.3728993462598318e+00 0.0000000000000000e+00 0 0 0 +3676 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.3870414818835628e+00 0.0000000000000000e+00 0 0 0 +3677 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.3799704140716971e+00 0.0000000000000000e+00 0 0 0 +3678 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.3870414818835628e+00 0.0000000000000000e+00 0 0 0 +3679 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.4011836175072938e+00 0.0000000000000000e+00 0 0 0 +3680 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.3941125496954281e+00 0.0000000000000000e+00 0 0 0 +3681 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.4011836175072938e+00 0.0000000000000000e+00 0 0 0 +3682 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.4153257531310244e+00 0.0000000000000000e+00 0 0 0 +3683 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.4082546853191591e+00 0.0000000000000000e+00 0 0 0 +3684 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.4153257531310244e+00 0.0000000000000000e+00 0 0 0 +3685 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.4294678887547554e+00 0.0000000000000000e+00 0 0 0 +3686 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.4223968209428901e+00 0.0000000000000000e+00 0 0 0 +3687 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.4294678887547554e+00 0.0000000000000000e+00 0 0 0 +3688 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.4436100243784864e+00 0.0000000000000000e+00 0 0 0 +3689 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.4365389565666211e+00 0.0000000000000000e+00 0 0 0 +3690 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.4436100243784864e+00 0.0000000000000000e+00 0 0 0 +3691 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.4577521600022174e+00 0.0000000000000000e+00 0 0 0 +3692 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.4506810921903521e+00 0.0000000000000000e+00 0 0 0 +3693 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.4577521600022174e+00 0.0000000000000000e+00 0 0 0 +3694 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.4718942956259484e+00 0.0000000000000000e+00 0 0 0 +3695 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.4648232278140831e+00 0.0000000000000000e+00 0 0 0 +3696 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.4718942956259484e+00 0.0000000000000000e+00 0 0 0 +3697 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.4860364312496794e+00 0.0000000000000000e+00 0 0 0 +3698 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.4789653634378137e+00 0.0000000000000000e+00 0 0 0 +3699 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.4860364312496794e+00 0.0000000000000000e+00 0 0 0 +3700 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.5001785668734104e+00 0.0000000000000000e+00 0 0 0 +3701 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.4931074990615447e+00 0.0000000000000000e+00 0 0 0 +3702 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.5001785668734104e+00 0.0000000000000000e+00 0 0 0 +3703 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.5143207024971415e+00 0.0000000000000000e+00 0 0 0 +3704 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.5072496346852757e+00 0.0000000000000000e+00 0 0 0 +3705 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.5143207024971415e+00 0.0000000000000000e+00 0 0 0 +3706 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.5284628381208720e+00 0.0000000000000000e+00 0 0 0 +3707 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.5213917703090067e+00 0.0000000000000000e+00 0 0 0 +3708 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.5284628381208720e+00 0.0000000000000000e+00 0 0 0 +3709 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.5426049737446030e+00 0.0000000000000000e+00 0 0 0 +3710 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.5355339059327378e+00 0.0000000000000000e+00 0 0 0 +3711 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.5426049737446030e+00 0.0000000000000000e+00 0 0 0 +3712 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.5567471093683340e+00 0.0000000000000000e+00 0 0 0 +3713 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.5496760415564688e+00 0.0000000000000000e+00 0 0 0 +3714 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.5567471093683340e+00 0.0000000000000000e+00 0 0 0 +3715 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.5708892449920651e+00 0.0000000000000000e+00 0 0 0 +3716 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.5638181771801998e+00 0.0000000000000000e+00 0 0 0 +3717 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.5708892449920651e+00 0.0000000000000000e+00 0 0 0 +3718 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.5850313806157961e+00 0.0000000000000000e+00 0 0 0 +3719 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.5779603128039303e+00 0.0000000000000000e+00 0 0 0 +3720 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.5850313806157961e+00 0.0000000000000000e+00 0 0 0 +3721 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.5991735162395271e+00 0.0000000000000000e+00 0 0 0 +3722 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.5921024484276614e+00 0.0000000000000000e+00 0 0 0 +3723 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.5991735162395271e+00 0.0000000000000000e+00 0 0 0 +3724 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.6133156518632581e+00 0.0000000000000000e+00 0 0 0 +3725 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.6062445840513924e+00 0.0000000000000000e+00 0 0 0 +3726 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.6133156518632581e+00 0.0000000000000000e+00 0 0 0 +3727 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.6274577874869887e+00 0.0000000000000000e+00 0 0 0 +3728 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.6203867196751234e+00 0.0000000000000000e+00 0 0 0 +3729 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.6274577874869887e+00 0.0000000000000000e+00 0 0 0 +3730 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.6415999231107197e+00 0.0000000000000000e+00 0 0 0 +3731 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.6345288552988544e+00 0.0000000000000000e+00 0 0 0 +3732 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.6415999231107197e+00 0.0000000000000000e+00 0 0 0 +3733 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.6557420587344507e+00 0.0000000000000000e+00 0 0 0 +3734 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.6486709909225854e+00 0.0000000000000000e+00 0 0 0 +3735 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.6557420587344507e+00 0.0000000000000000e+00 0 0 0 +3737 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.6628131265463164e+00 0.0000000000000000e+00 0 0 0 +3736 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.6698841943581817e+00 0.0000000000000000e+00 0 0 0 +3738 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.6698841943581817e+00 0.0000000000000000e+00 0 0 0 +3739 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.6840263299819127e+00 0.0000000000000000e+00 0 0 0 +3740 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.6769552621700470e+00 0.0000000000000000e+00 0 0 0 +3741 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.6840263299819127e+00 0.0000000000000000e+00 0 0 0 +3742 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.6981684656056437e+00 0.0000000000000000e+00 0 0 0 +3743 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.6910973977937780e+00 0.0000000000000000e+00 0 0 0 +3744 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.6981684656056437e+00 0.0000000000000000e+00 0 0 0 +3745 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.7123106012293747e+00 0.0000000000000000e+00 0 0 0 +3746 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.7052395334175090e+00 0.0000000000000000e+00 0 0 0 +3747 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.7123106012293747e+00 0.0000000000000000e+00 0 0 0 +3748 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.7264527368531053e+00 0.0000000000000000e+00 0 0 0 +3749 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.7193816690412400e+00 0.0000000000000000e+00 0 0 0 +3750 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.7264527368531053e+00 0.0000000000000000e+00 0 0 0 +3751 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.7405948724768363e+00 0.0000000000000000e+00 0 0 0 +3752 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.7335238046649710e+00 0.0000000000000000e+00 0 0 0 +3753 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.7405948724768363e+00 0.0000000000000000e+00 0 0 0 +3754 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.7547370081005673e+00 0.0000000000000000e+00 0 0 0 +3755 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.7476659402887020e+00 0.0000000000000000e+00 0 0 0 +3756 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.7547370081005673e+00 0.0000000000000000e+00 0 0 0 +3757 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.7688791437242983e+00 0.0000000000000000e+00 0 0 0 +3758 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.7618080759124330e+00 0.0000000000000000e+00 0 0 0 +3759 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.7688791437242983e+00 0.0000000000000000e+00 0 0 0 +3760 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.7830212793480293e+00 0.0000000000000000e+00 0 0 0 +3761 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.7759502115361636e+00 0.0000000000000000e+00 0 0 0 +3762 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.7830212793480293e+00 0.0000000000000000e+00 0 0 0 +3763 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.7971634149717604e+00 0.0000000000000000e+00 0 0 0 +3764 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.7900923471598946e+00 0.0000000000000000e+00 0 0 0 +3765 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.7971634149717604e+00 0.0000000000000000e+00 0 0 0 +3766 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.8113055505954914e+00 0.0000000000000000e+00 0 0 0 +3767 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.8042344827836256e+00 0.0000000000000000e+00 0 0 0 +3768 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.8113055505954914e+00 0.0000000000000000e+00 0 0 0 +3769 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.8254476862192224e+00 0.0000000000000000e+00 0 0 0 +3770 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.8183766184073566e+00 0.0000000000000000e+00 0 0 0 +3771 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.8254476862192224e+00 0.0000000000000000e+00 0 0 0 +3773 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.8325187540310877e+00 0.0000000000000000e+00 0 0 0 +3772 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.8395898218429529e+00 0.0000000000000000e+00 0 0 0 +3774 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.8395898218429529e+00 0.0000000000000000e+00 0 0 0 +3775 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.8537319574666840e+00 0.0000000000000000e+00 0 0 0 +3776 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.8466608896548187e+00 0.0000000000000000e+00 0 0 0 +3777 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.8537319574666840e+00 0.0000000000000000e+00 0 0 0 +3778 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.8678740930904150e+00 0.0000000000000000e+00 0 0 0 +3779 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.8608030252785497e+00 0.0000000000000000e+00 0 0 0 +3780 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.8678740930904150e+00 0.0000000000000000e+00 0 0 0 +3781 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.8820162287141460e+00 0.0000000000000000e+00 0 0 0 +3782 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.8749451609022807e+00 0.0000000000000000e+00 0 0 0 +3783 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.8820162287141460e+00 0.0000000000000000e+00 0 0 0 +3784 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.8961583643378770e+00 0.0000000000000000e+00 0 0 0 +3785 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.8890872965260113e+00 0.0000000000000000e+00 0 0 0 +3786 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.8961583643378770e+00 0.0000000000000000e+00 0 0 0 +3787 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.9103004999616080e+00 0.0000000000000000e+00 0 0 0 +3788 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.9032294321497423e+00 0.0000000000000000e+00 0 0 0 +3789 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.9103004999616080e+00 0.0000000000000000e+00 0 0 0 +3790 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.9244426355853390e+00 0.0000000000000000e+00 0 0 0 +3791 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.9173715677734733e+00 0.0000000000000000e+00 0 0 0 +3792 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.9244426355853390e+00 0.0000000000000000e+00 0 0 0 +3793 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.9385847712090696e+00 0.0000000000000000e+00 0 0 0 +3794 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.9315137033972043e+00 0.0000000000000000e+00 0 0 0 +3795 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.9385847712090696e+00 0.0000000000000000e+00 0 0 0 +3796 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.9527269068328006e+00 0.0000000000000000e+00 0 0 0 +3797 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.9456558390209353e+00 0.0000000000000000e+00 0 0 0 +3798 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.9527269068328006e+00 0.0000000000000000e+00 0 0 0 +3799 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.9668690424565316e+00 0.0000000000000000e+00 0 0 0 +3800 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.9597979746446663e+00 0.0000000000000000e+00 0 0 0 +3801 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.9668690424565316e+00 0.0000000000000000e+00 0 0 0 +3802 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.9810111780802626e+00 0.0000000000000000e+00 0 0 0 +3803 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.9739401102683973e+00 0.0000000000000000e+00 0 0 0 +3804 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.9810111780802626e+00 0.0000000000000000e+00 0 0 0 +3805 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 3.9951533137039936e+00 0.0000000000000000e+00 0 0 0 +3806 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 3.9880822458921279e+00 0.0000000000000000e+00 0 0 0 +3807 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 3.9951533137039936e+00 0.0000000000000000e+00 0 0 0 +3808 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.0092954493277242e+00 0.0000000000000000e+00 0 0 0 +3809 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.0022243815158589e+00 0.0000000000000000e+00 0 0 0 +3810 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.0092954493277242e+00 0.0000000000000000e+00 0 0 0 +3811 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.0234375849514556e+00 0.0000000000000000e+00 0 0 0 +3812 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.0163665171395904e+00 0.0000000000000000e+00 0 0 0 +3813 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.0234375849514556e+00 0.0000000000000000e+00 0 0 0 +3814 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.0375797205751862e+00 0.0000000000000000e+00 0 0 0 +3815 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.0305086527633209e+00 0.0000000000000000e+00 0 0 0 +3816 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.0375797205751862e+00 0.0000000000000000e+00 0 0 0 +3817 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.0517218561989177e+00 0.0000000000000000e+00 0 0 0 +3818 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.0446507883870515e+00 0.0000000000000000e+00 0 0 0 +3819 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.0517218561989177e+00 0.0000000000000000e+00 0 0 0 +3820 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.0658639918226482e+00 0.0000000000000000e+00 0 0 0 +3821 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.0587929240107830e+00 0.0000000000000000e+00 0 0 0 +3822 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.0658639918226482e+00 0.0000000000000000e+00 0 0 0 +3823 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.0800061274463797e+00 0.0000000000000000e+00 0 0 0 +3824 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.0729350596345135e+00 0.0000000000000000e+00 0 0 0 +3825 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.0800061274463797e+00 0.0000000000000000e+00 0 0 0 +3826 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.0941482630701103e+00 0.0000000000000000e+00 0 0 0 +3827 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.0870771952582450e+00 0.0000000000000000e+00 0 0 0 +3828 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.0941482630701103e+00 0.0000000000000000e+00 0 0 0 +3829 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.1082903986938408e+00 0.0000000000000000e+00 0 0 0 +3830 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.1012193308819755e+00 0.0000000000000000e+00 0 0 0 +3831 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.1082903986938408e+00 0.0000000000000000e+00 0 0 0 +3832 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.1224325343175723e+00 0.0000000000000000e+00 0 0 0 +3833 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.1153614665057070e+00 0.0000000000000000e+00 0 0 0 +3834 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.1224325343175723e+00 0.0000000000000000e+00 0 0 0 +3835 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.1365746699413029e+00 0.0000000000000000e+00 0 0 0 +3836 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.1295036021294376e+00 0.0000000000000000e+00 0 0 0 +3837 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.1365746699413029e+00 0.0000000000000000e+00 0 0 0 +3838 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.1507168055650343e+00 0.0000000000000000e+00 0 0 0 +3839 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.1436457377531681e+00 0.0000000000000000e+00 0 0 0 +3840 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.1507168055650343e+00 0.0000000000000000e+00 0 0 0 +3841 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.1648589411887649e+00 0.0000000000000000e+00 0 0 0 +3842 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.1577878733768996e+00 0.0000000000000000e+00 0 0 0 +3843 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.1648589411887649e+00 0.0000000000000000e+00 0 0 0 +3844 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.1790010768124963e+00 0.0000000000000000e+00 0 0 0 +3845 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.1719300090006302e+00 0.0000000000000000e+00 0 0 0 +3846 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.1790010768124963e+00 0.0000000000000000e+00 0 0 0 +3847 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.1931432124362269e+00 0.0000000000000000e+00 0 0 0 +3848 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.1860721446243616e+00 0.0000000000000000e+00 0 0 0 +3849 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.1931432124362269e+00 0.0000000000000000e+00 0 0 0 +3850 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.2072853480599575e+00 0.0000000000000000e+00 0 0 0 +3851 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.2002142802480922e+00 0.0000000000000000e+00 0 0 0 +3852 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.2072853480599575e+00 0.0000000000000000e+00 0 0 0 +3853 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.2214274836836889e+00 0.0000000000000000e+00 0 0 0 +3854 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.2143564158718236e+00 0.0000000000000000e+00 0 0 0 +3855 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.2214274836836889e+00 0.0000000000000000e+00 0 0 0 +3856 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.2355696193074195e+00 0.0000000000000000e+00 0 0 0 +3857 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.2284985514955542e+00 0.0000000000000000e+00 0 0 0 +3858 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.2355696193074195e+00 0.0000000000000000e+00 0 0 0 +3859 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.2497117549311509e+00 0.0000000000000000e+00 0 0 0 +3860 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.2426406871192848e+00 0.0000000000000000e+00 0 0 0 +3861 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.2497117549311509e+00 0.0000000000000000e+00 0 0 0 +3862 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.2638538905548815e+00 0.0000000000000000e+00 0 0 0 +3863 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.2567828227430162e+00 0.0000000000000000e+00 0 0 0 +3864 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.2638538905548815e+00 0.0000000000000000e+00 0 0 0 +3865 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.2779960261786130e+00 0.0000000000000000e+00 0 0 0 +3866 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.2709249583667468e+00 0.0000000000000000e+00 0 0 0 +3867 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.2779960261786130e+00 0.0000000000000000e+00 0 0 0 +3868 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.2921381618023435e+00 0.0000000000000000e+00 0 0 0 +3869 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.2850670939904782e+00 0.0000000000000000e+00 0 0 0 +3870 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.2921381618023435e+00 0.0000000000000000e+00 0 0 0 +3871 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.3062802974260741e+00 0.0000000000000000e+00 0 0 0 +3872 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.2992092296142088e+00 0.0000000000000000e+00 0 0 0 +3873 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.3062802974260741e+00 0.0000000000000000e+00 0 0 0 +3874 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.3204224330498056e+00 0.0000000000000000e+00 0 0 0 +3875 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.3133513652379403e+00 0.0000000000000000e+00 0 0 0 +3876 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.3204224330498056e+00 0.0000000000000000e+00 0 0 0 +3878 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.3274935008616708e+00 0.0000000000000000e+00 0 0 0 +3877 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.3345645686735361e+00 0.0000000000000000e+00 0 0 0 +3879 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.3345645686735361e+00 0.0000000000000000e+00 0 0 0 +3880 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.3487067042972676e+00 0.0000000000000000e+00 0 0 0 +3881 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.3416356364854023e+00 0.0000000000000000e+00 0 0 0 +3882 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.3487067042972676e+00 0.0000000000000000e+00 0 0 0 +3883 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.3628488399209981e+00 0.0000000000000000e+00 0 0 0 +3884 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.3557777721091329e+00 0.0000000000000000e+00 0 0 0 +3885 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.3628488399209981e+00 0.0000000000000000e+00 0 0 0 +3886 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.3769909755447296e+00 0.0000000000000000e+00 0 0 0 +3887 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.3699199077328634e+00 0.0000000000000000e+00 0 0 0 +3888 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.3769909755447296e+00 0.0000000000000000e+00 0 0 0 +3889 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.3911331111684602e+00 0.0000000000000000e+00 0 0 0 +3890 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.3840620433565949e+00 0.0000000000000000e+00 0 0 0 +3891 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.3911331111684602e+00 0.0000000000000000e+00 0 0 0 +3892 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.4052752467921907e+00 0.0000000000000000e+00 0 0 0 +3893 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.3982041789803255e+00 0.0000000000000000e+00 0 0 0 +3894 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.4052752467921907e+00 0.0000000000000000e+00 0 0 0 +3895 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.4194173824159222e+00 0.0000000000000000e+00 0 0 0 +3896 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.4123463146040569e+00 0.0000000000000000e+00 0 0 0 +3897 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.4194173824159222e+00 0.0000000000000000e+00 0 0 0 +3898 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.4335595180396528e+00 0.0000000000000000e+00 0 0 0 +3899 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.4264884502277875e+00 0.0000000000000000e+00 0 0 0 +3900 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.4335595180396528e+00 0.0000000000000000e+00 0 0 0 +3901 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.4477016536633842e+00 0.0000000000000000e+00 0 0 0 +3902 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.4406305858515189e+00 0.0000000000000000e+00 0 0 0 +3903 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.4477016536633842e+00 0.0000000000000000e+00 0 0 0 +3904 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.4618437892871148e+00 0.0000000000000000e+00 0 0 0 +3905 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.4547727214752495e+00 0.0000000000000000e+00 0 0 0 +3906 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.4618437892871148e+00 0.0000000000000000e+00 0 0 0 +3907 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.4759859249108462e+00 0.0000000000000000e+00 0 0 0 +3908 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.4689148570989801e+00 0.0000000000000000e+00 0 0 0 +3909 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.4759859249108462e+00 0.0000000000000000e+00 0 0 0 +3910 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.4901280605345768e+00 0.0000000000000000e+00 0 0 0 +3911 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.4830569927227115e+00 0.0000000000000000e+00 0 0 0 +3912 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.4901280605345768e+00 0.0000000000000000e+00 0 0 0 +3914 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.4971991283464421e+00 0.0000000000000000e+00 0 0 0 +3913 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.5042701961583074e+00 0.0000000000000000e+00 0 0 0 +3915 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.5042701961583074e+00 0.0000000000000000e+00 0 0 0 +3916 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.5184123317820388e+00 0.0000000000000000e+00 0 0 0 +3917 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.5113412639701735e+00 0.0000000000000000e+00 0 0 0 +3918 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.5184123317820388e+00 0.0000000000000000e+00 0 0 0 +3919 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.5325544674057694e+00 0.0000000000000000e+00 0 0 0 +3920 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.5254833995939041e+00 0.0000000000000000e+00 0 0 0 +3921 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.5325544674057694e+00 0.0000000000000000e+00 0 0 0 +3922 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.5466966030295008e+00 0.0000000000000000e+00 0 0 0 +3923 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.5396255352176356e+00 0.0000000000000000e+00 0 0 0 +3924 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.5466966030295008e+00 0.0000000000000000e+00 0 0 0 +3925 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.5608387386532314e+00 0.0000000000000000e+00 0 0 0 +3926 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.5537676708413661e+00 0.0000000000000000e+00 0 0 0 +3927 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.5608387386532314e+00 0.0000000000000000e+00 0 0 0 +3928 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.5749808742769629e+00 0.0000000000000000e+00 0 0 0 +3929 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.5679098064650967e+00 0.0000000000000000e+00 0 0 0 +3930 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.5749808742769629e+00 0.0000000000000000e+00 0 0 0 +3931 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.5891230099006934e+00 0.0000000000000000e+00 0 0 0 +3932 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.5820519420888282e+00 0.0000000000000000e+00 0 0 0 +3933 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.5891230099006934e+00 0.0000000000000000e+00 0 0 0 +3934 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.6032651455244240e+00 0.0000000000000000e+00 0 0 0 +3935 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.5961940777125587e+00 0.0000000000000000e+00 0 0 0 +3936 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.6032651455244240e+00 0.0000000000000000e+00 0 0 0 +3937 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.6174072811481555e+00 0.0000000000000000e+00 0 0 0 +3938 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.6103362133362902e+00 0.0000000000000000e+00 0 0 0 +3939 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.6174072811481555e+00 0.0000000000000000e+00 0 0 0 +3940 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.6315494167718860e+00 0.0000000000000000e+00 0 0 0 +3941 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.6244783489600207e+00 0.0000000000000000e+00 0 0 0 +3942 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.6315494167718860e+00 0.0000000000000000e+00 0 0 0 +3943 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.6456915523956175e+00 0.0000000000000000e+00 0 0 0 +3944 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.6386204845837522e+00 0.0000000000000000e+00 0 0 0 +3945 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.6456915523956175e+00 0.0000000000000000e+00 0 0 0 +3946 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.6598336880193481e+00 0.0000000000000000e+00 0 0 0 +3947 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.6527626202074828e+00 0.0000000000000000e+00 0 0 0 +3948 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.6598336880193481e+00 0.0000000000000000e+00 0 0 0 +3950 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.6669047558312133e+00 0.0000000000000000e+00 0 0 0 +3949 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.6739758236430795e+00 0.0000000000000000e+00 0 0 0 +3951 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.6739758236430795e+00 0.0000000000000000e+00 0 0 0 +3952 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.6881179592668101e+00 0.0000000000000000e+00 0 0 0 +3953 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.6810468914549448e+00 0.0000000000000000e+00 0 0 0 +3954 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.6881179592668101e+00 0.0000000000000000e+00 0 0 0 +3955 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.7022600948905415e+00 0.0000000000000000e+00 0 0 0 +3956 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.6951890270786754e+00 0.0000000000000000e+00 0 0 0 +3957 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.7022600948905415e+00 0.0000000000000000e+00 0 0 0 +3958 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.7164022305142721e+00 0.0000000000000000e+00 0 0 0 +3959 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.7093311627024068e+00 0.0000000000000000e+00 0 0 0 +3960 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.7164022305142721e+00 0.0000000000000000e+00 0 0 0 +3961 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.7305443661380027e+00 0.0000000000000000e+00 0 0 0 +3962 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.7234732983261374e+00 0.0000000000000000e+00 0 0 0 +3963 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.7305443661380027e+00 0.0000000000000000e+00 0 0 0 +3964 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.7446865017617341e+00 0.0000000000000000e+00 0 0 0 +3965 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.7376154339498688e+00 0.0000000000000000e+00 0 0 0 +3966 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.7446865017617341e+00 0.0000000000000000e+00 0 0 0 +3967 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.7588286373854647e+00 0.0000000000000000e+00 0 0 0 +3968 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.7517575695735994e+00 0.0000000000000000e+00 0 0 0 +3969 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.7588286373854647e+00 0.0000000000000000e+00 0 0 0 +3970 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.7729707730091961e+00 0.0000000000000000e+00 0 0 0 +3971 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.7658997051973300e+00 0.0000000000000000e+00 0 0 0 +3972 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.7729707730091961e+00 0.0000000000000000e+00 0 0 0 +3973 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.7871129086329267e+00 0.0000000000000000e+00 0 0 0 +3974 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.7800418408210614e+00 0.0000000000000000e+00 0 0 0 +3975 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.7871129086329267e+00 0.0000000000000000e+00 0 0 0 +3976 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.8012550442566582e+00 0.0000000000000000e+00 0 0 0 +3977 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.7941839764447920e+00 0.0000000000000000e+00 0 0 0 +3978 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.8012550442566582e+00 0.0000000000000000e+00 0 0 0 +3979 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.8153971798803887e+00 0.0000000000000000e+00 0 0 0 +3980 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.8083261120685235e+00 0.0000000000000000e+00 0 0 0 +3981 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.8153971798803887e+00 0.0000000000000000e+00 0 0 0 +3982 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.8295393155041193e+00 0.0000000000000000e+00 0 0 0 +3983 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.8224682476922540e+00 0.0000000000000000e+00 0 0 0 +3984 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.8295393155041193e+00 0.0000000000000000e+00 0 0 0 +3985 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.8436814511278508e+00 0.0000000000000000e+00 0 0 0 +3986 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.8366103833159855e+00 0.0000000000000000e+00 0 0 0 +3987 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.8436814511278508e+00 0.0000000000000000e+00 0 0 0 +3988 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.8578235867515813e+00 0.0000000000000000e+00 0 0 0 +3989 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.8507525189397160e+00 0.0000000000000000e+00 0 0 0 +3990 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.8578235867515813e+00 0.0000000000000000e+00 0 0 0 +3991 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.8719657223753128e+00 0.0000000000000000e+00 0 0 0 +3992 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.8648946545634466e+00 0.0000000000000000e+00 0 0 0 +3993 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.8719657223753128e+00 0.0000000000000000e+00 0 0 0 +3994 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.8861078579990433e+00 0.0000000000000000e+00 0 0 0 +3995 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.8790367901871781e+00 0.0000000000000000e+00 0 0 0 +3996 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.8861078579990433e+00 0.0000000000000000e+00 0 0 0 +3997 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.9002499936227748e+00 0.0000000000000000e+00 0 0 0 +3998 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.8931789258109086e+00 0.0000000000000000e+00 0 0 0 +3999 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.9002499936227748e+00 0.0000000000000000e+00 0 0 0 +4000 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.9143921292465054e+00 0.0000000000000000e+00 0 0 0 +4001 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.9073210614346401e+00 0.0000000000000000e+00 0 0 0 +4002 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.9143921292465054e+00 0.0000000000000000e+00 0 0 0 +4003 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.9285342648702359e+00 0.0000000000000000e+00 0 0 0 +4004 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.9214631970583707e+00 0.0000000000000000e+00 0 0 0 +4005 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.9285342648702359e+00 0.0000000000000000e+00 0 0 0 +4006 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.9426764004939674e+00 0.0000000000000000e+00 0 0 0 +4007 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.9356053326821021e+00 0.0000000000000000e+00 0 0 0 +4008 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.9426764004939674e+00 0.0000000000000000e+00 0 0 0 +4009 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.9568185361176980e+00 0.0000000000000000e+00 0 0 0 +4010 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.9497474683058327e+00 0.0000000000000000e+00 0 0 0 +4011 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.9568185361176980e+00 0.0000000000000000e+00 0 0 0 +4012 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.9709606717414294e+00 0.0000000000000000e+00 0 0 0 +4013 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.9638896039295641e+00 0.0000000000000000e+00 0 0 0 +4014 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.9709606717414294e+00 0.0000000000000000e+00 0 0 0 +4015 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.9851028073651600e+00 0.0000000000000000e+00 0 0 0 +4016 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.9780317395532947e+00 0.0000000000000000e+00 0 0 0 +4017 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.9851028073651600e+00 0.0000000000000000e+00 0 0 0 +4018 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 4.9992449429888914e+00 0.0000000000000000e+00 0 0 0 +4019 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 4.9921738751770253e+00 0.0000000000000000e+00 0 0 0 +4020 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 4.9992449429888914e+00 0.0000000000000000e+00 0 0 0 +4021 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.0133870786126220e+00 0.0000000000000000e+00 0 0 0 +4022 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.0063160108007567e+00 0.0000000000000000e+00 0 0 0 +4023 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.0133870786126220e+00 0.0000000000000000e+00 0 0 0 +4024 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.0275292142363526e+00 0.0000000000000000e+00 0 0 0 +4025 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.0204581464244873e+00 0.0000000000000000e+00 0 0 0 +4026 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.0275292142363526e+00 0.0000000000000000e+00 0 0 0 +4027 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.0416713498600840e+00 0.0000000000000000e+00 0 0 0 +4028 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.0346002820482187e+00 0.0000000000000000e+00 0 0 0 +4029 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.0416713498600840e+00 0.0000000000000000e+00 0 0 0 +4030 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.0558134854838146e+00 0.0000000000000000e+00 0 0 0 +4031 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.0487424176719493e+00 0.0000000000000000e+00 0 0 0 +4032 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.0558134854838146e+00 0.0000000000000000e+00 0 0 0 +4033 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.0699556211075461e+00 0.0000000000000000e+00 0 0 0 +4034 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.0628845532956808e+00 0.0000000000000000e+00 0 0 0 +4035 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.0699556211075461e+00 0.0000000000000000e+00 0 0 0 +4036 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.0840977567312766e+00 0.0000000000000000e+00 0 0 0 +4037 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.0770266889194113e+00 0.0000000000000000e+00 0 0 0 +4038 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.0840977567312766e+00 0.0000000000000000e+00 0 0 0 +4039 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.0982398923550081e+00 0.0000000000000000e+00 0 0 0 +4040 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.0911688245431419e+00 0.0000000000000000e+00 0 0 0 +4041 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.0982398923550081e+00 0.0000000000000000e+00 0 0 0 +4042 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.1123820279787386e+00 0.0000000000000000e+00 0 0 0 +4043 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.1053109601668734e+00 0.0000000000000000e+00 0 0 0 +4044 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.1123820279787386e+00 0.0000000000000000e+00 0 0 0 +4045 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.1265241636024692e+00 0.0000000000000000e+00 0 0 0 +4046 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.1194530957906039e+00 0.0000000000000000e+00 0 0 0 +4047 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.1265241636024692e+00 0.0000000000000000e+00 0 0 0 +4048 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.1406662992262007e+00 0.0000000000000000e+00 0 0 0 +4049 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.1335952314143354e+00 0.0000000000000000e+00 0 0 0 +4050 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.1406662992262007e+00 0.0000000000000000e+00 0 0 0 +4051 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.1548084348499312e+00 0.0000000000000000e+00 0 0 0 +4052 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.1477373670380659e+00 0.0000000000000000e+00 0 0 0 +4053 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.1548084348499312e+00 0.0000000000000000e+00 0 0 0 +4055 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.1618795026617974e+00 0.0000000000000000e+00 0 0 0 +4054 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.1689505704736627e+00 0.0000000000000000e+00 0 0 0 +4056 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.1689505704736627e+00 0.0000000000000000e+00 0 0 0 +4057 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.1830927060973933e+00 0.0000000000000000e+00 0 0 0 +4058 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.1760216382855280e+00 0.0000000000000000e+00 0 0 0 +4059 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.1830927060973933e+00 0.0000000000000000e+00 0 0 0 +4060 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.1972348417211247e+00 0.0000000000000000e+00 0 0 0 +4061 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.1901637739092585e+00 0.0000000000000000e+00 0 0 0 +4062 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.1972348417211247e+00 0.0000000000000000e+00 0 0 0 +4063 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.2113769773448553e+00 0.0000000000000000e+00 0 0 0 +4064 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.2043059095329900e+00 0.0000000000000000e+00 0 0 0 +4065 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.2113769773448553e+00 0.0000000000000000e+00 0 0 0 +4066 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.2255191129685858e+00 0.0000000000000000e+00 0 0 0 +4067 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.2184480451567206e+00 0.0000000000000000e+00 0 0 0 +4068 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.2255191129685858e+00 0.0000000000000000e+00 0 0 0 +4069 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.2396612485923173e+00 0.0000000000000000e+00 0 0 0 +4070 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.2325901807804520e+00 0.0000000000000000e+00 0 0 0 +4071 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.2396612485923173e+00 0.0000000000000000e+00 0 0 0 +4072 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.2538033842160479e+00 0.0000000000000000e+00 0 0 0 +4073 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.2467323164041826e+00 0.0000000000000000e+00 0 0 0 +4074 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.2538033842160479e+00 0.0000000000000000e+00 0 0 0 +4075 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.2679455198397793e+00 0.0000000000000000e+00 0 0 0 +4076 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.2608744520279140e+00 0.0000000000000000e+00 0 0 0 +4077 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.2679455198397793e+00 0.0000000000000000e+00 0 0 0 +4078 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.2820876554635099e+00 0.0000000000000000e+00 0 0 0 +4079 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.2750165876516446e+00 0.0000000000000000e+00 0 0 0 +4080 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.2820876554635099e+00 0.0000000000000000e+00 0 0 0 +4081 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.2962297910872413e+00 0.0000000000000000e+00 0 0 0 +4082 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.2891587232753752e+00 0.0000000000000000e+00 0 0 0 +4083 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.2962297910872413e+00 0.0000000000000000e+00 0 0 0 +4084 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.3103719267109719e+00 0.0000000000000000e+00 0 0 0 +4085 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.3033008588991066e+00 0.0000000000000000e+00 0 0 0 +4086 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.3103719267109719e+00 0.0000000000000000e+00 0 0 0 +4087 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.3245140623347034e+00 0.0000000000000000e+00 0 0 0 +4088 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.3174429945228372e+00 0.0000000000000000e+00 0 0 0 +4089 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.3245140623347034e+00 0.0000000000000000e+00 0 0 0 +4091 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.3315851301465687e+00 0.0000000000000000e+00 0 0 0 +4090 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.3386561979584339e+00 0.0000000000000000e+00 0 0 0 +4092 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.3386561979584339e+00 0.0000000000000000e+00 0 0 0 +4093 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.3527983335821645e+00 0.0000000000000000e+00 0 0 0 +4094 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.3457272657702992e+00 0.0000000000000000e+00 0 0 0 +4095 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.3527983335821645e+00 0.0000000000000000e+00 0 0 0 +4096 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.3669404692058960e+00 0.0000000000000000e+00 0 0 0 +4097 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.3598694013940307e+00 0.0000000000000000e+00 0 0 0 +4098 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.3669404692058960e+00 0.0000000000000000e+00 0 0 0 +4099 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.3810826048296265e+00 0.0000000000000000e+00 0 0 0 +4100 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.3740115370177612e+00 0.0000000000000000e+00 0 0 0 +4101 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.3810826048296265e+00 0.0000000000000000e+00 0 0 0 +4102 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.3952247404533580e+00 0.0000000000000000e+00 0 0 0 +4103 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.3881536726414918e+00 0.0000000000000000e+00 0 0 0 +4104 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.3952247404533580e+00 0.0000000000000000e+00 0 0 0 +4105 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.4093668760770885e+00 0.0000000000000000e+00 0 0 0 +4106 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.4022958082652233e+00 0.0000000000000000e+00 0 0 0 +4107 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.4093668760770885e+00 0.0000000000000000e+00 0 0 0 +4108 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.4235090117008200e+00 0.0000000000000000e+00 0 0 0 +4109 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.4164379438889538e+00 0.0000000000000000e+00 0 0 0 +4110 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.4235090117008200e+00 0.0000000000000000e+00 0 0 0 +4111 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.4376511473245506e+00 0.0000000000000000e+00 0 0 0 +4112 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.4305800795126853e+00 0.0000000000000000e+00 0 0 0 +4113 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.4376511473245506e+00 0.0000000000000000e+00 0 0 0 +4114 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.4517932829482811e+00 0.0000000000000000e+00 0 0 0 +4115 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.4447222151364159e+00 0.0000000000000000e+00 0 0 0 +4116 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.4517932829482811e+00 0.0000000000000000e+00 0 0 0 +4117 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.4659354185720126e+00 0.0000000000000000e+00 0 0 0 +4118 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.4588643507601473e+00 0.0000000000000000e+00 0 0 0 +4119 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.4659354185720126e+00 0.0000000000000000e+00 0 0 0 +4120 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.4800775541957432e+00 0.0000000000000000e+00 0 0 0 +4121 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.4730064863838779e+00 0.0000000000000000e+00 0 0 0 +4122 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.4800775541957432e+00 0.0000000000000000e+00 0 0 0 +4123 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.4942196898194746e+00 0.0000000000000000e+00 0 0 0 +4124 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.4871486220076084e+00 0.0000000000000000e+00 0 0 0 +4125 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.4942196898194746e+00 0.0000000000000000e+00 0 0 0 +4126 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.5083618254432052e+00 0.0000000000000000e+00 0 0 0 +4127 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.5012907576313399e+00 0.0000000000000000e+00 0 0 0 +4128 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.5083618254432052e+00 0.0000000000000000e+00 0 0 0 +4129 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.5225039610669366e+00 0.0000000000000000e+00 0 0 0 +4130 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.5154328932550705e+00 0.0000000000000000e+00 0 0 0 +4131 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.5225039610669366e+00 0.0000000000000000e+00 0 0 0 +4132 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.5366460966906672e+00 0.0000000000000000e+00 0 0 0 +4133 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.5295750288788019e+00 0.0000000000000000e+00 0 0 0 +4134 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.5366460966906672e+00 0.0000000000000000e+00 0 0 0 +4135 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.5507882323143978e+00 0.0000000000000000e+00 0 0 0 +4136 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.5437171645025325e+00 0.0000000000000000e+00 0 0 0 +4137 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.5507882323143978e+00 0.0000000000000000e+00 0 0 0 +4138 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.5649303679381292e+00 0.0000000000000000e+00 0 0 0 +4139 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.5578593001262639e+00 0.0000000000000000e+00 0 0 0 +4140 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.5649303679381292e+00 0.0000000000000000e+00 0 0 0 +4141 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.5790725035618598e+00 0.0000000000000000e+00 0 0 0 +4142 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.5720014357499945e+00 0.0000000000000000e+00 0 0 0 +4143 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.5790725035618598e+00 0.0000000000000000e+00 0 0 0 +4144 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.5932146391855913e+00 0.0000000000000000e+00 0 0 0 +4145 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.5861435713737251e+00 0.0000000000000000e+00 0 0 0 +4146 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.5932146391855913e+00 0.0000000000000000e+00 0 0 0 +4147 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.6073567748093218e+00 0.0000000000000000e+00 0 0 0 +4148 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.6002857069974565e+00 0.0000000000000000e+00 0 0 0 +4149 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.6073567748093218e+00 0.0000000000000000e+00 0 0 0 +4150 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.6214989104330533e+00 0.0000000000000000e+00 0 0 0 +4151 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.6144278426211871e+00 0.0000000000000000e+00 0 0 0 +4152 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.6214989104330533e+00 0.0000000000000000e+00 0 0 0 +4153 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.6356410460567838e+00 0.0000000000000000e+00 0 0 0 +4154 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.6285699782449186e+00 0.0000000000000000e+00 0 0 0 +4155 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.6356410460567838e+00 0.0000000000000000e+00 0 0 0 +4156 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.6497831816805144e+00 0.0000000000000000e+00 0 0 0 +4157 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.6427121138686491e+00 0.0000000000000000e+00 0 0 0 +4158 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.6497831816805144e+00 0.0000000000000000e+00 0 0 0 +4159 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.6639253173042459e+00 0.0000000000000000e+00 0 0 0 +4160 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.6568542494923806e+00 0.0000000000000000e+00 0 0 0 +4161 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.6639253173042459e+00 0.0000000000000000e+00 0 0 0 +4162 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.6780674529279764e+00 0.0000000000000000e+00 0 0 0 +4163 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.6709963851161111e+00 0.0000000000000000e+00 0 0 0 +4164 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.6780674529279764e+00 0.0000000000000000e+00 0 0 0 +4165 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.6922095885517079e+00 0.0000000000000000e+00 0 0 0 +4166 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.6851385207398426e+00 0.0000000000000000e+00 0 0 0 +4167 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.6922095885517079e+00 0.0000000000000000e+00 0 0 0 +4168 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.7063517241754385e+00 0.0000000000000000e+00 0 0 0 +4169 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.6992806563635732e+00 0.0000000000000000e+00 0 0 0 +4170 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.7063517241754385e+00 0.0000000000000000e+00 0 0 0 +4171 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.7204938597991699e+00 0.0000000000000000e+00 0 0 0 +4172 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.7134227919873037e+00 0.0000000000000000e+00 0 0 0 +4173 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.7204938597991699e+00 0.0000000000000000e+00 0 0 0 +4174 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.7346359954229005e+00 0.0000000000000000e+00 0 0 0 +4175 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.7275649276110352e+00 0.0000000000000000e+00 0 0 0 +4176 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.7346359954229005e+00 0.0000000000000000e+00 0 0 0 +4177 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.7487781310466310e+00 0.0000000000000000e+00 0 0 0 +4178 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.7417070632347658e+00 0.0000000000000000e+00 0 0 0 +4179 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.7487781310466310e+00 0.0000000000000000e+00 0 0 0 +4180 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.7629202666703625e+00 0.0000000000000000e+00 0 0 0 +4181 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.7558491988584972e+00 0.0000000000000000e+00 0 0 0 +4182 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.7629202666703625e+00 0.0000000000000000e+00 0 0 0 +4183 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.7770624022940931e+00 0.0000000000000000e+00 0 0 0 +4184 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.7699913344822278e+00 0.0000000000000000e+00 0 0 0 +4185 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.7770624022940931e+00 0.0000000000000000e+00 0 0 0 +4186 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.7912045379178245e+00 0.0000000000000000e+00 0 0 0 +4187 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.7841334701059592e+00 0.0000000000000000e+00 0 0 0 +4188 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.7912045379178245e+00 0.0000000000000000e+00 0 0 0 +4189 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.8053466735415551e+00 0.0000000000000000e+00 0 0 0 +4190 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.7982756057296898e+00 0.0000000000000000e+00 0 0 0 +4191 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.8053466735415551e+00 0.0000000000000000e+00 0 0 0 +4192 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.8194888091652865e+00 0.0000000000000000e+00 0 0 0 +4193 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.8124177413534204e+00 0.0000000000000000e+00 0 0 0 +4194 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.8194888091652865e+00 0.0000000000000000e+00 0 0 0 +4195 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.8336309447890171e+00 0.0000000000000000e+00 0 0 0 +4196 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.8265598769771518e+00 0.0000000000000000e+00 0 0 0 +4197 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.8336309447890171e+00 0.0000000000000000e+00 0 0 0 +4198 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.8477730804127477e+00 0.0000000000000000e+00 0 0 0 +4199 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.8407020126008824e+00 0.0000000000000000e+00 0 0 0 +4200 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.8477730804127477e+00 0.0000000000000000e+00 0 0 0 +4201 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.8619152160364791e+00 0.0000000000000000e+00 0 0 0 +4202 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.8548441482246139e+00 0.0000000000000000e+00 0 0 0 +4203 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.8619152160364791e+00 0.0000000000000000e+00 0 0 0 +4204 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.8760573516602097e+00 0.0000000000000000e+00 0 0 0 +4205 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.8689862838483444e+00 0.0000000000000000e+00 0 0 0 +4206 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.8760573516602097e+00 0.0000000000000000e+00 0 0 0 +4207 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.8901994872839412e+00 0.0000000000000000e+00 0 0 0 +4208 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.8831284194720759e+00 0.0000000000000000e+00 0 0 0 +4209 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.8901994872839412e+00 0.0000000000000000e+00 0 0 0 +4210 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.9043416229076717e+00 0.0000000000000000e+00 0 0 0 +4211 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.8972705550958064e+00 0.0000000000000000e+00 0 0 0 +4212 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.9043416229076717e+00 0.0000000000000000e+00 0 0 0 +4213 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.9184837585314032e+00 0.0000000000000000e+00 0 0 0 +4214 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.9114126907195370e+00 0.0000000000000000e+00 0 0 0 +4215 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.9184837585314032e+00 0.0000000000000000e+00 0 0 0 +4216 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.9326258941551338e+00 0.0000000000000000e+00 0 0 0 +4217 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.9255548263432685e+00 0.0000000000000000e+00 0 0 0 +4218 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.9326258941551338e+00 0.0000000000000000e+00 0 0 0 +4219 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.9467680297788652e+00 0.0000000000000000e+00 0 0 0 +4220 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.9396969619669990e+00 0.0000000000000000e+00 0 0 0 +4221 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.9467680297788652e+00 0.0000000000000000e+00 0 0 0 +4222 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.9609101654025958e+00 0.0000000000000000e+00 0 0 0 +4223 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.9538390975907305e+00 0.0000000000000000e+00 0 0 0 +4224 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.9609101654025958e+00 0.0000000000000000e+00 0 0 0 +4225 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.9750523010263263e+00 0.0000000000000000e+00 0 0 0 +4226 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.9679812332144611e+00 0.0000000000000000e+00 0 0 0 +4227 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.9750523010263263e+00 0.0000000000000000e+00 0 0 0 +4228 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 5.9891944366500578e+00 0.0000000000000000e+00 0 0 0 +4229 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.9821233688381925e+00 0.0000000000000000e+00 0 0 0 +4230 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 5.9891944366500578e+00 0.0000000000000000e+00 0 0 0 +4232 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 5.9962655044619231e+00 0.0000000000000000e+00 0 0 0 +4231 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.0033365722737884e+00 0.0000000000000000e+00 0 0 0 +4233 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.0033365722737884e+00 0.0000000000000000e+00 0 0 0 +4234 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.0174787078975198e+00 0.0000000000000000e+00 0 0 0 +4235 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.0104076400856536e+00 0.0000000000000000e+00 0 0 0 +4236 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.0174787078975198e+00 0.0000000000000000e+00 0 0 0 +4237 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.0316208435212504e+00 0.0000000000000000e+00 0 0 0 +4238 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.0245497757093851e+00 0.0000000000000000e+00 0 0 0 +4239 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.0316208435212504e+00 0.0000000000000000e+00 0 0 0 +4240 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.0457629791449818e+00 0.0000000000000000e+00 0 0 0 +4241 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.0386919113331157e+00 0.0000000000000000e+00 0 0 0 +4242 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.0457629791449818e+00 0.0000000000000000e+00 0 0 0 +4243 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.0599051147687124e+00 0.0000000000000000e+00 0 0 0 +4244 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.0528340469568471e+00 0.0000000000000000e+00 0 0 0 +4245 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.0599051147687124e+00 0.0000000000000000e+00 0 0 0 +4246 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.0740472503924430e+00 0.0000000000000000e+00 0 0 0 +4247 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.0669761825805777e+00 0.0000000000000000e+00 0 0 0 +4248 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.0740472503924430e+00 0.0000000000000000e+00 0 0 0 +4249 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.0881893860161744e+00 0.0000000000000000e+00 0 0 0 +4250 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.0811183182043091e+00 0.0000000000000000e+00 0 0 0 +4251 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.0881893860161744e+00 0.0000000000000000e+00 0 0 0 +4252 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.1023315216399050e+00 0.0000000000000000e+00 0 0 0 +4253 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.0952604538280397e+00 0.0000000000000000e+00 0 0 0 +4254 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.1023315216399050e+00 0.0000000000000000e+00 0 0 0 +4255 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.1164736572636365e+00 0.0000000000000000e+00 0 0 0 +4256 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.1094025894517703e+00 0.0000000000000000e+00 0 0 0 +4257 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.1164736572636365e+00 0.0000000000000000e+00 0 0 0 +4258 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.1306157928873670e+00 0.0000000000000000e+00 0 0 0 +4259 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.1235447250755017e+00 0.0000000000000000e+00 0 0 0 +4260 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.1306157928873670e+00 0.0000000000000000e+00 0 0 0 +4261 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.1447579285110985e+00 0.0000000000000000e+00 0 0 0 +4262 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.1376868606992323e+00 0.0000000000000000e+00 0 0 0 +4263 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.1447579285110985e+00 0.0000000000000000e+00 0 0 0 +4264 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.1589000641348290e+00 0.0000000000000000e+00 0 0 0 +4265 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.1518289963229638e+00 0.0000000000000000e+00 0 0 0 +4266 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.1589000641348290e+00 0.0000000000000000e+00 0 0 0 +4268 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.1659711319466943e+00 0.0000000000000000e+00 0 0 0 +4267 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.1730421997585596e+00 0.0000000000000000e+00 0 0 0 +4269 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.1730421997585596e+00 0.0000000000000000e+00 0 0 0 +4270 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.1871843353822911e+00 0.0000000000000000e+00 0 0 0 +4271 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.1801132675704258e+00 0.0000000000000000e+00 0 0 0 +4272 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.1871843353822911e+00 0.0000000000000000e+00 0 0 0 +4273 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.2013264710060216e+00 0.0000000000000000e+00 0 0 0 +4274 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.1942554031941564e+00 0.0000000000000000e+00 0 0 0 +4275 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.2013264710060216e+00 0.0000000000000000e+00 0 0 0 +4276 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.2154686066297531e+00 0.0000000000000000e+00 0 0 0 +4277 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.2083975388178869e+00 0.0000000000000000e+00 0 0 0 +4278 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.2154686066297531e+00 0.0000000000000000e+00 0 0 0 +4279 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.2296107422534837e+00 0.0000000000000000e+00 0 0 0 +4280 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.2225396744416184e+00 0.0000000000000000e+00 0 0 0 +4281 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.2296107422534837e+00 0.0000000000000000e+00 0 0 0 +4282 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.2437528778772151e+00 0.0000000000000000e+00 0 0 0 +4283 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.2366818100653489e+00 0.0000000000000000e+00 0 0 0 +4284 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.2437528778772151e+00 0.0000000000000000e+00 0 0 0 +4285 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.2578950135009457e+00 0.0000000000000000e+00 0 0 0 +4286 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.2508239456890804e+00 0.0000000000000000e+00 0 0 0 +4287 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.2578950135009457e+00 0.0000000000000000e+00 0 0 0 +4288 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.2720371491246762e+00 0.0000000000000000e+00 0 0 0 +4289 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.2649660813128110e+00 0.0000000000000000e+00 0 0 0 +4290 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.2720371491246762e+00 0.0000000000000000e+00 0 0 0 +4291 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.2861792847484077e+00 0.0000000000000000e+00 0 0 0 +4292 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.2791082169365424e+00 0.0000000000000000e+00 0 0 0 +4293 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.2861792847484077e+00 0.0000000000000000e+00 0 0 0 +4294 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.3003214203721383e+00 0.0000000000000000e+00 0 0 0 +4295 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.2932503525602730e+00 0.0000000000000000e+00 0 0 0 +4296 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.3003214203721383e+00 0.0000000000000000e+00 0 0 0 +4297 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.3144635559958697e+00 0.0000000000000000e+00 0 0 0 +4298 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.3073924881840044e+00 0.0000000000000000e+00 0 0 0 +4299 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.3144635559958697e+00 0.0000000000000000e+00 0 0 0 +4300 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.3286056916196003e+00 0.0000000000000000e+00 0 0 0 +4301 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.3215346238077350e+00 0.0000000000000000e+00 0 0 0 +4302 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.3286056916196003e+00 0.0000000000000000e+00 0 0 0 +4303 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.3427478272433317e+00 0.0000000000000000e+00 0 0 0 +4304 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.3356767594314656e+00 0.0000000000000000e+00 0 0 0 +4305 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.3427478272433317e+00 0.0000000000000000e+00 0 0 0 +4306 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.3568899628670623e+00 0.0000000000000000e+00 0 0 0 +4307 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.3498188950551970e+00 0.0000000000000000e+00 0 0 0 +4308 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.3568899628670623e+00 0.0000000000000000e+00 0 0 0 +4309 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.3710320984907929e+00 0.0000000000000000e+00 0 0 0 +4310 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.3639610306789276e+00 0.0000000000000000e+00 0 0 0 +4311 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.3710320984907929e+00 0.0000000000000000e+00 0 0 0 +4312 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.3851742341145243e+00 0.0000000000000000e+00 0 0 0 +4313 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.3781031663026591e+00 0.0000000000000000e+00 0 0 0 +4314 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.3851742341145243e+00 0.0000000000000000e+00 0 0 0 +4315 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.3993163697382549e+00 0.0000000000000000e+00 0 0 0 +4316 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.3922453019263896e+00 0.0000000000000000e+00 0 0 0 +4317 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.3993163697382549e+00 0.0000000000000000e+00 0 0 0 +4318 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.4134585053619864e+00 0.0000000000000000e+00 0 0 0 +4319 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.4063874375501211e+00 0.0000000000000000e+00 0 0 0 +4320 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.4134585053619864e+00 0.0000000000000000e+00 0 0 0 +4321 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.4276006409857169e+00 0.0000000000000000e+00 0 0 0 +4322 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.4205295731738516e+00 0.0000000000000000e+00 0 0 0 +4323 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.4276006409857169e+00 0.0000000000000000e+00 0 0 0 +4324 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.4417427766094484e+00 0.0000000000000000e+00 0 0 0 +4325 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.4346717087975822e+00 0.0000000000000000e+00 0 0 0 +4326 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.4417427766094484e+00 0.0000000000000000e+00 0 0 0 +4327 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.4558849122331790e+00 0.0000000000000000e+00 0 0 0 +4328 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.4488138444213137e+00 0.0000000000000000e+00 0 0 0 +4329 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.4558849122331790e+00 0.0000000000000000e+00 0 0 0 +4330 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.4700270478569095e+00 0.0000000000000000e+00 0 0 0 +4331 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.4629559800450442e+00 0.0000000000000000e+00 0 0 0 +4332 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.4700270478569095e+00 0.0000000000000000e+00 0 0 0 +4333 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.4841691834806410e+00 0.0000000000000000e+00 0 0 0 +4334 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.4770981156687757e+00 0.0000000000000000e+00 0 0 0 +4335 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.4841691834806410e+00 0.0000000000000000e+00 0 0 0 +4336 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.4983113191043715e+00 0.0000000000000000e+00 0 0 0 +4337 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.4912402512925063e+00 0.0000000000000000e+00 0 0 0 +4338 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.4983113191043715e+00 0.0000000000000000e+00 0 0 0 +4339 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.5124534547281030e+00 0.0000000000000000e+00 0 0 0 +4340 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.5053823869162377e+00 0.0000000000000000e+00 0 0 0 +4341 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.5124534547281030e+00 0.0000000000000000e+00 0 0 0 +4342 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.5265955903518336e+00 0.0000000000000000e+00 0 0 0 +4343 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.5195245225399683e+00 0.0000000000000000e+00 0 0 0 +4344 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.5265955903518336e+00 0.0000000000000000e+00 0 0 0 +4345 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.5407377259755650e+00 0.0000000000000000e+00 0 0 0 +4346 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.5336666581636988e+00 0.0000000000000000e+00 0 0 0 +4347 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.5407377259755650e+00 0.0000000000000000e+00 0 0 0 +4348 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.5548798615992956e+00 0.0000000000000000e+00 0 0 0 +4349 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.5478087937874303e+00 0.0000000000000000e+00 0 0 0 +4350 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.5548798615992956e+00 0.0000000000000000e+00 0 0 0 +4351 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.5690219972230262e+00 0.0000000000000000e+00 0 0 0 +4352 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.5619509294111609e+00 0.0000000000000000e+00 0 0 0 +4353 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.5690219972230262e+00 0.0000000000000000e+00 0 0 0 +4354 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.5831641328467576e+00 0.0000000000000000e+00 0 0 0 +4355 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.5760930650348923e+00 0.0000000000000000e+00 0 0 0 +4356 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.5831641328467576e+00 0.0000000000000000e+00 0 0 0 +4357 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.5973062684704882e+00 0.0000000000000000e+00 0 0 0 +4358 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.5902352006586229e+00 0.0000000000000000e+00 0 0 0 +4359 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.5973062684704882e+00 0.0000000000000000e+00 0 0 0 +4360 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.6114484040942196e+00 0.0000000000000000e+00 0 0 0 +4361 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.6043773362823543e+00 0.0000000000000000e+00 0 0 0 +4362 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.6114484040942196e+00 0.0000000000000000e+00 0 0 0 +4363 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.6255905397179502e+00 0.0000000000000000e+00 0 0 0 +4364 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.6185194719060849e+00 0.0000000000000000e+00 0 0 0 +4365 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.6255905397179502e+00 0.0000000000000000e+00 0 0 0 +4366 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.6397326753416817e+00 0.0000000000000000e+00 0 0 0 +4367 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.6326616075298155e+00 0.0000000000000000e+00 0 0 0 +4368 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.6397326753416817e+00 0.0000000000000000e+00 0 0 0 +4369 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.6538748109654122e+00 0.0000000000000000e+00 0 0 0 +4370 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.6468037431535469e+00 0.0000000000000000e+00 0 0 0 +4371 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.6538748109654122e+00 0.0000000000000000e+00 0 0 0 +4373 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.6609458787772775e+00 0.0000000000000000e+00 0 0 0 +4372 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.6680169465891437e+00 0.0000000000000000e+00 0 0 0 +4374 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.6680169465891437e+00 0.0000000000000000e+00 0 0 0 +4375 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.6821590822128742e+00 0.0000000000000000e+00 0 0 0 +4376 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.6750880144010090e+00 0.0000000000000000e+00 0 0 0 +4377 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.6821590822128742e+00 0.0000000000000000e+00 0 0 0 +4378 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.6963012178366048e+00 0.0000000000000000e+00 0 0 0 +4379 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.6892301500247395e+00 0.0000000000000000e+00 0 0 0 +4380 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.6963012178366048e+00 0.0000000000000000e+00 0 0 0 +4381 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.7104433534603363e+00 0.0000000000000000e+00 0 0 0 +4382 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.7033722856484710e+00 0.0000000000000000e+00 0 0 0 +4383 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.7104433534603363e+00 0.0000000000000000e+00 0 0 0 +4384 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.7245854890840668e+00 0.0000000000000000e+00 0 0 0 +4385 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.7175144212722016e+00 0.0000000000000000e+00 0 0 0 +4386 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.7245854890840668e+00 0.0000000000000000e+00 0 0 0 +4387 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.7387276247077983e+00 0.0000000000000000e+00 0 0 0 +4388 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.7316565568959321e+00 0.0000000000000000e+00 0 0 0 +4389 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.7387276247077983e+00 0.0000000000000000e+00 0 0 0 +4390 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.7528697603315289e+00 0.0000000000000000e+00 0 0 0 +4391 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.7457986925196636e+00 0.0000000000000000e+00 0 0 0 +4392 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.7528697603315289e+00 0.0000000000000000e+00 0 0 0 +4393 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.7670118959552603e+00 0.0000000000000000e+00 0 0 0 +4394 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.7599408281433941e+00 0.0000000000000000e+00 0 0 0 +4395 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.7670118959552603e+00 0.0000000000000000e+00 0 0 0 +4396 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.7811540315789909e+00 0.0000000000000000e+00 0 0 0 +4397 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.7740829637671256e+00 0.0000000000000000e+00 0 0 0 +4398 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.7811540315789909e+00 0.0000000000000000e+00 0 0 0 +4399 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.7952961672027214e+00 0.0000000000000000e+00 0 0 0 +4400 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.7882250993908562e+00 0.0000000000000000e+00 0 0 0 +4401 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.7952961672027214e+00 0.0000000000000000e+00 0 0 0 +4402 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.8094383028264529e+00 0.0000000000000000e+00 0 0 0 +4403 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.8023672350145876e+00 0.0000000000000000e+00 0 0 0 +4404 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.8094383028264529e+00 0.0000000000000000e+00 0 0 0 +4405 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.8235804384501835e+00 0.0000000000000000e+00 0 0 0 +4406 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.8165093706383182e+00 0.0000000000000000e+00 0 0 0 +4407 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.8235804384501835e+00 0.0000000000000000e+00 0 0 0 +4409 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.8306515062620488e+00 0.0000000000000000e+00 0 0 0 +4408 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.8377225740739149e+00 0.0000000000000000e+00 0 0 0 +4410 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.8377225740739149e+00 0.0000000000000000e+00 0 0 0 +4411 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.8518647096976455e+00 0.0000000000000000e+00 0 0 0 +4412 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.8447936418857802e+00 0.0000000000000000e+00 0 0 0 +4413 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.8518647096976455e+00 0.0000000000000000e+00 0 0 0 +4414 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.8660068453213770e+00 0.0000000000000000e+00 0 0 0 +4415 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.8589357775095108e+00 0.0000000000000000e+00 0 0 0 +4416 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.8660068453213770e+00 0.0000000000000000e+00 0 0 0 +4417 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.8801489809451075e+00 0.0000000000000000e+00 0 0 0 +4418 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.8730779131332422e+00 0.0000000000000000e+00 0 0 0 +4419 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.8801489809451075e+00 0.0000000000000000e+00 0 0 0 +4420 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.8942911165688381e+00 0.0000000000000000e+00 0 0 0 +4421 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.8872200487569728e+00 0.0000000000000000e+00 0 0 0 +4422 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.8942911165688381e+00 0.0000000000000000e+00 0 0 0 +4423 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.9084332521925695e+00 0.0000000000000000e+00 0 0 0 +4424 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.9013621843807043e+00 0.0000000000000000e+00 0 0 0 +4425 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.9084332521925695e+00 0.0000000000000000e+00 0 0 0 +4426 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.9225753878163001e+00 0.0000000000000000e+00 0 0 0 +4427 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.9155043200044348e+00 0.0000000000000000e+00 0 0 0 +4428 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.9225753878163001e+00 0.0000000000000000e+00 0 0 0 +4429 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.9367175234400316e+00 0.0000000000000000e+00 0 0 0 +4430 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.9296464556281663e+00 0.0000000000000000e+00 0 0 0 +4431 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.9367175234400316e+00 0.0000000000000000e+00 0 0 0 +4432 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.9508596590637621e+00 0.0000000000000000e+00 0 0 0 +4433 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.9437885912518968e+00 0.0000000000000000e+00 0 0 0 +4434 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.9508596590637621e+00 0.0000000000000000e+00 0 0 0 +4435 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.9650017946874936e+00 0.0000000000000000e+00 0 0 0 +4436 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.9579307268756274e+00 0.0000000000000000e+00 0 0 0 +4437 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.9650017946874936e+00 0.0000000000000000e+00 0 0 0 +4438 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.9791439303112242e+00 0.0000000000000000e+00 0 0 0 +4439 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.9720728624993589e+00 0.0000000000000000e+00 0 0 0 +4440 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.9791439303112242e+00 0.0000000000000000e+00 0 0 0 +4441 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 6.9932860659349547e+00 0.0000000000000000e+00 0 0 0 +4442 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 6.9862149981230894e+00 0.0000000000000000e+00 0 0 0 +4443 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 6.9932860659349547e+00 0.0000000000000000e+00 0 0 0 +4445 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.0003571337468209e+00 0.0000000000000000e+00 0 0 0 +4444 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.0074282015586862e+00 0.0000000000000000e+00 0 0 0 +4446 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.0074282015586862e+00 0.0000000000000000e+00 0 0 0 +4447 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.0215703371824167e+00 0.0000000000000000e+00 0 0 0 +4448 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.0144992693705515e+00 0.0000000000000000e+00 0 0 0 +4449 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.0215703371824167e+00 0.0000000000000000e+00 0 0 0 +4450 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.0357124728061482e+00 0.0000000000000000e+00 0 0 0 +4451 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.0286414049942829e+00 0.0000000000000000e+00 0 0 0 +4452 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.0357124728061482e+00 0.0000000000000000e+00 0 0 0 +4453 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.0498546084298788e+00 0.0000000000000000e+00 0 0 0 +4454 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.0427835406180135e+00 0.0000000000000000e+00 0 0 0 +4455 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.0498546084298788e+00 0.0000000000000000e+00 0 0 0 +4456 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.0639967440536102e+00 0.0000000000000000e+00 0 0 0 +4457 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.0569256762417440e+00 0.0000000000000000e+00 0 0 0 +4458 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.0639967440536102e+00 0.0000000000000000e+00 0 0 0 +4459 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.0781388796773408e+00 0.0000000000000000e+00 0 0 0 +4460 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.0710678118654755e+00 0.0000000000000000e+00 0 0 0 +4461 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.0781388796773408e+00 0.0000000000000000e+00 0 0 0 +4462 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.0922810153010714e+00 0.0000000000000000e+00 0 0 0 +4463 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.0852099474892061e+00 0.0000000000000000e+00 0 0 0 +4464 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.0922810153010714e+00 0.0000000000000000e+00 0 0 0 +4465 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.1064231509248028e+00 0.0000000000000000e+00 0 0 0 +4466 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.0993520831129375e+00 0.0000000000000000e+00 0 0 0 +4467 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.1064231509248028e+00 0.0000000000000000e+00 0 0 0 +4468 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.1205652865485334e+00 0.0000000000000000e+00 0 0 0 +4469 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.1134942187366681e+00 0.0000000000000000e+00 0 0 0 +4470 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.1205652865485334e+00 0.0000000000000000e+00 0 0 0 +4471 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.1347074221722648e+00 0.0000000000000000e+00 0 0 0 +4472 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.1276363543603996e+00 0.0000000000000000e+00 0 0 0 +4473 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.1347074221722648e+00 0.0000000000000000e+00 0 0 0 +4474 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.1488495577959954e+00 0.0000000000000000e+00 0 0 0 +4475 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.1417784899841301e+00 0.0000000000000000e+00 0 0 0 +4476 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.1488495577959954e+00 0.0000000000000000e+00 0 0 0 +4477 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.1629916934197269e+00 0.0000000000000000e+00 0 0 0 +4478 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.1559206256078607e+00 0.0000000000000000e+00 0 0 0 +4479 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.1629916934197269e+00 0.0000000000000000e+00 0 0 0 +4480 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.1771338290434574e+00 0.0000000000000000e+00 0 0 0 +4481 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.1700627612315921e+00 0.0000000000000000e+00 0 0 0 +4482 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.1771338290434574e+00 0.0000000000000000e+00 0 0 0 +4483 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.1912759646671880e+00 0.0000000000000000e+00 0 0 0 +4484 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.1842048968553227e+00 0.0000000000000000e+00 0 0 0 +4485 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.1912759646671880e+00 0.0000000000000000e+00 0 0 0 +4486 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.2054181002909194e+00 0.0000000000000000e+00 0 0 0 +4487 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.1983470324790542e+00 0.0000000000000000e+00 0 0 0 +4488 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.2054181002909194e+00 0.0000000000000000e+00 0 0 0 +4489 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.2195602359146500e+00 0.0000000000000000e+00 0 0 0 +4490 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.2124891681027847e+00 0.0000000000000000e+00 0 0 0 +4491 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.2195602359146500e+00 0.0000000000000000e+00 0 0 0 +4492 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.2337023715383815e+00 0.0000000000000000e+00 0 0 0 +4493 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.2266313037265162e+00 0.0000000000000000e+00 0 0 0 +4494 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.2337023715383815e+00 0.0000000000000000e+00 0 0 0 +4495 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.2478445071621120e+00 0.0000000000000000e+00 0 0 0 +4496 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.2407734393502468e+00 0.0000000000000000e+00 0 0 0 +4497 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.2478445071621120e+00 0.0000000000000000e+00 0 0 0 +4498 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.2619866427858435e+00 0.0000000000000000e+00 0 0 0 +4499 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.2549155749739773e+00 0.0000000000000000e+00 0 0 0 +4500 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.2619866427858435e+00 0.0000000000000000e+00 0 0 0 +4501 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.2761287784095741e+00 0.0000000000000000e+00 0 0 0 +4502 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.2690577105977088e+00 0.0000000000000000e+00 0 0 0 +4503 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.2761287784095741e+00 0.0000000000000000e+00 0 0 0 +4504 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.2902709140333055e+00 0.0000000000000000e+00 0 0 0 +4505 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.2831998462214393e+00 0.0000000000000000e+00 0 0 0 +4506 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.2902709140333055e+00 0.0000000000000000e+00 0 0 0 +4507 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.3044130496570361e+00 0.0000000000000000e+00 0 0 0 +4508 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.2973419818451708e+00 0.0000000000000000e+00 0 0 0 +4509 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.3044130496570361e+00 0.0000000000000000e+00 0 0 0 +4510 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.3185551852807667e+00 0.0000000000000000e+00 0 0 0 +4511 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.3114841174689014e+00 0.0000000000000000e+00 0 0 0 +4512 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.3185551852807667e+00 0.0000000000000000e+00 0 0 0 +4513 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.3326973209044981e+00 0.0000000000000000e+00 0 0 0 +4514 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.3256262530926328e+00 0.0000000000000000e+00 0 0 0 +4515 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.3326973209044981e+00 0.0000000000000000e+00 0 0 0 +4516 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.3468394565282287e+00 0.0000000000000000e+00 0 0 0 +4517 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.3397683887163634e+00 0.0000000000000000e+00 0 0 0 +4518 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.3468394565282287e+00 0.0000000000000000e+00 0 0 0 +4519 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.3609815921519601e+00 0.0000000000000000e+00 0 0 0 +4520 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.3539105243400940e+00 0.0000000000000000e+00 0 0 0 +4521 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.3609815921519601e+00 0.0000000000000000e+00 0 0 0 +4522 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.3751237277756907e+00 0.0000000000000000e+00 0 0 0 +4523 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.3680526599638254e+00 0.0000000000000000e+00 0 0 0 +4524 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.3751237277756907e+00 0.0000000000000000e+00 0 0 0 +4525 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.3892658633994222e+00 0.0000000000000000e+00 0 0 0 +4526 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.3821947955875560e+00 0.0000000000000000e+00 0 0 0 +4527 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.3892658633994222e+00 0.0000000000000000e+00 0 0 0 +4528 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.4034079990231527e+00 0.0000000000000000e+00 0 0 0 +4529 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.3963369312112874e+00 0.0000000000000000e+00 0 0 0 +4530 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.4034079990231527e+00 0.0000000000000000e+00 0 0 0 +4531 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.4175501346468833e+00 0.0000000000000000e+00 0 0 0 +4532 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.4104790668350180e+00 0.0000000000000000e+00 0 0 0 +4533 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.4175501346468833e+00 0.0000000000000000e+00 0 0 0 +4534 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.4316922702706147e+00 0.0000000000000000e+00 0 0 0 +4535 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.4246212024587495e+00 0.0000000000000000e+00 0 0 0 +4536 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.4316922702706147e+00 0.0000000000000000e+00 0 0 0 +4537 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.4458344058943453e+00 0.0000000000000000e+00 0 0 0 +4538 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.4387633380824800e+00 0.0000000000000000e+00 0 0 0 +4539 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.4458344058943453e+00 0.0000000000000000e+00 0 0 0 +4540 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.4599765415180768e+00 0.0000000000000000e+00 0 0 0 +4541 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.4529054737062106e+00 0.0000000000000000e+00 0 0 0 +4542 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.4599765415180768e+00 0.0000000000000000e+00 0 0 0 +4543 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.4741186771418073e+00 0.0000000000000000e+00 0 0 0 +4544 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.4670476093299420e+00 0.0000000000000000e+00 0 0 0 +4545 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.4741186771418073e+00 0.0000000000000000e+00 0 0 0 +4546 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.4882608127655388e+00 0.0000000000000000e+00 0 0 0 +4547 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.4811897449536726e+00 0.0000000000000000e+00 0 0 0 +4548 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.4882608127655388e+00 0.0000000000000000e+00 0 0 0 +4550 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.4953318805774041e+00 0.0000000000000000e+00 0 0 0 +4549 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.5024029483892694e+00 0.0000000000000000e+00 0 0 0 +4551 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.5024029483892694e+00 0.0000000000000000e+00 0 0 0 +4552 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.5165450840129999e+00 0.0000000000000000e+00 0 0 0 +4553 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.5094740162011346e+00 0.0000000000000000e+00 0 0 0 +4554 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.5165450840129999e+00 0.0000000000000000e+00 0 0 0 +4555 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.5306872196367314e+00 0.0000000000000000e+00 0 0 0 +4556 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.5236161518248661e+00 0.0000000000000000e+00 0 0 0 +4557 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.5306872196367314e+00 0.0000000000000000e+00 0 0 0 +4558 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.5448293552604619e+00 0.0000000000000000e+00 0 0 0 +4559 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.5377582874485967e+00 0.0000000000000000e+00 0 0 0 +4560 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.5448293552604619e+00 0.0000000000000000e+00 0 0 0 +4561 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.5589714908841934e+00 0.0000000000000000e+00 0 0 0 +4562 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.5519004230723272e+00 0.0000000000000000e+00 0 0 0 +4563 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.5589714908841934e+00 0.0000000000000000e+00 0 0 0 +4564 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.5731136265079240e+00 0.0000000000000000e+00 0 0 0 +4565 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.5660425586960587e+00 0.0000000000000000e+00 0 0 0 +4566 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.5731136265079240e+00 0.0000000000000000e+00 0 0 0 +4567 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.5872557621316554e+00 0.0000000000000000e+00 0 0 0 +4568 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.5801846943197893e+00 0.0000000000000000e+00 0 0 0 +4569 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.5872557621316554e+00 0.0000000000000000e+00 0 0 0 +4570 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.6013978977553860e+00 0.0000000000000000e+00 0 0 0 +4571 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.5943268299435207e+00 0.0000000000000000e+00 0 0 0 +4572 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.6013978977553860e+00 0.0000000000000000e+00 0 0 0 +4573 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.6155400333791166e+00 0.0000000000000000e+00 0 0 0 +4574 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.6084689655672513e+00 0.0000000000000000e+00 0 0 0 +4575 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.6155400333791166e+00 0.0000000000000000e+00 0 0 0 +4576 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.6296821690028480e+00 0.0000000000000000e+00 0 0 0 +4577 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.6226111011909827e+00 0.0000000000000000e+00 0 0 0 +4578 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.6296821690028480e+00 0.0000000000000000e+00 0 0 0 +4579 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.6438243046265786e+00 0.0000000000000000e+00 0 0 0 +4580 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.6367532368147133e+00 0.0000000000000000e+00 0 0 0 +4581 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.6438243046265786e+00 0.0000000000000000e+00 0 0 0 +4582 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.6579664402503100e+00 0.0000000000000000e+00 0 0 0 +4583 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.6508953724384448e+00 0.0000000000000000e+00 0 0 0 +4584 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.6579664402503100e+00 0.0000000000000000e+00 0 0 0 +4586 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.6650375080621753e+00 0.0000000000000000e+00 0 0 0 +4585 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.6721085758740406e+00 0.0000000000000000e+00 0 0 0 +4587 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.6721085758740406e+00 0.0000000000000000e+00 0 0 0 +4588 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.6862507114977721e+00 0.0000000000000000e+00 0 0 0 +4589 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.6791796436859059e+00 0.0000000000000000e+00 0 0 0 +4590 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.6862507114977721e+00 0.0000000000000000e+00 0 0 0 +4591 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.7003928471215026e+00 0.0000000000000000e+00 0 0 0 +4592 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.6933217793096373e+00 0.0000000000000000e+00 0 0 0 +4593 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.7003928471215026e+00 0.0000000000000000e+00 0 0 0 +4594 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.7145349827452332e+00 0.0000000000000000e+00 0 0 0 +4595 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.7074639149333679e+00 0.0000000000000000e+00 0 0 0 +4596 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.7145349827452332e+00 0.0000000000000000e+00 0 0 0 +4597 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.7286771183689646e+00 0.0000000000000000e+00 0 0 0 +4598 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.7216060505570994e+00 0.0000000000000000e+00 0 0 0 +4599 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.7286771183689646e+00 0.0000000000000000e+00 0 0 0 +4600 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.7428192539926952e+00 0.0000000000000000e+00 0 0 0 +4601 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.7357481861808299e+00 0.0000000000000000e+00 0 0 0 +4602 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.7428192539926952e+00 0.0000000000000000e+00 0 0 0 +4603 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.7569613896164267e+00 0.0000000000000000e+00 0 0 0 +4604 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.7498903218045614e+00 0.0000000000000000e+00 0 0 0 +4605 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.7569613896164267e+00 0.0000000000000000e+00 0 0 0 +4606 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.7711035252401572e+00 0.0000000000000000e+00 0 0 0 +4607 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.7640324574282920e+00 0.0000000000000000e+00 0 0 0 +4608 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.7711035252401572e+00 0.0000000000000000e+00 0 0 0 +4609 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.7852456608638887e+00 0.0000000000000000e+00 0 0 0 +4610 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.7781745930520225e+00 0.0000000000000000e+00 0 0 0 +4611 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.7852456608638887e+00 0.0000000000000000e+00 0 0 0 +4612 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.7993877964876193e+00 0.0000000000000000e+00 0 0 0 +4613 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.7923167286757540e+00 0.0000000000000000e+00 0 0 0 +4614 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.7993877964876193e+00 0.0000000000000000e+00 0 0 0 +4615 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.8135299321113498e+00 0.0000000000000000e+00 0 0 0 +4616 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.8064588642994845e+00 0.0000000000000000e+00 0 0 0 +4617 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.8135299321113498e+00 0.0000000000000000e+00 0 0 0 +4618 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.8276720677350813e+00 0.0000000000000000e+00 0 0 0 +4619 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.8206009999232160e+00 0.0000000000000000e+00 0 0 0 +4620 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.8276720677350813e+00 0.0000000000000000e+00 0 0 0 +4651 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0011121907579295e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4652 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0152543263816605e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4653 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0293964620053915e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4654 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0435385976291225e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4655 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0576807332528535e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4656 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0718228688765841e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4657 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0859650045003151e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4658 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1001071401240461e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4659 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1142492757477771e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4660 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1283914113715081e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4661 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1425335469952391e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4662 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1566756826189701e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4794 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0011121907579295e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4795 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0081832585697952e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4796 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0152543263816605e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4797 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0223253941935257e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4798 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0293964620053915e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4799 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0364675298172568e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4800 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0435385976291225e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4801 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0506096654409878e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4802 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0576807332528535e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4803 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0647518010647188e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4804 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0718228688765841e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4805 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0788939366884498e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4806 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0859650045003151e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4807 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.0930360723121808e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4808 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1001071401240461e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4809 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1071782079359118e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4810 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1142492757477771e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4811 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1213203435596424e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4812 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1283914113715081e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4813 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1354624791833734e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4814 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1425335469952391e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4815 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1496046148071044e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4816 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1566756826189701e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4817 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1637467504308354e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4663 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1708178182427011e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4664 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1849599538664317e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4665 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1991020894901627e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4666 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2132442251138937e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4667 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2273863607376247e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4668 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2415284963613558e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4669 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2556706319850868e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4670 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2698127676088178e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4671 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2839549032325484e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4672 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2980970388562794e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4673 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3122391744800104e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4674 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3263813101037414e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4818 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1708178182427011e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4819 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1778888860545664e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4820 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1849599538664317e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4821 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1920310216782974e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4822 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.1991020894901627e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4823 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2061731573020285e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4824 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2132442251138937e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4825 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2203152929257595e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4826 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2273863607376247e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4827 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2344574285494900e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4828 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2415284963613558e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4829 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2485995641732210e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4830 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2556706319850868e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4831 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2627416997969521e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4832 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2698127676088178e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4833 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2768838354206831e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4834 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2839549032325484e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4835 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2910259710444141e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4836 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.2980970388562794e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4837 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3051681066681451e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4838 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3122391744800104e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4839 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3193102422918761e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4840 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3263813101037414e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4841 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3334523779156067e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4675 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3405234457274724e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4676 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3546655813512034e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4677 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3688077169749344e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4678 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3829498525986650e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4679 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3970919882223960e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4680 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4112341238461270e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4681 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4253762594698580e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4682 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4395183950935890e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4683 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4536605307173200e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4684 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4678026663410511e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4685 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4819448019647821e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4686 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4960869375885126e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4842 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3405234457274724e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4843 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3475945135393377e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4844 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3546655813512034e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4845 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3617366491630687e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4846 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3688077169749344e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4847 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3758787847867997e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4848 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3829498525986650e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4849 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3900209204105307e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4850 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.3970919882223960e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4851 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4041630560342617e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4852 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4112341238461270e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4853 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4183051916579927e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4854 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4253762594698580e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4855 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4324473272817233e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4856 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4395183950935890e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4857 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4465894629054543e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4858 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4536605307173200e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4859 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4607315985291853e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4860 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4678026663410511e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4861 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4748737341529163e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4862 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4819448019647821e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4863 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4890158697766473e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4864 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.4960869375885126e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4687 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5102290732122436e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4688 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5243712088359747e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4689 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5385133444597057e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4690 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5526554800834367e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4691 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5667976157071677e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4692 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5809397513308987e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4693 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5950818869546293e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4694 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6092240225783603e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4695 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6233661582020913e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4696 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6375082938258223e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4697 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6516504294495533e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4698 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6657925650732843e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4865 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5031580054003784e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4866 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5102290732122436e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4867 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5173001410241094e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4868 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5243712088359747e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4869 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5314422766478404e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4870 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5385133444597057e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4871 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5455844122715710e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4872 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5526554800834367e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4873 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5597265478953020e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4874 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5667976157071677e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4875 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5738686835190330e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4876 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5809397513308987e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4877 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5880108191427640e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4878 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.5950818869546293e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4879 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6021529547664950e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4880 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6092240225783603e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4881 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6162950903902260e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4882 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6233661582020913e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4883 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6304372260139570e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4884 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6375082938258223e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4885 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6445793616376876e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4886 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6516504294495533e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4887 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6587214972614186e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4888 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6657925650732843e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4699 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6799347006970153e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4700 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6940768363207459e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4701 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7082189719444769e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4702 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7223611075682079e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4703 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7365032431919389e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4704 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7506453788156700e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4705 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7647875144394010e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4706 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7789296500631320e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4707 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7930717856868625e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4708 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8072139213105936e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4709 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8213560569343246e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4889 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6728636328851496e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4890 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6799347006970153e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4891 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6870057685088806e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4892 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.6940768363207459e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4893 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7011479041326116e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4894 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7082189719444769e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4895 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7152900397563426e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4896 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7223611075682079e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4897 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7294321753800737e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4898 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7365032431919389e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4899 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7435743110038042e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4900 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7506453788156700e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4901 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7577164466275352e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4902 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7647875144394010e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4903 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7718585822512662e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4904 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7789296500631320e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4905 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7860007178749973e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4906 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.7930717856868625e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4907 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8001428534987283e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4908 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8072139213105936e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4909 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8142849891224593e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4910 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8213560569343246e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4911 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8284271247461903e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4710 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8354981925580556e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4711 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8496403281817866e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4712 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8637824638055176e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4713 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8779245994292486e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4714 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8920667350529796e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4715 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9062088706767102e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4716 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9203510063004412e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4717 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9344931419241722e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4718 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9486352775479032e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4719 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9627774131716342e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4720 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9769195487953652e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4721 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9910616844190963e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4912 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8354981925580556e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4913 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8425692603699213e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4914 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8496403281817866e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4915 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8567113959936519e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4916 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8637824638055176e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4917 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8708535316173829e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4918 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8779245994292486e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4919 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8849956672411139e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4920 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8920667350529796e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4921 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.8991378028648449e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4922 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9062088706767102e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4923 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9132799384885759e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4924 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9203510063004412e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4925 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9274220741123069e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4926 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9344931419241722e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4927 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9415642097360379e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4928 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9486352775479032e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4929 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9557063453597685e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4930 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9627774131716342e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4931 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9698484809834995e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4932 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9769195487953652e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4933 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9839906166072305e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4934 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9910616844190963e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4935 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 2.9981327522309615e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4722 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0052038200428268e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4723 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0193459556665578e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4724 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0334880912902888e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4725 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0476302269140199e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4726 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0617723625377509e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4727 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0759144981614819e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4728 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0900566337852129e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4729 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1041987694089435e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4730 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1183409050326745e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4731 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1324830406564055e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4732 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1466251762801365e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4733 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1607673119038675e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4936 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0052038200428268e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4937 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0122748878546926e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4938 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0193459556665578e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4939 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0264170234784236e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4940 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0334880912902888e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4941 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0405591591021546e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4942 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0476302269140199e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4943 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0547012947258851e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4944 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0617723625377509e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4945 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0688434303496162e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4946 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0759144981614819e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4947 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0829855659733472e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4948 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0900566337852129e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4949 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.0971277015970782e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4950 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1041987694089435e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4951 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1112698372208092e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4952 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1183409050326745e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4953 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1254119728445402e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4954 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1324830406564055e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4955 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1395541084682712e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4956 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1466251762801365e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4957 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1536962440920022e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4958 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1607673119038675e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4734 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1749094475275985e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4735 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1890515831513295e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4736 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2031937187750605e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4737 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2173358543987911e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4738 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2314779900225221e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4739 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2456201256462531e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4740 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2597622612699841e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4741 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2739043968937152e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4742 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2880465325174462e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4743 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3021886681411772e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4744 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3163308037649077e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4745 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3304729393886388e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4959 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1678383797157328e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4960 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1749094475275985e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4961 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1819805153394638e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4962 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1890515831513295e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4963 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.1961226509631948e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4964 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2031937187750605e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4965 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2102647865869258e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4966 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2173358543987911e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4967 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2244069222106568e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4968 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2314779900225221e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4969 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2385490578343878e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4970 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2456201256462531e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4971 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2526911934581189e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4972 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2597622612699841e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4973 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2668333290818494e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4974 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2739043968937152e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4975 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2809754647055804e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4976 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2880465325174462e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4977 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.2951176003293114e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4978 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3021886681411772e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4979 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3092597359530425e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4980 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3163308037649077e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4981 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3234018715767735e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4982 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3304729393886388e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4746 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3446150750123698e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4747 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3587572106361008e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4748 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3728993462598318e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4749 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3870414818835628e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4750 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4011836175072938e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4751 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4153257531310244e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4752 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4294678887547554e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4753 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4436100243784864e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4754 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4577521600022174e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4755 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4718942956259484e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4756 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4860364312496794e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4757 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5001785668734104e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4983 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3375440072005045e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4984 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3446150750123698e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4985 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3516861428242355e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4986 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3587572106361008e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4987 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3658282784479661e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4988 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3728993462598318e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4989 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3799704140716971e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4990 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3870414818835628e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4991 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.3941125496954281e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4992 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4011836175072938e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4993 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4082546853191591e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4994 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4153257531310244e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4995 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4223968209428901e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4996 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4294678887547554e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4997 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4365389565666211e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4998 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4436100243784864e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4999 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4506810921903521e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5000 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4577521600022174e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5001 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4648232278140831e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5002 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4718942956259484e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5003 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4789653634378137e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5004 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4860364312496794e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5005 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.4931074990615447e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5006 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5001785668734104e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +4758 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5143207024971415e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4759 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5284628381208720e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4760 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5426049737446030e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4761 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5567471093683340e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4762 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5708892449920651e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4763 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5850313806157961e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4764 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5991735162395271e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4765 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6133156518632581e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4766 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6274577874869887e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4767 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6415999231107197e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4768 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6557420587344507e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +5007 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5072496346852757e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5008 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5143207024971415e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5009 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5213917703090067e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5010 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5284628381208720e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5011 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5355339059327378e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5012 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5426049737446030e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5013 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5496760415564688e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5014 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5567471093683340e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5015 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5638181771801998e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5016 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5708892449920651e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5017 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5779603128039303e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5018 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5850313806157961e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5019 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5921024484276614e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5020 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.5991735162395271e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5021 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6062445840513924e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5022 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6133156518632581e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5023 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6203867196751234e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5024 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6274577874869887e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5025 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6345288552988544e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5026 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6415999231107197e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5027 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6486709909225854e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5028 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6557420587344507e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5029 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6628131265463164e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4769 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6698841943581817e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4770 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6840263299819127e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4771 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6981684656056437e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4772 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7123106012293747e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4773 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7264527368531053e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4774 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7405948724768363e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4775 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7547370081005673e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4776 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7688791437242983e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4777 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7830212793480293e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4778 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7971634149717604e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4779 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8113055505954914e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4780 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8254476862192224e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +5030 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6698841943581817e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5031 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6769552621700470e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5032 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6840263299819127e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5033 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6910973977937780e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5034 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.6981684656056437e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5035 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7052395334175090e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5036 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7123106012293747e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5037 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7193816690412400e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5038 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7264527368531053e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5039 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7335238046649710e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5040 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7405948724768363e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5041 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7476659402887020e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5042 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7547370081005673e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5043 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7618080759124330e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5044 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7688791437242983e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5045 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7759502115361636e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5046 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7830212793480293e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5047 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7900923471598946e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5048 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.7971634149717604e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5049 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8042344827836256e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5050 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8113055505954914e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5051 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8183766184073566e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5052 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8254476862192224e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5053 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8325187540310877e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +4621 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.8418142033588119e+00 0.0000000000000000e+00 0 0 0 +4622 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.8347431355469466e+00 0.0000000000000000e+00 0 0 0 +4623 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.8418142033588119e+00 0.0000000000000000e+00 0 0 0 +4624 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.8559563389825433e+00 0.0000000000000000e+00 0 0 0 +4625 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.8488852711706780e+00 0.0000000000000000e+00 0 0 0 +4626 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.8559563389825433e+00 0.0000000000000000e+00 0 0 0 +4627 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.8700984746062739e+00 0.0000000000000000e+00 0 0 0 +4628 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.8630274067944086e+00 0.0000000000000000e+00 0 0 0 +4629 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.8700984746062739e+00 0.0000000000000000e+00 0 0 0 +4630 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.8842406102300053e+00 0.0000000000000000e+00 0 0 0 +4631 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.8771695424181392e+00 0.0000000000000000e+00 0 0 0 +4632 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.8842406102300053e+00 0.0000000000000000e+00 0 0 0 +4633 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.8983827458537359e+00 0.0000000000000000e+00 0 0 0 +4634 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.8913116780418706e+00 0.0000000000000000e+00 0 0 0 +4635 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.8983827458537359e+00 0.0000000000000000e+00 0 0 0 +4636 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.9125248814774674e+00 0.0000000000000000e+00 0 0 0 +4637 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.9054538136656012e+00 0.0000000000000000e+00 0 0 0 +4638 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.9125248814774674e+00 0.0000000000000000e+00 0 0 0 +4639 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.9266670171011979e+00 0.0000000000000000e+00 0 0 0 +4640 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.9195959492893326e+00 0.0000000000000000e+00 0 0 0 +4641 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.9266670171011979e+00 0.0000000000000000e+00 0 0 0 +4642 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.9408091527249285e+00 0.0000000000000000e+00 0 0 0 +4643 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.9337380849130632e+00 0.0000000000000000e+00 0 0 0 +4644 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.9408091527249285e+00 0.0000000000000000e+00 0 0 0 +4645 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.9549512883486599e+00 0.0000000000000000e+00 0 0 0 +4646 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.9478802205367947e+00 0.0000000000000000e+00 0 0 0 +4647 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.9549512883486599e+00 0.0000000000000000e+00 0 0 0 +4648 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.9690934239723905e+00 0.0000000000000000e+00 0 0 0 +4649 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.9620223561605252e+00 0.0000000000000000e+00 0 0 0 +4650 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.9690934239723905e+00 0.0000000000000000e+00 0 0 0 +4781 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8395898218429529e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4782 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8537319574666840e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4783 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8678740930904150e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4784 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8820162287141460e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4785 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8961583643378770e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4786 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9103004999616080e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4787 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9244426355853390e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4788 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9385847712090696e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4789 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9527269068328006e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4790 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9668690424565316e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4791 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +4792 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.9761644917842558e+00 0.0000000000000000e+00 0 0 0 +4793 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.9832355595961220e+00 0.0000000000000000e+00 0 0 0 +5054 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8395898218429529e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5055 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8466608896548187e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5056 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8537319574666840e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5057 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8608030252785497e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5058 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8678740930904150e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5059 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8749451609022807e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5060 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8820162287141460e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5061 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8890872965260113e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5062 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.8961583643378770e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5063 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9032294321497423e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5064 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9103004999616080e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5065 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9173715677734733e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5066 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9244426355853390e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5067 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9315137033972043e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5068 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9385847712090696e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5069 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9456558390209353e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5070 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9527269068328006e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5071 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9597979746446663e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5072 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9668690424565316e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5073 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9739401102683973e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5074 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9810111780802626e+00 7.9973776952198525e+00 0.0000000000000000e+00 0 0 0 +5075 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9880822458921279e+00 7.9903066274079872e+00 0.0000000000000000e+00 0 0 0 +5076 2 1.0000000000000000e+03 0.0000000000000000e+00 1.0000000000000000e+00 3.9951533137039936e+00 7.9973776952198525e+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 +4 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +16 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +17 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +18 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +19 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +21 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +22 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +23 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +24 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +284 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +285 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +286 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +287 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +288 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +289 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +290 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +291 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +292 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +293 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +294 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +295 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +296 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +427 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +428 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +429 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +430 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +431 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +432 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +433 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +434 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +435 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +436 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +437 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +438 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +439 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +440 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +441 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +442 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +443 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +444 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +445 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +446 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +447 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +448 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +449 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +450 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +451 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +452 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +453 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +454 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +455 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +456 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6001 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6002 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6003 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6004 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6005 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6006 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6007 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6050 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6051 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6052 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6053 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6054 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6055 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6056 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6057 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6058 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6059 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6060 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6061 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6062 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6063 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6148 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6149 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6150 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6151 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6152 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6153 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6154 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6155 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6156 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6157 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6158 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6159 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6160 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6161 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6246 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6247 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6248 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6249 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6250 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6251 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6252 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6253 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6254 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6255 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6256 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6257 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6258 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6259 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6344 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6345 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6346 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6347 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6348 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6349 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6350 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6351 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6352 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6353 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6354 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6355 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6356 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6357 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6442 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6443 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6444 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6445 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6446 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6447 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6448 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6449 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6450 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6451 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6452 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6453 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6454 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6455 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6540 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6541 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6542 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6543 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6544 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6545 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6546 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6547 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6548 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6549 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6550 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6551 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6552 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6553 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6639 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6641 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6643 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6645 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6647 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6649 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6651 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 +45 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +46 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +47 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +48 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +297 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +298 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +299 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +300 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +301 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +302 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +303 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +304 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +305 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +306 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +307 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +308 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6008 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6009 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6010 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6011 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6012 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6013 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6014 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6015 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6016 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6064 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6065 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6066 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6067 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6068 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6069 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6070 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6071 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6072 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6073 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6074 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6075 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6076 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6077 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6078 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6079 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6080 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6162 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6163 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6164 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6165 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6166 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6167 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6168 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6169 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6170 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6171 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6172 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6173 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6174 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6175 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6176 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6177 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6178 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6260 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6261 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6262 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6263 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6264 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6265 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6266 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6267 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6268 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6269 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6270 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6271 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6272 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6273 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6274 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6275 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6276 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6358 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6359 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6360 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6361 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6362 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6363 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6364 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6365 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6366 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6367 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6368 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6369 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6370 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6371 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6372 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6373 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6374 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6456 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6457 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6458 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6459 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6460 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6461 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6462 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6463 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6464 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6465 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6466 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6467 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6468 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6469 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6470 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6471 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6472 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6554 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6555 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6556 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6557 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6558 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6559 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6560 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6561 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6562 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6563 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6564 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6565 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6566 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6567 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6568 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6569 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6570 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6653 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6655 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6657 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6659 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6661 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6663 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6665 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6667 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +49 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +50 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +51 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +52 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +53 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +54 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +55 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +56 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +57 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +58 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +59 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +60 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +61 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +62 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +63 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +64 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +65 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +66 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +67 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +68 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +69 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +70 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +71 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +309 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +310 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +311 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +312 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +313 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +314 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +315 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +316 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +317 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +318 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +319 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +320 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6017 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6018 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6019 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6020 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6021 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6022 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6023 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6024 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6081 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6082 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6083 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6084 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6085 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6086 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6087 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6088 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6089 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6090 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6091 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6092 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6093 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6094 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6095 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6096 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6097 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6179 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6180 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6181 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6182 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6183 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6184 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6185 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6186 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6187 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6188 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6189 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6190 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6191 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6192 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6193 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6194 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6195 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6277 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6278 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6279 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6280 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6281 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6282 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6283 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6284 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6285 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6286 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6287 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6288 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6289 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6290 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6291 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6292 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6293 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6375 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6376 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6377 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6378 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6379 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6380 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6381 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6382 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6383 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6384 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6385 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6386 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6387 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6388 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6389 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6390 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6391 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6473 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6474 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6475 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6476 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6477 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6478 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6479 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6480 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6481 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6482 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6483 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6484 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6485 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6486 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6487 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6488 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6489 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6571 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6572 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6573 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6574 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6575 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6576 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6577 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6578 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6579 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6580 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6581 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6582 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6583 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6584 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6585 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6586 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6587 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6669 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6671 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6673 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6675 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6677 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6679 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6681 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6683 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6685 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +72 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +73 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +74 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +75 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +76 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +77 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +78 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +79 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +80 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +81 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +82 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +83 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +84 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +85 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +86 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +87 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +88 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +89 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +90 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +91 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +92 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +93 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +94 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +95 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +321 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +322 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +323 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +324 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +325 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +326 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +327 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +328 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +329 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +330 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +331 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +332 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6025 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6026 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6027 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6028 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6029 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6030 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6031 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6032 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6098 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6099 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6100 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6101 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6102 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6103 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6104 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6105 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6106 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6107 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6108 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6109 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6110 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6111 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6112 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6113 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6196 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6197 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6198 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6199 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6200 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6201 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6202 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6203 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6204 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6205 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6206 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6207 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6208 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6209 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6210 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6211 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6294 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6295 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6296 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6297 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6298 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6299 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6300 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6301 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6302 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6303 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6304 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6305 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6306 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6307 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6308 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6309 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6392 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6393 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6394 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6395 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6396 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6397 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6398 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6399 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6400 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6401 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6402 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6403 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6404 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6405 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6406 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6407 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6490 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6491 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6492 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6493 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6494 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6495 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6496 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6497 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6498 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6499 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6500 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6501 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6502 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6503 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6504 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6505 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6588 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6589 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6590 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6591 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6592 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6593 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6594 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6595 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6596 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6597 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6598 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6599 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6600 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6601 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6602 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6603 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6687 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6689 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6691 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6693 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6695 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6697 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6699 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6701 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +96 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +97 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +98 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +99 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +100 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +101 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +102 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +103 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +104 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +105 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +106 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +107 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +108 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +109 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +110 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +111 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +112 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +113 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +114 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +115 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +116 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +117 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +118 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +333 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +334 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +335 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +336 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +337 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +338 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +339 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +340 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +341 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +342 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +343 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6033 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6034 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6035 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6036 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6037 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6038 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6039 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6040 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6041 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6114 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6115 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6116 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6117 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6118 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6119 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6120 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6121 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6122 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6123 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6124 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6125 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6126 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6127 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6128 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6129 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6130 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6212 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6213 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6214 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6215 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6216 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6217 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6218 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6219 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6220 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6221 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6222 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6223 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6224 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6225 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6226 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6227 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6228 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6310 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6311 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6312 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6313 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6314 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6315 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6316 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6317 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6318 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6319 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6320 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6321 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6322 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6323 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6324 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6325 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6326 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6408 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6409 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6410 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6411 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6412 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6413 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6414 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6415 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6416 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6417 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6418 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6419 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6420 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6421 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6422 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6423 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6424 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6506 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6507 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6508 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6509 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6510 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6511 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6512 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6513 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6514 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6515 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6516 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6517 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6518 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6519 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6520 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6521 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6522 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6604 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6605 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6606 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6607 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6608 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6609 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6610 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6611 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6612 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6613 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6614 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6615 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6616 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6617 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6618 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6619 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6620 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6703 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6705 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6707 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6709 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6711 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6713 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6715 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6717 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +119 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +120 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +121 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +122 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +123 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +124 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +125 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +126 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +127 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +128 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +129 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +130 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +131 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +132 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +133 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +134 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +135 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +136 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +137 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +138 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +139 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +140 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +141 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +142 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +344 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +345 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +346 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +347 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +348 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +349 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +350 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +351 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +352 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +353 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +354 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +355 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6042 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6043 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6044 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6045 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6046 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6047 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6048 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6049 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6131 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6132 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6133 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6134 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6135 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6136 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6137 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6138 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6139 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6140 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6141 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6142 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6143 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6144 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6145 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6146 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6147 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6229 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6230 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6231 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6232 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6233 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6234 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6235 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6236 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6237 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6238 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6239 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6240 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6241 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6242 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6243 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6244 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6245 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6327 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6328 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6329 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6330 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6331 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6332 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6333 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6334 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6335 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6336 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6337 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6338 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6339 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6340 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6341 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6342 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6343 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6425 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6426 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6427 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6428 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6429 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6430 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6431 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6432 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6433 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6434 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6435 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6436 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6437 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6438 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6439 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6440 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6441 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6523 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6524 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6525 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6526 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6527 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6528 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6529 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6530 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6531 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6532 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6533 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6534 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6535 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6536 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6537 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6538 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6539 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6621 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6622 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6623 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6624 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6625 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6626 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6627 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6628 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6629 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6630 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6631 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6632 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6633 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6634 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6635 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6636 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6637 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6719 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6721 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6723 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6725 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6727 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6729 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6731 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6733 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6735 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +143 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +144 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +145 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +146 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +147 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +148 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +149 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +150 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +151 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +152 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +153 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +154 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +155 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +156 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +157 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +158 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +159 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +160 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +161 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +162 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +163 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +164 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +165 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +166 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +356 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +357 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +358 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +359 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +360 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +361 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +362 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +363 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +364 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +365 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +366 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +367 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +167 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +168 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +169 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +170 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +171 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +172 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +173 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +174 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +175 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +176 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +177 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +178 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +179 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +180 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +181 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +182 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +183 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +184 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +185 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +186 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +187 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +188 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +189 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +368 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +369 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +370 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +371 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +372 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +373 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +374 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +375 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +376 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +377 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +378 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +379 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +190 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +191 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +192 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +193 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +194 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +195 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +196 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +197 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +198 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +199 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +200 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +201 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +202 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +203 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +204 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +205 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +206 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +207 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +208 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +209 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +210 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +211 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +212 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +213 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +380 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +381 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +382 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +383 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +384 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +385 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +386 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +387 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +388 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +389 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +390 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +391 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +214 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +215 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +216 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +217 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +218 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +219 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +220 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +221 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +222 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +223 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +224 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +225 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +226 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +227 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +228 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +229 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +230 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +231 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +232 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +233 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +234 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +235 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +236 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +392 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +393 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +394 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +395 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +396 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +397 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +398 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +399 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +400 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +401 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +402 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +237 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +238 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +239 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +240 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +241 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +242 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +243 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +244 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +245 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +246 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +247 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +248 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +249 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +250 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +251 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +252 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +253 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +254 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +255 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +256 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +257 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +258 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +259 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +260 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +403 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +404 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +405 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +406 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +407 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +408 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +409 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +410 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +411 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +412 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +413 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +414 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +261 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +262 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +263 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +264 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +265 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +266 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +267 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +268 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +269 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +270 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +271 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +272 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +273 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +274 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +275 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +276 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +277 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +278 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +279 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +280 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +281 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +282 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +283 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +415 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +416 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +417 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +418 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +419 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +420 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +421 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +422 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +423 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +424 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +425 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +426 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +457 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +458 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +459 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +460 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +461 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +462 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +463 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +464 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +465 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +466 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +467 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +468 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +469 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +470 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +471 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +472 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +473 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +474 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +475 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +476 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +477 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +478 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +479 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +480 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +481 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +482 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +483 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +484 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +485 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +486 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +487 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +488 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +489 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +490 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +491 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +492 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6638 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6640 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6642 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6644 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6646 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6648 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6650 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6736 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6737 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6738 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6739 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6740 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6741 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6742 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6743 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6744 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6745 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6746 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6747 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6748 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6749 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6834 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6835 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6836 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6837 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6838 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6839 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6840 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6841 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6842 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6843 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6844 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6845 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6846 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6847 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6932 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6933 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6934 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6935 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6936 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6937 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6938 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6939 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6940 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6941 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6942 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6943 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6944 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6945 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7030 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7031 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7032 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7033 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7034 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7035 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7036 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7037 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7038 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7039 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7040 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7041 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7042 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7043 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7128 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7129 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7130 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7131 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7132 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7133 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7134 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7135 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7136 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7137 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7138 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7139 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7140 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7141 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7226 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7227 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7228 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7229 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7230 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7231 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7232 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7233 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7234 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7235 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7236 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7237 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7238 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7239 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7324 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7325 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7326 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7327 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7328 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7329 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7330 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7331 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7332 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7333 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7334 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7335 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7336 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7337 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7422 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7423 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7424 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7425 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7426 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7427 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7428 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7429 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7430 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7431 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7432 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7433 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7434 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7435 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6652 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6654 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6656 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6658 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6660 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6662 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6664 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6666 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6668 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6750 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6751 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6752 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6753 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6754 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6755 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6756 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6757 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6758 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6759 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6760 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6761 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6762 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6763 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6764 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6765 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6766 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6848 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6849 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6850 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6851 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6852 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6853 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6854 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6855 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6856 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6857 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6858 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6859 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6860 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6861 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6862 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6863 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6864 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6946 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6947 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6948 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6949 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6950 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6951 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6952 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6953 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6954 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6955 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6956 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6957 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6958 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6959 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6960 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6961 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6962 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7044 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7045 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7046 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7047 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7048 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7049 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7050 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7051 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7052 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7053 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7054 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7055 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7056 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7057 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7058 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7059 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7060 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7142 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7143 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7144 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7145 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7146 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7147 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7148 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7149 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7150 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7151 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7152 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7153 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7154 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7155 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7156 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7157 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7158 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7240 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7241 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7242 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7243 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7244 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7245 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7246 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7247 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7248 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7249 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7250 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7251 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7252 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7253 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7254 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7255 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7256 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7338 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7339 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7340 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7341 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7342 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7343 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7344 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7345 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7346 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7347 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7348 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7349 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7350 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7351 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7352 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7353 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7354 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7436 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7437 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7438 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7439 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7440 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7441 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7442 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7443 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7444 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7445 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7446 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7447 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7448 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7449 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7450 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7451 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7452 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6670 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6672 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6674 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6676 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6678 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6680 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6682 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6684 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6767 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6768 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6769 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6770 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6771 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6772 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6773 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6774 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6775 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6776 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6777 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6778 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6779 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6780 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6781 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6782 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6783 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6865 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6866 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6867 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6868 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6869 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6870 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6871 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6872 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6873 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6874 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6875 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6876 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6877 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6878 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6879 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6880 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6881 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6963 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6964 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6965 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6966 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6967 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6968 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6969 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6970 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6971 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6972 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6973 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6974 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6975 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6976 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6977 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6978 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6979 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7061 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7062 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7063 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7064 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7065 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7066 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7067 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7068 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7069 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7070 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7071 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7072 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7073 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7074 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7075 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7076 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7077 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7159 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7160 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7161 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7162 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7163 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7164 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7165 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7166 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7167 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7168 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7169 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7170 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7171 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7172 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7173 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7174 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7175 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7257 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7258 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7259 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7260 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7261 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7262 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7263 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7264 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7265 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7266 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7267 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7268 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7269 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7270 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7271 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7272 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7273 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7355 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7356 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7357 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7358 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7359 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7360 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7361 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7362 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7363 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7364 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7365 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7366 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7367 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7368 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7369 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7370 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7371 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7453 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7454 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7455 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7456 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7457 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7458 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7459 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7460 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7461 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7462 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7463 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7464 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7465 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7466 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7467 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7468 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7469 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6686 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6688 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6690 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6692 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6694 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6696 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6698 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6700 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6784 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6785 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6786 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6787 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6788 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6789 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6790 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6791 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6792 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6793 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6794 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6795 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6796 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6797 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6798 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6799 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6882 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6883 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6884 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6885 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6886 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6887 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6888 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6889 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6890 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6891 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6892 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6893 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6894 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6895 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6896 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6897 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6980 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6981 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6982 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6983 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6984 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6985 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6986 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6987 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6988 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6989 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6990 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6991 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6992 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6993 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6994 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6995 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7078 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7079 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7080 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7081 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7082 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7083 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7084 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7085 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7086 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7087 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7088 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7089 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7090 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7091 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7092 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7093 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7176 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7177 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7178 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7179 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7180 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7181 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7182 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7183 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7184 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7185 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7186 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7187 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7188 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7189 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7190 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7191 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7274 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7275 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7276 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7277 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7278 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7279 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7280 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7281 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7282 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7283 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7284 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7285 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7286 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7287 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7288 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7289 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7372 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7373 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7374 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7375 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7376 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7377 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7378 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7379 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7380 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7381 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7382 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7383 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7384 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7385 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7386 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7387 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7470 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7471 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7472 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7473 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7474 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7475 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7476 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7477 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7478 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7479 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7480 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7481 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7482 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7483 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7484 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7485 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6702 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6704 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6706 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6708 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6710 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6712 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6714 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6716 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6718 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6800 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6801 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6802 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6803 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6804 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6805 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6806 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6807 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6808 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6809 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6810 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6811 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6812 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6813 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6814 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6815 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6816 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6898 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6899 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6900 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6901 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6902 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6903 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6904 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6905 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6906 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6907 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6908 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6909 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6910 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6911 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6912 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6913 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6914 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6996 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6997 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6998 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6999 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7000 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7001 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7002 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7003 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7004 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7005 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7006 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7007 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7008 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7009 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7010 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7011 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7012 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7094 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7095 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7096 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7097 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7098 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7099 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7100 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7101 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7102 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7103 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7104 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7105 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7106 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7107 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7108 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7109 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7110 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7192 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7193 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7194 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7195 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7196 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7197 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7198 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7199 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7200 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7201 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7202 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7203 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7204 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7205 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7206 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7207 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7208 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7290 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7291 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7292 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7293 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7294 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7295 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7296 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7297 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7298 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7299 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7300 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7301 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7302 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7303 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7304 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7305 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7306 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7388 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7389 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7390 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7391 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7392 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7393 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7394 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7395 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7396 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7397 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7398 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7399 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7400 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7401 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7402 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7403 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7404 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7486 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7487 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7488 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7489 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7490 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7491 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7492 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7493 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7494 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7495 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7496 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7497 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7498 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7499 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7500 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7501 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7502 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6720 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6722 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6724 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6726 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6728 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6730 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6732 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6734 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6817 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6818 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6819 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6820 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6821 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6822 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6823 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6824 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6825 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6826 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6827 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6828 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6829 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6830 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6831 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6832 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6833 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6915 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6916 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6917 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6918 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6919 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6920 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6921 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6922 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6923 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6924 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6925 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6926 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6927 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6928 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6929 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6930 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6931 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7013 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7014 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7015 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7016 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7017 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7018 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7019 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7020 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7021 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7022 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7023 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7024 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7025 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7026 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7027 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7028 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7029 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7111 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7112 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7113 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7114 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7115 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7116 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7117 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7118 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7119 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7120 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7121 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7122 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7123 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7124 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7125 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7126 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7127 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7209 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7210 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7211 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7212 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7213 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7214 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7215 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7216 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7217 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7218 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7219 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7220 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7221 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7222 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7223 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7224 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7225 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7307 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7308 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7309 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7310 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7311 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7312 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7313 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7314 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7315 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7316 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7317 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7318 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7319 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7320 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7321 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7322 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7323 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7405 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7406 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7407 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7408 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7409 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7410 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7411 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7412 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7413 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7414 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7415 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7416 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7417 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7418 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7419 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7420 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7421 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7503 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7504 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7505 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7506 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7507 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7508 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7509 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7510 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7511 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7512 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7513 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7514 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7515 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7516 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7517 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7518 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7519 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +493 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +494 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +495 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +496 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +497 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +498 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +499 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +500 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +501 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +502 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +503 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +504 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +505 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +506 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +507 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +508 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +509 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +510 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +511 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +512 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +513 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +514 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +515 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +516 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +517 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +518 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +519 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +520 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +521 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +522 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +523 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +524 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +525 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +526 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +528 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7520 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7521 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7522 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7523 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7524 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7525 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7526 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7527 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7528 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7529 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7530 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7531 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7532 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7533 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7618 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7619 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7620 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7621 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7622 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7623 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7624 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7625 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7626 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7627 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7628 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7629 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7630 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7631 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7716 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7717 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7718 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7719 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7720 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7721 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7722 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7723 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7724 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7725 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7726 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7727 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7728 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7729 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7814 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7815 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7816 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7817 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7818 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7819 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7820 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7821 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7822 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7823 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7824 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7825 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7826 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7827 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7912 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7913 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7914 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7915 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7916 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7917 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7918 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7919 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7920 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7921 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7922 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7923 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7924 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7925 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8010 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8011 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8012 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8013 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8014 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8015 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8016 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8017 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8018 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8019 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8020 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8021 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8022 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8023 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8108 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8109 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8110 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8111 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8112 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8113 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8114 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8115 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8116 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8117 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8118 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8119 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8120 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8121 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8206 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8207 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8208 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8209 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8210 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8211 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8212 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8213 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8214 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8215 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8216 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8217 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8218 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8219 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8305 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8307 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8309 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8311 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8313 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8315 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8317 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7534 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7535 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7536 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7537 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7538 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7539 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7540 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7541 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7542 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7543 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7544 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7545 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7546 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7547 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7548 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7549 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7550 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7632 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7633 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7634 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7635 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7636 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7637 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7638 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7639 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7640 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7641 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7642 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7643 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7644 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7645 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7646 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7647 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7648 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7730 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7731 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7732 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7733 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7734 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7735 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7736 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7737 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7738 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7739 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7740 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7741 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7742 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7743 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7744 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7745 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7746 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7828 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7829 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7830 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7831 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7832 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7833 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7834 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7835 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7836 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7837 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7838 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7839 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7840 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7841 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7842 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7843 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7844 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7926 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7927 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7928 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7929 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7930 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7931 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7932 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7933 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7934 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7935 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7936 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7937 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7938 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7939 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7940 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7941 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7942 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8024 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8025 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8026 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8027 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8028 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8029 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8030 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8031 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8032 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8033 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8034 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8035 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8036 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8037 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8038 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8039 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8040 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8122 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8123 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8124 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8125 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8126 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8127 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8128 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8129 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8130 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8131 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8132 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8133 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8134 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8135 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8136 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8137 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8138 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8220 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8221 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8222 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8223 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8224 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8225 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8226 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8227 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8228 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8229 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8230 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8231 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8232 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8233 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8234 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8235 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8236 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8319 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8321 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8323 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8325 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8327 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8329 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8331 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8333 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7551 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7552 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7553 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7554 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7555 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7556 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7557 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7558 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7559 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7560 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7561 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7562 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7563 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7564 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7565 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7566 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7567 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7649 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7650 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7651 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7652 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7653 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7654 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7655 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7656 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7657 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7658 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7659 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7660 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7661 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7662 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7663 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7664 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7665 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7747 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7748 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7749 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7750 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7751 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7752 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7753 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7754 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7755 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7756 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7757 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7758 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7759 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7760 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7761 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7762 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7763 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7845 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7846 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7847 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7848 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7849 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7850 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7851 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7852 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7853 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7854 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7855 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7856 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7857 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7858 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7859 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7860 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7861 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7943 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7944 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7945 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7946 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7947 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7948 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7949 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7950 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7951 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7952 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7953 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7954 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7955 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7956 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7957 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7958 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7959 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8041 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8042 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8043 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8044 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8045 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8046 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8047 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8048 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8049 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8050 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8051 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8052 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8053 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8054 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8055 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8056 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8057 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8139 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8140 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8141 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8142 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8143 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8144 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8145 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8146 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8147 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8148 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8149 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8150 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8151 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8152 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8153 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8154 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8155 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8237 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8238 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8239 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8240 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8241 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8242 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8243 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8244 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8245 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8246 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8247 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8248 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8249 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8250 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8251 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8252 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8253 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8335 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8337 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8339 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8341 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8343 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8345 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8347 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8349 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8351 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7568 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7569 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7570 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7571 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7572 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7573 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7574 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7575 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7576 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7577 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7578 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7579 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7580 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7581 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7582 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7583 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7666 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7667 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7668 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7669 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7670 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7671 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7672 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7673 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7674 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7675 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7676 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7677 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7678 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7679 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7680 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7681 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7764 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7765 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7766 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7767 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7768 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7769 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7770 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7771 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7772 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7773 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7774 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7775 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7776 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7777 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7778 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7779 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7862 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7863 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7864 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7865 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7866 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7867 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7868 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7869 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7870 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7871 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7872 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7873 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7874 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7875 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7876 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7877 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7960 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7961 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7962 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7963 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7964 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7965 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7966 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7967 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7968 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7969 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7970 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7971 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7972 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7973 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7974 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7975 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8058 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8059 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8060 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8061 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8062 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8063 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8064 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8065 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8066 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8067 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8068 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8069 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8070 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8071 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8072 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8073 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8156 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8157 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8158 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8159 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8160 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8161 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8162 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8163 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8164 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8165 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8166 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8167 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8168 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8169 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8170 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8171 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8254 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8255 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8256 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8257 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8258 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8259 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8260 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8261 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8262 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8263 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8264 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8265 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8266 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8267 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8268 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8269 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8353 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8355 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8357 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8359 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8361 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8363 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8365 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8367 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7584 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7585 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7586 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7587 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7588 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7589 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7590 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7591 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7592 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7593 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7594 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7595 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7596 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7597 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7598 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7599 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7600 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7682 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7683 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7684 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7685 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7686 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7687 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7688 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7689 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7690 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7691 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7692 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7693 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7694 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7695 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7696 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7697 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7698 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7780 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7781 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7782 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7783 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7784 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7785 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7786 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7787 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7788 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7789 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7790 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7791 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7792 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7793 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7794 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7795 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7796 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7878 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7879 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7880 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7881 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7882 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7883 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7884 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7885 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7886 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7887 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7888 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7889 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7890 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7891 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7892 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7893 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7894 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7976 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7977 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7978 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7979 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7980 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7981 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7982 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7983 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7984 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7985 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7986 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7987 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7988 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7989 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7990 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7991 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7992 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8074 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8075 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8076 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8077 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8078 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8079 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8080 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8081 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8082 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8083 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8084 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8085 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8086 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8087 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8088 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8089 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8090 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8172 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8173 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8174 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8175 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8176 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8177 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8178 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8179 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8180 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8181 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8182 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8183 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8184 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8185 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8186 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8187 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8188 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8270 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8271 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8272 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8273 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8274 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8275 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8276 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8277 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8278 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8279 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8280 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8281 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8282 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8283 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8284 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8285 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8286 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8369 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8371 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8373 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8375 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8377 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8379 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8381 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8383 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7601 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7602 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7603 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7604 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7605 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7606 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7607 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7608 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7609 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7610 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7611 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7612 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7613 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7614 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7615 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7616 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7617 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7699 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7700 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7701 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7702 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7703 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7704 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7705 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7706 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7707 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7708 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7709 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7710 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7711 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7712 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7713 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7714 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7715 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7797 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7798 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7799 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7800 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7801 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7802 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7803 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7804 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7805 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7806 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7807 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7808 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7809 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7810 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7811 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7812 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7813 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7895 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7896 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7897 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7898 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7899 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7900 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7901 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7902 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7903 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7904 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7905 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7906 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7907 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7908 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7909 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7910 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7911 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7993 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7994 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7995 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7996 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7997 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7998 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7999 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8000 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8001 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8002 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8003 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8004 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8005 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8006 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8007 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8008 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8009 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8091 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8092 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8093 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8094 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8095 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8096 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8097 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8098 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8099 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8100 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8101 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8102 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8103 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8104 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8105 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8106 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8107 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8189 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8190 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8191 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8192 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8193 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8194 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8195 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8196 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8197 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8198 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8199 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8200 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8201 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8202 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8203 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8204 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8205 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8287 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8288 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8289 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8290 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8291 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8292 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8293 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8294 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8295 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8296 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8297 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8298 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8299 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8300 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8301 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8302 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8303 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8385 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8387 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8389 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8391 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8393 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8395 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8397 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8399 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8401 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +527 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +529 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +530 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +531 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +532 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +533 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +534 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +535 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +536 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +537 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +538 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +539 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +540 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +541 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +542 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +543 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +544 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +545 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +546 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +547 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +548 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +549 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +550 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +551 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +552 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +553 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +554 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +555 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +556 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +557 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +558 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +559 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +560 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +561 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +562 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +564 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8304 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8306 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8308 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8310 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8312 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8314 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8316 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8402 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8403 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8404 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8405 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8406 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8407 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8408 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8409 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8410 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8411 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8412 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8413 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8414 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8415 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8500 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8501 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8502 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8503 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8504 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8505 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8506 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8507 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8508 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8509 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8510 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8511 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8512 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8513 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8598 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8599 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8600 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8601 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8602 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8603 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8604 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8605 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8606 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8607 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8608 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8609 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8610 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8611 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8696 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8697 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8698 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8699 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8700 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8701 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8702 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8703 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8704 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8705 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8706 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8707 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8708 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8709 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8794 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8795 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8796 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8797 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8798 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8799 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8800 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8801 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8802 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8803 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8804 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8805 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8806 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8807 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8892 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8893 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8894 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8895 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8896 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8897 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8898 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8899 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8900 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8901 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8902 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8903 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8904 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8905 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8990 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8991 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8992 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8993 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8994 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8995 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8996 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8997 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8998 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8999 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9000 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9001 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9002 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9003 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9089 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9091 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9093 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9095 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9097 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9099 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9101 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8318 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8320 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8322 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8324 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8326 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8328 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8330 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8332 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8334 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8416 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8417 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8418 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8419 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8420 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8421 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8422 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8423 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8424 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8425 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8426 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8427 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8428 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8429 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8430 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8431 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8432 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8514 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8515 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8516 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8517 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8518 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8519 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8520 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8521 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8522 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8523 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8524 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8525 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8526 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8527 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8528 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8529 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8530 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8612 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8613 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8614 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8615 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8616 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8617 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8618 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8619 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8620 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8621 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8622 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8623 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8624 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8625 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8626 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8627 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8628 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8710 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8711 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8712 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8713 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8714 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8715 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8716 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8717 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8718 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8719 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8720 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8721 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8722 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8723 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8724 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8725 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8726 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8808 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8809 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8810 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8811 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8812 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8813 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8814 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8815 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8816 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8817 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8818 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8819 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8820 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8821 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8822 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8823 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8824 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8906 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8907 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8908 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8909 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8910 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8911 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8912 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8913 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8914 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8915 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8916 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8917 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8918 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8919 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8920 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8921 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8922 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9004 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9005 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9006 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9007 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9008 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9009 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9010 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9011 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9012 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9013 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9014 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9015 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9016 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9017 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9018 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9019 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9020 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9103 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9105 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9107 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9109 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9111 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9113 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9115 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9117 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8336 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8338 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8340 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8342 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8344 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8346 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8348 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8350 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8433 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8434 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8435 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8436 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8437 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8438 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8439 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8440 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8441 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8442 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8443 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8444 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8445 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8446 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8447 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8448 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8449 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8531 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8532 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8533 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8534 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8535 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8536 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8537 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8538 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8539 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8540 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8541 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8542 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8543 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8544 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8545 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8546 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8547 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8629 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8630 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8631 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8632 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8633 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8634 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8635 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8636 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8637 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8638 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8639 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8640 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8641 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8642 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8643 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8644 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8645 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8727 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8728 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8729 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8730 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8731 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8732 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8733 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8734 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8735 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8736 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8737 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8738 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8739 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8740 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8741 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8742 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8743 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8825 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8826 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8827 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8828 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8829 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8830 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8831 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8832 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8833 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8834 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8835 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8836 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8837 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8838 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8839 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8840 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8841 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8923 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8924 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8925 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8926 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8927 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8928 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8929 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8930 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8931 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8932 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8933 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8934 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8935 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8936 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8937 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8938 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8939 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9021 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9022 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9023 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9024 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9025 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9026 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9027 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9028 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9029 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9030 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9031 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9032 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9033 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9034 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9035 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9036 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9037 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9119 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9121 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9123 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9125 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9127 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9129 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9131 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9133 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9135 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8352 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8354 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8356 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8358 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8360 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8362 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8364 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8366 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8450 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8451 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8452 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8453 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8454 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8455 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8456 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8457 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8458 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8459 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8460 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8461 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8462 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8463 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8464 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8465 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8548 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8549 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8550 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8551 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8552 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8553 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8554 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8555 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8556 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8557 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8558 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8559 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8560 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8561 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8562 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8563 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8646 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8647 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8648 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8649 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8650 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8651 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8652 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8653 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8654 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8655 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8656 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8657 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8658 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8659 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8660 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8661 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8744 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8745 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8746 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8747 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8748 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8749 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8750 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8751 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8752 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8753 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8754 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8755 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8756 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8757 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8758 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8759 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8842 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8843 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8844 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8845 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8846 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8847 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8848 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8849 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8850 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8851 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8852 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8853 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8854 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8855 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8856 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8857 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8940 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8941 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8942 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8943 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8944 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8945 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8946 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8947 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8948 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8949 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8950 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8951 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8952 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8953 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8954 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8955 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9038 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9039 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9040 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9041 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9042 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9043 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9044 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9045 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9046 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9047 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9048 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9049 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9050 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9051 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9052 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9053 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9137 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9139 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9141 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9143 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9145 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9147 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9149 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9151 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8368 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8370 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8372 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8374 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8376 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8378 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8380 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8382 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8384 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8466 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8467 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8468 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8469 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8470 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8471 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8472 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8473 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8474 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8475 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8476 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8477 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8478 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8479 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8480 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8481 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8482 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8564 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8565 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8566 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8567 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8568 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8569 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8570 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8571 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8572 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8573 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8574 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8575 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8576 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8577 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8578 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8579 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8580 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8662 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8663 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8664 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8665 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8666 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8667 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8668 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8669 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8670 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8671 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8672 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8673 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8674 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8675 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8676 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8677 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8678 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8760 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8761 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8762 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8763 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8764 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8765 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8766 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8767 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8768 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8769 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8770 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8771 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8772 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8773 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8774 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8775 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8776 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8858 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8859 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8860 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8861 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8862 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8863 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8864 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8865 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8866 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8867 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8868 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8869 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8870 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8871 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8872 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8873 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8874 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8956 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8957 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8958 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8959 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8960 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8961 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8962 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8963 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8964 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8965 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8966 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8967 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8968 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8969 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8970 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8971 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8972 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9054 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9055 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9056 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9057 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9058 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9059 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9060 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9061 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9062 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9063 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9064 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9065 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9066 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9067 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9068 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9069 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9070 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9153 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9155 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9157 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9159 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9161 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9163 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9165 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9167 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8386 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8388 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8390 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8392 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8394 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8396 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8398 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8400 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8483 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8484 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8485 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8486 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8487 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8488 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8489 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8490 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8491 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8492 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8493 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8494 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8495 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8496 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8497 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8498 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8499 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8581 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8582 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8583 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8584 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8585 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8586 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8587 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8588 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8589 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8590 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8591 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8592 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8593 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8594 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8595 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8596 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8597 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8679 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8680 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8681 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8682 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8683 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8684 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8685 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8686 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8687 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8688 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8689 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8690 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8691 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8692 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8693 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8694 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8695 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8777 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8778 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8779 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8780 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8781 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8782 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8783 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8784 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8785 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8786 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8787 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8788 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8789 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8790 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8791 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8792 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8793 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8875 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8876 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8877 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8878 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8879 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8880 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8881 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8882 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8883 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8884 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8885 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8886 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8887 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8888 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8889 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8890 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8891 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8973 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8974 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8975 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8976 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8977 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8978 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8979 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8980 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8981 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8982 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8983 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8984 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8985 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8986 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8987 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8988 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8989 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9071 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9072 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9073 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9074 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9075 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9076 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9077 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9078 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9079 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9080 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9081 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9082 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9083 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9084 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9085 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9086 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9087 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9169 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9171 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9173 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9175 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9177 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9179 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9181 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9183 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9185 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +563 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +565 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +566 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +567 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +568 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +569 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +570 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +571 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +572 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +573 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +574 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +575 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +576 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +577 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +578 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +579 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +580 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +581 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +582 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +583 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +584 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +585 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +586 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +587 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +588 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +589 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +590 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +591 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +592 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +593 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +594 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +595 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +596 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +597 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9088 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9090 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9092 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9094 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9096 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9098 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9100 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9186 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9187 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9188 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9189 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9190 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9191 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9192 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9193 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9194 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9195 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9196 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9197 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9198 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9199 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9284 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9285 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9286 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9287 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9288 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9289 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9290 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9291 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9292 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9293 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9294 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9295 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9296 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9297 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9382 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9383 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9384 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9385 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9386 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9387 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9388 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9389 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9390 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9391 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9392 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9393 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9394 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9395 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9480 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9481 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9482 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9483 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9484 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9485 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9486 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9487 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9488 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9489 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9490 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9491 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9492 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9493 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9578 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9579 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9580 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9581 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9582 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9583 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9584 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9585 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9586 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9587 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9588 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9589 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9590 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9591 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9676 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9677 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9678 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9679 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9680 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9681 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9682 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9683 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9684 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9685 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9686 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9687 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9688 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9689 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9774 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9775 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9776 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9777 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9778 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9779 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9780 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9781 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9782 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9783 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9784 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9785 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9786 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9787 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9872 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9873 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9874 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9875 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9876 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9877 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9878 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9879 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9880 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9881 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9882 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9883 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9884 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9885 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9102 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9104 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9106 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9108 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9110 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9112 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9114 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9116 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9118 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9200 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9201 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9202 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9203 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9204 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9205 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9206 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9207 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9208 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9209 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9210 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9211 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9212 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9213 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9214 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9215 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9216 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9298 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9299 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9300 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9301 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9302 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9303 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9304 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9305 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9306 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9307 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9308 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9309 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9310 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9311 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9312 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9313 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9314 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9396 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9397 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9398 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9399 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9400 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9401 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9402 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9403 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9404 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9405 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9406 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9407 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9408 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9409 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9410 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9411 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9412 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9494 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9495 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9496 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9497 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9498 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9499 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9500 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9501 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9502 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9503 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9504 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9505 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9506 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9507 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9508 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9509 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9510 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9592 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9593 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9594 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9595 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9596 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9597 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9598 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9599 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9600 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9601 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9602 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9603 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9604 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9605 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9606 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9607 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9608 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9690 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9691 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9692 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9693 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9694 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9695 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9696 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9697 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9698 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9699 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9700 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9701 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9702 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9703 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9704 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9705 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9706 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9788 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9789 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9790 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9791 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9792 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9793 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9794 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9795 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9796 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9797 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9798 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9799 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9800 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9801 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9802 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9803 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9804 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9886 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9887 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9888 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9889 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9890 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9891 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9892 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9893 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9894 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9895 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9896 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9897 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9898 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9899 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9900 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9901 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9902 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9120 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9122 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9124 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9126 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9128 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9130 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9132 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9134 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9217 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9218 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9219 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9220 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9221 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9222 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9223 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9224 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9225 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9226 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9227 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9228 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9229 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9230 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9231 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9232 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9233 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9315 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9316 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9317 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9318 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9319 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9320 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9321 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9322 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9323 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9324 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9325 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9326 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9327 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9328 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9329 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9330 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9331 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9413 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9414 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9415 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9416 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9417 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9418 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9419 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9420 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9421 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9422 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9423 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9424 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9425 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9426 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9427 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9428 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9429 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9511 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9512 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9513 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9514 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9515 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9516 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9517 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9518 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9519 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9520 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9521 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9522 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9523 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9524 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9525 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9526 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9527 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9609 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9610 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9611 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9612 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9613 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9614 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9615 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9616 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9617 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9618 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9619 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9620 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9621 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9622 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9623 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9624 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9625 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9707 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9708 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9709 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9710 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9711 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9712 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9713 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9714 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9715 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9716 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9717 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9718 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9719 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9720 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9721 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9722 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9723 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9805 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9806 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9807 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9808 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9809 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9810 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9811 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9812 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9813 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9814 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9815 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9816 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9817 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9818 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9819 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9820 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9821 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9903 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9904 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9905 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9906 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9907 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9908 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9909 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9910 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9911 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9912 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9913 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9914 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9915 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9916 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9917 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9918 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9919 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9136 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9138 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9140 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9142 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9144 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9146 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9148 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9150 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9234 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9235 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9236 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9237 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9238 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9239 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9240 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9241 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9242 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9243 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9244 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9245 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9246 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9247 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9248 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9249 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9332 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9333 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9334 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9335 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9336 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9337 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9338 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9339 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9340 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9341 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9342 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9343 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9344 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9345 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9346 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9347 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9430 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9431 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9432 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9433 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9434 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9435 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9436 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9437 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9438 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9439 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9440 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9441 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9442 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9443 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9444 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9445 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9528 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9529 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9530 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9531 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9532 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9533 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9534 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9535 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9536 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9537 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9538 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9539 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9540 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9541 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9542 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9543 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9626 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9627 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9628 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9629 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9630 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9631 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9632 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9633 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9634 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9635 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9636 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9637 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9638 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9639 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9640 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9641 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9724 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9725 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9726 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9727 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9728 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9729 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9730 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9731 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9732 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9733 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9734 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9735 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9736 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9737 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9738 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9739 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9822 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9823 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9824 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9825 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9826 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9827 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9828 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9829 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9830 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9831 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9832 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9833 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9834 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9835 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9836 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9837 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9920 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9921 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9922 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9923 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9924 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9925 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9926 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9927 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9928 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9929 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9930 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9931 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9932 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9933 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9934 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9935 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9152 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9154 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9156 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9158 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9160 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9162 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9164 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9166 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9168 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9250 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9251 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9252 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9253 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9254 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9255 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9256 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9257 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9258 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9259 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9260 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9261 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9262 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9263 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9264 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9265 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9266 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9348 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9349 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9350 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9351 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9352 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9353 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9354 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9355 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9356 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9357 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9358 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9359 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9360 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9361 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9362 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9363 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9364 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9446 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9447 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9448 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9449 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9450 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9451 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9452 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9453 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9454 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9455 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9456 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9457 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9458 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9459 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9460 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9461 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9462 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9544 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9545 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9546 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9547 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9548 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9549 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9550 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9551 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9552 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9553 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9554 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9555 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9556 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9557 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9558 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9559 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9560 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9642 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9643 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9644 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9645 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9646 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9647 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9648 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9649 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9650 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9651 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9652 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9653 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9654 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9655 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9656 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9657 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9658 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9740 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9741 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9742 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9743 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9744 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9745 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9746 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9747 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9748 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9749 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9750 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9751 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9752 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9753 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9754 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9755 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9756 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9838 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9839 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9840 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9841 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9842 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9843 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9844 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9845 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9846 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9847 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9848 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9849 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9850 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9851 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9852 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9853 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9854 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9936 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9937 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9938 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9939 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9940 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9941 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9942 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9943 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9944 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9945 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9946 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9947 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9948 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9949 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9950 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9951 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9952 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9170 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9172 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9174 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9176 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9178 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9180 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9182 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9184 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9267 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9268 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9269 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9270 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9271 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9272 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9273 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9274 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9275 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9276 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9277 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9278 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9279 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9280 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9281 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9282 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9283 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9365 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9366 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9367 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9368 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9369 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9370 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9371 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9372 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9373 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9374 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9375 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9376 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9377 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9378 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9379 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9380 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9381 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9463 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9464 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9465 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9466 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9467 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9468 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9469 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9470 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9471 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9472 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9473 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9474 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9475 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9476 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9477 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9478 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9479 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9561 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9562 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9563 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9564 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9565 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9566 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9567 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9568 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9569 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9570 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9571 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9572 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9573 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9574 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9575 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9576 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9577 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9659 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9660 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9661 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9662 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9663 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9664 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9665 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9666 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9667 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9668 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9669 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9670 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9671 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9672 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9673 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9674 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9675 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9757 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9758 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9759 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9760 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9761 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9762 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9763 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9764 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9765 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9766 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9767 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9768 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9769 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9770 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9771 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9772 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9773 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9855 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9856 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9857 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9858 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9859 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9860 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9861 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9862 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9863 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9864 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9865 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9866 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9867 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9868 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9869 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9870 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9871 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9953 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9954 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9955 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9956 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9957 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9958 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9959 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9960 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9961 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9962 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9963 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9964 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9965 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9966 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9967 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9968 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9969 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +598 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +599 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +600 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +601 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +602 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +603 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +604 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +605 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +606 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +607 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +608 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +609 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +610 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +611 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +612 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +613 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +614 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +615 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +616 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +617 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +618 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +619 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +620 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +621 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +622 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +623 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +624 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +625 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +626 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +627 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +628 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +629 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +630 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +631 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +632 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +633 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9970 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9971 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9972 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9973 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9974 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9975 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9976 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9977 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9978 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9979 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9980 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9981 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9982 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9983 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10068 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10069 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10070 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10071 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10072 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10073 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10074 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10075 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10076 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10077 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10078 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10079 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10080 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10081 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10166 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10167 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10168 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10169 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10170 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10171 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10172 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10173 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10174 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10175 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10176 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10177 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10178 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10179 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10264 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10265 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10266 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10267 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10268 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10269 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10270 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10271 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10272 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10273 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10274 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10275 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10276 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10277 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10362 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10363 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10364 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10365 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10366 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10367 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10368 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10369 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10370 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10371 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10372 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10373 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10374 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10375 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10460 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10461 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10462 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10463 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10464 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10465 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10466 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10467 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10468 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10469 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10470 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10471 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10472 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10473 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10558 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10559 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10560 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10561 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10562 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10563 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10564 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10565 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10566 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10567 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10568 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10569 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10570 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10571 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10656 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10657 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10658 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10659 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10660 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10661 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10662 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10663 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10664 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10665 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10666 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10667 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10668 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10669 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10755 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10757 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10759 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10761 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10763 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10765 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10767 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9984 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9985 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9986 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9987 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9988 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9989 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9990 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9991 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9992 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9993 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9994 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9995 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9996 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9997 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9998 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9999 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10000 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10082 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10083 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10084 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10085 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10086 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10087 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10088 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10089 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10090 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10091 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10092 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10093 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10094 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10095 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10096 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10097 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10098 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10180 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10181 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10182 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10183 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10184 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10185 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10186 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10187 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10188 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10189 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10190 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10191 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10192 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10193 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10194 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10195 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10196 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10278 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10279 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10280 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10281 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10282 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10283 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10284 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10285 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10286 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10287 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10288 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10289 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10290 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10291 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10292 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10293 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10294 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10376 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10377 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10378 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10379 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10380 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10381 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10382 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10383 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10384 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10385 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10386 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10387 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10388 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10389 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10390 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10391 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10392 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10474 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10475 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10476 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10477 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10478 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10479 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10480 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10481 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10482 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10483 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10484 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10485 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10486 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10487 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10488 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10489 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10490 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10572 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10573 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10574 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10575 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10576 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10577 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10578 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10579 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10580 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10581 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10582 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10583 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10584 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10585 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10586 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10587 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10588 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10670 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10671 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10672 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10673 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10674 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10675 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10676 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10677 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10678 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10679 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10680 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10681 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10682 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10683 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10684 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10685 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10686 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10769 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10771 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10773 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10775 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10777 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10779 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10781 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10783 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10001 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10002 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10003 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10004 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10005 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10006 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10007 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10008 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10009 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10010 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10011 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10012 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10013 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10014 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10015 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10016 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10017 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10099 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10100 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10101 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10102 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10103 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10104 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10105 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10106 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10107 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10108 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10109 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10110 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10111 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10112 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10113 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10114 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10115 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10197 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10198 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10199 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10200 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10201 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10202 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10203 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10204 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10205 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10206 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10207 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10208 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10209 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10210 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10211 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10212 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10213 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10295 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10296 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10297 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10298 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10299 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10300 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10301 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10302 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10303 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10304 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10305 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10306 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10307 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10308 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10309 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10310 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10311 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10393 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10394 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10395 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10396 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10397 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10398 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10399 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10400 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10401 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10402 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10403 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10404 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10405 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10406 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10407 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10408 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10409 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10491 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10492 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10493 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10494 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10495 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10496 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10497 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10498 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10499 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10500 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10501 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10502 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10503 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10504 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10505 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10506 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10507 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10589 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10590 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10591 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10592 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10593 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10594 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10595 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10596 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10597 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10598 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10599 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10600 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10601 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10602 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10603 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10604 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10605 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10687 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10688 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10689 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10690 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10691 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10692 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10693 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10694 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10695 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10696 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10697 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10698 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10699 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10700 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10701 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10702 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10703 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10785 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10787 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10789 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10791 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10793 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10795 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10797 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10799 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10801 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10018 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10019 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10020 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10021 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10022 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10023 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10024 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10025 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10026 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10027 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10028 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10029 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10030 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10031 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10032 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10033 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10116 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10117 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10118 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10119 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10120 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10121 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10122 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10123 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10124 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10125 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10126 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10127 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10128 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10129 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10130 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10131 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10214 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10215 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10216 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10217 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10218 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10219 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10220 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10221 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10222 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10223 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10224 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10225 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10226 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10227 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10228 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10229 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10312 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10313 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10314 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10315 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10316 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10317 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10318 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10319 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10320 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10321 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10322 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10323 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10324 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10325 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10326 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10327 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10410 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10411 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10412 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10413 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10414 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10415 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10416 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10417 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10418 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10419 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10420 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10421 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10422 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10423 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10424 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10425 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10508 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10509 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10510 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10511 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10512 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10513 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10514 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10515 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10516 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10517 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10518 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10519 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10520 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10521 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10522 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10523 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10606 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10607 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10608 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10609 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10610 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10611 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10612 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10613 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10614 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10615 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10616 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10617 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10618 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10619 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10620 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10621 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10704 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10705 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10706 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10707 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10708 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10709 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10710 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10711 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10712 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10713 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10714 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10715 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10716 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10717 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10718 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10719 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10803 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10805 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10807 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10809 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10811 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10813 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10815 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10817 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10034 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10035 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10036 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10037 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10038 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10039 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10040 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10041 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10042 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10043 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10044 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10045 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10046 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10047 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10048 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10049 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10050 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10132 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10133 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10134 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10135 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10136 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10137 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10138 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10139 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10140 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10141 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10142 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10143 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10144 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10145 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10146 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10147 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10148 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10230 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10231 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10232 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10233 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10234 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10235 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10236 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10237 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10238 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10239 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10240 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10241 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10242 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10243 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10244 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10245 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10246 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10328 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10329 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10330 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10331 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10332 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10333 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10334 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10335 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10336 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10337 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10338 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10339 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10340 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10341 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10342 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10343 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10344 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10426 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10427 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10428 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10429 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10430 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10431 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10432 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10433 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10434 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10435 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10436 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10437 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10438 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10439 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10440 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10441 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10442 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10524 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10525 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10526 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10527 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10528 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10529 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10530 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10531 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10532 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10533 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10534 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10535 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10536 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10537 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10538 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10539 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10540 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10622 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10623 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10624 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10625 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10626 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10627 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10628 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10629 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10630 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10631 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10632 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10633 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10634 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10635 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10636 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10637 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10638 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10720 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10721 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10722 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10723 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10724 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10725 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10726 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10727 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10728 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10729 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10730 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10731 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10732 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10733 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10734 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10735 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10736 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10819 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10821 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10823 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10825 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10827 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10829 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10831 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10833 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10051 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10052 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10053 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10054 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10055 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10056 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10057 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10058 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10059 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10060 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10061 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10062 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10063 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10064 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10065 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10066 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10067 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10149 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10150 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10151 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10152 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10153 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10154 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10155 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10156 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10157 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10158 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10159 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10160 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10161 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10162 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10163 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10164 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10165 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10247 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10248 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10249 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10250 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10251 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10252 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10253 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10254 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10255 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10256 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10257 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10258 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10259 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10260 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10261 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10262 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10263 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10345 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10346 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10347 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10348 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10349 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10350 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10351 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10352 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10353 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10354 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10355 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10356 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10357 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10358 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10359 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10360 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10361 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10443 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10444 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10445 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10446 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10447 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10448 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10449 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10450 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10451 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10452 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10453 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10454 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10455 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10456 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10457 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10458 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10459 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10541 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10542 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10543 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10544 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10545 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10546 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10547 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10548 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10549 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10550 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10551 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10552 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10553 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10554 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10555 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10556 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10557 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10639 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10640 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10641 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10642 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10643 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10644 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10645 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10646 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10647 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10648 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10649 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10650 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10651 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10652 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10653 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10654 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10655 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10737 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10738 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10739 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10740 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10741 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10742 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10743 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10744 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10745 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10746 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10747 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10748 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10749 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10750 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10751 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10752 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10753 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10835 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10837 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10839 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10841 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10843 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10845 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10847 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10849 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10851 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +634 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +635 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +636 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +637 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +638 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +639 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +640 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +641 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +642 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +643 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +644 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +645 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +646 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +647 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +648 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +649 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +650 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +651 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +652 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +653 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +654 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +655 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +656 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +657 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +658 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +659 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +660 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +661 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +662 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +663 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +664 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +665 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +666 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +667 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +668 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +669 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10754 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10756 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10758 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10760 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10762 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10764 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10766 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10852 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10853 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10854 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10855 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10856 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10857 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10858 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10859 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10860 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10861 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10862 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10863 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10864 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10865 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10950 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10951 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10952 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10953 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10954 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10955 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10956 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10957 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10958 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10959 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10960 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10961 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10962 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10963 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11048 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11049 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11050 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11051 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11052 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11053 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11054 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11055 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11056 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11057 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11058 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11059 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11060 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11061 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11146 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11147 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11148 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11149 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11150 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11151 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11152 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11153 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11154 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11155 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11156 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11157 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11158 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11159 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11244 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11245 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11246 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11247 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11248 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11249 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11250 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11251 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11252 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11253 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11254 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11255 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11256 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11257 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11342 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11343 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11344 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11345 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11346 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11347 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11348 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11349 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11350 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11351 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11352 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11353 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11354 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11355 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11440 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11441 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11442 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11443 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11444 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11445 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11446 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11447 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11448 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11449 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11450 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11451 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11452 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11453 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11539 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11541 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11543 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11545 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11547 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11549 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11551 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10768 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10770 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10772 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10774 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10776 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10778 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10780 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10782 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10784 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10866 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10867 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10868 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10869 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10870 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10871 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10872 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10873 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10874 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10875 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10876 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10877 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10878 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10879 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10880 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10881 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10882 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10964 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10965 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10966 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10967 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10968 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10969 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10970 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10971 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10972 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10973 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10974 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10975 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10976 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10977 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10978 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10979 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10980 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11062 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11063 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11064 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11065 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11066 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11067 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11068 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11069 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11070 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11071 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11072 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11073 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11074 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11075 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11076 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11077 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11078 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11160 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11161 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11162 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11163 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11164 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11165 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11166 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11167 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11168 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11169 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11170 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11171 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11172 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11173 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11174 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11175 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11176 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11258 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11259 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11260 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11261 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11262 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11263 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11264 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11265 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11266 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11267 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11268 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11269 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11270 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11271 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11272 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11273 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11274 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11356 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11357 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11358 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11359 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11360 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11361 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11362 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11363 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11364 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11365 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11366 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11367 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11368 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11369 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11370 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11371 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11372 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11454 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11455 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11456 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11457 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11458 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11459 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11460 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11461 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11462 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11463 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11464 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11465 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11466 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11467 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11468 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11469 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11470 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11553 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11555 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11557 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11559 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11561 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11563 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11565 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11567 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10786 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10788 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10790 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10792 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10794 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10796 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10798 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10800 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10883 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10884 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10885 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10886 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10887 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10888 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10889 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10890 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10891 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10892 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10893 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10894 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10895 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10896 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10897 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10898 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10899 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10981 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10982 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10983 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10984 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10985 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10986 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10987 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10988 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10989 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10990 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10991 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10992 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10993 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10994 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10995 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10996 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10997 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11079 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11080 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11081 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11082 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11083 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11084 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11085 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11086 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11087 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11088 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11089 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11090 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11091 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11092 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11093 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11094 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11095 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11177 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11178 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11179 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11180 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11181 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11182 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11183 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11184 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11185 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11186 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11187 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11188 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11189 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11190 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11191 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11192 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11193 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11275 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11276 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11277 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11278 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11279 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11280 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11281 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11282 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11283 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11284 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11285 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11286 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11287 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11288 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11289 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11290 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11291 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11373 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11374 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11375 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11376 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11377 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11378 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11379 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11380 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11381 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11382 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11383 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11384 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11385 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11386 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11387 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11388 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11389 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11471 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11472 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11473 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11474 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11475 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11476 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11477 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11478 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11479 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11480 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11481 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11482 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11483 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11484 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11485 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11486 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11487 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11569 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11571 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11573 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11575 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11577 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11579 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11581 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11583 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11585 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10802 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10804 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10806 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10808 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10810 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10812 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10814 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10816 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10900 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10901 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10902 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10903 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10904 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10905 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10906 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10907 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10908 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10909 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10910 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10911 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10912 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10913 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10914 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10915 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10998 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10999 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11000 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11001 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11002 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11003 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11004 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11005 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11006 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11007 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11008 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11009 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11010 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11011 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11012 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11013 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11096 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11097 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11098 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11099 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11100 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11101 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11102 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11103 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11104 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11105 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11106 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11107 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11108 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11109 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11110 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11111 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11194 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11195 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11196 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11197 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11198 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11199 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11200 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11201 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11202 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11203 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11204 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11205 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11206 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11207 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11208 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11209 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11292 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11293 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11294 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11295 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11296 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11297 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11298 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11299 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11300 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11301 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11302 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11303 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11304 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11305 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11306 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11307 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11390 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11391 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11392 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11393 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11394 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11395 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11396 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11397 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11398 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11399 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11400 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11401 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11402 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11403 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11404 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11405 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11488 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11489 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11490 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11491 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11492 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11493 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11494 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11495 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11496 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11497 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11498 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11499 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11500 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11501 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11502 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11503 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11587 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11589 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11591 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11593 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11595 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11597 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11599 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11601 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10818 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10820 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10822 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10824 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10826 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10828 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10830 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10832 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10834 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10916 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10917 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10918 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10919 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10920 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10921 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10922 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10923 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10924 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10925 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10926 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10927 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10928 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10929 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10930 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10931 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10932 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11014 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11015 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11016 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11017 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11018 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11019 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11020 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11021 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11022 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11023 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11024 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11025 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11026 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11027 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11028 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11029 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11030 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11112 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11113 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11114 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11115 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11116 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11117 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11118 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11119 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11120 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11121 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11122 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11123 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11124 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11125 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11126 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11127 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11128 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11210 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11211 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11212 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11213 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11214 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11215 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11216 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11217 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11218 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11219 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11220 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11221 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11222 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11223 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11224 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11225 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11226 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11308 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11309 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11310 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11311 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11312 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11313 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11314 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11315 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11316 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11317 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11318 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11319 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11320 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11321 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11322 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11323 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11324 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11406 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11407 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11408 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11409 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11410 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11411 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11412 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11413 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11414 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11415 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11416 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11417 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11418 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11419 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11420 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11421 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11422 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11504 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11505 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11506 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11507 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11508 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11509 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11510 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11511 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11512 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11513 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11514 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11515 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11516 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11517 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11518 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11519 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11520 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11603 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11605 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11607 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11609 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11611 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11613 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11615 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11617 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10836 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10838 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10840 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10842 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10844 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10846 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10848 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10850 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10933 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10934 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10935 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10936 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10937 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10938 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10939 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10940 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10941 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10942 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10943 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10944 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10945 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10946 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10947 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10948 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10949 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11031 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11032 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11033 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11034 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11035 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11036 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11037 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11038 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11039 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11040 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11041 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11042 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11043 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11044 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11045 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11046 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11047 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11129 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11130 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11131 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11132 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11133 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11134 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11135 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11136 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11137 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11138 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11139 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11140 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11141 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11142 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11143 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11144 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11145 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11227 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11228 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11229 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11230 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11231 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11232 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11233 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11234 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11235 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11236 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11237 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11238 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11239 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11240 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11241 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11242 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11243 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11325 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11326 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11327 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11328 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11329 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11330 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11331 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11332 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11333 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11334 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11335 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11336 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11337 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11338 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11339 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11340 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11341 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11423 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11424 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11425 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11426 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11427 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11428 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11429 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11430 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11431 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11432 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11433 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11434 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11435 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11436 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11437 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11438 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11439 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11521 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11522 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11523 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11524 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11525 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11526 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11527 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11528 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11529 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11530 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11531 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11532 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11533 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11534 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11535 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11536 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11537 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11619 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11621 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11623 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11625 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11627 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11629 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11631 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11633 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11635 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +670 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +671 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +672 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +673 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +674 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +675 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +676 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +677 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +678 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +679 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +680 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +681 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +682 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +683 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +684 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +685 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +686 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +687 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +688 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +689 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +690 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +691 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +692 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +693 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +694 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +695 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +696 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +697 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +698 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +699 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +700 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +701 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +702 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +703 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +705 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11538 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11540 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11542 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11544 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11546 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11548 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11550 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11636 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11637 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11638 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11639 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11640 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11641 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11642 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11643 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11644 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11645 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11646 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11647 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11648 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11649 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11734 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11735 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11736 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11737 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11738 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11739 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11740 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11741 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11742 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11743 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11744 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11745 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11746 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11747 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11832 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11833 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11834 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11835 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11836 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11837 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11838 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11839 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11840 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11841 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11842 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11843 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11844 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11845 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11930 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11931 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11932 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11933 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11934 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11935 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11936 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11937 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11938 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11939 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11940 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11941 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11942 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11943 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12028 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12029 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12030 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12031 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12032 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12033 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12034 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12035 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12036 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12037 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12038 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12039 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12040 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12041 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12126 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12127 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12128 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12129 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12130 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12131 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12132 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12133 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12134 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12135 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12136 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12137 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12138 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12139 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12224 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12225 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12226 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12227 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12228 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12229 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12230 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12231 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12232 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12233 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12234 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12235 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12236 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12237 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12322 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12323 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12324 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12325 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12326 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12327 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12328 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12329 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12330 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12331 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12332 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12333 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12334 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12335 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11552 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11554 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11556 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11558 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11560 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11562 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11564 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11566 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11568 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11650 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11651 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11652 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11653 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11654 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11655 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11656 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11657 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11658 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11659 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11660 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11661 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11662 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11663 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11664 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11665 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11666 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11748 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11749 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11750 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11751 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11752 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11753 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11754 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11755 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11756 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11757 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11758 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11759 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11760 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11761 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11762 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11763 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11764 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11846 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11847 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11848 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11849 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11850 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11851 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11852 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11853 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11854 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11855 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11856 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11857 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11858 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11859 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11860 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11861 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11862 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11944 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11945 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11946 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11947 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11948 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11949 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11950 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11951 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11952 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11953 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11954 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11955 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11956 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11957 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11958 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11959 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11960 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12042 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12043 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12044 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12045 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12046 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12047 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12048 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12049 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12050 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12051 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12052 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12053 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12054 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12055 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12056 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12057 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12058 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12140 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12141 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12142 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12143 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12144 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12145 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12146 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12147 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12148 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12149 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12150 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12151 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12152 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12153 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12154 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12155 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12156 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12238 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12239 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12240 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12241 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12242 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12243 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12244 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12245 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12246 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12247 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12248 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12249 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12250 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12251 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12252 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12253 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12254 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12336 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12337 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12338 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12339 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12340 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12341 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12342 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12343 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12344 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12345 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12346 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12347 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12348 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12349 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12350 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12351 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12352 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11570 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11572 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11574 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11576 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11578 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11580 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11582 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11584 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11667 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11668 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11669 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11670 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11671 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11672 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11673 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11674 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11675 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11676 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11677 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11678 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11679 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11680 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11681 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11682 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11683 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11765 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11766 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11767 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11768 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11769 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11770 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11771 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11772 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11773 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11774 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11775 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11776 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11777 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11778 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11779 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11780 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11781 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11863 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11864 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11865 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11866 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11867 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11868 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11869 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11870 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11871 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11872 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11873 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11874 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11875 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11876 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11877 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11878 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11879 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11961 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11962 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11963 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11964 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11965 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11966 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11967 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11968 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11969 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11970 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11971 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11972 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11973 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11974 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11975 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11976 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11977 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12059 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12060 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12061 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12062 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12063 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12064 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12065 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12066 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12067 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12068 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12069 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12070 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12071 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12072 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12073 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12074 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12075 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12157 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12158 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12159 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12160 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12161 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12162 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12163 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12164 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12165 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12166 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12167 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12168 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12169 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12170 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12171 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12172 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12173 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12255 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12256 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12257 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12258 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12259 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12260 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12261 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12262 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12263 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12264 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12265 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12266 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12267 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12268 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12269 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12270 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12271 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12353 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12354 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12355 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12356 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12357 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12358 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12359 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12360 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12361 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12362 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12363 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12364 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12365 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12366 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12367 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12368 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12369 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11586 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11588 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11590 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11592 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11594 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11596 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11598 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11600 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11684 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11685 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11686 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11687 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11688 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11689 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11690 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11691 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11692 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11693 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11694 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11695 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11696 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11697 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11698 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11699 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11782 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11783 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11784 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11785 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11786 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11787 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11788 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11789 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11790 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11791 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11792 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11793 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11794 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11795 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11796 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11797 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11880 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11881 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11882 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11883 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11884 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11885 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11886 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11887 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11888 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11889 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11890 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11891 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11892 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11893 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11894 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11895 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11978 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11979 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11980 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11981 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11982 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11983 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11984 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11985 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11986 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11987 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11988 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11989 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11990 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11991 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11992 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11993 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12076 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12077 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12078 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12079 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12080 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12081 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12082 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12083 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12084 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12085 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12086 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12087 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12088 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12089 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12090 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12091 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12174 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12175 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12176 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12177 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12178 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12179 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12180 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12181 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12182 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12183 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12184 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12185 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12186 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12187 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12188 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12189 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12272 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12273 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12274 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12275 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12276 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12277 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12278 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12279 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12280 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12281 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12282 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12283 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12284 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12285 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12286 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12287 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12370 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12371 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12372 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12373 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12374 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12375 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12376 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12377 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12378 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12379 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12380 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12381 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12382 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12383 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12384 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12385 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11602 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11604 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11606 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11608 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11610 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11612 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11614 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11616 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11618 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11700 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11701 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11702 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11703 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11704 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11705 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11706 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11707 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11708 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11709 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11710 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11711 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11712 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11713 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11714 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11715 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11716 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11798 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11799 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11800 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11801 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11802 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11803 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11804 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11805 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11806 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11807 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11808 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11809 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11810 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11811 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11812 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11813 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11814 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11896 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11897 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11898 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11899 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11900 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11901 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11902 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11903 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11904 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11905 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11906 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11907 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11908 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11909 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11910 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11911 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11912 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11994 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11995 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11996 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11997 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11998 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11999 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12000 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12001 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12002 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12003 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12004 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12005 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12006 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12007 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12008 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12009 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12010 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12092 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12093 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12094 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12095 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12096 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12097 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12098 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12099 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12100 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12101 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12102 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12103 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12104 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12105 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12106 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12107 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12108 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12190 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12191 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12192 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12193 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12194 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12195 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12196 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12197 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12198 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12199 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12200 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12201 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12202 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12203 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12204 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12205 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12206 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12288 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12289 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12290 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12291 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12292 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12293 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12294 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12295 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12296 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12297 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12298 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12299 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12300 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12301 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12302 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12303 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12304 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12386 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12387 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12388 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12389 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12390 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12391 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12392 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12393 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12394 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12395 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12396 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12397 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12398 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12399 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12400 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12401 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12402 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11620 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11622 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11624 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11626 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11628 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11630 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11632 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11634 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11717 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11718 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11719 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11720 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11721 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11722 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11723 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11724 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11725 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11726 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11727 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11728 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11729 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11730 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11731 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11732 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11733 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11815 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11816 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11817 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11818 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11819 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11820 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11821 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11822 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11823 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11824 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11825 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11826 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11827 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11828 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11829 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11830 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11831 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11913 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11914 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11915 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11916 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11917 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11918 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11919 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11920 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11921 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11922 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11923 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11924 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11925 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11926 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11927 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11928 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11929 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12011 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12012 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12013 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12014 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12015 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12016 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12017 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12018 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12019 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12020 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12021 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12022 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12023 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12024 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12025 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12026 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12027 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12109 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12110 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12111 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12112 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12113 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12114 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12115 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12116 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12117 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12118 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12119 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12120 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12121 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12122 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12123 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12124 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12125 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12207 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12208 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12209 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12210 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12211 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12212 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12213 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12214 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12215 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12216 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12217 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12218 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12219 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12220 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12221 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12222 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12223 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12305 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12306 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12307 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12308 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12309 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12310 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12311 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12312 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12313 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12314 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12315 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12316 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12317 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12318 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12319 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12320 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12321 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12403 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12404 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12405 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12406 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12407 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12408 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12409 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12410 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12411 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12412 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12413 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12414 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12415 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12416 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12417 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12418 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12419 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +704 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +706 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +707 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +708 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +709 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +710 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +711 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +712 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +713 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +714 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +715 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +716 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +717 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +718 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +719 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +720 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +721 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +722 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +723 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +724 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +725 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +726 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +727 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +728 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +729 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +730 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +731 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +732 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +733 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +734 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +735 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +736 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +737 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +738 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +739 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +741 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12420 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12421 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12422 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12423 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12424 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12425 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12426 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12427 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12428 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12429 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12430 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12431 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12432 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12433 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12518 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12519 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12520 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12521 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12522 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12523 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12524 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12525 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12526 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12527 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12528 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12529 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12530 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12531 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12616 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12617 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12618 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12619 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12620 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12621 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12622 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12623 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12624 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12625 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12626 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12627 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12628 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12629 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12714 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12715 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12716 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12717 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12718 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12719 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12720 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12721 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12722 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12723 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12724 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12725 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12726 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12727 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12812 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12813 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12814 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12815 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12816 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12817 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12818 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12819 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12820 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12821 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12822 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12823 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12824 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12825 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12910 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12911 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12912 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12913 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12914 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12915 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12916 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12917 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12918 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12919 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12920 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12921 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12922 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12923 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13008 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13009 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13010 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13011 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13012 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13013 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13014 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13015 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13016 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13017 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13018 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13019 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13020 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13021 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13106 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13107 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13108 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13109 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13110 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13111 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13112 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13113 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13114 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13115 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13116 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13117 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13118 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13119 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13205 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13207 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13209 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13211 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13213 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13215 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13217 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12434 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12435 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12436 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12437 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12438 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12439 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12440 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12441 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12442 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12443 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12444 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12445 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12446 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12447 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12448 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12449 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12450 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12532 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12533 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12534 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12535 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12536 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12537 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12538 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12539 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12540 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12541 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12542 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12543 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12544 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12545 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12546 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12547 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12548 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12630 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12631 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12632 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12633 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12634 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12635 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12636 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12637 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12638 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12639 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12640 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12641 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12642 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12643 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12644 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12645 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12646 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12728 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12729 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12730 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12731 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12732 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12733 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12734 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12735 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12736 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12737 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12738 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12739 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12740 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12741 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12742 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12743 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12744 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12826 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12827 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12828 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12829 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12830 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12831 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12832 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12833 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12834 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12835 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12836 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12837 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12838 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12839 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12840 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12841 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12842 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12924 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12925 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12926 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12927 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12928 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12929 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12930 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12931 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12932 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12933 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12934 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12935 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12936 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12937 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12938 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12939 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12940 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13022 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13023 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13024 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13025 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13026 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13027 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13028 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13029 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13030 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13031 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13032 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13033 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13034 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13035 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13036 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13037 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13038 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13120 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13121 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13122 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13123 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13124 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13125 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13126 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13127 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13128 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13129 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13130 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13131 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13132 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13133 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13134 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13135 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13136 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13219 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13221 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13223 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13225 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13227 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13229 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13231 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13233 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12451 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12452 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12453 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12454 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12455 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12456 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12457 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12458 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12459 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12460 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12461 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12462 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12463 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12464 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12465 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12466 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12467 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12549 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12550 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12551 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12552 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12553 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12554 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12555 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12556 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12557 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12558 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12559 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12560 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12561 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12562 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12563 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12564 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12565 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12647 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12648 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12649 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12650 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12651 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12652 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12653 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12654 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12655 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12656 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12657 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12658 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12659 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12660 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12661 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12662 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12663 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12745 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12746 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12747 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12748 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12749 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12750 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12751 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12752 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12753 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12754 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12755 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12756 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12757 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12758 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12759 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12760 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12761 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12843 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12844 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12845 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12846 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12847 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12848 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12849 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12850 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12851 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12852 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12853 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12854 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12855 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12856 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12857 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12858 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12859 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12941 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12942 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12943 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12944 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12945 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12946 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12947 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12948 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12949 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12950 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12951 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12952 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12953 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12954 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12955 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12956 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12957 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13039 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13040 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13041 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13042 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13043 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13044 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13045 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13046 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13047 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13048 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13049 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13050 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13051 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13052 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13053 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13054 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13055 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13137 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13138 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13139 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13140 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13141 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13142 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13143 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13144 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13145 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13146 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13147 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13148 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13149 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13150 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13151 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13152 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13153 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13235 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13237 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13239 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13241 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13243 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13245 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13247 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13249 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13251 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12468 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12469 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12470 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12471 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12472 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12473 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12474 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12475 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12476 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12477 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12478 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12479 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12480 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12481 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12482 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12483 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12566 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12567 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12568 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12569 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12570 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12571 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12572 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12573 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12574 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12575 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12576 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12577 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12578 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12579 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12580 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12581 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12664 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12665 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12666 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12667 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12668 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12669 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12670 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12671 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12672 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12673 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12674 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12675 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12676 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12677 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12678 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12679 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12762 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12763 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12764 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12765 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12766 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12767 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12768 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12769 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12770 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12771 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12772 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12773 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12774 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12775 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12776 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12777 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12860 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12861 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12862 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12863 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12864 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12865 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12866 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12867 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12868 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12869 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12870 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12871 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12872 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12873 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12874 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12875 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12958 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12959 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12960 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12961 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12962 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12963 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12964 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12965 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12966 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12967 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12968 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12969 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12970 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12971 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12972 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12973 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13056 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13057 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13058 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13059 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13060 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13061 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13062 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13063 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13064 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13065 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13066 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13067 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13068 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13069 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13070 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13071 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13154 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13155 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13156 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13157 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13158 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13159 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13160 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13161 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13162 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13163 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13164 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13165 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13166 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13167 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13168 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13169 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13253 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13255 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13257 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13259 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13261 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13263 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13265 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13267 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12484 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12485 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12486 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12487 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12488 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12489 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12490 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12491 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12492 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12493 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12494 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12495 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12496 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12497 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12498 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12499 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12500 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12582 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12583 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12584 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12585 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12586 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12587 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12588 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12589 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12590 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12591 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12592 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12593 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12594 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12595 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12596 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12597 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12598 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12680 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12681 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12682 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12683 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12684 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12685 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12686 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12687 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12688 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12689 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12690 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12691 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12692 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12693 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12694 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12695 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12696 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12778 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12779 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12780 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12781 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12782 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12783 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12784 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12785 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12786 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12787 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12788 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12789 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12790 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12791 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12792 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12793 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12794 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12876 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12877 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12878 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12879 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12880 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12881 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12882 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12883 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12884 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12885 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12886 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12887 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12888 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12889 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12890 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12891 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12892 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12974 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12975 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12976 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12977 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12978 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12979 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12980 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12981 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12982 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12983 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12984 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12985 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12986 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12987 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12988 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12989 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12990 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13072 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13073 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13074 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13075 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13076 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13077 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13078 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13079 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13080 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13081 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13082 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13083 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13084 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13085 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13086 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13087 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13088 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13170 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13171 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13172 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13173 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13174 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13175 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13176 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13177 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13178 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13179 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13180 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13181 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13182 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13183 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13184 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13185 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13186 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13269 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13271 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13273 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13275 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13277 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13279 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13281 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13283 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12501 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12502 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12503 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12504 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12505 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12506 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12507 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12508 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12509 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12510 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12511 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12512 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12513 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12514 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12515 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12516 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12517 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12599 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12600 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12601 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12602 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12603 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12604 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12605 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12606 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12607 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12608 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12609 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12610 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12611 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12612 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12613 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12614 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12615 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12697 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12698 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12699 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12700 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12701 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12702 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12703 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12704 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12705 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12706 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12707 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12708 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12709 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12710 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12711 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12712 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12713 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12795 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12796 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12797 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12798 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12799 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12800 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12801 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12802 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12803 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12804 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12805 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12806 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12807 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12808 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12809 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12810 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12811 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12893 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12894 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12895 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12896 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12897 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12898 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12899 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12900 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12901 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12902 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12903 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12904 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12905 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12906 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12907 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12908 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12909 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12991 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12992 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12993 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12994 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12995 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12996 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12997 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12998 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12999 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13000 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13001 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13002 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13003 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13004 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13005 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13006 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13007 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13089 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13090 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13091 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13092 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13093 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13094 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13095 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13096 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13097 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13098 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13099 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13100 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13101 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13102 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13103 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13104 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13105 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13187 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13188 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13189 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13190 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13191 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13192 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13193 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13194 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13195 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13196 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13197 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13198 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13199 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13200 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13201 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13202 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13203 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13285 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13287 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13289 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13291 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13293 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13295 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13297 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13299 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13301 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +740 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +742 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +743 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +744 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +745 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +746 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +747 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +748 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +749 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +750 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +751 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +752 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +753 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +754 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +755 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +756 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +757 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +758 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +759 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +760 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +761 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +762 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +763 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +764 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +765 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +766 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +767 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +768 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +769 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +770 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +771 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +772 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +773 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +774 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13204 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13206 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13208 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13210 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13212 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13214 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13216 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13302 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13303 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13304 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13305 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13306 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13307 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13308 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13309 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13310 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13311 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13312 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13313 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13314 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13315 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13400 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13401 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13402 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13403 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13404 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13405 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13406 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13407 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13408 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13409 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13410 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13411 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13412 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13413 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13498 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13499 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13500 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13501 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13502 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13503 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13504 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13505 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13506 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13507 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13508 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13509 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13510 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13511 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13596 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13597 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13598 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13599 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13600 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13601 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13602 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13603 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13604 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13605 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13606 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13607 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13608 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13609 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13694 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13695 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13696 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13697 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13698 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13699 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13700 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13701 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13702 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13703 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13704 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13705 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13706 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13707 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13792 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13793 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13794 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13795 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13796 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13797 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13798 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13799 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13800 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13801 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13802 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13803 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13804 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13805 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13890 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13891 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13892 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13893 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13894 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13895 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13896 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13897 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13898 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13899 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13900 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13901 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13902 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13903 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13989 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13991 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13993 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13995 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13997 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13999 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14001 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13218 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13220 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13222 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13224 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13226 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13228 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13230 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13232 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13234 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13316 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13317 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13318 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13319 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13320 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13321 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13322 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13323 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13324 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13325 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13326 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13327 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13328 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13329 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13330 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13331 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13332 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13414 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13415 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13416 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13417 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13418 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13419 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13420 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13421 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13422 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13423 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13424 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13425 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13426 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13427 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13428 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13429 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13430 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13512 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13513 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13514 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13515 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13516 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13517 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13518 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13519 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13520 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13521 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13522 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13523 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13524 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13525 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13526 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13527 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13528 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13610 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13611 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13612 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13613 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13614 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13615 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13616 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13617 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13618 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13619 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13620 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13621 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13622 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13623 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13624 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13625 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13626 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13708 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13709 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13710 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13711 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13712 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13713 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13714 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13715 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13716 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13717 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13718 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13719 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13720 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13721 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13722 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13723 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13724 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13806 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13807 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13808 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13809 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13810 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13811 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13812 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13813 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13814 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13815 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13816 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13817 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13818 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13819 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13820 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13821 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13822 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13904 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13905 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13906 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13907 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13908 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13909 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13910 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13911 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13912 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13913 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13914 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13915 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13916 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13917 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13918 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13919 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13920 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14003 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14005 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14007 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14009 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14011 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14013 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14015 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14017 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13236 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13238 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13240 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13242 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13244 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13246 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13248 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13250 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13333 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13334 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13335 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13336 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13337 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13338 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13339 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13340 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13341 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13342 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13343 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13344 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13345 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13346 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13347 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13348 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13349 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13431 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13432 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13433 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13434 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13435 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13436 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13437 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13438 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13439 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13440 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13441 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13442 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13443 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13444 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13445 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13446 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13447 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13529 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13530 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13531 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13532 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13533 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13534 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13535 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13536 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13537 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13538 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13539 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13540 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13541 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13542 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13543 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13544 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13545 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13627 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13628 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13629 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13630 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13631 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13632 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13633 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13634 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13635 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13636 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13637 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13638 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13639 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13640 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13641 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13642 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13643 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13725 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13726 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13727 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13728 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13729 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13730 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13731 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13732 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13733 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13734 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13735 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13736 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13737 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13738 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13739 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13740 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13741 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13823 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13824 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13825 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13826 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13827 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13828 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13829 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13830 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13831 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13832 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13833 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13834 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13835 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13836 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13837 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13838 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13839 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13921 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13922 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13923 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13924 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13925 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13926 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13927 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13928 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13929 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13930 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13931 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13932 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13933 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13934 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13935 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13936 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13937 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14019 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14021 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14023 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14025 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14027 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14029 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14031 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14033 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14035 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13252 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13254 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13256 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13258 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13260 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13262 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13264 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13266 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13350 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13351 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13352 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13353 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13354 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13355 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13356 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13357 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13358 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13359 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13360 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13361 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13362 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13363 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13364 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13365 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13448 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13449 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13450 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13451 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13452 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13453 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13454 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13455 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13456 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13457 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13458 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13459 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13460 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13461 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13462 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13463 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13546 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13547 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13548 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13549 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13550 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13551 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13552 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13553 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13554 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13555 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13556 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13557 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13558 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13559 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13560 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13561 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13644 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13645 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13646 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13647 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13648 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13649 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13650 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13651 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13652 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13653 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13654 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13655 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13656 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13657 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13658 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13659 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13742 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13743 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13744 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13745 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13746 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13747 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13748 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13749 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13750 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13751 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13752 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13753 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13754 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13755 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13756 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13757 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13840 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13841 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13842 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13843 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13844 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13845 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13846 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13847 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13848 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13849 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13850 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13851 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13852 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13853 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13854 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13855 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13938 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13939 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13940 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13941 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13942 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13943 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13944 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13945 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13946 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13947 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13948 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13949 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13950 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13951 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13952 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13953 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14037 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14039 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14041 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14043 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14045 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14047 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14049 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14051 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13268 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13270 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13272 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13274 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13276 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13278 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13280 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13282 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13284 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13366 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13367 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13368 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13369 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13370 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13371 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13372 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13373 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13374 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13375 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13376 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13377 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13378 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13379 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13380 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13381 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13382 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13464 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13465 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13466 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13467 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13468 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13469 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13470 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13471 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13472 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13473 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13474 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13475 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13476 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13477 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13478 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13479 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13480 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13562 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13563 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13564 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13565 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13566 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13567 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13568 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13569 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13570 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13571 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13572 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13573 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13574 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13575 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13576 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13577 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13578 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13660 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13661 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13662 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13663 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13664 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13665 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13666 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13667 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13668 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13669 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13670 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13671 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13672 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13673 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13674 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13675 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13676 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13758 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13759 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13760 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13761 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13762 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13763 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13764 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13765 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13766 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13767 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13768 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13769 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13770 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13771 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13772 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13773 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13774 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13856 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13857 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13858 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13859 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13860 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13861 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13862 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13863 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13864 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13865 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13866 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13867 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13868 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13869 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13870 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13871 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13872 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13954 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13955 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13956 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13957 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13958 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13959 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13960 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13961 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13962 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13963 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13964 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13965 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13966 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13967 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13968 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13969 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13970 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14053 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14055 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14057 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14059 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14061 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14063 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14065 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14067 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13286 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13288 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13290 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13292 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13294 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13296 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13298 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13300 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13383 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13384 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13385 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13386 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13387 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13388 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13389 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13390 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13391 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13392 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13393 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13394 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13395 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13396 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13397 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13398 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13399 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13481 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13482 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13483 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13484 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13485 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13486 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13487 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13488 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13489 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13490 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13491 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13492 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13493 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13494 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13495 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13496 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13497 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13579 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13580 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13581 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13582 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13583 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13584 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13585 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13586 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13587 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13588 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13589 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13590 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13591 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13592 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13593 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13594 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13595 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13677 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13678 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13679 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13680 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13681 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13682 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13683 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13684 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13685 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13686 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13687 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13688 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13689 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13690 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13691 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13692 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13693 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13775 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13776 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13777 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13778 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13779 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13780 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13781 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13782 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13783 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13784 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13785 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13786 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13787 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13788 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13789 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13790 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13791 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13873 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13874 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13875 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13876 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13877 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13878 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13879 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13880 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13881 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13882 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13883 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13884 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13885 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13886 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13887 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13888 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13889 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13971 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13972 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13973 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13974 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13975 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13976 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13977 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13978 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13979 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13980 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13981 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13982 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13983 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13984 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13985 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13986 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13987 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14069 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14071 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14073 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14075 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14077 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14079 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14081 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14083 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14085 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +775 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +776 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +777 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +778 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +779 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +780 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +781 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +782 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +783 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +784 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +785 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +786 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +787 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +788 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +789 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +790 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +791 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +792 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +793 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +794 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +795 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +796 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +797 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +798 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +799 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +800 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +801 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +802 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +803 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +804 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +805 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +806 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +807 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +808 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +809 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +810 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13988 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13990 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13992 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13994 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13996 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13998 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14000 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14086 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14087 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14088 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14089 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14090 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14091 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14092 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14093 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14094 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14095 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14096 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14097 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14098 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14099 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14184 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14185 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14186 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14187 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14188 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14189 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14190 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14191 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14192 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14193 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14194 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14195 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14196 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14197 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14282 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14283 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14284 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14285 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14286 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14287 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14288 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14289 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14290 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14291 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14292 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14293 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14294 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14295 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14380 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14381 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14382 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14383 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14384 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14385 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14386 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14387 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14388 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14389 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14390 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14391 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14392 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14393 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14478 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14479 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14480 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14481 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14482 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14483 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14484 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14485 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14486 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14487 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14488 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14489 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14490 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14491 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14576 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14577 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14578 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14579 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14580 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14581 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14582 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14583 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14584 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14585 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14586 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14587 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14588 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14589 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14674 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14675 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14676 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14677 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14678 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14679 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14680 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14681 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14682 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14683 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14684 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14685 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14686 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14687 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14772 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14773 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14774 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14775 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14776 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14777 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14778 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14779 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14780 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14781 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14782 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14783 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14784 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14785 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14002 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14004 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14006 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14008 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14010 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14012 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14014 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14016 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14018 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14100 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14101 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14102 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14103 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14104 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14105 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14106 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14107 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14108 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14109 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14110 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14111 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14112 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14113 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14114 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14115 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14116 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14198 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14199 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14200 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14201 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14202 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14203 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14204 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14205 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14206 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14207 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14208 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14209 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14210 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14211 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14212 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14213 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14214 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14296 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14297 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14298 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14299 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14300 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14301 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14302 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14303 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14304 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14305 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14306 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14307 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14308 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14309 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14310 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14311 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14312 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14394 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14395 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14396 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14397 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14398 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14399 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14400 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14401 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14402 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14403 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14404 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14405 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14406 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14407 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14408 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14409 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14410 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14492 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14493 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14494 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14495 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14496 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14497 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14498 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14499 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14500 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14501 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14502 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14503 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14504 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14505 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14506 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14507 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14508 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14590 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14591 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14592 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14593 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14594 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14595 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14596 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14597 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14598 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14599 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14600 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14601 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14602 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14603 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14604 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14605 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14606 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14688 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14689 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14690 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14691 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14692 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14693 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14694 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14695 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14696 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14697 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14698 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14699 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14700 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14701 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14702 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14703 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14704 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14786 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14787 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14788 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14789 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14790 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14791 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14792 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14793 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14794 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14795 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14796 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14797 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14798 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14799 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14800 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14801 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14802 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14020 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14022 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14024 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14026 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14028 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14030 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14032 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14034 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14117 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14118 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14119 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14120 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14121 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14122 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14123 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14124 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14125 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14126 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14127 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14128 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14129 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14130 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14131 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14132 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14133 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14215 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14216 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14217 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14218 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14219 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14220 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14221 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14222 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14223 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14224 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14225 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14226 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14227 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14228 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14229 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14230 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14231 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14313 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14314 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14315 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14316 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14317 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14318 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14319 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14320 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14321 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14322 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14323 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14324 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14325 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14326 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14327 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14328 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14329 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14411 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14412 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14413 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14414 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14415 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14416 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14417 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14418 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14419 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14420 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14421 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14422 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14423 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14424 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14425 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14426 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14427 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14509 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14510 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14511 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14512 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14513 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14514 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14515 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14516 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14517 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14518 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14519 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14520 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14521 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14522 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14523 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14524 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14525 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14607 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14608 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14609 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14610 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14611 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14612 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14613 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14614 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14615 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14616 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14617 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14618 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14619 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14620 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14621 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14622 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14623 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14705 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14706 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14707 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14708 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14709 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14710 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14711 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14712 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14713 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14714 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14715 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14716 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14717 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14718 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14719 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14720 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14721 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14803 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14804 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14805 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14806 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14807 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14808 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14809 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14810 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14811 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14812 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14813 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14814 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14815 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14816 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14817 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14818 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14819 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14036 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14038 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14040 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14042 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14044 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14046 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14048 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14050 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14134 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14135 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14136 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14137 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14138 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14139 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14140 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14141 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14142 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14143 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14144 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14145 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14146 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14147 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14148 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14149 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14232 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14233 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14234 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14235 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14236 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14237 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14238 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14239 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14240 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14241 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14242 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14243 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14244 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14245 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14246 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14247 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14330 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14331 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14332 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14333 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14334 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14335 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14336 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14337 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14338 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14339 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14340 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14341 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14342 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14343 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14344 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14345 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14428 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14429 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14430 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14431 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14432 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14433 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14434 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14435 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14436 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14437 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14438 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14439 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14440 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14441 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14442 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14443 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14526 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14527 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14528 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14529 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14530 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14531 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14532 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14533 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14534 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14535 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14536 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14537 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14538 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14539 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14540 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14541 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14624 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14625 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14626 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14627 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14628 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14629 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14630 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14631 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14632 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14633 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14634 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14635 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14636 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14637 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14638 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14639 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14722 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14723 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14724 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14725 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14726 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14727 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14728 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14729 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14730 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14731 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14732 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14733 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14734 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14735 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14736 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14737 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14820 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14821 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14822 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14823 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14824 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14825 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14826 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14827 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14828 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14829 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14830 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14831 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14832 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14833 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14834 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14835 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14052 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14054 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14056 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14058 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14060 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14062 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14064 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14066 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14068 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14150 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14151 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14152 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14153 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14154 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14155 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14156 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14157 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14158 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14159 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14160 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14161 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14162 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14163 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14164 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14165 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14166 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14248 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14249 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14250 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14251 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14252 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14253 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14254 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14255 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14256 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14257 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14258 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14259 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14260 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14261 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14262 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14263 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14264 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14346 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14347 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14348 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14349 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14350 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14351 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14352 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14353 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14354 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14355 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14356 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14357 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14358 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14359 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14360 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14361 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14362 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14444 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14445 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14446 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14447 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14448 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14449 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14450 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14451 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14452 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14453 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14454 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14455 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14456 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14457 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14458 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14459 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14460 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14542 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14543 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14544 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14545 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14546 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14547 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14548 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14549 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14550 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14551 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14552 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14553 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14554 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14555 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14556 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14557 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14558 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14640 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14641 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14642 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14643 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14644 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14645 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14646 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14647 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14648 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14649 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14650 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14651 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14652 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14653 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14654 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14655 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14656 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14738 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14739 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14740 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14741 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14742 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14743 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14744 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14745 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14746 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14747 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14748 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14749 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14750 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14751 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14752 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14753 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14754 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14836 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14837 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14838 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14839 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14840 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14841 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14842 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14843 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14844 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14845 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14846 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14847 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14848 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14849 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14850 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14851 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14852 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14070 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14072 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14074 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14076 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14078 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14080 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14082 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14084 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14167 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14168 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14169 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14170 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14171 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14172 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14173 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14174 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14175 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14176 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14177 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14178 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14179 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14180 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14181 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14182 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14183 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14265 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14266 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14267 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14268 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14269 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14270 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14271 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14272 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14273 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14274 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14275 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14276 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14277 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14278 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14279 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14280 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14281 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14363 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14364 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14365 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14366 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14367 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14368 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14369 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14370 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14371 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14372 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14373 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14374 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14375 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14376 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14377 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14378 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14379 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14461 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14462 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14463 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14464 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14465 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14466 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14467 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14468 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14469 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14470 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14471 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14472 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14473 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14474 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14475 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14476 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14477 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14559 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14560 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14561 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14562 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14563 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14564 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14565 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14566 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14567 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14568 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14569 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14570 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14571 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14572 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14573 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14574 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14575 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14657 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14658 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14659 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14660 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14661 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14662 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14663 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14664 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14665 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14666 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14667 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14668 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14669 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14670 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14671 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14672 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14673 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14755 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14756 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14757 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14758 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14759 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14760 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14761 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14762 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14763 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14764 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14765 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14766 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14767 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14768 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14769 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14770 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14771 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14853 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14854 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14855 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14856 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14857 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14858 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14859 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14860 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14861 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14862 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14863 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14864 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14865 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14866 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14867 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14868 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14869 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +811 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +812 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +813 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +814 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +815 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +816 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +817 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +818 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +819 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +820 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +821 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +822 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +823 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +824 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +825 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +826 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +827 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +828 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +829 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +830 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +831 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +832 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +833 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +834 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +835 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +836 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +837 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +838 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +839 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +840 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +841 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +842 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +843 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +844 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +846 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14870 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14871 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14872 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14873 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14874 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14875 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14876 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14877 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14878 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14879 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14880 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14881 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14882 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14883 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14968 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14969 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14970 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14971 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14972 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14973 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14974 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14975 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14976 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14977 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14978 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14979 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14980 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14981 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15066 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15067 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15068 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15069 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15070 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15071 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15072 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15073 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15074 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15075 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15076 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15077 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15078 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15079 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15164 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15165 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15166 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15167 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15168 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15169 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15170 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15171 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15172 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15173 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15174 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15175 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15176 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15177 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15262 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15263 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15264 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15265 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15266 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15267 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15268 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15269 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15270 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15271 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15272 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15273 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15274 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15275 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15360 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15361 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15362 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15363 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15364 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15365 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15366 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15367 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15368 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15369 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15370 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15371 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15372 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15373 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15458 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15459 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15460 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15461 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15462 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15463 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15464 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15465 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15466 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15467 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15468 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15469 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15470 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15471 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15556 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15557 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15558 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15559 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15560 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15561 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15562 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15563 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15564 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15565 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15566 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15567 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15568 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15569 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15654 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15655 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15656 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15657 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15658 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15659 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15660 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14884 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14885 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14886 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14887 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14888 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14889 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14890 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14891 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14892 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14893 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14894 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14895 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14896 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14897 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14898 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14899 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14900 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14982 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14983 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14984 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14985 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14986 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14987 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14988 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14989 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14990 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14991 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14992 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14993 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14994 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14995 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14996 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14997 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14998 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15080 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15081 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15082 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15083 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15084 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15085 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15086 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15087 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15088 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15089 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15090 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15091 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15092 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15093 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15094 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15095 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15096 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15178 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15179 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15180 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15181 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15182 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15183 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15184 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15185 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15186 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15187 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15188 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15189 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15190 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15191 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15192 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15193 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15194 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15276 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15277 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15278 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15279 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15280 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15281 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15282 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15283 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15284 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15285 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15286 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15287 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15288 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15289 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15290 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15291 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15292 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15374 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15375 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15376 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15377 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15378 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15379 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15380 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15381 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15382 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15383 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15384 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15385 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15386 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15387 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15388 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15389 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15390 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15472 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15473 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15474 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15475 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15476 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15477 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15478 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15479 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15480 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15481 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15482 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15483 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15484 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15485 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15486 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15487 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15488 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15570 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15571 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15572 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15573 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15574 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15575 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15576 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15577 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15578 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15579 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15580 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15581 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15582 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15583 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15584 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15585 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15586 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15661 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15662 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15663 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15664 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15665 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15666 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15667 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15668 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14901 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14902 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14903 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14904 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14905 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14906 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14907 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14908 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14909 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14910 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14911 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14912 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14913 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14914 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14915 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14916 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14917 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14999 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15000 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15001 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15002 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15003 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15004 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15005 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15006 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15007 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15008 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15009 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15010 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15011 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15012 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15013 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15014 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15015 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15097 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15098 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15099 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15100 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15101 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15102 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15103 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15104 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15105 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15106 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15107 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15108 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15109 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15110 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15111 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15112 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15113 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15195 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15196 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15197 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15198 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15199 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15200 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15201 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15202 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15203 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15204 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15205 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15206 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15207 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15208 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15209 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15210 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15211 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15293 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15294 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15295 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15296 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15297 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15298 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15299 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15300 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15301 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15302 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15303 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15304 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15305 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15306 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15307 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15308 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15309 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15391 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15392 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15393 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15394 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15395 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15396 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15397 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15398 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15399 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15400 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15401 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15402 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15403 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15404 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15405 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15406 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15407 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15489 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15490 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15491 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15492 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15493 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15494 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15495 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15496 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15497 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15498 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15499 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15500 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15501 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15502 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15503 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15504 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15505 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15587 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15588 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15589 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15590 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15591 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15592 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15593 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15594 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15595 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15596 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15597 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15598 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15599 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15600 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15601 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15602 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15603 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15669 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15670 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15671 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15672 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15673 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15674 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15675 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15676 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15677 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14918 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14919 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14920 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14921 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14922 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14923 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14924 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14925 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14926 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14927 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14928 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14929 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14930 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14931 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14932 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14933 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15016 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15017 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15018 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15019 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15020 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15021 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15022 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15023 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15024 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15025 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15026 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15027 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15028 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15029 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15030 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15031 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15114 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15115 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15116 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15117 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15118 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15119 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15120 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15121 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15122 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15123 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15124 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15125 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15126 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15127 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15128 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15129 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15212 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15213 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15214 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15215 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15216 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15217 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15218 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15219 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15220 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15221 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15222 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15223 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15224 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15225 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15226 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15227 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15310 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15311 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15312 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15313 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15314 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15315 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15316 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15317 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15318 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15319 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15320 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15321 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15322 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15323 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15324 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15325 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15408 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15409 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15410 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15411 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15412 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15413 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15414 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15415 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15416 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15417 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15418 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15419 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15420 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15421 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15422 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15423 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15506 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15507 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15508 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15509 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15510 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15511 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15512 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15513 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15514 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15515 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15516 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15517 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15518 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15519 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15520 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15521 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15604 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15605 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15606 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15607 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15608 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15609 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15610 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15611 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15612 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15613 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15614 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15615 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15616 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15617 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15618 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15619 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15678 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15679 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15680 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15681 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15682 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15683 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15684 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15685 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14934 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14935 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14936 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14937 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14938 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14939 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14940 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14941 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14942 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14943 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14944 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14945 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14946 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14947 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14948 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14949 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14950 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15032 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15033 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15034 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15035 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15036 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15037 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15038 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15039 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15040 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15041 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15042 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15043 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15044 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15045 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15046 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15047 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15048 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15130 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15131 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15132 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15133 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15134 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15135 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15136 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15137 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15138 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15139 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15140 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15141 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15142 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15143 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15144 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15145 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15146 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15228 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15229 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15230 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15231 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15232 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15233 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15234 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15235 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15236 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15237 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15238 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15239 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15240 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15241 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15242 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15243 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15244 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15326 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15327 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15328 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15329 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15330 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15331 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15332 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15333 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15334 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15335 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15336 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15337 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15338 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15339 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15340 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15341 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15342 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15424 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15425 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15426 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15427 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15428 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15429 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15430 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15431 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15432 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15433 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15434 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15435 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15436 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15437 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15438 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15439 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15440 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15522 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15523 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15524 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15525 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15526 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15527 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15528 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15529 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15530 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15531 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15532 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15533 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15534 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15535 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15536 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15537 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15538 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15620 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15621 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15622 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15623 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15624 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15625 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15626 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15627 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15628 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15629 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15630 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15631 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15632 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15633 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15634 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15635 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15636 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15686 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15687 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15688 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15689 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15690 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15691 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15692 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15693 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14951 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14952 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14953 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14954 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14955 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14956 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14957 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14958 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14959 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14960 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14961 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14962 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14963 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14964 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14965 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14966 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14967 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15049 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15050 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15051 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15052 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15053 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15054 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15055 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15056 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15057 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15058 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15059 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15060 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15061 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15062 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15063 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15064 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15065 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15147 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15148 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15149 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15150 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15151 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15152 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15153 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15154 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15155 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15156 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15157 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15158 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15159 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15160 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15161 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15162 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15163 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15245 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15246 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15247 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15248 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15249 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15250 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15251 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15252 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15253 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15254 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15255 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15256 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15257 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15258 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15259 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15260 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15261 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15343 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15344 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15345 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15346 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15347 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15348 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15349 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15350 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15351 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15352 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15353 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15354 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15355 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15356 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15357 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15358 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15359 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15441 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15442 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15443 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15444 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15445 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15446 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15447 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15448 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15449 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15450 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15451 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15452 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15453 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15454 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15455 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15456 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15457 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15539 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15540 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15541 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15542 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15543 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15544 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15545 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15546 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15547 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15548 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15549 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15550 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15551 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15552 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15553 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15554 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15555 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15637 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15638 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15639 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15640 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15641 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15642 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15643 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15644 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15645 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15646 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15647 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15648 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15649 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15650 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15651 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15652 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15653 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15694 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15695 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15696 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15697 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15698 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15699 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15700 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15701 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15702 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +845 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +847 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +848 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +849 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +850 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +851 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +852 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +853 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +854 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +855 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +856 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +857 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +858 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +859 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +860 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +861 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +862 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +863 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +864 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +865 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +866 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +867 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +868 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +869 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +870 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +871 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +872 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +873 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +874 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +875 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +876 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +877 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +878 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +879 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +880 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +882 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +881 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +883 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +884 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +885 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +886 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +887 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +888 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +889 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +890 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +891 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +892 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +893 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +894 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +895 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +896 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +897 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +898 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +899 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +900 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +901 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +902 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +903 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +904 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +905 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +906 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +907 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +908 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +909 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +910 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +911 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +912 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +913 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +914 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +915 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +916 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +918 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +917 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +919 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +920 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +921 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +922 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +923 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +924 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +925 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +926 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +927 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +928 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +929 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +930 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +931 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +932 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +933 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +934 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +935 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +936 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +937 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +938 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +939 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +940 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +941 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +942 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +943 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +944 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +945 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +946 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +947 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +948 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +949 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +950 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +951 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +952 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +953 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +954 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +955 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +956 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +957 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +958 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +959 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +960 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +961 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +962 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +963 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +964 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +965 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +966 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +967 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +968 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +969 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +970 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +971 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +972 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +973 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +974 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +975 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +976 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +977 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +978 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +979 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +980 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +981 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +982 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +983 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +984 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +985 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +986 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +987 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +988 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +989 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +990 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +991 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +992 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +993 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +994 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +995 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +996 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +997 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +998 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +999 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1000 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1001 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1002 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1003 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1004 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1005 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1006 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1007 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1008 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1009 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1010 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1011 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1012 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1013 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1014 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1015 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1016 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1017 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1018 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1019 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1020 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1021 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1023 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1022 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1024 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1025 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1026 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1027 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1028 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1029 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1030 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1031 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1032 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1033 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1034 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1035 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1036 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1037 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1038 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1039 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1040 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1041 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1042 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1043 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1044 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1045 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1046 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1047 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1048 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1049 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1050 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1051 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1052 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1053 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1054 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1055 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1056 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1057 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1059 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1058 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1060 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1061 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1062 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1063 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1064 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1065 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1066 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1067 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1068 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1069 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1070 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1071 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1072 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1073 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1074 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1075 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1076 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1077 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1078 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1079 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1080 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1081 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1082 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1083 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1084 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1085 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1086 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1087 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1088 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1089 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1090 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1091 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1092 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1093 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1094 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1095 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1096 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1097 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1098 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1099 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1100 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1101 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1102 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1103 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1104 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1105 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1106 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1107 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1108 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1109 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1110 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1111 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1112 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1113 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1114 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1115 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1116 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1117 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1118 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1119 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1120 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1121 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1122 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1123 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1124 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1125 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1126 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1127 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1128 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1129 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1130 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1131 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1132 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1133 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1134 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1135 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1136 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1137 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1138 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1139 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1140 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1141 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1142 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1143 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1144 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1145 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1146 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1147 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1148 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1149 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1150 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1151 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1152 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1153 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1154 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1155 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1156 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1157 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1158 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1159 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1160 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1161 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1162 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1163 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1164 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1165 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1166 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1167 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1168 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1169 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1170 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1171 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1172 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1173 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1174 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1175 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1176 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1177 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1178 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1179 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1180 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1181 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1182 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1183 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1184 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1185 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1186 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1187 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1188 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1189 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1190 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1191 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1192 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1193 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1194 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1195 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1196 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1197 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1198 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1200 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1199 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1201 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1202 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1203 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1204 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1205 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1206 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1207 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1208 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1209 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1210 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1211 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1212 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1213 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1214 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1215 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1216 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1217 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1218 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1219 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1220 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1221 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1222 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1223 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1224 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1225 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1226 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1227 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1228 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1229 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1230 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1231 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1232 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1233 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1234 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1236 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1235 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1237 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1238 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1239 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1240 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1241 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1242 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1243 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1244 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1245 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1246 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1247 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1248 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1249 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1250 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1251 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1252 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1253 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1254 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1255 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1256 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1257 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1258 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1259 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1260 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1261 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1262 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1263 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1264 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1265 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1266 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1267 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1268 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1269 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1270 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1271 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1272 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1273 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1274 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1275 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1276 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1277 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1278 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1279 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1280 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1281 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1282 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1283 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1284 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1285 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1286 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1287 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1288 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1289 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1290 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1291 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1292 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1293 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1294 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1295 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1296 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1297 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1298 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1299 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1300 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1301 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1302 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1303 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1304 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1305 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1306 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1307 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1308 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1309 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1310 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1311 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1312 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1313 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1314 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1315 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1316 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1317 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1318 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1319 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1320 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1321 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1322 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1323 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1324 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1325 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1326 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1327 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1328 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1329 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1330 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1331 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1332 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1333 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1334 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1335 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1336 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1337 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1338 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1339 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1341 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1340 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1342 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1343 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1344 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1345 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1346 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1347 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1348 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1349 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1350 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1351 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1352 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1353 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1354 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1355 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1356 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1357 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1358 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1359 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1360 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1361 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1362 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1363 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1364 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1365 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1366 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1367 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1368 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1369 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1370 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1371 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1372 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1373 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1374 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1375 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1377 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1376 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1378 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1379 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1380 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1381 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1382 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1383 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1384 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1385 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1386 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1387 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1388 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1389 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1390 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1391 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1392 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1393 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1394 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1395 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1396 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1397 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1398 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1399 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1400 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1401 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1402 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1403 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1404 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1405 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1406 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1407 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1408 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1409 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1410 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1411 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1413 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1412 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1414 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1415 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1416 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1417 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1418 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1419 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1420 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1421 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1422 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1423 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1424 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1425 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1426 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1427 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1428 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1429 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1430 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1431 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1432 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1433 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1434 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1435 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1436 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1437 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1438 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1439 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1440 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1441 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1442 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1443 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1444 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1445 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1446 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1447 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1448 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1449 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1450 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1451 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1452 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1453 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1454 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1455 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1456 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1457 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1458 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1459 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1460 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1461 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1462 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1463 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1464 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1465 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1466 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1467 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1468 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1469 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1470 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1471 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1472 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1473 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1474 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1475 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1476 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1477 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1478 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1479 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1480 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1481 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1482 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1483 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1484 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1485 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1486 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1487 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1488 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1489 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1490 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1491 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1492 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1493 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1494 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1495 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1496 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1497 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1498 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1499 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1500 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1501 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1502 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1503 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1504 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1505 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1506 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1507 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1508 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1509 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1510 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1511 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1512 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1513 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1514 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1515 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1516 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1518 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1517 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1519 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1520 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1521 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1522 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1523 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1524 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1525 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1526 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1527 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1528 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1529 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1530 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1531 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1532 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1533 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1534 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1535 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1536 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1537 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1538 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1539 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1540 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1541 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1542 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1543 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1544 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1545 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1546 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1547 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1548 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1549 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1550 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1551 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1552 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1554 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1553 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1555 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1556 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1557 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1558 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1559 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1560 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1561 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1562 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1563 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1564 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1565 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1566 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1567 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1568 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1569 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1570 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1571 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1572 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1573 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1574 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1575 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1576 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1577 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1578 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1579 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1580 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1581 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1582 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1583 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1584 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1585 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1586 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1587 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1588 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1589 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1590 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1591 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1592 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1593 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1594 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1595 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1596 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1597 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1598 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1599 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1600 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1601 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1602 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1603 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1604 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1605 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1606 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1607 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1608 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1609 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1610 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1611 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1612 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1613 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1614 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1615 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1616 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1617 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1618 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1619 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1620 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1621 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1622 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1623 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1624 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1625 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1626 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1627 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1628 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1629 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1630 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1631 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1632 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1633 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1634 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1635 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1636 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1637 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1638 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1639 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1640 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1641 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1642 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1643 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1644 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1645 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1646 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1647 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1648 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1649 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1650 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1651 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1652 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1653 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1654 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1655 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1656 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1657 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1658 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1659 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1660 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1661 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1662 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1663 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1664 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1665 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1666 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1667 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1668 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1669 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1670 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1671 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1672 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1673 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1674 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1675 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1676 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1677 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1678 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1679 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1680 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1681 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1682 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1683 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1684 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1685 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1686 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1687 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1688 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1689 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1690 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1691 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1692 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1693 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1695 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1694 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1696 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1697 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1698 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1699 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1700 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1701 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1702 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1703 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1704 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1705 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1706 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1707 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1708 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1709 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1710 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1711 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1712 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1713 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1714 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1715 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1716 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1717 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1718 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1719 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1720 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1721 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1722 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1723 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1724 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1725 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1726 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1727 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1728 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1729 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1731 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1730 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1732 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1733 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1734 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1735 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1736 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1737 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1738 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1739 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1740 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1741 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1742 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1743 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1744 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1745 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1746 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1747 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1748 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1749 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1750 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1751 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1752 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1753 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1754 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1755 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1756 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1757 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1758 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1759 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1760 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1761 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1762 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1763 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1764 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1765 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1766 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1767 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1768 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1769 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1770 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1771 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1772 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1773 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1774 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1775 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1776 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1777 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1778 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1779 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1780 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1781 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1782 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1783 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1784 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1785 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1786 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1787 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1788 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1789 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1790 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1791 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1792 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1793 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1794 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1795 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1796 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1797 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1798 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1799 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1800 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1801 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1802 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1803 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1804 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1805 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1806 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1807 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1808 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1809 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1810 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1811 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1812 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1813 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1814 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1815 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1816 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1817 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1818 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1819 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1820 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1821 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1822 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1823 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1824 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1825 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1826 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1827 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1828 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1829 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1830 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1831 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1832 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1833 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1834 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1836 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1835 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1837 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1838 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1839 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1840 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1841 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1842 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1843 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1844 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1845 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1846 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1847 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1848 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1849 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1850 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1851 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1852 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1853 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1854 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1855 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1856 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1857 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1858 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1859 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1860 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1861 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1862 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1863 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1864 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1865 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1866 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1867 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1868 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1869 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1870 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1872 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1871 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1873 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1874 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1875 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1876 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1877 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1878 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1879 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1880 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1881 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1882 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1883 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1884 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1885 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1886 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1887 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1888 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1889 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1890 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1891 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1892 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1893 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1894 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1895 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1896 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1897 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1898 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1899 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1900 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1901 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1902 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1903 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1904 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1905 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1906 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1908 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1907 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1909 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1910 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1911 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1912 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1913 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1914 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1915 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1916 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1917 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1918 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1919 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1920 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1921 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1922 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1923 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1924 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1925 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1926 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1927 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1928 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1929 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1930 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1931 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1932 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1933 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1934 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1935 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1936 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1937 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1938 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1939 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1940 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1941 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1942 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1943 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1944 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1945 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1946 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1947 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1948 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1949 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1950 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1951 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1952 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1953 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1954 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1955 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1956 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1957 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1958 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1959 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1960 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1961 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1962 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1963 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1964 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1965 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1966 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1967 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1968 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1969 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1970 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1971 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1972 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1973 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1974 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1975 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1976 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1977 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1978 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1979 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1980 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1981 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1982 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1983 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1984 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1985 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1986 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1987 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1988 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1989 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1990 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1991 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1992 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1993 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1994 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1995 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1996 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1997 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1998 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1999 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2000 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2001 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2002 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2003 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2004 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2005 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2006 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2007 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2008 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2009 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2010 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2011 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2013 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2012 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2014 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2015 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2016 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2017 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2018 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2019 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2020 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2021 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2022 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2023 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2024 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2025 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2026 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2027 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2028 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2029 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2030 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2031 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2032 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2033 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2034 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2035 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2036 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2037 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2038 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2039 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2040 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2041 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2042 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2043 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2044 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2045 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2046 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2047 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2049 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2048 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2050 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2051 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2052 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2053 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2054 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2055 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2056 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2057 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2058 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2059 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2060 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2061 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2062 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2063 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2064 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2065 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2066 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2067 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2068 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2069 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2070 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2071 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2072 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2073 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2074 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2075 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2076 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2077 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2078 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2079 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2080 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2081 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2082 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2083 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2084 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2085 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2086 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2087 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2088 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2089 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2090 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2091 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2092 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2093 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2094 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2095 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2096 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2097 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2098 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2099 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2100 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2101 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2102 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2103 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2104 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2105 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2106 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2107 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2108 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2109 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2110 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2111 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2112 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2113 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2114 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2115 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2116 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2117 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2118 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2119 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2120 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2121 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2122 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2123 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2124 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2125 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2126 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2256 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2257 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2258 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2259 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2260 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2261 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2262 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2263 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2264 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2265 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2266 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2267 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2268 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2269 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2270 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2271 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2272 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2273 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2274 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2275 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2276 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2277 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2278 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2279 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2127 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2128 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2129 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2130 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2131 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2132 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2133 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2134 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2135 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2136 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2137 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2138 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2280 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2281 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2282 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2283 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2284 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2285 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2286 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2287 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2288 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2289 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2290 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2291 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2292 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2293 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2294 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2295 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2296 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2297 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2298 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2299 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2300 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2301 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2302 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2303 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2139 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2140 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2141 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2142 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2143 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2144 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2145 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2146 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2147 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2148 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2149 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2304 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2305 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2306 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2307 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2308 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2309 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2310 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2311 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2312 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2313 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2314 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2315 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2316 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2317 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2318 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2319 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2320 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2321 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2322 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2323 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2324 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2325 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2326 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2150 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2151 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2152 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2153 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2154 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2155 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2156 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2157 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2158 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2159 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2160 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2161 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2327 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2328 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2329 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2330 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2331 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2332 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2333 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2334 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2335 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2336 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2337 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2338 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2339 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2340 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2341 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2342 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2343 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2344 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2345 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2346 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2347 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2348 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2349 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2350 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2162 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2163 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2164 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2165 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2166 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2167 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2168 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2169 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2170 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2171 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2172 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2173 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2351 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2352 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2353 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2354 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2355 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2356 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2357 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2358 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2359 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2360 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2361 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2362 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2363 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2364 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2365 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2366 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2367 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2368 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2369 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2370 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2371 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2372 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2373 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2174 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2175 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2176 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2177 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2178 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2179 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2180 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2181 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2182 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2183 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2184 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2185 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2374 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2375 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2376 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2377 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2378 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2379 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2380 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2381 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2382 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2383 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2384 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2385 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2386 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2387 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2388 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2389 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2390 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2391 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2392 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2393 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2394 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2395 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2396 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2397 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2186 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2187 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2188 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2189 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2190 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2191 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2192 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2193 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2194 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2195 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2196 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2197 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2398 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2399 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2400 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2401 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2402 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2403 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2404 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2405 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2406 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2407 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2408 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2409 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2410 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2411 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2412 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2413 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2414 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2415 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2416 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2417 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2418 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2419 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2420 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2421 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2198 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2199 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2200 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2201 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2202 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2203 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2204 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2205 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2206 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2207 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2208 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2422 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2423 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2424 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2425 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2426 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2427 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2428 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2429 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2430 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2431 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2432 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2433 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2434 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2435 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2436 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2437 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2438 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2439 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2440 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2441 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2442 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2443 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2444 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2209 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2210 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2211 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2212 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2213 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2214 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2215 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2216 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2217 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2218 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2219 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2220 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2445 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2446 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2447 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2448 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2449 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2450 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2451 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2452 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2453 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2454 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2455 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2456 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2457 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2458 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2459 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2460 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2461 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2462 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2463 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2464 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2465 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2466 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2467 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2468 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2221 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2222 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2223 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2224 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2225 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2226 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2227 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2228 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2229 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2230 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2231 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2232 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2469 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2470 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2471 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2472 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2473 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2474 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2475 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2476 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2477 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2478 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2479 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2480 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2481 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2482 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2483 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2484 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2485 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2486 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2487 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2488 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2489 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2490 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2491 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2233 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2234 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2235 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2236 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2237 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2238 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2239 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2240 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2241 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2242 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2243 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2244 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2492 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2493 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2494 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2495 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2496 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2497 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2498 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2499 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2500 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2501 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2502 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2503 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2504 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2505 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2506 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2507 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2508 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2509 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2510 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2511 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2512 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2513 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2514 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2515 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2245 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2246 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2247 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2248 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2249 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2250 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2251 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2252 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2253 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2254 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2255 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2516 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2517 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2518 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2519 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2520 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2521 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2522 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2523 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2524 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2525 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2526 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2527 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2528 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2529 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2530 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2531 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2532 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2533 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2534 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2535 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2536 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2537 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2538 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2539 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2540 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2541 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2542 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2543 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2544 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2545 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2546 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2547 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2548 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2549 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2550 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2551 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2552 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2553 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2554 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2555 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2556 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2557 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2558 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2559 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2560 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2561 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2562 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2822 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2823 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2824 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2825 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2826 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2827 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2828 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2829 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2830 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2831 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2832 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2833 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5077 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5078 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5079 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5080 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5081 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5082 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5083 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5084 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5085 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5086 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5087 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5088 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5089 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5090 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5091 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5092 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5093 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5094 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5095 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5096 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5097 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5098 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5099 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5119 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5120 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5121 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5122 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5123 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5124 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5125 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5126 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5127 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5128 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5129 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5130 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5131 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5132 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5133 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5134 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5135 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5136 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5137 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5138 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5139 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5159 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5160 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5161 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5162 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5163 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5164 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5165 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5166 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5167 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5168 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5169 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5170 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5171 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5172 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5173 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5174 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5175 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5176 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5177 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5197 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5198 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5199 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5200 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5201 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5202 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5203 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5204 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5205 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5206 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5207 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5208 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5209 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5210 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5211 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5212 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5213 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5233 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5234 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5235 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5236 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5237 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5238 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5239 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5240 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5241 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5242 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5243 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5244 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5245 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5246 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5247 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5267 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5268 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5269 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5270 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5271 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5272 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5273 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5274 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5275 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5276 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5277 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5278 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5279 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5299 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5300 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5301 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5302 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5303 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5304 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5305 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5306 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5307 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5308 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5309 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5329 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5330 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5331 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5332 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5333 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5334 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5335 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5336 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5337 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5357 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5358 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5359 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5360 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5361 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5362 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5363 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5383 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5384 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5385 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5386 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5387 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5407 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5408 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5409 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5429 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2563 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2564 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2565 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2566 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2567 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2568 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2569 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2570 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2571 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2572 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2573 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2574 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2575 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2576 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2577 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2578 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2579 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2580 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2581 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2582 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2583 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2584 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2585 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2586 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2834 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2835 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2836 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2837 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2838 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2839 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2840 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2841 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2842 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2843 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2844 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2845 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5100 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5101 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5102 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5103 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5104 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5105 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5106 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5107 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5108 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5109 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5110 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5111 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5112 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5113 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5114 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5115 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5116 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5117 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5118 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5140 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5141 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5142 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5143 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5144 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5145 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5146 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5147 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5148 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5149 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5150 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5151 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5152 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5153 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5154 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5155 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5156 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5157 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5158 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5178 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5179 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5180 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5181 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5182 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5183 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5184 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5185 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5186 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5187 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5188 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5189 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5190 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5191 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5192 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5193 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5194 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5195 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5196 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5214 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5215 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5216 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5217 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5218 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5219 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5220 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5221 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5222 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5223 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5224 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5225 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5226 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5227 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5228 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5229 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5230 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5231 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5232 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5248 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5249 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5250 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5251 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5252 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5253 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5254 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5255 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5256 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5257 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5258 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5259 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5260 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5261 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5262 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5263 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5264 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5265 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5266 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5280 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5281 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5282 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5283 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5284 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5285 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5286 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5287 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5288 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5289 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5290 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5291 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5292 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5293 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5294 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5295 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5296 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5297 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5298 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5310 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5311 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5312 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5313 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5314 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5315 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5316 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5317 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5318 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5319 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5320 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5321 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5322 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5323 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5324 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5325 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5326 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5327 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5328 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5338 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5339 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5340 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5341 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5342 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5343 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5344 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5345 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5346 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5347 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5348 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5349 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5350 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5351 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5352 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5353 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5354 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5355 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5356 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5364 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5365 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5366 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5367 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5368 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5369 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5370 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5371 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5372 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5373 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5374 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5375 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5376 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5377 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5378 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5379 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5380 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5381 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5382 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5388 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5389 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5390 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5391 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5392 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5393 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5394 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5395 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5396 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5397 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5398 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5399 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5400 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5401 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5402 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5403 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5404 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5405 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5406 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5410 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5411 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5412 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5413 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5414 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5415 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5416 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5417 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5418 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5419 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5420 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5421 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5422 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5423 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5424 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5425 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5426 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5427 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5428 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5430 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5431 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5432 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5433 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5434 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5435 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5436 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5437 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5438 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5439 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5440 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5441 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5442 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5443 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5444 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5445 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5446 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5447 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5448 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2587 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2588 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2589 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2590 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2591 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2592 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2593 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2594 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2595 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2596 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2597 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2598 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2599 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2600 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2601 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2602 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2603 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2604 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2605 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2606 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2607 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2608 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2609 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2846 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2847 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2848 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2849 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2850 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2851 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2852 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2853 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2854 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2855 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2856 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2610 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2611 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2612 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2613 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2614 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2615 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2616 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2617 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2618 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2619 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2620 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2621 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2622 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2623 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2624 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2625 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2626 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2627 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2628 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2629 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2630 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2631 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2632 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2633 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2857 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2858 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2859 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2860 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2861 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2862 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2863 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2864 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2865 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2866 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2867 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2868 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2634 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2635 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2636 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2637 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2638 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2639 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2640 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2641 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2642 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2643 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2644 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2645 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2646 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2647 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2648 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2649 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2650 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2651 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2652 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2653 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2654 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2655 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2656 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2869 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2870 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2871 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2872 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2873 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2874 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2875 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2876 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2877 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2878 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2879 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2880 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2657 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2658 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2659 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2660 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2661 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2662 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2663 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2664 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2665 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2666 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2667 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2668 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2669 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2670 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2671 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2672 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2673 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2674 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2675 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2676 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2677 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2678 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2679 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2680 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2881 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2882 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2883 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2884 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2885 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2886 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2887 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2888 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2889 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2890 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2891 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2892 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2681 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2682 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2683 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2684 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2685 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2686 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2687 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2688 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2689 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2690 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2691 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2692 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2693 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2694 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2695 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2696 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2697 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2698 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2699 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2700 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2701 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2702 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2703 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2893 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2894 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2895 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2896 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2897 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2898 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2899 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2900 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2901 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2902 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2903 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2704 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2705 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2706 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2707 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2708 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2709 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2710 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2711 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2712 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2713 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2714 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2715 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2716 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2717 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2718 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2719 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2720 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2721 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2722 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2723 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2724 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2725 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2726 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2727 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2904 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2905 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2906 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2907 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2908 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2909 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2910 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2911 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2912 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2913 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2914 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2915 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2728 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2729 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2730 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2731 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2732 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2733 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2734 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2735 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2736 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2737 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2738 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2739 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2740 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2741 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2742 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2743 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2744 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2745 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2746 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2747 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2748 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2749 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2750 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2751 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2916 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2917 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2918 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2919 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2920 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2921 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2922 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2923 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2924 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2925 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2926 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2927 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2752 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2753 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2754 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2755 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2756 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2757 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2758 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2759 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2760 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2761 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2762 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2763 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2764 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2765 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2766 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2767 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2768 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2769 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2770 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2771 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2772 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2773 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2774 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2928 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2929 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2930 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2931 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2932 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2933 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2934 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2935 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2936 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2937 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2938 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2939 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2775 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2776 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2777 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2778 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2779 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2780 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2781 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2782 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2783 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2784 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2785 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2786 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2787 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2788 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2789 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2790 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2791 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2792 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2793 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2794 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2795 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2796 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2797 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2798 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2940 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2941 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2942 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2943 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2944 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2945 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2946 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2947 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2948 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2949 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2950 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2951 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5539 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5540 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5541 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5542 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5543 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5544 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5545 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5546 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5547 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5548 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5549 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5550 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5551 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5552 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5553 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5554 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5555 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5556 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5557 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5581 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5582 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5583 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5584 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5585 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5586 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5587 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5588 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5589 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5590 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5591 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5592 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5593 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5594 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5595 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5596 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5597 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5621 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5622 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5623 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5624 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5625 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5626 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5627 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5628 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5629 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5630 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5631 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5632 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5633 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5634 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5635 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5659 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5660 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5661 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5662 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5663 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5664 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5665 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5666 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5667 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5668 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5669 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5670 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5671 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5695 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5696 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5697 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5698 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5699 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5700 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5701 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5702 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5703 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5704 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5705 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5729 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5730 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5731 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5732 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5733 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5734 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5735 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5736 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5737 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5761 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5762 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5763 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5764 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5765 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5766 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5767 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5791 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5792 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5793 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5794 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5795 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5819 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5820 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5821 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5845 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2799 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2800 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2801 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2802 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2803 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2804 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2805 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2806 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2807 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2808 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2809 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2810 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2811 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2812 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2813 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2814 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2815 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2816 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2817 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2818 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2819 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2820 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2821 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2952 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2953 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2954 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2955 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2956 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2957 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2958 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2959 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2960 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2961 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2962 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2963 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2964 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2965 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2966 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2967 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2968 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2969 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2970 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2971 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2972 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2973 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2974 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2975 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2976 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2977 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2978 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2979 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2980 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2981 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2982 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2983 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2984 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2985 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2986 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2987 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2988 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2989 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2990 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2991 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2992 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2993 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2994 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5558 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5559 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5560 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5561 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5562 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5563 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5564 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5565 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5566 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5567 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5568 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5569 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5570 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5571 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5572 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5573 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5574 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5575 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5576 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5577 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5578 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5579 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5580 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5598 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5599 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5600 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5601 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5602 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5603 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5604 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5605 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5606 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5607 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5608 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5609 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5610 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5611 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5612 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5613 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5614 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5615 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5616 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5617 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5618 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5619 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5620 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5636 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5637 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5638 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5639 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5640 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5641 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5642 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5643 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5644 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5645 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5646 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5647 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5648 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5649 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5650 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5651 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5652 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5653 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5654 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5655 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5656 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5657 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5658 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5672 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5673 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5674 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5675 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5676 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5677 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5678 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5679 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5680 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5681 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5682 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5683 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5684 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5685 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5686 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5687 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5688 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5689 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5690 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5691 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5692 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5693 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5694 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5706 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5707 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5708 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5709 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5710 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5711 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5712 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5713 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5714 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5715 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5716 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5717 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5718 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5719 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5720 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5721 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5722 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5723 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5724 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5725 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5726 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5727 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5728 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5738 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5739 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5740 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5741 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5742 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5743 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5744 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5745 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5746 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5747 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5748 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5749 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5750 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5751 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5752 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5753 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5754 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5755 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5756 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5757 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5758 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5759 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5760 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5768 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5769 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5770 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5771 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5772 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5773 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5774 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5775 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5776 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5777 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5778 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5779 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5780 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5781 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5782 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5783 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5784 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5785 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5786 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5787 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5788 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5789 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5790 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5796 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5797 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5798 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5799 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5800 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5801 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5802 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5803 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5804 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5805 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5806 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5807 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5808 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5809 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5810 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5811 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5812 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5813 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5814 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5815 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5816 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5817 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5818 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5822 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5823 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5824 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5825 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5826 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5827 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5828 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5829 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5830 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5831 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5832 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5833 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5834 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5835 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5836 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5837 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5838 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5839 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5840 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5841 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5842 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5843 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5844 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5846 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5847 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5848 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5849 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5850 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5851 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5852 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5853 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5854 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5855 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5856 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5857 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5858 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5859 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5860 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5861 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5862 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5863 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5864 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5865 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5866 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5867 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5868 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5869 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5870 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5871 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5872 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5873 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5874 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5875 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5876 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5877 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5878 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5879 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5880 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5881 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5882 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5883 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5884 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5885 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5886 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5887 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5888 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5889 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5890 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5891 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5892 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5893 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5894 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5895 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5896 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5897 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5898 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5899 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5900 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5901 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5902 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5903 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5904 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5905 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5906 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5907 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5908 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5909 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5910 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5449 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5450 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5451 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5452 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5453 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5454 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5455 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5456 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5457 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5458 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5459 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5460 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5461 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5462 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5463 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5464 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5465 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5466 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5467 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5468 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5469 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5470 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5471 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5472 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5473 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5474 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5475 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5476 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5477 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5478 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5479 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5480 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5481 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5482 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5483 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5484 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5485 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5486 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5487 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5488 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5489 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5490 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5491 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5492 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5493 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5494 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5495 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5496 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5497 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5498 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5499 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5500 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5501 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5502 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5503 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5504 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5505 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5506 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5507 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5508 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5509 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5510 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5511 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5512 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5513 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5514 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5515 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5516 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5517 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5518 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5519 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5520 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5521 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5522 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5523 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5524 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5525 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5526 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5527 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5528 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5529 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5530 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5531 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5532 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5533 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5534 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5535 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5536 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5537 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5538 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2995 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2996 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2997 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2998 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2999 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3000 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3001 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3002 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3003 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3004 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3005 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3006 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3007 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3008 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3009 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3010 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3011 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3012 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3013 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3014 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3015 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3016 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3017 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3018 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3019 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3020 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3021 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3022 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3023 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3024 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3025 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3026 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3027 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3028 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3029 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3030 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5911 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5912 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5913 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5914 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5915 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5916 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5917 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5918 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5919 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5920 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5921 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5922 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5923 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5924 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5925 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5926 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5927 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5928 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5929 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5930 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5931 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5932 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5933 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5934 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5935 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5936 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5937 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5938 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5939 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5940 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5941 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5942 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5943 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5944 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5945 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5946 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5947 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5948 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5949 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5950 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5951 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5952 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5953 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5954 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5955 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5956 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5957 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5958 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5959 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5960 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5961 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5962 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5963 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5964 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5965 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5966 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5967 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5968 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5969 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5970 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5971 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5972 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5973 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5974 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5975 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5976 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5977 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5978 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5979 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5980 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5981 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5982 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5983 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5984 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5985 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5986 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5987 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5988 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5989 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5990 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5991 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5992 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5993 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5994 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5995 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5996 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5997 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5998 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5999 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6000 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3031 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3032 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3033 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3034 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3035 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3036 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3037 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3038 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3039 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3040 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3041 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3042 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3043 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3044 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3045 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3046 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3047 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3048 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3049 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3050 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3051 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3052 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3053 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3054 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3055 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3056 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3057 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3058 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3059 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3060 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3061 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3062 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3063 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3065 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3064 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3066 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3067 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3068 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3069 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3070 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3071 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3072 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3073 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3074 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3075 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3076 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3077 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3078 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3079 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3080 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3081 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3082 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3083 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3084 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3085 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3086 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3087 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3088 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3089 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3090 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3091 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3092 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3093 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3094 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3095 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3096 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3097 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3098 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3099 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3101 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3100 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3102 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3103 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3104 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3105 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3106 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3107 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3108 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3109 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3110 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3111 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3112 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3113 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3114 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3115 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3116 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3117 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3118 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3119 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3120 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3121 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3122 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3123 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3124 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3125 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3126 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3127 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3128 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3129 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3130 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3131 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3132 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3133 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3134 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3135 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3136 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3137 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3138 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3139 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3140 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3141 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3142 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3143 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3144 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3145 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3146 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3147 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3148 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3149 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3150 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3151 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3152 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3153 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3154 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3155 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3156 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3157 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3158 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3159 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3160 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3161 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3162 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3163 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3164 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3165 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3166 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3167 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3168 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3169 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3170 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3171 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3172 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3173 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3174 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3175 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3176 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3177 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3178 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3179 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3180 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3181 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3182 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3183 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3184 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3185 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3186 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3187 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3188 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3189 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3190 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3191 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3192 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3193 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3194 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3195 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3196 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3197 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3198 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3199 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3200 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3201 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3202 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3203 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3204 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3205 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3206 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3207 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3208 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3209 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3210 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3211 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3212 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3213 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3214 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3215 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3216 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3217 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3218 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3219 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3220 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3221 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3222 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3223 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3224 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3225 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3226 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3227 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3228 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3229 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3230 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3231 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3232 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3233 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3234 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3235 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3236 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3237 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3238 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3239 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3240 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3242 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3241 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3243 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3244 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3245 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3246 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3247 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3248 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3249 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3250 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3251 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3252 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3253 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3254 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3255 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3256 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3257 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3258 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3259 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3260 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3261 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3262 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3263 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3264 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3265 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3266 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3267 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3268 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3269 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3270 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3271 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3272 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3273 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3274 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3275 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3276 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3278 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3277 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3279 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3280 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3281 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3282 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3283 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3284 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3285 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3286 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3287 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3288 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3289 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3290 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3291 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3292 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3293 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3294 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3295 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3296 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3297 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3298 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3299 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3300 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3301 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3302 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3303 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3304 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3305 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3306 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3307 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3308 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3309 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3310 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3311 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3312 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3313 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3314 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3315 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3316 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3317 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3318 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3319 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3320 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3321 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3322 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3323 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3324 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3325 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3326 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3327 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3328 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3329 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3330 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3331 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3332 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3333 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3334 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3335 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3336 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3337 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3338 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3339 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3340 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3341 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3342 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3343 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3344 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3345 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3346 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3347 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3348 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3349 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3350 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3351 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3352 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3353 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3354 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3355 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3356 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3357 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3358 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3359 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3360 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3361 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3362 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3363 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3364 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3365 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3366 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3367 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3368 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3369 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3370 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3371 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3372 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3373 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3374 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3375 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3376 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3377 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3378 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3379 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3380 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3381 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3383 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3382 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3384 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3385 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3386 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3387 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3388 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3389 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3390 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3391 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3392 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3393 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3394 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3395 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3396 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3397 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3398 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3399 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3400 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3401 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3402 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3403 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3404 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3405 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3406 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3407 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3408 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3409 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3410 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3411 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3412 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3413 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3414 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3415 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3416 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3417 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3419 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3418 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3420 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3421 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3422 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3423 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3424 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3425 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3426 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3427 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3428 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3429 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3430 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3431 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3432 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3433 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3434 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3435 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3436 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3437 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3438 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3439 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3440 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3441 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3442 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3443 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3444 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3445 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3446 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3447 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3448 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3449 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3450 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3451 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3452 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3453 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3455 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3454 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3456 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3457 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3458 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3459 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3460 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3461 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3462 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3463 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3464 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3465 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3466 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3467 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3468 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3469 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3470 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3471 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3472 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3473 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3474 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3475 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3476 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3477 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3478 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3479 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3480 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3481 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3482 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3483 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3484 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3485 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3486 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3487 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3488 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3489 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3490 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3491 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3492 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3493 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3494 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3495 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3496 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3497 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3498 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3499 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3500 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3501 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3502 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3503 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3504 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3505 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3506 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3507 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3508 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3509 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3510 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3511 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3512 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3513 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3514 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3515 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3516 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3517 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3518 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3519 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3520 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3521 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3522 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3523 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3524 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3525 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3526 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3527 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3528 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3529 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3530 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3531 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3532 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3533 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3534 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3535 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3536 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3537 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3538 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3539 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3540 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3541 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3542 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3543 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3544 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3545 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3546 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3547 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3548 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3549 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3550 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3551 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3552 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3553 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3554 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3555 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3556 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3557 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3558 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3560 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3559 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3561 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3562 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3563 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3564 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3565 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3566 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3567 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3568 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3569 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3570 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3571 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3572 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3573 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3574 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3575 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3576 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3577 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3578 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3579 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3580 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3581 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3582 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3583 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3584 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3585 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3586 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3587 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3588 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3589 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3590 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3591 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3592 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3593 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3594 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3596 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3595 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3597 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3598 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3599 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3600 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3601 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3602 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3603 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3604 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3605 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3606 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3607 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3608 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3609 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3610 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3611 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3612 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3613 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3614 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3615 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3616 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3617 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3618 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3619 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3620 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3621 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3622 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3623 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3624 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3625 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3626 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3627 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3628 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3629 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3630 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3631 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3632 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3633 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3634 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3635 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3636 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3637 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3638 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3639 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3640 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3641 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3642 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3643 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3644 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3645 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3646 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3647 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3648 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3649 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3650 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3651 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3652 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3653 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3654 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3655 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3656 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3657 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3658 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3659 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3660 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3661 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3662 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3663 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3664 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3665 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3666 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3667 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3668 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3669 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3670 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3671 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3672 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3673 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3674 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3675 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3676 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3677 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3678 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3679 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3680 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3681 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3682 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3683 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3684 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3685 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3686 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3687 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3688 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3689 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3690 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3691 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3692 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3693 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3694 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3695 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3696 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3697 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3698 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3699 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3700 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3701 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3702 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3703 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3704 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3705 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3706 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3707 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3708 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3709 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3710 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3711 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3712 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3713 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3714 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3715 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3716 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3717 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3718 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3719 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3720 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3721 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3722 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3723 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3724 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3725 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3726 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3727 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3728 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3729 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3730 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3731 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3732 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3733 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3734 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3735 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3737 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3736 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3738 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3739 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3740 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3741 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3742 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3743 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3744 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3745 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3746 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3747 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3748 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3749 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3750 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3751 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3752 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3753 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3754 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3755 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3756 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3757 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3758 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3759 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3760 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3761 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3762 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3763 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3764 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3765 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3766 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3767 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3768 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3769 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3770 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3771 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3773 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3772 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3774 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3775 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3776 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3777 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3778 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3779 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3780 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3781 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3782 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3783 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3784 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3785 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3786 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3787 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3788 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3789 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3790 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3791 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3792 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3793 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3794 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3795 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3796 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3797 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3798 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3799 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3800 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3801 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3802 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3803 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3804 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3805 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3806 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3807 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3808 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3809 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3810 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3811 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3812 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3813 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3814 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3815 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3816 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3817 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3818 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3819 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3820 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3821 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3822 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3823 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3824 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3825 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3826 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3827 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3828 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3829 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3830 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3831 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3832 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3833 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3834 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3835 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3836 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3837 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3838 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3839 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3840 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3841 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3842 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3843 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3844 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3845 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3846 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3847 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3848 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3849 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3850 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3851 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3852 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3853 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3854 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3855 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3856 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3857 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3858 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3859 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3860 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3861 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3862 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3863 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3864 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3865 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3866 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3867 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3868 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3869 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3870 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3871 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3872 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3873 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3874 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3875 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3876 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3878 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3877 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3879 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3880 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3881 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3882 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3883 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3884 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3885 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3886 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3887 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3888 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3889 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3890 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3891 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3892 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3893 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3894 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3895 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3896 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3897 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3898 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3899 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3900 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3901 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3902 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3903 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3904 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3905 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3906 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3907 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3908 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3909 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3910 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3911 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3912 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3914 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3913 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3915 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3916 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3917 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3918 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3919 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3920 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3921 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3922 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3923 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3924 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3925 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3926 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3927 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3928 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3929 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3930 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3931 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3932 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3933 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3934 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3935 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3936 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3937 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3938 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3939 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3940 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3941 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3942 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3943 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3944 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3945 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3946 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3947 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3948 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3950 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3949 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3951 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3952 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3953 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3954 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3955 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3956 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3957 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3958 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3959 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3960 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3961 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3962 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3963 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3964 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3965 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3966 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3967 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3968 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3969 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3970 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3971 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3972 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3973 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3974 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3975 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3976 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3977 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3978 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3979 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3980 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3981 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3982 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3983 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3984 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3985 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3986 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3987 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3988 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3989 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3990 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3991 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3992 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3993 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3994 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3995 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3996 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3997 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3998 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3999 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4000 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4001 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4002 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4003 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4004 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4005 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4006 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4007 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4008 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4009 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4010 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4011 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4012 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4013 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4014 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4015 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4016 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4017 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4018 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4019 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4020 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4021 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4022 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4023 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4024 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4025 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4026 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4027 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4028 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4029 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4030 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4031 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4032 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4033 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4034 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4035 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4036 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4037 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4038 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4039 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4040 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4041 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4042 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4043 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4044 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4045 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4046 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4047 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4048 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4049 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4050 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4051 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4052 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4053 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4055 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4054 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4056 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4057 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4058 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4059 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4060 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4061 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4062 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4063 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4064 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4065 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4066 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4067 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4068 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4069 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4070 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4071 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4072 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4073 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4074 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4075 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4076 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4077 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4078 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4079 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4080 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4081 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4082 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4083 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4084 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4085 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4086 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4087 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4088 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4089 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4091 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4090 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4092 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4093 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4094 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4095 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4096 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4097 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4098 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4099 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4100 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4101 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4102 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4103 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4104 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4105 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4106 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4107 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4108 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4109 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4110 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4111 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4112 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4113 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4114 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4115 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4116 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4117 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4118 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4119 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4120 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4121 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4122 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4123 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4124 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4125 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4126 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4127 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4128 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4129 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4130 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4131 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4132 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4133 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4134 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4135 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4136 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4137 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4138 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4139 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4140 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4141 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4142 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4143 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4144 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4145 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4146 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4147 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4148 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4149 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4150 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4151 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4152 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4153 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4154 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4155 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4156 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4157 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4158 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4159 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4160 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4161 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4162 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4163 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4164 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4165 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4166 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4167 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4168 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4169 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4170 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4171 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4172 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4173 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4174 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4175 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4176 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4177 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4178 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4179 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4180 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4181 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4182 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4183 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4184 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4185 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4186 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4187 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4188 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4189 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4190 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4191 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4192 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4193 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4194 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4195 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4196 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4197 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4198 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4199 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4200 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4201 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4202 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4203 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4204 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4205 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4206 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4207 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4208 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4209 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4210 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4211 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4212 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4213 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4214 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4215 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4216 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4217 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4218 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4219 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4220 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4221 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4222 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4223 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4224 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4225 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4226 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4227 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4228 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4229 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4230 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4232 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4231 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4233 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4234 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4235 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4236 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4237 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4238 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4239 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4240 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4241 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4242 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4243 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4244 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4245 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4246 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4247 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4248 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4249 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4250 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4251 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4252 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4253 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4254 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4255 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4256 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4257 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4258 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4259 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4260 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4261 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4262 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4263 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4264 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4265 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4266 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4268 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4267 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4269 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4270 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4271 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4272 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4273 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4274 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4275 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4276 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4277 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4278 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4279 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4280 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4281 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4282 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4283 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4284 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4285 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4286 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4287 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4288 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4289 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4290 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4291 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4292 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4293 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4294 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4295 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4296 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4297 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4298 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4299 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4300 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4301 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4302 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4303 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4304 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4305 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4306 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4307 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4308 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4309 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4310 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4311 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4312 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4313 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4314 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4315 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4316 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4317 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4318 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4319 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4320 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4321 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4322 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4323 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4324 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4325 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4326 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4327 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4328 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4329 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4330 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4331 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4332 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4333 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4334 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4335 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4336 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4337 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4338 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4339 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4340 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4341 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4342 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4343 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4344 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4345 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4346 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4347 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4348 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4349 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4350 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4351 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4352 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4353 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4354 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4355 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4356 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4357 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4358 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4359 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4360 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4361 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4362 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4363 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4364 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4365 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4366 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4367 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4368 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4369 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4370 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4371 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4373 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4372 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4374 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4375 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4376 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4377 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4378 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4379 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4380 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4381 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4382 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4383 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4384 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4385 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4386 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4387 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4388 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4389 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4390 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4391 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4392 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4393 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4394 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4395 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4396 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4397 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4398 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4399 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4400 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4401 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4402 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4403 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4404 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4405 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4406 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4407 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4409 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4408 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4410 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4411 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4412 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4413 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4414 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4415 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4416 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4417 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4418 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4419 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4420 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4421 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4422 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4423 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4424 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4425 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4426 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4427 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4428 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4429 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4430 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4431 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4432 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4433 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4434 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4435 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4436 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4437 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4438 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4439 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4440 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4441 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4442 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4443 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4445 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4444 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4446 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4447 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4448 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4449 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4450 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4451 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4452 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4453 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4454 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4455 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4456 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4457 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4458 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4459 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4460 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4461 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4462 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4463 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4464 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4465 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4466 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4467 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4468 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4469 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4470 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4471 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4472 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4473 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4474 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4475 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4476 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4477 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4478 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4479 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4480 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4481 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4482 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4483 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4484 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4485 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4486 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4487 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4488 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4489 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4490 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4491 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4492 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4493 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4494 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4495 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4496 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4497 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4498 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4499 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4500 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4501 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4502 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4503 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4504 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4505 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4506 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4507 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4508 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4509 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4510 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4511 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4512 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4513 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4514 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4515 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4516 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4517 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4518 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4519 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4520 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4521 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4522 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4523 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4524 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4525 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4526 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4527 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4528 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4529 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4530 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4531 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4532 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4533 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4534 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4535 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4536 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4537 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4538 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4539 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4540 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4541 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4542 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4543 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4544 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4545 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4546 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4547 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4548 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4550 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4549 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4551 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4552 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4553 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4554 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4555 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4556 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4557 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4558 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4559 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4560 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4561 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4562 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4563 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4564 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4565 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4566 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4567 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4568 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4569 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4570 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4571 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4572 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4573 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4574 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4575 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4576 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4577 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4578 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4579 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4580 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4581 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4582 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4583 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4584 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4586 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4585 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4587 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4588 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4589 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4590 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4591 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4592 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4593 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4594 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4595 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4596 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4597 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4598 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4599 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4600 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4601 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4602 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4603 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4604 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4605 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4606 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4607 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4608 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4609 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4610 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4611 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4612 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4613 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4614 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4615 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4616 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4617 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4618 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4619 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4620 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4651 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4652 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4653 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4654 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4655 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4656 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4657 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4658 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4659 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4660 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4661 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4662 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4794 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4795 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4796 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4797 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4798 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4799 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4800 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4801 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4802 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4803 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4804 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4805 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4806 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4807 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4808 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4809 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4810 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4811 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4812 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4813 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4814 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4815 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4816 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4817 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4663 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4664 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4665 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4666 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4667 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4668 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4669 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4670 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4671 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4672 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4673 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4674 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4818 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4819 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4820 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4821 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4822 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4823 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4824 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4825 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4826 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4827 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4828 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4829 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4830 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4831 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4832 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4833 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4834 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4835 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4836 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4837 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4838 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4839 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4840 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4841 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4675 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4676 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4677 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4678 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4679 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4680 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4681 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4682 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4683 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4684 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4685 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4686 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4842 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4843 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4844 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4845 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4846 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4847 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4848 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4849 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4850 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4851 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4852 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4853 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4854 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4855 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4856 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4857 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4858 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4859 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4860 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4861 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4862 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4863 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4864 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4687 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4688 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4689 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4690 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4691 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4692 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4693 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4694 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4695 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4696 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4697 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4698 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4865 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4866 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4867 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4868 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4869 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4870 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4871 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4872 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4873 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4874 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4875 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4876 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4877 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4878 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4879 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4880 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4881 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4882 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4883 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4884 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4885 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4886 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4887 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4888 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4699 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4700 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4701 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4702 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4703 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4704 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4705 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4706 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4707 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4708 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4709 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4889 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4890 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4891 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4892 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4893 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4894 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4895 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4896 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4897 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4898 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4899 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4900 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4901 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4902 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4903 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4904 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4905 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4906 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4907 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4908 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4909 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4910 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4911 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4710 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4711 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4712 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4713 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4714 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4715 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4716 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4717 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4718 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4719 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4720 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4721 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4912 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4913 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4914 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4915 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4916 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4917 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4918 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4919 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4920 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4921 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4922 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4923 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4924 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4925 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4926 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4927 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4928 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4929 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4930 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4931 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4932 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4933 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4934 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4935 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4722 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4723 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4724 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4725 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4726 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4727 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4728 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4729 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4730 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4731 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4732 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4733 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4936 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4937 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4938 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4939 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4940 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4941 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4942 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4943 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4944 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4945 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4946 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4947 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4948 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4949 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4950 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4951 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4952 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4953 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4954 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4955 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4956 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4957 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4958 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4734 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4735 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4736 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4737 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4738 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4739 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4740 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4741 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4742 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4743 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4744 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4745 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4959 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4960 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4961 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4962 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4963 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4964 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4965 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4966 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4967 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4968 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4969 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4970 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4971 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4972 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4973 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4974 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4975 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4976 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4977 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4978 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4979 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4980 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4981 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4982 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4746 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4747 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4748 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4749 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4750 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4751 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4752 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4753 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4754 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4755 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4756 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4757 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4983 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4984 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4985 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4986 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4987 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4988 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4989 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4990 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4991 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4992 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4993 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4994 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4995 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4996 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4997 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4998 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4999 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5000 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5001 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5002 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5003 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5004 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5005 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5006 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4758 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4759 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4760 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4761 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4762 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4763 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4764 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4765 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4766 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4767 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4768 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5007 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5008 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5009 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5010 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5011 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5012 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5013 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5014 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5015 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5016 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5017 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5018 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5019 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5020 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5021 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5022 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5023 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5024 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5025 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5026 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5027 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5028 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5029 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4769 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4770 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4771 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4772 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4773 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4774 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4775 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4776 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4777 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4778 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4779 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4780 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5030 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5031 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5032 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5033 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5034 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5035 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5036 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5037 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5038 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5039 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5040 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5041 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5042 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5043 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5044 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5045 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5046 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5047 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5048 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5049 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5050 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5051 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5052 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5053 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4621 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4622 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4623 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4624 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4625 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4626 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4627 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4628 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4629 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4630 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4631 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4632 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4633 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4634 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4635 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4636 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4637 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4638 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4639 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4640 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4641 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4642 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4643 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4644 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4645 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4646 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4647 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4648 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4649 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4650 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4781 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4782 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4783 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4784 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4785 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4786 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4787 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4788 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4789 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4790 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4791 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4792 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4793 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5054 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5055 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5056 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5057 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5058 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5059 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5060 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5061 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5062 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5063 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5064 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5065 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5066 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5067 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5068 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5069 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5070 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5071 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5072 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5073 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5074 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5075 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5076 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 diff --git a/examples/grid/in.grid.2d b/examples/grid/in.grid.2d new file mode 100644 index 0000000000..8aabcfe0a9 --- /dev/null +++ b/examples/grid/in.grid.2d @@ -0,0 +1,52 @@ +# 2d Lennard-Jones melt + +units lj +atom_style atomic +dimension 2 + +lattice sq 0.5 +region box block 0 50 0 50 -0.5 0.5 +create_box 1 box +create_atoms 1 box +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 20 check no + +fix 1 all nve +fix 2 all enforce2d + +# load balancing + +comm_style tiled +fix 100 all balance 100 0.9 rcb + +# fix ave/grid + +fix ave all ave/grid 10 10 100 10 10 1 vx vy + +# dump grid + +compute ave all property/grid 10 10 1 id ix iy +#dump ave all grid 100 tmp.dump.2d & +# c_ave:grid:data[*] f_ave:grid:count f_ave:grid:data[*] +#dump_modify ave sort 1 + +#dump vtk1 all grid/vtk 100 tmp.dump1.2d.*.vtr f_ave:grid:count + +#dump vtk2 all grid/vtk 100 tmp.dump2.2d.*.vtr f_ave:grid:data[2] + +#dump 10 all image 100 tmp.image.*.2d.png type type & +# zoom 1.6 grid f_ave:grid:count adiam 0.6 shiny 0.0 & +# subbox yes 0.01 + +# run + +thermo 100 + +run 500 diff --git a/examples/grid/in.grid.3d b/examples/grid/in.grid.3d new file mode 100644 index 0000000000..dc67f64cb5 --- /dev/null +++ b/examples/grid/in.grid.3d @@ -0,0 +1,50 @@ +# 3d Lennard-Jones melt + +units lj +atom_style atomic + +lattice fcc 0.8442 +region box block 0 10 0 10 0 10 +create_box 1 box +create_atoms 1 box +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 20 check no + +fix 1 all nve + +# load balancing + +comm_style tiled +fix 100 all balance 100 0.9 rcb + +# fix ave/grid + +fix ave all ave/grid 10 10 100 5 5 5 vx vy vz + +# dump grid + +compute ave all property/grid 5 5 5 id ix iy +#dump ave all grid 100 tmp.dump.3d & +# c_ave:grid:data[*] f_ave:grid:count f_ave:grid:data[*] +#dump_modify ave sort 1 + +#dump vtk1 all grid/vtk 100 tmp.dump1.3d.*.vtr f_ave:grid:count + +#dump vtk2 all grid/vtk 100 tmp.dump2.3d.*.vtr f_ave:grid:data[*] + +#dump 10 all image 100 tmp.image.*.3d.png type type & +# grid f_ave:grid:count view 60 -30 shiny 0.0 & +# subbox yes 0.01 + +# run + +thermo 100 + +run 500 diff --git a/examples/grid/in.sph b/examples/grid/in.sph new file mode 100644 index 0000000000..172b5be7d6 --- /dev/null +++ b/examples/grid/in.sph @@ -0,0 +1,112 @@ +# SPH water over dam + +atom_style sph +dimension 2 +newton on +boundary s s p +units lj + +read_data data.sph + +# upper limit of timestep based on CFL-like criterion +# roughly estimate number of timesteps needed for 7.5 seconds + +variable h equal 0.03 +variable c equal 10.0 # soundspeed for Tait's EOS +variable dt equal 0.1*${h}/${c} +variable nrun equal 15.0/${dt} + +# assign group name "bc" to boundary particles (type 2) +# assign group name "water" to water particles (type 1) + +group bc type 2 +group water type 1 + +# use hybrid pairstyle which does density summation +# with cutoff ${h} every timestep (1) +# use target density of 1000, soundspeed ${c} for Tait's EOS + +pair_style hybrid/overlay sph/rhosum 1 sph/taitwater +pair_coeff * * sph/taitwater 1000.0 ${c} 1.0 ${h} +pair_coeff 1 1 sph/rhosum ${h} + +# add gravity. This fix also computes potential energy of mass in gravity field + +fix gfix water gravity -9.81 vector 0 1 0 +fix 2d_fix all enforce2d + +compute rho_peratom all sph/rho/atom +compute e_peratom all sph/e/atom +compute esph all reduce sum c_e_peratom +compute ke all ke +variable etot equal c_esph+c_ke+f_gfix +compute ke_peratom all ke/atom + +# adjust nevery | min. allowed dt | max. allowed dt | +# max. travel distance per dt +# ${dt} ~= CFL criterion 0.1*h/c + +# remove top atoms + +region cut block INF INF 2.5 INF INF INF +delete_atoms region cut + +# use a variable timestep + +fix dtfix all dt/reset 1 NULL ${dt} 0.0005 units box + +# time-integrate position, velocities, +# internal energy and density of water particles + +fix integrate_water_fix water sph + +# time-integrate only internal energy and density of boundary particles + +fix integrate_bc_fix bc sph/stationary + +thermo 500 +thermo_style custom step ke c_esph v_etot f_gfix press time f_dtfix +thermo_modify norm no + +# load balancing + +comm_style tiled +fix 100 all balance 100 0.9 rcb + +# fix ave/grid + +fix ave all ave/grid 50 5 250 10 10 1 vx vy + +# dump particles + +#dump dump_id all custom 100 tmp.dump & +# id type x y z c_ke_peratom +#dump_modify dump_id first yes + +# dump grid + +#compute ave all property/grid 10 10 1 id ix iy +#dump ave all grid 250 tmp.grid c_ave:grid:data[*] f_ave:grid:data[*] +#dump_modify ave sort 1 + +# dump image + +#compute 1 all property/atom proc +#variable p atom c_1%10 + +#dump 3 all image 500 tmp.*.png c_ke_peratom type & +# adiam 0.015 view 0 0 zoom 2.5 subbox yes 0.01 & +# center d 0.5 0.5 0.5 size 1024 768 box no 0.0 & +# grid f_ave:grid:count +#variable colors string & +# "min blue 0.25 green 0.5 orange 0.75 yellow max red" +#dump_modify 3 pad 5 amap 0 1.5 cf 1 5 ${colors} + +# run + +neigh_modify every 5 delay 0 check no +variable skin equal 0.3*${h} +neighbor ${skin} bin + +run 6000 + diff --git a/examples/grid/log.1Dec22.grid.2d.g++.1 b/examples/grid/log.1Dec22.grid.2d.g++.1 new file mode 100644 index 0000000000..174225b1b9 --- /dev/null +++ b/examples/grid/log.1Dec22.grid.2d.g++.1 @@ -0,0 +1,104 @@ +LAMMPS (3 Nov 2022) +# 2d Lennard-Jones melt + +units lj +atom_style atomic +dimension 2 + +lattice sq 0.5 +Lattice spacing in x,y,z = 1.4142136 1.4142136 1.4142136 +region box block 0 50 0 50 -0.5 0.5 +create_box 1 box +Created orthogonal box = (0 0 -0.70710678) to (70.710678 70.710678 0.70710678) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 2500 atoms + using lattice units in orthogonal box = (0 0 -0.70710678) to (70.710678 70.710678 0.70710678) + create_atoms CPU = 0.001 seconds +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 20 check no + +fix 1 all nve +fix 2 all enforce2d + +# load balancing + +comm_style tiled +fix 100 all balance 100 0.9 rcb + +# fix ave/grid + +fix ave all ave/grid 10 10 100 10 10 1 vx vy + +# dump grid + +compute ave all property/grid 10 10 1 id ix iy +#dump ave all grid 100 tmp.dump.2d # c_ave:grid:data[*] f_ave:grid:count f_ave:grid:data[*] +#dump_modify ave sort 1 + +#dump vtk1 all grid/vtk 100 tmp.dump1.2d.*.vtr f_ave:grid:count + +#dump vtk2 all grid/vtk 100 tmp.dump2.2d.*.vtr f_ave:grid:data[2] + +#dump 10 all image 100 tmp.image.*.2d.png type type # zoom 1.6 grid f_ave:grid:count adiam 0.6 shiny 0.0 # subbox yes 0.01 + +# run + +thermo 100 + +run 500 +Generated 0 of 0 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 = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 51 51 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.6 | 2.6 | 2.6 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 0 1.44 -0.99804688 0 0.44137713 -0.58692862 5000 + 100 1.5598149 -1.1263538 0 0.43283708 1.5290994 5000 + 200 1.6032951 -1.1706712 0 0.43198254 1.3417115 5000 + 300 1.6027535 -1.1702899 0 0.43182248 1.3590294 5000 + 400 1.6099053 -1.1774853 0 0.43177606 1.3305193 5000 + 500 1.6163874 -1.184699 0 0.43104185 1.346977 5000 +Loop time of 0.0605938 on 1 procs for 500 steps with 2500 atoms + +Performance: 3564723.496 tau/day, 8251.675 timesteps/s, 20.629 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.042252 | 0.042252 | 0.042252 | 0.0 | 69.73 +Neigh | 0.0080564 | 0.0080564 | 0.0080564 | 0.0 | 13.30 +Comm | 0.00092699 | 0.00092699 | 0.00092699 | 0.0 | 1.53 +Output | 5.6077e-05 | 5.6077e-05 | 5.6077e-05 | 0.0 | 0.09 +Modify | 0.0087579 | 0.0087579 | 0.0087579 | 0.0 | 14.45 +Other | | 0.000544 | | | 0.90 + +Nlocal: 2500 ave 2500 max 2500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 405 ave 405 max 405 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 14487 ave 14487 max 14487 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 14487 +Ave neighs/atom = 5.7948 +Neighbor list builds = 25 +Dangerous builds not checked +Total wall time: 0:00:00 diff --git a/examples/grid/log.1Dec22.grid.2d.g++.12 b/examples/grid/log.1Dec22.grid.2d.g++.12 new file mode 100644 index 0000000000..0e9892e327 --- /dev/null +++ b/examples/grid/log.1Dec22.grid.2d.g++.12 @@ -0,0 +1,105 @@ +LAMMPS (3 Nov 2022) +WARNING: Using I/O redirection is unreliable with parallel runs. Better use -in switch to read input file. (../lammps.cpp:528) +# 2d Lennard-Jones melt + +units lj +atom_style atomic +dimension 2 + +lattice sq 0.5 +Lattice spacing in x,y,z = 1.4142136 1.4142136 1.4142136 +region box block 0 50 0 50 -0.5 0.5 +create_box 1 box +Created orthogonal box = (0 0 -0.70710678) to (70.710678 70.710678 0.70710678) + 4 by 3 by 1 MPI processor grid +create_atoms 1 box +Created 2500 atoms + using lattice units in orthogonal box = (0 0 -0.70710678) to (70.710678 70.710678 0.70710678) + create_atoms CPU = 0.000 seconds +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 20 check no + +fix 1 all nve +fix 2 all enforce2d + +# load balancing + +comm_style tiled +fix 100 all balance 100 0.9 rcb + +# fix ave/grid + +fix ave all ave/grid 10 10 100 10 10 1 vx vy + +# dump grid + +compute ave all property/grid 10 10 1 id ix iy +#dump ave all grid 100 tmp.dump.2d # c_ave:grid:data[*] f_ave:grid:count f_ave:grid:data[*] +#dump_modify ave sort 1 + +#dump vtk1 all grid/vtk 100 tmp.dump1.2d.*.vtr f_ave:grid:count + +#dump vtk2 all grid/vtk 100 tmp.dump2.2d.*.vtr f_ave:grid:data[2] + +#dump 10 all image 100 tmp.image.*.2d.png type type # zoom 1.6 grid f_ave:grid:count adiam 0.6 shiny 0.0 # subbox yes 0.01 + +# run + +thermo 100 + +run 500 +Generated 0 of 0 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 = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 51 51 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.546 | 2.573 | 2.595 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 0 1.44 -0.99804687 0 0.44137713 -0.58692863 5000 + 100 1.5598149 -1.1263538 0 0.43283708 1.5290994 5000 + 200 1.6032951 -1.1706712 0 0.43198254 1.3417115 5000 + 300 1.6027535 -1.1702899 0 0.43182248 1.3590294 5000 + 400 1.6099053 -1.1774853 0 0.43177606 1.3305193 5000 + 500 1.6163874 -1.184699 0 0.43104185 1.346977 5000 +Loop time of 0.0234746 on 12 procs for 500 steps with 2500 atoms + +Performance: 9201451.891 tau/day, 21299.657 timesteps/s, 53.249 Matom-step/s +99.2% CPU use with 12 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0037768 | 0.006317 | 0.0074702 | 1.7 | 26.91 +Neigh | 0.0010967 | 0.0013082 | 0.0014397 | 0.3 | 5.57 +Comm | 0.0096964 | 0.011159 | 0.0145 | 1.7 | 47.54 +Output | 9.5604e-05 | 0.00012067 | 0.00016341 | 0.0 | 0.51 +Modify | 0.0034389 | 0.0039338 | 0.0041602 | 0.4 | 16.76 +Other | | 0.0006358 | | | 2.71 + +Nlocal: 208.333 ave 210 max 207 min +Histogram: 2 0 0 6 0 0 2 0 0 2 +Nghost: 137.333 ave 155 max 121 min +Histogram: 1 1 2 1 3 1 0 0 1 2 +Neighs: 1207.25 ave 1253 max 1169 min +Histogram: 2 1 2 0 3 1 0 0 1 2 + +Total # of neighbors = 14487 +Ave neighs/atom = 5.7948 +Neighbor list builds = 25 +Dangerous builds not checked +Total wall time: 0:00:00 diff --git a/examples/grid/log.1Dec22.grid.2d.g++.4 b/examples/grid/log.1Dec22.grid.2d.g++.4 new file mode 100644 index 0000000000..06e17d7bb1 --- /dev/null +++ b/examples/grid/log.1Dec22.grid.2d.g++.4 @@ -0,0 +1,105 @@ +LAMMPS (3 Nov 2022) +WARNING: Using I/O redirection is unreliable with parallel runs. Better use -in switch to read input file. (../lammps.cpp:528) +# 2d Lennard-Jones melt + +units lj +atom_style atomic +dimension 2 + +lattice sq 0.5 +Lattice spacing in x,y,z = 1.4142136 1.4142136 1.4142136 +region box block 0 50 0 50 -0.5 0.5 +create_box 1 box +Created orthogonal box = (0 0 -0.70710678) to (70.710678 70.710678 0.70710678) + 2 by 2 by 1 MPI processor grid +create_atoms 1 box +Created 2500 atoms + using lattice units in orthogonal box = (0 0 -0.70710678) to (70.710678 70.710678 0.70710678) + create_atoms CPU = 0.000 seconds +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 20 check no + +fix 1 all nve +fix 2 all enforce2d + +# load balancing + +comm_style tiled +fix 100 all balance 100 0.9 rcb + +# fix ave/grid + +fix ave all ave/grid 10 10 100 10 10 1 vx vy + +# dump grid + +compute ave all property/grid 10 10 1 id ix iy +#dump ave all grid 100 tmp.dump.2d # c_ave:grid:data[*] f_ave:grid:count f_ave:grid:data[*] +#dump_modify ave sort 1 + +#dump vtk1 all grid/vtk 100 tmp.dump1.2d.*.vtr f_ave:grid:count + +#dump vtk2 all grid/vtk 100 tmp.dump2.2d.*.vtr f_ave:grid:data[2] + +#dump 10 all image 100 tmp.image.*.2d.png type type # zoom 1.6 grid f_ave:grid:count adiam 0.6 shiny 0.0 # subbox yes 0.01 + +# run + +thermo 100 + +run 500 +Generated 0 of 0 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 = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 51 51 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.555 | 2.556 | 2.557 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 0 1.44 -0.99804687 0 0.44137712 -0.58692863 5000 + 100 1.5598149 -1.1263538 0 0.43283708 1.5290994 5000 + 200 1.6032951 -1.1706712 0 0.43198254 1.3417115 5000 + 300 1.6027535 -1.1702899 0 0.43182248 1.3590294 5000 + 400 1.6099053 -1.1774853 0 0.43177606 1.3305193 5000 + 500 1.6163874 -1.184699 0 0.43104185 1.346977 5000 +Loop time of 0.031365 on 4 procs for 500 steps with 2500 atoms + +Performance: 6886659.462 tau/day, 15941.341 timesteps/s, 39.853 Matom-step/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.0098202 | 0.01197 | 0.018294 | 3.3 | 38.16 +Neigh | 0.0023502 | 0.0025479 | 0.0030895 | 0.6 | 8.12 +Comm | 0.0046956 | 0.012744 | 0.015481 | 4.1 | 40.63 +Output | 5.6153e-05 | 6.3163e-05 | 7.3849e-05 | 0.0 | 0.20 +Modify | 0.0032687 | 0.0036046 | 0.0046066 | 1.0 | 11.49 +Other | | 0.0004358 | | | 1.39 + +Nlocal: 625 ave 627 max 623 min +Histogram: 1 0 0 0 0 2 0 0 0 1 +Nghost: 212 ave 216 max 207 min +Histogram: 1 0 0 0 0 1 1 0 0 1 +Neighs: 3621.75 ave 3673 max 3585 min +Histogram: 1 0 0 2 0 0 0 0 0 1 + +Total # of neighbors = 14487 +Ave neighs/atom = 5.7948 +Neighbor list builds = 25 +Dangerous builds not checked +Total wall time: 0:00:00 diff --git a/examples/grid/log.1Dec22.grid.3d.g++.1 b/examples/grid/log.1Dec22.grid.3d.g++.1 new file mode 100644 index 0000000000..603189c013 --- /dev/null +++ b/examples/grid/log.1Dec22.grid.3d.g++.1 @@ -0,0 +1,102 @@ +LAMMPS (3 Nov 2022) +# 3d Lennard-Jones melt + +units lj +atom_style atomic + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 10 0 10 0 10 +create_box 1 box +Created orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 4000 atoms + using lattice units in orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + create_atoms CPU = 0.001 seconds +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 20 check no + +fix 1 all nve + +# load balancing + +comm_style tiled +fix 100 all balance 100 0.9 rcb + +# fix ave/grid + +fix ave all ave/grid 10 10 100 5 5 5 vx vy vz + +# dump grid + +compute ave all property/grid 5 5 5 id ix iy +#dump ave all grid 100 tmp.dump.3d # c_ave:grid:data[*] f_ave:grid:count f_ave:grid:data[*] +#dump_modify ave sort 1 + +#dump vtk1 all grid/vtk 100 tmp.dump1.3d.*.vtr f_ave:grid:count + +#dump vtk2 all grid/vtk 100 tmp.dump2.3d.*.vtr f_ave:grid:data[*] + +#dump 10 all image 100 tmp.image.*.3d.png type type # grid f_ave:grid:count view 60 -30 shiny 0.0 # subbox yes 0.01 + +# run + +thermo 100 + +run 500 +Generated 0 of 0 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 = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 12 12 12 + 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.072 | 3.072 | 3.072 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 0 1.44 -6.7733681 0 -4.6139081 -5.0199732 4738.2137 + 100 0.75715334 -5.7581426 0 -4.6226965 0.20850222 4738.2137 + 200 0.75139921 -5.7500924 0 -4.6232753 0.25362795 4738.2137 + 300 0.73979146 -5.7326964 0 -4.6232866 0.37781798 4738.2137 + 400 0.73834687 -5.7300319 0 -4.6227884 0.41282909 4738.2137 + 500 0.72941121 -5.7153612 0 -4.6215179 0.49793402 4738.2137 +Loop time of 0.531792 on 1 procs for 500 steps with 4000 atoms + +Performance: 406174.160 tau/day, 940.218 timesteps/s, 3.761 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.42996 | 0.42996 | 0.42996 | 0.0 | 80.85 +Neigh | 0.082407 | 0.082407 | 0.082407 | 0.0 | 15.50 +Comm | 0.007947 | 0.007947 | 0.007947 | 0.0 | 1.49 +Output | 8.9375e-05 | 8.9375e-05 | 8.9375e-05 | 0.0 | 0.02 +Modify | 0.009507 | 0.009507 | 0.009507 | 0.0 | 1.79 +Other | | 0.001879 | | | 0.35 + +Nlocal: 4000 ave 4000 max 4000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 5657 ave 5657 max 5657 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 149883 ave 149883 max 149883 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 149883 +Ave neighs/atom = 37.47075 +Neighbor list builds = 25 +Dangerous builds not checked +Total wall time: 0:00:00 diff --git a/examples/grid/log.1Dec22.grid.3d.g++.10 b/examples/grid/log.1Dec22.grid.3d.g++.10 new file mode 100644 index 0000000000..816db23d5d --- /dev/null +++ b/examples/grid/log.1Dec22.grid.3d.g++.10 @@ -0,0 +1,103 @@ +LAMMPS (3 Nov 2022) +WARNING: Using I/O redirection is unreliable with parallel runs. Better use -in switch to read input file. (../lammps.cpp:528) +# 3d Lennard-Jones melt + +units lj +atom_style atomic + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 10 0 10 0 10 +create_box 1 box +Created orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + 1 by 2 by 5 MPI processor grid +create_atoms 1 box +Created 4000 atoms + using lattice units in orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + create_atoms CPU = 0.000 seconds +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 20 check no + +fix 1 all nve + +# load balancing + +comm_style tiled +fix 100 all balance 100 0.9 rcb + +# fix ave/grid + +fix ave all ave/grid 10 10 100 5 5 5 vx vy vz + +# dump grid + +compute ave all property/grid 5 5 5 id ix iy +#dump ave all grid 100 tmp.dump.3d # c_ave:grid:data[*] f_ave:grid:count f_ave:grid:data[*] +#dump_modify ave sort 1 + +#dump vtk1 all grid/vtk 100 tmp.dump1.3d.*.vtr f_ave:grid:count + +#dump vtk2 all grid/vtk 100 tmp.dump2.3d.*.vtr f_ave:grid:data[*] + +#dump 10 all image 100 tmp.image.*.3d.png type type # grid f_ave:grid:count view 60 -30 shiny 0.0 # subbox yes 0.01 + +# run + +thermo 100 + +run 500 +Generated 0 of 0 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 = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 12 12 12 + 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.613 | 2.651 | 2.686 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 0 1.44 -6.7733681 0 -4.6139081 -5.0199732 4738.2137 + 100 0.75715334 -5.7581426 0 -4.6226965 0.20850222 4738.2137 + 200 0.75139921 -5.7500924 0 -4.6232753 0.25362795 4738.2137 + 300 0.73979146 -5.7326964 0 -4.6232866 0.37781798 4738.2137 + 400 0.73834687 -5.7300319 0 -4.6227884 0.41282909 4738.2137 + 500 0.72941121 -5.7153612 0 -4.6215179 0.49793402 4738.2137 +Loop time of 0.192284 on 10 procs for 500 steps with 4000 atoms + +Performance: 1123340.176 tau/day, 2600.324 timesteps/s, 10.401 Matom-step/s +94.0% CPU use with 10 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.059331 | 0.090145 | 0.11296 | 7.8 | 46.88 +Neigh | 0.0129 | 0.016371 | 0.019414 | 2.1 | 8.51 +Comm | 0.048952 | 0.07696 | 0.1131 | 9.9 | 40.02 +Output | 0.00012204 | 0.00013855 | 0.00019358 | 0.0 | 0.07 +Modify | 0.0053527 | 0.0062584 | 0.0070699 | 0.9 | 3.25 +Other | | 0.00241 | | | 1.25 + +Nlocal: 400 ave 402 max 398 min +Histogram: 2 0 1 0 0 3 0 3 0 1 +Nghost: 1709.1 ave 1774 max 1663 min +Histogram: 1 2 4 0 0 0 0 0 1 2 +Neighs: 14988.3 ave 15609 max 14496 min +Histogram: 3 1 0 0 1 1 1 2 0 1 + +Total # of neighbors = 149883 +Ave neighs/atom = 37.47075 +Neighbor list builds = 25 +Dangerous builds not checked +Total wall time: 0:00:00 diff --git a/examples/grid/log.1Dec22.grid.3d.g++.4 b/examples/grid/log.1Dec22.grid.3d.g++.4 new file mode 100644 index 0000000000..d302d9ab2e --- /dev/null +++ b/examples/grid/log.1Dec22.grid.3d.g++.4 @@ -0,0 +1,103 @@ +LAMMPS (3 Nov 2022) +WARNING: Using I/O redirection is unreliable with parallel runs. Better use -in switch to read input file. (../lammps.cpp:528) +# 3d Lennard-Jones melt + +units lj +atom_style atomic + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 10 0 10 0 10 +create_box 1 box +Created orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 4000 atoms + using lattice units in orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + create_atoms CPU = 0.000 seconds +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 20 check no + +fix 1 all nve + +# load balancing + +comm_style tiled +fix 100 all balance 100 0.9 rcb + +# fix ave/grid + +fix ave all ave/grid 10 10 100 5 5 5 vx vy vz + +# dump grid + +compute ave all property/grid 5 5 5 id ix iy +#dump ave all grid 100 tmp.dump.3d # c_ave:grid:data[*] f_ave:grid:count f_ave:grid:data[*] +#dump_modify ave sort 1 + +#dump vtk1 all grid/vtk 100 tmp.dump1.3d.*.vtr f_ave:grid:count + +#dump vtk2 all grid/vtk 100 tmp.dump2.3d.*.vtr f_ave:grid:data[*] + +#dump 10 all image 100 tmp.image.*.3d.png type type # grid f_ave:grid:count view 60 -30 shiny 0.0 # subbox yes 0.01 + +# run + +thermo 100 + +run 500 +Generated 0 of 0 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 = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 12 12 12 + 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.748 | 2.797 | 2.844 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 0 1.44 -6.7733681 0 -4.6139081 -5.0199732 4738.2137 + 100 0.75715334 -5.7581426 0 -4.6226965 0.20850222 4738.2137 + 200 0.75139921 -5.7500924 0 -4.6232753 0.25362795 4738.2137 + 300 0.73979146 -5.7326964 0 -4.6232866 0.37781798 4738.2137 + 400 0.73834687 -5.7300319 0 -4.6227884 0.41282909 4738.2137 + 500 0.72941121 -5.7153612 0 -4.6215179 0.49793402 4738.2137 +Loop time of 0.198482 on 4 procs for 500 steps with 4000 atoms + +Performance: 1088259.442 tau/day, 2519.119 timesteps/s, 10.076 Matom-step/s +96.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.13322 | 0.13586 | 0.13838 | 0.5 | 68.45 +Neigh | 0.027201 | 0.027464 | 0.027811 | 0.1 | 13.84 +Comm | 0.025899 | 0.028681 | 0.031618 | 1.4 | 14.45 +Output | 7.6799e-05 | 8.8378e-05 | 0.00011635 | 0.0 | 0.04 +Modify | 0.0050217 | 0.0051246 | 0.0053789 | 0.2 | 2.58 +Other | | 0.001269 | | | 0.64 + +Nlocal: 1000 ave 1002 max 998 min +Histogram: 1 0 0 0 0 2 0 0 0 1 +Nghost: 2797.75 ave 2810 max 2790 min +Histogram: 1 0 1 1 0 0 0 0 0 1 +Neighs: 37470.8 ave 38366 max 36995 min +Histogram: 2 0 0 1 0 0 0 0 0 1 + +Total # of neighbors = 149883 +Ave neighs/atom = 37.47075 +Neighbor list builds = 25 +Dangerous builds not checked +Total wall time: 0:00:00 diff --git a/examples/grid/log.1Dec22.sph.g++.1 b/examples/grid/log.1Dec22.sph.g++.1 new file mode 100644 index 0000000000..a0d2f4260d --- /dev/null +++ b/examples/grid/log.1Dec22.sph.g++.1 @@ -0,0 +1,193 @@ +LAMMPS (3 Nov 2022) +# SPH water over dam + +atom_style sph +dimension 2 +newton on +boundary s s p +units lj + +read_data data.sph +Reading data file ... + orthogonal box = (0 0 -0.001) to (4.001 8.001 0.001) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 15702 atoms + reading velocities ... + 15702 velocities + read_data CPU = 0.037 seconds + +# upper limit of timestep based on CFL-like criterion +# roughly estimate number of timesteps needed for 7.5 seconds + +variable h equal 0.03 +variable c equal 10.0 # soundspeed for Tait's EOS +variable dt equal 0.1*${h}/${c} +variable dt equal 0.1*0.03/${c} +variable dt equal 0.1*0.03/10 +variable nrun equal 15.0/${dt} +variable nrun equal 15.0/0.0003 + +# assign group name "bc" to boundary particles (type 2) +# assign group name "water" to water particles (type 1) + +group bc type 2 +6000 atoms in group bc +group water type 1 +9702 atoms in group water + +# use hybrid pairstyle which does density summation +# with cutoff ${h} every timestep (1) +# use target density of 1000, soundspeed ${c} for Tait's EOS + +pair_style hybrid/overlay sph/rhosum 1 sph/taitwater +pair_coeff * * sph/taitwater 1000.0 ${c} 1.0 ${h} +pair_coeff * * sph/taitwater 1000.0 10 1.0 ${h} +pair_coeff * * sph/taitwater 1000.0 10 1.0 0.03 +pair_coeff 1 1 sph/rhosum ${h} +pair_coeff 1 1 sph/rhosum 0.03 + +# add gravity. This fix also computes potential energy of mass in gravity field + +fix gfix water gravity -9.81 vector 0 1 0 +fix 2d_fix all enforce2d + +compute rho_peratom all sph/rho/atom +compute e_peratom all sph/e/atom +compute esph all reduce sum c_e_peratom +compute ke all ke +variable etot equal c_esph+c_ke+f_gfix +compute ke_peratom all ke/atom + +# adjust nevery | min. allowed dt | max. allowed dt | +# max. travel distance per dt +# ${dt} ~= CFL criterion 0.1*h/c + +# remove top atoms + +region cut block INF INF 2.5 INF INF INF +delete_atoms region cut +Deleted 3174 atoms, new total = 12528 + +# use a variable timestep + +fix dtfix all dt/reset 1 NULL ${dt} 0.0005 units box +fix dtfix all dt/reset 1 NULL 0.0003 0.0005 units box + +# time-integrate position, velocities, +# internal energy and density of water particles + +fix integrate_water_fix water sph + +# time-integrate only internal energy and density of boundary particles + +fix integrate_bc_fix bc sph/stationary + +thermo 500 +thermo_style custom step ke c_esph v_etot f_gfix press time f_dtfix +thermo_modify norm no + +# load balancing + +comm_style tiled +fix 100 all balance 100 0.9 rcb + +# fix ave/grid + +fix ave all ave/grid 50 5 250 10 10 1 vx vy + +# dump particles + +#dump dump_id all custom 100 tmp.dump # id type x y z c_ke_peratom +#dump_modify dump_id first yes + +# dump grid + +#compute ave all property/grid 10 10 1 id ix iy +#dump ave all grid 250 tmp.grid c_ave:grid:data[*] f_ave:grid:data[*] +#dump_modify ave sort 1 + +# dump image + +#compute 1 all property/atom proc +#variable p atom c_1%10 + +#dump 3 all image 500 tmp.*.png c_ke_peratom type # adiam 0.015 view 0 0 zoom 2.5 subbox yes 0.01 # center d 0.5 0.5 0.5 size 1024 768 box no 0.0 # grid f_ave:grid:count +#variable colors string # "min blue 0.25 green 0.5 orange 0.75 yellow max red" +#dump_modify 3 pad 5 amap 0 1.5 cf 1 5 ${colors} + +# run + +neigh_modify every 5 delay 0 check no +variable skin equal 0.3*${h} +variable skin equal 0.3*0.03 +neighbor ${skin} bin +neighbor 0.009 bin + +run 6000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 5 steps, delay = 0 steps, check = no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 0.039 + ghost atom cutoff = 0.039 + binsize = 0.0195, bins = 205 411 1 + 3 neighbor lists, perpetual/occasional/extra = 3 0 0 + (1) pair sph/rhosum, perpetual, skip from (3) + attributes: full, newton on + pair build: skip + stencil: none + bin: none + (2) pair sph/taitwater, perpetual, half/full from (3) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (3) neighbor class addition, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 6.755 | 6.755 | 6.755 Mbytes + Step KinEng c_esph v_etot f_gfix Press Time f_dtfix + 0 0 0 19320.854 19320.854 -3.624517 0 0 + 500 1274.8192 226.44643 19320.367 17819.101 754.35811 0.14057754 500 + 1000 2793.9358 410.18897 19320.367 16116.242 1184.8364 0.21912692 1000 + 1500 4227.2566 547.60309 19320.367 14545.508 1290.9567 0.27943572 1500 + 2000 5515.6545 763.42902 19320.367 13041.284 1468.5449 0.33279685 2000 + 2500 6595.5906 1087.0212 19320.368 11637.756 1878.9882 0.38198106 2500 + 3000 7053.147 1574.0538 19320.369 10693.168 2250.759 0.41605101 3000 + 3500 7396.4079 2058.4224 19320.369 9865.539 2517.1665 0.45034972 3500 + 4000 7690.0468 2419.389 19320.369 9210.9336 2615.8142 0.48685712 4000 + 4500 7986.5331 2529.7094 19320.369 8804.1268 2453.9595 0.52464306 4500 + 5000 8206.3658 2497.1242 19320.369 8616.879 1998.6296 0.56308208 5000 + 5500 8264.0602 2487.5778 19320.369 8568.7309 1614.3683 0.60225589 5500 + 6000 8185.7128 2570.3178 19320.369 8564.3383 1463.8307 0.64295437 6000 +Loop time of 22.4589 on 1 procs for 6000 steps with 12528 atoms + +Performance: 1919.324 tau/day, 267.155 timesteps/s, 3.347 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 | 15.365 | 15.365 | 15.365 | 0.0 | 68.41 +Neigh | 5.2774 | 5.2774 | 5.2774 | 0.0 | 23.50 +Comm | 0.021675 | 0.021675 | 0.021675 | 0.0 | 0.10 +Output | 0.0011944 | 0.0011944 | 0.0011944 | 0.0 | 0.01 +Modify | 1.6991 | 1.6991 | 1.6991 | 0.0 | 7.57 +Other | | 0.09478 | | | 0.42 + +Nlocal: 12528 ave 12528 max 12528 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: 153317 ave 153317 max 153317 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 153317 +Ave neighs/atom = 12.237947 +Neighbor list builds = 1200 +Dangerous builds not checked + +Total wall time: 0:00:22 diff --git a/examples/grid/log.1Dec22.sph.g++.12 b/examples/grid/log.1Dec22.sph.g++.12 new file mode 100644 index 0000000000..b2890cee3b --- /dev/null +++ b/examples/grid/log.1Dec22.sph.g++.12 @@ -0,0 +1,194 @@ +LAMMPS (3 Nov 2022) +WARNING: Using I/O redirection is unreliable with parallel runs. Better use -in switch to read input file. (../lammps.cpp:528) +# SPH water over dam + +atom_style sph +dimension 2 +newton on +boundary s s p +units lj + +read_data data.sph +Reading data file ... + orthogonal box = (0 0 -0.001) to (4.001 8.001 0.001) + 3 by 4 by 1 MPI processor grid + reading atoms ... + 15702 atoms + reading velocities ... + 15702 velocities + read_data CPU = 0.075 seconds + +# upper limit of timestep based on CFL-like criterion +# roughly estimate number of timesteps needed for 7.5 seconds + +variable h equal 0.03 +variable c equal 10.0 # soundspeed for Tait's EOS +variable dt equal 0.1*${h}/${c} +variable dt equal 0.1*0.03/${c} +variable dt equal 0.1*0.03/10 +variable nrun equal 15.0/${dt} +variable nrun equal 15.0/0.0003 + +# assign group name "bc" to boundary particles (type 2) +# assign group name "water" to water particles (type 1) + +group bc type 2 +6000 atoms in group bc +group water type 1 +9702 atoms in group water + +# use hybrid pairstyle which does density summation +# with cutoff ${h} every timestep (1) +# use target density of 1000, soundspeed ${c} for Tait's EOS + +pair_style hybrid/overlay sph/rhosum 1 sph/taitwater +pair_coeff * * sph/taitwater 1000.0 ${c} 1.0 ${h} +pair_coeff * * sph/taitwater 1000.0 10 1.0 ${h} +pair_coeff * * sph/taitwater 1000.0 10 1.0 0.03 +pair_coeff 1 1 sph/rhosum ${h} +pair_coeff 1 1 sph/rhosum 0.03 + +# add gravity. This fix also computes potential energy of mass in gravity field + +fix gfix water gravity -9.81 vector 0 1 0 +fix 2d_fix all enforce2d + +compute rho_peratom all sph/rho/atom +compute e_peratom all sph/e/atom +compute esph all reduce sum c_e_peratom +compute ke all ke +variable etot equal c_esph+c_ke+f_gfix +compute ke_peratom all ke/atom + +# adjust nevery | min. allowed dt | max. allowed dt | +# max. travel distance per dt +# ${dt} ~= CFL criterion 0.1*h/c + +# remove top atoms + +region cut block INF INF 2.5 INF INF INF +delete_atoms region cut +Deleted 3174 atoms, new total = 12528 + +# use a variable timestep + +fix dtfix all dt/reset 1 NULL ${dt} 0.0005 units box +fix dtfix all dt/reset 1 NULL 0.0003 0.0005 units box + +# time-integrate position, velocities, +# internal energy and density of water particles + +fix integrate_water_fix water sph + +# time-integrate only internal energy and density of boundary particles + +fix integrate_bc_fix bc sph/stationary + +thermo 500 +thermo_style custom step ke c_esph v_etot f_gfix press time f_dtfix +thermo_modify norm no + +# load balancing + +comm_style tiled +fix 100 all balance 100 0.9 rcb + +# fix ave/grid + +fix ave all ave/grid 50 5 250 10 10 1 vx vy + +# dump particles + +#dump dump_id all custom 100 tmp.dump # id type x y z c_ke_peratom +#dump_modify dump_id first yes + +# dump grid + +#compute ave all property/grid 10 10 1 id ix iy +#dump ave all grid 250 tmp.grid c_ave:grid:data[*] f_ave:grid:data[*] +#dump_modify ave sort 1 + +# dump image + +#compute 1 all property/atom proc +#variable p atom c_1%10 + +#dump 3 all image 500 tmp.*.png c_ke_peratom type # adiam 0.015 view 0 0 zoom 2.5 subbox yes 0.01 # center d 0.5 0.5 0.5 size 1024 768 box no 0.0 # grid f_ave:grid:count +#variable colors string # "min blue 0.25 green 0.5 orange 0.75 yellow max red" +#dump_modify 3 pad 5 amap 0 1.5 cf 1 5 ${colors} + +# run + +neigh_modify every 5 delay 0 check no +variable skin equal 0.3*${h} +variable skin equal 0.3*0.03 +neighbor ${skin} bin +neighbor 0.009 bin + +run 6000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 5 steps, delay = 0 steps, check = no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 0.039 + ghost atom cutoff = 0.039 + binsize = 0.0195, bins = 205 411 1 + 3 neighbor lists, perpetual/occasional/extra = 3 0 0 + (1) pair sph/rhosum, perpetual, skip from (3) + attributes: full, newton on + pair build: skip + stencil: none + bin: none + (2) pair sph/taitwater, perpetual, half/full from (3) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (3) neighbor class addition, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.06 | 5.302 | 6.72 Mbytes + Step KinEng c_esph v_etot f_gfix Press Time f_dtfix + 0 0 0 19320.854 19320.854 -3.624517 0 0 + 500 1274.8192 226.44643 19320.367 17819.101 754.35811 0.14057754 500 + 1000 2793.9358 410.18897 19320.367 16116.242 1184.8364 0.21912692 1000 + 1500 4227.2566 547.60309 19320.367 14545.508 1290.9567 0.27943572 1500 + 2000 5515.6545 763.42902 19320.367 13041.284 1468.5449 0.33279685 2000 + 2500 6595.5906 1087.0212 19320.368 11637.756 1878.9882 0.38198106 2500 + 3000 7053.147 1574.0538 19320.369 10693.168 2250.759 0.41605101 3000 + 3500 7396.4079 2058.4224 19320.369 9865.539 2517.1665 0.45034972 3500 + 4000 7690.0468 2419.389 19320.369 9210.9336 2615.8142 0.48685712 4000 + 4500 7986.5331 2529.7094 19320.369 8804.1268 2453.9595 0.52464306 4500 + 5000 8206.3658 2497.1242 19320.369 8616.879 1998.6296 0.56308208 5000 + 5500 8264.0602 2487.5778 19320.369 8568.7309 1614.3683 0.60225589 5500 + 6000 8185.7128 2570.3178 19320.369 8564.3383 1463.8307 0.64295437 6000 +Loop time of 5.47224 on 12 procs for 6000 steps with 12528 atoms + +Performance: 7877.181 tau/day, 1096.443 timesteps/s, 13.736 Matom-step/s +99.2% CPU use with 12 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 2.8469 | 3.1632 | 3.4316 | 11.3 | 57.80 +Neigh | 0.56431 | 0.78494 | 0.95346 | 14.2 | 14.34 +Comm | 0.4559 | 0.89439 | 1.4747 | 35.4 | 16.34 +Output | 0.0005864 | 0.00060563 | 0.00074071 | 0.0 | 0.01 +Modify | 0.51006 | 0.57563 | 0.65636 | 4.9 | 10.52 +Other | | 0.05352 | | | 0.98 + +Nlocal: 1044 ave 1046 max 1043 min +Histogram: 2 0 0 9 0 0 0 0 0 1 +Nghost: 244.75 ave 320 max 120 min +Histogram: 2 1 0 1 0 0 1 1 1 5 +Neighs: 12776.4 ave 16885 max 9467 min +Histogram: 1 1 1 2 3 1 0 2 0 1 + +Total # of neighbors = 153317 +Ave neighs/atom = 12.237947 +Neighbor list builds = 1200 +Dangerous builds not checked + +Total wall time: 0:00:05 diff --git a/examples/grid/log.1Dec22.sph.g++.4 b/examples/grid/log.1Dec22.sph.g++.4 new file mode 100644 index 0000000000..621249ed3a --- /dev/null +++ b/examples/grid/log.1Dec22.sph.g++.4 @@ -0,0 +1,194 @@ +LAMMPS (3 Nov 2022) +WARNING: Using I/O redirection is unreliable with parallel runs. Better use -in switch to read input file. (../lammps.cpp:528) +# SPH water over dam + +atom_style sph +dimension 2 +newton on +boundary s s p +units lj + +read_data data.sph +Reading data file ... + orthogonal box = (0 0 -0.001) to (4.001 8.001 0.001) + 2 by 2 by 1 MPI processor grid + reading atoms ... + 15702 atoms + reading velocities ... + 15702 velocities + read_data CPU = 0.043 seconds + +# upper limit of timestep based on CFL-like criterion +# roughly estimate number of timesteps needed for 7.5 seconds + +variable h equal 0.03 +variable c equal 10.0 # soundspeed for Tait's EOS +variable dt equal 0.1*${h}/${c} +variable dt equal 0.1*0.03/${c} +variable dt equal 0.1*0.03/10 +variable nrun equal 15.0/${dt} +variable nrun equal 15.0/0.0003 + +# assign group name "bc" to boundary particles (type 2) +# assign group name "water" to water particles (type 1) + +group bc type 2 +6000 atoms in group bc +group water type 1 +9702 atoms in group water + +# use hybrid pairstyle which does density summation +# with cutoff ${h} every timestep (1) +# use target density of 1000, soundspeed ${c} for Tait's EOS + +pair_style hybrid/overlay sph/rhosum 1 sph/taitwater +pair_coeff * * sph/taitwater 1000.0 ${c} 1.0 ${h} +pair_coeff * * sph/taitwater 1000.0 10 1.0 ${h} +pair_coeff * * sph/taitwater 1000.0 10 1.0 0.03 +pair_coeff 1 1 sph/rhosum ${h} +pair_coeff 1 1 sph/rhosum 0.03 + +# add gravity. This fix also computes potential energy of mass in gravity field + +fix gfix water gravity -9.81 vector 0 1 0 +fix 2d_fix all enforce2d + +compute rho_peratom all sph/rho/atom +compute e_peratom all sph/e/atom +compute esph all reduce sum c_e_peratom +compute ke all ke +variable etot equal c_esph+c_ke+f_gfix +compute ke_peratom all ke/atom + +# adjust nevery | min. allowed dt | max. allowed dt | +# max. travel distance per dt +# ${dt} ~= CFL criterion 0.1*h/c + +# remove top atoms + +region cut block INF INF 2.5 INF INF INF +delete_atoms region cut +Deleted 3174 atoms, new total = 12528 + +# use a variable timestep + +fix dtfix all dt/reset 1 NULL ${dt} 0.0005 units box +fix dtfix all dt/reset 1 NULL 0.0003 0.0005 units box + +# time-integrate position, velocities, +# internal energy and density of water particles + +fix integrate_water_fix water sph + +# time-integrate only internal energy and density of boundary particles + +fix integrate_bc_fix bc sph/stationary + +thermo 500 +thermo_style custom step ke c_esph v_etot f_gfix press time f_dtfix +thermo_modify norm no + +# load balancing + +comm_style tiled +fix 100 all balance 100 0.9 rcb + +# fix ave/grid + +fix ave all ave/grid 50 5 250 10 10 1 vx vy + +# dump particles + +#dump dump_id all custom 100 tmp.dump # id type x y z c_ke_peratom +#dump_modify dump_id first yes + +# dump grid + +#compute ave all property/grid 10 10 1 id ix iy +#dump ave all grid 250 tmp.grid c_ave:grid:data[*] f_ave:grid:data[*] +#dump_modify ave sort 1 + +# dump image + +#compute 1 all property/atom proc +#variable p atom c_1%10 + +#dump 3 all image 500 tmp.*.png c_ke_peratom type # adiam 0.015 view 0 0 zoom 2.5 subbox yes 0.01 # center d 0.5 0.5 0.5 size 1024 768 box no 0.0 # grid f_ave:grid:count +#variable colors string # "min blue 0.25 green 0.5 orange 0.75 yellow max red" +#dump_modify 3 pad 5 amap 0 1.5 cf 1 5 ${colors} + +# run + +neigh_modify every 5 delay 0 check no +variable skin equal 0.3*${h} +variable skin equal 0.3*0.03 +neighbor ${skin} bin +neighbor 0.009 bin + +run 6000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 5 steps, delay = 0 steps, check = no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 0.039 + ghost atom cutoff = 0.039 + binsize = 0.0195, bins = 205 411 1 + 3 neighbor lists, perpetual/occasional/extra = 3 0 0 + (1) pair sph/rhosum, perpetual, skip from (3) + attributes: full, newton on + pair build: skip + stencil: none + bin: none + (2) pair sph/taitwater, perpetual, half/full from (3) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (3) neighbor class addition, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.607 | 5.957 | 6.474 Mbytes + Step KinEng c_esph v_etot f_gfix Press Time f_dtfix + 0 0 0 19320.854 19320.854 -3.624517 0 0 + 500 1274.8192 226.44643 19320.367 17819.101 754.35811 0.14057754 500 + 1000 2793.9358 410.18897 19320.367 16116.242 1184.8364 0.21912692 1000 + 1500 4227.2566 547.60309 19320.367 14545.508 1290.9567 0.27943572 1500 + 2000 5515.6545 763.42902 19320.367 13041.284 1468.5449 0.33279685 2000 + 2500 6595.5906 1087.0212 19320.368 11637.756 1878.9882 0.38198106 2500 + 3000 7053.147 1574.0538 19320.369 10693.168 2250.759 0.41605101 3000 + 3500 7396.4079 2058.4224 19320.369 9865.539 2517.1665 0.45034972 3500 + 4000 7690.0468 2419.389 19320.369 9210.9336 2615.8142 0.48685712 4000 + 4500 7986.5331 2529.7094 19320.369 8804.1268 2453.9595 0.52464306 4500 + 5000 8206.3658 2497.1242 19320.369 8616.879 1998.6296 0.56308208 5000 + 5500 8264.0602 2487.5778 19320.369 8568.7309 1614.3683 0.60225589 5500 + 6000 8185.7128 2570.3178 19320.369 8564.3383 1463.8307 0.64295437 6000 +Loop time of 8.44486 on 4 procs for 6000 steps with 12528 atoms + +Performance: 5104.390 tau/day, 710.492 timesteps/s, 8.901 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 | 5.3618 | 5.4752 | 5.5857 | 3.5 | 64.83 +Neigh | 1.607 | 1.7333 | 1.8496 | 6.6 | 20.53 +Comm | 0.36438 | 0.60163 | 0.70886 | 18.0 | 7.12 +Output | 0.00062026 | 0.00064412 | 0.00071499 | 0.0 | 0.01 +Modify | 0.57676 | 0.59785 | 0.60941 | 1.6 | 7.08 +Other | | 0.03618 | | | 0.43 + +Nlocal: 3132 ave 3134 max 3131 min +Histogram: 2 0 0 1 0 0 0 0 0 1 +Nghost: 248.25 ave 333 max 165 min +Histogram: 1 1 0 0 0 0 0 0 1 1 +Neighs: 38329.2 ave 41127 max 35425 min +Histogram: 1 0 1 0 0 0 0 1 0 1 + +Total # of neighbors = 153317 +Ave neighs/atom = 12.237947 +Neighbor list builds = 1200 +Dangerous builds not checked + +Total wall time: 0:00:08 diff --git a/examples/ttm/in.ttm.grid b/examples/ttm/in.ttm.grid index 58f2f519b6..5c3b9c41fb 100644 --- a/examples/ttm/in.ttm.grid +++ b/examples/ttm/in.ttm.grid @@ -40,10 +40,22 @@ thermo 100 thermo_style custom step temp etotal f_twotemp[1] f_twotemp[2] thermo_modify format float "%20.16g" -compute 10 all property/grid 10 10 10 id xc yc zc -fix ave all ave/grid 100 5 500 10 10 10 f_twotemp:grid:data -dump ave all grid 500 tmp.dump.ave & - c_10:grid:data[*] f_ave:grid:data -dump_modify ave sort 1 +# dump output + +#compute 1 all property/grid 10 10 10 id ix iy iz +#dump 1 all grid 100 tmp.dump c_1:grid:data[*] f_twotemp:grid:data +#dump_modify 1 sort 1 + +#compute 10 all property/grid 10 10 10 id xc yc zc +#fix ave all ave/grid 10 10 100 10 10 10 f_twotemp:grid:data + +#dump ave all grid 100 tmp.dump.ave & +# c_10:grid:data[*] f_ave:grid:data +#dump_modify ave sort id + +#dump vtk all grid/vtk 100 tmp.dump.*.vtk f_ave:grid:data +#dump_modify vtk sort id buffer no + +# run simulation run 1000 diff --git a/examples/ttm/log.30Aug22.ttm.grid.g++.1 b/examples/ttm/log.1Dec22.ttm.grid.g++.1 similarity index 79% rename from examples/ttm/log.30Aug22.ttm.grid.g++.1 rename to examples/ttm/log.1Dec22.ttm.grid.g++.1 index 7f59fba147..9d4a91cf55 100644 --- a/examples/ttm/log.30Aug22.ttm.grid.g++.1 +++ b/examples/ttm/log.1Dec22.ttm.grid.g++.1 @@ -1,4 +1,4 @@ -LAMMPS (3 Aug 2022) +LAMMPS (3 Nov 2022) units metal atom_style atomic boundary p p p @@ -34,7 +34,7 @@ region atom_box block -10 10 -10 10 -10 10 units lattice create_atoms 1 region atom_box Created 16000 atoms using lattice units in orthogonal box = (-28.7 -28.7 -28.7) to (28.7 28.7 28.7) - create_atoms CPU = 0.004 seconds + create_atoms CPU = 0.002 seconds mass 1 55.845 @@ -58,9 +58,22 @@ thermo 100 thermo_style custom step temp etotal f_twotemp[1] f_twotemp[2] thermo_modify format float "%20.16g" -compute 10 all property/grid 10 10 10 id xc yc zc -fix ave all ave/grid 100 5 500 10 10 10 f_twotemp:grid:data -dump ave all grid 500 tmp.dump.ave c_10:grid:data[*] f_ave:grid:data +# dump output + +#compute 1 all property/grid 10 10 10 id ix iy iz +#dump 1 all grid 100 tmp.dump c_1:grid:data[*] f_twotemp:grid:data +#dump_modify 1 sort 1 + +#compute 10 all property/grid 10 10 10 id xc yc zc +#fix ave all ave/grid 10 10 100 10 10 10 f_twotemp:grid:data + +#dump ave all grid 100 tmp.dump.ave # c_10:grid:data[*] f_ave:grid:data +#dump_modify ave sort id + +#dump vtk all grid/vtk 100 tmp.dump.*.vtk f_ave:grid:data +#dump_modify vtk sort id buffer no + +# run simulation run 1000 Neighbor list info ... @@ -75,7 +88,7 @@ Neighbor list info ... pair build: half/bin/atomonly/newton stencil: half/bin/3d bin: standard -Per MPI rank memory allocation (min/avg/max) = 12.09 | 12.09 | 12.09 Mbytes +Per MPI rank memory allocation (min/avg/max) = 10.99 | 10.99 | 10.99 Mbytes Step Temp TotEng f_twotemp[1] f_twotemp[2] 0 0 -68483.52254543516 371.9188105082105 0 100 17.01353086098387 -68446.50228930202 334.6217068813629 0.3763710887774046 @@ -88,20 +101,20 @@ Per MPI rank memory allocation (min/avg/max) = 12.09 | 12.09 | 12.09 Mbytes 800 50.4375018189932 -68272.72651051797 160.995046695269 0.1708386295858845 900 52.17011714635106 -68257.85059865142 146.1567281868867 0.1032829304640776 1000 53.49296457217382 -68244.38715993936 132.7166474251702 0.06428993394665769 -Loop time of 15.6373 on 1 procs for 1000 steps with 16000 atoms +Loop time of 5.99191 on 1 procs for 1000 steps with 16000 atoms -Performance: 0.553 ns/day, 43.437 hours/ns, 63.950 timesteps/s +Performance: 1.442 ns/day, 16.644 hours/ns, 166.892 timesteps/s, 2.670 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 | 14.493 | 14.493 | 14.493 | 0.0 | 92.68 +Pair | 5.3136 | 5.3136 | 5.3136 | 0.0 | 88.68 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.088097 | 0.088097 | 0.088097 | 0.0 | 0.56 -Output | 0.0044447 | 0.0044447 | 0.0044447 | 0.0 | 0.03 -Modify | 1.0075 | 1.0075 | 1.0075 | 0.0 | 6.44 -Other | | 0.04433 | | | 0.28 +Comm | 0.035738 | 0.035738 | 0.035738 | 0.0 | 0.60 +Output | 0.00049119 | 0.00049119 | 0.00049119 | 0.0 | 0.01 +Modify | 0.62365 | 0.62365 | 0.62365 | 0.0 | 10.41 +Other | | 0.01844 | | | 0.31 Nlocal: 16000 ave 16000 max 16000 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -114,4 +127,4 @@ Total # of neighbors = 896000 Ave neighs/atom = 56 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:00:15 +Total wall time: 0:00:06 diff --git a/examples/ttm/log.30Aug22.ttm.grid.g++.4 b/examples/ttm/log.1Dec22.ttm.grid.g++.4 similarity index 78% rename from examples/ttm/log.30Aug22.ttm.grid.g++.4 rename to examples/ttm/log.1Dec22.ttm.grid.g++.4 index d75335722f..4bcce5365e 100644 --- a/examples/ttm/log.30Aug22.ttm.grid.g++.4 +++ b/examples/ttm/log.1Dec22.ttm.grid.g++.4 @@ -1,5 +1,5 @@ -LAMMPS (3 Aug 2022) -WARNING: Using I/O redirection is unreliable with parallel runs. Better use -in switch to read input file. (../lammps.cpp:524) +LAMMPS (3 Nov 2022) +WARNING: Using I/O redirection is unreliable with parallel runs. Better use -in switch to read input file. (../lammps.cpp:528) units metal atom_style atomic boundary p p p @@ -35,7 +35,7 @@ region atom_box block -10 10 -10 10 -10 10 units lattice create_atoms 1 region atom_box Created 16000 atoms using lattice units in orthogonal box = (-28.7 -28.7 -28.7) to (28.7 28.7 28.7) - create_atoms CPU = 0.002 seconds + create_atoms CPU = 0.001 seconds mass 1 55.845 @@ -59,10 +59,22 @@ thermo 100 thermo_style custom step temp etotal f_twotemp[1] f_twotemp[2] thermo_modify format float "%20.16g" -compute 10 all property/grid 10 10 10 id xc yc zc -fix ave all ave/grid 100 5 500 10 10 10 f_twotemp:grid:data -dump ave all grid 500 tmp.dump.ave c_10:grid:data[*] f_ave:grid:data -dump_modify ave sort 1 +# dump output + +#compute 1 all property/grid 10 10 10 id ix iy iz +#dump 1 all grid 100 tmp.dump c_1:grid:data[*] f_twotemp:grid:data +#dump_modify 1 sort 1 + +#compute 10 all property/grid 10 10 10 id xc yc zc +#fix ave all ave/grid 10 10 100 10 10 10 f_twotemp:grid:data + +#dump ave all grid 100 tmp.dump.ave # c_10:grid:data[*] f_ave:grid:data +#dump_modify ave sort id + +#dump vtk all grid/vtk 100 tmp.dump.*.vtk f_ave:grid:data +#dump_modify vtk sort id buffer no + +# run simulation run 1000 Neighbor list info ... @@ -77,7 +89,7 @@ Neighbor list info ... pair build: half/bin/atomonly/newton stencil: half/bin/3d bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.902 | 5.903 | 5.904 Mbytes +Per MPI rank memory allocation (min/avg/max) = 4.843 | 4.843 | 4.843 Mbytes Step Temp TotEng f_twotemp[1] f_twotemp[2] 0 0 -68483.52254530673 371.9188105082186 0 100 16.95536995775684 -68446.64765713879 334.7745598327931 0.3602932995006087 @@ -90,20 +102,20 @@ Per MPI rank memory allocation (min/avg/max) = 5.902 | 5.903 | 5.904 Mbytes 800 49.66707856481075 -68274.98092841901 163.2540575286425 0.1600890300738265 900 52.17692450487317 -68259.8031091165 148.1017576370548 0.1177316234407941 1000 54.24228199265479 -68245.58589458198 133.8816957314364 0.1314999893461343 -Loop time of 4.78682 on 4 procs for 1000 steps with 16000 atoms +Loop time of 2.16917 on 4 procs for 1000 steps with 16000 atoms -Performance: 1.805 ns/day, 13.297 hours/ns, 208.907 timesteps/s -100.0% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 3.983 ns/day, 6.025 hours/ns, 461.006 timesteps/s, 7.376 Matom-step/s +97.7% CPU use with 4 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 4.1562 | 4.2154 | 4.2851 | 2.7 | 88.06 +Pair | 1.8638 | 1.8826 | 1.9014 | 1.0 | 86.79 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.16658 | 0.23631 | 0.29566 | 11.5 | 4.94 -Output | 0.0016285 | 0.0016618 | 0.0017414 | 0.1 | 0.03 -Modify | 0.31425 | 0.31577 | 0.31755 | 0.2 | 6.60 -Other | | 0.01766 | | | 0.37 +Comm | 0.057938 | 0.076258 | 0.094755 | 4.8 | 3.52 +Output | 0.00020722 | 0.00022911 | 0.00029186 | 0.0 | 0.01 +Modify | 0.20222 | 0.20238 | 0.20256 | 0.0 | 9.33 +Other | | 0.007738 | | | 0.36 Nlocal: 4000 ave 4000 max 4000 min Histogram: 4 0 0 0 0 0 0 0 0 0 @@ -116,4 +128,4 @@ Total # of neighbors = 896000 Ave neighs/atom = 56 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:00:04 +Total wall time: 0:00:02 From 97c058d156586499bf88518681a037fb084c928c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 4 Dec 2022 16:22:15 -0500 Subject: [PATCH 128/142] correct syntax-highlighting to use C++ lexer instead of C --- doc/src/Developer_grid.rst | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/doc/src/Developer_grid.rst b/doc/src/Developer_grid.rst index 4012b2b1f2..fdf44f6882 100644 --- a/doc/src/Developer_grid.rst +++ b/doc/src/Developer_grid.rst @@ -94,7 +94,7 @@ two methods that end in "_one" allocate an array which stores a single value per grid cell. The two that end in "_multi" allocate an array which stores *Nvalues* per grid cell. -.. code-block:: c +.. code-block:: c++ // single value per cell for a 2d grid = 2d array memory->create2d_offset(data2d_one, nylo_out, nyhi_out, @@ -127,7 +127,7 @@ where the "i" loop bounds are the range of owned grid cells for the processor. These are the bounds returned by the *setup_grid()* method: -.. code-block:: c +.. code-block:: c++ for (int iy = iylo; iy <= iyhi; iy++) for (int ix = ixlo; ix <= ixhi; ix++) @@ -165,7 +165,7 @@ similar; simply remove arguments which refer to the z-dimension. There are 2 constructors which can be used. They differ in the extra i/o xyz lo/hi arguments: -.. code-block:: c +.. code-block:: c++ Grid3d(class LAMMPS *lmp, MPI_Comm gcomm, int gnx, int gny, int gnz) Grid3d(class LAMMPS *lmp, MPI_Comm gcomm, int gnx, int gny, int gnz, @@ -223,7 +223,7 @@ first constructor; they are ignored if the second constructor is used. These methods must be called before the *setup_grid()* method is invoked, because they influence its operation. -.. code-block:: c +.. code-block:: c++ void set_shift_grid(double shift); void set_distance(double distance); @@ -315,7 +315,7 @@ Also note that this method must be invoked after any *set_*()* methods have been used, since they can influence the assignment of owned and ghost cells. -.. code-block:: c +.. code-block:: c++ void setup_grid(int &ixlo, int &ixhi, int &iylo, int &iyhi, int &izlo, int &izhi, int &oxlo, int &oxhi, int &oylo, int &oyhi, int &ozlo, int &ozhi) @@ -343,7 +343,7 @@ these methods override. In LAMMPS these methods are called by by the :doc:`kspace_style msm ` command for the grids it instantiates using the 2nd constructor above. -.. code-block:: c +.. code-block:: c++ void set_proc_neighs(int pxlo, int pxhi, int pylo, int pyhi, int pzlo, int pzhi) void set_caller_grid(int fxlo, int fxhi, int fylo, int fyhi, int fzlo, int fzhi) @@ -372,7 +372,7 @@ The following methods allow the caller to query the settings for a specific grid, whether it created the grid or another command created it. -.. code-block:: c +.. code-block:: c++ void get_size(int &nxgrid, int &nygrid, int &nzgrid); void get_bounds_owned(int &xlo, int &xhi, int &ylo, int &yhi, int &zlo, int &zhi) @@ -405,7 +405,7 @@ corresponding owned grid cells on another processor. The caller can choose to sum ghost grid cell data to the owned grid cell or simply copy it. -.. code-block:: c +.. code-block:: c++ void setup_comm(int &nbuf1, int &nbuf2) void forward_comm(int caller, void *ptr, int which, int nper, int nbyte, @@ -455,7 +455,7 @@ To use the *forward_grid()* method, the caller must provide two callback functions; likewise for use of the *reverse_grid()* methods. These are the 4 functions, their arguments are all the same. -.. code-block:: c +.. code-block:: c++ void pack_forward_grid(int which, void *vbuf, int nlist, int *list); void unpack_forward_grid(int which, void *vbuf, int nlist, int *list); @@ -474,7 +474,7 @@ illustrated with an example from the src/EXTRA-FIX/fix_ttm_grid.cpp class which stores the scalar electron temperature for 3d system in a 3d grid (one value per grid cell): -.. code-block:: c +.. code-block:: c++ void FixTTMGrid::pack_forward_grid(int /*which*/, void *vbuf, int nlist, int *list) { @@ -499,7 +499,7 @@ cell, and one or more grid-cell-averaged atom properties. The code from its *unpack_reverse_grid()* function for 2d grids and multiple per-atom properties per grid cell (*nvalues*) is shown here: -.. code-block:: c +.. code-block:: c++ void FixAveGrid::unpack_reverse_grid(int /*which*/, void *vbuf, int nlist, int *list) { @@ -581,7 +581,7 @@ needs to be "remapped" from the old grid partitioning to the new grid partitioning. The *setup_remap()* and *remap()* methods are used for that purpose. -.. code-block:: c +.. code-block:: c++ int identical(Grid3d *old); void setup_remap(Grid3d *old, int &nremap_buf1, int &nremap_buf2) @@ -598,7 +598,7 @@ communication buffers. To use the *remap()* method, the caller must provide two callback functions: -.. code-block:: c +.. code-block:: c++ void pack_remap_grid(int which, void *vbuf, int nlist, int *list); void unpack_remap_grid(int which, void *vbuf, int list, int *list); @@ -667,7 +667,7 @@ Here are the details of the two I/O methods and the 3 callback functions. See the src/fix_ave_grid.cpp file for examples of all of them. -.. code-block:: c +.. code-block:: c++ void read_file(int caller, void *ptr, FILE *fp, int nchunk, int maxline) void write_file(int caller, void *ptr, int which, @@ -701,7 +701,7 @@ To use the *read_grid()* method, the caller must provide one callback function. To use the *write_grid()* method, it provides two callback functions: -.. code-block:: c +.. code-block:: c++ int unpack_read_grid(int nlines, char *buffer) void pack_write_grid(int which, void *vbuf) @@ -759,7 +759,7 @@ command. To provide access to its grid cell data, a style command needs to implement the following 4 methods: -.. code-block:: c +.. code-block:: c++ int get_grid_by_name(const std::string &name, int &dim); void *get_grid_by_index(int index); From cf4d1ec744be47960c1f264f1f1e2a360c4581e5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 4 Dec 2022 16:30:50 -0500 Subject: [PATCH 129/142] add version tags --- doc/src/Developer_grid.rst | 2 ++ doc/src/Howto_grid.rst | 19 ++++++++++--------- doc/src/dump.rst | 4 ++++ 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/doc/src/Developer_grid.rst b/doc/src/Developer_grid.rst index fdf44f6882..b840ae7251 100644 --- a/doc/src/Developer_grid.rst +++ b/doc/src/Developer_grid.rst @@ -1,6 +1,8 @@ Use of distributed grids within style classes --------------------------------------------- +.. versionadded:: TBD + The LAMMPS source code includes two classes which facilitate the creation and use of distributed grids. These are the Grid2d and Grid3d classes in the src/grid2d.cpp.h and src/grid3d.cpp.h files diff --git a/doc/src/Howto_grid.rst b/doc/src/Howto_grid.rst index a7b2bc7743..bd651628e7 100644 --- a/doc/src/Howto_grid.rst +++ b/doc/src/Howto_grid.rst @@ -1,6 +1,8 @@ Distributed grids ================= +.. versionadded:: TBD + LAMMPS has internal capabilities to create uniformly spaced grids which overlay the simulation domain. For 2d and 3d simulations these are 2d and 3d grids respectively. Conceptually a grid can be thought @@ -40,16 +42,15 @@ grid ` output files as input. .. note:: - For developers, distributed grids are implemented within the code - via two classes: Grid2d and Grid3d. These partition the grid - across processors and have methods which allow forward and reverse + For developers, distributed grids are implemented within the code via + two classes: Grid2d and Grid3d. These partition the grid across + processors and have methods which allow forward and reverse communication of ghost grid data as well as load balancing. If you - write a new compute or fix which needs a distributed grid, these - are the classes to look at. A new pair style could use a - distributed grid by having a fix define it. We plan (as of - Nov 2022) to add a section in the :doc:`Developer ` - section of the manual with a detailed description of how to use - these classes. + write a new compute or fix which needs a distributed grid, these are + the classes to look at. A new pair style could use a distributed + grid by having a fix define it. Please see the section on + :doc:`using distributed grids within style classes ` + for a detailed description. ---------- diff --git a/doc/src/dump.rst b/doc/src/dump.rst index 4547c76289..7a31996581 100644 --- a/doc/src/dump.rst +++ b/doc/src/dump.rst @@ -346,6 +346,8 @@ so atom attributes will include effects due to fixes that are applied during the timestep. An explanation of the possible dump custom attributes is given below. +.. versionadded:: TBD + For style *grid* the extent of the Nx by Ny by Nz grid that overlays the simulation domain is output with each snapshot: @@ -448,6 +450,8 @@ from using the (numerical) atom type to an element name (or some other label). This will help many visualization programs to guess bonds and colors. +.. versionadded:: TBD + The *grid/vtk* style writes VTK files for grid data on a regular rectilinear grid. Its content is conceptually similar to that of the text file produced by the *grid* style, except that it in an XML-based From 4efe379b7bb906022db651f7dd266786c6c2d397 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 14 Dec 2022 15:41:01 -0700 Subject: [PATCH 130/142] tweak dump image settings for better viz of grid cells --- src/dump_image.cpp | 15 +++++++++++++++ src/image.cpp | 14 +++++++++++--- src/image.h | 13 +++++++++---- 3 files changed, 35 insertions(+), 7 deletions(-) diff --git a/src/dump_image.cpp b/src/dump_image.cpp index 32b4a69feb..ff5c8ca31f 100644 --- a/src/dump_image.cpp +++ b/src/dump_image.cpp @@ -921,6 +921,14 @@ void DumpImage::create_image() // for 3d, outward normals on all 6 faces if (gridflag) { + + // reset lighting for flat surfaces to make them brighter + + image->ambientColor[0] = image->ambientColor[1] = image->ambientColor[2] = 0.9; + image->keyLightColor[0] = image->keyLightColor[1] = image->keyLightColor[2] = 0.3; + image->fillLightColor[0] = image->fillLightColor[1] = image->fillLightColor[2] = 0.3; + image->backLightColor[0] = image->backLightColor[1] = image->backLightColor[2] = 0.3; + int n = 0; if (domain->dimension == 2) { for (int iy = nylo_in; iy <= nyhi_in; iy++) @@ -956,6 +964,13 @@ void DumpImage::create_image() image->draw_triangle(gcorners[4],gcorners[7],gcorners[6],color); } } + + // restore lighting for curved objects + + image->ambientColor[0] = image->ambientColor[1] = image->ambientColor[2] = 0.0; + image->keyLightColor[0] = image->keyLightColor[1] = image->keyLightColor[2] = 0.9; + image->fillLightColor[0] = image->fillLightColor[1] = image->fillLightColor[2] = 0.45; + image->backLightColor[0] = image->backLightColor[1] = image->backLightColor[2] = 0.9; } // render atoms that are lines diff --git a/src/image.cpp b/src/image.cpp index 8c503adf92..716104d009 100644 --- a/src/image.cpp +++ b/src/image.cpp @@ -815,26 +815,34 @@ void Image::draw_triangle(double *x, double *y, double *z, double *surfaceColor) double s1[3], s2[3], s3[3]; double c1[3], c2[3]; + // for grid cell viz: + // using <= if test can leave single-pixel gaps between 2 tris + // using < if test fixes it + // suggested by Nathan Fabian, Nov 2022 + MathExtra::sub3 (zlocal, xlocal, s1); MathExtra::sub3 (ylocal, xlocal, s2); MathExtra::sub3 (p, xlocal, s3); MathExtra::cross3 (s1, s2, c1); MathExtra::cross3 (s1, s3, c2); - if (MathExtra::dot3 (c1, c2) <= 0) continue; + if (MathExtra::dot3 (c1, c2) < 0) continue; + //if (MathExtra::dot3 (c1, c2) <= 0) continue; MathExtra::sub3 (xlocal, ylocal, s1); MathExtra::sub3 (zlocal, ylocal, s2); MathExtra::sub3 (p, ylocal, s3); MathExtra::cross3 (s1, s2, c1); MathExtra::cross3 (s1, s3, c2); - if (MathExtra::dot3 (c1, c2) <= 0) continue; + if (MathExtra::dot3 (c1, c2) < 0) continue; + //if (MathExtra::dot3 (c1, c2) <= 0) continue; MathExtra::sub3 (ylocal, zlocal, s1); MathExtra::sub3 (xlocal, zlocal, s2); MathExtra::sub3 (p, zlocal, s3); MathExtra::cross3 (s1, s2, c1); MathExtra::cross3 (s1, s3, c2); - if (MathExtra::dot3 (c1, c2) <= 0) continue; + if (MathExtra::dot3 (c1, c2) < 0) continue; + //if (MathExtra::dot3 (c1, c2) <= 0) continue; double cNormal[3]; cNormal[0] = MathExtra::dot3(camRight, normal); diff --git a/src/image.h b/src/image.h index 8ab5b17efa..51a0acc61c 100644 --- a/src/image.h +++ b/src/image.h @@ -34,6 +34,11 @@ class Image : protected Pointers { double *boxcolor; // color to draw box outline with int background[3]; // RGB values of background + double ambientColor[3]; // light color settings (adjustable by caller) + double keyLightColor[3]; + double fillLightColor[3]; + double backLightColor[3]; + Image(class LAMMPS *, int); ~Image() override; void buffers(); @@ -80,19 +85,19 @@ class Image : protected Pointers { // constant view params double FOV; - double ambientColor[3]; + //double ambientColor[3]; double keyLightTheta; double keyLightPhi; - double keyLightColor[3]; + //double keyLightColor[3]; double fillLightTheta; double fillLightPhi; - double fillLightColor[3]; + //double fillLightColor[3]; double backLightTheta; double backLightPhi; - double backLightColor[3]; + //double backLightColor[3]; double specularHardness; double specularIntensity; From f99ac7dc88047815a4b92889546655305a9f7fef Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 14 Dec 2022 16:14:05 -0700 Subject: [PATCH 131/142] bug fix for 2d grid corners --- src/dump_image.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/dump_image.cpp b/src/dump_image.cpp index ff5c8ca31f..e26ea7fa20 100644 --- a/src/dump_image.cpp +++ b/src/dump_image.cpp @@ -126,7 +126,7 @@ DumpImage::DumpImage(LAMMPS *lmp, int narg, char **arg) : gridflag = NO; lineflag = triflag = bodyflag = fixflag = NO; id_grid_compute = id_grid_fix = nullptr; - + if (atom->nbondtypes == 0) bondflag = NO; else { bondflag = YES; @@ -440,6 +440,9 @@ DumpImage::DumpImage(LAMMPS *lmp, int narg, char **arg) : // local data + grid_compute = nullptr; + grid_fix = nullptr; + maxbufcopy = 0; chooseghost = nullptr; bufcopy = nullptr; @@ -1383,6 +1386,7 @@ void DumpImage::grid_cell_corners_2d(int ix, int iy) for (int x = 0; x < 2; x++) { gcorners[n][0] = boxlo[0] + (ix+x) * xdelta; gcorners[n][1] = boxlo[1] + (iy+y) * ydelta; + gcorners[n][2] = 0.0; n++; } @@ -1398,7 +1402,8 @@ void DumpImage::grid_cell_corners_2d(int ix, int iy) for (int x = 0; x < 2; x++) { lamda[0] = (ix+x) * dx; lamda[1] = (iy+y) * dy; - domain->lamda2x(lamda,gcorners[n++]); + domain->lamda2x(lamda,gcorners[n]); + n++; } } } @@ -1439,7 +1444,8 @@ void DumpImage::grid_cell_corners_3d(int ix, int iy, int iz) lamda[0] = (ix+x) * dx; lamda[1] = (iy+y) * dy; lamda[2] = (iz+z) * dz; - domain->lamda2x(lamda,gcorners[n++]); + domain->lamda2x(lamda,gcorners[n]); + n++; } } } From 6b2b3765c210f276702d0739c4e6509e660d41ab Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 15 Dec 2022 08:48:27 -0700 Subject: [PATCH 132/142] fix valgrind issues --- src/compute_property_grid.cpp | 2 +- src/dump_image.cpp | 3 +++ src/fix_ave_grid.cpp | 14 +++++++++++--- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/compute_property_grid.cpp b/src/compute_property_grid.cpp index b9cc2cbb6a..2b8df955ef 100644 --- a/src/compute_property_grid.cpp +++ b/src/compute_property_grid.cpp @@ -273,7 +273,7 @@ void ComputePropertyGrid::deallocate_grid() delete grid2d; delete grid3d; memory->destroy2d_offset(vec2d, nylo_out, nxlo_out); - memory->destroy2d_offset(array2d, nylo_out, nxlo_out); + memory->destroy3d_offset_last(array2d, nylo_out, nxlo_out); memory->destroy3d_offset(vec3d, nzlo_out, nylo_out, nxlo_out); memory->destroy4d_offset_last(array3d, nzlo_out, nylo_out, nxlo_out); } diff --git a/src/dump_image.cpp b/src/dump_image.cpp index e26ea7fa20..a42a412ca7 100644 --- a/src/dump_image.cpp +++ b/src/dump_image.cpp @@ -466,6 +466,9 @@ DumpImage::~DumpImage() memory->destroy(chooseghost); memory->destroy(bufcopy); memory->destroy(gbuf); + + delete [] id_grid_compute; + delete [] id_grid_fix; } /* ---------------------------------------------------------------------- */ diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index 6e0e16b360..3087688b21 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -330,7 +330,7 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : grid_sample = allocate_one_grid(); grid_nfreq = allocate_one_grid(); - if (aveflag == RUNNING || aveflag == WINDOW) grid_nfreq = allocate_one_grid(); + if (aveflag == RUNNING || aveflag == WINDOW) grid_running = allocate_one_grid(); if (aveflag == WINDOW) { grid_window = new GridData*[nwindow]; for (int i = 0; i < nwindow; i++) @@ -2045,13 +2045,21 @@ void FixAveGrid::reset_grid() grid_window_previous[i] = clone_one_grid(grid_window[i]); } + delete grid_sample; + delete grid_nfreq; + if (aveflag == RUNNING || aveflag == WINDOW) delete grid_running; + if (aveflag == WINDOW) { + for (int i = 0; i < nwindow; i++) + delete grid_window; + } + // allocate grid instance and grid data for new decomposition allocate_grid(); grid_sample = allocate_one_grid(); grid_nfreq = allocate_one_grid(); - if (aveflag == RUNNING || aveflag == WINDOW) grid_nfreq = allocate_one_grid(); + if (aveflag == RUNNING || aveflag == WINDOW) grid_running = allocate_one_grid(); if (aveflag == WINDOW) { grid_window = new GridData*[nwindow]; for (int i = 0; i < nwindow; i++) @@ -2091,7 +2099,7 @@ void FixAveGrid::reset_grid() if (dimension == 2) delete grid2d_previous; else delete grid3d_previous; - + deallocate_one_grid(grid_sample_previous,nxlo_out_previous,nylo_out_previous,nzlo_out_previous); deallocate_one_grid(grid_nfreq_previous,nxlo_out_previous,nylo_out_previous,nzlo_out_previous); if (aveflag == RUNNING || aveflag == WINDOW) From 28f8525fa02ba14292bd99af0dc31092c9c9d797 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 15 Dec 2022 08:55:55 -0700 Subject: [PATCH 133/142] one more valgrind error --- src/fix_ave_grid.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index 3087688b21..21b8abee78 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -2050,7 +2050,8 @@ void FixAveGrid::reset_grid() if (aveflag == RUNNING || aveflag == WINDOW) delete grid_running; if (aveflag == WINDOW) { for (int i = 0; i < nwindow; i++) - delete grid_window; + delete grid_window[i]; + delete [] grid_window; } // allocate grid instance and grid data for new decomposition From dc7bf29c0947d3594068dc2d7da51650dd2cc68c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 16 Dec 2022 05:08:07 -0500 Subject: [PATCH 134/142] whitespace fixes --- src/dump_image.cpp | 4 ++-- src/fix_ave_grid.cpp | 4 ++-- src/image.cpp | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/dump_image.cpp b/src/dump_image.cpp index a42a412ca7..36cafc9b73 100644 --- a/src/dump_image.cpp +++ b/src/dump_image.cpp @@ -126,7 +126,7 @@ DumpImage::DumpImage(LAMMPS *lmp, int narg, char **arg) : gridflag = NO; lineflag = triflag = bodyflag = fixflag = NO; id_grid_compute = id_grid_fix = nullptr; - + if (atom->nbondtypes == 0) bondflag = NO; else { bondflag = YES; @@ -929,7 +929,7 @@ void DumpImage::create_image() if (gridflag) { // reset lighting for flat surfaces to make them brighter - + image->ambientColor[0] = image->ambientColor[1] = image->ambientColor[2] = 0.9; image->keyLightColor[0] = image->keyLightColor[1] = image->keyLightColor[2] = 0.3; image->fillLightColor[0] = image->fillLightColor[1] = image->fillLightColor[2] = 0.3; diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index 21b8abee78..446697229a 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -2053,7 +2053,7 @@ void FixAveGrid::reset_grid() delete grid_window[i]; delete [] grid_window; } - + // allocate grid instance and grid data for new decomposition allocate_grid(); @@ -2100,7 +2100,7 @@ void FixAveGrid::reset_grid() if (dimension == 2) delete grid2d_previous; else delete grid3d_previous; - + deallocate_one_grid(grid_sample_previous,nxlo_out_previous,nylo_out_previous,nzlo_out_previous); deallocate_one_grid(grid_nfreq_previous,nxlo_out_previous,nylo_out_previous,nzlo_out_previous); if (aveflag == RUNNING || aveflag == WINDOW) diff --git a/src/image.cpp b/src/image.cpp index 710c80b910..1c23939781 100644 --- a/src/image.cpp +++ b/src/image.cpp @@ -819,7 +819,7 @@ void Image::draw_triangle(double *x, double *y, double *z, double *surfaceColor) // using <= if test can leave single-pixel gaps between 2 tris // using < if test fixes it // suggested by Nathan Fabian, Nov 2022 - + MathExtra::sub3 (zlocal, xlocal, s1); MathExtra::sub3 (ylocal, xlocal, s2); MathExtra::sub3 (p, xlocal, s3); From 7eb22f691bd914bd623032345a3ade219cb70f4f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 16 Dec 2022 06:16:51 -0500 Subject: [PATCH 135/142] remove unused variables --- src/utils.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/utils.cpp b/src/utils.cpp index c39a4f7889..0570c48226 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -654,7 +654,7 @@ int utils::expand_args(const char *file, int line, int narg, char **arg, int mod if (igrid >= 0) { int ncol = 0; - int idata = compute->get_griddata_by_name(igrid, id, ncol); + compute->get_griddata_by_name(igrid, id, ncol); nmax = ncol; expandflag = 1; @@ -673,7 +673,7 @@ int utils::expand_args(const char *file, int line, int narg, char **arg, int mod if (igrid >= 0) { int ncol = 0; - int idata = fix->get_griddata_by_name(igrid, id, ncol); + fix->get_griddata_by_name(igrid, id, ncol); nmax = ncol; expandflag = 1; From b734ddc9d4b396bba5b47182c6bee28f4a05c16f Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Fri, 16 Dec 2022 12:04:49 -0700 Subject: [PATCH 136/142] Port grid3d changes to Kokkos --- src/KOKKOS/grid3d_kokkos.cpp | 245 +++++++++++++++-------------------- src/KOKKOS/grid3d_kokkos.h | 28 ++-- src/KOKKOS/pppm_kokkos.cpp | 232 +++++++++++++++------------------ src/grid3d.cpp | 2 +- src/grid3d.h | 6 +- 5 files changed, 227 insertions(+), 286 deletions(-) diff --git a/src/KOKKOS/grid3d_kokkos.cpp b/src/KOKKOS/grid3d_kokkos.cpp index a12a0663fd..2c8c0c325d 100644 --- a/src/KOKKOS/grid3d_kokkos.cpp +++ b/src/KOKKOS/grid3d_kokkos.cpp @@ -2,7 +2,7 @@ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories - LAMMPS development team: developers@lammps.org + 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 @@ -15,6 +15,7 @@ #include "grid3d_kokkos.h" #include "comm.h" +#include "error.h" #include "irregular.h" #include "kokkos.h" #include "kokkos_base_fft.h" @@ -23,63 +24,53 @@ using namespace LAMMPS_NS; -enum{REGULAR,TILED}; - #define DELTA 16 +static constexpr int OFFSET = 16384; + /* ---------------------------------------------------------------------- - NOTES - tiled implementation only currently works for RCB, not general tiled - b/c RCB tree is used to find neighboring tiles + NOTES: if o indices for ghosts are < 0 or hi indices are >= N, then grid is treated as periodic in that dimension, - communication is done across the periodic boundaries + comm is done across the periodic boundaries + tiled implementations only work for RCB, not general tilings + b/c RCB tree is used to find neighboring tiles ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- - constructor called by all classes except MSM - gcomm = world communicator - gn xyz = size of global grid - i xyz lohi = portion of global grid this proc owns, 0 <= index < N - o xyz lohi = owned grid portion + ghost grid cells needed in all directions - if o indices are < 0 or hi indices are >= N, - then grid is treated as periodic in that dimension, - communication is done across the periodic boundaries + constructor to create a 3d distributed grid + Grid3d assigns owned/ghost cells to each proc via setup_grid() + it MUST be called after constructor + gcomm = caller's communicator + gnx,gny,gnz = global grid size ------------------------------------------------------------------------- */ template -Grid3dKokkos::Grid3dKokkos(LAMMPS *lmp, MPI_Comm gcomm, - int gnx, int gny, int gnz, - int ixlo, int ixhi, int iylo, int iyhi, int izlo, int izhi, - int oxlo, int oxhi, int oylo, int oyhi, int ozlo, int ozhi) - : Grid3d(lmp, gcomm, - gnx, gny, gnz, - ixlo,ixhi, iylo, iyhi, izlo, izhi, - oxlo, oxhi, oylo, oyhi, ozlo, ozhi) +Grid3dKokkos::Grid3dKokkos(LAMMPS *lmp, MPI_Comm gcomm,int gnx, int gny, int gnz) : + Grid3d(lmp, gcomm, gnx, gny, gnz) { } /* ---------------------------------------------------------------------- - constructor called by MSM - gcomm = world communicator or sub-communicator for a hierarchical grid - flag = 1 if e xyz lohi values = larger grid stored by caller in gcomm = world - flag = 2 if e xyz lohi values = 6 neighbor procs in gcomm - gn xyz = size of global grid - i xyz lohi = portion of global grid this proc owns, 0 <= index < N - o xyz lohi = owned grid portion + ghost grid cells needed in all directions - e xyz lohi for flag = 1: extent of larger grid stored by caller - e xyz lohi for flag = 2: 6 neighbor procs + alternate constructor to create a 3d distributed grid + caller assigns owned/ghost cells to each proc + setup_grid() must NOT be called + used by MSM and PPPM/Electrode b/c their definition of ghost cells is complex + gcomm = caller's communicator + gnx,gny,gnz = global grid size + i xyz lo/hi = extent of owned grid cells on this proc + o xyz lo/hi = extent of owned+ghost grid cells on this proc + owned and ghost indices are inclusive + owned indices range from 0 to N-1 + ghost indices can extend < 0 or >= N ------------------------------------------------------------------------- */ template -Grid3dKokkos::Grid3dKokkos(LAMMPS *lmp, MPI_Comm gcomm, int /*flag*/, - int gnx, int gny, int gnz, +Grid3dKokkos::Grid3dKokkos(LAMMPS *lmp, MPI_Comm gcomm, int gnx, int gny, int gnz, int ixlo, int ixhi, int iylo, int iyhi, int izlo, int izhi, - int oxlo, int oxhi, int oylo, int oyhi, int ozlo, int ozhi, - int /*exlo*/, int /*exhi*/, int /*eylo*/, int /*eyhi*/, int /*ezlo*/, int /*ezhi*/) - : Grid3d(lmp, gcomm, - gnx, gny, gnz, - ixlo,ixhi, iylo, iyhi, izlo, izhi, + int oxlo, int oxhi, int oylo, int oyhi, int ozlo, int ozhi) + : Grid3d(lmp, gcomm, gnx, gny, gnz, + ixlo, ixhi, iylo, iyhi, izlo, izhi, oxlo, oxhi, oylo, oyhi, ozlo, ozhi) { } @@ -89,30 +80,14 @@ Grid3dKokkos::Grid3dKokkos(LAMMPS *lmp, MPI_Comm gcomm, int /*flag*/ template Grid3dKokkos::~Grid3dKokkos() { - // regular comm data struct - - for (int i = 0; i < nswap; i++) { - swap[i].packlist = nullptr; - swap[i].unpacklist = nullptr; - } - - // tiled comm data structs - - for (int i = 0; i < nsend; i++) - send[i].packlist = nullptr; - - for (int i = 0; i < nrecv; i++) - recv[i].unpacklist = nullptr; - - for (int i = 0; i < ncopy; i++) { - copy[i].packlist = nullptr; - copy[i].unpacklist = nullptr; - } - } /* ---------------------------------------------------------------------- - setup comm for a regular grid of procs + grow list of swaps by DELTA +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + setup owned/ghost comm for brick comm each proc has 6 neighbors comm pattern = series of swaps with one of those 6 procs can be multiple swaps with same proc if ghost extent is large @@ -121,7 +96,7 @@ Grid3dKokkos::~Grid3dKokkos() ------------------------------------------------------------------------- */ template -void Grid3dKokkos::setup_regular(int &nbuf1, int &nbuf2) +void Grid3dKokkos::setup_comm_brick(int &nbuf1, int &nbuf2) { int nsent,sendfirst,sendlast,recvfirst,recvlast; int sendplanes,recvplanes; @@ -414,7 +389,7 @@ void Grid3dKokkos::setup_regular(int &nbuf1, int &nbuf2) } /* ---------------------------------------------------------------------- - setup comm for RCB tiled proc domains + setup owned/ghost comm for tiled comm each proc has arbitrary # of neighbors that overlap its ghost extent identify which procs will send me ghost cells, and vice versa may not be symmetric if both procs do not need same layers of ghosts @@ -423,29 +398,14 @@ void Grid3dKokkos::setup_regular(int &nbuf1, int &nbuf2) ------------------------------------------------------------------------- */ template -void Grid3dKokkos::setup_tiled(int &nbuf1, int &nbuf2) +void Grid3dKokkos::setup_comm_tiled(int &nbuf1, int &nbuf2) { int i,m; double xlo,xhi,ylo,yhi,zlo,zhi; int ghostbox[6],pbc[3]; - // setup RCB tree of cut info for grid - // access CommTiled to get cut dimension - // cut = this proc's inlo in that dim - // dim is -1 for proc 0, but never accessed - - rcbinfo = (RCBinfo *) - memory->smalloc(nprocs*sizeof(RCBinfo),"Grid3d:rcbinfo"); - RCBinfo rcbone; - rcbone.dim = comm->rcbcutdim; - if (rcbone.dim <= 0) rcbone.cut = inxlo; - else if (rcbone.dim == 1) rcbone.cut = inylo; - else if (rcbone.dim == 2) rcbone.cut = inzlo; - MPI_Allgather(&rcbone,sizeof(RCBinfo),MPI_CHAR, - rcbinfo,sizeof(RCBinfo),MPI_CHAR,gridcomm); - - // find overlaps of my extended ghost box with all other procs - // accounts for crossings of periodic boundaries + // find overlaps of my extended ghost box with all owned boxes + // accounts for ghost box overlapping periodic boundaries // noverlap = # of overlaps, including self // overlap = vector of overlap info using Overlap data struct @@ -458,27 +418,28 @@ void Grid3dKokkos::setup_tiled(int &nbuf1, int &nbuf2) pbc[0] = pbc[1] = pbc[2] = 0; - memory->create(overlap_procs,nprocs,"Grid3d:overlap_procs"); - noverlap = maxoverlap = 0; - overlap = nullptr; - - ghost_box_drop(ghostbox,pbc); + Overlap *overlap; + int noverlap = compute_overlap(1,ghostbox,pbc,overlap); // send each proc an overlap message // content: me, index of my overlap, box that overlaps with its owned cells - // ncopy = # of overlaps with myself, across a periodic boundary + // ncopy = # of overlaps with myself across a periodic boundary + // skip copy to self when non-PBC int *proclist; - memory->create(proclist,noverlap,"Grid3d:proclist"); + memory->create(proclist,noverlap,"grid3d:proclist"); srequest = (Request *) - memory->smalloc(noverlap*sizeof(Request),"Grid3d:srequest"); + memory->smalloc(noverlap*sizeof(Request),"grid3d:srequest"); int nsend_request = 0; ncopy = 0; for (m = 0; m < noverlap; m++) { - if (overlap[m].proc == me) ncopy++; - else { + if (overlap[m].proc == me) { + if (overlap[m].pbc[0] == 0 && overlap[m].pbc[1] == 0 && + overlap[m].pbc[2] == 0) continue; + ncopy++; + } else { proclist[nsend_request] = overlap[m].proc; srequest[nsend_request].sender = me; srequest[nsend_request].index = m; @@ -488,24 +449,22 @@ void Grid3dKokkos::setup_tiled(int &nbuf1, int &nbuf2) } } - Irregular *irregular = new Irregular(lmp); + auto irregular = new Irregular(lmp); int nrecv_request = irregular->create_data(nsend_request,proclist,1); - Request *rrequest = - (Request *) memory->smalloc(nrecv_request*sizeof(Request),"Grid3d:rrequest"); + auto rrequest = (Request *) memory->smalloc(nrecv_request*sizeof(Request),"grid3d:rrequest"); irregular->exchange_data((char *) srequest,sizeof(Request),(char *) rrequest); irregular->destroy_data(); // compute overlaps between received ghost boxes and my owned box // overlap box used to setup my Send data struct and respond to requests - send = (Send *) memory->smalloc(nrecv_request*sizeof(Send),"Grid3d:send"); + send = (Send *) memory->smalloc(nrecv_request*sizeof(Send),"grid3d:send"); - k_send_packlist = DAT::tdual_int_2d("Grid3d:send_packlist",nrecv_request,k_send_packlist.extent(1)); + k_send_packlist = DAT::tdual_int_2d("grid3d:send_packlist",nrecv_request,k_send_packlist.extent(1)); - sresponse = (Response *) - memory->smalloc(nrecv_request*sizeof(Response),"Grid3d:sresponse"); + sresponse = (Response *) memory->smalloc(nrecv_request*sizeof(Response),"grid3d:sresponse"); memory->destroy(proclist); - memory->create(proclist,nrecv_request,"Grid3d:proclist"); + memory->create(proclist,nrecv_request,"grid3d:proclist"); for (m = 0; m < nrecv_request; m++) { send[m].proc = rrequest[m].sender; @@ -534,8 +493,7 @@ void Grid3dKokkos::setup_tiled(int &nbuf1, int &nbuf2) int nsend_response = nrecv_request; int nrecv_response = irregular->create_data(nsend_response,proclist,1); - Response *rresponse = - (Response *) memory->smalloc(nrecv_response*sizeof(Response),"Grid3d:rresponse"); + auto rresponse = (Response *) memory->smalloc(nrecv_response*sizeof(Response),"grid3d:rresponse"); irregular->exchange_data((char *) sresponse,sizeof(Response),(char *) rresponse); irregular->destroy_data(); delete irregular; @@ -544,9 +502,9 @@ void Grid3dKokkos::setup_tiled(int &nbuf1, int &nbuf2) // box used to setup my Recv data struct after unwrapping via PBC // adjacent = 0 if any box of ghost cells does not adjoin my owned cells - recv = (Recv *) memory->smalloc(nrecv_response*sizeof(Recv),"Grid3d:recv"); + recv = (Recv *) memory->smalloc(nrecv_response*sizeof(Recv),"grid3d:recv"); - k_recv_unpacklist = DAT::tdual_int_2d("Grid3d:recv_unpacklist",nrecv_response,k_recv_unpacklist.extent(1)); + k_recv_unpacklist = DAT::tdual_int_2d("grid3d:recv_unpacklist",nrecv_response,k_recv_unpacklist.extent(1)); adjacent = 1; @@ -569,15 +527,18 @@ void Grid3dKokkos::setup_tiled(int &nbuf1, int &nbuf2) nrecv = nrecv_response; // create Copy data struct from overlaps with self + // skip copy to self when non-PBC - copy = (Copy *) memory->smalloc(ncopy*sizeof(Copy),"Grid3d:copy"); + copy = (Copy *) memory->smalloc(ncopy*sizeof(Copy),"grid3d:copy"); - k_copy_packlist = DAT::tdual_int_2d("Grid3d:copy_packlist",ncopy,k_copy_packlist.extent(1)); - k_copy_unpacklist = DAT::tdual_int_2d("Grid3d:copy_unpacklist",ncopy,k_copy_unpacklist.extent(1)); + k_copy_packlist = DAT::tdual_int_2d("grid3d:copy_packlist",ncopy,k_copy_packlist.extent(1)); + k_copy_unpacklist = DAT::tdual_int_2d("grid3d:copy_unpacklist",ncopy,k_copy_unpacklist.extent(1)); ncopy = 0; for (m = 0; m < noverlap; m++) { if (overlap[m].proc != me) continue; + if (overlap[m].pbc[0] == 0 && overlap[m].pbc[1] == 0 && + overlap[m].pbc[2] == 0) continue; xlo = overlap[m].box[0]; xhi = overlap[m].box[1]; ylo = overlap[m].box[2]; @@ -616,10 +577,8 @@ void Grid3dKokkos::setup_tiled(int &nbuf1, int &nbuf2) // clean-up - memory->sfree(rcbinfo); + clean_overlap(); memory->destroy(proclist); - memory->destroy(overlap_procs); - memory->sfree(overlap); memory->sfree(srequest); memory->sfree(rrequest); memory->sfree(sresponse); @@ -650,28 +609,36 @@ void Grid3dKokkos::setup_tiled(int &nbuf1, int &nbuf2) nbuf2 = MAX(nbufs,nbufr); } +// ---------------------------------------------------------------------- +// forward/reverse comm of owned/ghost grid data via callbacks +// ---------------------------------------------------------------------- + /* ---------------------------------------------------------------------- forward comm of my owned cells to other's ghost cells ------------------------------------------------------------------------- */ template -void Grid3dKokkos::forward_comm_kspace(KSpace *kspace, int which, int nper, - FFT_DAT::tdual_FFT_SCALAR_1d &k_buf1, FFT_DAT::tdual_FFT_SCALAR_1d &k_buf2, MPI_Datatype datatype) +void Grid3dKokkos::forward_comm(int caller, void *ptr, int which, int nper, int nbyte, + FFT_DAT::tdual_FFT_SCALAR_1d& k_buf1, FFT_DAT::tdual_FFT_SCALAR_1d& k_buf2, + MPI_Datatype datatype) { - if (layout == REGULAR) - forward_comm_kspace_regular(kspace,which,nper,k_buf1,k_buf2,datatype); + if (caller == KSPACE) { + if (layout != Comm::LAYOUT_TILED) + forward_comm_kspace_brick((KSpace *) ptr,which,nper,k_buf1,k_buf2,datatype); else - forward_comm_kspace_tiled(kspace,which,nper,k_buf1,k_buf2,datatype); + forward_comm_kspace_tiled((KSpace *) ptr,which,nper,k_buf1,k_buf2,datatype); + } else + error->all(FLERR,"Kokkos grid comm only supports Kspace"); } /* ---------------------------------------------------------------------- - forward comm on regular grid of procs via list of swaps with 6 neighbor procs + forward comm for brick decomp via list of swaps with 6 neighbor procs ------------------------------------------------------------------------- */ template void Grid3dKokkos:: -forward_comm_kspace_regular(KSpace *kspace, int which, int nper, - FFT_DAT::tdual_FFT_SCALAR_1d &k_buf1, FFT_DAT::tdual_FFT_SCALAR_1d &k_buf2, MPI_Datatype datatype) +forward_comm_kspace_brick(KSpace *kspace, int which, int nper, + FFT_DAT::tdual_FFT_SCALAR_1d &k_buf1, FFT_DAT::tdual_FFT_SCALAR_1d &k_buf2, MPI_Datatype datatype) { int m; MPI_Request request; @@ -719,7 +686,7 @@ forward_comm_kspace_regular(KSpace *kspace, int which, int nper, } /* ---------------------------------------------------------------------- - forward comm on tiled grid decomp via Send/Recv lists of each neighbor proc + forward comm for tiled decomp via Send/Recv lists of each neighbor proc ------------------------------------------------------------------------- */ template @@ -791,23 +758,27 @@ forward_comm_kspace_tiled(KSpace *kspace, int which, int nper, ------------------------------------------------------------------------- */ template -void Grid3dKokkos::reverse_comm_kspace(KSpace *kspace, int which, int nper, - FFT_DAT::tdual_FFT_SCALAR_1d &k_buf1, FFT_DAT::tdual_FFT_SCALAR_1d &k_buf2, MPI_Datatype datatype) +void Grid3dKokkos::reverse_comm(int caller, void *ptr, int which, int nper, int nbyte, + FFT_DAT::tdual_FFT_SCALAR_1d& k_buf1, FFT_DAT::tdual_FFT_SCALAR_1d& k_buf2, + MPI_Datatype datatype) { - if (layout == REGULAR) - reverse_comm_kspace_regular(kspace,which,nper,k_buf1,k_buf2,datatype); - else - reverse_comm_kspace_tiled(kspace,which,nper,k_buf1,k_buf2,datatype); + if (caller == KSPACE) { + if (layout != Comm::LAYOUT_TILED) + reverse_comm_kspace_brick((KSpace *) ptr,which,nper,k_buf1,k_buf2,datatype); + else + reverse_comm_kspace_tiled((KSpace *) ptr,which,nper,k_buf1,k_buf2,datatype); + } else + error->all(FLERR,"Kokkos grid comm only supports Kspace"); } /* ---------------------------------------------------------------------- - reverse comm on regular grid of procs via list of swaps with 6 neighbor procs + reverse comm for brick decomp via list of swaps with 6 neighbor procs ------------------------------------------------------------------------- */ template void Grid3dKokkos:: -reverse_comm_kspace_regular(KSpace *kspace, int which, int nper, - FFT_DAT::tdual_FFT_SCALAR_1d &k_buf1, FFT_DAT::tdual_FFT_SCALAR_1d &k_buf2, MPI_Datatype datatype) +reverse_comm_kspace_brick(KSpace *kspace, int which, int nper, + FFT_DAT::tdual_FFT_SCALAR_1d &k_buf1, FFT_DAT::tdual_FFT_SCALAR_1d &k_buf2, MPI_Datatype datatype) { int m; MPI_Request request; @@ -856,7 +827,7 @@ reverse_comm_kspace_regular(KSpace *kspace, int which, int nper, } /* ---------------------------------------------------------------------- - reverse comm on tiled grid decomp via Send/Recv lists of each neighbor proc + reverse comm for tiled decomp via Send/Recv lists of each neighbor proc ------------------------------------------------------------------------- */ template @@ -908,7 +879,6 @@ reverse_comm_kspace_tiled(KSpace *kspace, int which, int nper, } // unpack all received data - for (i = 0; i < nsend; i++) { MPI_Waitany(nsend,requests,&m,MPI_STATUS_IGNORE); @@ -924,24 +894,23 @@ reverse_comm_kspace_tiled(KSpace *kspace, int which, int nper, } } +// ---------------------------------------------------------------------- +// miscellaneous methods +// ---------------------------------------------------------------------- + /* ---------------------------------------------------------------------- - create swap stencil for grid own/ghost communication - swaps covers all 3 dimensions and both directions - swaps cover multiple iterations in a direction if need grid pts - from further away than nearest-neighbor proc - same swap list used by forward and reverse communication + grow list of swaps by DELTA ------------------------------------------------------------------------- */ template void Grid3dKokkos::grow_swap() { maxswap += DELTA; - swap = (Swap *) - memory->srealloc(swap,maxswap*sizeof(Swap),"Grid3d:swap"); + swap = (Swap *) memory->srealloc(swap,maxswap*sizeof(Swap),"grid3d:swap"); if (!k_swap_packlist.d_view.data()) { - k_swap_packlist = DAT::tdual_int_2d("Grid3d:swap_packlist",maxswap,k_swap_packlist.extent(1)); - k_swap_unpacklist = DAT::tdual_int_2d("Grid3d:swap_unpacklist",maxswap,k_swap_unpacklist.extent(1)); + k_swap_packlist = DAT::tdual_int_2d("grid3d:swap_packlist",maxswap,k_swap_packlist.extent(1)); + k_swap_unpacklist = DAT::tdual_int_2d("grid3d:swap_unpacklist",maxswap,k_swap_unpacklist.extent(1)); } else { k_swap_packlist.resize(maxswap,k_swap_packlist.extent(1)); k_swap_unpacklist.resize(maxswap,k_swap_unpacklist.extent(1)); @@ -950,7 +919,7 @@ void Grid3dKokkos::grow_swap() /* ---------------------------------------------------------------------- create 1d list of offsets into 3d array section (xlo:xhi,ylo:yhi,zlo:zhi) - assume 3d array is allocated as + assume caller's 3d array is allocated as (fullxlo:fullxhi,fullylo:fullyhi,fullzlo:fullzhi) ------------------------------------------------------------------------- */ diff --git a/src/KOKKOS/grid3d_kokkos.h b/src/KOKKOS/grid3d_kokkos.h index 12bd7df71b..19751d83c9 100644 --- a/src/KOKKOS/grid3d_kokkos.h +++ b/src/KOKKOS/grid3d_kokkos.h @@ -24,21 +24,19 @@ namespace LAMMPS_NS { template class Grid3dKokkos : public Grid3d { public: + enum { KSPACE = 0, PAIR = 1, FIX = 2 }; // calling classes typedef DeviceType device_type; typedef ArrayTypes AT; typedef FFTArrayTypes FFT_AT; + Grid3dKokkos(class LAMMPS *, MPI_Comm, int, int, int); Grid3dKokkos(class LAMMPS *, MPI_Comm, int, int, int, - int, int, int, int, int, int, - int, int, int, int, int, int); - Grid3dKokkos(class LAMMPS *, MPI_Comm, int, int, int, int, - int, int, int, int, int, int, - int, int, int, int, int, int, - int, int, int, int, int, int); + int, int, int, int, int, int, int, int, int, int, int, int); ~Grid3dKokkos() override; - void forward_comm_kspace(class KSpace *, int, int, - FFT_DAT::tdual_FFT_SCALAR_1d &, FFT_DAT::tdual_FFT_SCALAR_1d &, MPI_Datatype); - void reverse_comm_kspace(class KSpace *, int, int, - FFT_DAT::tdual_FFT_SCALAR_1d &, FFT_DAT::tdual_FFT_SCALAR_1d &, MPI_Datatype); + + void forward_comm(int, void *, int, int, int, + FFT_DAT::tdual_FFT_SCALAR_1d &, FFT_DAT::tdual_FFT_SCALAR_1d &, MPI_Datatype); + void reverse_comm(int, void *, int, int, int, + FFT_DAT::tdual_FFT_SCALAR_1d &, FFT_DAT::tdual_FFT_SCALAR_1d &, MPI_Datatype); private: DAT::tdual_int_2d k_swap_packlist; @@ -55,14 +53,14 @@ class Grid3dKokkos : public Grid3d { // internal methods // ------------------------------------------- - void setup_regular(int &, int &) override; - void setup_tiled(int &, int &) override; + void setup_comm_brick(int &, int &) override; + void setup_comm_tiled(int &, int &) override; - void forward_comm_kspace_regular(class KSpace *, int, int, + void forward_comm_kspace_brick(class KSpace *, int, int, FFT_DAT::tdual_FFT_SCALAR_1d &, FFT_DAT::tdual_FFT_SCALAR_1d &, MPI_Datatype); void forward_comm_kspace_tiled(class KSpace *, int, int, FFT_DAT::tdual_FFT_SCALAR_1d &, FFT_DAT::tdual_FFT_SCALAR_1d &, MPI_Datatype); - void reverse_comm_kspace_regular(class KSpace *, int, int, + void reverse_comm_kspace_brick(class KSpace *, int, int, FFT_DAT::tdual_FFT_SCALAR_1d &, FFT_DAT::tdual_FFT_SCALAR_1d &, MPI_Datatype); void reverse_comm_kspace_tiled(class KSpace *, int, int, FFT_DAT::tdual_FFT_SCALAR_1d &, FFT_DAT::tdual_FFT_SCALAR_1d &, MPI_Datatype); @@ -72,6 +70,6 @@ class Grid3dKokkos : public Grid3d { int indices(DAT::tdual_int_2d &, int, int, int, int, int, int, int); }; -} +} // namespace LAMMPS_NS #endif diff --git a/src/KOKKOS/pppm_kokkos.cpp b/src/KOKKOS/pppm_kokkos.cpp index b89af4639b..e2995209ad 100644 --- a/src/KOKKOS/pppm_kokkos.cpp +++ b/src/KOKKOS/pppm_kokkos.cpp @@ -66,39 +66,9 @@ PPPMKokkos::PPPMKokkos(LAMMPS *lmp) : PPPM(lmp) datamask_read = X_MASK | F_MASK | TYPE_MASK | Q_MASK; datamask_modify = F_MASK; - pppmflag = 1; group_group_enable = 0; triclinic_support = 1; - nfactors = 3; - //factors = new int[nfactors]; - factors[0] = 2; - factors[1] = 3; - factors[2] = 5; - - MPI_Comm_rank(world,&me); - MPI_Comm_size(world,&nprocs); - - //density_brick = d_vdx_brick = d_vdy_brick = d_vdz_brick = nullptr; - //d_density_fft = nullptr; - //d_u_brick = nullptr; - //d_v0_brick = d_v1_brick = d_v2_brick = d_v3_brick = d_v4_brick = d_v5_brick = nullptr; - //greensfn = nullptr; - //d_work1 = d_work2 = nullptr; - //vg = nullptr; - //d_fkx = d_fky = d_fkz = nullptr; - - - //gf_b = nullptr; - //rho1d = rho_coeff = drho1d = drho_coeff = nullptr; - - fft1 = fft2 = nullptr; - remap = nullptr; - gc = nullptr; - - nmax = 0; - //part2grid = nullptr; - peratom_allocate_flag = 0; // define acons coefficients for estimation of kspace errors @@ -154,16 +124,11 @@ PPPMKokkos::~PPPMKokkos() { if (copymode) return; - //delete [] factors; deallocate(); if (peratom_allocate_flag) deallocate_peratom(); - //memory->destroy(part2grid); - //memory->destroy(acons); memoryKK->destroy_kokkos(k_eatom,eatom); memoryKK->destroy_kokkos(k_vatom,vatom); - eatom = nullptr; - vatom = nullptr; } /* ---------------------------------------------------------------------- @@ -173,10 +138,7 @@ PPPMKokkos::~PPPMKokkos() template void PPPMKokkos::init() { - if (me == 0) { - if (screen) fprintf(screen,"PPPM initialization ...\n"); - if (logfile) fprintf(logfile,"PPPM initialization ...\n"); - } + if (me == 0) utils::logmesg(lmp,"PPPM initialization ...\n"); // error check @@ -185,12 +147,12 @@ void PPPMKokkos::init() triclinic_check(); if (domain->triclinic && slabflag) - error->all(FLERR,"Cannot (yet) use PPPM with triclinic box and " - "slab correction"); - if (domain->dimension == 2) error->all(FLERR, - "Cannot use PPPM with 2d simulation"); + error->all(FLERR,"Cannot (yet) use PPPM with triclinic box and slab correction"); + if (domain->dimension == 2) + error->all(FLERR,"Cannot use PPPM with 2d simulation"); - if (!atomKK->q_flag) error->all(FLERR,"Kspace style requires atom attribute q"); + if (!atom->q_flag) + error->all(FLERR,"Kspace style requires atom attribute q"); if (slabflag == 0 && domain->nonperiodic > 0) error->all(FLERR,"Cannot use non-periodic boundaries with PPPM"); @@ -213,7 +175,7 @@ void PPPMKokkos::init() pair_check(); int itmp = 0; - double *p_cutoff = (double *) force->pair->extract("cut_coul",itmp); + auto p_cutoff = (double *) force->pair->extract("cut_coul",itmp); if (p_cutoff == nullptr) error->all(FLERR,"KSpace style is incompatible with Pair style"); cutoff = *p_cutoff; @@ -231,7 +193,7 @@ void PPPMKokkos::init() scale = 1.0; qqrd2e = force->qqrd2e; qsum_qsq(); - natoms_original = atomKK->natoms; + natoms_original = atom->natoms; // set accuracy (force units) from accuracy_relative or accuracy_absolute @@ -249,7 +211,7 @@ void PPPMKokkos::init() // or overlap is allowed, then done // else reduce order and try again - Grid3dKokkos *gctmp = nullptr; + gc = nullptr; int iteration = 0; while (order >= minorder) { @@ -261,23 +223,28 @@ void PPPMKokkos::init() set_grid_local(); if (overlap_allowed) break; - gctmp = new Grid3dKokkos(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 Grid3dKokkos(lmp,world,nx_pppm,ny_pppm,nz_pppm); + gc->set_distance(0.5*neighbor->skin + qdist); + gc->set_stencil_atom(-nlower,nupper); + gc->set_shift_atom(shiftatom_lo,shiftatom_hi); + gc->set_zfactor(slab_volfactor); + + gc->setup_grid(nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in, + nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out); + int tmp1,tmp2; - gctmp->setup(tmp1,tmp2); - if (!gctmp->ghost_adjacent()) break; - delete gctmp; + gc->setup_comm(tmp1,tmp2); + if (gc->ghost_adjacent()) break; + delete gc; order--; iteration++; } if (order < minorder) error->all(FLERR,"PPPM order < minimum allowed order"); - if (!overlap_allowed && gctmp->ghost_adjacent()) - error->all(FLERR,"PPPM grid stencil extends " - "beyond nearest neighbor processor"); - if (gctmp) delete gctmp; + if (!overlap_allowed && !gc->ghost_adjacent()) + error->all(FLERR,"PPPM grid stencil extends beyond nearest neighbor processor"); + if (gc) delete gc; // adjust g_ewald @@ -287,6 +254,17 @@ void PPPMKokkos::init() double estimated_accuracy = final_accuracy(); + // allocate K-space dependent memory + // don't invoke allocate peratom() or group(), will be allocated when needed + + allocate(); + + // pre-compute Green's function denomiator expansion + // pre-compute 1d charge distribution coefficients + + compute_gf_denom(); + compute_rho_coeff(); + // print stats int ngrid_max,nfft_both_max; @@ -306,21 +284,6 @@ void PPPMKokkos::init() ngrid_max,nfft_both_max); utils::logmesg(lmp,mesg); } - - // allocate K-space dependent memory - // don't invoke allocate peratom(), will be allocated when needed - - allocate(); - - // pre-compute Green's function denomiator expansion - // pre-compute 1d charge distribution coefficients - - compute_gf_denom(); - compute_rho_coeff(); - - k_rho_coeff.template modify(); - k_rho_coeff.template sync(); - } /* ---------------------------------------------------------------------- @@ -569,8 +532,7 @@ void PPPMKokkos::reset_grid() allocate(); if (!overlap_allowed && !gc->ghost_adjacent()) - error->all(FLERR,"PPPM grid stencil extends " - "beyond nearest neighbor processor"); + error->all(FLERR,"PPPM grid stencil extends beyond nearest neighbor processor"); // pre-compute Green's function denomiator expansion // pre-compute 1d charge distribution coefficients @@ -623,9 +585,9 @@ void PPPMKokkos::compute(int eflag, int vflag) // if atom count has changed, update qsum and qsqsum - if (atomKK->natoms != natoms_original) { + if (atom->natoms != natoms_original) { qsum_qsq(); - natoms_original = atomKK->natoms; + natoms_original = atom->natoms; } // return if there are no charges @@ -647,10 +609,8 @@ void PPPMKokkos::compute(int eflag, int vflag) // extend size of per-atom arrays if necessary - if (atomKK->nmax > nmax) { - //memory->destroy(part2grid); + if (atom->nmax > nmax) { nmax = atomKK->nmax; - //memory->create(part2grid,nmax,3,"pppm:part2grid"); d_part2grid = typename AT::t_int_1d_3("pppm:part2grid",nmax); d_rho1d = typename FFT_AT::t_FFT_SCALAR_2d_3("pppm:rho1d",nmax,order/2+order/2+1); } @@ -665,8 +625,8 @@ void PPPMKokkos::compute(int eflag, int vflag) // to fully sum contribution in their 3d bricks // remap from 3d decomposition to FFT decomposition - gc->reverse_comm_kspace(this,1,REVERSE_RHO, - k_gc_buf1,k_gc_buf2,MPI_FFT_SCALAR); + gc->reverse_comm(Grid3d::KSPACE,this,REVERSE_RHO,1,sizeof(FFT_SCALAR), + k_gc_buf1,k_gc_buf2,MPI_FFT_SCALAR); brick2fft(); // compute potential gradient on my FFT grid and @@ -679,14 +639,14 @@ void PPPMKokkos::compute(int eflag, int vflag) // all procs communicate E-field values // to fill ghost cells surrounding their 3d bricks - gc->forward_comm_kspace(this,3,FORWARD_IK, - k_gc_buf1,k_gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_IK,3,sizeof(FFT_SCALAR), + k_gc_buf1,k_gc_buf2,MPI_FFT_SCALAR); // extra per-atom energy/virial communication if (evflag_atom) - gc->forward_comm_kspace(this,7,FORWARD_IK_PERATOM, - k_gc_buf1,k_gc_buf2,MPI_FFT_SCALAR); + gc->forward_comm(Grid3d::KSPACE,this,FORWARD_IK_PERATOM,7,sizeof(FFT_SCALAR), + k_gc_buf1,k_gc_buf2,MPI_FFT_SCALAR); // calculate the force on my particles @@ -721,18 +681,16 @@ void PPPMKokkos::compute(int eflag, int vflag) // per-atom energy/virial // energy includes self-energy correction - // notal accounts for TIP4P tallying d_eatom/vatom for ghost atoms + // ntotal accounts for TIP4P tallying eatom/vatom for ghost atoms if (evflag_atom) { int nlocal = atomKK->nlocal; int ntotal = nlocal; - //if (tip4pflag) ntotal += atomKK->nghost; if (eflag_atom) { copymode = 1; Kokkos::parallel_for(Kokkos::RangePolicy(0,nlocal),*this); copymode = 0; - //for (i = nlocal; i < ntotal; i++) d_eatom[i] *= 0.5*qscale; } if (vflag_atom) { @@ -748,7 +706,7 @@ void PPPMKokkos::compute(int eflag, int vflag) // convert atoms back from lamda to box coords - if (triclinic) domain->lamda2x(atomKK->nlocal); + if (triclinic) domain->lamda2x(atom->nlocal); if (eflag_atom) { k_eatom.template modify(); @@ -785,6 +743,46 @@ void PPPMKokkos::operator()(TagPPPM_self2, const int &i) const template void PPPMKokkos::allocate() { + // create ghost grid object for rho and electric field communication + // returns local owned and ghost grid bounds + // setup communication patterns and buffers + + gc = new Grid3dKokkos(lmp,world,nx_pppm,ny_pppm,nz_pppm); + gc->set_distance(0.5*neighbor->skin + qdist); + gc->set_stencil_atom(-nlower,nupper); + gc->set_shift_atom(shiftatom_lo,shiftatom_hi); + gc->set_zfactor(slab_volfactor); + + gc->setup_grid(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); + + npergrid = 3; + + k_gc_buf1 = FFT_DAT::tdual_FFT_SCALAR_1d("pppm:gc_buf1",npergrid*ngc_buf1); + k_gc_buf2 = FFT_DAT::tdual_FFT_SCALAR_1d("pppm:gc_buf2",npergrid*ngc_buf2); + + // tally local grid sizes + // ngrid = count of owned+ghost grid cells on this proc + // nfft_brick = FFT points in 3d brick-decomposition on this proc + // same as count of owned grid cells + // 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); + + 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_both = MAX(nfft,nfft_brick); + + // allocate distributed grid data + d_density_brick = typename FFT_AT::t_FFT_SCALAR_3d("pppm:density_brick",nzhi_out-nzlo_out+1,nyhi_out-nylo_out+1,nxhi_out-nxlo_out+1); memoryKK->create_kokkos(k_density_fft,density_fft,nfft_both,"pppm:d_density_fft"); @@ -843,20 +841,6 @@ void PPPMKokkos::allocate() 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,gpu_aware_flag); - - // create ghost grid object for rho and electric field communication - // also create 2 bufs for ghost grid cell comm, passed to Grid3d methods - - gc = new Grid3dKokkos(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(ngc_buf1,ngc_buf2); - - npergrid = 3; - - k_gc_buf1 = FFT_DAT::tdual_FFT_SCALAR_1d("pppm:gc_buf1",npergrid*ngc_buf1); - k_gc_buf2 = FFT_DAT::tdual_FFT_SCALAR_1d("pppm:gc_buf2",npergrid*ngc_buf2); } /* ---------------------------------------------------------------------- @@ -866,23 +850,18 @@ void PPPMKokkos::allocate() template void PPPMKokkos::deallocate() { + delete gc; + memory->destroy(gc_buf1); + memory->destroy(gc_buf2); + memoryKK->destroy_kokkos(d_density_fft,density_fft); - density_fft = nullptr; memoryKK->destroy_kokkos(d_greensfn,greensfn); - greensfn = nullptr; memoryKK->destroy_kokkos(d_work1,work1); - work1 = nullptr; memoryKK->destroy_kokkos(d_work2,work2); - work2 = nullptr; delete fft1; - fft1 = nullptr; delete fft2; - fft2 = nullptr; delete remap; - remap = nullptr; - delete gc; - gc = nullptr; } /* ---------------------------------------------------------------------- @@ -905,7 +884,7 @@ void PPPMKokkos::allocate_peratom() // use same GC ghost grid object for peratom grid communication - // but need to reallocate a larger gc_buf1 and gc_buf2 + // but need to reallocate a larger gc_buf1 and gc_buf2 npergrid = 7; @@ -951,7 +930,7 @@ void PPPMKokkos::set_grid_global() if (accuracy <= 0.0) error->all(FLERR,"KSpace accuracy must be > 0"); if (q2 == 0.0) - error->all(FLERR,"Must use 'kspace_modify gewald' for uncharged system"); + error->all(FLERR,"Must use kspace_modify gewald for uncharged system"); g_ewald = accuracy*sqrt(natoms*cutoff*xprd*yprd*zprd) / (2.0*q2); if (g_ewald >= 1.0) g_ewald = (1.35 - 0.15*log(accuracy))/cutoff; else g_ewald = sqrt(-log(g_ewald)) / cutoff; @@ -1020,7 +999,7 @@ void PPPMKokkos::set_grid_global() tmp[0] = nx_pppm; tmp[1] = ny_pppm; tmp[2] = nz_pppm; - KSpace::x2lamdaT(&tmp[0],&tmp[0]); + x2lamdaT(&tmp[0],&tmp[0]); h_x = 1.0/tmp[0]; h_y = 1.0/tmp[1]; h_z = 1.0/tmp[2]; @@ -1064,7 +1043,7 @@ double PPPMKokkos::compute_df_kspace() double yprd = domain->yprd; double zprd = domain->zprd; double zprd_slab = zprd*slab_volfactor; - bigint natoms = atomKK->natoms; + bigint natoms = atom->natoms; double df_kspace = 0.0; double lprx = estimate_ik_error(h_x,xprd,natoms); double lpry = estimate_ik_error(h_y,yprd,natoms); @@ -1104,10 +1083,7 @@ void PPPMKokkos::adjust_gewald() g_ewald -= dx; if (fabs(newton_raphson_f()) < SMALL) return; } - - char str[128]; - sprintf(str, "Could not compute g_ewald"); - error->all(FLERR, str); + error->all(FLERR, "Could not compute g_ewald"); } /* ---------------------------------------------------------------------- @@ -1120,7 +1096,7 @@ double PPPMKokkos::newton_raphson_f() double xprd = domain->xprd; double yprd = domain->yprd; double zprd = domain->zprd; - bigint natoms = atomKK->natoms; + bigint natoms = atom->natoms; double df_rspace = 2.0*q2*exp(-g_ewald*g_ewald*cutoff*cutoff) / sqrt(natoms*cutoff*xprd*yprd*zprd); @@ -1161,7 +1137,7 @@ double PPPMKokkos::final_accuracy() double xprd = domain->xprd; double yprd = domain->yprd; double zprd = domain->zprd; - bigint natoms = atomKK->natoms; + bigint natoms = atom->natoms; if (natoms == 0) natoms = 1; // avoid division by zero double df_kspace = compute_df_kspace(); @@ -1175,10 +1151,10 @@ double PPPMKokkos::final_accuracy() } /* ---------------------------------------------------------------------- - set local subset of PPPM/FFT grid that I own - n xyz lo/hi in = 3d brick that I own (inclusive) - n xyz lo/hi out = 3d brick + ghost cells in 6 directions (inclusive) - n xyz lo/hi fft = FFT columns that I own (all of x dim, 2d decomp in yz) + set params which determine which owned and ghost cells this proc owns + Grid3d uses these params to partition grid + also partition FFT grid + n xyz lo/hi fft = FFT columns that I own (all of x dim, 2d decomp in yz) ------------------------------------------------------------------------- */ template @@ -1470,8 +1446,6 @@ void PPPMKokkos::make_rho() { // clear 3d density array - //memset(&(density_brick(nzlo_out,nylo_out,nxlo_out)),0, - // ngrid*sizeof(FFT_SCALAR)); numz_out = nzhi_out-nzlo_out + 1; numy_out = nyhi_out-nylo_out + 1; numx_out = nxhi_out-nxlo_out + 1; @@ -1484,7 +1458,7 @@ void PPPMKokkos::make_rho() // loop over my charges, add their contribution to nearby grid points // (nx,ny,nz) = global coords of grid pt to "lower left" of charge // (dx,dy,dz) = distance to "lower left" grid pt - // (mx,my,mz) = global coords of moving stencil pt + // (mx,my,mz) = global indices of moving stencil pt nlocal = atomKK->nlocal; diff --git a/src/grid3d.cpp b/src/grid3d.cpp index ca8d19aacc..8f844b19b4 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -1190,7 +1190,7 @@ void Grid3d::setup_comm_tiled(int &nbuf1, int &nbuf2) } // ---------------------------------------------------------------------- -// query locality of forwrd/reverse grid comm +// query locality of forward/reverse grid comm // ---------------------------------------------------------------------- /* ---------------------------------------------------------------------- diff --git a/src/grid3d.h b/src/grid3d.h index a34ba0dbd6..97fcf5992a 100644 --- a/src/grid3d.h +++ b/src/grid3d.h @@ -237,8 +237,8 @@ class Grid3d : protected Pointers { void ghost_grid(); void extract_comm_info(); - void setup_comm_brick(int &, int &); - void setup_comm_tiled(int &, int &); + virtual void setup_comm_brick(int &, int &); + virtual void setup_comm_tiled(int &, int &); int ghost_adjacent_brick(); int ghost_adjacent_tiled(); @@ -257,7 +257,7 @@ class Grid3d : protected Pointers { void box_drop(int *, int *); void box_drop_grid(int *, int, int, int &, int *); - void grow_swap(); + virtual void grow_swap(); void grow_overlap(); void deallocate_remap(); From e9cc625eae3d197a1bbf35938b30d146c7ebe5c0 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Fri, 16 Dec 2022 12:11:45 -0700 Subject: [PATCH 137/142] Whitespace --- src/KOKKOS/grid3d_kokkos.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/KOKKOS/grid3d_kokkos.cpp b/src/KOKKOS/grid3d_kokkos.cpp index 2c8c0c325d..b4b04f4749 100644 --- a/src/KOKKOS/grid3d_kokkos.cpp +++ b/src/KOKKOS/grid3d_kokkos.cpp @@ -622,7 +622,7 @@ void Grid3dKokkos::forward_comm(int caller, void *ptr, int which, in FFT_DAT::tdual_FFT_SCALAR_1d& k_buf1, FFT_DAT::tdual_FFT_SCALAR_1d& k_buf2, MPI_Datatype datatype) { - if (caller == KSPACE) { + if (caller == KSPACE) { if (layout != Comm::LAYOUT_TILED) forward_comm_kspace_brick((KSpace *) ptr,which,nper,k_buf1,k_buf2,datatype); else From 6eeab59a5e68cd2582a7c0af21c643ff654518ea Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Fri, 16 Dec 2022 14:12:21 -0700 Subject: [PATCH 138/142] Remove redundant variable --- src/KOKKOS/pppm_kokkos.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/KOKKOS/pppm_kokkos.h b/src/KOKKOS/pppm_kokkos.h index 5238bc7ca5..1bdb03335e 100644 --- a/src/KOKKOS/pppm_kokkos.h +++ b/src/KOKKOS/pppm_kokkos.h @@ -353,8 +353,6 @@ class PPPMKokkos : public PPPM, public KokkosBaseFFT { typename ArrayTypes::t_efloat_1d d_eatom; typename ArrayTypes::t_virial_array d_vatom; - int factors[3]; - typename FFT_AT::t_FFT_SCALAR_3d d_density_brick; typename FFT_AT::t_FFT_SCALAR_3d d_vdx_brick,d_vdy_brick,d_vdz_brick; typename FFT_AT::t_FFT_SCALAR_3d d_u_brick; From 544e171635234fbb266eeb1401956705552c5d67 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Fri, 16 Dec 2022 14:13:08 -0700 Subject: [PATCH 139/142] Avoid trying to free a wild pointer --- src/KOKKOS/grid3d_kokkos.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/KOKKOS/grid3d_kokkos.cpp b/src/KOKKOS/grid3d_kokkos.cpp index b4b04f4749..e52c391fe9 100644 --- a/src/KOKKOS/grid3d_kokkos.cpp +++ b/src/KOKKOS/grid3d_kokkos.cpp @@ -49,6 +49,7 @@ template Grid3dKokkos::Grid3dKokkos(LAMMPS *lmp, MPI_Comm gcomm,int gnx, int gny, int gnz) : Grid3d(lmp, gcomm, gnx, gny, gnz) { + } /* ---------------------------------------------------------------------- @@ -73,6 +74,7 @@ Grid3dKokkos::Grid3dKokkos(LAMMPS *lmp, MPI_Comm gcomm, int gnx, int ixlo, ixhi, iylo, iyhi, izlo, izhi, oxlo, oxhi, oylo, oyhi, ozlo, ozhi) { + } /* ---------------------------------------------------------------------- */ @@ -80,6 +82,23 @@ Grid3dKokkos::Grid3dKokkos(LAMMPS *lmp, MPI_Comm gcomm, int gnx, int template Grid3dKokkos::~Grid3dKokkos() { + for (int i = 0; i < nswap; i++) { + swap[i].packlist = nullptr; + swap[i].unpacklist = nullptr; + } + + // tiled comm data structs + + for (int i = 0; i < nsend; i++) + send[i].packlist = nullptr; + + for (int i = 0; i < nrecv; i++) + recv[i].unpacklist = nullptr; + + for (int i = 0; i < ncopy; i++) { + copy[i].packlist = nullptr; + copy[i].unpacklist = nullptr; + } } /* ---------------------------------------------------------------------- From d9e9062854928956e471e7d4aef870955c326d63 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Fri, 16 Dec 2022 16:03:44 -0700 Subject: [PATCH 140/142] Initialize pointers --- src/KOKKOS/pppm_kokkos.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/KOKKOS/pppm_kokkos.cpp b/src/KOKKOS/pppm_kokkos.cpp index e2995209ad..c3898cca4d 100644 --- a/src/KOKKOS/pppm_kokkos.cpp +++ b/src/KOKKOS/pppm_kokkos.cpp @@ -106,6 +106,13 @@ PPPMKokkos::PPPMKokkos(LAMMPS *lmp) : PPPM(lmp) acons(7,6) = 4887769399.0 / 37838389248.0; k_flag = DAT::tdual_int_scalar("PPPM:flag"); + + // same name but different than base class + + gc = nullptr; + fft1 = nullptr; + fft2 = nullptr; + remap = nullptr; } template @@ -211,7 +218,6 @@ void PPPMKokkos::init() // or overlap is allowed, then done // else reduce order and try again - gc = nullptr; int iteration = 0; while (order >= minorder) { @@ -851,6 +857,7 @@ template void PPPMKokkos::deallocate() { delete gc; + gc = nullptr; memory->destroy(gc_buf1); memory->destroy(gc_buf2); @@ -860,8 +867,11 @@ void PPPMKokkos::deallocate() memoryKK->destroy_kokkos(d_work2,work2); delete fft1; + fft1 = nullptr; delete fft2; + fft1 = nullptr; delete remap; + remap = nullptr; } /* ---------------------------------------------------------------------- From 42c41ac151cfa2aec66ecdb201d3c0391a0fd36b Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Fri, 16 Dec 2022 16:22:20 -0700 Subject: [PATCH 141/142] Remove unused var --- src/KOKKOS/grid3d_kokkos.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/KOKKOS/grid3d_kokkos.cpp b/src/KOKKOS/grid3d_kokkos.cpp index e52c391fe9..01aee810be 100644 --- a/src/KOKKOS/grid3d_kokkos.cpp +++ b/src/KOKKOS/grid3d_kokkos.cpp @@ -26,8 +26,6 @@ using namespace LAMMPS_NS; #define DELTA 16 -static constexpr int OFFSET = 16384; - /* ---------------------------------------------------------------------- NOTES: if o indices for ghosts are < 0 or hi indices are >= N, From 4f944cfe0ac8c295ec7dbac1ba40fe0b98719dc4 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Fri, 16 Dec 2022 16:36:02 -0700 Subject: [PATCH 142/142] Revert accidental change --- src/KOKKOS/pppm_kokkos.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/KOKKOS/pppm_kokkos.cpp b/src/KOKKOS/pppm_kokkos.cpp index c3898cca4d..f69ece1726 100644 --- a/src/KOKKOS/pppm_kokkos.cpp +++ b/src/KOKKOS/pppm_kokkos.cpp @@ -271,6 +271,9 @@ void PPPMKokkos::init() compute_gf_denom(); compute_rho_coeff(); + k_rho_coeff.template modify(); + k_rho_coeff.template sync(); + // print stats int ngrid_max,nfft_both_max;