ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/Integrator.hpp
(Generate patch)

Comparing trunk/OOPSE/libmdtools/Integrator.hpp (file contents):
Revision 1268 by tim, Fri Jun 11 17:16:21 2004 UTC vs.
Revision 1452 by tim, Mon Aug 23 15:11:36 2004 UTC

# Line 14 | Line 14
14   #include "ReadWrite.hpp"
15   #include "ZConsWriter.hpp"
16   #include "Restraints.hpp"
17 + #include "Quaternion.hpp"
18 + #include "Mat4x4d.hpp"
19  
20   using namespace std;
21   const double kB = 8.31451e-7;// boltzmann constant amu*Ang^2*fs^-2/K
# Line 55 | Line 57 | template<typename T = BaseIntegrator> class Integrator
57    void rotate( int axes1, int axes2, double angle, double j[3],
58           double A[3][3] );
59  
60 +  void printQuaternion(StuntDouble* sd);
61 +  Mat4x4d getS(const Quaternion& q);
62 +
63    ForceFields* myFF;
64  
65    SimInfo *info; // all the info we'll ever need
# Line 91 | Line 96 | typedef Integrator<BaseIntegrator> RealIntegrator;
96   typedef Integrator<BaseIntegrator> RealIntegrator;
97  
98   // ansi instantiation
99 < template class Integrator<BaseIntegrator>;
99 > // template class Integrator<BaseIntegrator>;
100  
101 +
102   template<typename T> class NVE : public T {
103  
104   public:
# Line 500 | Line 506 | template<typename T> class SQSIntegrator : public T{
506   //116(20), 8649, J. Chem. Phys. (2002)
507   template<typename T> class SQSIntegrator : public T{
508    public:
509 +    SQSIntegrator( SimInfo *theInfo, ForceFields* the_ff );
510      virtual void moveA();
511      virtual void moveB();
512    protected:
513 <    void freeRotor();
514 <    void rotate(int k, double dt);
515 <    
513 >    void freeRotor(double dt, Quaternion& q, Vector4d& qdot, Vector3d& I);
514 >    void rotate(int k, double dt,  Quaternion& q,  Vector4d& qdot, double Ik);
515 >  private:
516 >    Quaternion getPk(int i, const Vector4d& q);
517 >    Mat4x4d getS(const Quaternion& q);
518 >    vector<Quaternion> q;
519 >    vector<Vector4d> p_qua;
520 >    vector<double> I0;
521 >
522 >                Vector4d p2j(const Vector4d& p, Mat4x4d& m);    
523 >                Vector4d j2p(const Vector4d& j, Mat4x4d& m);
524   };
525   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines