--- trunk/OOPSE/libmdtools/Integrator.hpp 2003/10/29 20:41:39 843 +++ trunk/OOPSE/libmdtools/Integrator.hpp 2004/02/03 20:43:08 1010 @@ -178,6 +178,8 @@ template class NPT : public T{ (protected) virtual void getVelScaleB( double sc[3], int index ) = 0; virtual void getPosScale(double pos[3], double COM[3], int index, double sc[3]) = 0; + + virtual void calcVelScale( void ) = 0; virtual bool chiConverged( void ); virtual bool etaConverged( void ) = 0; @@ -256,7 +258,10 @@ template class NPTi : public T{ (protected virtual void getPosScale(double pos[3], double COM[3], int index, double sc[3]); + virtual void calcVelScale( void ); + double eta, oldEta, prevEta; + double vScale; }; template class NPTf : public T{ @@ -283,10 +288,13 @@ template class NPTf : public T{ (protected virtual void getVelScaleB( double sc[3], int index ); virtual void getPosScale(double pos[3], double COM[3], int index, double sc[3]); + + virtual void calcVelScale( void ); double eta[3][3]; double oldEta[3][3]; double prevEta[3][3]; + double vScale[3][3]; }; template class NPTxyz : public T{ @@ -314,9 +322,12 @@ template class NPTxyz : public T{ (protect virtual void getPosScale(double pos[3], double COM[3], int index, double sc[3]); + virtual void calcVelScale( void ); + double eta[3][3]; double oldEta[3][3]; double prevEta[3][3]; + double vScale[3][3]; }; @@ -462,4 +473,22 @@ template class ZConstraint : public T { (p }; +class OOPSEMinimizerBase : public RealIntegrator { + public: + + OOPSEMinimizerBase ( SimInfo *theInfo, ForceFields* the_ff ); + virtual ~OOPSEMinimizerBase(); + + double calcGradient(vector& x, vector& grad); + void setOptCoor(vector& x); + void getOptCoor(vector& x); + void output(); + +}; + +template class OOPSEMinimizer : public OOPSEMinimizerBase, TMinimizer{ + public: + void writeOutput(); +}; + #endif