diff --git a/patches/namd-2.9.config b/patches/namd-2.12.config similarity index 100% rename from patches/namd-2.9.config rename to patches/namd-2.12.config diff --git a/patches/namd-2.9.diff b/patches/namd-2.12.diff similarity index 88% rename from patches/namd-2.9.diff rename to patches/namd-2.12.diff index 8b41a153d5f04ee425e86845c116c6f86c9bdd54..f24360157cbc5135ddfce9e69304306a3e687d59 100644 --- a/patches/namd-2.9.diff +++ b/patches/namd-2.12.diff @@ -1,31 +1,37 @@ patch -u -l -b -F 5 -N --suffix=.preplumed "./Makefile" << \EOF_EOF --- ./Makefile.preplumed +++ ./Makefile -@@ -359,10 +359,12 @@ - CXXBASEFLAGS = $(COPTI)$(CHARMINC) $(COPTI)$(SRCDIR) $(COPTI)$(INCDIR) $(DPMTA) $(DPME) $(COPTI)$(PLUGININCDIR) $(COPTD)STATIC_PLUGIN $(TCL) $(FFT) $(CUDA) $(MEMOPT) $(CCS) $(RELEASE) $(EXTRADEFINES) $(TRACEOBJDEF) $(EXTRAINCS) $(MSA) +@@ -359,13 +359,15 @@ + CXXBASEFLAGS = $(COPTI)$(CHARMINC) $(COPTI)$(SRCDIR) $(COPTI)$(INCDIR) $(DPMTA) $(DPME) $(FMM) $(COPTI)$(PLUGININCDIR) $(COPTD)STATIC_PLUGIN $(TCL) $(PYTHON) $(FFT) $(CUDA) $(MIC) $(MEMOPT) $(CCS) $(RELEASE) $(EXTRADEFINES) $(TRACEOBJDEF) $(EXTRAINCS) $(MSA) $(CKLOOP) CXXFLAGS = $(CXXBASEFLAGS) $(CXXOPTS) + CXXMICFLAGS = $(CXXBASEFLAGS) $(CXXOPTS) $(CXXMICOPTS) CXXTHREADFLAGS = $(CXXBASEFLAGS) $(CXXTHREADOPTS) CXXSIMPARAMFLAGS = $(CXXBASEFLAGS) $(CXXSIMPARAMOPTS) CXXNOALIASFLAGS = $(CXXBASEFLAGS) $(CXXNOALIASOPTS) +include .rootdir/Plumed.inc + + CXXCOLVARFLAGS = $(CXXBASEFLAGS) $(CXXCOLVAROPTS) GXXFLAGS = $(CXXBASEFLAGS) -DNO_STRSTREAM_H CFLAGS = $(COPTI)$(SRCDIR) $(TCL) $(COPTS) $(RELEASE) $(EXTRADEFINES) $(TRACEOBJDEF) PLUGINGCCFLAGS = $(COPTI)$(PLUGINSRCDIR) $(COPTI)$(PLUGININCDIR) $(COPTD)STATIC_PLUGIN PLUGINCFLAGS = $(PLUGINGCCFLAGS) $(COPTS) SBCFLAGS = $(COPTI)$(SBSRCDIR) $(COPTI)$(PLUGININCDIR) $(COPTD)STATIC_PLUGIN -DPSFGEN_USEPLUGINS $(TCL) $(COPTS) $(RELEASE) $(EXTRADEFINES) $(TRACEOBJDEF) -@@ -394,10 +396,11 @@ - $(CUDAOBJS) \ - $(CUDALIB) \ - $(DPMTALIB) \ - $(DPMELIB) \ - $(TCLLIB) \ + SBGCCFLAGS = $(COPTI)$(SBSRCDIR) $(COPTI)$(PLUGININCDIR) $(COPTD)STATIC_PLUGIN -DPSFGEN_USEPLUGINS $(TCL) $(RELEASE) $(EXTRADEFINES) $(TRACEOBJDEF) +@@ -394,13 +396,14 @@ + $(CUDAOBJS) \ + $(CUDALIB) \ + $(DPMTALIB) \ + $(DPMELIB) \ + $(FMMLIB) \ + $(TCLLIB) \ + $(PLUMED_LOAD) \ - $(FFTLIB) \ - $(PLUGINLIB) \ - $(CHARMOPTS) \ - $(EXTRALINKLIBS) \ - -lm -o namd2 + $(PYTHONLIB) \ + $(FFTLIB) \ + $(PLUGINLIB) \ + $(SBLIB) \ + $(CHARMOPTS) \ + $(EXTRALINKLIBS) \ + -lm -o namd2 EOF_EOF patch -u -l -b -F 5 --suffix=.preplumed "./src/ComputeMgr.C" << \EOF_EOF --- ./src/ComputeMgr.C.preplumed @@ -204,16 +210,17 @@ patch -u -l -b -F 5 --suffix=.preplumed "./src/SimParameters.C" << \EOF_EOF opts.optional("GBIS", "intrinsicRadiusOffset", "Coulomb Radius Offset", &coulomb_radius_offset, 0.09); opts.optional("GBIS", "ionConcentration", -@@ -4299,11 +4306,11 @@ +@@ -4299,12 +4307,12 @@ } - + // Global forces configuration - + globalForcesOn = ( tclForcesOn || freeEnergyOn || miscForcesOn || -- (IMDon && ! IMDignore) || SMDOn || TMDOn || colvarsOn || symmetryOn ); -+ (IMDon && ! IMDignore) || SMDOn || TMDOn || colvarsOn || symmetryOn || plumedOn ); - - + (IMDon && ! IMDignore) || SMDOn || TMDOn || +- colvarsOn || symmetryOn || qmForcesOn ); ++ colvarsOn || symmetryOn || qmForcesOn || plumedOn ); + + if (tclForcesOn) { iout << iINFO << "TCL GLOBAL FORCES ACTIVE\n"; diff --git a/patches/namd-2.8.config b/patches/namd-2.13.config similarity index 99% rename from patches/namd-2.8.config rename to patches/namd-2.13.config index 12035dda6680a2925bd28b1e20efd1bd31b6fd36..352a7ba8b562a7499a13de23ac7d68fba3c662dc 100644 --- a/patches/namd-2.8.config +++ b/patches/namd-2.13.config @@ -27,3 +27,4 @@ EOF } plumed_ignore_mpi=yes + diff --git a/patches/namd-2.8.diff b/patches/namd-2.13.diff similarity index 76% rename from patches/namd-2.8.diff rename to patches/namd-2.13.diff index d1c4f0df25bf5181dc8d643ba53dc7c05649f8f8..656bd2c9fbccf5bf66f120d4f5f5674acb94cc6e 100644 --- a/patches/namd-2.8.diff +++ b/patches/namd-2.13.diff @@ -1,36 +1,47 @@ patch -u -l -b -F 5 -N --suffix=.preplumed "./Makefile" << \EOF_EOF --- ./Makefile.preplumed +++ ./Makefile -@@ -358,10 +358,12 @@ - cat $(BUILDINFO).C; \ - $(CXX) $(CXXFLAGS) $(COPTO)$(BUILDINFO).o $(COPTC) $(BUILDINFO).C - - all: $(BINARIES) $(LIBCUDARTSO) - +@@ -359,16 +359,18 @@ + CXXBASEFLAGS = $(COPTI)$(CHARMINC) $(COPTI)$(SRCDIR) $(COPTI)$(INCDIR) $(DPMTA) $(DPME) $(FMM) $(COPTI)$(PLUGININCDIR) $(COPTI)$(COLVARSINCDIR) $(COPTD)STATIC_PLUGIN $(TCL) $(PYTHON) $(FFT) $(CUDA) $(MIC) $(MEMOPT) $(CCS) $(RELEASE) $(EXTRADEFINES) $(TRACEOBJDEF) $(EXTRAINCS) $(MSA) $(CKLOOP) + CXXFLAGS = $(CXXBASEFLAGS) $(CXXOPTS) + CXXMICFLAGS = $(CXXBASEFLAGS) $(CXXOPTS) $(CXXMICOPTS) + CXXTHREADFLAGS = $(CXXBASEFLAGS) $(CXXTHREADOPTS) + CXXSIMPARAMFLAGS = $(CXXBASEFLAGS) $(CXXSIMPARAMOPTS) + CXXNOALIASFLAGS = $(CXXBASEFLAGS) $(CXXNOALIASOPTS) +include .rootdir/Plumed.inc + - namd2: $(INCDIR) $(DSTDIR) $(OBJS) $(LIBS) - $(MAKEBUILDINFO) - $(CHARMC) -verbose -ld++-option \ - "$(COPTI)$(CHARMINC) $(COPTI)$(INCDIR) $(COPTI)$(SRCDIR) $(CXXOPTS)" \ - -module NeighborLB -module HybridLB -module RefineLB -module GreedyLB -language charm++ \ -@@ -371,10 +373,11 @@ - $(CUDALIB) \ - $(DPMTALIB) \ - $(DPMELIB) \ - $(TCLLIB) \ - $(FFTLIB) \ + COLVARSCXXFLAGS = $(CXXBASEFLAGS) $(CXXCOLVAROPTS) $(COPTI)$(LEPTONINCDIR) -DLEPTON -DLEPTON_USE_STATIC_LIBRARIES + GXXFLAGS = $(CXXBASEFLAGS) -DNO_STRSTREAM_H + CFLAGS = $(COPTI)$(SRCDIR) $(TCL) $(COPTS) $(RELEASE) $(EXTRADEFINES) $(TRACEOBJDEF) + PLUGINGCCFLAGS = $(COPTI)$(PLUGINSRCDIR) $(COPTI)$(PLUGININCDIR) $(COPTD)STATIC_PLUGIN + PLUGINCFLAGS = $(PLUGINGCCFLAGS) $(COPTS) + SBCFLAGS = $(COPTI)$(SBSRCDIR) $(COPTI)$(PLUGININCDIR) $(COPTD)STATIC_PLUGIN -DPSFGEN_USEPLUGINS $(TCL) $(COPTS) $(RELEASE) $(EXTRADEFINES) $(TRACEOBJDEF) + SBGCCFLAGS = $(COPTI)$(SBSRCDIR) $(COPTI)$(PLUGININCDIR) $(COPTD)STATIC_PLUGIN -DPSFGEN_USEPLUGINS $(TCL) $(RELEASE) $(EXTRADEFINES) $(TRACEOBJDEF) + COLVARSGXXFLAGS= $(GXXFLAGS) + LEPTONGCCFLAGS= $(COPTI)$(LEPTONINCDIR) + LEPTONCXXFLAGS=$(CXXBASEFLAGS) $(COPTI)$(LEPTONINCDIR) -DLEPTON_BUILDING_STATIC_LIBRARY +@@ -394,15 +396,16 @@ + $(CUDAOBJS) \ + $(CUDALIB) \ + $(DPMTALIB) \ + $(DPMELIB) \ + $(FMMLIB) \ + $(TCLLIB) \ + $(PLUMED_LOAD) \ - $(PLUGINLIB) \ - $(CHARMOPTS) \ - $(EXTRALINKLIBS) \ - -lm -o namd2 - + $(PYTHONLIB) \ + $(FFTLIB) \ + $(PLUGINLIB) \ + $(SBLIB) \ + $(COLVARSLIB) \ + $(LEPTONOBJS) \ + $(CHARMOPTS) \ + $(EXTRALINKLIBS) \ + $(MATHLIBS) -o namd2 EOF_EOF patch -u -l -b -F 5 --suffix=.preplumed "./src/ComputeMgr.C" << \EOF_EOF --- ./src/ComputeMgr.C.preplumed +++ ./src/ComputeMgr.C -@@ -77,13 +77,137 @@ +@@ -80,12 +80,135 @@ #include "GlobalMasterSMD.h" #include "GlobalMasterTMD.h" #include "GlobalMasterSymmetry.h" @@ -41,7 +52,6 @@ patch -u -l -b -F 5 --suffix=.preplumed "./src/ComputeMgr.C" << \EOF_EOF +// END PLUMED #include "GlobalMasterFreeEnergy.h" #include "GlobalMasterColvars.h" - +class GlobalMasterPlumed: + public GlobalMasterEasy, + private PLMD::Plumed @@ -162,13 +172,12 @@ patch -u -l -b -F 5 --suffix=.preplumed "./src/ComputeMgr.C" << \EOF_EOF + + } +}; -+ + ComputeMgr::ComputeMgr() { CkpvAccess(BOCclass_group).computeMgr = thisgroup; computeGlobalObject = 0; - computeDPMEObject = 0; -@@ -743,10 +867,15 @@ +@@ -785,10 +908,15 @@ masterServerObject->addClient(new GlobalMasterSymmetry()); if (simParams->TMDOn) masterServerObject->addClient(new GlobalMasterTMD()); @@ -188,7 +197,7 @@ EOF_EOF patch -u -l -b -F 5 --suffix=.preplumed "./src/SimParameters.C" << \EOF_EOF --- ./src/SimParameters.C.preplumed +++ ./src/SimParameters.C -@@ -1231,10 +1231,17 @@ +@@ -1324,10 +1324,17 @@ opts.optionalB("main", "GBIS", "Use GB implicit solvent?", &GBISOn, FALSE); opts.optionalB("main", "GBISSer", "Use GB implicit solvent?", @@ -206,20 +215,21 @@ patch -u -l -b -F 5 --suffix=.preplumed "./src/SimParameters.C" << \EOF_EOF opts.optional("GBIS", "intrinsicRadiusOffset", "Coulomb Radius Offset", &coulomb_radius_offset, 0.09); opts.optional("GBIS", "ionConcentration", -@@ -4103,11 +4110,11 @@ +@@ -4299,12 +4307,12 @@ } - + // Global forces configuration - + globalForcesOn = ( tclForcesOn || freeEnergyOn || miscForcesOn || -- (IMDon) || SMDOn || TMDOn || colvarsOn || symmetryOn ); -+ (IMDon) || SMDOn || TMDOn || colvarsOn || symmetryOn || plumedOn ); - - + (IMDon && ! (IMDignore || IMDignoreForces)) || SMDOn || TMDOn || +- colvarsOn || symmetryOn || qmForcesOn ); ++ colvarsOn || symmetryOn || qmForcesOn || plumedOn ); + + if (tclForcesOn) { iout << iINFO << "TCL GLOBAL FORCES ACTIVE\n"; -@@ -4188,10 +4195,25 @@ +@@ -4384,10 +4391,25 @@ } iout << endi; @@ -249,7 +259,7 @@ EOF_EOF patch -u -l -b -F 5 --suffix=.preplumed "./src/SimParameters.h" << \EOF_EOF --- ./src/SimParameters.h.preplumed +++ ./src/SimParameters.h -@@ -401,10 +401,13 @@ +@@ -430,10 +430,13 @@ char tclBCArgs[128]; // Extra args for calcforces command Bool freeEnergyOn; // Doing free energy perturbation? Bool miscForcesOn; // Using misc forces?