--- trunk/OOPSE/libmdtools/SimInfo.hpp 2003/08/11 19:38:44 675 +++ trunk/OOPSE/libmdtools/SimInfo.hpp 2003/09/29 21:16:11 790 @@ -30,17 +30,19 @@ class SimInfo{ (public) double tau[9]; // the stress tensor - unsigned int n_bonds; // number of bends - unsigned int n_bends; // number of bends - unsigned int n_torsions; // number of torsions - unsigned int n_oriented; // number of of atoms with orientation - unsigned int ndf; // number of actual degrees of freedom - unsigned int ndfRaw; // number of settable degrees of freedom - unsigned int nZconstraints; // the number of zConstraints + int n_bonds; // number of bends + int n_bends; // number of bends + int n_torsions; // number of torsions + int n_oriented; // number of of atoms with orientation + int ndf; // number of actual degrees of freedom + int ndfRaw; // number of settable degrees of freedom + int ndfTrans; // number of translational degrees of freedom + int nZconstraints; // the number of zConstraints - unsigned int setTemp; // boolean to set the temperature at each sampleTime + int setTemp; // boolean to set the temperature at each sampleTime + int resetIntegrator; // boolean to reset the integrator - unsigned int n_dipoles; // number of dipoles + int n_dipoles; // number of dipoles int n_exclude; // the # of pairs excluded from long range forces @@ -55,7 +57,7 @@ class SimInfo{ (public) int n_constraints; // the number of constraints on the system - unsigned int n_SRI; // the number of short range interactions + int n_SRI; // the number of short range interactions double lrPot; // the potential energy from the long range calculations. @@ -90,6 +92,7 @@ class SimInfo{ (public) double target_temp; // the target temperature of the system double thermalTime; // the temp kick interval double currentTime; // Used primarily for correlation Functions + double resetTime; // Use to reset the integrator periodically int n_mol; // n_molecules; Molecule* molecules; // the array of molecules @@ -108,7 +111,7 @@ class SimInfo{ (public) char sampleName[300]; // the name of the dump file to be written char statusName[300]; // the name of the stat file to be written - + int seed; //seed for random number generator // refreshes the sim if things get changed (load balanceing, volume // adjustment, etc.) @@ -127,6 +130,7 @@ class SimInfo{ (public) int getNDF(); int getNDFraw(); + int getNDFtranslational(); void setBox( double newBox[3] ); void setBoxM( double newBox[3][3] ); @@ -143,8 +147,8 @@ class SimInfo{ (public) double getEst( void ) { return est; } void setTime( double theTime ) { currentTime = theTime; } - void incrTime( double dt ) { currentTime += dt; } - void decrTime( double dt ) { currentTime -= dt; } + void incrTime( double the_dt ) { currentTime += the_dt; } + void decrTime( double the_dt ) { currentTime -= the_dt; } double getTime( void ) { return currentTime; } void wrapVector( double thePos[3] ); @@ -156,13 +160,21 @@ class SimInfo{ (public) void printMat3(double A[3][3]); void printMat9(double A[9]); double matDet3(double m[3][3]); + double matTrace3(double m[3][3]); + void crossProduct3(double a[3],double b[3], double out[3]); + double dotProduct3(double a[3], double b[3]); + double length3(double a[3]); + SimState* getConfiguration( void ) { return myConfiguration; } void addProperty(GenericData* prop); GenericData* getProperty(const string& propName); vector getProperties(); + int getSeed(void) { return seed; } + void setSeed(int theSeed) { seed = theSeed;} + private: SimState* myConfiguration; @@ -177,9 +189,14 @@ class SimInfo{ (public) double ecr; // the electrostatic cutoff radius double est; // the electrostatic skin thickness double maxCutoff; + + double distXY; + double distYZ; + double distZX; void calcHmatInv( void ); void calcBoxL(); + double calcMaxCutOff(); void checkCutOffs( void ); // private function to initialize the fortran side of the simulation