ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/Integrator.hpp
Revision: 542
Committed: Fri May 30 21:31:48 2003 UTC (21 years, 1 month ago) by mmeineke
File size: 1714 byte(s)
Log Message:
currently modifiying Symplectic to become the basic integrator.

File Contents

# Content
1 #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 #include "Thermo.hpp"
10 #include "ReadWrite.hpp"
11
12 class Integrator : public BaseIntegrator {
13
14 public:
15 Symplectic( SimInfo &theInfo, ForceFields* the_ff );
16 virtual ~Symplectic();
17 void integrate( void );
18
19
20 protected:
21
22
23 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
29
30 void checkConstraints( void );
31 void rotate( int axes1, int axes2, double angle, double j[3],
32 double A[3][3] );
33
34
35 ForceFields* myFF;
36
37 SimInfo *info; // all the info we'll ever need
38 int nAtoms; /* the number of atoms */
39 Atom **atoms; /* array of atom pointers */
40 Molecule* molecules;
41 int nMols;
42
43 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 double dt2;
53 const double eConvert = 4.184e-4; // converts kcal/mol -> amu*A^2/fs^2
54
55
56 double* pos;
57 double* vel;
58 double* frc;
59 double* trq;
60 double* Amat;
61
62
63
64 Thermo *tStats;
65 StatWriter* statOut;
66 DumpWriter* dumpOut;
67
68 };
69
70
71 class NVT : public Integrator{
72
73 NVT ( void );
74 virtual ~NVT();
75
76 protected:
77 virtual moveA( void );
78 virtual moveB( void );
79
80 };
81
82
83
84
85 #endif