| 56 |  |  | 
| 57 |  | double lrPot; // the potential energy from the long range calculations. | 
| 58 |  |  | 
| 59 | < | double Hmat[9]; // the periodic boundry conditions. The Hmat is the | 
| 60 | < | // column vectors of the x, y, and z box vectors. | 
| 61 | < | // | 
| 62 | < | //   h1  h2  h3 | 
| 63 | < | // [ Xx  Yx  Zx ] | 
| 64 | < | // [ Xy  Yy  Zy ] | 
| 65 | < | // [ Xz  Yz  Zz ] | 
| 66 | < | // | 
| 67 | < | // to preserve compatibility with Fortran the | 
| 68 | < | // ordering in the array is as follows: | 
| 69 | < | // | 
| 70 | < | // [ 0 3 6 ] | 
| 71 | < | // [ 1 4 7 ] | 
| 72 | < | // [ 2 5 8 ] | 
| 59 | > | double Hmat[3][3];  // the periodic boundry conditions. The Hmat is the | 
| 60 | > | // column vectors of the x, y, and z box vectors. | 
| 61 | > | //   h1  h2  h3 | 
| 62 | > | // [ Xx  Yx  Zx ] | 
| 63 | > | // [ Xy  Yy  Zy ] | 
| 64 | > | // [ Xz  Yz  Zz ] | 
| 65 | > | // | 
| 66 | > | double HmatInv[3][3]; | 
| 67 |  |  | 
| 74 | – | double HmatI[9]; // the inverted Hmat; | 
| 68 |  | double boxLx, boxLy, boxLz; // the box Lengths | 
| 69 |  | double boxVol; | 
| 70 |  | int orthoRhombic; | 
| 123 |  | int getNDFraw(); | 
| 124 |  |  | 
| 125 |  | void setBox( double newBox[3] ); | 
| 126 | < | void setBoxM( double newBox[9] ); | 
| 127 | < | void getBoxM( double theBox[9] ); | 
| 126 | > | void setBoxM( double newBox[3][3] ); | 
| 127 | > | void getBoxM( double theBox[3][3] ); | 
| 128 |  | void scaleBox( double scale ); | 
| 129 |  |  | 
| 130 |  | void wrapVector( double thePos[3] ); | 
| 131 |  |  | 
| 132 | + | void matMul3(double a[3][3], double b[3][3], double out[3][3]); | 
| 133 | + | void matVecMul3(double m[3][3], double inVec[3], double outVec[3]); | 
| 134 | + | void invertMat3(double in[3][3], double out[3][3]); | 
| 135 | + | double matDet3(double m[3][3]); | 
| 136 | + |  | 
| 137 |  | private: | 
| 138 |  |  | 
| 139 | < | void calcHmatI( void ); | 
| 139 | > | void calcHmatInv( void ); | 
| 140 |  | void calcBoxL(); | 
| 141 |  |  | 
| 142 |  | // private function to initialize the fortran side of the simulation |