--- trunk/OOPSE/libmdtools/ForceFields.hpp 2003/03/27 20:36:16 424 +++ trunk/OOPSE/libmdtools/ForceFields.hpp 2003/10/28 22:25:46 836 @@ -5,8 +5,8 @@ #define STR_DEFINE(t, s) t = MK_STR(s) -#include -#include +#include +#include #include "Atom.hpp" #include "SimInfo.hpp" @@ -77,14 +77,14 @@ class ForceFields{ (public) virtual void calcRcut( void ); virtual void doForces( int calcPot, int calcStress ); - void setFortranForceLoop( void (*fsub) doForceLoopList ){ + void setFortranForceLoop( doForceLoop_TD fsub ){ fortranForceLoop = fsub; } protected: void initFortran( int ljMixPolicy, int useReactionField ); - void (*fortranForceLoop) doForceLoopList; + doForceLoop_TD fortranForceLoop; FILE *frcFile; SimInfo* entry_plug; @@ -97,11 +97,11 @@ class TraPPE_ExFF : public ForceFields{ }; -class TraPPE_ExFF : public ForceFields{ +class DUFF : public ForceFields{ public: - TraPPE_ExFF(); - virtual ~TraPPE_ExFF(); + DUFF(); + virtual ~DUFF(); void readParams(); void cleanMe( void ); @@ -121,11 +121,11 @@ class LJ_FF : public ForceFields{ void fastForward( char* stopText, char* searchOwner ); }; -class LJ_FF : public ForceFields{ +class LJFF : public ForceFields{ public: - LJ_FF(); - virtual ~LJ_FF(); + LJFF(); + virtual ~LJFF(); void readParams(); @@ -147,5 +147,33 @@ class LJ_FF : public ForceFields{ (private) }; +class EAM_FF : public ForceFields{ + +public: + EAM_FF(); + virtual ~EAM_FF(); + + + void readParams(); + void cleanMe( void ); + + void initializeAtoms( int nAtoms, Atom** atomArray ); + void initializeBonds( int nBonds, Bond** bondArray, + bond_pair* the_bonds ); + void initializeBends( int nBends, Bend** bendArray, + bend_set* the_bends ); + void initializeTorsions( int nTorsions, Torsion** torsionArray, + torsion_set* the_torsions ); + + void initForceField( int ljMixRule ); + + void calcRcut( void ); +private: + + void fastForward( char* stopText, char* searchOwner ); + + double eamRcut; +}; + #endif