ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE_old/src/mdtools/libmdCode/ForceFields.hpp
(Generate patch)

Comparing trunk/OOPSE_old/src/mdtools/libmdCode/ForceFields.hpp (file contents):
Revision 290 by chuckv, Thu Feb 27 21:25:47 2003 UTC vs.
Revision 321 by mmeineke, Wed Mar 12 15:12:24 2003 UTC

# Line 1 | Line 1
1   #ifndef __FORCEFIELDS_H__
2   #define __FORCEFIELDS_H__
3  
4 + #define MK_STR(s) # s
5 + #define STR_DEFINE(t, s) t = MK_STR(s)
6 +
7 +
8   #include <cstdio>
9   #include <cstdlib>
10  
# Line 11 | Line 15 | class bond_pair{
15   #include "mpiForceField.h"
16   #endif
17  
18 + #include <fortranWrapDefines.hpp>
19 +
20   class bond_pair{
21   public:
22    bond_pair(){}
# Line 22 | Line 28 | class bend_set{ (public)
28  
29   class bend_set{
30   public:
31 <  bend_set(){}
31 >  bend_set(){ isGhost = 0; }
32    ~bend_set(){}
33  
34 +  int ghost;
35 +  int isGhost;
36 +
37    int a;
38    int b;
39    int c;
# Line 54 | Line 63 | class ForceFields{ (public)
63    virtual void initializeBonds( bond_pair* the_bonds ) = 0;
64    virtual void initializeBends( bend_set* the_bends ) = 0;
65    virtual void initializeTorsions( torsion_set* the_torsions ) = 0;
66 <  virtual void doForces( int calcPot ) = 0;
66 >  virtual void doForces( int calcPot );
67  
68 +  void setFortranForceLoop( void (*fsub) doForceLoopList ){
69 +    fortranForceLoop = fsub;
70 +  }
71 +
72   protected:
73    
74 +  void initFortran( void );
75 +  void (*fortranForceLoop) doForceLoopList;
76 +
77    FILE *frcFile;
78    SimInfo* entry_plug;
79    
# Line 77 | Line 93 | class TraPPEFF : public ForceFields{ (public)
93    void initializeBonds( bond_pair* the_bonds );
94    void initializeBends( bend_set* the_bends );
95    void initializeTorsions( torsion_set* the_torsions );
80  void doForces( int ) {}
96   };
97  
98  
# Line 91 | Line 106 | class DipoleTestFF : public ForceFields{ (public)
106    void initializeBonds( bond_pair* the_bonds );
107    void initializeBends( bend_set* the_bends );
108    void initializeTorsions( torsion_set* the_torsions );
94  void doForces( int ) {}
109   };
110  
111   class TraPPE_ExFF : public ForceFields{
# Line 104 | Line 118 | class TraPPE_ExFF : public ForceFields{ (public)
118    void initializeBonds( bond_pair* the_bonds );
119    void initializeBends( bend_set* the_bends );
120    void initializeTorsions( torsion_set* the_torsions );
121 <  void doForces( int ) {}
121 >
122 > private:
123 >  
124 >  void fastForward( char* stopText, char* searchOwner );
125   };
126  
127   class LJ_FF : public ForceFields{
# Line 117 | Line 134 | class LJ_FF : public ForceFields{ (public)
134    void initializeBonds( bond_pair* the_bonds );
135    void initializeBends( bend_set* the_bends );
136    void initializeTorsions( torsion_set* the_torsions );
120  void setLJfortran( void (*fortranSub)( double* positionArray,
121                                         double* forceArray,
122                                         double* potentialEnergy,
123                                         double* tau,
124                                         short int* doPotentialCalc,
125                                         int* isError ) ){
126    doLJfortran = fortranSub;
127  }
128  void doForces( int );
137  
138   private:
139  
140    void fastForward( char* stopText, char* searchOwner );
133  
134  // set our sister fortran module's function to be our own.
135  void wrapMe( void );
136  void (*doLJfortran)( double* positionArray,
137                       double* forceArray,
138                       double* potentialEnergy,
139                       double* tau,
140                       short int* doPotentialCalc,
141                       int* isError );
142  void initFortran( void );
141   };
142  
143 < class LJ_FF : public ForceFields{
143 > // class SSD_FF : public ForceFields{
144  
145 < public:
146 <  SSD_FF();
147 <  virtual ~SSD_FF();
145 > // public:
146 > //   SSD_FF();
147 > //   virtual ~SSD_FF();
148    
149 <  void initializeAtoms( void );
150 <  void initializeBonds( bond_pair* the_bonds );
151 <  void initializeBends( bend_set* the_bends );
152 <  void initializeTorsions( torsion_set* the_torsions );
153 <  void setSSDfortran( void (*fortranSub)( double* positionArray,
154 <                                         double* forceArray,
155 <                                         double* potentialEnergy,
156 <                                         short int* doPotentialCalc ) ){
157 <    doSSDfortran = fortranSub;
158 <  }
159 <  void doForces( int );
149 > //   void initializeAtoms( void );
150 > //   void initializeBonds( bond_pair* the_bonds );
151 > //   void initializeBends( bend_set* the_bends );
152 > //   void initializeTorsions( torsion_set* the_torsions );
153 > //   void setSSDfortran( void (*fortranSub)( double* positionArray,
154 > //                                       double* forceArray,
155 > //                                       double* potentialEnergy,
156 > //                                       short int* doPotentialCalc ) ){
157 > //     doSSDfortran = fortranSub;
158 > //   }
159 > //   void doForces( int );
160  
161 < private:
161 > // private:
162  
163 <  void fastForward( char* stopText, char* searchOwner );
163 > //   void fastForward( char* stopText, char* searchOwner );
164    
165 <  // set our sister fortran module's function to be our own.
166 <  void wrapMe( void );
167 <  void (*doSSDfortran)( double* positionArray,
168 <                        double* forceArray,
169 <                        double* potentialEnergy,
170 <                        short int* doPotentialCalc );
171 <  void initFortran( void );
172 < };
165 > //   // set our sister fortran module's function to be our own.
166 > //   void wrapMe( void );
167 > //   void (*doSSDfortran)( double* positionArray,
168 > //                      double* forceArray,
169 > //                      double* potentialEnergy,
170 > //                      short int* doPotentialCalc );
171 > //   void initFortran( void );
172 > // };
173  
174   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines