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 1097 by gezelter, Mon Apr 12 20:32:20 2004 UTC vs.
Revision 1108 by tim, Wed Apr 14 15:37:41 2004 UTC

# Line 45 | Line 45 | template<typename T = BaseIntegrator> class Integrator
45    virtual void calcForce( int calcPot, int calcStress );
46    virtual void thermalize();
47  
48 +  virtual bool stopIntegrator() {return false;}
49 +
50    virtual void rotationPropagation( StuntDouble* sd, double ji[3] );
51  
52    void checkConstraints( void );
# Line 484 | Line 486 | template<typename T> class ZConstraint : public T { (p
486   };
487  
488   /*
489 < //Steered Molecular Dynamics
489 > template<typename T> class SingleZConstrain : public T{
490 >
491 >
492 > };
493 > */
494 >
495 > template<typename T> class NonEquMD : public T {
496 >  public:
497 >    
498 >
499 >
500 > };
501 >
502 >
503 > //
504 > template<typename T> class SingleZConstraint : public T{
505 >  public:
506 >    SingleZConstraint(SimInfo *theInfo, ForceFields* the_ff);
507 >    ~SingleZConstraint();
508 >    
509 >    bool stopIntegrator();
510 >    
511 >  protected:
512 >    
513 > };
514 >
515 > //Steered Molecular Dynamics, curret implement only support one steered molecule
516   template<typename T> class SMD : public T{
517    public:
518      SMD( SimInfo *theInfo, ForceFields* the_ff);
519      ~SMD();
520    
521 <   virtual void integrate();
522 <  virtual void calcForce( int calcPot, int calcStress );  
521 >    virtual void integrate();
522 >    virtual void calcForce( int calcPot, int calcStress );  
523 >    bool stopIntegrator();
524 >  private:
525 >    
526   };
527 < */
527 >
528 > //By using state pattern, Coordinate Drive is responsible for switching back and forth between
529 > //Driven Molecular Dynamics and ZConstraint Method.
530 > template<typename T> class CoordinateDriver : public T {
531 >  public:
532 >    typedef T ParentIntegrator;
533 >
534 >    CoordinateDriver(SimInfo*, ForceFields*, BaseIntegrator*, BaseIntegrator*);
535 >    ~CoordinateDriver();
536 >    
537 >    virtual void integrate();
538 >
539 >  private:    
540 >    BaseIntegrator* zconsIntegrator;
541 >    BaseIntegrator* drivenIntegrator;
542 >    
543 > };
544 >
545   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines