--- trunk/mdtools/headers/ForceFields.hpp 2002/10/21 22:02:53 151 +++ trunk/mdtools/headers/ForceFields.hpp 2003/01/17 21:53:33 237 @@ -65,22 +65,16 @@ class ForceFields{ (public) virtual void initializeBonds( bond_pair* the_bonds ) = 0; virtual void initializeBends( bend_set* the_bends ) = 0; virtual void initializeTorsions( torsion_set* the_torsions ) = 0; + virtual void doForces( void ) = 0; protected: - - void ffError( char* errMsg ){ - -#ifdef IS_MPI - ffInterfaceExit( errMsg ); -#else - fprintf( stderr, "%s\n", errMsg ); - exit(0); -#endif - } - FILE *frcFile; SimInfo* entry_plug; + + int lineNum; + char readLine[500]; + char* eof_test; }; @@ -94,6 +88,7 @@ class TraPPEFF : public ForceFields{ (public) void initializeBonds( bond_pair* the_bonds ); void initializeBends( bend_set* the_bends ); void initializeTorsions( torsion_set* the_torsions ); + void doForces( void ) {} }; @@ -107,6 +102,7 @@ class DipoleTestFF : public ForceFields{ (public) void initializeBonds( bond_pair* the_bonds ); void initializeBends( bend_set* the_bends ); void initializeTorsions( torsion_set* the_torsions ); + void doForces( void ) {} }; class TraPPE_ExFF : public ForceFields{ @@ -119,6 +115,38 @@ class TraPPE_ExFF : public ForceFields{ (public) void initializeBonds( bond_pair* the_bonds ); void initializeBends( bend_set* the_bends ); void initializeTorsions( torsion_set* the_torsions ); + void doForces( void ) {} }; +class LJ_FF : public ForceFields{ + +public: + LJ_FF(); + virtual ~LJ_FF(); + + void initializeAtoms( void ); + void initializeBonds( bond_pair* the_bonds ); + void initializeBends( bend_set* the_bends ); + void initializeTorsions( torsion_set* the_torsions ); + void setLJfortran( void (*fortranSub)( double* positionArray, + double* forceArray, + double* potentialEnergy, + short int* doPotentialCalc ) ){ + doLJfortran = fortranSub; + } + void doForces( void ); + +private: + + void fastForward( char* stopText, char* searchOwner ); + + // set our sister fortran module's function to be our own. + void wrapMe( void ); + void (*doLJfortran)( double* positionArray, + double* forceArray, + double* potentialEnergy, + short int* doPotentialCalc ); + +}; + #endif