ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-1.0/libmdtools/AbstractClasses.hpp
Revision: 1334
Committed: Fri Jul 16 18:58:03 2004 UTC (19 years, 11 months ago) by gezelter
File size: 1425 byte(s)
Log Message:
Initial import of OOPSE-1.0 source tree

File Contents

# User Rev Content
1 gezelter 1334 #ifndef _ABSTRACT_CLASSES_H_
2     #define _ABSTRACT_CLASSES_H_
3    
4     #include <string>
5     #include "Atom.hpp"
6     #ifdef IS_MPI
7    
8     #include "mpi.h"
9     #endif
10    
11     using namespace std;
12    
13     class Constraint{
14     public:
15     Constraint(){
16     }
17     ~Constraint(){
18     }
19    
20     int get_a(){
21     return a;
22     }
23     void set_a(int index){
24     a = index;
25     }
26     int get_b(){
27     return b;
28     }
29     void set_b(int index){
30     b = index;
31     }
32     double get_dsqr(){
33     return dsqr;
34     }
35     void set_dsqr(double ds){
36     dsqr = ds;
37     }
38    
39     private:
40     int a; /* index of constrained atom a */
41     int b; /* index of constrained atom b */
42     double dsqr; /* the square of the constraint distance */
43     };
44    
45     class SRI{
46     public:
47     SRI(){
48     c_potential_E = 0.0;
49     }
50     virtual ~SRI(){
51     }
52    
53     virtual void calc_forces() = 0;
54    
55     double get_potential(){
56     return c_potential_E;
57     }
58     virtual int is_constrained() = 0;
59     virtual Constraint* get_constraint() = 0;
60     virtual void constrain(double bond_distance) = 0;
61    
62     virtual void printMe(void) = 0;
63    
64     protected:
65     double c_potential_E;
66     };
67    
68    
69     class BaseIntegrator{
70     public:
71     BaseIntegrator(){
72     }
73     virtual ~BaseIntegrator(){
74     }
75    
76     virtual void integrate(void) = 0;
77     virtual double getConservedQuantity(void) = 0;
78     virtual string getAdditionalParameters(void) = 0;
79     };
80     #endif