--- trunk/src/brains/SimInfo.cpp 2004/09/24 16:27:58 3 +++ trunk/src/brains/SimInfo.cpp 2004/10/22 22:54:01 143 @@ -9,8 +9,10 @@ using namespace std; #define __C #include "brains/fSimulation.h" #include "utils/simError.h" +#include "UseTheForce/DarkSide/simulation_interface.h" +#include "UseTheForce/notifyCutoffs_interface.h" -#include "UseTheForce/fortranWrappers.hpp" +//#include "UseTheForce/fortranWrappers.hpp" #include "math/MatVec3.h" @@ -55,13 +57,17 @@ SimInfo::SimInfo(){ useInitXSstate = true; usePBC = 0; - useLJ = 0; - useSticky = 0; + useDirectionalAtoms = 0; + useLennardJones = 0; + useElectrostatics = 0; useCharges = 0; useDipoles = 0; - useReactionField = 0; - useGB = 0; + useSticky = 0; + useGayBerne = 0; useEAM = 0; + useShapes = 0; + useFLARB = 0; + useSolidThermInt = 0; useLiquidThermInt = 0; @@ -76,7 +82,6 @@ SimInfo::SimInfo(){ ngroup = 0; - wrapMeSimInfo( this ); } @@ -132,7 +137,7 @@ void SimInfo::setBoxM( double theBox[3][3] ){ } } - setFortranBoxSize(FortranHmat, FortranHmatInv, &orthoRhombic); + setFortranBox(FortranHmat, FortranHmatInv, &orthoRhombic); } @@ -432,17 +437,27 @@ void SimInfo::refreshSim(){ } fInfo.SIM_uses_PBC = usePBC; - //fInfo.SIM_uses_LJ = 0; - fInfo.SIM_uses_LJ = useLJ; - fInfo.SIM_uses_sticky = useSticky; - //fInfo.SIM_uses_sticky = 0; - fInfo.SIM_uses_charges = useCharges; - fInfo.SIM_uses_dipoles = useDipoles; - //fInfo.SIM_uses_dipoles = 0; - fInfo.SIM_uses_RF = useReactionField; - //fInfo.SIM_uses_RF = 0; - fInfo.SIM_uses_GB = useGB; + + if (useSticky || useDipoles || useGayBerne || useShapes) { + useDirectionalAtoms = 1; + fInfo.SIM_uses_DirectionalAtoms = useDirectionalAtoms; + } + + fInfo.SIM_uses_LennardJones = useLennardJones; + + if (useCharges || useDipoles) { + useElectrostatics = 1; + fInfo.SIM_uses_Electrostatics = useElectrostatics; + } + + fInfo.SIM_uses_Charges = useCharges; + fInfo.SIM_uses_Dipoles = useDipoles; + fInfo.SIM_uses_Sticky = useSticky; + fInfo.SIM_uses_GayBerne = useGayBerne; fInfo.SIM_uses_EAM = useEAM; + fInfo.SIM_uses_Shapes = useShapes; + fInfo.SIM_uses_FLARB = useFLARB; + fInfo.SIM_uses_RF = useReactionField; n_exclude = excludes->getSize(); excl = excludes->getFortranArray(); @@ -459,7 +474,7 @@ void SimInfo::refreshSim(){ //it may not be a good idea to pass the address of first element in vector //since c++ standard does not require vector to be stored continuously in meomory //Most of the compilers will organize the memory of vector continuously - setFsimulation( &fInfo, &n_global, &n_atoms, identArray, &n_exclude, excl, + setFortranSim( &fInfo, &n_global, &n_atoms, identArray, &n_exclude, excl, &nGlobalExcludes, globalExcludes, molMembershipArray, &mfact[0], &ngroup, &FglobalGroupMembership[0], &isError); @@ -489,7 +504,7 @@ void SimInfo::setDefaultRcut( double theRcut ){ rCut = theRcut; rList = rCut + 1.0; - notifyFortranCutOffs( &rCut, &rSw, &rList ); + notifyFortranCutoffs( &rCut, &rSw, &rList ); } void SimInfo::setDefaultRcut( double theRcut, double theRsw ){