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 345 by mmeineke, Fri Mar 14 18:35:35 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 );
107  void doForces( int ) {}
108 };
121  
110 class LJ_FF : public ForceFields{
111
112 public:
113  LJ_FF();
114  virtual ~LJ_FF();
115  
116  void initializeAtoms( void );
117  void initializeBonds( bond_pair* the_bonds );
118  void initializeBends( bend_set* the_bends );
119  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 );
129
122   private:
131
132  void fastForward( char* stopText, char* searchOwner );
123    
124 <  // 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 );
124 >  void fastForward( char* stopText, char* searchOwner );
125   };
126  
127   class LJ_FF : public ForceFields{
128  
129   public:
130 <  SSD_FF();
131 <  virtual ~SSD_FF();
130 >  LJ_FF();
131 >  virtual ~LJ_FF();
132    
133    void initializeAtoms( void );
134    void initializeBonds( bond_pair* the_bonds );
135    void initializeBends( bend_set* the_bends );
136    void initializeTorsions( torsion_set* the_torsions );
155  void setSSDfortran( void (*fortranSub)( double* positionArray,
156                                         double* forceArray,
157                                         double* potentialEnergy,
158                                         short int* doPotentialCalc ) ){
159    doSSDfortran = fortranSub;
160  }
161  void doForces( int );
137  
138   private:
139  
140    void fastForward( char* stopText, char* searchOwner );
166  
167  // set our sister fortran module's function to be our own.
168  void wrapMe( void );
169  void (*doSSDfortran)( double* positionArray,
170                        double* forceArray,
171                        double* potentialEnergy,
172                        short int* doPotentialCalc );
173  void initFortran( void );
141   };
142  
143   #endif
144 +

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines