| 36 |  | unsigned int setTemp;   // boolean to set the temperature at each sampleTime | 
| 37 |  |  | 
| 38 |  | unsigned int n_dipoles; // number of dipoles | 
| 39 | – | double ecr;             // the electrostatic cutoff radius | 
| 40 | – | double est;             // the electrostatic skin thickness | 
| 41 | – | double dielectric;      // the dielectric of the medium for reaction field | 
| 39 |  |  | 
| 40 | + |  | 
| 41 |  | int n_exclude;  // the # of pairs excluded from long range forces | 
| 42 |  | Exclude** excludes;       // the pairs themselves | 
| 43 |  |  | 
| 68 |  | int orthoRhombic; | 
| 69 |  |  | 
| 70 |  |  | 
| 71 | + | double dielectric;      // the dielectric of the medium for reaction field | 
| 72 |  |  | 
| 74 | – | double rList, rCut; // variables for the neighborlist | 
| 73 |  |  | 
| 74 |  | int usePBC; // whether we use periodic boundry conditions. | 
| 75 |  | int useLJ; | 
| 112 |  | // sets the internal function pointer to fortran. | 
| 113 |  |  | 
| 114 |  | void setInternal( void (*fSetup) setFortranSimList, | 
| 115 | < | void (*fBox) setFortranBoxList ){ | 
| 115 | > | void (*fBox) setFortranBoxList, | 
| 116 | > | void (*fCut) notifyFortranCutOffList ){ | 
| 117 |  | setFsimulation = fSetup; | 
| 118 |  | setFortranBoxSize = fBox; | 
| 119 | + | notifyFortranCutOffs = fCut; | 
| 120 |  | } | 
| 121 |  |  | 
| 122 |  | int getNDF(); | 
| 126 |  | void setBoxM( double newBox[3][3] ); | 
| 127 |  | void getBoxM( double theBox[3][3] ); | 
| 128 |  | void scaleBox( double scale ); | 
| 129 | + |  | 
| 130 | + | void setRcut( double theRcut ); | 
| 131 | + | void setEcr( double theEcr ); | 
| 132 | + | void setEcr( double theEcr, double theEst ); | 
| 133 |  |  | 
| 134 | + | double getRcut( void )  { return rCut; } | 
| 135 | + | double getRlist( void ) { return rList; } | 
| 136 | + | double getEcr( void )   { return ecr; } | 
| 137 | + | double getEst( void )   { return est; } | 
| 138 | + |  | 
| 139 | + |  | 
| 140 |  | void wrapVector( double thePos[3] ); | 
| 141 |  |  | 
| 142 |  | void matMul3(double a[3][3], double b[3][3], double out[3][3]); | 
| 148 |  | double matDet3(double m[3][3]); | 
| 149 |  |  | 
| 150 |  | private: | 
| 151 | + |  | 
| 152 | + | double origRcut, origEcr; | 
| 153 | + | int boxIsInit, haveOrigRcut, haveOrigEcr; | 
| 154 | + |  | 
| 155 | + | double oldEcr; | 
| 156 | + | double oldRcut; | 
| 157 | + |  | 
| 158 | + | double rList, rCut; // variables for the neighborlist | 
| 159 | + | double ecr;             // the electrostatic cutoff radius | 
| 160 | + | double est;             // the electrostatic skin thickness | 
| 161 | + | double maxCutoff; | 
| 162 |  |  | 
| 163 |  | void calcHmatInv( void ); | 
| 164 |  | void calcBoxL(); | 
| 165 | + | void checkCutOffs( void ); | 
| 166 |  |  | 
| 167 |  | // private function to initialize the fortran side of the simulation | 
| 168 |  | void (*setFsimulation) setFortranSimList; | 
| 169 |  |  | 
| 170 |  | void (*setFortranBoxSize) setFortranBoxList; | 
| 171 | + |  | 
| 172 | + | void (*notifyFortranCutOffs) notifyFortranCutOffList; | 
| 173 | + |  | 
| 174 |  | }; | 
| 175 |  |  | 
| 176 |  |  |