ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/Integrator.hpp
Revision: 540
Committed: Fri May 30 19:07:45 2003 UTC (21 years, 1 month ago) by mmeineke
File size: 1544 byte(s)
Log Message:
changed how NVT is now derived from Integrator

File Contents

# User Rev Content
1 mmeineke 377 #ifndef _INTEGRATOR_H_
2     #define _INTEGRATOR_H_
3    
4     #include "Atom.hpp"
5     #include "SRI.hpp"
6     #include "AbstractClasses.hpp"
7     #include "SimInfo.hpp"
8     #include "ForceFields.hpp"
9 mmeineke 540 #include "Thermo.hpp"
10     #include "ReadWrite.hpp"
11 mmeineke 377
12 mmeineke 540 class Integrator : public BaseIntegrator {
13 mmeineke 377
14     public:
15 mmeineke 540 Symplectic( SimInfo &theInfo, ForceFields* the_ff );
16     virtual ~Symplectic();
17 mmeineke 377 void integrate( void );
18    
19    
20 mmeineke 540 protected:
21 mmeineke 377
22    
23 mmeineke 540 virtual void integrateStep( int calcPot, int calcStress );
24     virtual void moveA( void );
25     virtual void moveB( void );
26     virtual void constrainA( void );
27     virtual void constrainB( void );
28 mmeineke 377
29 mmeineke 540
30     void checkConstraints( void );
31 mmeineke 377 void rotate( int axes1, int axes2, double angle, double j[3],
32     double A[3][3] );
33    
34 mmeineke 540
35 mmeineke 377 ForceFields* myFF;
36    
37 mmeineke 540 SimInfo *info; // all the info we'll ever need
38     int nAtoms; /* the number of atoms */
39     Atom **atoms; /* array of atom pointers */
40 mmeineke 423 Molecule* molecules;
41     int nMols;
42    
43 mmeineke 540 int isConstrained; /*boolean to know whether the systems contains
44     constraints. */
45     int nConstrained; /*counter for number of constraints */
46     int *constrainedI; /* the i of a constraint pair */
47     int *constrainedJ; /* the j of a constraint pair */
48     double *constrainedDsqr; /* the square of the constraint distance */
49     short isFirst; /*boolean for the first time integrate is called */
50    
51     double dt;
52 mmeineke 377
53    
54 mmeineke 540 Thermo *tStats;
55     StatWriter* statOut;
56     DumpWriter* dumpOut;
57 mmeineke 377
58     };
59    
60 mmeineke 540
61     class NVT : public Integrator{
62    
63     NVT ( void );
64     virtual ~NVT();
65    
66     protected:
67     virtual moveA( void );
68     virtual moveB( void );
69    
70     };
71    
72    
73    
74    
75 mmeineke 377 #endif