ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/Integrator.hpp
Revision: 378
Committed: Fri Mar 21 17:42:12 2003 UTC (21 years, 3 months ago) by mmeineke
File size: 1993 byte(s)
Log Message:
This commit was generated by cvs2svn to compensate for changes in r377,
which included commits to RCS files with non-trunk default branches.

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
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