--- trunk/OOPSE/libmdtools/ForceFields.hpp 2004/04/12 20:32:20 1097 +++ trunk/OOPSE/libmdtools/ForceFields.hpp 2004/06/11 14:14:10 1261 @@ -7,9 +7,11 @@ #include #include +#include #include "Atom.hpp" #include "SimInfo.hpp" +#include "StuntDouble.hpp" #ifdef IS_MPI #include "mpiForceField.h" @@ -56,12 +58,14 @@ class ForceFields{ (public) class ForceFields{ public: - ForceFields(){ frcFile = NULL; entry_plug = NULL; } + ForceFields(){ frcFile = NULL; entry_plug = NULL; has_variant=0;} + ForceFields(char * theVariant ){ frcFile = NULL; entry_plug = NULL; has_variant=1; strcpy(variant, theVariant); } virtual ~ForceFields(){} void setSimInfo( SimInfo* the_entry_plug ) { entry_plug = the_entry_plug; } virtual void readParams( void ) = 0; + virtual void cleanMe( void ) = 0; @@ -73,6 +77,8 @@ class ForceFields{ (public) virtual void initializeTorsions( int nTorsions, Torsion** torsionArray, torsion_set* the_torsions ) = 0; virtual void initForceField( int ljMixRule ) = 0; + virtual void initRestraints(); + virtual void dumpzAngle(); virtual void calcRcut( void ); virtual void setRcut( double LJrcut ); @@ -93,6 +99,8 @@ class ForceFields{ (public) int lineNum; char readLine[500]; char* eof_test; + char variant[100]; + short int has_variant; double bigSigma; }; @@ -152,6 +160,7 @@ class EAM_FF : public ForceFields{ (public) public: EAM_FF(); + EAM_FF(char* the_variant); virtual ~EAM_FF();