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 299 by mmeineke, Fri Mar 7 19:31:02 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 54 | Line 56 | class ForceFields{ (public)
56    virtual void initializeBonds( bond_pair* the_bonds ) = 0;
57    virtual void initializeBends( bend_set* the_bends ) = 0;
58    virtual void initializeTorsions( torsion_set* the_torsions ) = 0;
59 <  virtual void doForces( int calcPot ) = 0;
59 >  virtual void doForces( int calcPot );
60  
61 +  void setFortranForceLoop( void (*fsub) doForceLoopList ){
62 +    fortranForceLoop = fsub;
63 +  }
64 +
65   protected:
66    
67 +  void initFortran( void );
68 +  void (*fortranForceLoop) doForceLoopList;
69 +
70    FILE *frcFile;
71    SimInfo* entry_plug;
72    
# Line 77 | Line 86 | class TraPPEFF : public ForceFields{ (public)
86    void initializeBonds( bond_pair* the_bonds );
87    void initializeBends( bend_set* the_bends );
88    void initializeTorsions( torsion_set* the_torsions );
80  void doForces( int ) {}
89   };
90  
91  
# Line 91 | Line 99 | class DipoleTestFF : public ForceFields{ (public)
99    void initializeBonds( bond_pair* the_bonds );
100    void initializeBends( bend_set* the_bends );
101    void initializeTorsions( torsion_set* the_torsions );
94  void doForces( int ) {}
102   };
103  
104   class TraPPE_ExFF : public ForceFields{
# Line 104 | Line 111 | class TraPPE_ExFF : public ForceFields{ (public)
111    void initializeBonds( bond_pair* the_bonds );
112    void initializeBends( bend_set* the_bends );
113    void initializeTorsions( torsion_set* the_torsions );
107  void doForces( int );
114  
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
115   private:
116    
117    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
118   };
119  
120   class LJ_FF : public ForceFields{
# Line 141 | Line 127 | class LJ_FF : public ForceFields{ (public)
127    void initializeBonds( bond_pair* the_bonds );
128    void initializeBends( bend_set* the_bends );
129    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 );
130  
131   private:
132  
133    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 );
134   };
135  
136   // class SSD_FF : public ForceFields{

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines