new benchmark -- fluidanimate for Scheduling
authorjzhou <jzhou>
Wed, 5 Nov 2008 01:08:08 +0000 (01:08 +0000)
committerjzhou <jzhou>
Wed, 5 Nov 2008 01:08:08 +0000 (01:08 +0000)
Robust/src/Benchmarks/Scheduling/PSFluidAnimate/Cell.java [new file with mode: 0644]
Robust/src/Benchmarks/Scheduling/PSFluidAnimate/Grid.java [new file with mode: 0644]
Robust/src/Benchmarks/Scheduling/PSFluidAnimate/PSFADemo.java [new file with mode: 0644]
Robust/src/Benchmarks/Scheduling/PSFluidAnimate/PSFluidAnimateBench.java [new file with mode: 0644]
Robust/src/Benchmarks/Scheduling/PSFluidAnimate/Vec3.java [new file with mode: 0644]

diff --git a/Robust/src/Benchmarks/Scheduling/PSFluidAnimate/Cell.java b/Robust/src/Benchmarks/Scheduling/PSFluidAnimate/Cell.java
new file mode 100644 (file)
index 0000000..734ab0c
--- /dev/null
@@ -0,0 +1,68 @@
+// there is a current limitation of 16 particles per cell
+// (this structure use to be a simple linked-list of particles but, due to
+// improved cache locality, we get a huge performance increase by copying
+// particles instead of referencing them)
+public class Cell {
+    public int m_id;
+    public int m_numPars;
+    public Vec3[] m_p;
+    public Vec3[] m_hv;
+    public Vec3[] m_v;
+    public Vec3[] m_a;
+    public float[] m_density;
+       
+    public Cell(int _id) {
+       this.m_id = _id;
+       this.m_numPars = 0;
+       this.m_p = new Vec3[16];
+       this.m_hv = new Vec3[16];
+       this.m_v = new Vec3[16];
+       this.m_a = new Vec3[16];
+       this.m_density = new float[16];
+       init();
+    }
+    
+    public Cell clone() {
+       Cell copy = new Cell(this.m_id);
+       copy.m_numPars = this.m_numPars;
+       copy.m_p = new Vec3[16];
+       for(int i = 0; i < this.m_numPars; i++) {
+           copy.m_p[i] = this.m_p[i].clone();
+       }
+       copy.m_hv = new Vec3[16];
+       for(int i = 0; i < this.m_numPars; i++) {
+           copy.m_hv[i] = this.m_hv[i].clone();
+       }
+       copy.m_v = new Vec3[16];
+       for(int i = 0; i < this.m_numPars; i++) {
+           copy.m_v[i] = this.m_v[i].clone();
+       }
+       copy.m_a = new Vec3[16];
+       for(int i = 0; i < this.m_numPars; i++) {
+           copy.m_a[i] = this.m_a[i].clone();
+       }
+       copy.m_density = new float[16];
+       for(int i = 0; i < this.m_numPars; i++) {
+           copy.m_density[i] = this.m_density[i];
+       }
+       return copy;
+    }
+    
+    private void init() {
+       for(int i = 0; i < this.m_p.length; i++) {
+           this.m_p[i] = new Vec3();
+       }
+       for(int i = 0; i < this.m_hv.length; i++) {
+           this.m_hv[i] = new Vec3();
+       }
+       for(int i = 0; i < this.m_v.length; i++) {
+           this.m_v[i] = new Vec3();
+       }
+       for(int i = 0; i < this.m_a.length; i++) {
+           this.m_a[i] = new Vec3();
+       }
+       for(int i = 0; i < this.m_density.length; i++) {
+           this.m_density[i] = 0;
+       }
+    }
+}
\ No newline at end of file
diff --git a/Robust/src/Benchmarks/Scheduling/PSFluidAnimate/Grid.java b/Robust/src/Benchmarks/Scheduling/PSFluidAnimate/Grid.java
new file mode 100644 (file)
index 0000000..a9066dc
--- /dev/null
@@ -0,0 +1,599 @@
+public class Grid {
+    flag tosum;
+    flag flushghost;
+    flag tosum2;
+    flag flushghost2;
+    flag tosum3;
+    flag flushghost3;
+    flag tosum4;
+    flag flushghost4;
+    flag rebuild;
+    flag computeDens;
+    flag computeDens2;
+    flag computeForce;
+    flag procCollision;
+    flag finish;
+    
+    public int m_id;
+    public int m_sx;
+    public int m_sy;
+    public int m_sz;
+    public int m_ex;
+    public int m_ey;
+    public int m_ez;
+
+    public Vec3 m_delta;                               // cell dimensions
+    
+    private Vec3 m_externalAcceleration;
+    public Vec3 m_domainMin;
+    public Vec3 m_domainMax;
+    
+    public float m_h;
+    public float m_hSq;
+    public float m_densityCoeff;
+    public float m_pressureCoeff;
+    public float m_viscosityCoeff;
+    public int m_nx;
+    public int m_ny;
+    public int m_nz;
+    
+    public int m_frameNum;
+    
+    public Cell[][][] m_cells;
+    public Cell[][][] m_cells2;
+    public HashMap m_neighCells;    // neighbour cells
+
+    public Grid() {}
+
+    public Grid(int _id, int _sx, int _sy, int _sz, int _ex, int _ey, int _ez, 
+           float _h, float _hSq, Vec3 _delta, 
+           float _densityCoeff, float _pressureCoeff, float _viscosityCoeff, 
+           int _nx, int _ny, int _nz, int _frameNum) {
+       this.m_id = _id;
+       this.m_sx = _sx;
+       this.m_sy = _sy;
+       this.m_sz = _sz;
+       this.m_ex = _ex;
+       this.m_ey = _ey;
+       this.m_ez = _ez;
+       this.m_delta = _delta;
+       this.m_externalAcceleration = new Vec3(0.f, -9.8f, 0.f);
+       this.m_domainMin = new Vec3(-0.065f, -0.08f, -0.065f);
+       this.m_domainMax = new Vec3(0.065f, 0.1f, 0.065f);
+       this.m_h = _h;
+       this.m_hSq = _hSq;
+       this.m_densityCoeff = _densityCoeff;
+       this.m_pressureCoeff = _pressureCoeff;
+       this.m_viscosityCoeff = _viscosityCoeff;
+       this.m_nx = _nx;
+       this.m_ny = _ny;
+       this.m_nz = _nz;
+       this.m_frameNum = _frameNum;
+       this.m_cells = new Cell[_ex-_sx][_ey-_sy][_ez-_sz];
+       this.m_cells2 = new Cell[_ex-_sx][_ey-_sy][_ez-_sz];
+       this.m_neighCells = new HashMap();
+    }
+    
+    public void initCells(Cell[][][] _cells) {
+       for(int ix = 0; ix < this.m_ex - this.m_sx; ix++) {
+           for(int iy = 0; iy < this.m_ey - this.m_sy; iy++) {
+               for(int iz = 0; iz < this.m_ez - this.m_sz; iz++) {
+                   this.m_cells2[ix][iy][iz] = 
+                       _cells[ix+this.m_sx][iy+this.m_sy][iz+this.m_sz];
+                   this.m_cells[ix][iy][iz] = 
+                       new Cell(this.m_cells2[ix][iy][iz].m_id);
+               }
+           }
+       }
+    }
+    
+    public void initNeighCells(Cell[][][] _cells, PSFADemo _psfaDemo) {
+       for(int iz = 0; iz < this.m_ez; iz = this.m_ez - 1) {
+           for(int iy = 0; iy < this.m_ey; iy++) {
+               for(int ix = 0; ix < this.m_ex; ix++) {
+                   for(int dk = -1; dk <= 1; ++dk) {
+                       for(int dj = -1; dj <= 1; ++dj) {
+                           for(int di = -1; di <= 1; ++di) {
+                               int ci = ix + this.m_sx + di;
+                               int cj = iy + this.m_sy + dj;
+                               int ck = iz + this.m_sz + dk;
+
+                               if(ci < 0) {
+                                   ci = 0; 
+                               } else if(ci > (this.m_nx-1)) {
+                                   ci = this.m_nx-1;
+                               }
+                               if(cj < 0) {
+                                   cj = 0; 
+                               } else if(cj > (this.m_ny-1)) {
+                                   cj = this.m_ny-1;
+                               }
+                               if(ck < 0) {
+                                   ck = 0; 
+                               } else if(ck > (this.m_nz-1)) {
+                                   ck = this.m_nz-1;
+                               }
+
+                               if( ci < this.m_sx || ci >= this.m_ex ||
+                                       cj < this.m_sy || cj >= this.m_ey ||
+                                       ck < this.m_sz || ck >= this.m_ez ) {
+                                   Integer index = new Integer((ck*this.m_ny 
+                                                 + cj)*this.m_nx + ci);
+                                   if(!this.m_neighCells.containsKey(index)) {
+                                       this.m_neighCells.put(index, 
+                                               new Cell(index.intValue()));
+                                   }
+                                   _psfaDemo.addBorderCells(index.intValue());
+                               }
+                           }
+                       }
+                   }
+               }
+           }
+       }
+       
+       for(int iy = 0; iy < this.m_ey; iy = this.m_ey - 1) {
+           for(int iz = 0; iz < this.m_ez; iz++) {
+               for(int ix = 0; ix < this.m_ex; ix++) {
+                   for(int dk = -1; dk <= 1; ++dk) {
+                       for(int dj = -1; dj <= 1; ++dj) {
+                           for(int di = -1; di <= 1; ++di) {
+                               int ci = ix + this.m_sx + di;
+                               int cj = iy + this.m_sy + dj;
+                               int ck = iz + this.m_sz + dk;
+
+                               if(ci < 0) {
+                                   ci = 0; 
+                               } else if(ci > (this.m_nx-1)) {
+                                   ci = this.m_nx-1;
+                               }
+                               if(cj < 0) {
+                                   cj = 0; 
+                               } else if(cj > (this.m_ny-1)) {
+                                   cj = this.m_ny-1;
+                               }
+                               if(ck < 0) {
+                                   ck = 0; 
+                               } else if(ck > (this.m_nz-1)) {
+                                   ck = this.m_nz-1;
+                               }
+
+                               if( ci < this.m_sx || ci >= this.m_ex ||
+                                       cj < this.m_sy || cj >= this.m_ey ||
+                                       ck < this.m_sz || ck >= this.m_ez ) {
+                                   Integer index = new Integer((ck*this.m_ny 
+                                                 + cj)*this.m_nx + ci);
+                                   if(!this.m_neighCells.containsKey(index)) {
+                                       this.m_neighCells.put(index, 
+                                               new Cell(index.intValue()));
+                                   }
+                                   _psfaDemo.addBorderCells(index.intValue());
+                               }
+                           }
+                       }
+                   }
+               }
+           }
+       }
+       
+       for(int ix = 0; ix < this.m_ex; ix = this.m_ex - 1) {
+           for(int iy = 0; iy < this.m_ey; iy++) {
+               for(int iz = 0; iz < this.m_ez; iz++) {
+                   for(int dk = -1; dk <= 1; ++dk) {
+                       for(int dj = -1; dj <= 1; ++dj) {
+                           for(int di = -1; di <= 1; ++di) {
+                               int ci = ix + this.m_sx + di;
+                               int cj = iy + this.m_sy + dj;
+                               int ck = iz + this.m_sz + dk;
+
+                               if(ci < 0) {
+                                   ci = 0; 
+                               } else if(ci > (this.m_nx-1)) {
+                                   ci = this.m_nx-1;
+                               }
+                               if(cj < 0) {
+                                   cj = 0; 
+                               } else if(cj > (this.m_ny-1)) {
+                                   cj = this.m_ny-1;
+                               }
+                               if(ck < 0) {
+                                   ck = 0; 
+                               } else if(ck > (this.m_nz-1)) {
+                                   ck = this.m_nz-1;
+                               }
+
+                               if( ci < this.m_sx || ci >= this.m_ex ||
+                                       cj < this.m_sy || cj >= this.m_ey ||
+                                       ck < this.m_sz || ck >= this.m_ez ) {
+                                   Integer index = new Integer((ck*this.m_ny 
+                                                 + cj)*this.m_nx + ci);
+                                   if(!this.m_neighCells.containsKey(index)) {
+                                       this.m_neighCells.put(index, 
+                                               new Cell(index.intValue()));
+                                   }
+                                   _psfaDemo.addBorderCells(index.intValue());
+                               }
+                           }
+                       }
+                   }
+               }
+           }
+       }
+    }
+
+    public void ClearParticlesMT() {
+       for(int iz = 0; iz < this.m_ez - this.m_sz; ++iz) {
+           for(int iy = 0; iy < this.m_ey - this.m_sy; ++iy) {
+               for(int ix = 0; ix < this.m_ex - this.m_sx; ++ix) {
+                   this.m_cells[ix][iy][iz].m_numPars = 0;
+               }
+           }
+       }
+       
+       HashMapIterator it_values = this.m_neighCells.iterator(1);
+       while(it_values.hasNext()) {
+           Cell value = (Cell)it_values.next();
+           value.m_numPars = 0;
+       }
+    }
+
+    public void RebuildGridMT() {
+       for(int iz = 0; iz < this.m_ez - this.m_sz; ++iz) {
+           for(int iy = 0; iy < this.m_ey - this.m_sy; ++iy) {
+               for(int ix = 0; ix < this.m_ex - this.m_sx; ++ix) {
+                   Cell cell2 = this.m_cells2[ix][iy][iz];
+                   int np2 = cell2.m_numPars;
+                   for(int j = 0; j < np2; ++j) {
+                       int ci = (int)((cell2.m_p[j].m_x - this.m_domainMin.m_x) 
+                               / this.m_delta.m_x);
+                       int cj = (int)((cell2.m_p[j].m_y - this.m_domainMin.m_y) 
+                               / this.m_delta.m_y);
+                       int ck = (int)((cell2.m_p[j].m_z - this.m_domainMin.m_z) 
+                               / this.m_delta.m_z);
+
+                       if(ci < 0) {
+                           ci = 0; 
+                       } else if(ci > (this.m_nx-1)) {
+                           ci = this.m_nx-1;
+                       }
+                       if(cj < 0) {
+                           cj = 0; 
+                       } else if(cj > (this.m_ny-1)) {
+                           cj = this.m_ny-1;
+                       }
+                       if(ck < 0) {
+                           ck = 0; 
+                       } else if(ck > (this.m_nz-1)) {
+                           ck = this.m_nz-1;
+                       }
+                       
+                       int np = 0;
+                       Cell cell = null;
+                       if( ci < this.m_sx || ci >= this.m_ex ||
+                               cj < this.m_sy || cj >= this.m_ey ||
+                               ck < this.m_sz || ck >= this.m_ez ) {
+                           // move to a neighbour cell
+                           int index = (ck*this.m_ny + cj)*this.m_nx + ci;
+                           // this assumes that particles cannot travel more than 
+                           // one grid cell per time step
+                           cell = (Cell)this.m_neighCells.get(
+                                   new Integer(index));
+                       } else {
+                           // move to a inside cell
+                           cell = this.m_cells[ix][iy][iz];
+                       }
+                       np = cell.m_numPars;
+                       cell.m_p[np].m_x = cell2.m_p[j].m_x;
+                       cell.m_p[np].m_y = cell2.m_p[j].m_y;
+                       cell.m_p[np].m_z = cell2.m_p[j].m_z;
+                       cell.m_hv[np].m_x = cell2.m_hv[j].m_x;
+                       cell.m_hv[np].m_y = cell2.m_hv[j].m_y;
+                       cell.m_hv[np].m_z = cell2.m_hv[j].m_z;
+                       cell.m_v[np].m_x = cell2.m_v[j].m_x;
+                       cell.m_v[np].m_y = cell2.m_v[j].m_y;
+                       cell.m_v[np].m_z = cell2.m_v[j].m_z;
+                       cell.m_numPars++;
+                   }
+               }
+           }
+       }
+    }
+
+    private int InitNeighCellList(int ci, int cj, int ck, Vec3[] neighCells) {
+       int numNeighCells = 0;
+
+       for(int di = -1; di <= 1; ++di) {
+           for(int dj = -1; dj <= 1; ++dj) {
+               for(int dk = -1; dk <= 1; ++dk) {
+                   int ii = ci + di;
+                   int jj = cj + dj;
+                   int kk = ck + dk;
+                   if(ii >= 0 && ii < this.m_nx && jj >= 0 && jj < this.m_ny 
+                           && kk >= 0 && kk < this.m_nz) {
+                       if( ii < this.m_sx || ii >= this.m_ex ||
+                               jj < this.m_sy || jj >= this.m_ey ||
+                               kk < this.m_sz || kk >= this.m_ez ) {
+                           Integer index = new Integer((kk*this.m_ny + jj)
+                                         *this.m_nx + ii);
+                           if(((Cell)(this.m_neighCells.get(index))).m_numPars 
+                                   != 0) {
+                               neighCells[numNeighCells] = new Vec3(ii,jj,kk);
+                               ++numNeighCells;
+                           }
+                       } else {
+                           if(this.m_cells[ii - this.m_sx]
+                                           [jj - this.m_sy]
+                                            [kk - this.m_sz].m_numPars != 0) {
+                               neighCells[numNeighCells] = new Vec3(ii,jj,kk);
+                               ++numNeighCells;
+                           }
+                       }
+                   }
+               }
+           }
+       }
+
+       return numNeighCells;
+    }
+
+    public void InitDensitiesAndForcesMT() {   
+       for(int iz = 0; iz < this.m_ez - this.m_sz; ++iz) {
+           for(int iy = 0; iy < this.m_ey - this.m_sy; ++iy) {
+               for(int ix = 0; ix < this.m_ex - this.m_sx; ++ix) {
+                   Cell cell = this.m_cells[ix][iy][iz];
+                   int np = cell.m_numPars;
+                   for(int j = 0; j < np; ++j) {
+                       cell.m_density[j] = 0.f;
+                       cell.m_a[j].m_x = this.m_externalAcceleration.m_x;
+                       cell.m_a[j].m_y = this.m_externalAcceleration.m_y;
+                       cell.m_a[j].m_z = this.m_externalAcceleration.m_z;
+                   }
+               }
+           }
+       }
+       
+       HashMapIterator it_values = this.m_neighCells.iterator(1);
+       while(it_values.hasNext()) {
+           Cell value = (Cell)it_values.next();
+           int np = value.m_numPars;
+           for(int j = 0; j < np; ++j) {
+               value.m_density[j] = 0.f;
+               value.m_a[j].m_x = this.m_externalAcceleration.m_x;
+               value.m_a[j].m_y = this.m_externalAcceleration.m_y;
+               value.m_a[j].m_z = this.m_externalAcceleration.m_z;
+           }
+       }
+    }
+
+    public void ComputeDensitiesMT() {
+       Vec3[] neighCells = new Vec3[27];
+
+       for(int iz = 0; iz < this.m_ez - this.m_sz; ++iz) {
+           for(int iy = 0; iy < this.m_ey - this.m_sy; ++iy) {
+               for(int ix = 0; ix < this.m_ex- this.m_sx; ++ix) {
+                   Cell cell = this.m_cells[ix][iy][iz];
+                   int np = cell.m_numPars;
+                   if(np != 0) {
+                       int numNeighCells = InitNeighCellList(ix + this.m_sx, 
+                               iy + this.m_sy, 
+                               iz + this.m_sz, 
+                               neighCells);
+
+                       for(int j = 0; j < np; ++j) {
+                           for(int inc = 0; inc < numNeighCells; ++inc) {
+                               Vec3 indexNeigh = neighCells[inc];
+                               Cell neigh = null;
+                               if( indexNeigh.m_x < this.m_sx || 
+                                       indexNeigh.m_x >= this.m_ex ||
+                                       indexNeigh.m_y < this.m_sy || 
+                                       indexNeigh.m_y >= this.m_ey ||
+                                       indexNeigh.m_z < this.m_sz || 
+                                       indexNeigh.m_z >= this.m_ez ) {
+                                   int index = (int)((indexNeigh.m_z*this.m_ny 
+                                           + indexNeigh.m_y)*this.m_nx 
+                                           + indexNeigh.m_x);
+                                   neigh = (Cell)(this.m_neighCells.get(
+                                           new Integer(index)));
+                               } else {
+                                   neigh = this.m_cells[(int)indexNeigh.m_x-this.m_sx]
+                                                        [(int)indexNeigh.m_y-this.m_sy]
+                                                         [(int)indexNeigh.m_z-this.m_sz];
+                               }
+                               int numNeighPars = neigh.m_numPars;
+                               for(int iparNeigh = 0; iparNeigh < numNeighPars; 
+                               ++iparNeigh) {
+                                   if(neigh.m_p[iparNeigh].isLess(cell.m_p[j])) {
+                                       float distSq = (cell.m_p[j].sub1
+                                               (neigh.m_p[iparNeigh])).
+                                               GetLengthSq();
+                                       if(distSq < this.m_hSq) {
+                                           float t = this.m_hSq - distSq;
+                                           float tc = t*t*t;
+                                           cell.m_density[j] += tc;
+                                           neigh.m_density[iparNeigh] += tc;
+                                       }
+                                   }
+                               }
+                           }
+                       }
+                   }
+               }
+           }
+       }
+    }
+
+    public void ComputeDensities2MT() {
+       float tc = this.m_hSq*this.m_hSq*this.m_hSq;
+       for(int iz = 0; iz < this.m_ez - this.m_sz; ++iz) {
+           for(int iy = 0; iy < this.m_ey - this.m_sy; ++iy) {
+               for(int ix = 0; ix < this.m_ex - this.m_sx; ++ix) {
+                   Cell cell = this.m_cells[ix][iy][iz];
+                   int np = cell.m_numPars;
+                   for(int j = 0; j < np; ++j) {
+                       cell.m_density[j] += tc;
+                       cell.m_density[j] *= this.m_densityCoeff;
+                   }
+               }
+           }
+       }
+    }
+
+    public void ComputeForcesMT() {
+       float doubleRestDensity = 2000.f;
+       
+       Vec3[] neighCells = new Vec3[27];
+
+       for(int iz = 0; iz < this.m_ez - this.m_sz; ++iz) {
+           for(int iy = 0; iy < this.m_ey - this.m_sy; ++iy) {
+               for(int ix = 0; ix < this.m_ex - this.m_sx; ++ix) {
+                   Cell cell = this.m_cells[ix][iy][iz];
+                   int np = cell.m_numPars;
+                   if(np != 0) {
+                       int numNeighCells = InitNeighCellList(ix + this.m_sx, 
+                               iy + this.m_sy, 
+                               iz + this.m_sz, 
+                               neighCells);
+
+                       for(int j = 0; j < np; ++j) {
+                           for(int inc = 0; inc < numNeighCells; ++inc) {
+                               Vec3 indexNeigh = neighCells[inc];
+                               Cell neigh = null;
+                               if( indexNeigh.m_x < this.m_sx || 
+                                       indexNeigh.m_x >= this.m_ex ||
+                                       indexNeigh.m_y < this.m_sy || 
+                                       indexNeigh.m_y >= this.m_ey ||
+                                       indexNeigh.m_z < this.m_sz || 
+                                       indexNeigh.m_z >= this.m_ez ) {
+                                   int index = (int)((indexNeigh.m_z*this.m_ny 
+                                           + indexNeigh.m_y)*this.m_nx 
+                                           + indexNeigh.m_x);
+                                   neigh = (Cell)(this.m_neighCells.get(
+                                           new Integer(index)));
+                               } else {
+                                   neigh = this.m_cells[(int)indexNeigh.m_x-this.m_sx]
+                                                        [(int)indexNeigh.m_y-this.m_sy]
+                                                         [(int)indexNeigh.m_z-this.m_sz];
+                               }
+                               int numNeighPars = neigh.m_numPars;
+                               for(int iparNeigh = 0; iparNeigh < numNeighPars; 
+                               ++iparNeigh) {
+                                   if(neigh.m_p[iparNeigh].isLess(cell.m_p[j])) {
+                                       Vec3 disp = cell.m_p[j].sub1
+                                       (neigh.m_p[iparNeigh]);
+                                       float distSq = disp.GetLengthSq();
+                                       if(distSq < this.m_hSq) {
+                                           float max = 1e-12f;
+                                           if(distSq > 1e-12f) {
+                                               max = distSq;
+                                           }
+                                           float dist = Math.sqrtf(max);
+                                           float hmr = this.m_h - dist;
+
+                                           Vec3 acc = disp.mul1(
+                                                   this.m_pressureCoeff).mul1(
+                                                           hmr*hmr/dist).mul1(
+                                                                   cell.m_density[j]+
+                                                                   neigh.m_density[iparNeigh] - 
+                                                                   doubleRestDensity);
+                                           acc.add0(neigh.m_v[iparNeigh].sub1(
+                                                   cell.m_v[j]).mul1(
+                                                           this.m_viscosityCoeff * 
+                                                           hmr));
+                                           acc.div0(cell.m_density[j] * 
+                                                   neigh.m_density[iparNeigh]);
+                                           cell.m_a[j].add0(acc);
+                                           neigh.m_a[iparNeigh].sub0(acc);
+                                       }
+                                   }
+                               }
+                           }
+                       }
+                   }
+               }
+           }
+       }
+    }
+
+    public void ProcessCollisionsMT() {
+       float timeStep = 0.005f;
+       float parSize = 0.0002f;
+       float epsilon = 1e-10f;
+       float stiffness = 30000.f;
+       float damping = 128.f;
+
+       for(int iz = 0; iz < this.m_ez - this.m_sz; ++iz) {
+           for(int iy = 0; iy < this.m_ey - this.m_sy; ++iy) {
+               for(int ix = 0; ix < this.m_ex - this.m_sx; ++ix) {
+                   Cell cell = this.m_cells[ix][iy][iz];
+                   int np = cell.m_numPars;
+                   for(int j = 0; j < np; ++j) {
+                       Vec3 pos = cell.m_p[j].add1(
+                               cell.m_hv[j].mul1(timeStep));
+
+                       float diff = parSize - (pos.m_x - this.m_domainMin.m_x);
+                       if(diff > epsilon) {
+                           cell.m_a[j].m_x += stiffness*diff 
+                                            - damping*cell.m_v[j].m_x;
+                       }
+
+                       diff = parSize - (this.m_domainMax.m_x - pos.m_x);
+                       if(diff > epsilon) {
+                           cell.m_a[j].m_x -= stiffness*diff 
+                                            + damping*cell.m_v[j].m_x;
+                       }
+
+                       diff = parSize - (pos.m_y - this.m_domainMin.m_y);
+                       if(diff > epsilon) {
+                           cell.m_a[j].m_y += stiffness*diff 
+                                            - damping*cell.m_v[j].m_y;
+                       }
+
+                       diff = parSize - (this.m_domainMax.m_y - pos.m_y);
+                       if(diff > epsilon) {
+                           cell.m_a[j].m_y -= stiffness*diff 
+                                            + damping*cell.m_v[j].m_y;
+                       }
+
+                       diff = parSize - (pos.m_z - this.m_domainMin.m_z);
+                       if(diff > epsilon) {
+                           cell.m_a[j].m_z += stiffness*diff 
+                                            - damping*cell.m_v[j].m_z;
+                       }
+
+                       diff = parSize - (this.m_domainMax.m_z - pos.m_z);
+                       if(diff > epsilon) {
+                           cell.m_a[j].m_z -= stiffness*diff 
+                                            + damping*cell.m_v[j].m_z;
+                       }
+                   }
+               }
+           }
+       }
+    }
+
+    public void AdvanceParticlesMT() {
+       float timeStep = 0.005f;
+       
+       for(int iz = 0; iz < this.m_ez - this.m_sz; ++iz) {
+           for(int iy = 0; iy < this.m_ey - this.m_sy; ++iy) {
+               for(int ix = 0; ix < this.m_ex - this.m_sx; ++ix) {
+                   Cell cell = this.m_cells[ix][iy][iz];
+                   int np = cell.m_numPars;
+                   for(int j = 0; j < np; ++j) {
+                       Vec3 v_half = cell.m_hv[j].add1(cell.m_a[j].mul1(
+                               timeStep));
+                       cell.m_p[j].add0(v_half.mul1(timeStep));
+                       cell.m_v[j] = cell.m_hv[j].add1(v_half);
+                       cell.m_v[j].mul0(0.5f);
+                       cell.m_hv[j] = v_half;
+                   }
+               }
+           }
+       }
+    }
+    
+    public boolean isFinish() {
+       this.m_frameNum--;
+       return (this.m_frameNum == 0);
+    }
+}
\ No newline at end of file
diff --git a/Robust/src/Benchmarks/Scheduling/PSFluidAnimate/PSFADemo.java b/Robust/src/Benchmarks/Scheduling/PSFluidAnimate/PSFADemo.java
new file mode 100644 (file)
index 0000000..5e65480
--- /dev/null
@@ -0,0 +1,704 @@
+public class PSFADemo {
+    flag tosum;
+    flag flushghost;
+    flag tosum2;
+    flag flushghost2;
+    flag tosum3;
+    flag flushghost3;
+    flag tosum4;
+    flag flushghost4;
+    
+    public int m_numGrids;
+    public int m_numCells;
+    public int m_numParticles;
+
+    public HashMap m_borderCells;    // shared border cells
+    
+    public int m_nx;                   // number of grid cells in each dimension
+    public int m_ny;
+    public int m_nz;
+    public float m_viscosityCoeff;
+    public Vec3 m_delta;                               // cell dimensions
+    public Vec3 m_domainMin;
+    public Vec3 m_domainMax;
+    
+    public int m_counter;
+    
+    public PSFADemo(int _numgrids, int _numcells, int _numparticles, 
+           int _nx, int _ny, int _nz, float _viscosityCoeff, Vec3 _delta) {
+       this.m_numGrids = _numgrids;
+       this.m_numCells = _numcells;
+       this.m_numParticles = _numparticles;
+       this.m_borderCells = new HashMap();
+       this.m_nx = _nx;
+       this.m_ny = _ny;
+       this.m_nz = _nz;
+       this.m_viscosityCoeff = _viscosityCoeff;
+       this.m_delta = _delta;
+       this.m_domainMin = new Vec3(-0.065f, -0.08f, -0.065f);
+       this.m_domainMax = new Vec3(0.065f, 0.1f, 0.065f);
+       this.m_counter = 0;
+    }
+    
+    public void addBorderCells(int index) {
+       Integer in = new Integer(index);
+       if(!this.m_borderCells.containsKey(in)) {
+           this.m_borderCells.put(in, new Cell(index));
+       }
+    }
+    
+    public boolean isFinish() {
+       this.m_counter++;
+       return (this.m_counter == this.m_numGrids);
+    }
+    
+    public void resetCounter() {
+       this.m_counter = 0;
+    }
+    
+    public void resetBorderCells() {
+       HashMapIterator it_values = this.m_borderCells.iterator(1);
+       while(it_values.hasNext()) {
+           Cell cell= (Cell)it_values.next();
+           cell.m_numPars = 0;
+       }
+    }
+    
+    public void resetBorderCellsHV() {
+       HashMapIterator it_values = this.m_borderCells.iterator(1);
+       while(it_values.hasNext()) {
+           Cell cell= (Cell)it_values.next();
+           for(int i = 0; i <cell.m_numPars; i++) {
+               cell.m_v[i].m_x = 0;
+               cell.m_v[i].m_y = 0;
+               cell.m_v[i].m_z = 0;
+           }
+       }
+    }
+    
+    public void sum(Grid g) {
+       // ghost cells of g
+       HashMapIterator it_keys = g.m_neighCells.iterator(0);
+       while(it_keys.hasNext()) {
+           Integer key = (Integer)it_keys.next();
+           Cell cell = (Cell)(this.m_borderCells.get(key));
+           int np = cell.m_numPars;
+           Cell toadd = (Cell)(g.m_neighCells.get(key));
+           int toaddnp = toadd.m_numPars;
+           for(int j = 0; j < toaddnp; ++j) {
+               cell.m_p[np].m_x = toadd.m_p[j].m_x;
+               cell.m_p[np].m_y = toadd.m_p[j].m_y;
+               cell.m_p[np].m_z = toadd.m_p[j].m_z;
+               cell.m_hv[np].m_x = toadd.m_hv[j].m_x;
+               cell.m_hv[np].m_y = toadd.m_hv[j].m_y;
+               cell.m_hv[np].m_z = toadd.m_hv[j].m_z;
+               cell.m_v[np].m_x = toadd.m_v[j].m_x;
+               cell.m_v[np].m_y = toadd.m_v[j].m_y;
+               cell.m_v[np].m_z = toadd.m_v[j].m_z;
+               cell.m_a[np].m_x = toadd.m_a[j].m_x;
+               cell.m_a[np].m_y = toadd.m_a[j].m_y;
+               cell.m_a[np].m_z = toadd.m_a[j].m_z;
+               cell.m_density[np] = toadd.m_density[j];
+               np++;
+           }
+           cell.m_numPars += toaddnp;
+       }
+       
+       // border cells of g
+       for(int iz = 0; iz < g.m_ez; iz = g.m_ez - 1) {
+           for(int iy = 0; iy < g.m_ey; iy++) {
+               for(int ix = 0; ix < g.m_ex; ix++) {
+                   Integer index = new Integer(((iz + g.m_sz)*this.m_ny + (iy 
+                                 + g.m_sy))*this.m_nx + (ix + g.m_sx));
+                   if(this.m_borderCells.containsKey(index)) {
+                       Cell cell = (Cell)(this.m_borderCells.get(index));
+                       int np = cell.m_numPars;
+                       Cell toadd = g.m_cells[ix][iy][iz];
+                       int toaddnp = toadd.m_numPars;
+                       for(int j = 0; j < toaddnp; ++j) {
+                           cell.m_p[np].m_x = toadd.m_p[j].m_x;
+                           cell.m_p[np].m_y = toadd.m_p[j].m_y;
+                           cell.m_p[np].m_z = toadd.m_p[j].m_z;
+                           cell.m_hv[np].m_x = toadd.m_hv[j].m_x;
+                           cell.m_hv[np].m_y = toadd.m_hv[j].m_y;
+                           cell.m_hv[np].m_z = toadd.m_hv[j].m_z;
+                           cell.m_v[np].m_x = toadd.m_v[j].m_x;
+                           cell.m_v[np].m_y = toadd.m_v[j].m_y;
+                           cell.m_v[np].m_z = toadd.m_v[j].m_z;
+                           cell.m_a[np].m_x = toadd.m_a[j].m_x;
+                           cell.m_a[np].m_y = toadd.m_a[j].m_y;
+                           cell.m_a[np].m_z = toadd.m_a[j].m_z;
+                           cell.m_density[np] = toadd.m_density[j];
+                           np++;
+                       }
+                       cell.m_numPars += toaddnp;
+                   }
+               }
+           }
+       }
+       
+       for(int iy = 0; iy < g.m_ey; iy = g.m_ey - 1) {
+           for(int iz = 0; iz < g.m_ez; iz++) {
+               for(int ix = 0; ix < g.m_ex; ix++) {
+                   Integer index = new Integer(((iz + g.m_sz)*this.m_ny + (iy 
+                                 + g.m_sy))*this.m_nx + (ix + g.m_sx));
+                   if(this.m_borderCells.containsKey(index)) {
+                       Cell cell = (Cell)(this.m_borderCells.get(index));
+                       int np = cell.m_numPars;
+                       Cell toadd = g.m_cells[ix][iy][iz];
+                       int toaddnp = toadd.m_numPars;
+                       for(int j = 0; j < toaddnp; ++j) {
+                           cell.m_p[np].m_x = toadd.m_p[j].m_x;
+                           cell.m_p[np].m_y = toadd.m_p[j].m_y;
+                           cell.m_p[np].m_z = toadd.m_p[j].m_z;
+                           cell.m_hv[np].m_x = toadd.m_hv[j].m_x;
+                           cell.m_hv[np].m_y = toadd.m_hv[j].m_y;
+                           cell.m_hv[np].m_z = toadd.m_hv[j].m_z;
+                           cell.m_v[np].m_x = toadd.m_v[j].m_x;
+                           cell.m_v[np].m_y = toadd.m_v[j].m_y;
+                           cell.m_v[np].m_z = toadd.m_v[j].m_z;
+                           cell.m_a[np].m_x = toadd.m_a[j].m_x;
+                           cell.m_a[np].m_y = toadd.m_a[j].m_y;
+                           cell.m_a[np].m_z = toadd.m_a[j].m_z;
+                           cell.m_density[np] = toadd.m_density[j];
+                           np++;
+                       }
+                       cell.m_numPars += toaddnp;
+                   }
+               }
+           }
+       }
+       
+       for(int ix = 0; ix < g.m_ex; ix = g.m_ex - 1) {
+           for(int iy = 0; iy < g.m_ey; iy++) {
+               for(int iz = 0; iz < g.m_ez; iz++) {
+                   Integer index = new Integer(((iz + g.m_sz)*this.m_ny + (iy 
+                                 + g.m_sy))*this.m_nx + (ix + g.m_sx));
+                   if(this.m_borderCells.containsKey(index)) {
+                       Cell cell = (Cell)(this.m_borderCells.get(index));
+                       int np = cell.m_numPars;
+                       Cell toadd = g.m_cells[ix][iy][iz];
+                       int toaddnp = toadd.m_numPars;
+                       for(int j = 0; j < toaddnp; ++j) {
+                           cell.m_p[np].m_x = toadd.m_p[j].m_x;
+                           cell.m_p[np].m_y = toadd.m_p[j].m_y;
+                           cell.m_p[np].m_z = toadd.m_p[j].m_z;
+                           cell.m_hv[np].m_x = toadd.m_hv[j].m_x;
+                           cell.m_hv[np].m_y = toadd.m_hv[j].m_y;
+                           cell.m_hv[np].m_z = toadd.m_hv[j].m_z;
+                           cell.m_v[np].m_x = toadd.m_v[j].m_x;
+                           cell.m_v[np].m_y = toadd.m_v[j].m_y;
+                           cell.m_v[np].m_z = toadd.m_v[j].m_z;
+                           cell.m_a[np].m_x = toadd.m_a[j].m_x;
+                           cell.m_a[np].m_y = toadd.m_a[j].m_y;
+                           cell.m_a[np].m_z = toadd.m_a[j].m_z;
+                           cell.m_density[np] = toadd.m_density[j];
+                           np++;
+                       }
+                       cell.m_numPars += toaddnp;
+                   }
+               }
+           }
+       }
+    }
+    
+    public void flush(Grid g) {
+       // ghost cells of g
+       HashMapIterator it_keys = g.m_neighCells.iterator(0);
+       while(it_keys.hasNext()) {
+           Integer key = (Integer)it_keys.next();
+           Cell toflush = (Cell)(this.m_borderCells.get(key));
+           int toflushnp = toflush.m_numPars;
+           Cell cell = (Cell)(g.m_neighCells.get(key));
+           cell.m_numPars = 0;
+           int np = 0;
+           for(int j = 0; j < toflushnp; ++j) {
+               cell.m_p[np].m_x = toflush.m_p[j].m_x;
+               cell.m_p[np].m_y = toflush.m_p[j].m_y;
+               cell.m_p[np].m_z = toflush.m_p[j].m_z;
+               cell.m_hv[np].m_x = toflush.m_hv[j].m_x;
+               cell.m_hv[np].m_y = toflush.m_hv[j].m_y;
+               cell.m_hv[np].m_z = toflush.m_hv[j].m_z;
+               cell.m_v[np].m_x = toflush.m_v[j].m_x;
+               cell.m_v[np].m_y = toflush.m_v[j].m_y;
+               cell.m_v[np].m_z = toflush.m_v[j].m_z;
+               cell.m_a[np].m_x = toflush.m_a[j].m_x;
+               cell.m_a[np].m_y = toflush.m_a[j].m_y;
+               cell.m_a[np].m_z = toflush.m_a[j].m_z;
+               cell.m_density[np] = toflush.m_density[j];
+               np++;
+           }
+           cell.m_numPars += toflushnp;
+       }
+       
+       // border cells of g
+       for(int iz = 0; iz < g.m_ez; iz = g.m_ez - 1) {
+           for(int iy = 0; iy < g.m_ey; iy++) {
+               for(int ix = 0; ix < g.m_ex; ix++) {
+                   Integer index = new Integer(((iz + g.m_sz)*this.m_ny + (iy 
+                                 + g.m_sy))*this.m_nx + (ix + g.m_sx));
+                   if(this.m_borderCells.containsKey(index)) {
+                       Cell toflush = (Cell)(this.m_borderCells.get(index));
+                       int toflushnp = toflush.m_numPars;
+                       Cell cell = g.m_cells[ix][iy][iz];
+                       cell.m_numPars = 0;
+                       int np = 0;
+                       for(int j = 0; j < toflushnp; ++j) {
+                           cell.m_p[np].m_x = toflush.m_p[j].m_x;
+                           cell.m_p[np].m_y = toflush.m_p[j].m_y;
+                           cell.m_p[np].m_z = toflush.m_p[j].m_z;
+                           cell.m_hv[np].m_x = toflush.m_hv[j].m_x;
+                           cell.m_hv[np].m_y = toflush.m_hv[j].m_y;
+                           cell.m_hv[np].m_z = toflush.m_hv[j].m_z;
+                           cell.m_v[np].m_x = toflush.m_v[j].m_x;
+                           cell.m_v[np].m_y = toflush.m_v[j].m_y;
+                           cell.m_v[np].m_z = toflush.m_v[j].m_z;
+                           cell.m_a[np].m_x = toflush.m_a[j].m_x;
+                           cell.m_a[np].m_y = toflush.m_a[j].m_y;
+                           cell.m_a[np].m_z = toflush.m_a[j].m_z;
+                           cell.m_density[np] = toflush.m_density[j];
+                           np++;
+                       }
+                       cell.m_numPars += toflushnp;
+                   }
+               }
+           }
+       }
+       
+       for(int iy = 0; iy < g.m_ey; iy = g.m_ey - 1) {
+           for(int iz = 0; iz < g.m_ez; iz++) {
+               for(int ix = 0; ix < g.m_ex; ix++) {
+                   Integer index = new Integer(((iz + g.m_sz)*this.m_ny + (iy 
+                                 + g.m_sy))*this.m_nx + (ix + g.m_sx));
+                   if(this.m_borderCells.containsKey(index)) {
+                       Cell toflush = (Cell)(this.m_borderCells.get(index));
+                       int toflushnp = toflush.m_numPars;
+                       Cell cell = g.m_cells[ix][iy][iz];
+                       cell.m_numPars = 0;
+                       int np = 0;
+                       for(int j = 0; j < toflushnp; ++j) {
+                           cell.m_p[np].m_x = toflush.m_p[j].m_x;
+                           cell.m_p[np].m_y = toflush.m_p[j].m_y;
+                           cell.m_p[np].m_z = toflush.m_p[j].m_z;
+                           cell.m_hv[np].m_x = toflush.m_hv[j].m_x;
+                           cell.m_hv[np].m_y = toflush.m_hv[j].m_y;
+                           cell.m_hv[np].m_z = toflush.m_hv[j].m_z;
+                           cell.m_v[np].m_x = toflush.m_v[j].m_x;
+                           cell.m_v[np].m_y = toflush.m_v[j].m_y;
+                           cell.m_v[np].m_z = toflush.m_v[j].m_z;
+                           cell.m_a[np].m_x = toflush.m_a[j].m_x;
+                           cell.m_a[np].m_y = toflush.m_a[j].m_y;
+                           cell.m_a[np].m_z = toflush.m_a[j].m_z;
+                           cell.m_density[np] = toflush.m_density[j];
+                           np++;
+                       }
+                       cell.m_numPars += toflushnp;
+                   }
+               }
+           }
+       }
+       
+       for(int ix = 0; ix < g.m_ex; ix = g.m_ex - 1) {
+           for(int iy = 0; iy < g.m_ey; iy++) {
+               for(int iz = 0; iz < g.m_ez; iz++) {
+                   Integer index = new Integer(((iz + g.m_sz)*this.m_ny + (iy 
+                                 + g.m_sy))*this.m_nx + (ix + g.m_sx));
+                   if(this.m_borderCells.containsKey(index)) {
+                       Cell toflush = (Cell)(this.m_borderCells.get(index));
+                       int toflushnp = toflush.m_numPars;
+                       Cell cell = g.m_cells[ix][iy][iz];
+                       cell.m_numPars = 0;
+                       int np = 0;
+                       for(int j = 0; j < toflushnp; ++j) {
+                           cell.m_p[np].m_x = toflush.m_p[j].m_x;
+                           cell.m_p[np].m_y = toflush.m_p[j].m_y;
+                           cell.m_p[np].m_z = toflush.m_p[j].m_z;
+                           cell.m_hv[np].m_x = toflush.m_hv[j].m_x;
+                           cell.m_hv[np].m_y = toflush.m_hv[j].m_y;
+                           cell.m_hv[np].m_z = toflush.m_hv[j].m_z;
+                           cell.m_v[np].m_x = toflush.m_v[j].m_x;
+                           cell.m_v[np].m_y = toflush.m_v[j].m_y;
+                           cell.m_v[np].m_z = toflush.m_v[j].m_z;
+                           cell.m_a[np].m_x = toflush.m_a[j].m_x;
+                           cell.m_a[np].m_y = toflush.m_a[j].m_y;
+                           cell.m_a[np].m_z = toflush.m_a[j].m_z;
+                           cell.m_density[np] = toflush.m_density[j];
+                           np++;
+                       }
+                       cell.m_numPars += toflushnp;
+                   }
+               }
+           }
+       }
+    }
+    
+    public void sum2(Grid g) {
+       // ghost cells of g
+       HashMapIterator it_keys = g.m_neighCells.iterator(0);
+       while(it_keys.hasNext()) {
+           Integer key = (Integer)it_keys.next();
+           Cell cell = (Cell)(this.m_borderCells.get(key));
+           int np = cell.m_numPars;
+           Cell toadd = (Cell)(g.m_neighCells.get(key));
+           for(int j = 0; j < np; ++j) {
+               cell.m_density[j] += toadd.m_density[j];
+           }
+       }
+       
+       // border cells of g
+       for(int iz = 0; iz < g.m_ez; iz = g.m_ez - 1) {
+           for(int iy = 0; iy < g.m_ey; iy++) {
+               for(int ix = 0; ix < g.m_ex; ix++) {
+                   Integer index = new Integer(((iz + g.m_sz)*this.m_ny + (iy 
+                                 + g.m_sy))*this.m_nx + (ix + g.m_sx));
+                   if(this.m_borderCells.containsKey(index)) {
+                       Cell cell = (Cell)(this.m_borderCells.get(index));
+                       int np = cell.m_numPars;
+                       Cell toadd = g.m_cells[ix][iy][iz];
+                       for(int j = 0; j < np; ++j) {
+                           cell.m_density[j] += toadd.m_density[j];
+                       }
+                   }
+               }
+           }
+       }
+       
+       for(int iy = 0; iy < g.m_ey; iy = g.m_ey - 1) {
+           for(int iz = 0; iz < g.m_ez; iz++) {
+               for(int ix = 0; ix < g.m_ex; ix++) {
+                   Integer index = new Integer(((iz + g.m_sz)*this.m_ny + (iy 
+                                 + g.m_sy))*this.m_nx + (ix + g.m_sx));
+                   if(this.m_borderCells.containsKey(index)) {
+                       Cell cell = (Cell)(this.m_borderCells.get(index));
+                       int np = cell.m_numPars;
+                       Cell toadd = g.m_cells[ix][iy][iz];
+                       for(int j = 0; j < np; ++j) {
+                           cell.m_density[j] += toadd.m_density[j];
+                       }
+                   }
+               }
+           }
+       }
+       
+       for(int ix = 0; ix < g.m_ex; ix = g.m_ex - 1) {
+           for(int iy = 0; iy < g.m_ey; iy++) {
+               for(int iz = 0; iz < g.m_ez; iz++) {
+                   Integer index = new Integer(((iz + g.m_sz)*this.m_ny + (iy 
+                                 + g.m_sy))*this.m_nx + (ix + g.m_sx));
+                   if(this.m_borderCells.containsKey(index)) {
+                       Cell cell = (Cell)(this.m_borderCells.get(index));
+                       int np = cell.m_numPars;
+                       Cell toadd = g.m_cells[ix][iy][iz];
+                       for(int j = 0; j < np; ++j) {
+                           cell.m_density[j] += toadd.m_density[j];
+                       }
+                   }
+               }
+           }
+       }
+    }
+    
+    public void flush2(Grid g) {
+       // ghost cells of g
+       HashMapIterator it_keys = g.m_neighCells.iterator(0);
+       while(it_keys.hasNext()) {
+           Integer key = (Integer)it_keys.next();
+           Cell toflush = (Cell)(this.m_borderCells.get(key));
+           Cell cell = (Cell)(g.m_neighCells.get(key));
+           int np = cell.m_numPars;
+           for(int j = 0; j < np; ++j) {
+               cell.m_density[j] = toflush.m_density[j];
+           }
+       }
+       
+       // border cells of g
+       for(int iz = 0; iz < g.m_ez; iz = g.m_ez - 1) {
+           for(int iy = 0; iy < g.m_ey; iy++) {
+               for(int ix = 0; ix < g.m_ex; ix++) {
+                   Integer index = new Integer(((iz + g.m_sz)*this.m_ny + (iy 
+                                 + g.m_sy))*this.m_nx + (ix + g.m_sx));
+                   if(this.m_borderCells.containsKey(index)) {
+                       Cell toflush = (Cell)(this.m_borderCells.get(index));
+                       Cell cell = g.m_cells[ix][iy][iz];
+                       int np = cell.m_numPars;
+                       for(int j = 0; j < np; ++j) {
+                           cell.m_density[j] = toflush.m_density[j];
+                       }
+                   }
+               }
+           }
+       }
+       
+       for(int iy = 0; iy < g.m_ey; iy = g.m_ey - 1) {
+           for(int iz = 0; iz < g.m_ez; iz++) {
+               for(int ix = 0; ix < g.m_ex; ix++) {
+                   Integer index = new Integer(((iz + g.m_sz)*this.m_ny + (iy 
+                                 + g.m_sy))*this.m_nx + (ix + g.m_sx));
+                   if(this.m_borderCells.containsKey(index)) {
+                       Cell toflush = (Cell)(this.m_borderCells.get(index));
+                       Cell cell = g.m_cells[ix][iy][iz];
+                       int np = cell.m_numPars;
+                       for(int j = 0; j < np; ++j) {
+                           cell.m_density[j] = toflush.m_density[j];
+                       }
+                   }
+               }
+           }
+       }
+       
+       for(int ix = 0; ix < g.m_ex; ix = g.m_ex - 1) {
+           for(int iy = 0; iy < g.m_ey; iy++) {
+               for(int iz = 0; iz < g.m_ez; iz++) {
+                   Integer index = new Integer(((iz + g.m_sz)*this.m_ny + (iy 
+                                 + g.m_sy))*this.m_nx + (ix + g.m_sx));
+                   if(this.m_borderCells.containsKey(index)) {
+                       Cell toflush = (Cell)(this.m_borderCells.get(index));
+                       Cell cell = g.m_cells[ix][iy][iz];
+                       int np = cell.m_numPars;
+                       for(int j = 0; j < np; ++j) {
+                           cell.m_density[j] = toflush.m_density[j];
+                       }
+                   }
+               }
+           }
+       }
+    }
+    
+    public void sum3(Grid g) {
+       // border cells of g
+       for(int iz = 0; iz < g.m_ez; iz = g.m_ez - 1) {
+           for(int iy = 0; iy < g.m_ey; iy++) {
+               for(int ix = 0; ix < g.m_ex; ix++) {
+                   Integer index = new Integer(((iz + g.m_sz)*this.m_ny + (iy 
+                                 + g.m_sy))*this.m_nx + (ix + g.m_sx));
+                   if(this.m_borderCells.containsKey(index)) {
+                       Cell cell = (Cell)(this.m_borderCells.get(index));
+                       int np = cell.m_numPars;
+                       Cell toadd = g.m_cells[ix][iy][iz];
+                       for(int j = 0; j < np; ++j) {
+                           cell.m_density[j] = toadd.m_density[j];
+                       }
+                   }
+               }
+           }
+       }
+       
+       for(int iy = 0; iy < g.m_ey; iy = g.m_ey - 1) {
+           for(int iz = 0; iz < g.m_ez; iz++) {
+               for(int ix = 0; ix < g.m_ex; ix++) {
+                   Integer index = new Integer(((iz + g.m_sz)*this.m_ny + (iy 
+                                 + g.m_sy))*this.m_nx + (ix + g.m_sx));
+                   if(this.m_borderCells.containsKey(index)) {
+                       Cell cell = (Cell)(this.m_borderCells.get(index));
+                       int np = cell.m_numPars;
+                       Cell toadd = g.m_cells[ix][iy][iz];
+                       for(int j = 0; j < np; ++j) {
+                           cell.m_density[j] = toadd.m_density[j];
+                       }
+                   }
+               }
+           }
+       }
+       
+       for(int ix = 0; ix < g.m_ex; ix = g.m_ex - 1) {
+           for(int iy = 0; iy < g.m_ey; iy++) {
+               for(int iz = 0; iz < g.m_ez; iz++) {
+                   Integer index = new Integer(((iz + g.m_sz)*this.m_ny + (iy 
+                                 + g.m_sy))*this.m_nx + (ix + g.m_sx));
+                   if(this.m_borderCells.containsKey(index)) {
+                       Cell cell = (Cell)(this.m_borderCells.get(index));
+                       int np = cell.m_numPars;
+                       Cell toadd = g.m_cells[ix][iy][iz];
+                       for(int j = 0; j < np; ++j) {
+                           cell.m_density[j] = toadd.m_density[j];
+                       }
+                   }
+               }
+           }
+       }
+    }
+    
+    public void flush3(Grid g) {
+       // ghost cells of g
+       HashMapIterator it_keys = g.m_neighCells.iterator(0);
+       while(it_keys.hasNext()) {
+           Integer key = (Integer)it_keys.next();
+           Cell toflush = (Cell)(this.m_borderCells.get(key));
+           Cell cell = (Cell)(g.m_neighCells.get(key));
+           int np = cell.m_numPars;
+           for(int j = 0; j < np; ++j) {
+               cell.m_density[j] = toflush.m_density[j];
+           }
+       }
+    }
+    
+    public void sum4(Grid g) {
+       // ghost cells of g
+       HashMapIterator it_keys = g.m_neighCells.iterator(0);
+       while(it_keys.hasNext()) {
+           Integer key = (Integer)it_keys.next();
+           Cell cell = (Cell)(this.m_borderCells.get(key));
+           int np = cell.m_numPars;
+           Cell toadd = (Cell)(g.m_neighCells.get(key));
+           for(int j = 0; j < np; ++j) {
+               cell.m_v[j].m_x += toadd.m_v[j].m_x - cell.m_a[j].m_x;
+               cell.m_v[j].m_y += toadd.m_v[j].m_y - cell.m_a[j].m_y;
+               cell.m_v[j].m_z += toadd.m_v[j].m_z - cell.m_a[j].m_z;
+           }
+       }
+       
+       // border cells of g
+       for(int iz = 0; iz < g.m_ez; iz = g.m_ez - 1) {
+           for(int iy = 0; iy < g.m_ey; iy++) {
+               for(int ix = 0; ix < g.m_ex; ix++) {
+                   Integer index = new Integer(((iz + g.m_sz)*this.m_ny + (iy 
+                                 + g.m_sy))*this.m_nx + (ix + g.m_sx));
+                   if(this.m_borderCells.containsKey(index)) {
+                       Cell cell = (Cell)(this.m_borderCells.get(index));
+                       int np = cell.m_numPars;
+                       Cell toadd = g.m_cells[ix][iy][iz];
+                       for(int j = 0; j < np; ++j) {
+                           cell.m_v[j].m_x = toadd.m_v[j].m_x - 
+                                              cell.m_a[j].m_x;
+                           cell.m_v[j].m_y = toadd.m_v[j].m_y - 
+                                              cell.m_a[j].m_y;
+                           cell.m_v[j].m_z = toadd.m_v[j].m_z - 
+                                              cell.m_a[j].m_z;
+                       }
+                   }
+               }
+           }
+       }
+       
+       for(int iy = 0; iy < g.m_ey; iy = g.m_ey - 1) {
+           for(int iz = 0; iz < g.m_ez; iz++) {
+               for(int ix = 0; ix < g.m_ex; ix++) {
+                   Integer index = new Integer(((iz + g.m_sz)*this.m_ny + (iy 
+                                 + g.m_sy))*this.m_nx + (ix + g.m_sx));
+                   if(this.m_borderCells.containsKey(index)) {
+                       Cell cell = (Cell)(this.m_borderCells.get(index));
+                       int np = cell.m_numPars;
+                       Cell toadd = g.m_cells[ix][iy][iz];
+                       for(int j = 0; j < np; ++j) {
+                           cell.m_v[j].m_x = toadd.m_v[j].m_x - 
+                                             cell.m_a[j].m_x;
+                           cell.m_v[j].m_y = toadd.m_v[j].m_y - 
+                                             cell.m_a[j].m_y;
+                           cell.m_v[j].m_z = toadd.m_v[j].m_z - 
+                                             cell.m_a[j].m_z;
+                       }
+                   }
+               }
+           }
+       }
+       
+       for(int ix = 0; ix < g.m_ex; ix = g.m_ex - 1) {
+           for(int iy = 0; iy < g.m_ey; iy++) {
+               for(int iz = 0; iz < g.m_ez; iz++) {
+                   Integer index = new Integer(((iz + g.m_sz)*this.m_ny + (iy 
+                                 + g.m_sy))*this.m_nx + (ix + g.m_sx));
+                   if(this.m_borderCells.containsKey(index)) {
+                       Cell cell = (Cell)(this.m_borderCells.get(index));
+                       int np = cell.m_numPars;
+                       Cell toadd = g.m_cells[ix][iy][iz];
+                       for(int j = 0; j < np; ++j) {
+                           cell.m_v[j].m_x = toadd.m_v[j].m_x - 
+                                             cell.m_a[j].m_x;
+                           cell.m_v[j].m_y = toadd.m_v[j].m_y - 
+                                             cell.m_a[j].m_y;
+                           cell.m_v[j].m_z = toadd.m_v[j].m_z - 
+                                             cell.m_a[j].m_z;
+                       }
+                   }
+               }
+           }
+       }
+       
+       if(this.m_counter == this.m_numGrids - 1) {
+           HashMapIterator it_values = this.m_borderCells.iterator(1);
+           while(it_values.hasNext()) {
+               Cell cell = (Cell)it_values.next();
+               int np = cell.m_numPars;
+               for(int j = 0; j < np; ++j) {
+                   cell.m_a[j].m_x += cell.m_v[j].m_x;
+                   cell.m_a[j].m_y += cell.m_v[j].m_y;
+                   cell.m_a[j].m_z += cell.m_v[j].m_z;
+               }
+           }
+       }
+    }
+    
+    public void flush4(Grid g) {
+       // ghost cells of g
+       HashMapIterator it_keys = g.m_neighCells.iterator(0);
+       while(it_keys.hasNext()) {
+           Integer key = (Integer)it_keys.next();
+           Cell toflush = (Cell)(this.m_borderCells.get(key));
+           Cell cell = (Cell)(g.m_neighCells.get(key));
+           int np = cell.m_numPars;
+           for(int j = 0; j < np; ++j) {
+               cell.m_a[j].m_x = toflush.m_a[j].m_x;
+               cell.m_a[j].m_y = toflush.m_a[j].m_y;
+               cell.m_a[j].m_z = toflush.m_a[j].m_z;
+           }
+       }
+       
+       // border cells of g
+       for(int iz = 0; iz < g.m_ez; iz = g.m_ez - 1) {
+           for(int iy = 0; iy < g.m_ey; iy++) {
+               for(int ix = 0; ix < g.m_ex; ix++) {
+                   Integer index = new Integer(((iz + g.m_sz)*this.m_ny + (iy 
+                                 + g.m_sy))*this.m_nx + (ix + g.m_sx));
+                   if(this.m_borderCells.containsKey(index)) {
+                       Cell toflush = (Cell)(this.m_borderCells.get(index));
+                       Cell cell = g.m_cells[ix][iy][iz];
+                       int np = cell.m_numPars;
+                       for(int j = 0; j < np; ++j) {
+                           cell.m_a[j].m_x = toflush.m_a[j].m_x;
+                           cell.m_a[j].m_y = toflush.m_a[j].m_y;
+                           cell.m_a[j].m_z = toflush.m_a[j].m_z;
+                       }
+                   }
+               }
+           }
+       }
+       
+       for(int iy = 0; iy < g.m_ey; iy = g.m_ey - 1) {
+           for(int iz = 0; iz < g.m_ez; iz++) {
+               for(int ix = 0; ix < g.m_ex; ix++) {
+                   Integer index = new Integer(((iz + g.m_sz)*this.m_ny + (iy 
+                                 + g.m_sy))*this.m_nx + (ix + g.m_sx));
+                   if(this.m_borderCells.containsKey(index)) {
+                       Cell toflush = (Cell)(this.m_borderCells.get(index));
+                       Cell cell = g.m_cells[ix][iy][iz];
+                       int np = cell.m_numPars;
+                       for(int j = 0; j < np; ++j) {
+                           cell.m_a[j].m_x = toflush.m_a[j].m_x;
+                           cell.m_a[j].m_y = toflush.m_a[j].m_y;
+                           cell.m_a[j].m_z = toflush.m_a[j].m_z;
+                       }
+                   }
+               }
+           }
+       }
+       
+       for(int ix = 0; ix < g.m_ex; ix = g.m_ex - 1) {
+           for(int iy = 0; iy < g.m_ey; iy++) {
+               for(int iz = 0; iz < g.m_ez; iz++) {
+                   Integer index = new Integer(((iz + g.m_sz)*this.m_ny + (iy 
+                                 + g.m_sy))*this.m_nx + (ix + g.m_sx));
+                   if(this.m_borderCells.containsKey(index)) {
+                       Cell toflush = (Cell)(this.m_borderCells.get(index));
+                       Cell cell = g.m_cells[ix][iy][iz];
+                       int np = cell.m_numPars;
+                       for(int j = 0; j < np; ++j) {
+                           cell.m_a[j].m_x = toflush.m_a[j].m_x;
+                           cell.m_a[j].m_y = toflush.m_a[j].m_y;
+                           cell.m_a[j].m_z = toflush.m_a[j].m_z;
+                       }
+                   }
+               }
+           }
+       }
+    }
+}
\ No newline at end of file
diff --git a/Robust/src/Benchmarks/Scheduling/PSFluidAnimate/PSFluidAnimateBench.java b/Robust/src/Benchmarks/Scheduling/PSFluidAnimate/PSFluidAnimateBench.java
new file mode 100644 (file)
index 0000000..447d467
--- /dev/null
@@ -0,0 +1,1186 @@
+//Ported for Parsec 1.0
+
+task t1(StartupObject s{initialstate}) {
+    System.printString("task t1\n");
+    
+    int threadnum = 16;
+    int lsb = 0;
+    int framenum = 1;
+    
+    int weight=0;
+    int mask= 1;
+    int count=0;
+    lsb=-1;
+    int x = threadnum;
+    while(x > 0) {
+       int temp;
+       temp=(x&mask);
+       if((x&mask) == 1) {
+           weight++;
+           if(lsb == -1) {
+               lsb = count;
+           }
+       }
+       x >>= 1;
+       count++;
+    }
+    
+    int XDIVS = 1<<(lsb/2);    // number of partitions in X
+    int ZDIVS = 1<<(lsb/2);    // number of partitions in Z
+    if(XDIVS*ZDIVS != threadnum) XDIVS*=2;
+    int NUM_GRIDS = XDIVS * ZDIVS;
+    
+    // initialize the simulation
+    float doubleRestDensity = 2000.f;
+    float kernelRadiusMultiplier = 1.695f;
+    float stiffness = 1.5f;
+    float viscosity = 0.4f;
+    
+    float restParticlesPerMeter, h, hSq;
+    float densityCoeff, pressureCoeff, viscosityCoeff;
+    
+    int nx, ny, nz;
+    Vec3 delta = new Vec3();
+
+    restParticlesPerMeter = 204;
+    int origNumParticles = 4800;
+    int numParticles = origNumParticles;
+    
+    h = kernelRadiusMultiplier / restParticlesPerMeter;
+    hSq = h*h;
+    
+    float pi = 3.14159265358979f;
+    float coeff1 = 315.f / (64.f*pi*Math.powf(h,9.f));
+    float coeff2 = 15.f / (pi*Math.powf(h,6.f));
+    float coeff3 = 45.f / (pi*Math.powf(h,6.f));
+    float particleMass = 0.5f*doubleRestDensity / (restParticlesPerMeter*restParticlesPerMeter*restParticlesPerMeter);
+    densityCoeff = particleMass * coeff1;
+    pressureCoeff = 3.f*coeff2 * 0.5f*stiffness * particleMass;
+    viscosityCoeff = viscosity * coeff3 * particleMass;
+    
+    Vec3 domainMin = new Vec3(-0.065f, -0.08f, -0.065f);
+    Vec3 domainMax = new Vec3(0.065f, 0.1f, 0.065f);
+    Vec3 range = domainMax.sub1(domainMin);
+    nx = (int)(range.m_x / h);
+    ny = (int)(range.m_y / h);
+    nz = (int)(range.m_z / h);
+    
+    int numCells = nx*ny*nz;
+    delta.m_x = range.m_x / nx;
+    delta.m_y = range.m_y / ny;
+    delta.m_z = range.m_z / nz;
+    
+    PSFADemo demo = new PSFADemo(NUM_GRIDS, numCells, numParticles, nx, ny, nz, 
+           viscosityCoeff, new Vec3(delta.m_x, delta.m_y, delta.m_z)){tosum};
+
+    Cell[][][] cells = new Cell[nx][ny][nz];
+    for(int i = 0; i < nx; i++) {
+       for(int j = 0; j < ny; j++) {
+           for(int k = 0; k < nz; k++) {
+               int index = (k*ny + j)*nx + i;
+               cells[i][j][k] = new Cell(index);
+           }
+       }
+    }
+    
+    float px, py, pz, hvx, hvy, hvz, vx, vy, vz;
+    Cell cell = null;
+    int np = 0;
+    int i = 0; 
+    int j = 0;
+    int k = 0;
+
+    numParticles = 0;i = 0;j = 0;k = 0;
+    cell = cells[i][j][k]; cell.m_numPars = 10; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0573314; cell.m_p[np].m_y = (float)-0.0802636; cell.m_p[np].m_z = (float)-0.0577816; cell.m_hv[np].m_x = (float)0.211211; cell.m_hv[np].m_y = (float)0.118405; cell.m_hv[np].m_z = (float)0.140531; cell.m_v[np].m_x = (float)0.213602; cell.m_v[np].m_y = (float)0.123047; cell.m_v[np].m_z = (float)0.13834; np++;
+    cell.m_p[np].m_x = (float)-0.0644726; cell.m_p[np].m_y = (float)-0.075247; cell.m_p[np].m_z = (float)-0.063054; cell.m_hv[np].m_x = (float)0.0735973; cell.m_hv[np].m_y = (float)-0.149221; cell.m_hv[np].m_z = (float)0.147621; cell.m_v[np].m_x = (float)0.0731353; cell.m_v[np].m_y = (float)-0.145789; cell.m_v[np].m_z = (float)0.156435; np++;
+    cell.m_p[np].m_x = (float)-0.0648845; cell.m_p[np].m_y = (float)-0.077344; cell.m_p[np].m_z = (float)-0.0580119; cell.m_hv[np].m_x = (float)0.065619; cell.m_hv[np].m_y = (float)0.0369662; cell.m_hv[np].m_z = (float)0.143856; cell.m_v[np].m_x = (float)0.0671559; cell.m_v[np].m_y = (float)0.0447415; cell.m_v[np].m_z = (float)0.144549; np++;
+    cell.m_p[np].m_x = (float)-0.0639484; cell.m_p[np].m_y = (float)-0.0806192; cell.m_p[np].m_z = (float)-0.0589245; cell.m_hv[np].m_x = (float)0.112734; cell.m_hv[np].m_y = (float)0.122353; cell.m_hv[np].m_z = (float)0.254; cell.m_v[np].m_x = (float)0.111749; cell.m_v[np].m_y = (float)0.124844; cell.m_v[np].m_z = (float)0.255058; np++;
+    cell.m_p[np].m_x = (float)-0.0579; cell.m_p[np].m_y = (float)-0.0804232; cell.m_p[np].m_z = (float)-0.0632032; cell.m_hv[np].m_x = (float)0.137704; cell.m_hv[np].m_y = (float)0.0984228; cell.m_hv[np].m_z = (float)0.136459; cell.m_v[np].m_x = (float)0.137741; cell.m_v[np].m_y = (float)0.103002; cell.m_v[np].m_z = (float)0.135181; np++;
+    cell.m_p[np].m_x = (float)-0.0655057; cell.m_p[np].m_y = (float)-0.0800471; cell.m_p[np].m_z = (float)-0.0626156; cell.m_hv[np].m_x = (float)0.10839; cell.m_hv[np].m_y = (float)-0.0127513; cell.m_hv[np].m_z = (float)0.145206; cell.m_v[np].m_x = (float)0.109438; cell.m_v[np].m_y = (float)-0.0114886; cell.m_v[np].m_z = (float)0.142937; np++;
+    cell.m_p[np].m_x = (float)-0.0645412; cell.m_p[np].m_y = (float)-0.079354; cell.m_p[np].m_z = (float)-0.0653543; cell.m_hv[np].m_x = (float)0.0525072; cell.m_hv[np].m_y = (float)0.0167517; cell.m_hv[np].m_z = (float)0.0965941; cell.m_v[np].m_x = (float)0.0495444; cell.m_v[np].m_y = (float)0.0195017; cell.m_v[np].m_z = (float)0.0974558; np++;
+    cell.m_p[np].m_x = (float)-0.0597719; cell.m_p[np].m_y = (float)-0.0768678; cell.m_p[np].m_z = (float)-0.0617792; cell.m_hv[np].m_x = (float)0.166145; cell.m_hv[np].m_y = (float)-0.036543; cell.m_hv[np].m_z = (float)0.124862; cell.m_v[np].m_x = (float)0.168279; cell.m_v[np].m_y = (float)-0.031398; cell.m_v[np].m_z = (float)0.126468; np++;
+    cell.m_p[np].m_x = (float)-0.0646801; cell.m_p[np].m_y = (float)-0.0752771; cell.m_p[np].m_z = (float)-0.0639724; cell.m_hv[np].m_x = (float)0.0534599; cell.m_hv[np].m_y = (float)-0.00861769; cell.m_hv[np].m_z = (float)0.0705623; cell.m_v[np].m_x = (float)0.0484506; cell.m_v[np].m_y = (float)-0.00317735; cell.m_v[np].m_z = (float)0.059118; np++;
+    cell.m_p[np].m_x = (float)-0.0617398; cell.m_p[np].m_y = (float)-0.0805362; cell.m_p[np].m_z = (float)-0.0648319; cell.m_hv[np].m_x = (float)0.192799; cell.m_hv[np].m_y = (float)0.110778; cell.m_hv[np].m_z = (float)0.0748116; cell.m_v[np].m_x = (float)0.193855; cell.m_v[np].m_y = (float)0.11371; cell.m_v[np].m_z = (float)0.0790378; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 6; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0647172; cell.m_p[np].m_y = (float)-0.0804275; cell.m_p[np].m_z = (float)-0.0557436; cell.m_hv[np].m_x = (float)0.0614984; cell.m_hv[np].m_y = (float)0.0663076; cell.m_hv[np].m_z = (float)0.209968; cell.m_v[np].m_x = (float)0.0594338; cell.m_v[np].m_y = (float)0.0677069; cell.m_v[np].m_z = (float)0.212211; np++;
+    cell.m_p[np].m_x = (float)-0.0585437; cell.m_p[np].m_y = (float)-0.0773687; cell.m_p[np].m_z = (float)-0.0501716; cell.m_hv[np].m_x = (float)0.11844; cell.m_hv[np].m_y = (float)-0.0267193; cell.m_hv[np].m_z = (float)0.196836; cell.m_v[np].m_x = (float)0.118694; cell.m_v[np].m_y = (float)-0.0199571; cell.m_v[np].m_z = (float)0.19565; np++;
+    cell.m_p[np].m_x = (float)-0.0609177; cell.m_p[np].m_y = (float)-0.0804497; cell.m_p[np].m_z = (float)-0.0520395; cell.m_hv[np].m_x = (float)0.126162; cell.m_hv[np].m_y = (float)0.0624624; cell.m_hv[np].m_z = (float)0.20145; cell.m_v[np].m_x = (float)0.129481; cell.m_v[np].m_y = (float)0.0653574; cell.m_v[np].m_z = (float)0.203387; np++;
+    cell.m_p[np].m_x = (float)-0.0648884; cell.m_p[np].m_y = (float)-0.080279; cell.m_p[np].m_z = (float)-0.0488418; cell.m_hv[np].m_x = (float)0.0693401; cell.m_hv[np].m_y = (float)0.0120877; cell.m_hv[np].m_z = (float)0.212878; cell.m_v[np].m_x = (float)0.071687; cell.m_v[np].m_y = (float)0.0107955; cell.m_v[np].m_z = (float)0.213327; np++;
+    cell.m_p[np].m_x = (float)-0.0651525; cell.m_p[np].m_y = (float)-0.0783928; cell.m_p[np].m_z = (float)-0.0525139; cell.m_hv[np].m_x = (float)0.0360205; cell.m_hv[np].m_y = (float)-0.0465816; cell.m_hv[np].m_z = (float)0.22334; cell.m_v[np].m_x = (float)0.0343037; cell.m_v[np].m_y = (float)-0.0421055; cell.m_v[np].m_z = (float)0.222486; np++;
+    cell.m_p[np].m_x = (float)-0.0635761; cell.m_p[np].m_y = (float)-0.0731739; cell.m_p[np].m_z = (float)-0.0503281; cell.m_hv[np].m_x = (float)0.054302; cell.m_hv[np].m_y = (float)-0.109228; cell.m_hv[np].m_z = (float)0.0626439; cell.m_v[np].m_x = (float)0.0614978; cell.m_v[np].m_y = (float)-0.108515; cell.m_v[np].m_z = (float)0.06802; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 10; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0584911; cell.m_p[np].m_y = (float)-0.076468; cell.m_p[np].m_z = (float)-0.0416832; cell.m_hv[np].m_x = (float)0.111202; cell.m_hv[np].m_y = (float)0.028086; cell.m_hv[np].m_z = (float)0.16938; cell.m_v[np].m_x = (float)0.113699; cell.m_v[np].m_y = (float)0.0322649; cell.m_v[np].m_z = (float)0.173183; np++;
+    cell.m_p[np].m_x = (float)-0.0588148; cell.m_p[np].m_y = (float)-0.0802233; cell.m_p[np].m_z = (float)-0.0443417; cell.m_hv[np].m_x = (float)0.112083; cell.m_hv[np].m_y = (float)0.0312369; cell.m_hv[np].m_z = (float)0.217682; cell.m_v[np].m_x = (float)0.111604; cell.m_v[np].m_y = (float)0.0348938; cell.m_v[np].m_z = (float)0.221897; np++;
+    cell.m_p[np].m_x = (float)-0.064549; cell.m_p[np].m_y = (float)-0.0753417; cell.m_p[np].m_z = (float)-0.0390881; cell.m_hv[np].m_x = (float)0.036917; cell.m_hv[np].m_y = (float)-0.0329474; cell.m_hv[np].m_z = (float)0.191825; cell.m_v[np].m_x = (float)0.036555; cell.m_v[np].m_y = (float)-0.0298462; cell.m_v[np].m_z = (float)0.195516; np++;
+    cell.m_p[np].m_x = (float)-0.0638347; cell.m_p[np].m_y = (float)-0.0807256; cell.m_p[np].m_z = (float)-0.0432592; cell.m_hv[np].m_x = (float)0.0934064; cell.m_hv[np].m_y = (float)0.0458011; cell.m_hv[np].m_z = (float)0.215931; cell.m_v[np].m_x = (float)0.0922129; cell.m_v[np].m_y = (float)0.0465749; cell.m_v[np].m_z = (float)0.218772; np++;
+    cell.m_p[np].m_x = (float)-0.0582843; cell.m_p[np].m_y = (float)-0.0728675; cell.m_p[np].m_z = (float)-0.0434262; cell.m_hv[np].m_x = (float)0.135823; cell.m_hv[np].m_y = (float)-0.0204118; cell.m_hv[np].m_z = (float)0.190263; cell.m_v[np].m_x = (float)0.137563; cell.m_v[np].m_y = (float)-0.0171168; cell.m_v[np].m_z = (float)0.193609; np++;
+    cell.m_p[np].m_x = (float)-0.0648188; cell.m_p[np].m_y = (float)-0.0722775; cell.m_p[np].m_z = (float)-0.0433512; cell.m_hv[np].m_x = (float)0.0151948; cell.m_hv[np].m_y = (float)0.0134101; cell.m_hv[np].m_z = (float)0.204738; cell.m_v[np].m_x = (float)0.0155041; cell.m_v[np].m_y = (float)0.0164193; cell.m_v[np].m_z = (float)0.206512; np++;
+    cell.m_p[np].m_x = (float)-0.0646113; cell.m_p[np].m_y = (float)-0.0805097; cell.m_p[np].m_z = (float)-0.0466954; cell.m_hv[np].m_x = (float)0.0277461; cell.m_hv[np].m_y = (float)0.0555407; cell.m_hv[np].m_z = (float)0.171626; cell.m_v[np].m_x = (float)0.0281073; cell.m_v[np].m_y = (float)0.0575565; cell.m_v[np].m_z = (float)0.176487; np++;
+    cell.m_p[np].m_x = (float)-0.0626794; cell.m_p[np].m_y = (float)-0.0762554; cell.m_p[np].m_z = (float)-0.0466708; cell.m_hv[np].m_x = (float)0.116177; cell.m_hv[np].m_y = (float)-0.015342; cell.m_hv[np].m_z = (float)0.244684; cell.m_v[np].m_x = (float)0.116506; cell.m_v[np].m_y = (float)-0.0143129; cell.m_v[np].m_z = (float)0.247979; np++;
+    cell.m_p[np].m_x = (float)-0.0650403; cell.m_p[np].m_y = (float)-0.0760696; cell.m_p[np].m_z = (float)-0.0432526; cell.m_hv[np].m_x = (float)0.0265211; cell.m_hv[np].m_y = (float)0.0385062; cell.m_hv[np].m_z = (float)0.258482; cell.m_v[np].m_x = (float)0.027381; cell.m_v[np].m_y = (float)0.0425938; cell.m_v[np].m_z = (float)0.261328; np++;
+    cell.m_p[np].m_x = (float)-0.0654133; cell.m_p[np].m_y = (float)-0.0800733; cell.m_p[np].m_z = (float)-0.0405833; cell.m_hv[np].m_x = (float)0.0527283; cell.m_hv[np].m_y = (float)-0.0198738; cell.m_hv[np].m_z = (float)0.234305; cell.m_v[np].m_x = (float)0.0526498; cell.m_v[np].m_y = (float)-0.0191642; cell.m_v[np].m_z = (float)0.23735; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 9; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0655119; cell.m_p[np].m_y = (float)-0.080032; cell.m_p[np].m_z = (float)-0.0369711; cell.m_hv[np].m_x = (float)0.0366597; cell.m_hv[np].m_y = (float)-0.0347263; cell.m_hv[np].m_z = (float)0.178815; cell.m_v[np].m_x = (float)0.0365631; cell.m_v[np].m_y = (float)-0.0335888; cell.m_v[np].m_z = (float)0.182041; np++;
+    cell.m_p[np].m_x = (float)-0.0582764; cell.m_p[np].m_y = (float)-0.0803512; cell.m_p[np].m_z = (float)-0.037608; cell.m_hv[np].m_x = (float)0.165339; cell.m_hv[np].m_y = (float)0.00307039; cell.m_hv[np].m_z = (float)0.185723; cell.m_v[np].m_x = (float)0.165213; cell.m_v[np].m_y = (float)0.00571919; cell.m_v[np].m_z = (float)0.186805; np++;
+    cell.m_p[np].m_x = (float)-0.0614676; cell.m_p[np].m_y = (float)-0.0807618; cell.m_p[np].m_z = (float)-0.0385789; cell.m_hv[np].m_x = (float)0.196019; cell.m_hv[np].m_y = (float)0.0491476; cell.m_hv[np].m_z = (float)0.215796; cell.m_v[np].m_x = (float)0.199146; cell.m_v[np].m_y = (float)0.0504319; cell.m_v[np].m_z = (float)0.219685; np++;
+    cell.m_p[np].m_x = (float)-0.0579645; cell.m_p[np].m_y = (float)-0.0807222; cell.m_p[np].m_z = (float)-0.0312944; cell.m_hv[np].m_x = (float)0.117295; cell.m_hv[np].m_y = (float)0.0204826; cell.m_hv[np].m_z = (float)0.1827; cell.m_v[np].m_x = (float)0.120036; cell.m_v[np].m_y = (float)0.0230685; cell.m_v[np].m_z = (float)0.18361; np++;
+    cell.m_p[np].m_x = (float)-0.0590644; cell.m_p[np].m_y = (float)-0.0799757; cell.m_p[np].m_z = (float)-0.0340098; cell.m_hv[np].m_x = (float)0.107289; cell.m_hv[np].m_y = (float)-0.0259326; cell.m_hv[np].m_z = (float)0.191528; cell.m_v[np].m_x = (float)0.110879; cell.m_v[np].m_y = (float)-0.0251832; cell.m_v[np].m_z = (float)0.190474; np++;
+    cell.m_p[np].m_x = (float)-0.064521; cell.m_p[np].m_y = (float)-0.075468; cell.m_p[np].m_z = (float)-0.0353227; cell.m_hv[np].m_x = (float)0.0448229; cell.m_hv[np].m_y = (float)-0.0378897; cell.m_hv[np].m_z = (float)0.162294; cell.m_v[np].m_x = (float)0.0437118; cell.m_v[np].m_y = (float)-0.034306; cell.m_v[np].m_z = (float)0.163318; np++;
+    cell.m_p[np].m_x = (float)-0.064667; cell.m_p[np].m_y = (float)-0.0749663; cell.m_p[np].m_z = (float)-0.0322376; cell.m_hv[np].m_x = (float)0.0295031; cell.m_hv[np].m_y = (float)-0.0350652; cell.m_hv[np].m_z = (float)0.202189; cell.m_v[np].m_x = (float)0.0292384; cell.m_v[np].m_y = (float)-0.0340065; cell.m_v[np].m_z = (float)0.200384; np++;
+    cell.m_p[np].m_x = (float)-0.0645814; cell.m_p[np].m_y = (float)-0.0810626; cell.m_p[np].m_z = (float)-0.0341723; cell.m_hv[np].m_x = (float)0.0650286; cell.m_hv[np].m_y = (float)0.0230697; cell.m_hv[np].m_z = (float)0.169182; cell.m_v[np].m_x = (float)0.0623797; cell.m_v[np].m_y = (float)0.0223594; cell.m_v[np].m_z = (float)0.172409; np++;
+    cell.m_p[np].m_x = (float)-0.0653973; cell.m_p[np].m_y = (float)-0.0800188; cell.m_p[np].m_z = (float)-0.0320223; cell.m_hv[np].m_x = (float)0.0266835; cell.m_hv[np].m_y = (float)-0.00781647; cell.m_hv[np].m_z = (float)0.209733; cell.m_v[np].m_x = (float)0.0273602; cell.m_v[np].m_y = (float)-0.00649597; cell.m_v[np].m_z = (float)0.209683; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 12; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0580284; cell.m_p[np].m_y = (float)-0.0798708; cell.m_p[np].m_z = (float)-0.023638; cell.m_hv[np].m_x = (float)0.0863485; cell.m_hv[np].m_y = (float)-0.0453793; cell.m_hv[np].m_z = (float)0.142513; cell.m_v[np].m_x = (float)0.0881056; cell.m_v[np].m_y = (float)-0.0445662; cell.m_v[np].m_z = (float)0.145443; np++;
+    cell.m_p[np].m_x = (float)-0.0588952; cell.m_p[np].m_y = (float)-0.0783111; cell.m_p[np].m_z = (float)-0.0284459; cell.m_hv[np].m_x = (float)0.0585369; cell.m_hv[np].m_y = (float)0.0333101; cell.m_hv[np].m_z = (float)0.140144; cell.m_v[np].m_x = (float)0.0628193; cell.m_v[np].m_y = (float)0.0369028; cell.m_v[np].m_z = (float)0.139173; np++;
+    cell.m_p[np].m_x = (float)-0.0648553; cell.m_p[np].m_y = (float)-0.0724768; cell.m_p[np].m_z = (float)-0.0282072; cell.m_hv[np].m_x = (float)0.0149889; cell.m_hv[np].m_y = (float)-0.00628835; cell.m_hv[np].m_z = (float)0.209376; cell.m_v[np].m_x = (float)0.0159691; cell.m_v[np].m_y = (float)-0.00579857; cell.m_v[np].m_z = (float)0.208124; np++;
+    cell.m_p[np].m_x = (float)-0.0585361; cell.m_p[np].m_y = (float)-0.0749145; cell.m_p[np].m_z = (float)-0.0251418; cell.m_hv[np].m_x = (float)0.0589144; cell.m_hv[np].m_y = (float)0.000885156; cell.m_hv[np].m_z = (float)0.161068; cell.m_v[np].m_x = (float)0.0592482; cell.m_v[np].m_y = (float)0.00107644; cell.m_v[np].m_z = (float)0.16098; np++;
+    cell.m_p[np].m_x = (float)-0.0648829; cell.m_p[np].m_y = (float)-0.0719808; cell.m_p[np].m_z = (float)-0.0241469; cell.m_hv[np].m_x = (float)0.00251095; cell.m_hv[np].m_y = (float)-0.0373472; cell.m_hv[np].m_z = (float)0.227282; cell.m_v[np].m_x = (float)0.00323335; cell.m_v[np].m_y = (float)-0.0357997; cell.m_v[np].m_z = (float)0.228841; np++;
+    cell.m_p[np].m_x = (float)-0.0647833; cell.m_p[np].m_y = (float)-0.0810611; cell.m_p[np].m_z = (float)-0.0292795; cell.m_hv[np].m_x = (float)0.0490288; cell.m_hv[np].m_y = (float)0.00502714; cell.m_hv[np].m_z = (float)0.213559; cell.m_v[np].m_x = (float)0.0474776; cell.m_v[np].m_y = (float)0.0032383; cell.m_v[np].m_z = (float)0.214287; np++;
+    cell.m_p[np].m_x = (float)-0.0603432; cell.m_p[np].m_y = (float)-0.0809195; cell.m_p[np].m_z = (float)-0.0262655; cell.m_hv[np].m_x = (float)0.098429; cell.m_hv[np].m_y = (float)0.0533452; cell.m_hv[np].m_z = (float)0.197998; cell.m_v[np].m_x = (float)0.0995037; cell.m_v[np].m_y = (float)0.0539707; cell.m_v[np].m_z = (float)0.197076; np++;
+    cell.m_p[np].m_x = (float)-0.0648769; cell.m_p[np].m_y = (float)-0.0805645; cell.m_p[np].m_z = (float)-0.0236887; cell.m_hv[np].m_x = (float)0.0216333; cell.m_hv[np].m_y = (float)0.00559642; cell.m_hv[np].m_z = (float)0.207507; cell.m_v[np].m_x = (float)0.0226385; cell.m_v[np].m_y = (float)0.00721428; cell.m_v[np].m_z = (float)0.206857; np++;
+    cell.m_p[np].m_x = (float)-0.0649051; cell.m_p[np].m_y = (float)-0.0762233; cell.m_p[np].m_z = (float)-0.0284289; cell.m_hv[np].m_x = (float)0.012086; cell.m_hv[np].m_y = (float)0.00435383; cell.m_hv[np].m_z = (float)0.231647; cell.m_v[np].m_x = (float)0.0133829; cell.m_v[np].m_y = (float)0.00500071; cell.m_v[np].m_z = (float)0.231336; np++;
+    cell.m_p[np].m_x = (float)-0.0654751; cell.m_p[np].m_y = (float)-0.0801914; cell.m_p[np].m_z = (float)-0.0266381; cell.m_hv[np].m_x = (float)0.0323728; cell.m_hv[np].m_y = (float)-0.0283105; cell.m_hv[np].m_z = (float)0.214308; cell.m_v[np].m_x = (float)0.0334623; cell.m_v[np].m_y = (float)-0.0288099; cell.m_v[np].m_z = (float)0.212444; np++;
+    cell.m_p[np].m_x = (float)-0.0589793; cell.m_p[np].m_y = (float)-0.0744957; cell.m_p[np].m_z = (float)-0.0294604; cell.m_hv[np].m_x = (float)0.078511; cell.m_hv[np].m_y = (float)0.00840694; cell.m_hv[np].m_z = (float)0.163235; cell.m_v[np].m_x = (float)0.0795231; cell.m_v[np].m_y = (float)0.00714855; cell.m_v[np].m_z = (float)0.163796; np++;
+    cell.m_p[np].m_x = (float)-0.064937; cell.m_p[np].m_y = (float)-0.0758574; cell.m_p[np].m_z = (float)-0.023673; cell.m_hv[np].m_x = (float)0.0130481; cell.m_hv[np].m_y = (float)-0.0145314; cell.m_hv[np].m_z = (float)0.202531; cell.m_v[np].m_x = (float)0.0151803; cell.m_v[np].m_y = (float)-0.014502; cell.m_v[np].m_z = (float)0.202461; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 7; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0652937; cell.m_p[np].m_y = (float)-0.0783401; cell.m_p[np].m_z = (float)-0.019334; cell.m_hv[np].m_x = (float)0.011472; cell.m_hv[np].m_y = (float)0.101431; cell.m_hv[np].m_z = (float)0.191765; cell.m_v[np].m_x = (float)0.0145385; cell.m_v[np].m_y = (float)0.100988; cell.m_v[np].m_z = (float)0.1915; np++;
+    cell.m_p[np].m_x = (float)-0.0652034; cell.m_p[np].m_y = (float)-0.080444; cell.m_p[np].m_z = (float)-0.013614; cell.m_hv[np].m_x = (float)0.00267643; cell.m_hv[np].m_y = (float)-0.00957926; cell.m_hv[np].m_z = (float)0.0933971; cell.m_v[np].m_x = (float)0.00288184; cell.m_v[np].m_y = (float)-0.00679911; cell.m_v[np].m_z = (float)0.0991362; np++;
+    cell.m_p[np].m_x = (float)-0.0577397; cell.m_p[np].m_y = (float)-0.0805301; cell.m_p[np].m_z = (float)-0.0206291; cell.m_hv[np].m_x = (float)0.0915098; cell.m_hv[np].m_y = (float)0.0135126; cell.m_hv[np].m_z = (float)0.136916; cell.m_v[np].m_x = (float)0.0931126; cell.m_v[np].m_y = (float)0.0154702; cell.m_v[np].m_z = (float)0.14063; np++;
+    cell.m_p[np].m_x = (float)-0.0602908; cell.m_p[np].m_y = (float)-0.0805292; cell.m_p[np].m_z = (float)-0.0143592; cell.m_hv[np].m_x = (float)0.0165328; cell.m_hv[np].m_y = (float)0.0045932; cell.m_hv[np].m_z = (float)0.123851; cell.m_v[np].m_x = (float)0.0159732; cell.m_v[np].m_y = (float)0.00603164; cell.m_v[np].m_z = (float)0.12504; np++;
+    cell.m_p[np].m_x = (float)-0.0612019; cell.m_p[np].m_y = (float)-0.0753249; cell.m_p[np].m_z = (float)-0.0205925; cell.m_hv[np].m_x = (float)0.0901871; cell.m_hv[np].m_y = (float)-0.0291137; cell.m_hv[np].m_z = (float)0.157525; cell.m_v[np].m_x = (float)0.0905786; cell.m_v[np].m_y = (float)-0.0243016; cell.m_v[np].m_z = (float)0.15973; np++;
+    cell.m_p[np].m_x = (float)-0.065182; cell.m_p[np].m_y = (float)-0.0801862; cell.m_p[np].m_z = (float)-0.0162569; cell.m_hv[np].m_x = (float)0.00126172; cell.m_hv[np].m_y = (float)-0.0254415; cell.m_hv[np].m_z = (float)0.135822; cell.m_v[np].m_x = (float)0.00233821; cell.m_v[np].m_y = (float)-0.0234664; cell.m_v[np].m_z = (float)0.141396; np++;
+    cell.m_p[np].m_x = (float)-0.0604567; cell.m_p[np].m_y = (float)-0.0804766; cell.m_p[np].m_z = (float)-0.0181153; cell.m_hv[np].m_x = (float)0.0270751; cell.m_hv[np].m_y = (float)0.00679576; cell.m_hv[np].m_z = (float)0.134834; cell.m_v[np].m_x = (float)0.0287931; cell.m_v[np].m_y = (float)0.00930487; cell.m_v[np].m_z = (float)0.136881; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 9; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0599436; cell.m_p[np].m_y = (float)-0.0756536; cell.m_p[np].m_z = (float)-0.0120545; cell.m_hv[np].m_x = (float)0.024499; cell.m_hv[np].m_y = (float)-0.0509062; cell.m_hv[np].m_z = (float)0.119392; cell.m_v[np].m_x = (float)0.0282137; cell.m_v[np].m_y = (float)-0.0464328; cell.m_v[np].m_z = (float)0.122596; np++;
+    cell.m_p[np].m_x = (float)-0.0600669; cell.m_p[np].m_y = (float)-0.0765806; cell.m_p[np].m_z = (float)-0.00789216; cell.m_hv[np].m_x = (float)-0.000454786; cell.m_hv[np].m_y = (float)0.00964696; cell.m_hv[np].m_z = (float)0.0208946; cell.m_v[np].m_x = (float)0.00185737; cell.m_v[np].m_y = (float)0.00544433; cell.m_v[np].m_z = (float)0.0212199; np++;
+    cell.m_p[np].m_x = (float)-0.0652752; cell.m_p[np].m_y = (float)-0.0808398; cell.m_p[np].m_z = (float)-0.00790323; cell.m_hv[np].m_x = (float)-0.0648669; cell.m_hv[np].m_y = (float)-0.0297668; cell.m_hv[np].m_z = (float)-0.00867878; cell.m_v[np].m_x = (float)-0.0666493; cell.m_v[np].m_y = (float)-0.0305317; cell.m_v[np].m_z = (float)0.000623125; np++;
+    cell.m_p[np].m_x = (float)-0.0573969; cell.m_p[np].m_y = (float)-0.0806918; cell.m_p[np].m_z = (float)-0.0108806; cell.m_hv[np].m_x = (float)0.0294432; cell.m_hv[np].m_y = (float)-0.0174843; cell.m_hv[np].m_z = (float)0.0835398; cell.m_v[np].m_x = (float)0.0290848; cell.m_v[np].m_y = (float)-0.0163872; cell.m_v[np].m_z = (float)0.0890786; np++;
+    cell.m_p[np].m_x = (float)-0.0617303; cell.m_p[np].m_y = (float)-0.0807326; cell.m_p[np].m_z = (float)-0.00485844; cell.m_hv[np].m_x = (float)-0.0448052; cell.m_hv[np].m_y = (float)-0.0181326; cell.m_hv[np].m_z = (float)-0.0735725; cell.m_v[np].m_x = (float)-0.0484409; cell.m_v[np].m_y = (float)-0.0180635; cell.m_v[np].m_z = (float)-0.0807123; np++;
+    cell.m_p[np].m_x = (float)-0.0613347; cell.m_p[np].m_y = (float)-0.0807324; cell.m_p[np].m_z = (float)-0.00957067; cell.m_hv[np].m_x = (float)0.0255548; cell.m_hv[np].m_y = (float)-0.0305506; cell.m_hv[np].m_z = (float)0.0858589; cell.m_v[np].m_x = (float)0.0231319; cell.m_v[np].m_y = (float)-0.0294671; cell.m_v[np].m_z = (float)0.0954088; np++;
+    cell.m_p[np].m_x = (float)-0.0582973; cell.m_p[np].m_y = (float)-0.0718565; cell.m_p[np].m_z = (float)-0.00481317; cell.m_hv[np].m_x = (float)-0.0144185; cell.m_hv[np].m_y = (float)0.000663636; cell.m_hv[np].m_z = (float)0.0457819; cell.m_v[np].m_x = (float)-0.0128033; cell.m_v[np].m_y = (float)0.00911207; cell.m_v[np].m_z = (float)0.0500094; np++;
+    cell.m_p[np].m_x = (float)-0.0654938; cell.m_p[np].m_y = (float)-0.0719777; cell.m_p[np].m_z = (float)-0.00605012; cell.m_hv[np].m_x = (float)-0.0298465; cell.m_hv[np].m_y = (float)0.0772102; cell.m_hv[np].m_z = (float)0.185703; cell.m_v[np].m_x = (float)-0.0312746; cell.m_v[np].m_y = (float)0.0768503; cell.m_v[np].m_z = (float)0.193352; np++;
+    cell.m_p[np].m_x = (float)-0.0656458; cell.m_p[np].m_y = (float)-0.0806034; cell.m_p[np].m_z = (float)-0.00549496; cell.m_hv[np].m_x = (float)-0.0612823; cell.m_hv[np].m_y = (float)-0.0147976; cell.m_hv[np].m_z = (float)0.0268699; cell.m_v[np].m_x = (float)-0.061638; cell.m_v[np].m_y = (float)-0.0166082; cell.m_v[np].m_z = (float)0.0263945; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 9; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0608433; cell.m_p[np].m_y = (float)-0.0804691; cell.m_p[np].m_z = (float)0.000365469; cell.m_hv[np].m_x = (float)-0.00765511; cell.m_hv[np].m_y = (float)-0.00681225; cell.m_hv[np].m_z = (float)-0.06594; cell.m_v[np].m_x = (float)-0.00939214; cell.m_v[np].m_y = (float)-0.00522463; cell.m_v[np].m_z = (float)-0.0613858; np++;
+    cell.m_p[np].m_x = (float)-0.0659018; cell.m_p[np].m_y = (float)-0.0807156; cell.m_p[np].m_z = (float)-0.00273068; cell.m_hv[np].m_x = (float)-0.0526266; cell.m_hv[np].m_y = (float)-0.0457987; cell.m_hv[np].m_z = (float)0.0129292; cell.m_v[np].m_x = (float)-0.0545509; cell.m_v[np].m_y = (float)-0.0448942; cell.m_v[np].m_z = (float)0.012696; np++;
+    cell.m_p[np].m_x = (float)-0.0645436; cell.m_p[np].m_y = (float)-0.0811508; cell.m_p[np].m_z = (float)0.000224737; cell.m_hv[np].m_x = (float)-0.0754951; cell.m_hv[np].m_y = (float)-0.0650206; cell.m_hv[np].m_z = (float)-0.13078; cell.m_v[np].m_x = (float)-0.0780054; cell.m_v[np].m_y = (float)-0.0647453; cell.m_v[np].m_z = (float)-0.131689; np++;
+    cell.m_p[np].m_x = (float)-0.0653625; cell.m_p[np].m_y = (float)-0.0760826; cell.m_p[np].m_z = (float)0.00412976; cell.m_hv[np].m_x = (float)-0.0370898; cell.m_hv[np].m_y = (float)-0.00987808; cell.m_hv[np].m_z = (float)-0.147999; cell.m_v[np].m_x = (float)-0.0365679; cell.m_v[np].m_y = (float)-0.00681019; cell.m_v[np].m_z = (float)-0.147506; np++;
+    cell.m_p[np].m_x = (float)-0.0603; cell.m_p[np].m_y = (float)-0.0756151; cell.m_p[np].m_z = (float)0.00343538; cell.m_hv[np].m_x = (float)-0.151319; cell.m_hv[np].m_y = (float)-0.0280759; cell.m_hv[np].m_z = (float)-0.100543; cell.m_v[np].m_x = (float)-0.152283; cell.m_v[np].m_y = (float)-0.0210041; cell.m_v[np].m_z = (float)-0.100686; np++;
+    cell.m_p[np].m_x = (float)-0.0656294; cell.m_p[np].m_y = (float)-0.0739079; cell.m_p[np].m_z = (float)-0.00135115; cell.m_hv[np].m_x = (float)-0.0370667; cell.m_hv[np].m_y = (float)-0.0556364; cell.m_hv[np].m_z = (float)-0.0648464; cell.m_v[np].m_x = (float)-0.0409298; cell.m_v[np].m_y = (float)-0.0499541; cell.m_v[np].m_z = (float)-0.068934; np++;
+    cell.m_p[np].m_x = (float)-0.0598919; cell.m_p[np].m_y = (float)-0.0737755; cell.m_p[np].m_z = (float)0.00092556; cell.m_hv[np].m_x = (float)-0.0649862; cell.m_hv[np].m_y = (float)0.0120963; cell.m_hv[np].m_z = (float)-0.042701; cell.m_v[np].m_x = (float)-0.0633432; cell.m_v[np].m_y = (float)0.0105054; cell.m_v[np].m_z = (float)-0.0372404; np++;
+    cell.m_p[np].m_x = (float)-0.0571323; cell.m_p[np].m_y = (float)-0.0806261; cell.m_p[np].m_z = (float)0.00270487; cell.m_hv[np].m_x = (float)-0.0577921; cell.m_hv[np].m_y = (float)-0.0235959; cell.m_hv[np].m_z = (float)-0.0782958; cell.m_v[np].m_x = (float)-0.0536225; cell.m_v[np].m_y = (float)-0.0223578; cell.m_v[np].m_z = (float)-0.0779673; np++;
+    cell.m_p[np].m_x = (float)-0.0579779; cell.m_p[np].m_y = (float)-0.0808181; cell.m_p[np].m_z = (float)-0.00370877; cell.m_hv[np].m_x = (float)-0.0450036; cell.m_hv[np].m_y = (float)-0.00778982; cell.m_hv[np].m_z = (float)-0.0206083; cell.m_v[np].m_x = (float)-0.0436352; cell.m_v[np].m_y = (float)-0.00424318; cell.m_v[np].m_z = (float)-0.0255757; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 7; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0654933; cell.m_p[np].m_y = (float)-0.0757308; cell.m_p[np].m_z = (float)0.0118666; cell.m_hv[np].m_x = (float)-0.00301292; cell.m_hv[np].m_y = (float)-0.0167561; cell.m_hv[np].m_z = (float)-0.00553598; cell.m_v[np].m_x = (float)-0.00314924; cell.m_v[np].m_y = (float)-0.014244; cell.m_v[np].m_z = (float)-0.00600444; np++;
+    cell.m_p[np].m_x = (float)-0.0608569; cell.m_p[np].m_y = (float)-0.0807318; cell.m_p[np].m_z = (float)0.00795302; cell.m_hv[np].m_x = (float)-0.0535236; cell.m_hv[np].m_y = (float)-0.0014552; cell.m_hv[np].m_z = (float)-0.0512343; cell.m_v[np].m_x = (float)-0.0565376; cell.m_v[np].m_y = (float)-0.00154106; cell.m_v[np].m_z = (float)-0.0505584; np++;
+    cell.m_p[np].m_x = (float)-0.0654629; cell.m_p[np].m_y = (float)-0.0810164; cell.m_p[np].m_z = (float)0.00847617; cell.m_hv[np].m_x = (float)-0.028827; cell.m_hv[np].m_y = (float)0.00415483; cell.m_hv[np].m_z = (float)-0.141416; cell.m_v[np].m_x = (float)-0.0288165; cell.m_v[np].m_y = (float)0.00469705; cell.m_v[np].m_z = (float)-0.146038; np++;
+    cell.m_p[np].m_x = (float)-0.0614978; cell.m_p[np].m_y = (float)-0.0757284; cell.m_p[np].m_z = (float)0.00753689; cell.m_hv[np].m_x = (float)-0.00738695; cell.m_hv[np].m_y = (float)-0.0149757; cell.m_hv[np].m_z = (float)-0.0976888; cell.m_v[np].m_x = (float)-0.00832903; cell.m_v[np].m_y = (float)-0.00981816; cell.m_v[np].m_z = (float)-0.103595; np++;
+    cell.m_p[np].m_x = (float)-0.0611352; cell.m_p[np].m_y = (float)-0.0808017; cell.m_p[np].m_z = (float)0.0112587; cell.m_hv[np].m_x = (float)-0.0437323; cell.m_hv[np].m_y = (float)-0.00909807; cell.m_hv[np].m_z = (float)-0.0457544; cell.m_v[np].m_x = (float)-0.04688; cell.m_v[np].m_y = (float)-0.00898258; cell.m_v[np].m_z = (float)-0.0492885; np++;
+    cell.m_p[np].m_x = (float)-0.0657946; cell.m_p[np].m_y = (float)-0.0757553; cell.m_p[np].m_z = (float)0.00792066; cell.m_hv[np].m_x = (float)-0.0125769; cell.m_hv[np].m_y = (float)0.00795226; cell.m_hv[np].m_z = (float)-0.0734115; cell.m_v[np].m_x = (float)-0.0126159; cell.m_v[np].m_y = (float)0.0101717; cell.m_v[np].m_z = (float)-0.074254; np++;
+    cell.m_p[np].m_x = (float)-0.0564407; cell.m_p[np].m_y = (float)-0.0808326; cell.m_p[np].m_z = (float)0.00643649; cell.m_hv[np].m_x = (float)-0.085854; cell.m_hv[np].m_y = (float)-0.00444396; cell.m_hv[np].m_z = (float)-0.0182177; cell.m_v[np].m_x = (float)-0.0798138; cell.m_v[np].m_y = (float)-0.00542636; cell.m_v[np].m_z = (float)-0.0211266; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 11; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0650187; cell.m_p[np].m_y = (float)-0.0809001; cell.m_p[np].m_z = (float)0.0141146; cell.m_hv[np].m_x = (float)-0.0131427; cell.m_hv[np].m_y = (float)0.00501; cell.m_hv[np].m_z = (float)-0.0977914; cell.m_v[np].m_x = (float)-0.0127494; cell.m_v[np].m_y = (float)0.00585976; cell.m_v[np].m_z = (float)-0.10123; np++;
+    cell.m_p[np].m_x = (float)-0.0571474; cell.m_p[np].m_y = (float)-0.0722205; cell.m_p[np].m_z = (float)0.014122; cell.m_hv[np].m_x = (float)-0.0324438; cell.m_hv[np].m_y = (float)0.0561559; cell.m_hv[np].m_z = (float)-0.0882565; cell.m_v[np].m_x = (float)-0.0273705; cell.m_v[np].m_y = (float)0.0571512; cell.m_v[np].m_z = (float)-0.0885356; np++;
+    cell.m_p[np].m_x = (float)-0.0571006; cell.m_p[np].m_y = (float)-0.0734315; cell.m_p[np].m_z = (float)0.0190233; cell.m_hv[np].m_x = (float)0.00567591; cell.m_hv[np].m_y = (float)0.0346735; cell.m_hv[np].m_z = (float)-0.147007; cell.m_v[np].m_x = (float)0.00969367; cell.m_v[np].m_y = (float)0.0397104; cell.m_v[np].m_z = (float)-0.148024; np++;
+    cell.m_p[np].m_x = (float)-0.059458; cell.m_p[np].m_y = (float)-0.0803128; cell.m_p[np].m_z = (float)0.0209214; cell.m_hv[np].m_x = (float)0.0116931; cell.m_hv[np].m_y = (float)0.0122948; cell.m_hv[np].m_z = (float)-0.120087; cell.m_v[np].m_x = (float)0.0131593; cell.m_v[np].m_y = (float)0.0141301; cell.m_v[np].m_z = (float)-0.121982; np++;
+    cell.m_p[np].m_x = (float)-0.0580806; cell.m_p[np].m_y = (float)-0.0800382; cell.m_p[np].m_z = (float)0.0141163; cell.m_hv[np].m_x = (float)-0.00112519; cell.m_hv[np].m_y = (float)-0.00147269; cell.m_hv[np].m_z = (float)-0.0763919; cell.m_v[np].m_x = (float)0.000150813; cell.m_v[np].m_y = (float)0.000364836; cell.m_v[np].m_z = (float)-0.0781961; np++;
+    cell.m_p[np].m_x = (float)-0.06096; cell.m_p[np].m_y = (float)-0.0807328; cell.m_p[np].m_z = (float)0.0161913; cell.m_hv[np].m_x = (float)0.0371992; cell.m_hv[np].m_y = (float)0.00885911; cell.m_hv[np].m_z = (float)-0.0747318; cell.m_v[np].m_x = (float)0.0389545; cell.m_v[np].m_y = (float)0.0109023; cell.m_v[np].m_z = (float)-0.0809247; np++;
+    cell.m_p[np].m_x = (float)-0.0653477; cell.m_p[np].m_y = (float)-0.0759643; cell.m_p[np].m_z = (float)0.0191891; cell.m_hv[np].m_x = (float)0.026718; cell.m_hv[np].m_y = (float)0.0297233; cell.m_hv[np].m_z = (float)-0.0907242; cell.m_v[np].m_x = (float)0.0281324; cell.m_v[np].m_y = (float)0.0331809; cell.m_v[np].m_z = (float)-0.0897984; np++;
+    cell.m_p[np].m_x = (float)-0.060291; cell.m_p[np].m_y = (float)-0.0755616; cell.m_p[np].m_z = (float)0.0208334; cell.m_hv[np].m_x = (float)0.0889268; cell.m_hv[np].m_y = (float)0.0256067; cell.m_hv[np].m_z = (float)-0.140503; cell.m_v[np].m_x = (float)0.0935296; cell.m_v[np].m_y = (float)0.0322808; cell.m_v[np].m_z = (float)-0.143899; np++;
+    cell.m_p[np].m_x = (float)-0.0606751; cell.m_p[np].m_y = (float)-0.0755944; cell.m_p[np].m_z = (float)0.0161495; cell.m_hv[np].m_x = (float)0.0361706; cell.m_hv[np].m_y = (float)-0.0121538; cell.m_hv[np].m_z = (float)-0.084443; cell.m_v[np].m_x = (float)0.0364029; cell.m_v[np].m_y = (float)-0.00867647; cell.m_v[np].m_z = (float)-0.0869413; np++;
+    cell.m_p[np].m_x = (float)-0.0568327; cell.m_p[np].m_y = (float)-0.0806046; cell.m_p[np].m_z = (float)0.0183498; cell.m_hv[np].m_x = (float)0.0846968; cell.m_hv[np].m_y = (float)0.0291278; cell.m_hv[np].m_z = (float)-0.0894748; cell.m_v[np].m_x = (float)0.0893392; cell.m_v[np].m_y = (float)0.0332222; cell.m_v[np].m_z = (float)-0.0927774; np++;
+    cell.m_p[np].m_x = (float)-0.065906; cell.m_p[np].m_y = (float)-0.0799873; cell.m_p[np].m_z = (float)0.0168127; cell.m_hv[np].m_x = (float)0.0263947; cell.m_hv[np].m_y = (float)0.0135369; cell.m_hv[np].m_z = (float)-0.106037; cell.m_v[np].m_x = (float)0.0270521; cell.m_v[np].m_y = (float)0.0138146; cell.m_v[np].m_z = (float)-0.104591; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 8; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0652926; cell.m_p[np].m_y = (float)-0.0803464; cell.m_p[np].m_z = (float)0.0218391; cell.m_hv[np].m_x = (float)0.0176438; cell.m_hv[np].m_y = (float)0.00782057; cell.m_hv[np].m_z = (float)-0.128166; cell.m_v[np].m_x = (float)0.0192074; cell.m_v[np].m_y = (float)0.0102025; cell.m_v[np].m_z = (float)-0.131985; np++;
+    cell.m_p[np].m_x = (float)-0.0649594; cell.m_p[np].m_y = (float)-0.075547; cell.m_p[np].m_z = (float)0.0275977; cell.m_hv[np].m_x = (float)0.00865201; cell.m_hv[np].m_y = (float)-0.0515108; cell.m_hv[np].m_z = (float)-0.203142; cell.m_v[np].m_x = (float)0.0100722; cell.m_v[np].m_y = (float)-0.0497517; cell.m_v[np].m_z = (float)-0.207319; np++;
+    cell.m_p[np].m_x = (float)-0.0640207; cell.m_p[np].m_y = (float)-0.0719726; cell.m_p[np].m_z = (float)0.0261624; cell.m_hv[np].m_x = (float)0.0383669; cell.m_hv[np].m_y = (float)-0.00390113; cell.m_hv[np].m_z = (float)-0.197074; cell.m_v[np].m_x = (float)0.0396595; cell.m_v[np].m_y = (float)-0.00317414; cell.m_v[np].m_z = (float)-0.200358; np++;
+    cell.m_p[np].m_x = (float)-0.0651543; cell.m_p[np].m_y = (float)-0.0758016; cell.m_p[np].m_z = (float)0.0235238; cell.m_hv[np].m_x = (float)0.0262254; cell.m_hv[np].m_y = (float)0.0645048; cell.m_hv[np].m_z = (float)-0.201314; cell.m_v[np].m_x = (float)0.0292328; cell.m_v[np].m_y = (float)0.0671096; cell.m_v[np].m_z = (float)-0.204622; np++;
+    cell.m_p[np].m_x = (float)-0.0628274; cell.m_p[np].m_y = (float)-0.0807335; cell.m_p[np].m_z = (float)0.0300605; cell.m_hv[np].m_x = (float)0.148015; cell.m_hv[np].m_y = (float)0.0244073; cell.m_hv[np].m_z = (float)-0.208776; cell.m_v[np].m_x = (float)0.148088; cell.m_v[np].m_y = (float)0.0260083; cell.m_v[np].m_z = (float)-0.210253; np++;
+    cell.m_p[np].m_x = (float)-0.0602435; cell.m_p[np].m_y = (float)-0.0806017; cell.m_p[np].m_z = (float)0.024754; cell.m_hv[np].m_x = (float)0.0714303; cell.m_hv[np].m_y = (float)0.0277; cell.m_hv[np].m_z = (float)-0.143103; cell.m_v[np].m_x = (float)0.0725348; cell.m_v[np].m_y = (float)0.0301431; cell.m_v[np].m_z = (float)-0.142626; np++;
+    cell.m_p[np].m_x = (float)-0.0652421; cell.m_p[np].m_y = (float)-0.0801713; cell.m_p[np].m_z = (float)0.0276348; cell.m_hv[np].m_x = (float)0.0127008; cell.m_hv[np].m_y = (float)-0.00202113; cell.m_hv[np].m_z = (float)-0.164341; cell.m_v[np].m_x = (float)0.0139993; cell.m_v[np].m_y = (float)-0.000372696; cell.m_v[np].m_z = (float)-0.167331; np++;
+    cell.m_p[np].m_x = (float)-0.0585982; cell.m_p[np].m_y = (float)-0.0805394; cell.m_p[np].m_z = (float)0.0284908; cell.m_hv[np].m_x = (float)0.0806096; cell.m_hv[np].m_y = (float)-0.00432274; cell.m_hv[np].m_z = (float)-0.18957; cell.m_v[np].m_x = (float)0.0827614; cell.m_v[np].m_y = (float)-0.00195137; cell.m_v[np].m_z = (float)-0.191473; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 5; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0654629; cell.m_p[np].m_y = (float)-0.0792218; cell.m_p[np].m_z = (float)0.0324145; cell.m_hv[np].m_x = (float)0.0241219; cell.m_hv[np].m_y = (float)0.00604843; cell.m_hv[np].m_z = (float)-0.186178; cell.m_v[np].m_x = (float)0.0252131; cell.m_v[np].m_y = (float)0.00933149; cell.m_v[np].m_z = (float)-0.18606; np++;
+    cell.m_p[np].m_x = (float)-0.0651141; cell.m_p[np].m_y = (float)-0.0800257; cell.m_p[np].m_z = (float)0.0371522; cell.m_hv[np].m_x = (float)0.0372439; cell.m_hv[np].m_y = (float)-0.0234146; cell.m_hv[np].m_z = (float)-0.182201; cell.m_v[np].m_x = (float)0.0387691; cell.m_v[np].m_y = (float)-0.0226039; cell.m_v[np].m_z = (float)-0.181942; np++;
+    cell.m_p[np].m_x = (float)-0.0573538; cell.m_p[np].m_y = (float)-0.0782698; cell.m_p[np].m_z = (float)0.0366683; cell.m_hv[np].m_x = (float)0.0995953; cell.m_hv[np].m_y = (float)-0.0158723; cell.m_hv[np].m_z = (float)-0.165642; cell.m_v[np].m_x = (float)0.102652; cell.m_v[np].m_y = (float)-0.0131056; cell.m_v[np].m_z = (float)-0.167459; np++;
+    cell.m_p[np].m_x = (float)-0.0582697; cell.m_p[np].m_y = (float)-0.0806067; cell.m_p[np].m_z = (float)0.0332089; cell.m_hv[np].m_x = (float)0.0810523; cell.m_hv[np].m_y = (float)0.0181744; cell.m_hv[np].m_z = (float)-0.229685; cell.m_v[np].m_x = (float)0.0833531; cell.m_v[np].m_y = (float)0.0209167; cell.m_v[np].m_z = (float)-0.233344; np++;
+    cell.m_p[np].m_x = (float)-0.0648893; cell.m_p[np].m_y = (float)-0.0741777; cell.m_p[np].m_z = (float)0.0346547; cell.m_hv[np].m_x = (float)0.0217901; cell.m_hv[np].m_y = (float)-0.0464773; cell.m_hv[np].m_z = (float)-0.147607; cell.m_v[np].m_x = (float)0.023629; cell.m_v[np].m_y = (float)-0.0432836; cell.m_v[np].m_z = (float)-0.146393; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 11; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0590349; cell.m_p[np].m_y = (float)-0.0801634; cell.m_p[np].m_z = (float)0.0447414; cell.m_hv[np].m_x = (float)0.0893725; cell.m_hv[np].m_y = (float)0.0180407; cell.m_hv[np].m_z = (float)-0.180792; cell.m_v[np].m_x = (float)0.0899157; cell.m_v[np].m_y = (float)0.0217823; cell.m_v[np].m_z = (float)-0.180674; np++;
+    cell.m_p[np].m_x = (float)-0.0648443; cell.m_p[np].m_y = (float)-0.0804712; cell.m_p[np].m_z = (float)0.0402147; cell.m_hv[np].m_x = (float)0.0214673; cell.m_hv[np].m_y = (float)0.00982001; cell.m_hv[np].m_z = (float)-0.166268; cell.m_v[np].m_x = (float)0.0230112; cell.m_v[np].m_y = (float)0.0110684; cell.m_v[np].m_z = (float)-0.167041; np++;
+    cell.m_p[np].m_x = (float)-0.0594183; cell.m_p[np].m_y = (float)-0.075638; cell.m_p[np].m_z = (float)0.0419986; cell.m_hv[np].m_x = (float)0.0677659; cell.m_hv[np].m_y = (float)-0.0453063; cell.m_hv[np].m_z = (float)-0.182701; cell.m_v[np].m_x = (float)0.0698303; cell.m_v[np].m_y = (float)-0.0397135; cell.m_v[np].m_z = (float)-0.181908; np++;
+    cell.m_p[np].m_x = (float)-0.0582553; cell.m_p[np].m_y = (float)-0.0760747; cell.m_p[np].m_z = (float)0.046946; cell.m_hv[np].m_x = (float)0.0897874; cell.m_hv[np].m_y = (float)-0.0233076; cell.m_hv[np].m_z = (float)-0.16147; cell.m_v[np].m_x = (float)0.0920814; cell.m_v[np].m_y = (float)-0.0169759; cell.m_v[np].m_z = (float)-0.161336; np++;
+    cell.m_p[np].m_x = (float)-0.0646112; cell.m_p[np].m_y = (float)-0.0804039; cell.m_p[np].m_z = (float)0.0431108; cell.m_hv[np].m_x = (float)0.0472271; cell.m_hv[np].m_y = (float)0.0122912; cell.m_hv[np].m_z = (float)-0.173602; cell.m_v[np].m_x = (float)0.0463015; cell.m_v[np].m_y = (float)0.0135386; cell.m_v[np].m_z = (float)-0.175785; np++;
+    cell.m_p[np].m_x = (float)-0.0649927; cell.m_p[np].m_y = (float)-0.0790823; cell.m_p[np].m_z = (float)0.0454729; cell.m_hv[np].m_x = (float)0.0386673; cell.m_hv[np].m_y = (float)-0.0538661; cell.m_hv[np].m_z = (float)-0.212907; cell.m_v[np].m_x = (float)0.0406937; cell.m_v[np].m_y = (float)-0.0512025; cell.m_v[np].m_z = (float)-0.217097; np++;
+    cell.m_p[np].m_x = (float)-0.0600458; cell.m_p[np].m_y = (float)-0.0803625; cell.m_p[np].m_z = (float)0.0393837; cell.m_hv[np].m_x = (float)0.0938087; cell.m_hv[np].m_y = (float)0.0393846; cell.m_hv[np].m_z = (float)-0.165666; cell.m_v[np].m_x = (float)0.0950333; cell.m_v[np].m_y = (float)0.0420942; cell.m_v[np].m_z = (float)-0.168122; np++;
+    cell.m_p[np].m_x = (float)-0.0646028; cell.m_p[np].m_y = (float)-0.0747986; cell.m_p[np].m_z = (float)0.0429325; cell.m_hv[np].m_x = (float)0.038487; cell.m_hv[np].m_y = (float)-0.00705605; cell.m_hv[np].m_z = (float)-0.194806; cell.m_v[np].m_x = (float)0.0387785; cell.m_v[np].m_y = (float)-0.00313307; cell.m_v[np].m_z = (float)-0.197739; np++;
+    cell.m_p[np].m_x = (float)-0.0563654; cell.m_p[np].m_y = (float)-0.080241; cell.m_p[np].m_z = (float)0.0413571; cell.m_hv[np].m_x = (float)0.0815437; cell.m_hv[np].m_y = (float)-0.00645228; cell.m_hv[np].m_z = (float)-0.140346; cell.m_v[np].m_x = (float)0.0839231; cell.m_v[np].m_y = (float)-0.00544887; cell.m_v[np].m_z = (float)-0.142002; np++;
+    cell.m_p[np].m_x = (float)-0.0582896; cell.m_p[np].m_y = (float)-0.0718458; cell.m_p[np].m_z = (float)0.0462306; cell.m_hv[np].m_x = (float)0.0657574; cell.m_hv[np].m_y = (float)-0.0479292; cell.m_hv[np].m_z = (float)-0.13522; cell.m_v[np].m_x = (float)0.0661557; cell.m_v[np].m_y = (float)-0.0457035; cell.m_v[np].m_z = (float)-0.137528; np++;
+    cell.m_p[np].m_x = (float)-0.0649274; cell.m_p[np].m_y = (float)-0.0758341; cell.m_p[np].m_z = (float)0.0391638; cell.m_hv[np].m_x = (float)0.027314; cell.m_hv[np].m_y = (float)-0.00340622; cell.m_hv[np].m_z = (float)-0.229061; cell.m_v[np].m_x = (float)0.029206; cell.m_v[np].m_y = (float)-0.000388862; cell.m_v[np].m_z = (float)-0.229869; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 9; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0628496; cell.m_p[np].m_y = (float)-0.0721252; cell.m_p[np].m_z = (float)0.0493921; cell.m_hv[np].m_x = (float)0.102306; cell.m_hv[np].m_y = (float)-0.0816698; cell.m_hv[np].m_z = (float)-0.18834; cell.m_v[np].m_x = (float)0.10374; cell.m_v[np].m_y = (float)-0.0823296; cell.m_v[np].m_z = (float)-0.18998; np++;
+    cell.m_p[np].m_x = (float)-0.0580365; cell.m_p[np].m_y = (float)-0.0800876; cell.m_p[np].m_z = (float)0.0488958; cell.m_hv[np].m_x = (float)0.0844568; cell.m_hv[np].m_y = (float)0.00231682; cell.m_hv[np].m_z = (float)-0.150506; cell.m_v[np].m_x = (float)0.0858248; cell.m_v[np].m_y = (float)0.00693894; cell.m_v[np].m_z = (float)-0.152976; np++;
+    cell.m_p[np].m_x = (float)-0.0648468; cell.m_p[np].m_y = (float)-0.0752186; cell.m_p[np].m_z = (float)0.0479079; cell.m_hv[np].m_x = (float)0.00481377; cell.m_hv[np].m_y = (float)-0.0567697; cell.m_hv[np].m_z = (float)-0.213388; cell.m_v[np].m_x = (float)0.00411337; cell.m_v[np].m_y = (float)-0.0535066; cell.m_v[np].m_z = (float)-0.21466; np++;
+    cell.m_p[np].m_x = (float)-0.0639755; cell.m_p[np].m_y = (float)-0.0804903; cell.m_p[np].m_z = (float)0.0487044; cell.m_hv[np].m_x = (float)0.0800238; cell.m_hv[np].m_y = (float)0.0467886; cell.m_hv[np].m_z = (float)-0.116429; cell.m_v[np].m_x = (float)0.0794186; cell.m_v[np].m_y = (float)0.049437; cell.m_v[np].m_z = (float)-0.117212; np++;
+    cell.m_p[np].m_x = (float)-0.058771; cell.m_p[np].m_y = (float)-0.0747183; cell.m_p[np].m_z = (float)0.0506253; cell.m_hv[np].m_x = (float)0.105353; cell.m_hv[np].m_y = (float)-0.0528697; cell.m_hv[np].m_z = (float)-0.166434; cell.m_v[np].m_x = (float)0.106744; cell.m_v[np].m_y = (float)-0.0486089; cell.m_v[np].m_z = (float)-0.169373; np++;
+    cell.m_p[np].m_x = (float)-0.0648673; cell.m_p[np].m_y = (float)-0.0778997; cell.m_p[np].m_z = (float)0.0517557; cell.m_hv[np].m_x = (float)0.0281967; cell.m_hv[np].m_y = (float)-0.0618126; cell.m_hv[np].m_z = (float)-0.113797; cell.m_v[np].m_x = (float)0.0294947; cell.m_v[np].m_y = (float)-0.0584824; cell.m_v[np].m_z = (float)-0.1141; np++;
+    cell.m_p[np].m_x = (float)-0.0587047; cell.m_p[np].m_y = (float)-0.0799429; cell.m_p[np].m_z = (float)0.0519882; cell.m_hv[np].m_x = (float)0.101755; cell.m_hv[np].m_y = (float)-0.0076454; cell.m_hv[np].m_z = (float)-0.205458; cell.m_v[np].m_x = (float)0.103619; cell.m_v[np].m_y = (float)-0.00640104; cell.m_v[np].m_z = (float)-0.205329; np++;
+    cell.m_p[np].m_x = (float)-0.0643159; cell.m_p[np].m_y = (float)-0.0803149; cell.m_p[np].m_z = (float)0.0520864; cell.m_hv[np].m_x = (float)0.0756714; cell.m_hv[np].m_y = (float)0.0345995; cell.m_hv[np].m_z = (float)-0.138831; cell.m_v[np].m_x = (float)0.0746305; cell.m_v[np].m_y = (float)0.0370051; cell.m_v[np].m_z = (float)-0.139659; np++;
+    cell.m_p[np].m_x = (float)-0.0619532; cell.m_p[np].m_y = (float)-0.074439; cell.m_p[np].m_z = (float)0.0543017; cell.m_hv[np].m_x = (float)0.135874; cell.m_hv[np].m_y = (float)-0.0150408; cell.m_hv[np].m_z = (float)-0.173934; cell.m_v[np].m_x = (float)0.138177; cell.m_v[np].m_y = (float)-0.0106269; cell.m_v[np].m_z = (float)-0.176246; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 13; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0596225; cell.m_p[np].m_y = (float)-0.0761327; cell.m_p[np].m_z = (float)0.0640385; cell.m_hv[np].m_x = (float)0.081215; cell.m_hv[np].m_y = (float)0.00301901; cell.m_hv[np].m_z = (float)-0.0577936; cell.m_v[np].m_x = (float)0.0817785; cell.m_v[np].m_y = (float)0.010547; cell.m_v[np].m_z = (float)-0.0576623; np++;
+    cell.m_p[np].m_x = (float)-0.0585092; cell.m_p[np].m_y = (float)-0.0800566; cell.m_p[np].m_z = (float)0.0584197; cell.m_hv[np].m_x = (float)0.0912353; cell.m_hv[np].m_y = (float)0.0119944; cell.m_hv[np].m_z = (float)-0.113389; cell.m_v[np].m_x = (float)0.0928241; cell.m_v[np].m_y = (float)0.0158744; cell.m_v[np].m_z = (float)-0.11381; np++;
+    cell.m_p[np].m_x = (float)-0.0642724; cell.m_p[np].m_y = (float)-0.0736607; cell.m_p[np].m_z = (float)0.0582751; cell.m_hv[np].m_x = (float)0.106435; cell.m_hv[np].m_y = (float)-0.0879571; cell.m_hv[np].m_z = (float)-0.117182; cell.m_v[np].m_x = (float)0.103; cell.m_v[np].m_y = (float)-0.0873183; cell.m_v[np].m_z = (float)-0.117945; np++;
+    cell.m_p[np].m_x = (float)-0.061833; cell.m_p[np].m_y = (float)-0.080334; cell.m_p[np].m_z = (float)0.0573661; cell.m_hv[np].m_x = (float)0.0684081; cell.m_hv[np].m_y = (float)0.028995; cell.m_hv[np].m_z = (float)-0.135023; cell.m_v[np].m_x = (float)0.068387; cell.m_v[np].m_y = (float)0.0318161; cell.m_v[np].m_z = (float)-0.135586; np++;
+    cell.m_p[np].m_x = (float)-0.0589197; cell.m_p[np].m_y = (float)-0.080186; cell.m_p[np].m_z = (float)0.0647629; cell.m_hv[np].m_x = (float)0.113003; cell.m_hv[np].m_y = (float)0.0331592; cell.m_hv[np].m_z = (float)-0.046407; cell.m_v[np].m_x = (float)0.112976; cell.m_v[np].m_y = (float)0.0366034; cell.m_v[np].m_z = (float)-0.0449569; np++;
+    cell.m_p[np].m_x = (float)-0.0648192; cell.m_p[np].m_y = (float)-0.0802761; cell.m_p[np].m_z = (float)0.0647226; cell.m_hv[np].m_x = (float)0.063291; cell.m_hv[np].m_y = (float)0.0207957; cell.m_hv[np].m_z = (float)-0.0329892; cell.m_v[np].m_x = (float)0.0644875; cell.m_v[np].m_y = (float)0.0208937; cell.m_v[np].m_z = (float)-0.032529; np++;
+    cell.m_p[np].m_x = (float)-0.0651784; cell.m_p[np].m_y = (float)-0.0783256; cell.m_p[np].m_z = (float)0.0639619; cell.m_hv[np].m_x = (float)0.0417884; cell.m_hv[np].m_y = (float)-0.0444864; cell.m_hv[np].m_z = (float)-0.0677366; cell.m_v[np].m_x = (float)0.0435082; cell.m_v[np].m_y = (float)-0.0401896; cell.m_v[np].m_z = (float)-0.0671937; np++;
+    cell.m_p[np].m_x = (float)-0.0624704; cell.m_p[np].m_y = (float)-0.0805142; cell.m_p[np].m_z = (float)0.064658; cell.m_hv[np].m_x = (float)0.104052; cell.m_hv[np].m_y = (float)0.0494457; cell.m_hv[np].m_z = (float)-0.0193713; cell.m_v[np].m_x = (float)0.103477; cell.m_v[np].m_y = (float)0.0520131; cell.m_v[np].m_z = (float)-0.0193999; np++;
+    cell.m_p[np].m_x = (float)-0.0592592; cell.m_p[np].m_y = (float)-0.073026; cell.m_p[np].m_z = (float)0.0637961; cell.m_hv[np].m_x = (float)0.0495803; cell.m_hv[np].m_y = (float)-0.110891; cell.m_hv[np].m_z = (float)-0.0755689; cell.m_v[np].m_x = (float)0.0493783; cell.m_v[np].m_y = (float)-0.106367; cell.m_v[np].m_z = (float)-0.0761443; np++;
+    cell.m_p[np].m_x = (float)-0.0647544; cell.m_p[np].m_y = (float)-0.0726801; cell.m_p[np].m_z = (float)0.0645188; cell.m_hv[np].m_x = (float)0.0171458; cell.m_hv[np].m_y = (float)-0.10827; cell.m_hv[np].m_z = (float)-0.0584829; cell.m_v[np].m_x = (float)0.0148495; cell.m_v[np].m_y = (float)-0.102711; cell.m_v[np].m_z = (float)-0.0562228; np++;
+    cell.m_p[np].m_x = (float)-0.0649178; cell.m_p[np].m_y = (float)-0.077815; cell.m_p[np].m_z = (float)0.0576026; cell.m_hv[np].m_x = (float)0.0226588; cell.m_hv[np].m_y = (float)-0.0929629; cell.m_hv[np].m_z = (float)-0.075056; cell.m_v[np].m_x = (float)0.0228005; cell.m_v[np].m_y = (float)-0.0907165; cell.m_v[np].m_z = (float)-0.0744654; np++;
+    cell.m_p[np].m_x = (float)-0.0647249; cell.m_p[np].m_y = (float)-0.0746591; cell.m_p[np].m_z = (float)0.0646425; cell.m_hv[np].m_x = (float)0.0190381; cell.m_hv[np].m_y = (float)0.014252; cell.m_hv[np].m_z = (float)-0.0364007; cell.m_v[np].m_x = (float)0.0195039; cell.m_v[np].m_y = (float)0.0173337; cell.m_v[np].m_z = (float)-0.0364437; np++;
+    cell.m_p[np].m_x = (float)-0.0646558; cell.m_p[np].m_y = (float)-0.0801258; cell.m_p[np].m_z = (float)0.0575223; cell.m_hv[np].m_x = (float)0.0775233; cell.m_hv[np].m_y = (float)0.0225218; cell.m_hv[np].m_z = (float)-0.13907; cell.m_v[np].m_x = (float)0.0758503; cell.m_v[np].m_y = (float)0.0236015; cell.m_v[np].m_z = (float)-0.138972; np++;
+    k++;j++;k = 0;k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 2; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0634635; cell.m_p[np].m_y = (float)-0.0683607; cell.m_p[np].m_z = (float)-0.0417802; cell.m_hv[np].m_x = (float)0.0772648; cell.m_hv[np].m_y = (float)-0.0259045; cell.m_hv[np].m_z = (float)0.214701; cell.m_v[np].m_x = (float)0.0771237; cell.m_v[np].m_y = (float)-0.0192548; cell.m_v[np].m_z = (float)0.215115; np++;
+    cell.m_p[np].m_x = (float)-0.0634087; cell.m_p[np].m_y = (float)-0.069539; cell.m_p[np].m_z = (float)-0.0421542; cell.m_hv[np].m_x = (float)0.0720101; cell.m_hv[np].m_y = (float)-0.00206391; cell.m_hv[np].m_z = (float)0.188231; cell.m_v[np].m_x = (float)0.0720708; cell.m_v[np].m_y = (float)-0.000980968; cell.m_v[np].m_z = (float)0.189984; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 3; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0611719; cell.m_p[np].m_y = (float)-0.0637697; cell.m_p[np].m_z = (float)-0.031174; cell.m_hv[np].m_x = (float)0.0600395; cell.m_hv[np].m_y = (float)-0.0459434; cell.m_hv[np].m_z = (float)0.19263; cell.m_v[np].m_x = (float)0.0636784; cell.m_v[np].m_y = (float)-0.0433304; cell.m_v[np].m_z = (float)0.19317; np++;
+    cell.m_p[np].m_x = (float)-0.0584763; cell.m_p[np].m_y = (float)-0.0654914; cell.m_p[np].m_z = (float)-0.0328905; cell.m_hv[np].m_x = (float)0.0960151; cell.m_hv[np].m_y = (float)-0.0861841; cell.m_hv[np].m_z = (float)0.217483; cell.m_v[np].m_x = (float)0.0980167; cell.m_v[np].m_y = (float)-0.0846352; cell.m_v[np].m_z = (float)0.218431; np++;
+    cell.m_p[np].m_x = (float)-0.0617216; cell.m_p[np].m_y = (float)-0.0680507; cell.m_p[np].m_z = (float)-0.0367531; cell.m_hv[np].m_x = (float)0.0466949; cell.m_hv[np].m_y = (float)-0.037753; cell.m_hv[np].m_z = (float)0.18434; cell.m_v[np].m_x = (float)0.0469607; cell.m_v[np].m_y = (float)-0.0358021; cell.m_v[np].m_z = (float)0.184823; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 4; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0575681; cell.m_p[np].m_y = (float)-0.070064; cell.m_p[np].m_z = (float)-0.0234046; cell.m_hv[np].m_x = (float)0.0248348; cell.m_hv[np].m_y = (float)-0.0121936; cell.m_hv[np].m_z = (float)0.140515; cell.m_v[np].m_x = (float)0.0219499; cell.m_v[np].m_y = (float)-0.00791072; cell.m_v[np].m_z = (float)0.143096; np++;
+    cell.m_p[np].m_x = (float)-0.0631813; cell.m_p[np].m_y = (float)-0.0683498; cell.m_p[np].m_z = (float)-0.0221777; cell.m_hv[np].m_x = (float)0.0521045; cell.m_hv[np].m_y = (float)-0.0104578; cell.m_hv[np].m_z = (float)0.188813; cell.m_v[np].m_x = (float)0.0530321; cell.m_v[np].m_y = (float)-0.00829466; cell.m_v[np].m_z = (float)0.191272; np++;
+    cell.m_p[np].m_x = (float)-0.0582593; cell.m_p[np].m_y = (float)-0.0656671; cell.m_p[np].m_z = (float)-0.0262133; cell.m_hv[np].m_x = (float)0.0280902; cell.m_hv[np].m_y = (float)-0.0136477; cell.m_hv[np].m_z = (float)0.14353; cell.m_v[np].m_x = (float)0.0259368; cell.m_v[np].m_y = (float)-0.00484221; cell.m_v[np].m_z = (float)0.141824; np++;
+    cell.m_p[np].m_x = (float)-0.056943; cell.m_p[np].m_y = (float)-0.0636027; cell.m_p[np].m_z = (float)-0.0235607; cell.m_hv[np].m_x = (float)0.0314566; cell.m_hv[np].m_y = (float)-0.119603; cell.m_hv[np].m_z = (float)0.110573; cell.m_v[np].m_x = (float)0.0308768; cell.m_v[np].m_y = (float)-0.116616; cell.m_v[np].m_z = (float)0.111174; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 5; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0648987; cell.m_p[np].m_y = (float)-0.0674518; cell.m_p[np].m_z = (float)-0.0187442; cell.m_hv[np].m_x = (float)-0.00354085; cell.m_hv[np].m_y = (float)-0.0097328; cell.m_hv[np].m_z = (float)0.184538; cell.m_v[np].m_x = (float)-0.00340682; cell.m_v[np].m_y = (float)-0.00636239; cell.m_v[np].m_z = (float)0.187022; np++;
+    cell.m_p[np].m_x = (float)-0.0566483; cell.m_p[np].m_y = (float)-0.0637117; cell.m_p[np].m_z = (float)-0.0144206; cell.m_hv[np].m_x = (float)-0.0253145; cell.m_hv[np].m_y = (float)0.0808271; cell.m_hv[np].m_z = (float)0.126245; cell.m_v[np].m_x = (float)-0.0222602; cell.m_v[np].m_y = (float)0.080783; cell.m_v[np].m_z = (float)0.125285; np++;
+    cell.m_p[np].m_x = (float)-0.0574945; cell.m_p[np].m_y = (float)-0.0684838; cell.m_p[np].m_z = (float)-0.0175351; cell.m_hv[np].m_x = (float)0.0208461; cell.m_hv[np].m_y = (float)0.0322039; cell.m_hv[np].m_z = (float)0.0727783; cell.m_v[np].m_x = (float)0.0223884; cell.m_v[np].m_y = (float)0.034064; cell.m_v[np].m_z = (float)0.0775522; np++;
+    cell.m_p[np].m_x = (float)-0.0647574; cell.m_p[np].m_y = (float)-0.0688357; cell.m_p[np].m_z = (float)-0.0158106; cell.m_hv[np].m_x = (float)-0.00353943; cell.m_hv[np].m_y = (float)-0.0150539; cell.m_hv[np].m_z = (float)0.192163; cell.m_v[np].m_x = (float)-0.00233603; cell.m_v[np].m_y = (float)-0.0109351; cell.m_v[np].m_z = (float)0.195143; np++;
+    cell.m_p[np].m_x = (float)-0.0597727; cell.m_p[np].m_y = (float)-0.0652181; cell.m_p[np].m_z = (float)-0.0181531; cell.m_hv[np].m_x = (float)0.0161072; cell.m_hv[np].m_y = (float)-0.0484469; cell.m_hv[np].m_z = (float)0.153528; cell.m_v[np].m_x = (float)0.0181395; cell.m_v[np].m_y = (float)-0.0452995; cell.m_v[np].m_z = (float)0.154935; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 3; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0602004; cell.m_p[np].m_y = (float)-0.0665552; cell.m_p[np].m_z = (float)-0.0116594; cell.m_hv[np].m_x = (float)-0.0190026; cell.m_hv[np].m_y = (float)-0.0446075; cell.m_hv[np].m_z = (float)0.132932; cell.m_v[np].m_x = (float)-0.0169542; cell.m_v[np].m_y = (float)-0.0441294; cell.m_v[np].m_z = (float)0.137705; np++;
+    cell.m_p[np].m_x = (float)-0.065142; cell.m_p[np].m_y = (float)-0.0642298; cell.m_p[np].m_z = (float)-0.0117429; cell.m_hv[np].m_x = (float)-0.00501432; cell.m_hv[np].m_y = (float)-0.0597264; cell.m_hv[np].m_z = (float)0.161994; cell.m_v[np].m_x = (float)-0.00337011; cell.m_v[np].m_y = (float)-0.0526437; cell.m_v[np].m_z = (float)0.166523; np++;
+    cell.m_p[np].m_x = (float)-0.0654349; cell.m_p[np].m_y = (float)-0.0708405; cell.m_p[np].m_z = (float)-0.00921507; cell.m_hv[np].m_x = (float)0.0169071; cell.m_hv[np].m_y = (float)0.0393439; cell.m_hv[np].m_z = (float)0.0314146; cell.m_v[np].m_x = (float)0.0169152; cell.m_v[np].m_y = (float)0.0451036; cell.m_v[np].m_z = (float)0.0334594; np++;
+    k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 3; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0654072; cell.m_p[np].m_y = (float)-0.0646471; cell.m_p[np].m_z = (float)0.00565136; cell.m_hv[np].m_x = (float)-0.0841778; cell.m_hv[np].m_y = (float)0.0711823; cell.m_hv[np].m_z = (float)-0.221369; cell.m_v[np].m_x = (float)-0.0822859; cell.m_v[np].m_y = (float)0.0694218; cell.m_v[np].m_z = (float)-0.225291; np++;
+    cell.m_p[np].m_x = (float)-0.0590582; cell.m_p[np].m_y = (float)-0.0635828; cell.m_p[np].m_z = (float)0.0049789; cell.m_hv[np].m_x = (float)-0.166142; cell.m_hv[np].m_y = (float)0.107248; cell.m_hv[np].m_z = (float)-0.0799767; cell.m_v[np].m_x = (float)-0.179645; cell.m_v[np].m_y = (float)0.108524; cell.m_v[np].m_z = (float)-0.082023; np++;
+    cell.m_p[np].m_x = (float)-0.060236; cell.m_p[np].m_y = (float)-0.0667764; cell.m_p[np].m_z = (float)0.0098097; cell.m_hv[np].m_x = (float)-0.0399386; cell.m_hv[np].m_y = (float)-0.0109431; cell.m_hv[np].m_z = (float)-0.0695798; cell.m_v[np].m_x = (float)-0.0407706; cell.m_v[np].m_y = (float)-0.0119233; cell.m_v[np].m_z = (float)-0.0739425; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 3; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.058699; cell.m_p[np].m_y = (float)-0.066926; cell.m_p[np].m_z = (float)0.0211504; cell.m_hv[np].m_x = (float)0.0446744; cell.m_hv[np].m_y = (float)-0.0219303; cell.m_hv[np].m_z = (float)-0.104; cell.m_v[np].m_x = (float)0.0454053; cell.m_v[np].m_y = (float)-0.0263661; cell.m_v[np].m_z = (float)-0.102139; np++;
+    cell.m_p[np].m_x = (float)-0.0612323; cell.m_p[np].m_y = (float)-0.0702117; cell.m_p[np].m_z = (float)0.0176646; cell.m_hv[np].m_x = (float)0.0648204; cell.m_hv[np].m_y = (float)0.0166728; cell.m_hv[np].m_z = (float)-0.157676; cell.m_v[np].m_x = (float)0.0641004; cell.m_v[np].m_y = (float)0.0196892; cell.m_v[np].m_z = (float)-0.15608; np++;
+    cell.m_p[np].m_x = (float)-0.0616117; cell.m_p[np].m_y = (float)-0.0644225; cell.m_p[np].m_z = (float)0.0171865; cell.m_hv[np].m_x = (float)0.0222717; cell.m_hv[np].m_y = (float)0.0141333; cell.m_hv[np].m_z = (float)-0.122464; cell.m_v[np].m_x = (float)0.0228257; cell.m_v[np].m_y = (float)0.0144405; cell.m_v[np].m_z = (float)-0.122833; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 2; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0575561; cell.m_p[np].m_y = (float)-0.071211; cell.m_p[np].m_z = (float)0.0234088; cell.m_hv[np].m_x = (float)0.0312208; cell.m_hv[np].m_y = (float)0.0611951; cell.m_hv[np].m_z = (float)-0.0776227; cell.m_v[np].m_x = (float)0.0350715; cell.m_v[np].m_y = (float)0.065679; cell.m_v[np].m_z = (float)-0.0812735; np++;
+    cell.m_p[np].m_x = (float)-0.0645601; cell.m_p[np].m_y = (float)-0.0678177; cell.m_p[np].m_z = (float)0.0259857; cell.m_hv[np].m_x = (float)0.0351078; cell.m_hv[np].m_y = (float)-0.0391655; cell.m_hv[np].m_z = (float)-0.184622; cell.m_v[np].m_x = (float)0.0346431; cell.m_v[np].m_y = (float)-0.0379884; cell.m_v[np].m_z = (float)-0.187898; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 6; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0646382; cell.m_p[np].m_y = (float)-0.070735; cell.m_p[np].m_z = (float)0.0360472; cell.m_hv[np].m_x = (float)0.024815; cell.m_hv[np].m_y = (float)-0.0115486; cell.m_hv[np].m_z = (float)-0.239277; cell.m_v[np].m_x = (float)0.0245682; cell.m_v[np].m_y = (float)-0.00880233; cell.m_v[np].m_z = (float)-0.239809; np++;
+    cell.m_p[np].m_x = (float)-0.0619353; cell.m_p[np].m_y = (float)-0.0644884; cell.m_p[np].m_z = (float)0.0335857; cell.m_hv[np].m_x = (float)0.104122; cell.m_hv[np].m_y = (float)-0.08564; cell.m_hv[np].m_z = (float)-0.112007; cell.m_v[np].m_x = (float)0.104731; cell.m_v[np].m_y = (float)-0.0824501; cell.m_v[np].m_z = (float)-0.114804; np++;
+    cell.m_p[np].m_x = (float)-0.0572903; cell.m_p[np].m_y = (float)-0.0688098; cell.m_p[np].m_z = (float)0.0376556; cell.m_hv[np].m_x = (float)0.0317928; cell.m_hv[np].m_y = (float)-0.091816; cell.m_hv[np].m_z = (float)-0.172438; cell.m_v[np].m_x = (float)0.0333348; cell.m_v[np].m_y = (float)-0.0879756; cell.m_v[np].m_z = (float)-0.172508; np++;
+    cell.m_p[np].m_x = (float)-0.0573074; cell.m_p[np].m_y = (float)-0.0669182; cell.m_p[np].m_z = (float)0.0375274; cell.m_hv[np].m_x = (float)0.0149742; cell.m_hv[np].m_y = (float)-0.138908; cell.m_hv[np].m_z = (float)-0.320125; cell.m_v[np].m_x = (float)0.0154135; cell.m_v[np].m_y = (float)-0.140219; cell.m_v[np].m_z = (float)-0.321845; np++;
+    cell.m_p[np].m_x = (float)-0.0580541; cell.m_p[np].m_y = (float)-0.0666392; cell.m_p[np].m_z = (float)0.0344315; cell.m_hv[np].m_x = (float)0.0517552; cell.m_hv[np].m_y = (float)-0.0558796; cell.m_hv[np].m_z = (float)-0.233013; cell.m_v[np].m_x = (float)0.0493791; cell.m_v[np].m_y = (float)-0.0521279; cell.m_v[np].m_z = (float)-0.233261; np++;
+    cell.m_p[np].m_x = (float)-0.0621906; cell.m_p[np].m_y = (float)-0.0640704; cell.m_p[np].m_z = (float)0.0320027; cell.m_hv[np].m_x = (float)0.0659228; cell.m_hv[np].m_y = (float)-0.0492868; cell.m_hv[np].m_z = (float)-0.292236; cell.m_v[np].m_x = (float)0.0673077; cell.m_v[np].m_y = (float)-0.0463407; cell.m_v[np].m_z = (float)-0.287941; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 3; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0641467; cell.m_p[np].m_y = (float)-0.0704726; cell.m_p[np].m_z = (float)0.0449516; cell.m_hv[np].m_x = (float)0.0629975; cell.m_hv[np].m_y = (float)-0.0279036; cell.m_hv[np].m_z = (float)-0.215931; cell.m_v[np].m_x = (float)0.0631422; cell.m_v[np].m_y = (float)-0.0231335; cell.m_v[np].m_z = (float)-0.216851; np++;
+    cell.m_p[np].m_x = (float)-0.0648488; cell.m_p[np].m_y = (float)-0.0711658; cell.m_p[np].m_z = (float)0.0404665; cell.m_hv[np].m_x = (float)0.00557431; cell.m_hv[np].m_y = (float)-0.0363691; cell.m_hv[np].m_z = (float)-0.176749; cell.m_v[np].m_x = (float)0.00616192; cell.m_v[np].m_y = (float)-0.033795; cell.m_v[np].m_z = (float)-0.177096; np++;
+    cell.m_p[np].m_x = (float)-0.0614935; cell.m_p[np].m_y = (float)-0.0688245; cell.m_p[np].m_z = (float)0.0434049; cell.m_hv[np].m_x = (float)0.0424161; cell.m_hv[np].m_y = (float)-0.0997934; cell.m_hv[np].m_z = (float)-0.191074; cell.m_v[np].m_x = (float)0.0443249; cell.m_v[np].m_y = (float)-0.0988157; cell.m_v[np].m_z = (float)-0.192159; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0628002; cell.m_p[np].m_y = (float)-0.0713218; cell.m_p[np].m_z = (float)0.0506802; cell.m_hv[np].m_x = (float)0.123644; cell.m_hv[np].m_y = (float)-0.056808; cell.m_hv[np].m_z = (float)-0.135533; cell.m_v[np].m_x = (float)0.12336; cell.m_v[np].m_y = (float)-0.0496006; cell.m_v[np].m_z = (float)-0.134573; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 2; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0623797; cell.m_p[np].m_y = (float)-0.0696823; cell.m_p[np].m_z = (float)0.0614565; cell.m_hv[np].m_x = (float)-0.00449243; cell.m_hv[np].m_y = (float)-0.126021; cell.m_hv[np].m_z = (float)-0.184737; cell.m_v[np].m_x = (float)-0.00118624; cell.m_v[np].m_y = (float)-0.121909; cell.m_v[np].m_z = (float)-0.181958; np++;
+    cell.m_p[np].m_x = (float)-0.0610256; cell.m_p[np].m_y = (float)-0.0704784; cell.m_p[np].m_z = (float)0.0627739; cell.m_hv[np].m_x = (float)0.155039; cell.m_hv[np].m_y = (float)-0.19191; cell.m_hv[np].m_z = (float)-0.0117665; cell.m_v[np].m_x = (float)0.153605; cell.m_v[np].m_y = (float)-0.1908; cell.m_v[np].m_z = (float)-0.0128465; np++;
+    k++;j++;k = 0;k++;k++;k++;k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0646224; cell.m_p[np].m_y = (float)-0.0602489; cell.m_p[np].m_z = (float)-0.0188391; cell.m_hv[np].m_x = (float)0.047048; cell.m_hv[np].m_y = (float)0.0443122; cell.m_hv[np].m_z = (float)0.226037; cell.m_v[np].m_x = (float)0.0465632; cell.m_v[np].m_y = (float)0.0508899; cell.m_v[np].m_z = (float)0.228031; np++;
+    k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;i++;j = 0;k = 0;
+    cell = cells[i][j][k]; cell.m_numPars = 8; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0496945; cell.m_p[np].m_y = (float)-0.080391; cell.m_p[np].m_z = (float)-0.0600657; cell.m_hv[np].m_x = (float)0.201472; cell.m_hv[np].m_y = (float)0.0576453; cell.m_hv[np].m_z = (float)0.108509; cell.m_v[np].m_x = (float)0.201858; cell.m_v[np].m_y = (float)0.0593154; cell.m_v[np].m_z = (float)0.109115; np++;
+    cell.m_p[np].m_x = (float)-0.0559298; cell.m_p[np].m_y = (float)-0.0799011; cell.m_p[np].m_z = (float)-0.0649231; cell.m_hv[np].m_x = (float)0.218408; cell.m_hv[np].m_y = (float)0.00884219; cell.m_hv[np].m_z = (float)0.0298024; cell.m_v[np].m_x = (float)0.219029; cell.m_v[np].m_y = (float)0.0100133; cell.m_v[np].m_z = (float)0.029261; np++;
+    cell.m_p[np].m_x = (float)-0.0484325; cell.m_p[np].m_y = (float)-0.0800858; cell.m_p[np].m_z = (float)-0.0649088; cell.m_hv[np].m_x = (float)0.240141; cell.m_hv[np].m_y = (float)-0.0203339; cell.m_hv[np].m_z = (float)0.0406758; cell.m_v[np].m_x = (float)0.240791; cell.m_v[np].m_y = (float)-0.0213956; cell.m_v[np].m_z = (float)0.0418924; np++;
+    cell.m_p[np].m_x = (float)-0.0517476; cell.m_p[np].m_y = (float)-0.076077; cell.m_p[np].m_z = (float)-0.0636239; cell.m_hv[np].m_x = (float)0.204693; cell.m_hv[np].m_y = (float)-0.0246282; cell.m_hv[np].m_z = (float)0.0642175; cell.m_v[np].m_x = (float)0.206667; cell.m_v[np].m_y = (float)-0.0236843; cell.m_v[np].m_z = (float)0.0656526; np++;
+    cell.m_p[np].m_x = (float)-0.055153; cell.m_p[np].m_y = (float)-0.0765409; cell.m_p[np].m_z = (float)-0.0643294; cell.m_hv[np].m_x = (float)0.20006; cell.m_hv[np].m_y = (float)-0.0343023; cell.m_hv[np].m_z = (float)0.0848291; cell.m_v[np].m_x = (float)0.202032; cell.m_v[np].m_y = (float)-0.0271161; cell.m_v[np].m_z = (float)0.0832708; np++;
+    cell.m_p[np].m_x = (float)-0.0491928; cell.m_p[np].m_y = (float)-0.0754955; cell.m_p[np].m_z = (float)-0.0609658; cell.m_hv[np].m_x = (float)0.263379; cell.m_hv[np].m_y = (float)-0.0680653; cell.m_hv[np].m_z = (float)0.106904; cell.m_v[np].m_x = (float)0.264172; cell.m_v[np].m_y = (float)-0.0680815; cell.m_v[np].m_z = (float)0.105311; np++;
+    cell.m_p[np].m_x = (float)-0.0537238; cell.m_p[np].m_y = (float)-0.0776944; cell.m_p[np].m_z = (float)-0.057747; cell.m_hv[np].m_x = (float)0.199375; cell.m_hv[np].m_y = (float)-0.0139725; cell.m_hv[np].m_z = (float)0.139825; cell.m_v[np].m_x = (float)0.200645; cell.m_v[np].m_y = (float)-0.00813493; cell.m_v[np].m_z = (float)0.139082; np++;
+    cell.m_p[np].m_x = (float)-0.051869; cell.m_p[np].m_y = (float)-0.0802329; cell.m_p[np].m_z = (float)-0.0645958; cell.m_hv[np].m_x = (float)0.23258; cell.m_hv[np].m_y = (float)0.0256405; cell.m_hv[np].m_z = (float)0.0505589; cell.m_v[np].m_x = (float)0.234033; cell.m_v[np].m_y = (float)0.0294542; cell.m_v[np].m_z = (float)0.0504442; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 5; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0549383; cell.m_p[np].m_y = (float)-0.0751903; cell.m_p[np].m_z = (float)-0.0521249; cell.m_hv[np].m_x = (float)0.155624; cell.m_hv[np].m_y = (float)-0.0155396; cell.m_hv[np].m_z = (float)0.191286; cell.m_v[np].m_x = (float)0.155946; cell.m_v[np].m_y = (float)-0.0116683; cell.m_v[np].m_z = (float)0.193086; np++;
+    cell.m_p[np].m_x = (float)-0.0553453; cell.m_p[np].m_y = (float)-0.0802168; cell.m_p[np].m_z = (float)-0.0521541; cell.m_hv[np].m_x = (float)0.182552; cell.m_hv[np].m_y = (float)0.0334697; cell.m_hv[np].m_z = (float)0.149751; cell.m_v[np].m_x = (float)0.183052; cell.m_v[np].m_y = (float)0.0372132; cell.m_v[np].m_z = (float)0.150139; np++;
+    cell.m_p[np].m_x = (float)-0.0556577; cell.m_p[np].m_y = (float)-0.0732237; cell.m_p[np].m_z = (float)-0.0477283; cell.m_hv[np].m_x = (float)0.107837; cell.m_hv[np].m_y = (float)-0.0361624; cell.m_hv[np].m_z = (float)0.168627; cell.m_v[np].m_x = (float)0.108089; cell.m_v[np].m_y = (float)-0.0323404; cell.m_v[np].m_z = (float)0.169431; np++;
+    cell.m_p[np].m_x = (float)-0.0479492; cell.m_p[np].m_y = (float)-0.0802374; cell.m_p[np].m_z = (float)-0.0507791; cell.m_hv[np].m_x = (float)0.178181; cell.m_hv[np].m_y = (float)0.0280014; cell.m_hv[np].m_z = (float)0.167463; cell.m_v[np].m_x = (float)0.18016; cell.m_v[np].m_y = (float)0.0312123; cell.m_v[np].m_z = (float)0.168839; np++;
+    cell.m_p[np].m_x = (float)-0.0509298; cell.m_p[np].m_y = (float)-0.0799867; cell.m_p[np].m_z = (float)-0.0522072; cell.m_hv[np].m_x = (float)0.151711; cell.m_hv[np].m_y = (float)-0.00268813; cell.m_hv[np].m_z = (float)0.190272; cell.m_v[np].m_x = (float)0.151091; cell.m_v[np].m_y = (float)-0.00124384; cell.m_v[np].m_z = (float)0.191137; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 8; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0535796; cell.m_p[np].m_y = (float)-0.0739729; cell.m_p[np].m_z = (float)-0.0429046; cell.m_hv[np].m_x = (float)0.127263; cell.m_hv[np].m_y = (float)-0.0330195; cell.m_hv[np].m_z = (float)0.157118; cell.m_v[np].m_x = (float)0.128108; cell.m_v[np].m_y = (float)-0.0286955; cell.m_v[np].m_z = (float)0.159189; np++;
+    cell.m_p[np].m_x = (float)-0.0480074; cell.m_p[np].m_y = (float)-0.0751474; cell.m_p[np].m_z = (float)-0.0427128; cell.m_hv[np].m_x = (float)0.131318; cell.m_hv[np].m_y = (float)-0.0477628; cell.m_hv[np].m_z = (float)0.164815; cell.m_v[np].m_x = (float)0.132763; cell.m_v[np].m_y = (float)-0.0428549; cell.m_v[np].m_z = (float)0.166544; np++;
+    cell.m_p[np].m_x = (float)-0.0518843; cell.m_p[np].m_y = (float)-0.0764044; cell.m_p[np].m_z = (float)-0.046836; cell.m_hv[np].m_x = (float)0.14438; cell.m_hv[np].m_y = (float)-0.0260184; cell.m_hv[np].m_z = (float)0.17314; cell.m_v[np].m_x = (float)0.145722; cell.m_v[np].m_y = (float)-0.0219442; cell.m_v[np].m_z = (float)0.174396; np++;
+    cell.m_p[np].m_x = (float)-0.0482555; cell.m_p[np].m_y = (float)-0.0802765; cell.m_p[np].m_z = (float)-0.0465855; cell.m_hv[np].m_x = (float)0.164244; cell.m_hv[np].m_y = (float)0.0109597; cell.m_hv[np].m_z = (float)0.164891; cell.m_v[np].m_x = (float)0.165202; cell.m_v[np].m_y = (float)0.0131323; cell.m_v[np].m_z = (float)0.166727; np++;
+    cell.m_p[np].m_x = (float)-0.0561739; cell.m_p[np].m_y = (float)-0.0802993; cell.m_p[np].m_z = (float)-0.0420959; cell.m_hv[np].m_x = (float)0.141227; cell.m_hv[np].m_y = (float)0.00136281; cell.m_hv[np].m_z = (float)0.142094; cell.m_v[np].m_x = (float)0.140613; cell.m_v[np].m_y = (float)0.00364291; cell.m_v[np].m_z = (float)0.145241; np++;
+    cell.m_p[np].m_x = (float)-0.0561781; cell.m_p[np].m_y = (float)-0.0802572; cell.m_p[np].m_z = (float)-0.0472001; cell.m_hv[np].m_x = (float)0.153106; cell.m_hv[np].m_y = (float)0.00831074; cell.m_hv[np].m_z = (float)0.235691; cell.m_v[np].m_x = (float)0.154107; cell.m_v[np].m_y = (float)0.00899118; cell.m_v[np].m_z = (float)0.236557; np++;
+    cell.m_p[np].m_x = (float)-0.052769; cell.m_p[np].m_y = (float)-0.0802278; cell.m_p[np].m_z = (float)-0.0465774; cell.m_hv[np].m_x = (float)0.12327; cell.m_hv[np].m_y = (float)0.0160245; cell.m_hv[np].m_z = (float)0.172743; cell.m_v[np].m_x = (float)0.123924; cell.m_v[np].m_y = (float)0.0189156; cell.m_v[np].m_z = (float)0.173795; np++;
+    cell.m_p[np].m_x = (float)-0.0507082; cell.m_p[np].m_y = (float)-0.0802073; cell.m_p[np].m_z = (float)-0.0420632; cell.m_hv[np].m_x = (float)0.168714; cell.m_hv[np].m_y = (float)-0.00495955; cell.m_hv[np].m_z = (float)0.160802; cell.m_v[np].m_x = (float)0.170605; cell.m_v[np].m_y = (float)-0.00226357; cell.m_v[np].m_z = (float)0.163502; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 8; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0487936; cell.m_p[np].m_y = (float)-0.0765454; cell.m_p[np].m_z = (float)-0.0310493; cell.m_hv[np].m_x = (float)0.18177; cell.m_hv[np].m_y = (float)-0.0527158; cell.m_hv[np].m_z = (float)0.119612; cell.m_v[np].m_x = (float)0.18385; cell.m_v[np].m_y = (float)-0.0484901; cell.m_v[np].m_z = (float)0.118985; np++;
+    cell.m_p[np].m_x = (float)-0.0513798; cell.m_p[np].m_y = (float)-0.080322; cell.m_p[np].m_z = (float)-0.0355467; cell.m_hv[np].m_x = (float)0.18048; cell.m_hv[np].m_y = (float)-0.0337384; cell.m_hv[np].m_z = (float)0.15443; cell.m_v[np].m_x = (float)0.182024; cell.m_v[np].m_y = (float)-0.0323219; cell.m_v[np].m_z = (float)0.15648; np++;
+    cell.m_p[np].m_x = (float)-0.0514664; cell.m_p[np].m_y = (float)-0.0741339; cell.m_p[np].m_z = (float)-0.0307313; cell.m_hv[np].m_x = (float)0.144678; cell.m_hv[np].m_y = (float)-0.0396069; cell.m_hv[np].m_z = (float)0.133495; cell.m_v[np].m_x = (float)0.151947; cell.m_v[np].m_y = (float)-0.0402783; cell.m_v[np].m_z = (float)0.131119; np++;
+    cell.m_p[np].m_x = (float)-0.0509791; cell.m_p[np].m_y = (float)-0.0723765; cell.m_p[np].m_z = (float)-0.0362282; cell.m_hv[np].m_x = (float)0.131698; cell.m_hv[np].m_y = (float)-0.0643996; cell.m_hv[np].m_z = (float)0.0962381; cell.m_v[np].m_x = (float)0.132712; cell.m_v[np].m_y = (float)-0.0576439; cell.m_v[np].m_z = (float)0.102934; np++;
+    cell.m_p[np].m_x = (float)-0.0480718; cell.m_p[np].m_y = (float)-0.0804089; cell.m_p[np].m_z = (float)-0.0375109; cell.m_hv[np].m_x = (float)0.169107; cell.m_hv[np].m_y = (float)-0.0165987; cell.m_hv[np].m_z = (float)0.132986; cell.m_v[np].m_x = (float)0.168493; cell.m_v[np].m_y = (float)-0.0138979; cell.m_v[np].m_z = (float)0.137317; np++;
+    cell.m_p[np].m_x = (float)-0.0497828; cell.m_p[np].m_y = (float)-0.0808081; cell.m_p[np].m_z = (float)-0.0310953; cell.m_hv[np].m_x = (float)0.190586; cell.m_hv[np].m_y = (float)-0.024809; cell.m_hv[np].m_z = (float)0.0993436; cell.m_v[np].m_x = (float)0.192054; cell.m_v[np].m_y = (float)-0.0237301; cell.m_v[np].m_z = (float)0.0985531; np++;
+    cell.m_p[np].m_x = (float)-0.0492579; cell.m_p[np].m_y = (float)-0.0758312; cell.m_p[np].m_z = (float)-0.0356154; cell.m_hv[np].m_x = (float)0.140653; cell.m_hv[np].m_y = (float)-0.114454; cell.m_hv[np].m_z = (float)0.0881193; cell.m_v[np].m_x = (float)0.142373; cell.m_v[np].m_y = (float)-0.110937; cell.m_v[np].m_z = (float)0.0913144; np++;
+    cell.m_p[np].m_x = (float)-0.0558487; cell.m_p[np].m_y = (float)-0.0754117; cell.m_p[np].m_z = (float)-0.0335803; cell.m_hv[np].m_x = (float)0.107838; cell.m_hv[np].m_y = (float)-0.0652625; cell.m_hv[np].m_z = (float)0.181035; cell.m_v[np].m_x = (float)0.110346; cell.m_v[np].m_y = (float)-0.0622382; cell.m_v[np].m_z = (float)0.180678; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 6; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0485066; cell.m_p[np].m_y = (float)-0.072004; cell.m_p[np].m_z = (float)-0.0251531; cell.m_hv[np].m_x = (float)0.0949183; cell.m_hv[np].m_y = (float)-0.0329393; cell.m_hv[np].m_z = (float)0.218262; cell.m_v[np].m_x = (float)0.0970625; cell.m_v[np].m_y = (float)-0.0341538; cell.m_v[np].m_z = (float)0.214149; np++;
+    cell.m_p[np].m_x = (float)-0.0541367; cell.m_p[np].m_y = (float)-0.0784218; cell.m_p[np].m_z = (float)-0.0293608; cell.m_hv[np].m_x = (float)0.115312; cell.m_hv[np].m_y = (float)-0.0376888; cell.m_hv[np].m_z = (float)0.13865; cell.m_v[np].m_x = (float)0.117298; cell.m_v[np].m_y = (float)-0.033894; cell.m_v[np].m_z = (float)0.139902; np++;
+    cell.m_p[np].m_x = (float)-0.0551365; cell.m_p[np].m_y = (float)-0.0724746; cell.m_p[np].m_z = (float)-0.0272326; cell.m_hv[np].m_x = (float)0.0467683; cell.m_hv[np].m_y = (float)-0.100161; cell.m_hv[np].m_z = (float)0.154191; cell.m_v[np].m_x = (float)0.0512822; cell.m_v[np].m_y = (float)-0.102988; cell.m_v[np].m_z = (float)0.153244; np++;
+    cell.m_p[np].m_x = (float)-0.0531646; cell.m_p[np].m_y = (float)-0.0807882; cell.m_p[np].m_z = (float)-0.0263503; cell.m_hv[np].m_x = (float)0.160322; cell.m_hv[np].m_y = (float)-0.0156011; cell.m_hv[np].m_z = (float)0.134952; cell.m_v[np].m_x = (float)0.164342; cell.m_v[np].m_y = (float)-0.0146061; cell.m_v[np].m_z = (float)0.136287; np++;
+    cell.m_p[np].m_x = (float)-0.0482825; cell.m_p[np].m_y = (float)-0.0807706; cell.m_p[np].m_z = (float)-0.0272827; cell.m_hv[np].m_x = (float)0.131488; cell.m_hv[np].m_y = (float)-0.020365; cell.m_hv[np].m_z = (float)0.12847; cell.m_v[np].m_x = (float)0.133148; cell.m_v[np].m_y = (float)-0.0198138; cell.m_v[np].m_z = (float)0.128439; np++;
+    cell.m_p[np].m_x = (float)-0.0531077; cell.m_p[np].m_y = (float)-0.0732887; cell.m_p[np].m_z = (float)-0.0225571; cell.m_hv[np].m_x = (float)0.0771686; cell.m_hv[np].m_y = (float)-0.0154253; cell.m_hv[np].m_z = (float)0.212204; cell.m_v[np].m_x = (float)0.0818604; cell.m_v[np].m_y = (float)-0.0138701; cell.m_v[np].m_z = (float)0.215492; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 4; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0483566; cell.m_p[np].m_y = (float)-0.0803323; cell.m_p[np].m_z = (float)-0.0191374; cell.m_hv[np].m_x = (float)0.0863255; cell.m_hv[np].m_y = (float)-0.0155957; cell.m_hv[np].m_z = (float)0.0929301; cell.m_v[np].m_x = (float)0.0889148; cell.m_v[np].m_y = (float)-0.0122873; cell.m_v[np].m_z = (float)0.0956743; np++;
+    cell.m_p[np].m_x = (float)-0.0490867; cell.m_p[np].m_y = (float)-0.0747992; cell.m_p[np].m_z = (float)-0.0194887; cell.m_hv[np].m_x = (float)0.0933324; cell.m_hv[np].m_y = (float)-0.0459856; cell.m_hv[np].m_z = (float)0.147804; cell.m_v[np].m_x = (float)0.0996571; cell.m_v[np].m_y = (float)-0.0427907; cell.m_v[np].m_z = (float)0.152539; np++;
+    cell.m_p[np].m_x = (float)-0.0507256; cell.m_p[np].m_y = (float)-0.0803133; cell.m_p[np].m_z = (float)-0.0165003; cell.m_hv[np].m_x = (float)0.0760076; cell.m_hv[np].m_y = (float)-0.00270046; cell.m_hv[np].m_z = (float)0.109003; cell.m_v[np].m_x = (float)0.0797692; cell.m_v[np].m_y = (float)0.00042561; cell.m_v[np].m_z = (float)0.108563; np++;
+    cell.m_p[np].m_x = (float)-0.0499153; cell.m_p[np].m_y = (float)-0.0747891; cell.m_p[np].m_z = (float)-0.0144379; cell.m_hv[np].m_x = (float)0.0344415; cell.m_hv[np].m_y = (float)-0.063559; cell.m_hv[np].m_z = (float)0.0772998; cell.m_v[np].m_x = (float)0.0403314; cell.m_v[np].m_y = (float)-0.0575012; cell.m_v[np].m_z = (float)0.0790008; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 6; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0497883; cell.m_p[np].m_y = (float)-0.0806198; cell.m_p[np].m_z = (float)-0.0124473; cell.m_hv[np].m_x = (float)-0.0116972; cell.m_hv[np].m_y = (float)0.030039; cell.m_hv[np].m_z = (float)0.0773159; cell.m_v[np].m_x = (float)-0.00562026; cell.m_v[np].m_y = (float)0.0342413; cell.m_v[np].m_z = (float)0.0808077; np++;
+    cell.m_p[np].m_x = (float)-0.051274; cell.m_p[np].m_y = (float)-0.0723438; cell.m_p[np].m_z = (float)-0.0105989; cell.m_hv[np].m_x = (float)-0.0499524; cell.m_hv[np].m_y = (float)-0.0152245; cell.m_hv[np].m_z = (float)0.0357944; cell.m_v[np].m_x = (float)-0.0486085; cell.m_v[np].m_y = (float)-0.00921609; cell.m_v[np].m_z = (float)0.0406188; np++;
+    cell.m_p[np].m_x = (float)-0.051457; cell.m_p[np].m_y = (float)-0.0807306; cell.m_p[np].m_z = (float)-0.00756359; cell.m_hv[np].m_x = (float)-0.0246239; cell.m_hv[np].m_y = (float)0.0021208; cell.m_hv[np].m_z = (float)0.0514403; cell.m_v[np].m_x = (float)-0.0240695; cell.m_v[np].m_y = (float)0.00722824; cell.m_v[np].m_z = (float)0.0566447; np++;
+    cell.m_p[np].m_x = (float)-0.0534721; cell.m_p[np].m_y = (float)-0.079925; cell.m_p[np].m_z = (float)-0.0101287; cell.m_hv[np].m_x = (float)0.00475832; cell.m_hv[np].m_y = (float)-0.0331029; cell.m_hv[np].m_z = (float)0.0887686; cell.m_v[np].m_x = (float)0.00584318; cell.m_v[np].m_y = (float)-0.0313687; cell.m_v[np].m_z = (float)0.0942122; np++;
+    cell.m_p[np].m_x = (float)-0.0548201; cell.m_p[np].m_y = (float)-0.0764174; cell.m_p[np].m_z = (float)-0.00572773; cell.m_hv[np].m_x = (float)-0.0623811; cell.m_hv[np].m_y = (float)0.0846382; cell.m_hv[np].m_z = (float)0.0205763; cell.m_v[np].m_x = (float)-0.0573647; cell.m_v[np].m_y = (float)0.0881684; cell.m_v[np].m_z = (float)0.0243562; np++;
+    cell.m_p[np].m_x = (float)-0.0556362; cell.m_p[np].m_y = (float)-0.075189; cell.m_p[np].m_z = (float)-0.0103994; cell.m_hv[np].m_x = (float)0.0291225; cell.m_hv[np].m_y = (float)-0.0366219; cell.m_hv[np].m_z = (float)0.0989906; cell.m_v[np].m_x = (float)0.0302289; cell.m_v[np].m_y = (float)-0.0304846; cell.m_v[np].m_z = (float)0.0947458; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 4; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.053226; cell.m_p[np].m_y = (float)-0.0809273; cell.m_p[np].m_z = (float)0.00431858; cell.m_hv[np].m_x = (float)-0.0986651; cell.m_hv[np].m_y = (float)-0.0856636; cell.m_hv[np].m_z = (float)-0.0440702; cell.m_v[np].m_x = (float)-0.0915931; cell.m_v[np].m_y = (float)-0.0826903; cell.m_v[np].m_z = (float)-0.0465453; np++;
+    cell.m_p[np].m_x = (float)-0.0487841; cell.m_p[np].m_y = (float)-0.0808317; cell.m_p[np].m_z = (float)-0.00426713; cell.m_hv[np].m_x = (float)-0.0813571; cell.m_hv[np].m_y = (float)-0.0482778; cell.m_hv[np].m_z = (float)0.0130422; cell.m_v[np].m_x = (float)-0.0765511; cell.m_v[np].m_y = (float)-0.044883; cell.m_v[np].m_z = (float)0.0198182; np++;
+    cell.m_p[np].m_x = (float)-0.0532716; cell.m_p[np].m_y = (float)-0.080953; cell.m_p[np].m_z = (float)-0.00426021; cell.m_hv[np].m_x = (float)-0.0903415; cell.m_hv[np].m_y = (float)-0.0155848; cell.m_hv[np].m_z = (float)-0.0159373; cell.m_v[np].m_x = (float)-0.0868251; cell.m_v[np].m_y = (float)-0.0119229; cell.m_v[np].m_z = (float)-0.00997392; np++;
+    cell.m_p[np].m_x = (float)-0.0558021; cell.m_p[np].m_y = (float)-0.080841; cell.m_p[np].m_z = (float)-0.000726626; cell.m_hv[np].m_x = (float)-0.0242655; cell.m_hv[np].m_y = (float)-0.0124735; cell.m_hv[np].m_z = (float)-0.0173985; cell.m_v[np].m_x = (float)-0.0208842; cell.m_v[np].m_y = (float)-0.00777191; cell.m_v[np].m_z = (float)-0.0170042; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 5; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.049505; cell.m_p[np].m_y = (float)-0.0816566; cell.m_p[np].m_z = (float)0.00738388; cell.m_hv[np].m_x = (float)-0.0986593; cell.m_hv[np].m_y = (float)-0.0863994; cell.m_hv[np].m_z = (float)-0.0045014; cell.m_v[np].m_x = (float)-0.0958937; cell.m_v[np].m_y = (float)-0.0877102; cell.m_v[np].m_z = (float)-0.0132907; np++;
+    cell.m_p[np].m_x = (float)-0.0525424; cell.m_p[np].m_y = (float)-0.0788013; cell.m_p[np].m_z = (float)0.0075949; cell.m_hv[np].m_x = (float)-0.0306982; cell.m_hv[np].m_y = (float)0.055464; cell.m_hv[np].m_z = (float)-0.0240475; cell.m_v[np].m_x = (float)-0.0259857; cell.m_v[np].m_y = (float)0.0549521; cell.m_v[np].m_z = (float)-0.0311437; np++;
+    cell.m_p[np].m_x = (float)-0.0562227; cell.m_p[np].m_y = (float)-0.0809686; cell.m_p[np].m_z = (float)0.00965283; cell.m_hv[np].m_x = (float)-0.0625747; cell.m_hv[np].m_y = (float)0.00607599; cell.m_hv[np].m_z = (float)-0.0540132; cell.m_v[np].m_x = (float)-0.059134; cell.m_v[np].m_y = (float)0.00607938; cell.m_v[np].m_z = (float)-0.0595872; np++;
+    cell.m_p[np].m_x = (float)-0.0537843; cell.m_p[np].m_y = (float)-0.0755335; cell.m_p[np].m_z = (float)0.0112993; cell.m_hv[np].m_x = (float)-0.0296264; cell.m_hv[np].m_y = (float)1.16443e-05; cell.m_hv[np].m_z = (float)0.0341178; cell.m_v[np].m_x = (float)-0.025528; cell.m_v[np].m_y = (float)0.00442712; cell.m_v[np].m_z = (float)0.0291079; np++;
+    cell.m_p[np].m_x = (float)-0.0511109; cell.m_p[np].m_y = (float)-0.0811426; cell.m_p[np].m_z = (float)0.0112109; cell.m_hv[np].m_x = (float)-0.0254716; cell.m_hv[np].m_y = (float)-0.0141594; cell.m_hv[np].m_z = (float)-0.0217926; cell.m_v[np].m_x = (float)-0.0241961; cell.m_v[np].m_y = (float)-0.0132357; cell.m_v[np].m_z = (float)-0.0241506; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 6; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0479286; cell.m_p[np].m_y = (float)-0.0804688; cell.m_p[np].m_z = (float)0.0166436; cell.m_hv[np].m_x = (float)0.0147096; cell.m_hv[np].m_y = (float)-0.00980544; cell.m_hv[np].m_z = (float)-0.0287896; cell.m_v[np].m_x = (float)0.0178989; cell.m_v[np].m_y = (float)-0.00778646; cell.m_v[np].m_z = (float)-0.0288403; np++;
+    cell.m_p[np].m_x = (float)-0.0548556; cell.m_p[np].m_y = (float)-0.0801978; cell.m_p[np].m_z = (float)0.0133053; cell.m_hv[np].m_x = (float)-0.0274255; cell.m_hv[np].m_y = (float)0.0273839; cell.m_hv[np].m_z = (float)-0.0814496; cell.m_v[np].m_x = (float)-0.0252892; cell.m_v[np].m_y = (float)0.0305122; cell.m_v[np].m_z = (float)-0.0809061; np++;
+    cell.m_p[np].m_x = (float)-0.0543575; cell.m_p[np].m_y = (float)-0.0759097; cell.m_p[np].m_z = (float)0.0189497; cell.m_hv[np].m_x = (float)0.0400348; cell.m_hv[np].m_y = (float)0.0345476; cell.m_hv[np].m_z = (float)-0.16026; cell.m_v[np].m_x = (float)0.0413951; cell.m_v[np].m_y = (float)0.0443425; cell.m_v[np].m_z = (float)-0.163188; np++;
+    cell.m_p[np].m_x = (float)-0.0522865; cell.m_p[np].m_y = (float)-0.080286; cell.m_p[np].m_z = (float)0.018511; cell.m_hv[np].m_x = (float)0.035431; cell.m_hv[np].m_y = (float)0.00461744; cell.m_hv[np].m_z = (float)-0.0911829; cell.m_v[np].m_x = (float)0.0359258; cell.m_v[np].m_y = (float)0.00674034; cell.m_v[np].m_z = (float)-0.0950296; np++;
+    cell.m_p[np].m_x = (float)-0.0504932; cell.m_p[np].m_y = (float)-0.0730754; cell.m_p[np].m_z = (float)0.019005; cell.m_hv[np].m_x = (float)0.0260698; cell.m_hv[np].m_y = (float)0.0592132; cell.m_hv[np].m_z = (float)-0.0894654; cell.m_v[np].m_x = (float)0.0267153; cell.m_v[np].m_y = (float)0.0592014; cell.m_v[np].m_z = (float)-0.0932211; np++;
+    cell.m_p[np].m_x = (float)-0.0522385; cell.m_p[np].m_y = (float)-0.0809152; cell.m_p[np].m_z = (float)0.0152615; cell.m_hv[np].m_x = (float)0.0734889; cell.m_hv[np].m_y = (float)0.01108; cell.m_hv[np].m_z = (float)-0.0304456; cell.m_v[np].m_x = (float)0.0728892; cell.m_v[np].m_y = (float)0.0140481; cell.m_v[np].m_z = (float)-0.0297296; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 11; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0529604; cell.m_p[np].m_y = (float)-0.0808338; cell.m_p[np].m_z = (float)0.0216879; cell.m_hv[np].m_x = (float)0.0207638; cell.m_hv[np].m_y = (float)0.0202629; cell.m_hv[np].m_z = (float)-0.107824; cell.m_v[np].m_x = (float)0.0223249; cell.m_v[np].m_y = (float)0.0234797; cell.m_v[np].m_z = (float)-0.112481; np++;
+    cell.m_p[np].m_x = (float)-0.0479783; cell.m_p[np].m_y = (float)-0.0763372; cell.m_p[np].m_z = (float)0.0274498; cell.m_hv[np].m_x = (float)0.0264912; cell.m_hv[np].m_y = (float)0.0302385; cell.m_hv[np].m_z = (float)-0.182518; cell.m_v[np].m_x = (float)0.0343575; cell.m_v[np].m_y = (float)0.0372184; cell.m_v[np].m_z = (float)-0.186405; np++;
+    cell.m_p[np].m_x = (float)-0.054512; cell.m_p[np].m_y = (float)-0.0808095; cell.m_p[np].m_z = (float)0.0294732; cell.m_hv[np].m_x = (float)0.0538638; cell.m_hv[np].m_y = (float)0.00285062; cell.m_hv[np].m_z = (float)-0.160699; cell.m_v[np].m_x = (float)0.0551676; cell.m_v[np].m_y = (float)0.00357551; cell.m_v[np].m_z = (float)-0.16302; np++;
+    cell.m_p[np].m_x = (float)-0.0554264; cell.m_p[np].m_y = (float)-0.0738803; cell.m_p[np].m_z = (float)0.0251289; cell.m_hv[np].m_x = (float)0.117276; cell.m_hv[np].m_y = (float)0.00073466; cell.m_hv[np].m_z = (float)-0.137395; cell.m_v[np].m_x = (float)0.119323; cell.m_v[np].m_y = (float)0.00711635; cell.m_v[np].m_z = (float)-0.138811; np++;
+    cell.m_p[np].m_x = (float)-0.0520918; cell.m_p[np].m_y = (float)-0.075204; cell.m_p[np].m_z = (float)0.0232178; cell.m_hv[np].m_x = (float)0.0364511; cell.m_hv[np].m_y = (float)-0.0496737; cell.m_hv[np].m_z = (float)-0.134688; cell.m_v[np].m_x = (float)0.0374501; cell.m_v[np].m_y = (float)-0.0446321; cell.m_v[np].m_z = (float)-0.134648; np++;
+    cell.m_p[np].m_x = (float)-0.0508762; cell.m_p[np].m_y = (float)-0.0720632; cell.m_p[np].m_z = (float)0.0300963; cell.m_hv[np].m_x = (float)0.066779; cell.m_hv[np].m_y = (float)0.0884027; cell.m_hv[np].m_z = (float)-0.235075; cell.m_v[np].m_x = (float)0.07112; cell.m_v[np].m_y = (float)0.0913785; cell.m_v[np].m_z = (float)-0.238447; np++;
+    cell.m_p[np].m_x = (float)-0.0558942; cell.m_p[np].m_y = (float)-0.0801424; cell.m_p[np].m_z = (float)0.0238495; cell.m_hv[np].m_x = (float)0.068885; cell.m_hv[np].m_y = (float)-0.017402; cell.m_hv[np].m_z = (float)-0.151755; cell.m_v[np].m_x = (float)0.0727879; cell.m_v[np].m_y = (float)-0.0162669; cell.m_v[np].m_z = (float)-0.153642; np++;
+    cell.m_p[np].m_x = (float)-0.0525547; cell.m_p[np].m_y = (float)-0.080027; cell.m_p[np].m_z = (float)0.0269995; cell.m_hv[np].m_x = (float)0.124641; cell.m_hv[np].m_y = (float)-0.0242822; cell.m_hv[np].m_z = (float)-0.151835; cell.m_v[np].m_x = (float)0.125476; cell.m_v[np].m_y = (float)-0.0239818; cell.m_v[np].m_z = (float)-0.15351; np++;
+    cell.m_p[np].m_x = (float)-0.0478555; cell.m_p[np].m_y = (float)-0.0777263; cell.m_p[np].m_z = (float)0.0220926; cell.m_hv[np].m_x = (float)0.0286512; cell.m_hv[np].m_y = (float)0.0909873; cell.m_hv[np].m_z = (float)-0.154933; cell.m_v[np].m_x = (float)0.035078; cell.m_v[np].m_y = (float)0.0975905; cell.m_v[np].m_z = (float)-0.156036; np++;
+    cell.m_p[np].m_x = (float)-0.0499991; cell.m_p[np].m_y = (float)-0.080824; cell.m_p[np].m_z = (float)0.0245346; cell.m_hv[np].m_x = (float)0.125572; cell.m_hv[np].m_y = (float)-0.00595294; cell.m_hv[np].m_z = (float)-0.0979357; cell.m_v[np].m_x = (float)0.129089; cell.m_v[np].m_y = (float)-0.00278673; cell.m_v[np].m_z = (float)-0.100009; np++;
+    cell.m_p[np].m_x = (float)-0.0477379; cell.m_p[np].m_y = (float)-0.0715245; cell.m_p[np].m_z = (float)0.0246505; cell.m_hv[np].m_x = (float)0.0400403; cell.m_hv[np].m_y = (float)-0.0131201; cell.m_hv[np].m_z = (float)-0.104406; cell.m_v[np].m_x = (float)0.0460201; cell.m_v[np].m_y = (float)-0.0165144; cell.m_v[np].m_z = (float)-0.0998624; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 5; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0488043; cell.m_p[np].m_y = (float)-0.0806949; cell.m_p[np].m_z = (float)0.0307467; cell.m_hv[np].m_x = (float)0.0798897; cell.m_hv[np].m_y = (float)-0.00301073; cell.m_hv[np].m_z = (float)-0.185012; cell.m_v[np].m_x = (float)0.0847667; cell.m_v[np].m_y = (float)-0.000874267; cell.m_v[np].m_z = (float)-0.187214; np++;
+    cell.m_p[np].m_x = (float)-0.0488587; cell.m_p[np].m_y = (float)-0.0807483; cell.m_p[np].m_z = (float)0.0354356; cell.m_hv[np].m_x = (float)0.13024; cell.m_hv[np].m_y = (float)-0.00474339; cell.m_hv[np].m_z = (float)-0.215695; cell.m_v[np].m_x = (float)0.13325; cell.m_v[np].m_y = (float)-0.0026343; cell.m_v[np].m_z = (float)-0.219612; np++;
+    cell.m_p[np].m_x = (float)-0.0493709; cell.m_p[np].m_y = (float)-0.0733425; cell.m_p[np].m_z = (float)0.034452; cell.m_hv[np].m_x = (float)0.0401173; cell.m_hv[np].m_y = (float)-0.0988541; cell.m_hv[np].m_z = (float)-0.165446; cell.m_v[np].m_x = (float)0.0394725; cell.m_v[np].m_y = (float)-0.08974; cell.m_v[np].m_z = (float)-0.165379; np++;
+    cell.m_p[np].m_x = (float)-0.0542507; cell.m_p[np].m_y = (float)-0.0807583; cell.m_p[np].m_z = (float)0.0343553; cell.m_hv[np].m_x = (float)0.0637844; cell.m_hv[np].m_y = (float)0.0033144; cell.m_hv[np].m_z = (float)-0.164837; cell.m_v[np].m_x = (float)0.0646798; cell.m_v[np].m_y = (float)0.00364436; cell.m_v[np].m_z = (float)-0.167149; np++;
+    cell.m_p[np].m_x = (float)-0.0553193; cell.m_p[np].m_y = (float)-0.0730811; cell.m_p[np].m_z = (float)0.0348113; cell.m_hv[np].m_x = (float)0.0328135; cell.m_hv[np].m_y = (float)-0.0635806; cell.m_hv[np].m_z = (float)-0.212207; cell.m_v[np].m_x = (float)0.0353968; cell.m_v[np].m_y = (float)-0.0574116; cell.m_v[np].m_z = (float)-0.212103; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 6; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0517581; cell.m_p[np].m_y = (float)-0.0754442; cell.m_p[np].m_z = (float)0.0433209; cell.m_hv[np].m_x = (float)0.103503; cell.m_hv[np].m_y = (float)-0.0602917; cell.m_hv[np].m_z = (float)-0.160816; cell.m_v[np].m_x = (float)0.104158; cell.m_v[np].m_y = (float)-0.0563134; cell.m_v[np].m_z = (float)-0.163274; np++;
+    cell.m_p[np].m_x = (float)-0.0493539; cell.m_p[np].m_y = (float)-0.074903; cell.m_p[np].m_z = (float)0.0398869; cell.m_hv[np].m_x = (float)0.160507; cell.m_hv[np].m_y = (float)-0.0284157; cell.m_hv[np].m_z = (float)-0.145145; cell.m_v[np].m_x = (float)0.162078; cell.m_v[np].m_y = (float)-0.0228999; cell.m_v[np].m_z = (float)-0.147361; np++;
+    cell.m_p[np].m_x = (float)-0.047938; cell.m_p[np].m_y = (float)-0.0803468; cell.m_p[np].m_z = (float)0.0452524; cell.m_hv[np].m_x = (float)0.136911; cell.m_hv[np].m_y = (float)0.0238147; cell.m_hv[np].m_z = (float)-0.157416; cell.m_v[np].m_x = (float)0.138487; cell.m_v[np].m_y = (float)0.0268688; cell.m_v[np].m_z = (float)-0.159184; np++;
+    cell.m_p[np].m_x = (float)-0.0528093; cell.m_p[np].m_y = (float)-0.0802682; cell.m_p[np].m_z = (float)0.0436021; cell.m_hv[np].m_x = (float)0.140592; cell.m_hv[np].m_y = (float)0.00907457; cell.m_hv[np].m_z = (float)-0.17641; cell.m_v[np].m_x = (float)0.142935; cell.m_v[np].m_y = (float)0.0119653; cell.m_v[np].m_z = (float)-0.178506; np++;
+    cell.m_p[np].m_x = (float)-0.0537207; cell.m_p[np].m_y = (float)-0.0803422; cell.m_p[np].m_z = (float)0.0472825; cell.m_hv[np].m_x = (float)0.0826321; cell.m_hv[np].m_y = (float)0.00972223; cell.m_hv[np].m_z = (float)-0.183232; cell.m_v[np].m_x = (float)0.0833799; cell.m_v[np].m_y = (float)0.0110439; cell.m_v[np].m_z = (float)-0.184374; np++;
+    cell.m_p[np].m_x = (float)-0.0489773; cell.m_p[np].m_y = (float)-0.0804354; cell.m_p[np].m_z = (float)0.0409947; cell.m_hv[np].m_x = (float)0.123731; cell.m_hv[np].m_y = (float)0.0039728; cell.m_hv[np].m_z = (float)-0.173481; cell.m_v[np].m_x = (float)0.124625; cell.m_v[np].m_y = (float)0.00607823; cell.m_v[np].m_z = (float)-0.174993; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 4; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0522046; cell.m_p[np].m_y = (float)-0.0805269; cell.m_p[np].m_z = (float)0.0518328; cell.m_hv[np].m_x = (float)0.0905623; cell.m_hv[np].m_y = (float)0.033146; cell.m_hv[np].m_z = (float)-0.135698; cell.m_v[np].m_x = (float)0.0912299; cell.m_v[np].m_y = (float)0.0359022; cell.m_v[np].m_z = (float)-0.136382; np++;
+    cell.m_p[np].m_x = (float)-0.0513921; cell.m_p[np].m_y = (float)-0.0781649; cell.m_p[np].m_z = (float)0.0506823; cell.m_hv[np].m_x = (float)0.0879304; cell.m_hv[np].m_y = (float)-0.0246272; cell.m_hv[np].m_z = (float)-0.170083; cell.m_v[np].m_x = (float)0.0888395; cell.m_v[np].m_y = (float)-0.0222007; cell.m_v[np].m_z = (float)-0.16968; np++;
+    cell.m_p[np].m_x = (float)-0.0507604; cell.m_p[np].m_y = (float)-0.0742006; cell.m_p[np].m_z = (float)0.0524109; cell.m_hv[np].m_x = (float)0.097724; cell.m_hv[np].m_y = (float)0.0129442; cell.m_hv[np].m_z = (float)-0.112524; cell.m_v[np].m_x = (float)0.10045; cell.m_v[np].m_y = (float)0.0150009; cell.m_v[np].m_z = (float)-0.109305; np++;
+    cell.m_p[np].m_x = (float)-0.0540252; cell.m_p[np].m_y = (float)-0.0753772; cell.m_p[np].m_z = (float)0.0558876; cell.m_hv[np].m_x = (float)0.0959808; cell.m_hv[np].m_y = (float)-0.123763; cell.m_hv[np].m_z = (float)-0.204283; cell.m_v[np].m_x = (float)0.0983145; cell.m_v[np].m_y = (float)-0.124229; cell.m_v[np].m_z = (float)-0.196881; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 6; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0512146; cell.m_p[np].m_y = (float)-0.0741133; cell.m_p[np].m_z = (float)0.0636144; cell.m_hv[np].m_x = (float)0.147949; cell.m_hv[np].m_y = (float)-0.096754; cell.m_hv[np].m_z = (float)-0.0592542; cell.m_v[np].m_x = (float)0.145039; cell.m_v[np].m_y = (float)-0.0939; cell.m_v[np].m_z = (float)-0.0609499; np++;
+    cell.m_p[np].m_x = (float)-0.0537442; cell.m_p[np].m_y = (float)-0.08016; cell.m_p[np].m_z = (float)0.0648068; cell.m_hv[np].m_x = (float)0.116697; cell.m_hv[np].m_y = (float)-0.00872402; cell.m_hv[np].m_z = (float)-0.0600259; cell.m_v[np].m_x = (float)0.118492; cell.m_v[np].m_y = (float)-0.00938094; cell.m_v[np].m_z = (float)-0.0630645; np++;
+    cell.m_p[np].m_x = (float)-0.0505309; cell.m_p[np].m_y = (float)-0.0804289; cell.m_p[np].m_z = (float)0.0623623; cell.m_hv[np].m_x = (float)0.129591; cell.m_hv[np].m_y = (float)0.0352837; cell.m_hv[np].m_z = (float)-0.0828826; cell.m_v[np].m_x = (float)0.131229; cell.m_v[np].m_y = (float)0.0391968; cell.m_v[np].m_z = (float)-0.0844491; np++;
+    cell.m_p[np].m_x = (float)-0.0554799; cell.m_p[np].m_y = (float)-0.080322; cell.m_p[np].m_z = (float)0.0619887; cell.m_hv[np].m_x = (float)0.0867857; cell.m_hv[np].m_y = (float)0.0300662; cell.m_hv[np].m_z = (float)-0.117657; cell.m_v[np].m_x = (float)0.0875254; cell.m_v[np].m_y = (float)0.0334729; cell.m_v[np].m_z = (float)-0.120041; np++;
+    cell.m_p[np].m_x = (float)-0.0528374; cell.m_p[np].m_y = (float)-0.0741108; cell.m_p[np].m_z = (float)0.0625217; cell.m_hv[np].m_x = (float)0.169857; cell.m_hv[np].m_y = (float)-0.149524; cell.m_hv[np].m_z = (float)-0.0763111; cell.m_v[np].m_x = (float)0.171116; cell.m_v[np].m_y = (float)-0.151498; cell.m_v[np].m_z = (float)-0.0755666; np++;
+    cell.m_p[np].m_x = (float)-0.0521655; cell.m_p[np].m_y = (float)-0.0802667; cell.m_p[np].m_z = (float)0.057086; cell.m_hv[np].m_x = (float)0.0714252; cell.m_hv[np].m_y = (float)-0.0196321; cell.m_hv[np].m_z = (float)-0.134684; cell.m_v[np].m_x = (float)0.0680419; cell.m_v[np].m_y = (float)-0.0201735; cell.m_v[np].m_z = (float)-0.134776; np++;
+    k++;j++;k = 0;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 2; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0522633; cell.m_p[np].m_y = (float)-0.0699537; cell.m_p[np].m_z = (float)-0.0499201; cell.m_hv[np].m_x = (float)0.168815; cell.m_hv[np].m_y = (float)-0.0619583; cell.m_hv[np].m_z = (float)0.129625; cell.m_v[np].m_x = (float)0.171623; cell.m_v[np].m_y = (float)-0.0576133; cell.m_v[np].m_z = (float)0.131311; np++;
+    cell.m_p[np].m_x = (float)-0.0502294; cell.m_p[np].m_y = (float)-0.0691372; cell.m_p[np].m_z = (float)-0.0503578; cell.m_hv[np].m_x = (float)0.141463; cell.m_hv[np].m_y = (float)-0.0989264; cell.m_hv[np].m_z = (float)0.135225; cell.m_v[np].m_x = (float)0.141127; cell.m_v[np].m_y = (float)-0.0955265; cell.m_v[np].m_z = (float)0.137152; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 5; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0510011; cell.m_p[np].m_y = (float)-0.0667132; cell.m_p[np].m_z = (float)-0.0472009; cell.m_hv[np].m_x = (float)0.139105; cell.m_hv[np].m_y = (float)-0.0427864; cell.m_hv[np].m_z = (float)0.161711; cell.m_v[np].m_x = (float)0.139126; cell.m_v[np].m_y = (float)-0.0415515; cell.m_v[np].m_z = (float)0.163499; np++;
+    cell.m_p[np].m_x = (float)-0.0539894; cell.m_p[np].m_y = (float)-0.0675243; cell.m_p[np].m_z = (float)-0.0445446; cell.m_hv[np].m_x = (float)0.156673; cell.m_hv[np].m_y = (float)-0.0638143; cell.m_hv[np].m_z = (float)0.182405; cell.m_v[np].m_x = (float)0.157502; cell.m_v[np].m_y = (float)-0.0615345; cell.m_v[np].m_z = (float)0.182564; np++;
+    cell.m_p[np].m_x = (float)-0.053239; cell.m_p[np].m_y = (float)-0.0698273; cell.m_p[np].m_z = (float)-0.0395863; cell.m_hv[np].m_x = (float)0.154411; cell.m_hv[np].m_y = (float)-0.0695562; cell.m_hv[np].m_z = (float)0.115252; cell.m_v[np].m_x = (float)0.153934; cell.m_v[np].m_y = (float)-0.0674256; cell.m_v[np].m_z = (float)0.117972; np++;
+    cell.m_p[np].m_x = (float)-0.0553583; cell.m_p[np].m_y = (float)-0.0663756; cell.m_p[np].m_z = (float)-0.0395331; cell.m_hv[np].m_x = (float)0.13165; cell.m_hv[np].m_y = (float)-0.06157; cell.m_hv[np].m_z = (float)0.154979; cell.m_v[np].m_x = (float)0.132851; cell.m_v[np].m_y = (float)-0.0588842; cell.m_v[np].m_z = (float)0.155629; np++;
+    cell.m_p[np].m_x = (float)-0.0559371; cell.m_p[np].m_y = (float)-0.0690876; cell.m_p[np].m_z = (float)-0.044518; cell.m_hv[np].m_x = (float)0.101625; cell.m_hv[np].m_y = (float)-0.0609603; cell.m_hv[np].m_z = (float)0.172416; cell.m_v[np].m_x = (float)0.103918; cell.m_v[np].m_y = (float)-0.0555583; cell.m_v[np].m_z = (float)0.173769; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0509688; cell.m_p[np].m_y = (float)-0.0678698; cell.m_p[np].m_z = (float)-0.0321353; cell.m_hv[np].m_x = (float)0.126352; cell.m_hv[np].m_y = (float)-0.0413061; cell.m_hv[np].m_z = (float)0.0379398; cell.m_v[np].m_x = (float)0.128573; cell.m_v[np].m_y = (float)-0.0460005; cell.m_v[np].m_z = (float)0.0273065; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 3; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0544635; cell.m_p[np].m_y = (float)-0.0679932; cell.m_p[np].m_z = (float)-0.0291576; cell.m_hv[np].m_x = (float)-0.0321401; cell.m_hv[np].m_y = (float)-0.0409602; cell.m_hv[np].m_z = (float)0.172875; cell.m_v[np].m_x = (float)-0.0303989; cell.m_v[np].m_y = (float)-0.0378907; cell.m_v[np].m_z = (float)0.166562; np++;
+    cell.m_p[np].m_x = (float)-0.0528363; cell.m_p[np].m_y = (float)-0.0668939; cell.m_p[np].m_z = (float)-0.0219503; cell.m_hv[np].m_x = (float)0.0415912; cell.m_hv[np].m_y = (float)0.00472226; cell.m_hv[np].m_z = (float)0.101372; cell.m_v[np].m_x = (float)0.0455494; cell.m_v[np].m_y = (float)0.0114069; cell.m_v[np].m_z = (float)0.105501; np++;
+    cell.m_p[np].m_x = (float)-0.049117; cell.m_p[np].m_y = (float)-0.0645462; cell.m_p[np].m_z = (float)-0.02327; cell.m_hv[np].m_x = (float)0.0116516; cell.m_hv[np].m_y = (float)-0.0241117; cell.m_hv[np].m_z = (float)0.0500801; cell.m_v[np].m_x = (float)0.00939648; cell.m_v[np].m_y = (float)-0.021845; cell.m_v[np].m_z = (float)0.0521946; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 2; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0496108; cell.m_p[np].m_y = (float)-0.0688679; cell.m_p[np].m_z = (float)-0.0155563; cell.m_hv[np].m_x = (float)-0.0187364; cell.m_hv[np].m_y = (float)0.0240215; cell.m_hv[np].m_z = (float)0.0867624; cell.m_v[np].m_x = (float)-0.0112098; cell.m_v[np].m_y = (float)0.0286105; cell.m_v[np].m_z = (float)0.0942609; np++;
+    cell.m_p[np].m_x = (float)-0.0532341; cell.m_p[np].m_y = (float)-0.0664058; cell.m_p[np].m_z = (float)-0.0139585; cell.m_hv[np].m_x = (float)0.0508004; cell.m_hv[np].m_y = (float)0.0196197; cell.m_hv[np].m_z = (float)0.0178741; cell.m_v[np].m_x = (float)0.0540551; cell.m_v[np].m_y = (float)0.018795; cell.m_v[np].m_z = (float)0.0245629; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0487135; cell.m_p[np].m_y = (float)-0.0669207; cell.m_p[np].m_z = (float)-0.00897518; cell.m_hv[np].m_x = (float)-0.145585; cell.m_hv[np].m_y = (float)0.0129721; cell.m_hv[np].m_z = (float)-0.0817615; cell.m_v[np].m_x = (float)-0.151606; cell.m_v[np].m_y = (float)0.00317108; cell.m_v[np].m_z = (float)-0.0944019; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0503681; cell.m_p[np].m_y = (float)-0.0666366; cell.m_p[np].m_z = (float)0.00404634; cell.m_hv[np].m_x = (float)-0.0543768; cell.m_hv[np].m_y = (float)0.0306271; cell.m_hv[np].m_z = (float)-0.0375193; cell.m_v[np].m_x = (float)-0.0534654; cell.m_v[np].m_y = (float)0.0313772; cell.m_v[np].m_z = (float)-0.0418919; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0545443; cell.m_p[np].m_y = (float)-0.0653149; cell.m_p[np].m_z = (float)0.0124426; cell.m_hv[np].m_x = (float)-0.0655533; cell.m_hv[np].m_y = (float)0.0596618; cell.m_hv[np].m_z = (float)-0.0947687; cell.m_v[np].m_x = (float)-0.0641572; cell.m_v[np].m_y = (float)0.0628383; cell.m_v[np].m_z = (float)-0.0937363; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 3; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0513279; cell.m_p[np].m_y = (float)-0.0675213; cell.m_p[np].m_z = (float)0.0152292; cell.m_hv[np].m_x = (float)-0.0733326; cell.m_hv[np].m_y = (float)-0.00370341; cell.m_hv[np].m_z = (float)-0.0290977; cell.m_v[np].m_x = (float)-0.0733556; cell.m_v[np].m_y = (float)-0.00258153; cell.m_v[np].m_z = (float)-0.0288626; np++;
+    cell.m_p[np].m_x = (float)-0.0517545; cell.m_p[np].m_y = (float)-0.0632747; cell.m_p[np].m_z = (float)0.0189669; cell.m_hv[np].m_x = (float)5.97113e-05; cell.m_hv[np].m_y = (float)0.0279381; cell.m_hv[np].m_z = (float)-0.10858; cell.m_v[np].m_x = (float)0.00353135; cell.m_v[np].m_y = (float)0.0246611; cell.m_v[np].m_z = (float)-0.108271; np++;
+    cell.m_p[np].m_x = (float)-0.0554768; cell.m_p[np].m_y = (float)-0.0650207; cell.m_p[np].m_z = (float)0.0167711; cell.m_hv[np].m_x = (float)-0.0197531; cell.m_hv[np].m_y = (float)0.0073046; cell.m_hv[np].m_z = (float)-0.0573158; cell.m_v[np].m_x = (float)-0.0179005; cell.m_v[np].m_y = (float)0.00943015; cell.m_v[np].m_z = (float)-0.0601824; np++;
+    k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 2; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0494515; cell.m_p[np].m_y = (float)-0.0660975; cell.m_p[np].m_z = (float)0.0378605; cell.m_hv[np].m_x = (float)-0.014226; cell.m_hv[np].m_y = (float)-0.0325296; cell.m_hv[np].m_z = (float)-0.105321; cell.m_v[np].m_x = (float)-0.0216934; cell.m_v[np].m_y = (float)-0.0323755; cell.m_v[np].m_z = (float)-0.10712; np++;
+    cell.m_p[np].m_x = (float)-0.0535836; cell.m_p[np].m_y = (float)-0.0711709; cell.m_p[np].m_z = (float)0.0370055; cell.m_hv[np].m_x = (float)0.114494; cell.m_hv[np].m_y = (float)-0.0690845; cell.m_hv[np].m_z = (float)-0.205815; cell.m_v[np].m_x = (float)0.118345; cell.m_v[np].m_y = (float)-0.0680008; cell.m_v[np].m_z = (float)-0.209182; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0516103; cell.m_p[np].m_y = (float)-0.0695926; cell.m_p[np].m_z = (float)0.043326; cell.m_hv[np].m_x = (float)0.0978053; cell.m_hv[np].m_y = (float)-0.019162; cell.m_hv[np].m_z = (float)-0.126691; cell.m_v[np].m_x = (float)0.0971533; cell.m_v[np].m_y = (float)-0.0148685; cell.m_v[np].m_z = (float)-0.130715; np++;
+    k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 2; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.053902; cell.m_p[np].m_y = (float)-0.056601; cell.m_p[np].m_z = (float)-0.00732386; cell.m_hv[np].m_x = (float)-0.442022; cell.m_hv[np].m_y = (float)0.109062; cell.m_hv[np].m_z = (float)0.296479; cell.m_v[np].m_x = (float)-0.41846; cell.m_v[np].m_y = (float)0.138333; cell.m_v[np].m_z = (float)0.299369; np++;
+    cell.m_p[np].m_x = (float)-0.0525997; cell.m_p[np].m_y = (float)-0.0623439; cell.m_p[np].m_z = (float)-0.00602065; cell.m_hv[np].m_x = (float)-0.190426; cell.m_hv[np].m_y = (float)0.12124; cell.m_hv[np].m_z = (float)0.028077; cell.m_v[np].m_x = (float)-0.190037; cell.m_v[np].m_y = (float)0.121254; cell.m_v[np].m_z = (float)0.0314876; np++;
+    k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0485941; cell.m_p[np].m_y = (float)-0.0604126; cell.m_p[np].m_z = (float)0.0123609; cell.m_hv[np].m_x = (float)-0.0686742; cell.m_hv[np].m_y = (float)0.123264; cell.m_hv[np].m_z = (float)-0.0352432; cell.m_v[np].m_x = (float)-0.0692198; cell.m_v[np].m_y = (float)0.128516; cell.m_v[np].m_z = (float)-0.0342106; np++;
+    k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;i++;j = 0;k = 0;
+    cell = cells[i][j][k]; cell.m_numPars = 3; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0473847; cell.m_p[np].m_y = (float)-0.0738032; cell.m_p[np].m_z = (float)-0.0640685; cell.m_hv[np].m_x = (float)0.226141; cell.m_hv[np].m_y = (float)-0.0202626; cell.m_hv[np].m_z = (float)0.0787192; cell.m_v[np].m_x = (float)0.224284; cell.m_v[np].m_y = (float)-0.0159701; cell.m_v[np].m_z = (float)0.0777774; np++;
+    cell.m_p[np].m_x = (float)-0.0458856; cell.m_p[np].m_y = (float)-0.0804129; cell.m_p[np].m_z = (float)-0.0647847; cell.m_hv[np].m_x = (float)0.229558; cell.m_hv[np].m_y = (float)0.0449902; cell.m_hv[np].m_z = (float)0.0278436; cell.m_v[np].m_x = (float)0.232334; cell.m_v[np].m_y = (float)0.0474832; cell.m_v[np].m_z = (float)0.0277574; np++;
+    cell.m_p[np].m_x = (float)-0.044009; cell.m_p[np].m_y = (float)-0.0763467; cell.m_p[np].m_z = (float)-0.0647339; cell.m_hv[np].m_x = (float)0.197869; cell.m_hv[np].m_y = (float)0.0295378; cell.m_hv[np].m_z = (float)0.00405976; cell.m_v[np].m_x = (float)0.200522; cell.m_v[np].m_y = (float)0.0320906; cell.m_v[np].m_z = (float)0.00488697; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 3; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0436132; cell.m_p[np].m_y = (float)-0.0803633; cell.m_p[np].m_z = (float)-0.0507448; cell.m_hv[np].m_x = (float)0.169049; cell.m_hv[np].m_y = (float)0.0161587; cell.m_hv[np].m_z = (float)0.183033; cell.m_v[np].m_x = (float)0.17104; cell.m_v[np].m_y = (float)0.018592; cell.m_v[np].m_z = (float)0.183925; np++;
+    cell.m_p[np].m_x = (float)-0.0401312; cell.m_p[np].m_y = (float)-0.0804583; cell.m_p[np].m_z = (float)-0.0546716; cell.m_hv[np].m_x = (float)0.202787; cell.m_hv[np].m_y = (float)0.00784903; cell.m_hv[np].m_z = (float)0.144568; cell.m_v[np].m_x = (float)0.204903; cell.m_v[np].m_y = (float)0.00813825; cell.m_v[np].m_z = (float)0.144948; np++;
+    cell.m_p[np].m_x = (float)-0.0459285; cell.m_p[np].m_y = (float)-0.0760471; cell.m_p[np].m_z = (float)-0.0500291; cell.m_hv[np].m_x = (float)0.160843; cell.m_hv[np].m_y = (float)9.10535e-05; cell.m_hv[np].m_z = (float)0.150761; cell.m_v[np].m_x = (float)0.161883; cell.m_v[np].m_y = (float)0.00473015; cell.m_v[np].m_z = (float)0.151852; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 4; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0466633; cell.m_p[np].m_y = (float)-0.0802847; cell.m_p[np].m_z = (float)-0.0427448; cell.m_hv[np].m_x = (float)0.176891; cell.m_hv[np].m_y = (float)-0.00164201; cell.m_hv[np].m_z = (float)0.172075; cell.m_v[np].m_x = (float)0.177905; cell.m_v[np].m_y = (float)0.0015052; cell.m_v[np].m_z = (float)0.17386; np++;
+    cell.m_p[np].m_x = (float)-0.0430167; cell.m_p[np].m_y = (float)-0.0803061; cell.m_p[np].m_z = (float)-0.0461895; cell.m_hv[np].m_x = (float)0.175674; cell.m_hv[np].m_y = (float)0.0043847; cell.m_hv[np].m_z = (float)0.189368; cell.m_v[np].m_x = (float)0.178422; cell.m_v[np].m_y = (float)0.00760507; cell.m_v[np].m_z = (float)0.191338; np++;
+    cell.m_p[np].m_x = (float)-0.0409235; cell.m_p[np].m_y = (float)-0.0804274; cell.m_p[np].m_z = (float)-0.0425006; cell.m_hv[np].m_x = (float)0.165477; cell.m_hv[np].m_y = (float)-0.0131822; cell.m_hv[np].m_z = (float)0.17111; cell.m_v[np].m_x = (float)0.167711; cell.m_v[np].m_y = (float)-0.00873087; cell.m_v[np].m_z = (float)0.173062; np++;
+    cell.m_p[np].m_x = (float)-0.0439626; cell.m_p[np].m_y = (float)-0.0760478; cell.m_p[np].m_z = (float)-0.0445756; cell.m_hv[np].m_x = (float)0.174466; cell.m_hv[np].m_y = (float)-0.0190343; cell.m_hv[np].m_z = (float)0.151101; cell.m_v[np].m_x = (float)0.176507; cell.m_v[np].m_y = (float)-0.0141141; cell.m_v[np].m_z = (float)0.154695; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 8; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.041896; cell.m_p[np].m_y = (float)-0.0805666; cell.m_p[np].m_z = (float)-0.03331; cell.m_hv[np].m_x = (float)0.190332; cell.m_hv[np].m_y = (float)-0.0290288; cell.m_hv[np].m_z = (float)0.0870433; cell.m_v[np].m_x = (float)0.196579; cell.m_v[np].m_y = (float)-0.0282365; cell.m_v[np].m_z = (float)0.0921153; np++;
+    cell.m_p[np].m_x = (float)-0.0390429; cell.m_p[np].m_y = (float)-0.07629; cell.m_p[np].m_z = (float)-0.0349712; cell.m_hv[np].m_x = (float)0.189069; cell.m_hv[np].m_y = (float)-7.78227e-05; cell.m_hv[np].m_z = (float)0.133345; cell.m_v[np].m_x = (float)0.189107; cell.m_v[np].m_y = (float)0.00208171; cell.m_v[np].m_z = (float)0.136998; np++;
+    cell.m_p[np].m_x = (float)-0.0448626; cell.m_p[np].m_y = (float)-0.0752874; cell.m_p[np].m_z = (float)-0.0323897; cell.m_hv[np].m_x = (float)0.196505; cell.m_hv[np].m_y = (float)-0.0878126; cell.m_hv[np].m_z = (float)0.113175; cell.m_v[np].m_x = (float)0.19394; cell.m_v[np].m_y = (float)-0.0853337; cell.m_v[np].m_z = (float)0.108739; np++;
+    cell.m_p[np].m_x = (float)-0.0447741; cell.m_p[np].m_y = (float)-0.0744893; cell.m_p[np].m_z = (float)-0.0387679; cell.m_hv[np].m_x = (float)0.163337; cell.m_hv[np].m_y = (float)-0.0974683; cell.m_hv[np].m_z = (float)0.0832024; cell.m_v[np].m_x = (float)0.16647; cell.m_v[np].m_y = (float)-0.0928597; cell.m_v[np].m_z = (float)0.0873518; np++;
+    cell.m_p[np].m_x = (float)-0.0444244; cell.m_p[np].m_y = (float)-0.0741335; cell.m_p[np].m_z = (float)-0.0355934; cell.m_hv[np].m_x = (float)0.203312; cell.m_hv[np].m_y = (float)-0.0336811; cell.m_hv[np].m_z = (float)0.130382; cell.m_v[np].m_x = (float)0.202583; cell.m_v[np].m_y = (float)-0.0309035; cell.m_v[np].m_z = (float)0.13054; np++;
+    cell.m_p[np].m_x = (float)-0.0395169; cell.m_p[np].m_y = (float)-0.0806118; cell.m_p[np].m_z = (float)-0.036798; cell.m_hv[np].m_x = (float)0.183958; cell.m_hv[np].m_y = (float)-0.0409599; cell.m_hv[np].m_z = (float)0.12034; cell.m_v[np].m_x = (float)0.187841; cell.m_v[np].m_y = (float)-0.0385543; cell.m_v[np].m_z = (float)0.125125; np++;
+    cell.m_p[np].m_x = (float)-0.0446416; cell.m_p[np].m_y = (float)-0.0802999; cell.m_p[np].m_z = (float)-0.0389424; cell.m_hv[np].m_x = (float)0.21883; cell.m_hv[np].m_y = (float)-0.0371141; cell.m_hv[np].m_z = (float)0.130402; cell.m_v[np].m_x = (float)0.220738; cell.m_v[np].m_y = (float)-0.0360522; cell.m_v[np].m_z = (float)0.132429; np++;
+    cell.m_p[np].m_x = (float)-0.0456556; cell.m_p[np].m_y = (float)-0.080386; cell.m_p[np].m_z = (float)-0.034454; cell.m_hv[np].m_x = (float)0.132172; cell.m_hv[np].m_y = (float)-0.0532465; cell.m_hv[np].m_z = (float)0.131361; cell.m_v[np].m_x = (float)0.130401; cell.m_v[np].m_y = (float)-0.0540993; cell.m_v[np].m_z = (float)0.132198; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 7; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0417369; cell.m_p[np].m_y = (float)-0.0805543; cell.m_p[np].m_z = (float)-0.027218; cell.m_hv[np].m_x = (float)0.124874; cell.m_hv[np].m_y = (float)-0.0176287; cell.m_hv[np].m_z = (float)0.0972973; cell.m_v[np].m_x = (float)0.130052; cell.m_v[np].m_y = (float)-0.0169; cell.m_v[np].m_z = (float)0.0979892; np++;
+    cell.m_p[np].m_x = (float)-0.0471416; cell.m_p[np].m_y = (float)-0.0806711; cell.m_p[np].m_z = (float)-0.0234247; cell.m_hv[np].m_x = (float)0.0547725; cell.m_hv[np].m_y = (float)-0.0227287; cell.m_hv[np].m_z = (float)0.0708101; cell.m_v[np].m_x = (float)0.0571701; cell.m_v[np].m_y = (float)-0.0199213; cell.m_v[np].m_z = (float)0.070625; np++;
+    cell.m_p[np].m_x = (float)-0.042919; cell.m_p[np].m_y = (float)-0.0802751; cell.m_p[np].m_z = (float)-0.0238793; cell.m_hv[np].m_x = (float)0.0810986; cell.m_hv[np].m_y = (float)-0.0262283; cell.m_hv[np].m_z = (float)0.0996672; cell.m_v[np].m_x = (float)0.0883029; cell.m_v[np].m_y = (float)-0.0249531; cell.m_v[np].m_z = (float)0.103895; np++;
+    cell.m_p[np].m_x = (float)-0.0427624; cell.m_p[np].m_y = (float)-0.0753432; cell.m_p[np].m_z = (float)-0.0250438; cell.m_hv[np].m_x = (float)0.18159; cell.m_hv[np].m_y = (float)-0.0467244; cell.m_hv[np].m_z = (float)0.114238; cell.m_v[np].m_x = (float)0.182866; cell.m_v[np].m_y = (float)-0.0458484; cell.m_v[np].m_z = (float)0.117278; np++;
+    cell.m_p[np].m_x = (float)-0.0451216; cell.m_p[np].m_y = (float)-0.0805537; cell.m_p[np].m_z = (float)-0.0296773; cell.m_hv[np].m_x = (float)0.160683; cell.m_hv[np].m_y = (float)-0.0301104; cell.m_hv[np].m_z = (float)0.100727; cell.m_v[np].m_x = (float)0.163348; cell.m_v[np].m_y = (float)-0.0306326; cell.m_v[np].m_z = (float)0.101783; np++;
+    cell.m_p[np].m_x = (float)-0.0400558; cell.m_p[np].m_y = (float)-0.0804723; cell.m_p[np].m_z = (float)-0.0221785; cell.m_hv[np].m_x = (float)0.0444338; cell.m_hv[np].m_y = (float)-0.00852024; cell.m_hv[np].m_z = (float)0.0605815; cell.m_v[np].m_x = (float)0.0463577; cell.m_v[np].m_y = (float)-0.00587139; cell.m_v[np].m_z = (float)0.0632099; np++;
+    cell.m_p[np].m_x = (float)-0.0460166; cell.m_p[np].m_y = (float)-0.0750865; cell.m_p[np].m_z = (float)-0.0278626; cell.m_hv[np].m_x = (float)0.184824; cell.m_hv[np].m_y = (float)-0.0821108; cell.m_hv[np].m_z = (float)0.167764; cell.m_v[np].m_x = (float)0.180422; cell.m_v[np].m_y = (float)-0.0805549; cell.m_v[np].m_z = (float)0.169509; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 8; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0443264; cell.m_p[np].m_y = (float)-0.0803235; cell.m_p[np].m_z = (float)-0.0200463; cell.m_hv[np].m_x = (float)0.0565321; cell.m_hv[np].m_y = (float)-0.0190583; cell.m_hv[np].m_z = (float)0.0623091; cell.m_v[np].m_x = (float)0.0625191; cell.m_v[np].m_y = (float)-0.0164845; cell.m_v[np].m_z = (float)0.0640019; np++;
+    cell.m_p[np].m_x = (float)-0.0436643; cell.m_p[np].m_y = (float)-0.0803289; cell.m_p[np].m_z = (float)-0.016466; cell.m_hv[np].m_x = (float)0.0616864; cell.m_hv[np].m_y = (float)-0.0151529; cell.m_hv[np].m_z = (float)0.0768145; cell.m_v[np].m_x = (float)0.0669944; cell.m_v[np].m_y = (float)-0.0115672; cell.m_v[np].m_z = (float)0.0779332; np++;
+    cell.m_p[np].m_x = (float)-0.0461203; cell.m_p[np].m_y = (float)-0.0751655; cell.m_p[np].m_z = (float)-0.0170552; cell.m_hv[np].m_x = (float)0.0665003; cell.m_hv[np].m_y = (float)-0.0421098; cell.m_hv[np].m_z = (float)0.112227; cell.m_v[np].m_x = (float)0.0673439; cell.m_v[np].m_y = (float)-0.0353272; cell.m_v[np].m_z = (float)0.11435; np++;
+    cell.m_p[np].m_x = (float)-0.0465243; cell.m_p[np].m_y = (float)-0.0804644; cell.m_p[np].m_z = (float)-0.0141863; cell.m_hv[np].m_x = (float)0.00413806; cell.m_hv[np].m_y = (float)-0.00367176; cell.m_hv[np].m_z = (float)0.0381069; cell.m_v[np].m_x = (float)0.00870096; cell.m_v[np].m_y = (float)0.000768567; cell.m_v[np].m_z = (float)0.040962; np++;
+    cell.m_p[np].m_x = (float)-0.0431486; cell.m_p[np].m_y = (float)-0.0716904; cell.m_p[np].m_z = (float)-0.0157849; cell.m_hv[np].m_x = (float)-0.00354749; cell.m_hv[np].m_y = (float)0.00354909; cell.m_hv[np].m_z = (float)0.0351851; cell.m_v[np].m_x = (float)-0.000440842; cell.m_v[np].m_y = (float)0.0090623; cell.m_v[np].m_z = (float)0.0437563; np++;
+    cell.m_p[np].m_x = (float)-0.0393104; cell.m_p[np].m_y = (float)-0.080979; cell.m_p[np].m_z = (float)-0.0150611; cell.m_hv[np].m_x = (float)0.00207325; cell.m_hv[np].m_y = (float)-0.0159812; cell.m_hv[np].m_z = (float)0.0143996; cell.m_v[np].m_x = (float)0.0114938; cell.m_v[np].m_y = (float)-0.0130923; cell.m_v[np].m_z = (float)0.0145797; np++;
+    cell.m_p[np].m_x = (float)-0.0401687; cell.m_p[np].m_y = (float)-0.0802421; cell.m_p[np].m_z = (float)-0.0182278; cell.m_hv[np].m_x = (float)0.0295908; cell.m_hv[np].m_y = (float)-0.0020542; cell.m_hv[np].m_z = (float)0.0418529; cell.m_v[np].m_x = (float)0.0341541; cell.m_v[np].m_y = (float)0.000731658; cell.m_v[np].m_z = (float)0.0449913; np++;
+    cell.m_p[np].m_x = (float)-0.0414581; cell.m_p[np].m_y = (float)-0.0749999; cell.m_p[np].m_z = (float)-0.0198946; cell.m_hv[np].m_x = (float)0.057862; cell.m_hv[np].m_y = (float)-0.00981362; cell.m_hv[np].m_z = (float)0.0888339; cell.m_v[np].m_x = (float)0.0612757; cell.m_v[np].m_y = (float)-0.00239263; cell.m_v[np].m_z = (float)0.0929409; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 8; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0406023; cell.m_p[np].m_y = (float)-0.080953; cell.m_p[np].m_z = (float)-0.00837512; cell.m_hv[np].m_x = (float)-0.0938607; cell.m_hv[np].m_y = (float)-0.0404104; cell.m_hv[np].m_z = (float)-0.0675768; cell.m_v[np].m_x = (float)-0.0942601; cell.m_v[np].m_y = (float)-0.0368551; cell.m_v[np].m_z = (float)-0.0630483; np++;
+    cell.m_p[np].m_x = (float)-0.0432655; cell.m_p[np].m_y = (float)-0.0809145; cell.m_p[np].m_z = (float)-0.0120144; cell.m_hv[np].m_x = (float)0.0275748; cell.m_hv[np].m_y = (float)-0.0352418; cell.m_hv[np].m_z = (float)0.00603767; cell.m_v[np].m_x = (float)0.0298168; cell.m_v[np].m_y = (float)-0.0316884; cell.m_v[np].m_z = (float)0.0105986; np++;
+    cell.m_p[np].m_x = (float)-0.0457605; cell.m_p[np].m_y = (float)-0.0797355; cell.m_p[np].m_z = (float)-0.00493033; cell.m_hv[np].m_x = (float)-0.0931235; cell.m_hv[np].m_y = (float)-0.0286653; cell.m_hv[np].m_z = (float)-0.0489664; cell.m_v[np].m_x = (float)-0.0895392; cell.m_v[np].m_y = (float)-0.0239145; cell.m_v[np].m_z = (float)-0.0484363; np++;
+    cell.m_p[np].m_x = (float)-0.0472366; cell.m_p[np].m_y = (float)-0.0752751; cell.m_p[np].m_z = (float)-0.012251; cell.m_hv[np].m_x = (float)0.00172736; cell.m_hv[np].m_y = (float)0.00341026; cell.m_hv[np].m_z = (float)0.00869794; cell.m_v[np].m_x = (float)0.00525955; cell.m_v[np].m_y = (float)0.0125782; cell.m_v[np].m_z = (float)0.0110621; np++;
+    cell.m_p[np].m_x = (float)-0.0439361; cell.m_p[np].m_y = (float)-0.0806062; cell.m_p[np].m_z = (float)-0.00824256; cell.m_hv[np].m_x = (float)-0.0492019; cell.m_hv[np].m_y = (float)-0.0380573; cell.m_hv[np].m_z = (float)-0.0262368; cell.m_v[np].m_x = (float)-0.0452319; cell.m_v[np].m_y = (float)-0.0340653; cell.m_v[np].m_z = (float)-0.0222762; np++;
+    cell.m_p[np].m_x = (float)-0.0401195; cell.m_p[np].m_y = (float)-0.0729232; cell.m_p[np].m_z = (float)-0.00780829; cell.m_hv[np].m_x = (float)-0.0201301; cell.m_hv[np].m_y = (float)-0.0497513; cell.m_hv[np].m_z = (float)-0.00690826; cell.m_v[np].m_x = (float)-0.0253031; cell.m_v[np].m_y = (float)-0.0462406; cell.m_v[np].m_z = (float)-0.0109691; np++;
+    cell.m_p[np].m_x = (float)-0.0475312; cell.m_p[np].m_y = (float)-0.080722; cell.m_p[np].m_z = (float)-0.0093751; cell.m_hv[np].m_x = (float)-0.0393095; cell.m_hv[np].m_y = (float)0.00116008; cell.m_hv[np].m_z = (float)0.0237673; cell.m_v[np].m_x = (float)-0.0320542; cell.m_v[np].m_y = (float)0.00705641; cell.m_v[np].m_z = (float)0.0263426; np++;
+    cell.m_p[np].m_x = (float)-0.0425178; cell.m_p[np].m_y = (float)-0.0727275; cell.m_p[np].m_z = (float)-0.0100623; cell.m_hv[np].m_x = (float)-0.0840494; cell.m_hv[np].m_y = (float)-0.102049; cell.m_hv[np].m_z = (float)-0.0459585; cell.m_v[np].m_x = (float)-0.0823618; cell.m_v[np].m_y = (float)-0.0951026; cell.m_v[np].m_z = (float)-0.0450225; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 6; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0405128; cell.m_p[np].m_y = (float)-0.0810322; cell.m_p[np].m_z = (float)0.000601913; cell.m_hv[np].m_x = (float)-0.0743879; cell.m_hv[np].m_y = (float)0.0104818; cell.m_hv[np].m_z = (float)-0.0055143; cell.m_v[np].m_x = (float)-0.0764727; cell.m_v[np].m_y = (float)0.0117563; cell.m_v[np].m_z = (float)-0.00249605; np++;
+    cell.m_p[np].m_x = (float)-0.0396986; cell.m_p[np].m_y = (float)-0.0759185; cell.m_p[np].m_z = (float)0.000971339; cell.m_hv[np].m_x = (float)-0.109245; cell.m_hv[np].m_y = (float)-0.0395415; cell.m_hv[np].m_z = (float)-0.0595273; cell.m_v[np].m_x = (float)-0.108736; cell.m_v[np].m_y = (float)-0.0425217; cell.m_v[np].m_z = (float)-0.0565325; np++;
+    cell.m_p[np].m_x = (float)-0.047436; cell.m_p[np].m_y = (float)-0.0812714; cell.m_p[np].m_z = (float)-0.000164122; cell.m_hv[np].m_x = (float)-0.117453; cell.m_hv[np].m_y = (float)-0.0741568; cell.m_hv[np].m_z = (float)-0.045726; cell.m_v[np].m_x = (float)-0.115757; cell.m_v[np].m_y = (float)-0.0728671; cell.m_v[np].m_z = (float)-0.0411985; np++;
+    cell.m_p[np].m_x = (float)-0.0438705; cell.m_p[np].m_y = (float)-0.0808545; cell.m_p[np].m_z = (float)-0.00130104; cell.m_hv[np].m_x = (float)-0.0877512; cell.m_hv[np].m_y = (float)-0.0182686; cell.m_hv[np].m_z = (float)-0.006022; cell.m_v[np].m_x = (float)-0.0829197; cell.m_v[np].m_y = (float)-0.0172964; cell.m_v[np].m_z = (float)-0.00274786; np++;
+    cell.m_p[np].m_x = (float)-0.041792; cell.m_p[np].m_y = (float)-0.0814693; cell.m_p[np].m_z = (float)-0.00424374; cell.m_hv[np].m_x = (float)-0.0844478; cell.m_hv[np].m_y = (float)-0.0490092; cell.m_hv[np].m_z = (float)-0.0667017; cell.m_v[np].m_x = (float)-0.0827817; cell.m_v[np].m_y = (float)-0.0469074; cell.m_v[np].m_z = (float)-0.0625348; np++;
+    cell.m_p[np].m_x = (float)-0.0409793; cell.m_p[np].m_y = (float)-0.0766942; cell.m_p[np].m_z = (float)-0.00323194; cell.m_hv[np].m_x = (float)-0.101275; cell.m_hv[np].m_y = (float)0.0236301; cell.m_hv[np].m_z = (float)-0.0578896; cell.m_v[np].m_x = (float)-0.103398; cell.m_v[np].m_y = (float)0.0240247; cell.m_v[np].m_z = (float)-0.0589808; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 8; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0444174; cell.m_p[np].m_y = (float)-0.0818155; cell.m_p[np].m_z = (float)0.00749172; cell.m_hv[np].m_x = (float)-0.0741848; cell.m_hv[np].m_y = (float)-0.0678002; cell.m_hv[np].m_z = (float)0.0258317; cell.m_v[np].m_x = (float)-0.0706521; cell.m_v[np].m_y = (float)-0.0685204; cell.m_v[np].m_z = (float)0.0198246; np++;
+    cell.m_p[np].m_x = (float)-0.0469227; cell.m_p[np].m_y = (float)-0.0793839; cell.m_p[np].m_z = (float)0.0105563; cell.m_hv[np].m_x = (float)-0.0423582; cell.m_hv[np].m_y = (float)-0.0587304; cell.m_hv[np].m_z = (float)0.0544433; cell.m_v[np].m_x = (float)-0.0385094; cell.m_v[np].m_y = (float)-0.0515555; cell.m_v[np].m_z = (float)0.0521779; np++;
+    cell.m_p[np].m_x = (float)-0.0463054; cell.m_p[np].m_y = (float)-0.0762648; cell.m_p[np].m_z = (float)0.00828926; cell.m_hv[np].m_x = (float)-0.0454874; cell.m_hv[np].m_y = (float)0.0520291; cell.m_hv[np].m_z = (float)0.134361; cell.m_v[np].m_x = (float)-0.0436204; cell.m_v[np].m_y = (float)0.0395052; cell.m_v[np].m_z = (float)0.145562; np++;
+    cell.m_p[np].m_x = (float)-0.0461168; cell.m_p[np].m_y = (float)-0.075202; cell.m_p[np].m_z = (float)0.012297; cell.m_hv[np].m_x = (float)-0.08878; cell.m_hv[np].m_y = (float)0.0308515; cell.m_hv[np].m_z = (float)0.0201018; cell.m_v[np].m_x = (float)-0.0851865; cell.m_v[np].m_y = (float)0.026477; cell.m_v[np].m_z = (float)0.0212721; np++;
+    cell.m_p[np].m_x = (float)-0.0410924; cell.m_p[np].m_y = (float)-0.0811373; cell.m_p[np].m_z = (float)0.00791009; cell.m_hv[np].m_x = (float)-0.116797; cell.m_hv[np].m_y = (float)-0.000750997; cell.m_hv[np].m_z = (float)-0.0102299; cell.m_v[np].m_x = (float)-0.11491; cell.m_v[np].m_y = (float)-0.00216098; cell.m_v[np].m_z = (float)-0.0133424; np++;
+    cell.m_p[np].m_x = (float)-0.0428825; cell.m_p[np].m_y = (float)-0.0810535; cell.m_p[np].m_z = (float)0.011711; cell.m_hv[np].m_x = (float)-0.0282023; cell.m_hv[np].m_y = (float)-0.0584364; cell.m_hv[np].m_z = (float)0.0271734; cell.m_v[np].m_x = (float)-0.0215289; cell.m_v[np].m_y = (float)-0.0585771; cell.m_v[np].m_z = (float)0.023306; np++;
+    cell.m_p[np].m_x = (float)-0.0415643; cell.m_p[np].m_y = (float)-0.0765695; cell.m_p[np].m_z = (float)0.00984337; cell.m_hv[np].m_x = (float)0.00594555; cell.m_hv[np].m_y = (float)-0.0886125; cell.m_hv[np].m_z = (float)0.0618372; cell.m_v[np].m_x = (float)0.0076102; cell.m_v[np].m_y = (float)-0.0911616; cell.m_v[np].m_z = (float)0.0636786; np++;
+    cell.m_p[np].m_x = (float)-0.0392552; cell.m_p[np].m_y = (float)-0.0765576; cell.m_p[np].m_z = (float)0.00553776; cell.m_hv[np].m_x = (float)-0.0486464; cell.m_hv[np].m_y = (float)0.077492; cell.m_hv[np].m_z = (float)0.0196353; cell.m_v[np].m_x = (float)-0.0438143; cell.m_v[np].m_y = (float)0.0789916; cell.m_v[np].m_z = (float)0.0178081; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 8; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0472901; cell.m_p[np].m_y = (float)-0.0807219; cell.m_p[np].m_z = (float)0.019906; cell.m_hv[np].m_x = (float)0.057725; cell.m_hv[np].m_y = (float)-0.0415317; cell.m_hv[np].m_z = (float)-0.0599656; cell.m_v[np].m_x = (float)0.0603706; cell.m_v[np].m_y = (float)-0.0379152; cell.m_v[np].m_z = (float)-0.0649488; np++;
+    cell.m_p[np].m_x = (float)-0.0471548; cell.m_p[np].m_y = (float)-0.0813747; cell.m_p[np].m_z = (float)0.0134472; cell.m_hv[np].m_x = (float)0.0341105; cell.m_hv[np].m_y = (float)-0.0233469; cell.m_hv[np].m_z = (float)-0.00560056; cell.m_v[np].m_x = (float)0.0365468; cell.m_v[np].m_y = (float)-0.0211118; cell.m_v[np].m_z = (float)-0.00743052; np++;
+    cell.m_p[np].m_x = (float)-0.0408838; cell.m_p[np].m_y = (float)-0.0750919; cell.m_p[np].m_z = (float)0.0159999; cell.m_hv[np].m_x = (float)0.0168743; cell.m_hv[np].m_y = (float)-0.0218066; cell.m_hv[np].m_z = (float)-0.0687194; cell.m_v[np].m_x = (float)0.0153021; cell.m_v[np].m_y = (float)-0.0186078; cell.m_v[np].m_z = (float)-0.0702731; np++;
+    cell.m_p[np].m_x = (float)-0.0435709; cell.m_p[np].m_y = (float)-0.0812461; cell.m_p[np].m_z = (float)0.0175305; cell.m_hv[np].m_x = (float)-0.0208998; cell.m_hv[np].m_y = (float)-0.0164402; cell.m_hv[np].m_z = (float)-0.0867126; cell.m_v[np].m_x = (float)-0.0164352; cell.m_v[np].m_y = (float)-0.0134911; cell.m_v[np].m_z = (float)-0.0882307; np++;
+    cell.m_p[np].m_x = (float)-0.0475104; cell.m_p[np].m_y = (float)-0.0715334; cell.m_p[np].m_z = (float)0.0139481; cell.m_hv[np].m_x = (float)-0.0442126; cell.m_hv[np].m_y = (float)0.0476223; cell.m_hv[np].m_z = (float)-0.0175052; cell.m_v[np].m_x = (float)-0.041447; cell.m_v[np].m_y = (float)0.0444527; cell.m_v[np].m_z = (float)-0.0169533; np++;
+    cell.m_p[np].m_x = (float)-0.0406054; cell.m_p[np].m_y = (float)-0.0801939; cell.m_p[np].m_z = (float)0.0149404; cell.m_hv[np].m_x = (float)-0.0379839; cell.m_hv[np].m_y = (float)-0.00884209; cell.m_hv[np].m_z = (float)0.0113331; cell.m_v[np].m_x = (float)-0.0355735; cell.m_v[np].m_y = (float)-0.00892199; cell.m_v[np].m_z = (float)0.00979822; np++;
+    cell.m_p[np].m_x = (float)-0.0441364; cell.m_p[np].m_y = (float)-0.0770298; cell.m_p[np].m_z = (float)0.0151072; cell.m_hv[np].m_x = (float)-0.00549802; cell.m_hv[np].m_y = (float)0.0809122; cell.m_hv[np].m_z = (float)-0.0131593; cell.m_v[np].m_x = (float)-0.0055265; cell.m_v[np].m_y = (float)0.088168; cell.m_v[np].m_z = (float)-0.014084; np++;
+    cell.m_p[np].m_x = (float)-0.0470071; cell.m_p[np].m_y = (float)-0.074787; cell.m_p[np].m_z = (float)0.0174555; cell.m_hv[np].m_x = (float)-0.050788; cell.m_hv[np].m_y = (float)0.0137275; cell.m_hv[np].m_z = (float)-0.0613673; cell.m_v[np].m_x = (float)-0.0444777; cell.m_v[np].m_y = (float)0.0139806; cell.m_v[np].m_z = (float)-0.0631272; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 10; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0424183; cell.m_p[np].m_y = (float)-0.0805866; cell.m_p[np].m_z = (float)0.0254047; cell.m_hv[np].m_x = (float)0.0403313; cell.m_hv[np].m_y = (float)-0.0100152; cell.m_hv[np].m_z = (float)-0.0987651; cell.m_v[np].m_x = (float)0.0467358; cell.m_v[np].m_y = (float)-0.00849245; cell.m_v[np].m_z = (float)-0.0995128; np++;
+    cell.m_p[np].m_x = (float)-0.046354; cell.m_p[np].m_y = (float)-0.0807444; cell.m_p[np].m_z = (float)0.0258356; cell.m_hv[np].m_x = (float)0.0729924; cell.m_hv[np].m_y = (float)-0.0348801; cell.m_hv[np].m_z = (float)-0.0903841; cell.m_v[np].m_x = (float)0.0768329; cell.m_v[np].m_y = (float)-0.0342104; cell.m_v[np].m_z = (float)-0.0900702; np++;
+    cell.m_p[np].m_x = (float)-0.0392385; cell.m_p[np].m_y = (float)-0.0807499; cell.m_p[np].m_z = (float)0.0300667; cell.m_hv[np].m_x = (float)0.0708744; cell.m_hv[np].m_y = (float)-0.0293899; cell.m_hv[np].m_z = (float)-0.101765; cell.m_v[np].m_x = (float)0.078922; cell.m_v[np].m_y = (float)-0.0290486; cell.m_v[np].m_z = (float)-0.102486; np++;
+    cell.m_p[np].m_x = (float)-0.0390402; cell.m_p[np].m_y = (float)-0.0810566; cell.m_p[np].m_z = (float)0.0266623; cell.m_hv[np].m_x = (float)0.0893199; cell.m_hv[np].m_y = (float)-0.0275371; cell.m_hv[np].m_z = (float)-0.109476; cell.m_v[np].m_x = (float)0.0945485; cell.m_v[np].m_y = (float)-0.0281009; cell.m_v[np].m_z = (float)-0.109858; np++;
+    cell.m_p[np].m_x = (float)-0.0421882; cell.m_p[np].m_y = (float)-0.0765419; cell.m_p[np].m_z = (float)0.0297955; cell.m_hv[np].m_x = (float)0.110022; cell.m_hv[np].m_y = (float)-0.0298422; cell.m_hv[np].m_z = (float)-0.0759102; cell.m_v[np].m_x = (float)0.112168; cell.m_v[np].m_y = (float)-0.0244798; cell.m_v[np].m_z = (float)-0.0811885; np++;
+    cell.m_p[np].m_x = (float)-0.0450635; cell.m_p[np].m_y = (float)-0.0809546; cell.m_p[np].m_z = (float)0.0292512; cell.m_hv[np].m_x = (float)0.0860263; cell.m_hv[np].m_y = (float)-0.0228302; cell.m_hv[np].m_z = (float)-0.0864353; cell.m_v[np].m_x = (float)0.0907984; cell.m_v[np].m_y = (float)-0.0217541; cell.m_v[np].m_z = (float)-0.0870806; np++;
+    cell.m_p[np].m_x = (float)-0.041713; cell.m_p[np].m_y = (float)-0.0748781; cell.m_p[np].m_z = (float)0.0223148; cell.m_hv[np].m_x = (float)0.0314197; cell.m_hv[np].m_y = (float)-0.0290087; cell.m_hv[np].m_z = (float)-0.141231; cell.m_v[np].m_x = (float)0.0311976; cell.m_v[np].m_y = (float)-0.0232571; cell.m_v[np].m_z = (float)-0.142227; np++;
+    cell.m_p[np].m_x = (float)-0.0431882; cell.m_p[np].m_y = (float)-0.0806239; cell.m_p[np].m_z = (float)0.0216846; cell.m_hv[np].m_x = (float)0.0224012; cell.m_hv[np].m_y = (float)-0.00127786; cell.m_hv[np].m_z = (float)-0.0960377; cell.m_v[np].m_x = (float)0.0282844; cell.m_v[np].m_y = (float)0.00247818; cell.m_v[np].m_z = (float)-0.0976985; np++;
+    cell.m_p[np].m_x = (float)-0.0438297; cell.m_p[np].m_y = (float)-0.0721788; cell.m_p[np].m_z = (float)0.0279141; cell.m_hv[np].m_x = (float)0.00107995; cell.m_hv[np].m_y = (float)-0.0051053; cell.m_hv[np].m_z = (float)-0.113225; cell.m_v[np].m_x = (float)0.00145933; cell.m_v[np].m_y = (float)-0.0113605; cell.m_v[np].m_z = (float)-0.120024; np++;
+    cell.m_p[np].m_x = (float)-0.0462426; cell.m_p[np].m_y = (float)-0.0746756; cell.m_p[np].m_z = (float)0.022912; cell.m_hv[np].m_x = (float)0.0686694; cell.m_hv[np].m_y = (float)-0.040811; cell.m_hv[np].m_z = (float)-0.124763; cell.m_v[np].m_x = (float)0.0750195; cell.m_v[np].m_y = (float)-0.0429015; cell.m_v[np].m_z = (float)-0.125804; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 7; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0468477; cell.m_p[np].m_y = (float)-0.0750209; cell.m_p[np].m_z = (float)0.0306348; cell.m_hv[np].m_x = (float)0.116228; cell.m_hv[np].m_y = (float)-0.0651764; cell.m_hv[np].m_z = (float)-0.19831; cell.m_v[np].m_x = (float)0.1226; cell.m_v[np].m_y = (float)-0.062332; cell.m_v[np].m_z = (float)-0.205992; np++;
+    cell.m_p[np].m_x = (float)-0.0426192; cell.m_p[np].m_y = (float)-0.0764839; cell.m_p[np].m_z = (float)0.0368853; cell.m_hv[np].m_x = (float)0.159167; cell.m_hv[np].m_y = (float)-0.0332462; cell.m_hv[np].m_z = (float)-0.165847; cell.m_v[np].m_x = (float)0.162597; cell.m_v[np].m_y = (float)-0.0302914; cell.m_v[np].m_z = (float)-0.167995; np++;
+    cell.m_p[np].m_x = (float)-0.0419713; cell.m_p[np].m_y = (float)-0.072503; cell.m_p[np].m_z = (float)0.0321113; cell.m_hv[np].m_x = (float)0.119467; cell.m_hv[np].m_y = (float)-0.0576794; cell.m_hv[np].m_z = (float)-0.125633; cell.m_v[np].m_x = (float)0.122046; cell.m_v[np].m_y = (float)-0.0600135; cell.m_v[np].m_z = (float)-0.128351; np++;
+    cell.m_p[np].m_x = (float)-0.0453771; cell.m_p[np].m_y = (float)-0.0788837; cell.m_p[np].m_z = (float)0.0335358; cell.m_hv[np].m_x = (float)0.0787179; cell.m_hv[np].m_y = (float)-0.0179651; cell.m_hv[np].m_z = (float)-0.145322; cell.m_v[np].m_x = (float)0.0837632; cell.m_v[np].m_y = (float)-0.0174558; cell.m_v[np].m_z = (float)-0.14807; np++;
+    cell.m_p[np].m_x = (float)-0.040411; cell.m_p[np].m_y = (float)-0.0807791; cell.m_p[np].m_z = (float)0.0374645; cell.m_hv[np].m_x = (float)0.159877; cell.m_hv[np].m_y = (float)-0.00147006; cell.m_hv[np].m_z = (float)-0.180052; cell.m_v[np].m_x = (float)0.162956; cell.m_v[np].m_y = (float)0.0029614; cell.m_v[np].m_z = (float)-0.188877; np++;
+    cell.m_p[np].m_x = (float)-0.0448039; cell.m_p[np].m_y = (float)-0.0805554; cell.m_p[np].m_z = (float)0.0373708; cell.m_hv[np].m_x = (float)0.117969; cell.m_hv[np].m_y = (float)-0.0205; cell.m_hv[np].m_z = (float)-0.143104; cell.m_v[np].m_x = (float)0.122534; cell.m_v[np].m_y = (float)-0.0186964; cell.m_v[np].m_z = (float)-0.148099; np++;
+    cell.m_p[np].m_x = (float)-0.0439551; cell.m_p[np].m_y = (float)-0.0730976; cell.m_p[np].m_z = (float)0.0360254; cell.m_hv[np].m_x = (float)0.180213; cell.m_hv[np].m_y = (float)-0.103183; cell.m_hv[np].m_z = (float)-0.0843301; cell.m_v[np].m_x = (float)0.185467; cell.m_v[np].m_y = (float)-0.105699; cell.m_v[np].m_z = (float)-0.0857457; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 5; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0463584; cell.m_p[np].m_y = (float)-0.0762752; cell.m_p[np].m_z = (float)0.0439073; cell.m_hv[np].m_x = (float)0.154573; cell.m_hv[np].m_y = (float)-0.0133668; cell.m_hv[np].m_z = (float)-0.181361; cell.m_v[np].m_x = (float)0.155821; cell.m_v[np].m_y = (float)-0.00874502; cell.m_v[np].m_z = (float)-0.184739; np++;
+    cell.m_p[np].m_x = (float)-0.044685; cell.m_p[np].m_y = (float)-0.0803008; cell.m_p[np].m_z = (float)0.0415231; cell.m_hv[np].m_x = (float)0.140481; cell.m_hv[np].m_y = (float)-0.0044509; cell.m_hv[np].m_z = (float)-0.171704; cell.m_v[np].m_x = (float)0.142391; cell.m_v[np].m_y = (float)-0.00227767; cell.m_v[np].m_z = (float)-0.174925; np++;
+    cell.m_p[np].m_x = (float)-0.0416392; cell.m_p[np].m_y = (float)-0.0802387; cell.m_p[np].m_z = (float)0.0455853; cell.m_hv[np].m_x = (float)0.168352; cell.m_hv[np].m_y = (float)0.0119799; cell.m_hv[np].m_z = (float)-0.179118; cell.m_v[np].m_x = (float)0.168366; cell.m_v[np].m_y = (float)0.0139917; cell.m_v[np].m_z = (float)-0.181485; np++;
+    cell.m_p[np].m_x = (float)-0.0415247; cell.m_p[np].m_y = (float)-0.075409; cell.m_p[np].m_z = (float)0.0416261; cell.m_hv[np].m_x = (float)0.175534; cell.m_hv[np].m_y = (float)-0.0123693; cell.m_hv[np].m_z = (float)-0.161669; cell.m_v[np].m_x = (float)0.174686; cell.m_v[np].m_y = (float)-0.00934547; cell.m_v[np].m_z = (float)-0.166473; np++;
+    cell.m_p[np].m_x = (float)-0.0405575; cell.m_p[np].m_y = (float)-0.080563; cell.m_p[np].m_z = (float)0.0418102; cell.m_hv[np].m_x = (float)0.17253; cell.m_hv[np].m_y = (float)0.0326922; cell.m_hv[np].m_z = (float)-0.175554; cell.m_v[np].m_x = (float)0.173853; cell.m_v[np].m_y = (float)0.0369705; cell.m_v[np].m_z = (float)-0.180842; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.04395; cell.m_p[np].m_y = (float)-0.0805469; cell.m_p[np].m_z = (float)0.0488885; cell.m_hv[np].m_x = (float)0.122579; cell.m_hv[np].m_y = (float)0.0346232; cell.m_hv[np].m_z = (float)-0.196076; cell.m_v[np].m_x = (float)0.122844; cell.m_v[np].m_y = (float)0.036044; cell.m_v[np].m_z = (float)-0.196175; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 3; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0439777; cell.m_p[np].m_y = (float)-0.0769429; cell.m_p[np].m_z = (float)0.0618963; cell.m_hv[np].m_x = (float)0.15915; cell.m_hv[np].m_y = (float)-0.0685626; cell.m_hv[np].m_z = (float)-0.0582587; cell.m_v[np].m_x = (float)0.159578; cell.m_v[np].m_y = (float)-0.0691805; cell.m_v[np].m_z = (float)-0.0579441; np++;
+    cell.m_p[np].m_x = (float)-0.0473821; cell.m_p[np].m_y = (float)-0.0804611; cell.m_p[np].m_z = (float)0.0579795; cell.m_hv[np].m_x = (float)0.198517; cell.m_hv[np].m_y = (float)0.0391925; cell.m_hv[np].m_z = (float)-0.113852; cell.m_v[np].m_x = (float)0.201492; cell.m_v[np].m_y = (float)0.0425254; cell.m_v[np].m_z = (float)-0.111104; np++;
+    cell.m_p[np].m_x = (float)-0.0419461; cell.m_p[np].m_y = (float)-0.073509; cell.m_p[np].m_z = (float)0.0650187; cell.m_hv[np].m_x = (float)0.0883784; cell.m_hv[np].m_y = (float)-0.0312088; cell.m_hv[np].m_z = (float)-0.0350254; cell.m_v[np].m_x = (float)0.088743; cell.m_v[np].m_y = (float)-0.029662; cell.m_v[np].m_z = (float)-0.0315115; np++;
+    k++;j++;k = 0;
+    cell = cells[i][j][k]; cell.m_numPars = 2; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0399544; cell.m_p[np].m_y = (float)-0.0673813; cell.m_p[np].m_z = (float)-0.0619286; cell.m_hv[np].m_x = (float)0.219593; cell.m_hv[np].m_y = (float)-0.0949687; cell.m_hv[np].m_z = (float)0.0933928; cell.m_v[np].m_x = (float)0.218466; cell.m_v[np].m_y = (float)-0.0940699; cell.m_v[np].m_z = (float)0.092702; np++;
+    cell.m_p[np].m_x = (float)-0.0430168; cell.m_p[np].m_y = (float)-0.0713794; cell.m_p[np].m_z = (float)-0.0647494; cell.m_hv[np].m_x = (float)0.214144; cell.m_hv[np].m_y = (float)-0.0346885; cell.m_hv[np].m_z = (float)0.0347951; cell.m_v[np].m_x = (float)0.21578; cell.m_v[np].m_y = (float)-0.0300605; cell.m_v[np].m_z = (float)0.0319678; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0430027; cell.m_p[np].m_y = (float)-0.0664055; cell.m_p[np].m_z = (float)-0.0528256; cell.m_hv[np].m_x = (float)0.259597; cell.m_hv[np].m_y = (float)-0.0361079; cell.m_hv[np].m_z = (float)0.0737245; cell.m_v[np].m_x = (float)0.261046; cell.m_v[np].m_y = (float)-0.0331438; cell.m_v[np].m_z = (float)0.0757598; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 2; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0468248; cell.m_p[np].m_y = (float)-0.0699469; cell.m_p[np].m_z = (float)-0.0472651; cell.m_hv[np].m_x = (float)0.172098; cell.m_hv[np].m_y = (float)-0.0696835; cell.m_hv[np].m_z = (float)0.134055; cell.m_v[np].m_x = (float)0.172369; cell.m_v[np].m_y = (float)-0.0656346; cell.m_v[np].m_z = (float)0.135933; np++;
+    cell.m_p[np].m_x = (float)-0.0399169; cell.m_p[np].m_y = (float)-0.0641613; cell.m_p[np].m_z = (float)-0.0447493; cell.m_hv[np].m_x = (float)0.111688; cell.m_hv[np].m_y = (float)-0.0863482; cell.m_hv[np].m_z = (float)0.0324162; cell.m_v[np].m_x = (float)0.111731; cell.m_v[np].m_y = (float)-0.0833866; cell.m_v[np].m_z = (float)0.0353165; np++;
+    k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 4; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0438706; cell.m_p[np].m_y = (float)-0.0694133; cell.m_p[np].m_z = (float)-0.0236505; cell.m_hv[np].m_x = (float)0.0375138; cell.m_hv[np].m_y = (float)-0.0244975; cell.m_hv[np].m_z = (float)0.101988; cell.m_v[np].m_x = (float)0.0390592; cell.m_v[np].m_y = (float)-0.0218434; cell.m_v[np].m_z = (float)0.106282; np++;
+    cell.m_p[np].m_x = (float)-0.0432195; cell.m_p[np].m_y = (float)-0.0714265; cell.m_p[np].m_z = (float)-0.029946; cell.m_hv[np].m_x = (float)0.152509; cell.m_hv[np].m_y = (float)-0.0334024; cell.m_hv[np].m_z = (float)0.138437; cell.m_v[np].m_x = (float)0.149742; cell.m_v[np].m_y = (float)-0.0290994; cell.m_v[np].m_z = (float)0.136558; np++;
+    cell.m_p[np].m_x = (float)-0.04002; cell.m_p[np].m_y = (float)-0.0637811; cell.m_p[np].m_z = (float)-0.0266332; cell.m_hv[np].m_x = (float)0.0723423; cell.m_hv[np].m_y = (float)-0.0393993; cell.m_hv[np].m_z = (float)0.110032; cell.m_v[np].m_x = (float)0.0735157; cell.m_v[np].m_y = (float)-0.0368576; cell.m_v[np].m_z = (float)0.109571; np++;
+    cell.m_p[np].m_x = (float)-0.0400715; cell.m_p[np].m_y = (float)-0.0707052; cell.m_p[np].m_z = (float)-0.0263746; cell.m_hv[np].m_x = (float)0.108961; cell.m_hv[np].m_y = (float)8.9468e-05; cell.m_hv[np].m_z = (float)0.117649; cell.m_v[np].m_x = (float)0.113276; cell.m_v[np].m_y = (float)0.00229344; cell.m_v[np].m_z = (float)0.121616; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 5; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0407036; cell.m_p[np].m_y = (float)-0.0706681; cell.m_p[np].m_z = (float)-0.0135847; cell.m_hv[np].m_x = (float)0.0128848; cell.m_hv[np].m_y = (float)0.0705274; cell.m_hv[np].m_z = (float)-0.0617005; cell.m_v[np].m_x = (float)0.00850766; cell.m_v[np].m_y = (float)0.0711937; cell.m_v[np].m_z = (float)-0.0580065; np++;
+    cell.m_p[np].m_x = (float)-0.039201; cell.m_p[np].m_y = (float)-0.0702948; cell.m_p[np].m_z = (float)-0.0207405; cell.m_hv[np].m_x = (float)0.00855862; cell.m_hv[np].m_y = (float)0.0476426; cell.m_hv[np].m_z = (float)0.0743194; cell.m_v[np].m_x = (float)0.0128415; cell.m_v[np].m_y = (float)0.0523005; cell.m_v[np].m_z = (float)0.079508; np++;
+    cell.m_p[np].m_x = (float)-0.0398671; cell.m_p[np].m_y = (float)-0.0672974; cell.m_p[np].m_z = (float)-0.0168896; cell.m_hv[np].m_x = (float)0.00746144; cell.m_hv[np].m_y = (float)0.0114253; cell.m_hv[np].m_z = (float)0.026954; cell.m_v[np].m_x = (float)0.00918384; cell.m_v[np].m_y = (float)0.0147417; cell.m_v[np].m_z = (float)0.0299761; np++;
+    cell.m_p[np].m_x = (float)-0.0431881; cell.m_p[np].m_y = (float)-0.0658648; cell.m_p[np].m_z = (float)-0.0198495; cell.m_hv[np].m_x = (float)0.0343679; cell.m_hv[np].m_y = (float)-0.0263263; cell.m_hv[np].m_z = (float)0.126432; cell.m_v[np].m_x = (float)0.0399356; cell.m_v[np].m_y = (float)-0.025537; cell.m_v[np].m_z = (float)0.133331; np++;
+    cell.m_p[np].m_x = (float)-0.0420243; cell.m_p[np].m_y = (float)-0.0635074; cell.m_p[np].m_z = (float)-0.0167561; cell.m_hv[np].m_x = (float)-0.0401893; cell.m_hv[np].m_y = (float)0.142586; cell.m_hv[np].m_z = (float)0.0684748; cell.m_v[np].m_x = (float)-0.0350691; cell.m_v[np].m_y = (float)0.138087; cell.m_v[np].m_z = (float)0.0714127; np++;
+    k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 2; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0398361; cell.m_p[np].m_y = (float)-0.0699634; cell.m_p[np].m_z = (float)-0.000704991; cell.m_hv[np].m_x = (float)-0.0956108; cell.m_hv[np].m_y = (float)0.0399716; cell.m_hv[np].m_z = (float)-0.0462315; cell.m_v[np].m_x = (float)-0.0855503; cell.m_v[np].m_y = (float)0.0370032; cell.m_v[np].m_z = (float)-0.0543132; np++;
+    cell.m_p[np].m_x = (float)-0.0439861; cell.m_p[np].m_y = (float)-0.0686627; cell.m_p[np].m_z = (float)0.00193763; cell.m_hv[np].m_x = (float)-0.19925; cell.m_hv[np].m_y = (float)0.0321758; cell.m_hv[np].m_z = (float)0.0121849; cell.m_v[np].m_x = (float)-0.198714; cell.m_v[np].m_y = (float)0.0279152; cell.m_v[np].m_z = (float)0.0108267; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0408891; cell.m_p[np].m_y = (float)-0.0658091; cell.m_p[np].m_z = (float)0.00624317; cell.m_hv[np].m_x = (float)-0.109167; cell.m_hv[np].m_y = (float)0.176579; cell.m_hv[np].m_z = (float)-0.0433361; cell.m_v[np].m_x = (float)-0.105177; cell.m_v[np].m_y = (float)0.175456; cell.m_v[np].m_z = (float)-0.040053; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 5; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0416249; cell.m_p[np].m_y = (float)-0.0700201; cell.m_p[np].m_z = (float)0.014527; cell.m_hv[np].m_x = (float)0.0194786; cell.m_hv[np].m_y = (float)0.061452; cell.m_hv[np].m_z = (float)-0.0190502; cell.m_v[np].m_x = (float)0.0242867; cell.m_v[np].m_y = (float)0.0613838; cell.m_v[np].m_z = (float)-0.0175113; np++;
+    cell.m_p[np].m_x = (float)-0.0432054; cell.m_p[np].m_y = (float)-0.0700262; cell.m_p[np].m_z = (float)0.0178051; cell.m_hv[np].m_x = (float)0.00025309; cell.m_hv[np].m_y = (float)0.0356791; cell.m_hv[np].m_z = (float)-0.030368; cell.m_v[np].m_x = (float)0.0051903; cell.m_v[np].m_y = (float)0.0389009; cell.m_v[np].m_z = (float)-0.0294646; np++;
+    cell.m_p[np].m_x = (float)-0.0420972; cell.m_p[np].m_y = (float)-0.0651763; cell.m_p[np].m_z = (float)0.0191824; cell.m_hv[np].m_x = (float)0.00394071; cell.m_hv[np].m_y = (float)0.100086; cell.m_hv[np].m_z = (float)-0.0489953; cell.m_v[np].m_x = (float)0.0060534; cell.m_v[np].m_y = (float)0.100541; cell.m_v[np].m_z = (float)-0.0524986; np++;
+    cell.m_p[np].m_x = (float)-0.0418952; cell.m_p[np].m_y = (float)-0.0649777; cell.m_p[np].m_z = (float)0.015005; cell.m_hv[np].m_x = (float)-0.0335965; cell.m_hv[np].m_y = (float)0.138973; cell.m_hv[np].m_z = (float)-0.0387008; cell.m_v[np].m_x = (float)-0.0313767; cell.m_v[np].m_y = (float)0.139711; cell.m_v[np].m_z = (float)-0.0384644; np++;
+    cell.m_p[np].m_x = (float)-0.0467909; cell.m_p[np].m_y = (float)-0.0697387; cell.m_p[np].m_z = (float)0.019893; cell.m_hv[np].m_x = (float)-0.0229656; cell.m_hv[np].m_y = (float)0.0215712; cell.m_hv[np].m_z = (float)-0.0568249; cell.m_v[np].m_x = (float)-0.0185331; cell.m_v[np].m_y = (float)0.0224721; cell.m_v[np].m_z = (float)-0.059097; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 5; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0435224; cell.m_p[np].m_y = (float)-0.0652545; cell.m_p[np].m_z = (float)0.0266634; cell.m_hv[np].m_x = (float)-0.0446347; cell.m_hv[np].m_y = (float)-0.00338115; cell.m_hv[np].m_z = (float)-0.109443; cell.m_v[np].m_x = (float)-0.0409407; cell.m_v[np].m_y = (float)-0.00566338; cell.m_v[np].m_z = (float)-0.111616; np++;
+    cell.m_p[np].m_x = (float)-0.0420554; cell.m_p[np].m_y = (float)-0.0700537; cell.m_p[np].m_z = (float)0.0248751; cell.m_hv[np].m_x = (float)0.0447397; cell.m_hv[np].m_y = (float)0.0498625; cell.m_hv[np].m_z = (float)-0.148318; cell.m_v[np].m_x = (float)0.0475319; cell.m_v[np].m_y = (float)0.0487946; cell.m_v[np].m_z = (float)-0.153331; np++;
+    cell.m_p[np].m_x = (float)-0.0399742; cell.m_p[np].m_y = (float)-0.0657859; cell.m_p[np].m_z = (float)0.0292265; cell.m_hv[np].m_x = (float)0.0309974; cell.m_hv[np].m_y = (float)-0.0171341; cell.m_hv[np].m_z = (float)-0.0778087; cell.m_v[np].m_x = (float)0.0321038; cell.m_v[np].m_y = (float)-0.016888; cell.m_v[np].m_z = (float)-0.0775044; np++;
+    cell.m_p[np].m_x = (float)-0.0397165; cell.m_p[np].m_y = (float)-0.0666908; cell.m_p[np].m_z = (float)0.0246378; cell.m_hv[np].m_x = (float)0.0334892; cell.m_hv[np].m_y = (float)0.0875665; cell.m_hv[np].m_z = (float)-0.110385; cell.m_v[np].m_x = (float)0.0329441; cell.m_v[np].m_y = (float)0.0845747; cell.m_v[np].m_z = (float)-0.113058; np++;
+    cell.m_p[np].m_x = (float)-0.0460331; cell.m_p[np].m_y = (float)-0.0638398; cell.m_p[np].m_z = (float)0.021683; cell.m_hv[np].m_x = (float)-0.0162785; cell.m_hv[np].m_y = (float)0.0648535; cell.m_hv[np].m_z = (float)-0.0308456; cell.m_v[np].m_x = (float)-0.0136158; cell.m_v[np].m_y = (float)0.0662541; cell.m_v[np].m_z = (float)-0.0340347; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 4; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0402982; cell.m_p[np].m_y = (float)-0.0652573; cell.m_p[np].m_z = (float)0.0339542; cell.m_hv[np].m_x = (float)0.0688915; cell.m_hv[np].m_y = (float)-0.0398923; cell.m_hv[np].m_z = (float)-0.0585173; cell.m_v[np].m_x = (float)0.0725637; cell.m_v[np].m_y = (float)-0.0439146; cell.m_v[np].m_z = (float)-0.0606579; np++;
+    cell.m_p[np].m_x = (float)-0.0467672; cell.m_p[np].m_y = (float)-0.0657139; cell.m_p[np].m_z = (float)0.036128; cell.m_hv[np].m_x = (float)0.0869249; cell.m_hv[np].m_y = (float)-0.124203; cell.m_hv[np].m_z = (float)-0.102676; cell.m_v[np].m_x = (float)0.0886889; cell.m_v[np].m_y = (float)-0.125716; cell.m_v[np].m_z = (float)-0.107553; np++;
+    cell.m_p[np].m_x = (float)-0.0459215; cell.m_p[np].m_y = (float)-0.0697721; cell.m_p[np].m_z = (float)0.0325518; cell.m_hv[np].m_x = (float)0.0971033; cell.m_hv[np].m_y = (float)-0.100662; cell.m_hv[np].m_z = (float)-0.115798; cell.m_v[np].m_x = (float)0.0917893; cell.m_v[np].m_y = (float)-0.101744; cell.m_v[np].m_z = (float)-0.117276; np++;
+    cell.m_p[np].m_x = (float)-0.039486; cell.m_p[np].m_y = (float)-0.0683586; cell.m_p[np].m_z = (float)0.035096; cell.m_hv[np].m_x = (float)0.0739111; cell.m_hv[np].m_y = (float)-0.0266128; cell.m_hv[np].m_z = (float)-0.0716585; cell.m_v[np].m_x = (float)0.0773597; cell.m_v[np].m_y = (float)-0.0245992; cell.m_v[np].m_z = (float)-0.0752771; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0465746; cell.m_p[np].m_y = (float)-0.0651531; cell.m_p[np].m_z = (float)0.0407157; cell.m_hv[np].m_x = (float)0.126562; cell.m_hv[np].m_y = (float)-0.0559629; cell.m_hv[np].m_z = (float)-0.119447; cell.m_v[np].m_x = (float)0.127129; cell.m_v[np].m_y = (float)-0.048445; cell.m_v[np].m_z = (float)-0.11645; np++;
+    k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0408573; cell.m_p[np].m_y = (float)-0.0710634; cell.m_p[np].m_z = (float)0.0625714; cell.m_hv[np].m_x = (float)0.0667704; cell.m_hv[np].m_y = (float)-0.0723826; cell.m_hv[np].m_z = (float)-0.0534622; cell.m_v[np].m_x = (float)0.0648924; cell.m_v[np].m_y = (float)-0.0699724; cell.m_v[np].m_z = (float)-0.0511715; np++;
+    k++;j++;k = 0;k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 2; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0451677; cell.m_p[np].m_y = (float)-0.059653; cell.m_p[np].m_z = (float)-0.0395075; cell.m_hv[np].m_x = (float)-0.0550071; cell.m_hv[np].m_y = (float)-0.190384; cell.m_hv[np].m_z = (float)0.0844604; cell.m_v[np].m_x = (float)-0.0562242; cell.m_v[np].m_y = (float)-0.191346; cell.m_v[np].m_z = (float)0.0838284; np++;
+    cell.m_p[np].m_x = (float)-0.044073; cell.m_p[np].m_y = (float)-0.0590496; cell.m_p[np].m_z = (float)-0.0406831; cell.m_hv[np].m_x = (float)0.019569; cell.m_hv[np].m_y = (float)-0.152753; cell.m_hv[np].m_z = (float)-0.0205787; cell.m_v[np].m_x = (float)0.0197829; cell.m_v[np].m_y = (float)-0.15344; cell.m_v[np].m_z = (float)-0.0245212; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0407148; cell.m_p[np].m_y = (float)-0.0626961; cell.m_p[np].m_z = (float)-0.0345201; cell.m_hv[np].m_x = (float)0.0974162; cell.m_hv[np].m_y = (float)-0.0961435; cell.m_hv[np].m_z = (float)0.0885605; cell.m_v[np].m_x = (float)0.095687; cell.m_v[np].m_y = (float)-0.0942905; cell.m_v[np].m_z = (float)0.0860786; np++;
+    k++;k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 2; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0456114; cell.m_p[np].m_y = (float)-0.0605217; cell.m_p[np].m_z = (float)-0.0107203; cell.m_hv[np].m_x = (float)-0.109925; cell.m_hv[np].m_y = (float)0.19791; cell.m_hv[np].m_z = (float)-0.096776; cell.m_v[np].m_x = (float)-0.107699; cell.m_v[np].m_y = (float)0.202682; cell.m_v[np].m_z = (float)-0.102996; np++;
+    cell.m_p[np].m_x = (float)-0.0417419; cell.m_p[np].m_y = (float)-0.055403; cell.m_p[np].m_z = (float)-0.00519931; cell.m_hv[np].m_x = (float)-0.0653563; cell.m_hv[np].m_y = (float)0.150039; cell.m_hv[np].m_z = (float)-0.162222; cell.m_v[np].m_x = (float)-0.0680152; cell.m_v[np].m_y = (float)0.155021; cell.m_v[np].m_z = (float)-0.165346; np++;
+    k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0461511; cell.m_p[np].m_y = (float)-0.0614983; cell.m_p[np].m_z = (float)0.00719127; cell.m_hv[np].m_x = (float)-0.027018; cell.m_hv[np].m_y = (float)-0.0419344; cell.m_hv[np].m_z = (float)-0.0125592; cell.m_v[np].m_x = (float)-0.025074; cell.m_v[np].m_y = (float)-0.0437602; cell.m_v[np].m_z = (float)-0.0114809; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0444972; cell.m_p[np].m_y = (float)-0.0612091; cell.m_p[np].m_z = (float)0.015936; cell.m_hv[np].m_x = (float)-0.0460089; cell.m_hv[np].m_y = (float)0.177573; cell.m_hv[np].m_z = (float)-0.0173035; cell.m_v[np].m_x = (float)-0.0423373; cell.m_v[np].m_y = (float)0.17698; cell.m_v[np].m_z = (float)-0.0177205; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0423408; cell.m_p[np].m_y = (float)-0.0622993; cell.m_p[np].m_z = (float)0.0224369; cell.m_hv[np].m_x = (float)-0.0695684; cell.m_hv[np].m_y = (float)0.07915; cell.m_hv[np].m_z = (float)-0.0245522; cell.m_v[np].m_x = (float)-0.0676041; cell.m_v[np].m_y = (float)0.0816258; cell.m_v[np].m_z = (float)-0.0283609; np++;
+    k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;i++;j = 0;k = 0;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0382894; cell.m_p[np].m_y = (float)-0.0731213; cell.m_p[np].m_z = (float)-0.0567306; cell.m_hv[np].m_x = (float)0.223822; cell.m_hv[np].m_y = (float)-0.0597467; cell.m_hv[np].m_z = (float)0.103493; cell.m_v[np].m_x = (float)0.225505; cell.m_v[np].m_y = (float)-0.0580563; cell.m_v[np].m_z = (float)0.103609; np++;
+    k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0330114; cell.m_p[np].m_y = (float)-0.0802327; cell.m_p[np].m_z = (float)-0.0441701; cell.m_hv[np].m_x = (float)0.140832; cell.m_hv[np].m_y = (float)-0.0368227; cell.m_hv[np].m_z = (float)0.208376; cell.m_v[np].m_x = (float)0.141908; cell.m_v[np].m_y = (float)-0.0365505; cell.m_v[np].m_z = (float)0.210409; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 5; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0367109; cell.m_p[np].m_y = (float)-0.08061; cell.m_p[np].m_z = (float)-0.0335985; cell.m_hv[np].m_x = (float)0.166993; cell.m_hv[np].m_y = (float)-0.0352274; cell.m_hv[np].m_z = (float)0.0957909; cell.m_v[np].m_x = (float)0.170606; cell.m_v[np].m_y = (float)-0.0339197; cell.m_v[np].m_z = (float)0.0979943; np++;
+    cell.m_p[np].m_x = (float)-0.0321943; cell.m_p[np].m_y = (float)-0.0806188; cell.m_p[np].m_z = (float)-0.0318118; cell.m_hv[np].m_x = (float)0.0591164; cell.m_hv[np].m_y = (float)-0.0306325; cell.m_hv[np].m_z = (float)0.112788; cell.m_v[np].m_x = (float)0.0622456; cell.m_v[np].m_y = (float)-0.0293126; cell.m_v[np].m_z = (float)0.119317; np++;
+    cell.m_p[np].m_x = (float)-0.0367795; cell.m_p[np].m_y = (float)-0.073131; cell.m_p[np].m_z = (float)-0.0306322; cell.m_hv[np].m_x = (float)0.133176; cell.m_hv[np].m_y = (float)-0.00236666; cell.m_hv[np].m_z = (float)0.143937; cell.m_v[np].m_x = (float)0.136417; cell.m_v[np].m_y = (float)-0.00392816; cell.m_v[np].m_z = (float)0.144437; np++;
+    cell.m_p[np].m_x = (float)-0.0344967; cell.m_p[np].m_y = (float)-0.0806238; cell.m_p[np].m_z = (float)-0.0363872; cell.m_hv[np].m_x = (float)0.130264; cell.m_hv[np].m_y = (float)-0.0370861; cell.m_hv[np].m_z = (float)0.134432; cell.m_v[np].m_x = (float)0.131652; cell.m_v[np].m_y = (float)-0.0351583; cell.m_v[np].m_z = (float)0.138319; np++;
+    cell.m_p[np].m_x = (float)-0.033402; cell.m_p[np].m_y = (float)-0.0759662; cell.m_p[np].m_z = (float)-0.0334605; cell.m_hv[np].m_x = (float)0.176258; cell.m_hv[np].m_y = (float)-0.00661244; cell.m_hv[np].m_z = (float)0.132533; cell.m_v[np].m_x = (float)0.178598; cell.m_v[np].m_y = (float)-0.00461453; cell.m_v[np].m_z = (float)0.137806; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 8; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0361829; cell.m_p[np].m_y = (float)-0.0804401; cell.m_p[np].m_z = (float)-0.0300245; cell.m_hv[np].m_x = (float)0.142168; cell.m_hv[np].m_y = (float)-0.0241956; cell.m_hv[np].m_z = (float)0.0870529; cell.m_v[np].m_x = (float)0.146705; cell.m_v[np].m_y = (float)-0.0232934; cell.m_v[np].m_z = (float)0.0906736; np++;
+    cell.m_p[np].m_x = (float)-0.0373414; cell.m_p[np].m_y = (float)-0.0805574; cell.m_p[np].m_z = (float)-0.025407; cell.m_hv[np].m_x = (float)0.0851427; cell.m_hv[np].m_y = (float)-0.0208716; cell.m_hv[np].m_z = (float)0.0533133; cell.m_v[np].m_x = (float)0.0929857; cell.m_v[np].m_y = (float)-0.0200313; cell.m_v[np].m_z = (float)0.0556852; np++;
+    cell.m_p[np].m_x = (float)-0.0340871; cell.m_p[np].m_y = (float)-0.0806531; cell.m_p[np].m_z = (float)-0.0273085; cell.m_hv[np].m_x = (float)0.143846; cell.m_hv[np].m_y = (float)-0.0404177; cell.m_hv[np].m_z = (float)0.112378; cell.m_v[np].m_x = (float)0.149189; cell.m_v[np].m_y = (float)-0.039412; cell.m_v[np].m_z = (float)0.119245; np++;
+    cell.m_p[np].m_x = (float)-0.0332005; cell.m_p[np].m_y = (float)-0.0808889; cell.m_p[np].m_z = (float)-0.0238552; cell.m_hv[np].m_x = (float)0.0160598; cell.m_hv[np].m_y = (float)-0.00797062; cell.m_hv[np].m_z = (float)0.0378301; cell.m_v[np].m_x = (float)0.0240255; cell.m_v[np].m_y = (float)-0.00836767; cell.m_v[np].m_z = (float)0.0445537; np++;
+    cell.m_p[np].m_x = (float)-0.0330256; cell.m_p[np].m_y = (float)-0.0750987; cell.m_p[np].m_z = (float)-0.0297726; cell.m_hv[np].m_x = (float)0.0665099; cell.m_hv[np].m_y = (float)-0.0127441; cell.m_hv[np].m_z = (float)0.0781798; cell.m_v[np].m_x = (float)0.0700886; cell.m_v[np].m_y = (float)-0.0123444; cell.m_v[np].m_z = (float)0.0817391; np++;
+    cell.m_p[np].m_x = (float)-0.034095; cell.m_p[np].m_y = (float)-0.072667; cell.m_p[np].m_z = (float)-0.0244684; cell.m_hv[np].m_x = (float)0.0315767; cell.m_hv[np].m_y = (float)0.0265573; cell.m_hv[np].m_z = (float)0.0710781; cell.m_v[np].m_x = (float)0.0354157; cell.m_v[np].m_y = (float)0.0251297; cell.m_v[np].m_z = (float)0.0768008; np++;
+    cell.m_p[np].m_x = (float)-0.038201; cell.m_p[np].m_y = (float)-0.0759041; cell.m_p[np].m_z = (float)-0.0271439; cell.m_hv[np].m_x = (float)0.128551; cell.m_hv[np].m_y = (float)-0.00431786; cell.m_hv[np].m_z = (float)0.0774748; cell.m_v[np].m_x = (float)0.132223; cell.m_v[np].m_y = (float)-0.00204233; cell.m_v[np].m_z = (float)0.0806233; np++;
+    cell.m_p[np].m_x = (float)-0.0316039; cell.m_p[np].m_y = (float)-0.0769189; cell.m_p[np].m_z = (float)-0.0266625; cell.m_hv[np].m_x = (float)0.0118013; cell.m_hv[np].m_y = (float)0.104856; cell.m_hv[np].m_z = (float)0.0944466; cell.m_v[np].m_x = (float)0.016451; cell.m_v[np].m_y = (float)0.104017; cell.m_v[np].m_z = (float)0.096987; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 8; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0365736; cell.m_p[np].m_y = (float)-0.0757031; cell.m_p[np].m_z = (float)-0.0152179; cell.m_hv[np].m_x = (float)-0.0291955; cell.m_hv[np].m_y = (float)0.0660144; cell.m_hv[np].m_z = (float)-0.0340991; cell.m_v[np].m_x = (float)-0.0256222; cell.m_v[np].m_y = (float)0.0691604; cell.m_v[np].m_z = (float)-0.0326153; np++;
+    cell.m_p[np].m_x = (float)-0.0319055; cell.m_p[np].m_y = (float)-0.0813564; cell.m_p[np].m_z = (float)-0.021302; cell.m_hv[np].m_x = (float)0.0107381; cell.m_hv[np].m_y = (float)-0.0366997; cell.m_hv[np].m_z = (float)0.0107668; cell.m_v[np].m_x = (float)0.0150688; cell.m_v[np].m_y = (float)-0.0345615; cell.m_v[np].m_z = (float)0.00848661; np++;
+    cell.m_p[np].m_x = (float)-0.0338692; cell.m_p[np].m_y = (float)-0.0814308; cell.m_p[np].m_z = (float)-0.0163256; cell.m_hv[np].m_x = (float)-0.0766902; cell.m_hv[np].m_y = (float)-0.0461444; cell.m_hv[np].m_z = (float)-0.00822445; cell.m_v[np].m_x = (float)-0.0715736; cell.m_v[np].m_y = (float)-0.0440061; cell.m_v[np].m_z = (float)-0.00889261; np++;
+    cell.m_p[np].m_x = (float)-0.0355138; cell.m_p[np].m_y = (float)-0.0801974; cell.m_p[np].m_z = (float)-0.0182387; cell.m_hv[np].m_x = (float)-0.056333; cell.m_hv[np].m_y = (float)0.0393371; cell.m_hv[np].m_z = (float)-0.00880126; cell.m_v[np].m_x = (float)-0.0469322; cell.m_v[np].m_y = (float)0.0383156; cell.m_v[np].m_z = (float)-0.00652392; np++;
+    cell.m_p[np].m_x = (float)-0.0327551; cell.m_p[np].m_y = (float)-0.0725398; cell.m_p[np].m_z = (float)-0.020305; cell.m_hv[np].m_x = (float)-0.0107554; cell.m_hv[np].m_y = (float)0.0790283; cell.m_hv[np].m_z = (float)0.0472724; cell.m_v[np].m_x = (float)-0.00660847; cell.m_v[np].m_y = (float)0.078328; cell.m_v[np].m_z = (float)0.0499935; np++;
+    cell.m_p[np].m_x = (float)-0.03174; cell.m_p[np].m_y = (float)-0.0811489; cell.m_p[np].m_z = (float)-0.0138409; cell.m_hv[np].m_x = (float)-0.148927; cell.m_hv[np].m_y = (float)-0.00077186; cell.m_hv[np].m_z = (float)0.00848282; cell.m_v[np].m_x = (float)-0.146985; cell.m_v[np].m_y = (float)-0.00247591; cell.m_v[np].m_z = (float)0.00744722; np++;
+    cell.m_p[np].m_x = (float)-0.0364619; cell.m_p[np].m_y = (float)-0.0808497; cell.m_p[np].m_z = (float)-0.0212342; cell.m_hv[np].m_x = (float)0.064233; cell.m_hv[np].m_y = (float)-0.0159341; cell.m_hv[np].m_z = (float)-0.0340394; cell.m_v[np].m_x = (float)0.0732649; cell.m_v[np].m_y = (float)-0.0128019; cell.m_v[np].m_z = (float)-0.029509; np++;
+    cell.m_p[np].m_x = (float)-0.0369367; cell.m_p[np].m_y = (float)-0.0815886; cell.m_p[np].m_z = (float)-0.0131459; cell.m_hv[np].m_x = (float)-0.0989561; cell.m_hv[np].m_y = (float)-0.0286656; cell.m_hv[np].m_z = (float)0.00595702; cell.m_v[np].m_x = (float)-0.0950475; cell.m_v[np].m_y = (float)-0.0274693; cell.m_v[np].m_z = (float)0.00478979; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0381766; cell.m_p[np].m_y = (float)-0.0792614; cell.m_p[np].m_z = (float)-0.00571283; cell.m_hv[np].m_x = (float)-0.0913499; cell.m_hv[np].m_y = (float)0.0885109; cell.m_hv[np].m_z = (float)-0.0327641; cell.m_v[np].m_x = (float)-0.0895182; cell.m_v[np].m_y = (float)0.0884876; cell.m_v[np].m_z = (float)-0.0326179; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 2; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0381968; cell.m_p[np].m_y = (float)-0.0818208; cell.m_p[np].m_z = (float)-0.0025205; cell.m_hv[np].m_x = (float)-0.137471; cell.m_hv[np].m_y = (float)-0.0155693; cell.m_hv[np].m_z = (float)-0.0631336; cell.m_v[np].m_x = (float)-0.139148; cell.m_v[np].m_y = (float)-0.0152766; cell.m_v[np].m_z = (float)-0.0626889; np++;
+    cell.m_p[np].m_x = (float)-0.0388832; cell.m_p[np].m_y = (float)-0.0818264; cell.m_p[np].m_z = (float)0.00391804; cell.m_hv[np].m_x = (float)-0.133309; cell.m_hv[np].m_y = (float)-0.00998768; cell.m_hv[np].m_z = (float)0.0365838; cell.m_v[np].m_x = (float)-0.134945; cell.m_v[np].m_y = (float)-0.01016; cell.m_v[np].m_z = (float)0.0403896; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 5; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.037844; cell.m_p[np].m_y = (float)-0.0817397; cell.m_p[np].m_z = (float)0.00692601; cell.m_hv[np].m_x = (float)-0.0722391; cell.m_hv[np].m_y = (float)0.00605919; cell.m_hv[np].m_z = (float)-0.0295395; cell.m_v[np].m_x = (float)-0.0758456; cell.m_v[np].m_y = (float)0.00606114; cell.m_v[np].m_z = (float)-0.0339953; np++;
+    cell.m_p[np].m_x = (float)-0.0388774; cell.m_p[np].m_y = (float)-0.0808481; cell.m_p[np].m_z = (float)0.0118029; cell.m_hv[np].m_x = (float)-0.0338993; cell.m_hv[np].m_y = (float)0.0109961; cell.m_hv[np].m_z = (float)-0.0280595; cell.m_v[np].m_x = (float)-0.0297743; cell.m_v[np].m_y = (float)0.0114483; cell.m_v[np].m_z = (float)-0.0303325; np++;
+    cell.m_p[np].m_x = (float)-0.0387423; cell.m_p[np].m_y = (float)-0.0729158; cell.m_p[np].m_z = (float)0.0125892; cell.m_hv[np].m_x = (float)-0.0151527; cell.m_hv[np].m_y = (float)0.105882; cell.m_hv[np].m_z = (float)-0.00456462; cell.m_v[np].m_x = (float)-0.0137787; cell.m_v[np].m_y = (float)0.105524; cell.m_v[np].m_z = (float)-0.00386747; np++;
+    cell.m_p[np].m_x = (float)-0.0359141; cell.m_p[np].m_y = (float)-0.0810091; cell.m_p[np].m_z = (float)0.0112924; cell.m_hv[np].m_x = (float)-0.0190704; cell.m_hv[np].m_y = (float)0.00997541; cell.m_hv[np].m_z = (float)-0.0461114; cell.m_v[np].m_x = (float)-0.0181705; cell.m_v[np].m_y = (float)0.011137; cell.m_v[np].m_z = (float)-0.0480779; np++;
+    cell.m_p[np].m_x = (float)-0.0373589; cell.m_p[np].m_y = (float)-0.0753662; cell.m_p[np].m_z = (float)0.00947384; cell.m_hv[np].m_x = (float)-0.0447201; cell.m_hv[np].m_y = (float)0.0121302; cell.m_hv[np].m_z = (float)0.0106751; cell.m_v[np].m_x = (float)-0.0414143; cell.m_v[np].m_y = (float)0.0176302; cell.m_v[np].m_z = (float)0.00881478; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 5; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0376968; cell.m_p[np].m_y = (float)-0.0819791; cell.m_p[np].m_z = (float)0.016425; cell.m_hv[np].m_x = (float)-0.0279219; cell.m_hv[np].m_y = (float)0.00855755; cell.m_hv[np].m_z = (float)-0.0718419; cell.m_v[np].m_x = (float)-0.0262185; cell.m_v[np].m_y = (float)0.00864627; cell.m_v[np].m_z = (float)-0.0724764; np++;
+    cell.m_p[np].m_x = (float)-0.0335071; cell.m_p[np].m_y = (float)-0.0821324; cell.m_p[np].m_z = (float)0.0169553; cell.m_hv[np].m_x = (float)-0.00448358; cell.m_hv[np].m_y = (float)-0.00068464; cell.m_hv[np].m_z = (float)-0.00999938; cell.m_v[np].m_x = (float)-0.00277074; cell.m_v[np].m_y = (float)-0.00210821; cell.m_v[np].m_z = (float)-0.00928419; np++;
+    cell.m_p[np].m_x = (float)-0.0354614; cell.m_p[np].m_y = (float)-0.0799162; cell.m_p[np].m_z = (float)0.0188755; cell.m_hv[np].m_x = (float)-0.0342726; cell.m_hv[np].m_y = (float)0.0169588; cell.m_hv[np].m_z = (float)0.0168568; cell.m_v[np].m_x = (float)-0.0323688; cell.m_v[np].m_y = (float)0.018735; cell.m_v[np].m_z = (float)0.0178178; np++;
+    cell.m_p[np].m_x = (float)-0.0310843; cell.m_p[np].m_y = (float)-0.0781663; cell.m_p[np].m_z = (float)0.0190616; cell.m_hv[np].m_x = (float)-0.0195819; cell.m_hv[np].m_y = (float)0.10401; cell.m_hv[np].m_z = (float)-0.0579893; cell.m_v[np].m_x = (float)-0.0190854; cell.m_v[np].m_y = (float)0.104768; cell.m_v[np].m_z = (float)-0.0618834; np++;
+    cell.m_p[np].m_x = (float)-0.0375137; cell.m_p[np].m_y = (float)-0.0737168; cell.m_p[np].m_z = (float)0.017537; cell.m_hv[np].m_x = (float)0.00556345; cell.m_hv[np].m_y = (float)0.059935; cell.m_hv[np].m_z = (float)-0.0433547; cell.m_v[np].m_x = (float)0.00708873; cell.m_v[np].m_y = (float)0.0605349; cell.m_v[np].m_z = (float)-0.0427257; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 10; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0380384; cell.m_p[np].m_y = (float)-0.0734744; cell.m_p[np].m_z = (float)0.0267896; cell.m_hv[np].m_x = (float)0.0487602; cell.m_hv[np].m_y = (float)0.0537951; cell.m_hv[np].m_z = (float)-0.112627; cell.m_v[np].m_x = (float)0.051677; cell.m_v[np].m_y = (float)0.0495139; cell.m_v[np].m_z = (float)-0.114568; np++;
+    cell.m_p[np].m_x = (float)-0.0348421; cell.m_p[np].m_y = (float)-0.0815815; cell.m_p[np].m_z = (float)0.0240222; cell.m_hv[np].m_x = (float)-0.0627421; cell.m_hv[np].m_y = (float)-0.010127; cell.m_hv[np].m_z = (float)-0.0851996; cell.m_v[np].m_x = (float)-0.0608043; cell.m_v[np].m_y = (float)-0.0107247; cell.m_v[np].m_z = (float)-0.0832727; np++;
+    cell.m_p[np].m_x = (float)-0.0309954; cell.m_p[np].m_y = (float)-0.0809631; cell.m_p[np].m_z = (float)0.0259201; cell.m_hv[np].m_x = (float)0.0180391; cell.m_hv[np].m_y = (float)0.00087636; cell.m_hv[np].m_z = (float)-0.132318; cell.m_v[np].m_x = (float)0.0206855; cell.m_v[np].m_y = (float)-1.7217e-05; cell.m_v[np].m_z = (float)-0.127558; np++;
+    cell.m_p[np].m_x = (float)-0.0326734; cell.m_p[np].m_y = (float)-0.0760618; cell.m_p[np].m_z = (float)0.0247774; cell.m_hv[np].m_x = (float)0.0315637; cell.m_hv[np].m_y = (float)0.0215633; cell.m_hv[np].m_z = (float)-0.0800581; cell.m_v[np].m_x = (float)0.0329921; cell.m_v[np].m_y = (float)0.0222722; cell.m_v[np].m_z = (float)-0.0765267; np++;
+    cell.m_p[np].m_x = (float)-0.0305704; cell.m_p[np].m_y = (float)-0.0807186; cell.m_p[np].m_z = (float)0.029503; cell.m_hv[np].m_x = (float)0.0233545; cell.m_hv[np].m_y = (float)-0.0209783; cell.m_hv[np].m_z = (float)-0.0871278; cell.m_v[np].m_x = (float)0.0274306; cell.m_v[np].m_y = (float)-0.020664; cell.m_v[np].m_z = (float)-0.0884105; np++;
+    cell.m_p[np].m_x = (float)-0.0345764; cell.m_p[np].m_y = (float)-0.0755347; cell.m_p[np].m_z = (float)0.0301839; cell.m_hv[np].m_x = (float)0.0621712; cell.m_hv[np].m_y = (float)-0.0181189; cell.m_hv[np].m_z = (float)-0.0930619; cell.m_v[np].m_x = (float)0.0631; cell.m_v[np].m_y = (float)-0.0188664; cell.m_v[np].m_z = (float)-0.0954834; np++;
+    cell.m_p[np].m_x = (float)-0.0315004; cell.m_p[np].m_y = (float)-0.0757834; cell.m_p[np].m_z = (float)0.0289117; cell.m_hv[np].m_x = (float)0.113212; cell.m_hv[np].m_y = (float)-0.0545675; cell.m_hv[np].m_z = (float)-0.0976905; cell.m_v[np].m_x = (float)0.111806; cell.m_v[np].m_y = (float)-0.0551767; cell.m_v[np].m_z = (float)-0.100172; np++;
+    cell.m_p[np].m_x = (float)-0.0365567; cell.m_p[np].m_y = (float)-0.0771959; cell.m_p[np].m_z = (float)0.0256615; cell.m_hv[np].m_x = (float)0.0446174; cell.m_hv[np].m_y = (float)0.113175; cell.m_hv[np].m_z = (float)-0.0798602; cell.m_v[np].m_x = (float)0.0492975; cell.m_v[np].m_y = (float)0.11768; cell.m_v[np].m_z = (float)-0.0805232; np++;
+    cell.m_p[np].m_x = (float)-0.0386843; cell.m_p[np].m_y = (float)-0.0814157; cell.m_p[np].m_z = (float)0.0228939; cell.m_hv[np].m_x = (float)0.0754999; cell.m_hv[np].m_y = (float)-0.0288188; cell.m_hv[np].m_z = (float)-0.0962381; cell.m_v[np].m_x = (float)0.080583; cell.m_v[np].m_y = (float)-0.0282078; cell.m_v[np].m_z = (float)-0.0945768; np++;
+    cell.m_p[np].m_x = (float)-0.0381487; cell.m_p[np].m_y = (float)-0.0737937; cell.m_p[np].m_z = (float)0.021669; cell.m_hv[np].m_x = (float)0.00866377; cell.m_hv[np].m_y = (float)0.0856949; cell.m_hv[np].m_z = (float)-0.0887388; cell.m_v[np].m_x = (float)0.00984013; cell.m_v[np].m_y = (float)0.0837575; cell.m_v[np].m_z = (float)-0.088668; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 7; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0357626; cell.m_p[np].m_y = (float)-0.0808373; cell.m_p[np].m_z = (float)0.0309672; cell.m_hv[np].m_x = (float)0.0373925; cell.m_hv[np].m_y = (float)-0.0409914; cell.m_hv[np].m_z = (float)-0.096023; cell.m_v[np].m_x = (float)0.0403704; cell.m_v[np].m_y = (float)-0.0403225; cell.m_v[np].m_z = (float)-0.0990785; np++;
+    cell.m_p[np].m_x = (float)-0.0341853; cell.m_p[np].m_y = (float)-0.0808568; cell.m_p[np].m_z = (float)0.0341703; cell.m_hv[np].m_x = (float)0.0573376; cell.m_hv[np].m_y = (float)-0.0065412; cell.m_hv[np].m_z = (float)-0.0941364; cell.m_v[np].m_x = (float)0.0623012; cell.m_v[np].m_y = (float)-0.00592676; cell.m_v[np].m_z = (float)-0.100868; np++;
+    cell.m_p[np].m_x = (float)-0.0389637; cell.m_p[np].m_y = (float)-0.0803908; cell.m_p[np].m_z = (float)0.0341725; cell.m_hv[np].m_x = (float)0.135975; cell.m_hv[np].m_y = (float)-0.0145416; cell.m_hv[np].m_z = (float)-0.111008; cell.m_v[np].m_x = (float)0.14023; cell.m_v[np].m_y = (float)-0.0126555; cell.m_v[np].m_z = (float)-0.117852; np++;
+    cell.m_p[np].m_x = (float)-0.0380986; cell.m_p[np].m_y = (float)-0.0755897; cell.m_p[np].m_z = (float)0.037618; cell.m_hv[np].m_x = (float)0.171712; cell.m_hv[np].m_y = (float)0.00605772; cell.m_hv[np].m_z = (float)-0.127455; cell.m_v[np].m_x = (float)0.17363; cell.m_v[np].m_y = (float)0.00798232; cell.m_v[np].m_z = (float)-0.135219; np++;
+    cell.m_p[np].m_x = (float)-0.0324987; cell.m_p[np].m_y = (float)-0.0717906; cell.m_p[np].m_z = (float)0.0318438; cell.m_hv[np].m_x = (float)0.066857; cell.m_hv[np].m_y = (float)0.0485182; cell.m_hv[np].m_z = (float)-0.171387; cell.m_v[np].m_x = (float)0.0676743; cell.m_v[np].m_y = (float)0.0466169; cell.m_v[np].m_z = (float)-0.173035; np++;
+    cell.m_p[np].m_x = (float)-0.0353787; cell.m_p[np].m_y = (float)-0.0807286; cell.m_p[np].m_z = (float)0.0373029; cell.m_hv[np].m_x = (float)0.108515; cell.m_hv[np].m_y = (float)0.0112551; cell.m_hv[np].m_z = (float)-0.0708964; cell.m_v[np].m_x = (float)0.11488; cell.m_v[np].m_y = (float)0.0149202; cell.m_v[np].m_z = (float)-0.0822358; np++;
+    cell.m_p[np].m_x = (float)-0.0320524; cell.m_p[np].m_y = (float)-0.0741489; cell.m_p[np].m_z = (float)0.0366276; cell.m_hv[np].m_x = (float)0.118139; cell.m_hv[np].m_y = (float)0.0322705; cell.m_hv[np].m_z = (float)-0.0698347; cell.m_v[np].m_x = (float)0.122229; cell.m_v[np].m_y = (float)0.0349505; cell.m_v[np].m_z = (float)-0.0760613; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0331087; cell.m_p[np].m_y = (float)-0.0717784; cell.m_p[np].m_z = (float)0.0400913; cell.m_hv[np].m_x = (float)0.143752; cell.m_hv[np].m_y = (float)0.0320334; cell.m_hv[np].m_z = (float)-0.0622044; cell.m_v[np].m_x = (float)0.145569; cell.m_v[np].m_y = (float)0.0343085; cell.m_v[np].m_z = (float)-0.065225; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0378503; cell.m_p[np].m_y = (float)-0.0804244; cell.m_p[np].m_z = (float)0.0519747; cell.m_hv[np].m_x = (float)0.182569; cell.m_hv[np].m_y = (float)0.0427637; cell.m_hv[np].m_z = (float)-0.131257; cell.m_v[np].m_x = (float)0.180657; cell.m_v[np].m_y = (float)0.0460663; cell.m_v[np].m_z = (float)-0.130019; np++;
+    k++;k++;j++;k = 0;k++;k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0321904; cell.m_p[np].m_y = (float)-0.0631805; cell.m_p[np].m_z = (float)-0.0327451; cell.m_hv[np].m_x = (float)0.123925; cell.m_hv[np].m_y = (float)0.0732992; cell.m_hv[np].m_z = (float)0.0999711; cell.m_v[np].m_x = (float)0.127378; cell.m_v[np].m_y = (float)0.077679; cell.m_v[np].m_z = (float)0.102064; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 3; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0333082; cell.m_p[np].m_y = (float)-0.0635148; cell.m_p[np].m_z = (float)-0.0287743; cell.m_hv[np].m_x = (float)0.083931; cell.m_hv[np].m_y = (float)0.0842251; cell.m_hv[np].m_z = (float)0.0503567; cell.m_v[np].m_x = (float)0.0877792; cell.m_v[np].m_y = (float)0.0865947; cell.m_v[np].m_z = (float)0.0527738; np++;
+    cell.m_p[np].m_x = (float)-0.0347418; cell.m_p[np].m_y = (float)-0.0695851; cell.m_p[np].m_z = (float)-0.0282576; cell.m_hv[np].m_x = (float)0.0965637; cell.m_hv[np].m_y = (float)0.0604759; cell.m_hv[np].m_z = (float)0.0759468; cell.m_v[np].m_x = (float)0.0996473; cell.m_v[np].m_y = (float)0.0624449; cell.m_v[np].m_z = (float)0.0800924; np++;
+    cell.m_p[np].m_x = (float)-0.0304201; cell.m_p[np].m_y = (float)-0.0693465; cell.m_p[np].m_z = (float)-0.0229633; cell.m_hv[np].m_x = (float)0.00678669; cell.m_hv[np].m_y = (float)0.0865467; cell.m_hv[np].m_z = (float)0.0393738; cell.m_v[np].m_x = (float)0.0122253; cell.m_v[np].m_y = (float)0.0887426; cell.m_v[np].m_z = (float)0.0438936; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 4; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0307095; cell.m_p[np].m_y = (float)-0.0644796; cell.m_p[np].m_z = (float)-0.0152171; cell.m_hv[np].m_x = (float)0.0123325; cell.m_hv[np].m_y = (float)0.243824; cell.m_hv[np].m_z = (float)-0.0332044; cell.m_v[np].m_x = (float)0.0107529; cell.m_v[np].m_y = (float)0.240499; cell.m_v[np].m_z = (float)-0.0348922; np++;
+    cell.m_p[np].m_x = (float)-0.0330315; cell.m_p[np].m_y = (float)-0.0710971; cell.m_p[np].m_z = (float)-0.015087; cell.m_hv[np].m_x = (float)-0.0661506; cell.m_hv[np].m_y = (float)0.132123; cell.m_hv[np].m_z = (float)0.00987417; cell.m_v[np].m_x = (float)-0.0658686; cell.m_v[np].m_y = (float)0.133184; cell.m_v[np].m_z = (float)0.00943724; np++;
+    cell.m_p[np].m_x = (float)-0.0359495; cell.m_p[np].m_y = (float)-0.0675158; cell.m_p[np].m_z = (float)-0.0213052; cell.m_hv[np].m_x = (float)0.000677062; cell.m_hv[np].m_y = (float)0.0588892; cell.m_hv[np].m_z = (float)0.0463596; cell.m_v[np].m_x = (float)0.00171609; cell.m_v[np].m_y = (float)0.0587786; cell.m_v[np].m_z = (float)0.0520348; np++;
+    cell.m_p[np].m_x = (float)-0.0340263; cell.m_p[np].m_y = (float)-0.0658182; cell.m_p[np].m_z = (float)-0.0136836; cell.m_hv[np].m_x = (float)0.0124729; cell.m_hv[np].m_y = (float)0.173402; cell.m_hv[np].m_z = (float)-0.0136846; cell.m_v[np].m_x = (float)0.0131514; cell.m_v[np].m_y = (float)0.17468; cell.m_v[np].m_z = (float)-0.0173326; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 2; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0370668; cell.m_p[np].m_y = (float)-0.0713181; cell.m_p[np].m_z = (float)-0.0126348; cell.m_hv[np].m_x = (float)-0.022138; cell.m_hv[np].m_y = (float)0.0664685; cell.m_hv[np].m_z = (float)-0.00387834; cell.m_v[np].m_x = (float)-0.0240972; cell.m_v[np].m_y = (float)0.0696428; cell.m_v[np].m_z = (float)-0.00399871; np++;
+    cell.m_p[np].m_x = (float)-0.0331859; cell.m_p[np].m_y = (float)-0.064982; cell.m_p[np].m_z = (float)-0.00692709; cell.m_hv[np].m_x = (float)-0.00757205; cell.m_hv[np].m_y = (float)0.21135; cell.m_hv[np].m_z = (float)-0.0350765; cell.m_v[np].m_x = (float)-0.0060752; cell.m_v[np].m_y = (float)0.207189; cell.m_v[np].m_z = (float)-0.030746; np++;
+    k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 2; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0358967; cell.m_p[np].m_y = (float)-0.0662173; cell.m_p[np].m_z = (float)0.011148; cell.m_hv[np].m_x = (float)0.0244018; cell.m_hv[np].m_y = (float)0.164864; cell.m_hv[np].m_z = (float)-0.0486675; cell.m_v[np].m_x = (float)0.0295528; cell.m_v[np].m_y = (float)0.161861; cell.m_v[np].m_z = (float)-0.0468908; np++;
+    cell.m_p[np].m_x = (float)-0.0322368; cell.m_p[np].m_y = (float)-0.0668936; cell.m_p[np].m_z = (float)0.00625117; cell.m_hv[np].m_x = (float)-0.113932; cell.m_hv[np].m_y = (float)0.164387; cell.m_hv[np].m_z = (float)-0.0362009; cell.m_v[np].m_x = (float)-0.114972; cell.m_v[np].m_y = (float)0.157541; cell.m_v[np].m_z = (float)-0.0341942; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 2; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0316738; cell.m_p[np].m_y = (float)-0.0660678; cell.m_p[np].m_z = (float)0.0145617; cell.m_hv[np].m_x = (float)-0.0322684; cell.m_hv[np].m_y = (float)0.140147; cell.m_hv[np].m_z = (float)-0.0208241; cell.m_v[np].m_x = (float)-0.0294659; cell.m_v[np].m_y = (float)0.140503; cell.m_v[np].m_z = (float)-0.0239721; np++;
+    cell.m_p[np].m_x = (float)-0.0312546; cell.m_p[np].m_y = (float)-0.0699271; cell.m_p[np].m_z = (float)0.0181214; cell.m_hv[np].m_x = (float)-0.0883648; cell.m_hv[np].m_y = (float)0.113893; cell.m_hv[np].m_z = (float)-0.0308085; cell.m_v[np].m_x = (float)-0.0885129; cell.m_v[np].m_y = (float)0.115954; cell.m_v[np].m_z = (float)-0.0305513; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 5; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.034537; cell.m_p[np].m_y = (float)-0.0690334; cell.m_p[np].m_z = (float)0.0274549; cell.m_hv[np].m_x = (float)0.0803607; cell.m_hv[np].m_y = (float)0.0634625; cell.m_hv[np].m_z = (float)-0.0860242; cell.m_v[np].m_x = (float)0.0827649; cell.m_v[np].m_y = (float)0.0628615; cell.m_v[np].m_z = (float)-0.0900203; np++;
+    cell.m_p[np].m_x = (float)-0.0355563; cell.m_p[np].m_y = (float)-0.0643254; cell.m_p[np].m_z = (float)0.0262166; cell.m_hv[np].m_x = (float)0.0446229; cell.m_hv[np].m_y = (float)0.0761019; cell.m_hv[np].m_z = (float)-0.0847584; cell.m_v[np].m_x = (float)0.0469639; cell.m_v[np].m_y = (float)0.0746178; cell.m_v[np].m_z = (float)-0.0873832; np++;
+    cell.m_p[np].m_x = (float)-0.0306149; cell.m_p[np].m_y = (float)-0.0695155; cell.m_p[np].m_z = (float)0.0267515; cell.m_hv[np].m_x = (float)0.0577616; cell.m_hv[np].m_y = (float)0.0460033; cell.m_hv[np].m_z = (float)-0.0875238; cell.m_v[np].m_x = (float)0.0624827; cell.m_v[np].m_y = (float)0.0455263; cell.m_v[np].m_z = (float)-0.0935764; np++;
+    cell.m_p[np].m_x = (float)-0.0305147; cell.m_p[np].m_y = (float)-0.0644823; cell.m_p[np].m_z = (float)0.0260993; cell.m_hv[np].m_x = (float)0.0329126; cell.m_hv[np].m_y = (float)0.122147; cell.m_hv[np].m_z = (float)-0.0791317; cell.m_v[np].m_x = (float)0.036745; cell.m_v[np].m_y = (float)0.120782; cell.m_v[np].m_z = (float)-0.0830235; np++;
+    cell.m_p[np].m_x = (float)-0.0325083; cell.m_p[np].m_y = (float)-0.0647397; cell.m_p[np].m_z = (float)0.0217827; cell.m_hv[np].m_x = (float)0.00107558; cell.m_hv[np].m_y = (float)0.156992; cell.m_hv[np].m_z = (float)-0.0372315; cell.m_v[np].m_x = (float)0.00255532; cell.m_v[np].m_y = (float)0.156079; cell.m_v[np].m_z = (float)-0.039588; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 2; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.036272; cell.m_p[np].m_y = (float)-0.0633776; cell.m_p[np].m_z = (float)0.0374103; cell.m_hv[np].m_x = (float)0.0816137; cell.m_hv[np].m_y = (float)0.0415243; cell.m_hv[np].m_z = (float)-0.110491; cell.m_v[np].m_x = (float)0.0833067; cell.m_v[np].m_y = (float)0.0436718; cell.m_v[np].m_z = (float)-0.111676; np++;
+    cell.m_p[np].m_x = (float)-0.0333027; cell.m_p[np].m_y = (float)-0.0634862; cell.m_p[np].m_z = (float)0.0310826; cell.m_hv[np].m_x = (float)0.0523177; cell.m_hv[np].m_y = (float)0.096039; cell.m_hv[np].m_z = (float)-0.110283; cell.m_v[np].m_x = (float)0.0532259; cell.m_v[np].m_y = (float)0.0983387; cell.m_v[np].m_z = (float)-0.111065; np++;
+    k++;k++;k++;k++;j++;k = 0;k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0345771; cell.m_p[np].m_y = (float)-0.0602655; cell.m_p[np].m_z = (float)-0.0415393; cell.m_hv[np].m_x = (float)0.0672868; cell.m_hv[np].m_y = (float)-0.138141; cell.m_hv[np].m_z = (float)0.0213899; cell.m_v[np].m_x = (float)0.0693979; cell.m_v[np].m_y = (float)-0.13547; cell.m_v[np].m_z = (float)0.0184883; np++;
+    k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0345634; cell.m_p[np].m_y = (float)-0.0620752; cell.m_p[np].m_z = (float)-0.0237573; cell.m_hv[np].m_x = (float)0.0224758; cell.m_hv[np].m_y = (float)0.131172; cell.m_hv[np].m_z = (float)0.0373961; cell.m_v[np].m_x = (float)0.0243997; cell.m_v[np].m_y = (float)0.131946; cell.m_v[np].m_z = (float)0.040856; np++;
+    k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 2; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0363783; cell.m_p[np].m_y = (float)-0.0609074; cell.m_p[np].m_z = (float)-0.00811888; cell.m_hv[np].m_x = (float)-0.0970553; cell.m_hv[np].m_y = (float)0.181904; cell.m_hv[np].m_z = (float)0.00107372; cell.m_v[np].m_x = (float)-0.0918878; cell.m_v[np].m_y = (float)0.182046; cell.m_v[np].m_z = (float)0.00304789; np++;
+    cell.m_p[np].m_x = (float)-0.0303488; cell.m_p[np].m_y = (float)-0.0614818; cell.m_p[np].m_z = (float)-0.0118343; cell.m_hv[np].m_x = (float)-0.0090926; cell.m_hv[np].m_y = (float)0.223855; cell.m_hv[np].m_z = (float)-0.0693948; cell.m_v[np].m_x = (float)-0.00817022; cell.m_v[np].m_y = (float)0.22238; cell.m_v[np].m_z = (float)-0.0680487; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0364086; cell.m_p[np].m_y = (float)-0.0609792; cell.m_p[np].m_z = (float)0.00319847; cell.m_hv[np].m_x = (float)-0.0475975; cell.m_hv[np].m_y = (float)0.262427; cell.m_hv[np].m_z = (float)-0.0308847; cell.m_v[np].m_x = (float)-0.0331611; cell.m_v[np].m_y = (float)0.265639; cell.m_v[np].m_z = (float)-0.031291; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 3; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.036576; cell.m_p[np].m_y = (float)-0.0602743; cell.m_p[np].m_z = (float)0.0120361; cell.m_hv[np].m_x = (float)-0.0200922; cell.m_hv[np].m_y = (float)0.176207; cell.m_hv[np].m_z = (float)-0.0377745; cell.m_v[np].m_x = (float)-0.0116621; cell.m_v[np].m_y = (float)0.178718; cell.m_v[np].m_z = (float)-0.0351331; np++;
+    cell.m_p[np].m_x = (float)-0.0362476; cell.m_p[np].m_y = (float)-0.0587419; cell.m_p[np].m_z = (float)0.00770412; cell.m_hv[np].m_x = (float)-0.0486366; cell.m_hv[np].m_y = (float)0.224032; cell.m_hv[np].m_z = (float)-0.0630489; cell.m_v[np].m_x = (float)-0.0404711; cell.m_v[np].m_y = (float)0.225463; cell.m_v[np].m_z = (float)-0.0593068; np++;
+    cell.m_p[np].m_x = (float)-0.0340335; cell.m_p[np].m_y = (float)-0.0553753; cell.m_p[np].m_z = (float)0.00476493; cell.m_hv[np].m_x = (float)-0.0655199; cell.m_hv[np].m_y = (float)0.25626; cell.m_hv[np].m_z = (float)-0.0796309; cell.m_v[np].m_x = (float)-0.0588807; cell.m_v[np].m_y = (float)0.256695; cell.m_v[np].m_z = (float)-0.0805998; np++;
+    k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0378712; cell.m_p[np].m_y = (float)-0.0609096; cell.m_p[np].m_z = (float)0.0302567; cell.m_hv[np].m_x = (float)0.0237848; cell.m_hv[np].m_y = (float)-0.00652195; cell.m_hv[np].m_z = (float)-0.0724872; cell.m_v[np].m_x = (float)0.0246219; cell.m_v[np].m_y = (float)-0.00710423; cell.m_v[np].m_z = (float)-0.0732248; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 2; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0324391; cell.m_p[np].m_y = (float)-0.0582026; cell.m_p[np].m_z = (float)0.0320139; cell.m_hv[np].m_x = (float)0.041441; cell.m_hv[np].m_y = (float)-0.0126748; cell.m_hv[np].m_z = (float)-0.0599162; cell.m_v[np].m_x = (float)0.0429544; cell.m_v[np].m_y = (float)-0.0121501; cell.m_v[np].m_z = (float)-0.060667; np++;
+    cell.m_p[np].m_x = (float)-0.0305224; cell.m_p[np].m_y = (float)-0.058896; cell.m_p[np].m_z = (float)0.0356697; cell.m_hv[np].m_x = (float)0.0193054; cell.m_hv[np].m_y = (float)0.0540804; cell.m_hv[np].m_z = (float)-0.100795; cell.m_v[np].m_x = (float)0.0195305; cell.m_v[np].m_y = (float)0.056065; cell.m_v[np].m_z = (float)-0.102473; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0337653; cell.m_p[np].m_y = (float)-0.0620422; cell.m_p[np].m_z = (float)0.0475589; cell.m_hv[np].m_x = (float)0.262993; cell.m_hv[np].m_y = (float)-0.111316; cell.m_hv[np].m_z = (float)0.0450595; cell.m_v[np].m_x = (float)0.266734; cell.m_v[np].m_y = (float)-0.108195; cell.m_v[np].m_z = (float)0.0461357; np++;
+    k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0316791; cell.m_p[np].m_y = (float)-0.0513021; cell.m_p[np].m_z = (float)-0.00766218; cell.m_hv[np].m_x = (float)-0.0359913; cell.m_hv[np].m_y = (float)0.340171; cell.m_hv[np].m_z = (float)-0.0806516; cell.m_v[np].m_x = (float)-0.0296155; cell.m_v[np].m_y = (float)0.345332; cell.m_v[np].m_z = (float)-0.0818962; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0354614; cell.m_p[np].m_y = (float)-0.0501582; cell.m_p[np].m_z = (float)0.00316793; cell.m_hv[np].m_x = (float)-0.0578878; cell.m_hv[np].m_y = (float)0.251228; cell.m_hv[np].m_z = (float)-0.029219; cell.m_v[np].m_x = (float)-0.0537843; cell.m_v[np].m_y = (float)0.256012; cell.m_v[np].m_z = (float)-0.0289847; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 2; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0329006; cell.m_p[np].m_y = (float)-0.0542719; cell.m_p[np].m_z = (float)0.0092196; cell.m_hv[np].m_x = (float)-0.0619619; cell.m_hv[np].m_y = (float)0.252067; cell.m_hv[np].m_z = (float)-0.0605261; cell.m_v[np].m_x = (float)-0.0571813; cell.m_v[np].m_y = (float)0.252167; cell.m_v[np].m_z = (float)-0.0617399; np++;
+    cell.m_p[np].m_x = (float)-0.0334909; cell.m_p[np].m_y = (float)-0.0524152; cell.m_p[np].m_z = (float)0.0127318; cell.m_hv[np].m_x = (float)0.0217434; cell.m_hv[np].m_y = (float)0.218448; cell.m_hv[np].m_z = (float)-0.0542652; cell.m_v[np].m_x = (float)0.025771; cell.m_v[np].m_y = (float)0.219884; cell.m_v[np].m_z = (float)-0.055439; np++;
+    k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;i++;j = 0;k = 0;k++;k++;k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 5; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0294676; cell.m_p[np].m_y = (float)-0.0812478; cell.m_p[np].m_z = (float)-0.0261629; cell.m_hv[np].m_x = (float)-0.0399887; cell.m_hv[np].m_y = (float)-0.0393292; cell.m_hv[np].m_z = (float)-0.0382963; cell.m_v[np].m_x = (float)-0.0344951; cell.m_v[np].m_y = (float)-0.0384012; cell.m_v[np].m_z = (float)-0.0355727; np++;
+    cell.m_p[np].m_x = (float)-0.0279973; cell.m_p[np].m_y = (float)-0.0811197; cell.m_p[np].m_z = (float)-0.0233754; cell.m_hv[np].m_x = (float)-0.0609534; cell.m_hv[np].m_y = (float)-0.0256723; cell.m_hv[np].m_z = (float)-0.0137368; cell.m_v[np].m_x = (float)-0.0607478; cell.m_v[np].m_y = (float)-0.0245615; cell.m_v[np].m_z = (float)-0.0124797; np++;
+    cell.m_p[np].m_x = (float)-0.0297078; cell.m_p[np].m_y = (float)-0.0756998; cell.m_p[np].m_z = (float)-0.023632; cell.m_hv[np].m_x = (float)0.0649833; cell.m_hv[np].m_y = (float)0.0423605; cell.m_hv[np].m_z = (float)0.0226045; cell.m_v[np].m_x = (float)0.0721605; cell.m_v[np].m_y = (float)0.0462202; cell.m_v[np].m_z = (float)0.0248345; np++;
+    cell.m_p[np].m_x = (float)-0.0295189; cell.m_p[np].m_y = (float)-0.0809467; cell.m_p[np].m_z = (float)-0.0294325; cell.m_hv[np].m_x = (float)0.0434306; cell.m_hv[np].m_y = (float)-0.0155154; cell.m_hv[np].m_z = (float)0.0942948; cell.m_v[np].m_x = (float)0.0530949; cell.m_v[np].m_y = (float)-0.0166226; cell.m_v[np].m_z = (float)0.105035; np++;
+    cell.m_p[np].m_x = (float)-0.0260358; cell.m_p[np].m_y = (float)-0.0755455; cell.m_p[np].m_z = (float)-0.0260177; cell.m_hv[np].m_x = (float)-0.0153261; cell.m_hv[np].m_y = (float)-0.0308912; cell.m_hv[np].m_z = (float)0.0109622; cell.m_v[np].m_x = (float)-0.012091; cell.m_v[np].m_y = (float)-0.0290505; cell.m_v[np].m_z = (float)0.0140439; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 3; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0231561; cell.m_p[np].m_y = (float)-0.0755879; cell.m_p[np].m_z = (float)-0.0172245; cell.m_hv[np].m_x = (float)-0.0318772; cell.m_hv[np].m_y = (float)0.10652; cell.m_hv[np].m_z = (float)0.0144428; cell.m_v[np].m_x = (float)-0.0375213; cell.m_v[np].m_y = (float)0.105123; cell.m_v[np].m_z = (float)0.0150299; np++;
+    cell.m_p[np].m_x = (float)-0.0279976; cell.m_p[np].m_y = (float)-0.0760668; cell.m_p[np].m_z = (float)-0.0143157; cell.m_hv[np].m_x = (float)-0.120417; cell.m_hv[np].m_y = (float)0.0134648; cell.m_hv[np].m_z = (float)-0.031655; cell.m_v[np].m_x = (float)-0.122348; cell.m_v[np].m_y = (float)0.0152316; cell.m_v[np].m_z = (float)-0.0325042; np++;
+    cell.m_p[np].m_x = (float)-0.0301951; cell.m_p[np].m_y = (float)-0.0818807; cell.m_p[np].m_z = (float)-0.0178003; cell.m_hv[np].m_x = (float)-0.149879; cell.m_hv[np].m_y = (float)-0.056017; cell.m_hv[np].m_z = (float)-0.0688819; cell.m_v[np].m_x = (float)-0.148583; cell.m_v[np].m_y = (float)-0.0560122; cell.m_v[np].m_z = (float)-0.0696341; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 2; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0274187; cell.m_p[np].m_y = (float)-0.0809343; cell.m_p[np].m_z = (float)-0.00999754; cell.m_hv[np].m_x = (float)-0.153003; cell.m_hv[np].m_y = (float)0.0624176; cell.m_hv[np].m_z = (float)0.000275063; cell.m_v[np].m_x = (float)-0.158297; cell.m_v[np].m_y = (float)0.0614422; cell.m_v[np].m_z = (float)-0.0070432; np++;
+    cell.m_p[np].m_x = (float)-0.0252238; cell.m_p[np].m_y = (float)-0.0761425; cell.m_p[np].m_z = (float)-0.00891027; cell.m_hv[np].m_x = (float)-0.0653364; cell.m_hv[np].m_y = (float)0.12494; cell.m_hv[np].m_z = (float)0.00107413; cell.m_v[np].m_x = (float)-0.0658099; cell.m_v[np].m_y = (float)0.129256; cell.m_v[np].m_z = (float)-0.00554472; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0252566; cell.m_p[np].m_y = (float)-0.0737504; cell.m_p[np].m_z = (float)0.00336369; cell.m_hv[np].m_x = (float)-0.13164; cell.m_hv[np].m_y = (float)0.082075; cell.m_hv[np].m_z = (float)-0.0114893; cell.m_v[np].m_x = (float)-0.132278; cell.m_v[np].m_y = (float)0.0752748; cell.m_v[np].m_z = (float)-0.00726398; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 3; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0223614; cell.m_p[np].m_y = (float)-0.0818159; cell.m_p[np].m_z = (float)0.00754381; cell.m_hv[np].m_x = (float)-0.100846; cell.m_hv[np].m_y = (float)0.0471268; cell.m_hv[np].m_z = (float)0.0403689; cell.m_v[np].m_x = (float)-0.10514; cell.m_v[np].m_y = (float)0.049536; cell.m_v[np].m_z = (float)0.0432064; np++;
+    cell.m_p[np].m_x = (float)-0.0275816; cell.m_p[np].m_y = (float)-0.0818496; cell.m_p[np].m_z = (float)0.0119696; cell.m_hv[np].m_x = (float)-0.0514379; cell.m_hv[np].m_y = (float)0.0517156; cell.m_hv[np].m_z = (float)0.0235456; cell.m_v[np].m_x = (float)-0.0498918; cell.m_v[np].m_y = (float)0.0529891; cell.m_v[np].m_z = (float)0.0235268; np++;
+    cell.m_p[np].m_x = (float)-0.0256307; cell.m_p[np].m_y = (float)-0.0816662; cell.m_p[np].m_z = (float)0.00855824; cell.m_hv[np].m_x = (float)-0.0997296; cell.m_hv[np].m_y = (float)0.0809004; cell.m_hv[np].m_z = (float)-0.0238232; cell.m_v[np].m_x = (float)-0.104093; cell.m_v[np].m_y = (float)0.08253; cell.m_v[np].m_z = (float)-0.020939; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 6; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0288314; cell.m_p[np].m_y = (float)-0.0720605; cell.m_p[np].m_z = (float)0.0161832; cell.m_hv[np].m_x = (float)-0.0851703; cell.m_hv[np].m_y = (float)0.124649; cell.m_hv[np].m_z = (float)-0.0163487; cell.m_v[np].m_x = (float)-0.0843107; cell.m_v[np].m_y = (float)0.12408; cell.m_v[np].m_z = (float)-0.017959; np++;
+    cell.m_p[np].m_x = (float)-0.0244067; cell.m_p[np].m_y = (float)-0.0820653; cell.m_p[np].m_z = (float)0.0168362; cell.m_hv[np].m_x = (float)-0.0384703; cell.m_hv[np].m_y = (float)0.0454022; cell.m_hv[np].m_z = (float)-0.0232508; cell.m_v[np].m_x = (float)-0.0395034; cell.m_v[np].m_y = (float)0.0463959; cell.m_v[np].m_z = (float)-0.0228424; np++;
+    cell.m_p[np].m_x = (float)-0.0266393; cell.m_p[np].m_y = (float)-0.0772519; cell.m_p[np].m_z = (float)0.0176593; cell.m_hv[np].m_x = (float)-0.035223; cell.m_hv[np].m_y = (float)0.0778544; cell.m_hv[np].m_z = (float)-0.000974753; cell.m_v[np].m_x = (float)-0.0354164; cell.m_v[np].m_y = (float)0.0829858; cell.m_v[np].m_z = (float)-0.00183208; np++;
+    cell.m_p[np].m_x = (float)-0.0273359; cell.m_p[np].m_y = (float)-0.081512; cell.m_p[np].m_z = (float)0.0216305; cell.m_hv[np].m_x = (float)-0.020354; cell.m_hv[np].m_y = (float)0.0476889; cell.m_hv[np].m_z = (float)-0.0265098; cell.m_v[np].m_x = (float)-0.0239061; cell.m_v[np].m_y = (float)0.0420049; cell.m_v[np].m_z = (float)-0.0248909; np++;
+    cell.m_p[np].m_x = (float)-0.0219032; cell.m_p[np].m_y = (float)-0.0734397; cell.m_p[np].m_z = (float)0.0146412; cell.m_hv[np].m_x = (float)-0.0693574; cell.m_hv[np].m_y = (float)0.0987451; cell.m_hv[np].m_z = (float)-0.0182311; cell.m_v[np].m_x = (float)-0.0658115; cell.m_v[np].m_y = (float)0.0992114; cell.m_v[np].m_z = (float)-0.0173975; np++;
+    cell.m_p[np].m_x = (float)-0.0288652; cell.m_p[np].m_y = (float)-0.0820954; cell.m_p[np].m_z = (float)0.018875; cell.m_hv[np].m_x = (float)0.00859628; cell.m_hv[np].m_y = (float)0.0386865; cell.m_hv[np].m_z = (float)0.0186258; cell.m_v[np].m_x = (float)0.0101267; cell.m_v[np].m_y = (float)0.0368901; cell.m_v[np].m_z = (float)0.0226885; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 4; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0292321; cell.m_p[np].m_y = (float)-0.07747; cell.m_p[np].m_z = (float)0.0231624; cell.m_hv[np].m_x = (float)-0.0139936; cell.m_hv[np].m_y = (float)0.075873; cell.m_hv[np].m_z = (float)0.00128591; cell.m_v[np].m_x = (float)-0.0118439; cell.m_v[np].m_y = (float)0.0813968; cell.m_v[np].m_z = (float)0.00402651; np++;
+    cell.m_p[np].m_x = (float)-0.0279439; cell.m_p[np].m_y = (float)-0.0824638; cell.m_p[np].m_z = (float)0.0248694; cell.m_hv[np].m_x = (float)0.0341007; cell.m_hv[np].m_y = (float)-0.0158422; cell.m_hv[np].m_z = (float)-0.0495419; cell.m_v[np].m_x = (float)0.0340431; cell.m_v[np].m_y = (float)-0.0203822; cell.m_v[np].m_z = (float)-0.0526825; np++;
+    cell.m_p[np].m_x = (float)-0.0236497; cell.m_p[np].m_y = (float)-0.0820461; cell.m_p[np].m_z = (float)0.0241054; cell.m_hv[np].m_x = (float)-0.0290328; cell.m_hv[np].m_y = (float)-0.0366667; cell.m_hv[np].m_z = (float)-0.027775; cell.m_v[np].m_x = (float)-0.0287965; cell.m_v[np].m_y = (float)-0.0385205; cell.m_v[np].m_z = (float)-0.0259465; np++;
+    cell.m_p[np].m_x = (float)-0.0292494; cell.m_p[np].m_y = (float)-0.0731273; cell.m_p[np].m_z = (float)0.0242014; cell.m_hv[np].m_x = (float)0.0422583; cell.m_hv[np].m_y = (float)0.126285; cell.m_hv[np].m_z = (float)-0.0931019; cell.m_v[np].m_x = (float)0.0437557; cell.m_v[np].m_y = (float)0.125132; cell.m_v[np].m_z = (float)-0.0929407; np++;
+    k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 3; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0274458; cell.m_p[np].m_y = (float)-0.065925; cell.m_p[np].m_z = (float)-0.0367379; cell.m_hv[np].m_x = (float)0.121542; cell.m_hv[np].m_y = (float)0.00293409; cell.m_hv[np].m_z = (float)0.0821317; cell.m_v[np].m_x = (float)0.122768; cell.m_v[np].m_y = (float)0.00371455; cell.m_v[np].m_z = (float)0.08358; np++;
+    cell.m_p[np].m_x = (float)-0.0282752; cell.m_p[np].m_y = (float)-0.0656884; cell.m_p[np].m_z = (float)-0.0313563; cell.m_hv[np].m_x = (float)0.0699049; cell.m_hv[np].m_y = (float)0.0533093; cell.m_hv[np].m_z = (float)0.0605386; cell.m_v[np].m_x = (float)0.0726721; cell.m_v[np].m_y = (float)0.0557536; cell.m_v[np].m_z = (float)0.0650654; np++;
+    cell.m_p[np].m_x = (float)-0.0299502; cell.m_p[np].m_y = (float)-0.0690547; cell.m_p[np].m_z = (float)-0.0313189; cell.m_hv[np].m_x = (float)0.0747438; cell.m_hv[np].m_y = (float)0.0755104; cell.m_hv[np].m_z = (float)0.0626365; cell.m_v[np].m_x = (float)0.0785132; cell.m_v[np].m_y = (float)0.0777139; cell.m_v[np].m_z = (float)0.0668436; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 2; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0222044; cell.m_p[np].m_y = (float)-0.0635656; cell.m_p[np].m_z = (float)-0.025413; cell.m_hv[np].m_x = (float)0.0400486; cell.m_hv[np].m_y = (float)0.122942; cell.m_hv[np].m_z = (float)0.0838911; cell.m_v[np].m_x = (float)0.0413502; cell.m_v[np].m_y = (float)0.124243; cell.m_v[np].m_z = (float)0.0845107; np++;
+    cell.m_p[np].m_x = (float)-0.0264483; cell.m_p[np].m_y = (float)-0.0639229; cell.m_p[np].m_z = (float)-0.0285442; cell.m_hv[np].m_x = (float)0.0722999; cell.m_hv[np].m_y = (float)0.0852597; cell.m_hv[np].m_z = (float)0.072486; cell.m_v[np].m_x = (float)0.075919; cell.m_v[np].m_y = (float)0.0841203; cell.m_v[np].m_z = (float)0.0753579; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 3; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0230535; cell.m_p[np].m_y = (float)-0.0672887; cell.m_p[np].m_z = (float)-0.0135583; cell.m_hv[np].m_x = (float)0.0146904; cell.m_hv[np].m_y = (float)0.218936; cell.m_hv[np].m_z = (float)-0.0221391; cell.m_v[np].m_x = (float)0.0135797; cell.m_v[np].m_y = (float)0.220075; cell.m_v[np].m_z = (float)-0.0254494; np++;
+    cell.m_p[np].m_x = (float)-0.0281139; cell.m_p[np].m_y = (float)-0.0691264; cell.m_p[np].m_z = (float)-0.0143204; cell.m_hv[np].m_x = (float)-0.0038741; cell.m_hv[np].m_y = (float)0.092358; cell.m_hv[np].m_z = (float)0.0175377; cell.m_v[np].m_x = (float)-0.00574143; cell.m_v[np].m_y = (float)0.0939608; cell.m_v[np].m_z = (float)0.0142151; np++;
+    cell.m_p[np].m_x = (float)-0.0261279; cell.m_p[np].m_y = (float)-0.0686136; cell.m_p[np].m_z = (float)-0.0213092; cell.m_hv[np].m_x = (float)0.0406702; cell.m_hv[np].m_y = (float)0.0479459; cell.m_hv[np].m_z = (float)0.05066; cell.m_v[np].m_x = (float)0.0411889; cell.m_v[np].m_y = (float)0.0500182; cell.m_v[np].m_z = (float)0.0479957; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0231771; cell.m_p[np].m_y = (float)-0.0700716; cell.m_p[np].m_z = (float)-0.01011; cell.m_hv[np].m_x = (float)-0.0410645; cell.m_hv[np].m_y = (float)0.194482; cell.m_hv[np].m_z = (float)0.0466756; cell.m_v[np].m_x = (float)-0.0442179; cell.m_v[np].m_y = (float)0.195653; cell.m_v[np].m_z = (float)0.0405167; np++;
+    k++;k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 2; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0255631; cell.m_p[np].m_y = (float)-0.067139; cell.m_p[np].m_z = (float)0.0188316; cell.m_hv[np].m_x = (float)-0.061097; cell.m_hv[np].m_y = (float)0.162898; cell.m_hv[np].m_z = (float)0.00399271; cell.m_v[np].m_x = (float)-0.0603465; cell.m_v[np].m_y = (float)0.168425; cell.m_v[np].m_z = (float)-0.000667183; np++;
+    cell.m_p[np].m_x = (float)-0.0258593; cell.m_p[np].m_y = (float)-0.0664338; cell.m_p[np].m_z = (float)0.0149051; cell.m_hv[np].m_x = (float)-0.034129; cell.m_hv[np].m_y = (float)0.0801393; cell.m_hv[np].m_z = (float)0.0331685; cell.m_v[np].m_x = (float)-0.0331951; cell.m_v[np].m_y = (float)0.0836278; cell.m_v[np].m_z = (float)0.038814; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 5; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.021759; cell.m_p[np].m_y = (float)-0.0631494; cell.m_p[np].m_z = (float)0.0253941; cell.m_hv[np].m_x = (float)-0.00627032; cell.m_hv[np].m_y = (float)0.168695; cell.m_hv[np].m_z = (float)-0.0608157; cell.m_v[np].m_x = (float)-0.00355125; cell.m_v[np].m_y = (float)0.174674; cell.m_v[np].m_z = (float)-0.0556234; np++;
+    cell.m_p[np].m_x = (float)-0.0256655; cell.m_p[np].m_y = (float)-0.0647096; cell.m_p[np].m_z = (float)0.0230081; cell.m_hv[np].m_x = (float)-0.0560994; cell.m_hv[np].m_y = (float)0.137721; cell.m_hv[np].m_z = (float)-0.0190526; cell.m_v[np].m_x = (float)-0.0561148; cell.m_v[np].m_y = (float)0.134355; cell.m_v[np].m_z = (float)-0.0176218; np++;
+    cell.m_p[np].m_x = (float)-0.0249023; cell.m_p[np].m_y = (float)-0.0698901; cell.m_p[np].m_z = (float)0.0227521; cell.m_hv[np].m_x = (float)-0.0372852; cell.m_hv[np].m_y = (float)0.0688222; cell.m_hv[np].m_z = (float)-0.0800352; cell.m_v[np].m_x = (float)-0.0376802; cell.m_v[np].m_y = (float)0.0750592; cell.m_v[np].m_z = (float)-0.0753598; np++;
+    cell.m_p[np].m_x = (float)-0.0298306; cell.m_p[np].m_y = (float)-0.0690079; cell.m_p[np].m_z = (float)0.0223616; cell.m_hv[np].m_x = (float)-0.0310239; cell.m_hv[np].m_y = (float)0.115926; cell.m_hv[np].m_z = (float)-0.0528056; cell.m_v[np].m_x = (float)-0.0283385; cell.m_v[np].m_y = (float)0.118052; cell.m_v[np].m_z = (float)-0.0496385; np++;
+    cell.m_p[np].m_x = (float)-0.0258547; cell.m_p[np].m_y = (float)-0.0672092; cell.m_p[np].m_z = (float)0.0298012; cell.m_hv[np].m_x = (float)0.0280264; cell.m_hv[np].m_y = (float)0.102398; cell.m_hv[np].m_z = (float)-0.0405473; cell.m_v[np].m_x = (float)0.0333939; cell.m_v[np].m_y = (float)0.100633; cell.m_v[np].m_z = (float)-0.0462891; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0300198; cell.m_p[np].m_y = (float)-0.0673518; cell.m_p[np].m_z = (float)0.0316075; cell.m_hv[np].m_x = (float)0.0701908; cell.m_hv[np].m_y = (float)0.0971315; cell.m_hv[np].m_z = (float)-0.0646551; cell.m_v[np].m_x = (float)0.0715698; cell.m_v[np].m_y = (float)0.0948108; cell.m_v[np].m_z = (float)-0.0681204; np++;
+    k++;k++;k++;k++;j++;k = 0;k++;k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0277773; cell.m_p[np].m_y = (float)-0.059754; cell.m_p[np].m_z = (float)-0.0342668; cell.m_hv[np].m_x = (float)0.0757014; cell.m_hv[np].m_y = (float)-0.0231641; cell.m_hv[np].m_z = (float)0.151758; cell.m_v[np].m_x = (float)0.0749866; cell.m_v[np].m_y = (float)-0.0208431; cell.m_v[np].m_z = (float)0.15581; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0255872; cell.m_p[np].m_y = (float)-0.0589944; cell.m_p[np].m_z = (float)-0.0271037; cell.m_hv[np].m_x = (float)0.0916729; cell.m_hv[np].m_y = (float)0.157366; cell.m_hv[np].m_z = (float)0.100552; cell.m_v[np].m_x = (float)0.0957095; cell.m_v[np].m_y = (float)0.154598; cell.m_v[np].m_z = (float)0.101028; np++;
+    k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0254722; cell.m_p[np].m_y = (float)-0.0585925; cell.m_p[np].m_z = (float)-0.00989786; cell.m_hv[np].m_x = (float)-0.0186528; cell.m_hv[np].m_y = (float)0.390861; cell.m_hv[np].m_z = (float)-0.00484967; cell.m_v[np].m_x = (float)-0.0158817; cell.m_v[np].m_y = (float)0.397713; cell.m_v[np].m_z = (float)-0.00145931; np++;
+    k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0300692; cell.m_p[np].m_y = (float)-0.0581062; cell.m_p[np].m_z = (float)0.0106805; cell.m_hv[np].m_x = (float)-0.102928; cell.m_hv[np].m_y = (float)0.249279; cell.m_hv[np].m_z = (float)-0.00946677; cell.m_v[np].m_x = (float)-0.101441; cell.m_v[np].m_y = (float)0.244178; cell.m_v[np].m_z = (float)-0.0089614; np++;
+    k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 2; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0266169; cell.m_p[np].m_y = (float)-0.0614804; cell.m_p[np].m_z = (float)0.0253815; cell.m_hv[np].m_x = (float)-0.0216846; cell.m_hv[np].m_y = (float)0.177296; cell.m_hv[np].m_z = (float)-0.0492259; cell.m_v[np].m_x = (float)-0.0173918; cell.m_v[np].m_y = (float)0.177441; cell.m_v[np].m_z = (float)-0.0502508; np++;
+    cell.m_p[np].m_x = (float)-0.0282481; cell.m_p[np].m_y = (float)-0.054888; cell.m_p[np].m_z = (float)0.0278729; cell.m_hv[np].m_x = (float)0.0533154; cell.m_hv[np].m_y = (float)0.115763; cell.m_hv[np].m_z = (float)-0.0932724; cell.m_v[np].m_x = (float)0.0556481; cell.m_v[np].m_y = (float)0.118327; cell.m_v[np].m_z = (float)-0.0942428; np++;
+    k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 2; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0284599; cell.m_p[np].m_y = (float)-0.0529313; cell.m_p[np].m_z = (float)-0.0147321; cell.m_hv[np].m_x = (float)0.0004316; cell.m_hv[np].m_y = (float)0.342487; cell.m_hv[np].m_z = (float)-0.0872548; cell.m_v[np].m_x = (float)0.00474314; cell.m_v[np].m_y = (float)0.344213; cell.m_v[np].m_z = (float)-0.0865113; np++;
+    cell.m_p[np].m_x = (float)-0.0235748; cell.m_p[np].m_y = (float)-0.0510924; cell.m_p[np].m_z = (float)-0.0163884; cell.m_hv[np].m_x = (float)-0.0446155; cell.m_hv[np].m_y = (float)0.385022; cell.m_hv[np].m_z = (float)-0.0825474; cell.m_v[np].m_x = (float)-0.050603; cell.m_v[np].m_y = (float)0.388136; cell.m_v[np].m_z = (float)-0.0804642; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0222762; cell.m_p[np].m_y = (float)-0.0509111; cell.m_p[np].m_z = (float)-0.00747264; cell.m_hv[np].m_x = (float)-0.0686755; cell.m_hv[np].m_y = (float)0.385524; cell.m_hv[np].m_z = (float)0.00305883; cell.m_v[np].m_x = (float)-0.0695388; cell.m_v[np].m_y = (float)0.383484; cell.m_v[np].m_z = (float)0.00198001; np++;
+    k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 2; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0290914; cell.m_p[np].m_y = (float)-0.0480287; cell.m_p[np].m_z = (float)0.00485856; cell.m_hv[np].m_x = (float)0.0155211; cell.m_hv[np].m_y = (float)0.360501; cell.m_hv[np].m_z = (float)-0.0154957; cell.m_v[np].m_x = (float)0.0149748; cell.m_v[np].m_y = (float)0.357183; cell.m_v[np].m_z = (float)-0.0152197; np++;
+    cell.m_p[np].m_x = (float)-0.0302835; cell.m_p[np].m_y = (float)-0.0514474; cell.m_p[np].m_z = (float)0.0117953; cell.m_hv[np].m_x = (float)0.00128988; cell.m_hv[np].m_y = (float)0.270527; cell.m_hv[np].m_z = (float)-0.0393706; cell.m_v[np].m_x = (float)0.00451888; cell.m_v[np].m_y = (float)0.269147; cell.m_v[np].m_z = (float)-0.0399306; np++;
+    k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;i++;j = 0;k = 0;k++;k++;k++;k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 6; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0202442; cell.m_p[np].m_y = (float)-0.08255; cell.m_p[np].m_z = (float)-0.0151675; cell.m_hv[np].m_x = (float)-0.0536049; cell.m_hv[np].m_y = (float)0.0691917; cell.m_hv[np].m_z = (float)-0.019809; cell.m_v[np].m_x = (float)-0.0618382; cell.m_v[np].m_y = (float)0.0635707; cell.m_v[np].m_z = (float)-0.0292033; np++;
+    cell.m_p[np].m_x = (float)-0.0135325; cell.m_p[np].m_y = (float)-0.0772037; cell.m_p[np].m_z = (float)-0.0157975; cell.m_hv[np].m_x = (float)-0.0179576; cell.m_hv[np].m_y = (float)0.146772; cell.m_hv[np].m_z = (float)-0.0493733; cell.m_v[np].m_x = (float)-0.0203122; cell.m_v[np].m_y = (float)0.151759; cell.m_v[np].m_z = (float)-0.0519762; np++;
+    cell.m_p[np].m_x = (float)-0.0191687; cell.m_p[np].m_y = (float)-0.0819235; cell.m_p[np].m_z = (float)-0.0187285; cell.m_hv[np].m_x = (float)0.0501685; cell.m_hv[np].m_y = (float)0.0951548; cell.m_hv[np].m_z = (float)-0.0115052; cell.m_v[np].m_x = (float)0.0478078; cell.m_v[np].m_y = (float)0.0908245; cell.m_v[np].m_z = (float)-0.0140282; np++;
+    cell.m_p[np].m_x = (float)-0.0145834; cell.m_p[np].m_y = (float)-0.0788697; cell.m_p[np].m_z = (float)-0.0197922; cell.m_hv[np].m_x = (float)0.0208001; cell.m_hv[np].m_y = (float)0.121145; cell.m_hv[np].m_z = (float)-0.0992323; cell.m_v[np].m_x = (float)0.0215494; cell.m_v[np].m_y = (float)0.117637; cell.m_v[np].m_z = (float)-0.0993455; np++;
+    cell.m_p[np].m_x = (float)-0.0203383; cell.m_p[np].m_y = (float)-0.0782623; cell.m_p[np].m_z = (float)-0.014803; cell.m_hv[np].m_x = (float)0.0263598; cell.m_hv[np].m_y = (float)0.161264; cell.m_hv[np].m_z = (float)-0.00502562; cell.m_v[np].m_x = (float)0.0216597; cell.m_v[np].m_y = (float)0.165618; cell.m_v[np].m_z = (float)-0.0074301; np++;
+    cell.m_p[np].m_x = (float)-0.0176096; cell.m_p[np].m_y = (float)-0.0759081; cell.m_p[np].m_z = (float)-0.0154064; cell.m_hv[np].m_x = (float)-0.0300872; cell.m_hv[np].m_y = (float)0.107521; cell.m_hv[np].m_z = (float)-0.0243959; cell.m_v[np].m_x = (float)-0.0342948; cell.m_v[np].m_y = (float)0.107581; cell.m_v[np].m_z = (float)-0.0242105; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 2; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0167898; cell.m_p[np].m_y = (float)-0.0729273; cell.m_p[np].m_z = (float)-0.0119862; cell.m_hv[np].m_x = (float)-0.0563062; cell.m_hv[np].m_y = (float)0.207862; cell.m_hv[np].m_z = (float)0.0202976; cell.m_v[np].m_x = (float)-0.055757; cell.m_v[np].m_y = (float)0.208289; cell.m_v[np].m_z = (float)0.0207451; np++;
+    cell.m_p[np].m_x = (float)-0.021204; cell.m_p[np].m_y = (float)-0.0748838; cell.m_p[np].m_z = (float)-0.00756486; cell.m_hv[np].m_x = (float)-0.0751401; cell.m_hv[np].m_y = (float)0.181214; cell.m_hv[np].m_z = (float)0.136244; cell.m_v[np].m_x = (float)-0.0772805; cell.m_v[np].m_y = (float)0.179447; cell.m_v[np].m_z = (float)0.133411; np++;
+    k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 4; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0153373; cell.m_p[np].m_y = (float)-0.0817642; cell.m_p[np].m_z = (float)0.0123471; cell.m_hv[np].m_x = (float)0.0162473; cell.m_hv[np].m_y = (float)0.0720337; cell.m_hv[np].m_z = (float)-0.0260925; cell.m_v[np].m_x = (float)0.0152758; cell.m_v[np].m_y = (float)0.0757225; cell.m_v[np].m_z = (float)-0.0195515; np++;
+    cell.m_p[np].m_x = (float)-0.0210942; cell.m_p[np].m_y = (float)-0.0788831; cell.m_p[np].m_z = (float)0.0105599; cell.m_hv[np].m_x = (float)-0.0669548; cell.m_hv[np].m_y = (float)0.0711219; cell.m_hv[np].m_z = (float)-0.015209; cell.m_v[np].m_x = (float)-0.070921; cell.m_v[np].m_y = (float)0.0710023; cell.m_v[np].m_z = (float)-0.0162755; np++;
+    cell.m_p[np].m_x = (float)-0.0181756; cell.m_p[np].m_y = (float)-0.0817517; cell.m_p[np].m_z = (float)0.00888461; cell.m_hv[np].m_x = (float)-0.0515013; cell.m_hv[np].m_y = (float)0.0507053; cell.m_hv[np].m_z = (float)-0.0187077; cell.m_v[np].m_x = (float)-0.0572436; cell.m_v[np].m_y = (float)0.0532165; cell.m_v[np].m_z = (float)-0.0172838; np++;
+    cell.m_p[np].m_x = (float)-0.0139361; cell.m_p[np].m_y = (float)-0.0722406; cell.m_p[np].m_z = (float)0.0113398; cell.m_hv[np].m_x = (float)-0.0287042; cell.m_hv[np].m_y = (float)0.100407; cell.m_hv[np].m_z = (float)0.0546843; cell.m_v[np].m_x = (float)-0.03212; cell.m_v[np].m_y = (float)0.0977849; cell.m_v[np].m_z = (float)0.0548513; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 3; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0167089; cell.m_p[np].m_y = (float)-0.0809639; cell.m_p[np].m_z = (float)0.0181626; cell.m_hv[np].m_x = (float)-0.00226703; cell.m_hv[np].m_y = (float)0.0454398; cell.m_hv[np].m_z = (float)0.00810496; cell.m_v[np].m_x = (float)-0.00142166; cell.m_v[np].m_y = (float)0.0477823; cell.m_v[np].m_z = (float)0.0112971; np++;
+    cell.m_p[np].m_x = (float)-0.0183604; cell.m_p[np].m_y = (float)-0.0806747; cell.m_p[np].m_z = (float)0.0144061; cell.m_hv[np].m_x = (float)-0.0547142; cell.m_hv[np].m_y = (float)0.00395851; cell.m_hv[np].m_z = (float)-0.0246596; cell.m_v[np].m_x = (float)-0.0556263; cell.m_v[np].m_y = (float)0.00810266; cell.m_v[np].m_z = (float)-0.0176306; np++;
+    cell.m_p[np].m_x = (float)-0.0164645; cell.m_p[np].m_y = (float)-0.0742778; cell.m_p[np].m_z = (float)0.0162459; cell.m_hv[np].m_x = (float)-0.0548918; cell.m_hv[np].m_y = (float)0.103706; cell.m_hv[np].m_z = (float)0.080577; cell.m_v[np].m_x = (float)-0.0560175; cell.m_v[np].m_y = (float)0.108314; cell.m_v[np].m_z = (float)0.0806252; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0201269; cell.m_p[np].m_y = (float)-0.0808338; cell.m_p[np].m_z = (float)0.0231697; cell.m_hv[np].m_x = (float)0.0537302; cell.m_hv[np].m_y = (float)0.0491895; cell.m_hv[np].m_z = (float)-0.011485; cell.m_v[np].m_x = (float)0.0575188; cell.m_v[np].m_y = (float)0.0514998; cell.m_v[np].m_z = (float)-0.00923486; np++;
+    k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 3; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0180897; cell.m_p[np].m_y = (float)-0.0637485; cell.m_p[np].m_z = (float)-0.0207563; cell.m_hv[np].m_x = (float)0.0640054; cell.m_hv[np].m_y = (float)0.283369; cell.m_hv[np].m_z = (float)0.0636094; cell.m_v[np].m_x = (float)0.060018; cell.m_v[np].m_y = (float)0.285912; cell.m_v[np].m_z = (float)0.064558; np++;
+    cell.m_p[np].m_x = (float)-0.020207; cell.m_p[np].m_y = (float)-0.0706998; cell.m_p[np].m_z = (float)-0.0149624; cell.m_hv[np].m_x = (float)0.0253111; cell.m_hv[np].m_y = (float)0.253389; cell.m_hv[np].m_z = (float)-0.0195163; cell.m_v[np].m_x = (float)0.0202685; cell.m_v[np].m_y = (float)0.256399; cell.m_v[np].m_z = (float)-0.0220795; np++;
+    cell.m_p[np].m_x = (float)-0.0169792; cell.m_p[np].m_y = (float)-0.0638286; cell.m_p[np].m_z = (float)-0.0147323; cell.m_hv[np].m_x = (float)0.0648498; cell.m_hv[np].m_y = (float)0.276943; cell.m_hv[np].m_z = (float)0.034659; cell.m_v[np].m_x = (float)0.0636771; cell.m_v[np].m_y = (float)0.279133; cell.m_v[np].m_z = (float)0.0325742; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0177274; cell.m_p[np].m_y = (float)-0.0697576; cell.m_p[np].m_z = (float)-0.00986073; cell.m_hv[np].m_x = (float)-0.0957784; cell.m_hv[np].m_y = (float)0.199714; cell.m_hv[np].m_z = (float)0.075549; cell.m_v[np].m_x = (float)-0.0948157; cell.m_v[np].m_y = (float)0.198869; cell.m_v[np].m_z = (float)0.0725734; np++;
+    k++;k++;k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0169979; cell.m_p[np].m_y = (float)-0.067947; cell.m_p[np].m_z = (float)0.0262858; cell.m_hv[np].m_x = (float)0.0676035; cell.m_hv[np].m_y = (float)0.119577; cell.m_hv[np].m_z = (float)-0.0326731; cell.m_v[np].m_x = (float)0.0687245; cell.m_v[np].m_y = (float)0.118871; cell.m_v[np].m_z = (float)-0.0292156; np++;
+    k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0206689; cell.m_p[np].m_y = (float)-0.059602; cell.m_p[np].m_z = (float)-0.0151545; cell.m_hv[np].m_x = (float)-0.0182085; cell.m_hv[np].m_y = (float)0.315677; cell.m_hv[np].m_z = (float)0.00512035; cell.m_v[np].m_x = (float)-0.0155322; cell.m_v[np].m_y = (float)0.318287; cell.m_v[np].m_z = (float)0.00315218; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0214587; cell.m_p[np].m_y = (float)-0.0558052; cell.m_p[np].m_z = (float)-0.0114642; cell.m_hv[np].m_x = (float)-0.0162146; cell.m_hv[np].m_y = (float)0.37691; cell.m_hv[np].m_z = (float)0.00956729; cell.m_v[np].m_x = (float)-0.0164447; cell.m_v[np].m_y = (float)0.383587; cell.m_v[np].m_z = (float)0.012802; np++;
+    k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0139514; cell.m_p[np].m_y = (float)-0.0514177; cell.m_p[np].m_z = (float)-0.0142285; cell.m_hv[np].m_x = (float)0.0180384; cell.m_hv[np].m_y = (float)0.410273; cell.m_hv[np].m_z = (float)0.0458079; cell.m_v[np].m_x = (float)0.0199587; cell.m_v[np].m_y = (float)0.413527; cell.m_v[np].m_z = (float)0.044617; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 2; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0181863; cell.m_p[np].m_y = (float)-0.0499308; cell.m_p[np].m_z = (float)-0.00699447; cell.m_hv[np].m_x = (float)0.00561396; cell.m_hv[np].m_y = (float)0.357885; cell.m_hv[np].m_z = (float)0.036898; cell.m_v[np].m_x = (float)0.00357055; cell.m_v[np].m_y = (float)0.357753; cell.m_v[np].m_z = (float)0.0399569; np++;
+    cell.m_p[np].m_x = (float)-0.0147083; cell.m_p[np].m_y = (float)-0.0458051; cell.m_p[np].m_z = (float)-0.0117913; cell.m_hv[np].m_x = (float)0.277284; cell.m_hv[np].m_y = (float)0.334834; cell.m_hv[np].m_z = (float)0.0942217; cell.m_v[np].m_x = (float)0.277915; cell.m_v[np].m_y = (float)0.339627; cell.m_v[np].m_z = (float)0.0926722; np++;
+    k++;k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0198913; cell.m_p[np].m_y = (float)-0.0516174; cell.m_p[np].m_z = (float)0.0216242; cell.m_hv[np].m_x = (float)0.0183028; cell.m_hv[np].m_y = (float)0.356309; cell.m_hv[np].m_z = (float)-0.00985286; cell.m_v[np].m_x = (float)0.0229369; cell.m_v[np].m_y = (float)0.357457; cell.m_v[np].m_z = (float)-0.0101542; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0193717; cell.m_p[np].m_y = (float)-0.0511363; cell.m_p[np].m_z = (float)0.0252072; cell.m_hv[np].m_x = (float)0.0484227; cell.m_hv[np].m_y = (float)0.330933; cell.m_hv[np].m_z = (float)-0.0234107; cell.m_v[np].m_x = (float)0.0515987; cell.m_v[np].m_y = (float)0.336152; cell.m_v[np].m_z = (float)-0.0243878; np++;
+    k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0131304; cell.m_p[np].m_y = (float)-0.0455328; cell.m_p[np].m_z = (float)-0.0108718; cell.m_hv[np].m_x = (float)0.0473173; cell.m_hv[np].m_y = (float)0.412452; cell.m_hv[np].m_z = (float)-0.00933065; cell.m_v[np].m_x = (float)0.0446752; cell.m_v[np].m_y = (float)0.417307; cell.m_v[np].m_z = (float)-0.0104845; np++;
+    k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;i++;j = 0;k = 0;k++;k++;k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.00998214; cell.m_p[np].m_y = (float)-0.0820176; cell.m_p[np].m_z = (float)-0.0220179; cell.m_hv[np].m_x = (float)0.0638444; cell.m_hv[np].m_y = (float)0.121247; cell.m_hv[np].m_z = (float)-0.0538991; cell.m_v[np].m_x = (float)0.0605429; cell.m_v[np].m_y = (float)0.125192; cell.m_v[np].m_z = (float)-0.0566108; np++;
+    k++;k++;k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0116626; cell.m_p[np].m_y = (float)-0.081588; cell.m_p[np].m_z = (float)0.00953838; cell.m_hv[np].m_x = (float)-0.0337089; cell.m_hv[np].m_y = (float)0.0799581; cell.m_hv[np].m_z = (float)-0.0131254; cell.m_v[np].m_x = (float)-0.0408543; cell.m_v[np].m_y = (float)0.0825422; cell.m_v[np].m_z = (float)-0.00877071; np++;
+    k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.00780466; cell.m_p[np].m_y = (float)-0.0711735; cell.m_p[np].m_z = (float)0.0122091; cell.m_hv[np].m_x = (float)0.00257783; cell.m_hv[np].m_y = (float)0.133984; cell.m_hv[np].m_z = (float)0.0606866; cell.m_v[np].m_x = (float)0.00247322; cell.m_v[np].m_y = (float)0.127271; cell.m_v[np].m_z = (float)0.0628818; np++;
+    k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.0121128; cell.m_p[np].m_y = (float)-0.0713516; cell.m_p[np].m_z = (float)0.0155035; cell.m_hv[np].m_x = (float)-0.0769332; cell.m_hv[np].m_y = (float)0.109102; cell.m_hv[np].m_z = (float)0.0717956; cell.m_v[np].m_x = (float)-0.084015; cell.m_v[np].m_y = (float)0.106599; cell.m_v[np].m_z = (float)0.0727468; np++;
+    k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.00879739; cell.m_p[np].m_y = (float)-0.058102; cell.m_p[np].m_z = (float)-0.0115966; cell.m_hv[np].m_x = (float)-0.0888451; cell.m_hv[np].m_y = (float)0.363133; cell.m_hv[np].m_z = (float)0.000892995; cell.m_v[np].m_x = (float)-0.0877111; cell.m_v[np].m_y = (float)0.365026; cell.m_v[np].m_z = (float)-0.00636635; np++;
+    k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;i++;j = 0;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;
+    cell = cells[i][j][k]; cell.m_numPars = 1; numParticles += cell.m_numPars; np = 0;
+    cell.m_p[np].m_x = (float)-0.000747161; cell.m_p[np].m_y = (float)-0.0436327; cell.m_p[np].m_z = (float)-0.0189974; cell.m_hv[np].m_x = (float)0.147125; cell.m_hv[np].m_y = (float)0.381039; cell.m_hv[np].m_z = (float)-0.0237955; cell.m_v[np].m_x = (float)0.14563; cell.m_v[np].m_y = (float)0.385808; cell.m_v[np].m_z = (float)-0.0239757; np++;
+    k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;i++;j = 0;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;i++;j = 0;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;i++;j = 0;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;i++;j = 0;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;i++;j = 0;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;i++;j = 0;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;i++;j = 0;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;k = 0;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;k++;j++;i++;
+
+    demo.m_numParticles = numParticles;
+    int gi = 0;
+    int sx, sz, ex, ez;
+    ex = 0;
+    for(i = 0; i < XDIVS; ++i) {
+       sx = ex;
+       ex = (int)((float)nx/(float)XDIVS * (i+1) + 0.5f);
+
+       ez = 0;
+       for(j = 0; j < ZDIVS; ++j, ++gi) {
+           sz = ez;
+           ez = (int)((float)nz/(float)ZDIVS * (j+1) + 0.5f);
+           
+           Grid grid = new Grid(gi, sx, 0, sz, ex, ny, ez, h, hSq, 
+                   new Vec3(delta.m_x, delta.m_y, delta.m_z),
+                   densityCoeff, pressureCoeff, viscosityCoeff, nx, ny, nz,
+                   framenum){rebuild};
+           grid.initCells(cells);
+           grid.initNeighCells(cells, demo);
+       }
+    }
+    demo.resetBorderCells();
+
+    taskexit(s{!initialstate});
+}
+
+task t2(Grid g{rebuild}) {
+    System.printString("task t2\n");
+    
+    g.ClearParticlesMT();
+    g.RebuildGridMT();
+    g.InitDensitiesAndForcesMT();
+    taskexit(g{!rebuild, tosum});
+}
+
+task t3(PSFADemo demo{tosum}, Grid g{tosum}) {
+    System.printString("task t3\n");
+    
+    demo.sum(g);
+    if(demo.isFinish()) {
+       demo.resetCounter();
+       taskexit(demo{!tosum, flushghost}, g{!tosum, flushghost});
+    } else {
+       taskexit(g{!tosum, flushghost});
+    }
+}
+
+task t4(PSFADemo demo{flushghost}, Grid g{flushghost}) {
+    System.printString("task t4\n");
+    
+    demo.flush(g);
+    if(demo.isFinish()) {
+       demo.resetCounter();
+       taskexit(demo{!flushghost, tosum2}, g{!flushghost, computeDens});
+    } else {
+       taskexit(g{!flushghost, computeDens});
+    }
+}
+
+task t5(Grid g{computeDens}) {
+    System.printString("task t5\n");
+    
+    g.ComputeDensitiesMT();
+    taskexit(g{!computeDens, tosum2});
+}
+
+task t6(PSFADemo demo{tosum2}, Grid g{tosum2}) {
+    System.printString("task t6\n");
+    
+    demo.sum2(g);
+    if(demo.isFinish()) {
+       demo.resetCounter();
+       taskexit(demo{!tosum2, flushghost2}, g{!tosum2, flushghost2});
+    } else {
+       taskexit(g{!tosum2, flushghost2});
+    }
+}
+
+task t7(PSFADemo demo{flushghost2}, Grid g{flushghost2}) {
+    System.printString("task t7\n");
+    
+    demo.flush2(g);
+    if(demo.isFinish()) {
+       demo.resetCounter();
+       taskexit(demo{!flushghost2, tosum3}, g{!flushghost2, computeDens2});
+    } else {
+       taskexit(g{!flushghost2, computeDens2});
+    }
+}
+
+task t8(Grid g{computeDens2}) {
+    System.printString("task t8\n");
+    
+    g.ComputeDensities2MT();
+    taskexit(g{!computeDens2, tosum3});
+}
+
+task t9(PSFADemo demo{tosum3}, Grid g{tosum3}) {
+    System.printString("task t9\n");
+    
+    demo.sum3(g);
+    if(demo.isFinish()) {
+       demo.resetCounter();
+       taskexit(demo{!tosum3, flushghost3}, g{!tosum3, flushghost3});
+    } else {
+       taskexit(g{!tosum3, flushghost3});
+    }
+}
+
+task t10(PSFADemo demo{flushghost3}, Grid g{flushghost3}) {
+    System.printString("task t10\n");
+    
+    demo.flush3(g);
+    if(demo.isFinish()) {
+       demo.resetBorderCellsHV();
+       demo.resetCounter();
+       taskexit(demo{!flushghost3, tosum}, g{!flushghost3, computeForce});
+    } else {
+       taskexit(g{!flushghost3, computeForce});
+    }
+}
+
+task t11(Grid g{computeForce}) {
+    System.printString("task t11\n");
+    
+    g.ComputeForcesMT();
+    taskexit(g{!computeForce, tosum4});
+}
+
+task t12(PSFADemo demo{tosum4}, Grid g{tosum4}) {
+    System.printString("task t12\n");
+    
+    demo.sum4(g);
+    if(demo.isFinish()) {
+       demo.resetCounter();
+       taskexit(demo{!tosum4, flushghost4}, g{!tosum4, flushghost4});
+    } else {
+       taskexit(g{!tosum4, flushghost4});
+    }
+}
+
+task t13(PSFADemo demo{flushghost4}, Grid g{flushghost4}) {
+    System.printString("task t13\n");
+    
+    demo.flush4(g);
+    if(demo.isFinish()) {
+       demo.resetCounter();
+       taskexit(demo{!flushghost4, tosum}, g{!flushghost4, procCollision});
+    } else {
+       taskexit(g{!flushghost4, procCollision});
+    }
+}
+
+task t14(Grid g{procCollision}) {
+    System.printString("task t14\n");
+    
+    g.ProcessCollisionsMT();
+    g.AdvanceParticlesMT();
+    if(g.isFinish()) {
+       taskexit(g{!procCollision, finish});
+    } else {
+       taskexit(g{!procCollision, rebuild});
+    }
+}
diff --git a/Robust/src/Benchmarks/Scheduling/PSFluidAnimate/Vec3.java b/Robust/src/Benchmarks/Scheduling/PSFluidAnimate/Vec3.java
new file mode 100644 (file)
index 0000000..3548017
--- /dev/null
@@ -0,0 +1,88 @@
+public class Vec3 {
+    public float m_x;
+    public float m_y;
+    public float m_z;
+
+    public Vec3() {
+    }
+    
+    public Vec3(float _x, float _y, float _z) {
+       this.m_x = _x;
+       this.m_y = _y;
+       this.m_z = _z;
+    }
+
+    public float GetLengthSq() { 
+       return this.m_x*this.m_x + this.m_y*this.m_y + this.m_z*this.m_z; 
+    }
+    
+    public float GetLength() {
+       return Math.sqrtf(GetLengthSq());
+    }
+    
+    void Normalize() {
+       this.m_x /= GetLength();
+       this.m_y /= GetLength();
+       this.m_z /= GetLength();
+    }
+
+    void add0(Vec3 v) { 
+       this.m_x += v.m_x;  
+       this.m_y += v.m_y; 
+       this.m_z += v.m_z; 
+    }
+    
+    void sub0(Vec3 v) { 
+       this.m_x -= v.m_x;  
+       this.m_y -= v.m_y; 
+       this.m_z -= v.m_z; 
+    }
+    
+    void mul0(float s) { 
+       this.m_x *= s;  
+       this.m_y *= s; 
+       this.m_z *= s; 
+    }
+    
+    void div0(float s) { 
+       this.m_x /= s;  
+       this.m_y /= s; 
+       this.m_z /= s; 
+    }
+
+    Vec3 add1(Vec3 v) { 
+       return new Vec3(this.m_x+v.m_x, this.m_y+v.m_y, this.m_z+v.m_z); 
+    }
+    
+    Vec3 reverse1() { 
+       return new Vec3(-this.m_x, -this.m_y, -this.m_z); 
+    }
+    
+    Vec3 sub1(Vec3 v) {
+       return new Vec3(this.m_x-v.m_x, this.m_y-v.m_y, this.m_z-v.m_z); 
+    }
+    
+    Vec3 mul1(float s) {
+       return new Vec3(this.m_x*s, this.m_y*s, this.m_z*s); 
+    }
+    
+    Vec3 div1(float s) {
+       return new Vec3(this.m_x/s, this.m_y/s, this.m_z/s); 
+    }
+
+    float mul2(Vec3 v) { 
+       return this.m_x*v.m_x + this.m_y*v.m_y + this.m_z*v.m_z; 
+    }
+    
+    Vec3 clone() {
+       return new Vec3(this.m_x, this.m_y, this.m_z); 
+    }
+    
+    boolean isLess(Vec3 v) {
+       if((this.m_x > v.m_x) || (this.m_y > v.m_y) || (this.m_z > v.m_z)) {
+           return false;
+       } else {
+           return true;
+       }
+    }
+}
\ No newline at end of file