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

# Content
1 #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