ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/mdtools/headers/Integrator.hpp
Revision: 11
Committed: Tue Jul 9 18:40:59 2002 UTC (22 years ago) by mmeineke
File size: 2227 byte(s)
Log Message:
This commit was generated by cvs2svn to compensate for changes in r10, which
included commits to RCS files with non-trunk default branches.

File Contents

# User Rev Content
1 mmeineke 10 #ifndef _INTEGRATOR_H_
2     #define _INTEGRATOR_H_
3    
4     #include "Atom.hpp"
5     #include "LRI.hpp"
6     #include "SRI.hpp"
7     #include "AbstractClasses.hpp"
8     #include "SimInfo.hpp"
9    
10     class Verlet : public Integrator {
11    
12     public:
13     Verlet( SimInfo &info );
14     ~Verlet();
15     void integrate( void );
16     void integrate_b( double time_length, double dt,
17     int n_bond_0, int n_bond_f,
18     int n_bend_0, int n_bend_f,
19     int n_torsion_0, int n_trosion_f,
20     bool do_bonds, bool do_bends, bool do_torsions,
21     bool do_LRI );
22    
23     private:
24    
25     void move_a( double dt );
26     void move_b( double dt );
27    
28     SimInfo *entry_plug; // all the info we'll ever need
29     int c_natoms; /* the number of atoms */
30     Atom **c_atoms; /* array of atom pointers */
31     SRI **c_sr_interactions; /* array of SRI pointers */
32     LRI *longRange; /* the long ranghe forces */
33     int c_n_SRI; /* the number of short range interactions */
34    
35     int c_is_constrained; /*boolean to know whether the systems contains
36     constraints. */
37     int c_n_constrained; /*counter for number of constraints */
38     int *c_constrained_i; /* the i of a constraint pair */
39     int *c_constrained_j; /* the j of a constraint pair */
40     double *c_constrained_dsqr; /* the square of the constraint distance */
41     double *c_mass; /* the array of masses */
42     short is_first; /*boolean for the first time integrate is called */
43     double c_box_x;
44     double c_box_y;
45     double c_box_z;
46     };
47    
48     class Symplectic : public Integrator {
49    
50     public:
51     Symplectic( SimInfo* the_entry_plug );
52     ~Symplectic();
53    
54     void integrate( void );
55    
56     private:
57    
58     void rotate( int axes1, int axes2, double angle, double j[3],
59     double A[3][3] );
60    
61     SimInfo* entry_plug;
62    
63    
64     int is_constrained; /*boolean to know whether the systems contains
65     constraints. */
66     int n_constrained; /*counter for number of constraints */
67     int *constrained_i; /* the i of a constraint pair */
68     int *constrained_j; /* the j of a constraint pair */
69     double *constrained_dsqr; /* the square of the constraint distance */
70     double *mass; /* the array of masses */
71    
72     short int isFirst;
73     SRI **srInteractions; /* array of SRI pointers */
74     LRI *longRange; /* the long range forces */
75     int nSRI; /* the number of short range interactions */
76    
77     };
78    
79     #endif