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 1141 by tim, Wed Apr 28 23:09:32 2004 UTC vs.
Revision 1198 by tim, Thu May 27 00:48:12 2004 UTC

# Line 13 | Line 13
13   #include "Thermo.hpp"
14   #include "ReadWrite.hpp"
15   #include "ZConsWriter.hpp"
16 + #include "Restraints.hpp"
17  
18   using namespace std;
19   const double kB = 8.31451e-7;// boltzmann constant amu*Ang^2*fs^-2/K
# Line 87 | Line 88 | typedef Integrator<BaseIntegrator> RealIntegrator;
88  
89   typedef Integrator<BaseIntegrator> RealIntegrator;
90  
91 + // ansi instantiation
92 + template class Integrator<BaseIntegrator>;
93 +
94   template<typename T> class NVE : public T {
95  
96   public:
# Line 483 | Line 487 | template<typename T> class ZConstraint : public T { (p
487    
488    ForceSubtractionPolicy* forcePolicy; //force subtraction policy
489    friend class ForceSubtractionPolicy;
486
487 };
488
489 /*
490 template<typename T> class SingleZConstrain : public T{
491
492
493 };
494 */
495
496 template<typename T> class NonEquMD : public T {
497  public:
498    
490  
500
491   };
492  
503
504 //
505 template<typename T> class SingleZConstraint : public T{
506  public:
507    SingleZConstraint(SimInfo *theInfo, ForceFields* the_ff);
508    ~SingleZConstraint();
509    
510    bool stopIntegrator();
511    
512  protected:
513    
514 };
515
516 //Steered Molecular Dynamics, curret implement only support one steered molecule
517 template<typename T> class SMD : public T{
518  public:
519    SMD( SimInfo *theInfo, ForceFields* the_ff);
520    ~SMD();
521  
522    virtual void integrate();
523    virtual void calcForce( int calcPot, int calcStress );  
524    bool stopIntegrator();
525  private:
526    
527 };
528
529 //By using state pattern, Coordinate Drive is responsible for switching back and forth between
530 //Driven Molecular Dynamics and ZConstraint Method.
531 template<typename T> class CoordinateDriver : public T {
532  public:
533    typedef T ParentIntegrator;
534
535    CoordinateDriver(SimInfo*, ForceFields*, BaseIntegrator*, BaseIntegrator*);
536    ~CoordinateDriver();
537    
538    virtual void integrate();
539
540  private:    
541    BaseIntegrator* zconsIntegrator;
542    BaseIntegrator* drivenIntegrator;
543    
544 };
545
493   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines