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 291 by mmeineke, Wed Mar 5 20:35:54 2003 UTC vs.
Revision 308 by mmeineke, Mon Mar 10 21:44:31 2003 UTC

# Line 11 | Line 11 | class bond_pair{
11   #include "mpiForceField.h"
12   #endif
13  
14 + #include <fortranWrapDefines.hpp>
15 +
16   class bond_pair{
17   public:
18    bond_pair(){}
# Line 22 | Line 24 | class bend_set{ (public)
24  
25   class bend_set{
26   public:
27 <  bend_set(){}
27 >  bend_set(){ isGhost = 0; }
28    ~bend_set(){}
29  
30 +  int ghost;
31 +  int isGhost;
32 +
33    int a;
34    int b;
35    int c;
# Line 54 | Line 59 | class ForceFields{ (public)
59    virtual void initializeBonds( bond_pair* the_bonds ) = 0;
60    virtual void initializeBends( bend_set* the_bends ) = 0;
61    virtual void initializeTorsions( torsion_set* the_torsions ) = 0;
62 <  virtual void doForces( int calcPot ) = 0;
62 >  virtual void doForces( int calcPot );
63  
64 +  void setFortranForceLoop( void (*fsub) doForceLoopList ){
65 +    fortranForceLoop = fsub;
66 +  }
67 +
68   protected:
69    
70 +  void initFortran( void );
71 +  void (*fortranForceLoop) doForceLoopList;
72 +
73    FILE *frcFile;
74    SimInfo* entry_plug;
75    
# Line 77 | Line 89 | class TraPPEFF : public ForceFields{ (public)
89    void initializeBonds( bond_pair* the_bonds );
90    void initializeBends( bend_set* the_bends );
91    void initializeTorsions( torsion_set* the_torsions );
80  void doForces( int ) {}
92   };
93  
94  
# Line 91 | Line 102 | class DipoleTestFF : public ForceFields{ (public)
102    void initializeBonds( bond_pair* the_bonds );
103    void initializeBends( bend_set* the_bends );
104    void initializeTorsions( torsion_set* the_torsions );
94  void doForces( int ) {}
105   };
106  
107   class TraPPE_ExFF : public ForceFields{
# Line 104 | Line 114 | class TraPPE_ExFF : public ForceFields{ (public)
114    void initializeBonds( bond_pair* the_bonds );
115    void initializeBends( bend_set* the_bends );
116    void initializeTorsions( torsion_set* the_torsions );
107  void doForces( int );
117  
109  void setTPEfortran( void (*fortranSub)( double* positionArray,
110                                          double* forceArray,
111                                          double* potentialEnergy,
112                                          double* tau,
113                                          short int* doPotentialCalc,
114                                          int* isError ) ){
115    doTPEfortran = fortranSub;
116  }
117
118   private:
119    
120    void fastForward( char* stopText, char* searchOwner );
121  
122  // set our sister fortran module's function to be our own.
123  void wrapMe( void );
124  void (*doTPEfortran)( double* positionArray,
125                        double* forceArray,
126                        double* potentialEnergy,
127                        double* tau,
128                        short int* doPotentialCalc,
129                        int* isError );
130  void initFortran( void );
131
121   };
122  
123   class LJ_FF : public ForceFields{
# Line 141 | Line 130 | class LJ_FF : public ForceFields{ (public)
130    void initializeBonds( bond_pair* the_bonds );
131    void initializeBends( bend_set* the_bends );
132    void initializeTorsions( torsion_set* the_torsions );
144  void setLJfortran( void (*fortranSub)( double* positionArray,
145                                         double* forceArray,
146                                         double* potentialEnergy,
147                                         double* tau,
148                                         short int* doPotentialCalc,
149                                         int* isError ) ){
150    doLJfortran = fortranSub;
151  }
152  void doForces( int );
133  
134   private:
135  
136    void fastForward( char* stopText, char* searchOwner );
157  
158  // set our sister fortran module's function to be our own.
159  void wrapMe( void );
160  void (*doLJfortran)( double* positionArray,
161                       double* forceArray,
162                       double* potentialEnergy,
163                       double* tau,
164                       short int* doPotentialCalc,
165                       int* isError );
166  void initFortran( void );
137   };
138  
139   // class SSD_FF : public ForceFields{

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines