| 13 |
|
#include "AbstractClasses.hpp" |
| 14 |
|
#include "MakeStamps.hpp" |
| 15 |
|
#include "SimState.hpp" |
| 16 |
+ |
#include "Restraints.hpp" |
| 17 |
|
|
| 18 |
|
#define __C |
| 19 |
|
#include "fSimulation.h" |
| 20 |
|
#include "fortranWrapDefines.hpp" |
| 21 |
|
#include "GenericData.hpp" |
| 22 |
+ |
|
| 23 |
+ |
|
| 24 |
|
//#include "Minimizer.hpp" |
| 25 |
|
//#include "OOPSEMinimizer.hpp" |
| 26 |
|
|
| 27 |
+ |
|
| 28 |
+ |
double roundMe( double x ); |
| 29 |
|
class OOPSEMinimizer; |
| 30 |
+ |
class ConstraintManager; |
| 31 |
|
class SimInfo{ |
| 32 |
|
|
| 33 |
|
public: |
| 97 |
|
int useReactionField; |
| 98 |
|
int useGB; |
| 99 |
|
int useEAM; |
| 100 |
< |
|
| 100 |
> |
bool haveCutoffGroups; |
| 101 |
|
bool useInitXSstate; |
| 102 |
|
double orthoTolerance; |
| 103 |
|
|
| 122 |
|
BaseIntegrator *the_integrator; // the integrator of the simulation |
| 123 |
|
|
| 124 |
|
OOPSEMinimizer* the_minimizer; // the energy minimizer |
| 125 |
+ |
Restraints* restraint; |
| 126 |
|
bool has_minimizer; |
| 127 |
|
|
| 128 |
|
char finalName[300]; // the name of the eor file to be written |
| 129 |
|
char sampleName[300]; // the name of the dump file to be written |
| 130 |
|
char statusName[300]; // the name of the stat file to be written |
| 131 |
+ |
char rawPotName[300]; // the name of the raw file to be written |
| 132 |
|
|
| 133 |
|
int seed; //seed for random number generator |
| 134 |
+ |
|
| 135 |
+ |
int useSolidThermInt; // is solid-state thermodynamic integration being used |
| 136 |
+ |
int useLiquidThermInt; // is liquid thermodynamic integration being used |
| 137 |
+ |
double thermIntLambda; // lambda for TI |
| 138 |
+ |
double thermIntK; // power of lambda for TI |
| 139 |
+ |
double vRaw; // unperturbed potential for TI |
| 140 |
+ |
double vHarm; // harmonic potential for TI |
| 141 |
+ |
int i; // just an int |
| 142 |
+ |
|
| 143 |
+ |
vector<double> mfact; |
| 144 |
+ |
vector<int> FglobalGroupMembership; |
| 145 |
+ |
int ngroup; |
| 146 |
+ |
int* globalGroupMembership; |
| 147 |
+ |
|
| 148 |
+ |
ConstraintManager* consMan; //constraint manager holding the constraint pairs |
| 149 |
+ |
|
| 150 |
|
// refreshes the sim if things get changed (load balanceing, volume |
| 151 |
|
// adjustment, etc.) |
| 152 |
|
|
| 173 |
|
void scaleBox( double scale ); |
| 174 |
|
|
| 175 |
|
void setDefaultRcut( double theRcut ); |
| 176 |
< |
void setDefaultEcr( double theEcr ); |
| 153 |
< |
void setDefaultEcr( double theEcr, double theEst ); |
| 176 |
> |
void setDefaultRcut( double theRcut, double theRsw ); |
| 177 |
|
void checkCutOffs( void ); |
| 178 |
|
|
| 179 |
|
double getRcut( void ) { return rCut; } |
| 180 |
|
double getRlist( void ) { return rList; } |
| 181 |
< |
double getEcr( void ) { return ecr; } |
| 159 |
< |
double getEst( void ) { return est; } |
| 181 |
> |
double getRsw( void ) { return rSw; } |
| 182 |
|
double getMaxCutoff( void ) { return maxCutoff; } |
| 183 |
< |
|
| 183 |
> |
|
| 184 |
|
void setTime( double theTime ) { currentTime = theTime; } |
| 185 |
|
void incrTime( double the_dt ) { currentTime += the_dt; } |
| 186 |
|
void decrTime( double the_dt ) { currentTime -= the_dt; } |
| 201 |
|
|
| 202 |
|
SimState* myConfiguration; |
| 203 |
|
|
| 204 |
< |
int boxIsInit, haveRcut, haveEcr; |
| 204 |
> |
int boxIsInit, haveRcut, haveRsw; |
| 205 |
|
|
| 206 |
|
double rList, rCut; // variables for the neighborlist |
| 207 |
< |
double ecr; // the electrostatic cutoff radius |
| 208 |
< |
double est; // the electrostatic skin thickness |
| 207 |
> |
double rSw; // the switching radius |
| 208 |
> |
|
| 209 |
|
double maxCutoff; |
| 210 |
|
|
| 211 |
|
double distXY; |
| 225 |
|
|
| 226 |
|
//Addtional Properties of SimInfo |
| 227 |
|
map<string, GenericData*> properties; |
| 228 |
+ |
void getFortranGroupArrays(SimInfo* info, |
| 229 |
+ |
vector<int>& FglobalGroupMembership, |
| 230 |
+ |
vector<double>& mfact); |
| 231 |
|
|
| 232 |
+ |
|
| 233 |
|
}; |
| 234 |
|
|
| 235 |
+ |
|
| 236 |
|
#endif |