ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/Integrator.hpp
Revision: 377
Committed: Fri Mar 21 17:42:12 2003 UTC (21 years, 3 months ago) by mmeineke
Original Path: branches/mmeineke/OOPSE/libmdtools/Integrator.hpp
File size: 1993 byte(s)
Log Message:
New OOPSE Tree

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    
10     class Verlet : public Integrator {
11    
12     public:
13     Verlet( SimInfo &info, ForceFields* the_ff );
14     ~Verlet();
15     void integrate( void );
16    
17     private:
18    
19     void move_a( double dt );
20     void move_b( double dt );
21    
22     ForceFields* myFF;
23    
24     SimInfo *entry_plug; // all the info we'll ever need
25     int c_natoms; /* the number of atoms */
26     Atom **c_atoms; /* array of atom pointers */
27     SRI **c_sr_interactions; /* array of SRI pointers */
28     int c_n_SRI; /* the number of short range interactions */
29    
30     int c_is_constrained; /*boolean to know whether the systems contains
31     constraints. */
32     int c_n_constrained; /*counter for number of constraints */
33     int *c_constrained_i; /* the i of a constraint pair */
34     int *c_constrained_j; /* the j of a constraint pair */
35     double *c_constrained_dsqr; /* the square of the constraint distance */
36     double *c_mass; /* the array of masses */
37     short is_first; /*boolean for the first time integrate is called */
38     double c_box_x;
39     double c_box_y;
40     double c_box_z;
41     };
42    
43     class Symplectic : public Integrator {
44    
45     public:
46     Symplectic( SimInfo* the_entry_plug, ForceFields* the_ff );
47     ~Symplectic();
48    
49     void integrate( void );
50    
51     private:
52    
53     void rotate( int axes1, int axes2, double angle, double j[3],
54     double A[3][3] );
55    
56     SimInfo* entry_plug;
57     ForceFields* myFF;
58    
59     int is_constrained; /*boolean to know whether the systems contains
60     constraints. */
61     int n_constrained; /*counter for number of constraints */
62     int *constrained_i; /* the i of a constraint pair */
63     int *constrained_j; /* the j of a constraint pair */
64     double *constrained_dsqr; /* the square of the constraint distance */
65     double *mass; /* the array of masses */
66    
67     short int isFirst;
68    
69     SRI **srInteractions; /* array of SRI pointers */
70     int nSRI; /* the number of short range interactions */
71    
72     };
73    
74     #endif