diff --git a/regtest/basic/rt-mpi6/HILLS_rect.reference b/regtest/basic/rt-mpi6/HILLS_rect.reference index 3cc1443a99..8aeb66e0ab 100644 --- a/regtest/basic/rt-mpi6/HILLS_rect.reference +++ b/regtest/basic/rt-mpi6/HILLS_rect.reference @@ -1,5 +1,6 @@ #! FIELDS time c d sigma_c sigma_d height biasf #! SET multivariate false +#! SET kerneltype gaussian 0.100000 9.237723 1.097928 0.100000 0.200000 2.496833 1.001000 0.100000 9.237723 1.097928 0.100000 0.200000 2.743772 1.001000 0.100000 8.675711 1.162646 0.100000 0.200000 9.977355 1.001000 diff --git a/regtest/basic/rt-mpi6d/HILLSa.0.reference b/regtest/basic/rt-mpi6d/HILLSa.0.reference index b2af4971a9..889ed4aeaa 100644 --- a/regtest/basic/rt-mpi6d/HILLSa.0.reference +++ b/regtest/basic/rt-mpi6d/HILLSa.0.reference @@ -1,5 +1,6 @@ #! FIELDS time c d sigma_c sigma_d height biasf #! SET multivariate false +#! SET kerneltype gaussian 0.100000 9.237723 1.097928 0.100000 0.200000 2.494339 1.000000 0.200000 9.327813 1.086855 0.100000 0.200000 1.282241 1.000000 0.300000 9.157418 1.130546 0.100000 0.200000 1.085108 1.000000 diff --git a/regtest/basic/rt-mpi6d/HILLSa.1.reference b/regtest/basic/rt-mpi6d/HILLSa.1.reference index 8b668b1d29..edf5dac16b 100644 --- a/regtest/basic/rt-mpi6d/HILLSa.1.reference +++ b/regtest/basic/rt-mpi6d/HILLSa.1.reference @@ -1,5 +1,6 @@ #! FIELDS time c d sigma_c sigma_d height biasf #! SET multivariate false +#! SET kerneltype gaussian 0.100000 9.237723 1.097928 0.100000 0.200000 2.743772 1.100000 0.200000 8.675711 1.162646 0.100000 0.200000 2.743772 1.100000 0.300000 9.282739 1.080244 0.100000 0.200000 1.115403 1.100000 diff --git a/regtest/basic/rt-mpi6d/HILLSa.2.reference b/regtest/basic/rt-mpi6d/HILLSa.2.reference index d8e23e1440..0eb2386100 100644 --- a/regtest/basic/rt-mpi6d/HILLSa.2.reference +++ b/regtest/basic/rt-mpi6d/HILLSa.2.reference @@ -1,5 +1,6 @@ #! FIELDS time c d sigma_c sigma_d height biasf #! SET multivariate false +#! SET kerneltype gaussian 0.100000 8.675711 1.162646 0.100000 0.200000 9.977355 4.000000 0.200000 9.282739 1.080244 0.100000 0.200000 9.977355 4.000000 0.300000 9.237723 1.097928 0.100000 0.200000 4.056010 4.000000 diff --git a/regtest/basic/rt-mpi6d/HILLSb.reference b/regtest/basic/rt-mpi6d/HILLSb.reference index 61c341d5a8..54b68f309b 100644 --- a/regtest/basic/rt-mpi6d/HILLSb.reference +++ b/regtest/basic/rt-mpi6d/HILLSb.reference @@ -1,5 +1,6 @@ #! FIELDS time c d sigma_c sigma_d height biasf #! SET multivariate false +#! SET kerneltype gaussian 0.100000 9.237723 1.097928 0.100000 0.200000 2.494339 1.000000 0.100000 9.237723 1.097928 0.100000 0.200000 2.743772 1.000000 0.100000 8.675711 1.162646 0.100000 0.200000 9.977355 1.000000 diff --git a/regtest/pamm/rt-pamm-aperiodic/plumed.dat b/regtest/pamm/rt-pamm-aperiodic/plumed.dat index 7b76157782..2c2c13a693 100755 --- a/regtest/pamm/rt-pamm-aperiodic/plumed.dat +++ b/regtest/pamm/rt-pamm-aperiodic/plumed.dat @@ -1,4 +1,4 @@ -FCCUBIC SPECIESA=1-2 SPECIESB=1-1200 SWITCH={CUBIC D_0=1.2 D_MAX=1.5} MEAN LABEL=fcc +FCCUBIC SPECIESA=1-2 SPECIESB=1-1200 SWITCH={CUBIC D_0=1.2 D_MAX=1.5} MEAN LOWMEM LABEL=fcc PAMM DATA=fcc CLUSTERS=clusters.dat MEAN REGULARISE=0.0 LABEL=pamm # PAMM DATA=fcc CLUSTERS=clusters.dat MEAN NUMERICAL_DERIVATIVES LABEL=pammn diff --git a/src/crystallization/VectorMultiColvar.cpp b/src/crystallization/VectorMultiColvar.cpp index f6fbcef5b1..b4bf5f5208 100644 --- a/src/crystallization/VectorMultiColvar.cpp +++ b/src/crystallization/VectorMultiColvar.cpp @@ -26,7 +26,7 @@ namespace PLMD { namespace crystallization { void VectorMultiColvar::registerKeywords( Keywords& keys ){ - MultiColvar::registerKeywords( keys ); + MultiColvarBase::registerKeywords( keys ); keys.setComponentsIntroduction("When the label of this action is used as the input for a second you are not referring to a scalar quantity as you are in " "regular collective variables. The label is used to reference the full set of vectors calculated by " "the action. This is usual when using \\ref multicolvarfunction. Generally when doing this the previously calculated " diff --git a/src/multicolvar/Torsions.cpp b/src/multicolvar/Torsions.cpp index 6143fe6f75..f182c5ee65 100644 --- a/src/multicolvar/Torsions.cpp +++ b/src/multicolvar/Torsions.cpp @@ -85,7 +85,7 @@ PLUMED_REGISTER_ACTION(Torsions,"TORSIONS") void Torsions::registerKeywords( Keywords& keys ){ MultiColvarBase::registerKeywords( keys ); - keys.reserve("numbered","ATOMS","the atoms involved in each of the torsion angles you wish to calculate. " + keys.add("numbered","ATOMS","the atoms involved in each of the torsion angles you wish to calculate. " "Keywords like ATOMS1, ATOMS2, ATOMS3,... should be listed and one torsion will be " "calculated for each ATOM keyword you specify (all ATOM keywords should " "provide the indices of four atoms). The eventual number of quantities calculated by this " diff --git a/src/pamm/HBPammHydrogens.cpp b/src/pamm/HBPammHydrogens.cpp index 0e726936c0..bb13b3477f 100644 --- a/src/pamm/HBPammHydrogens.cpp +++ b/src/pamm/HBPammHydrogens.cpp @@ -19,7 +19,7 @@ You should have received a copy of the GNU Lesser General Public License along with plumed. If not, see . +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ -#include "multicolvar/MultiColvar.h" +#include "multicolvar/MultiColvarBase.h" #include "HBPammObject.h" #include "tools/NeighborList.h" #include "core/ActionRegister.h" @@ -43,7 +43,7 @@ Number of HBPAMM hydrogen bonds formed by each hydrogen atom in the system //+ENDPLUMEDOC -class HBPammHydrogens : public multicolvar::MultiColvar { +class HBPammHydrogens : public multicolvar::MultiColvarBase { private: double rcut2; unsigned block1upper,block2lower; @@ -60,7 +60,7 @@ class HBPammHydrogens : public multicolvar::MultiColvar { PLUMED_REGISTER_ACTION(HBPammHydrogens,"HBPAMM_SH") void HBPammHydrogens::registerKeywords( Keywords& keys ){ - multicolvar::MultiColvar::registerKeywords( keys ); + multicolvar::MultiColvarBase::registerKeywords( keys ); keys.add("atoms-1","HYDROGENS","The list of hydrogen atoms that can form part of a hydrogen bond. The atoms must be specified using a comma separated list."); keys.add("atoms-1","SITES","The list of atoms which can be part of a hydrogen bond. When this command is used the set of atoms that can donate a " "hydrogen bond is assumed to be the same as the set of atoms that can form hydrogen bonds. The atoms involved must be specified" @@ -88,7 +88,8 @@ void HBPammHydrogens::registerKeywords( Keywords& keys ){ } HBPammHydrogens::HBPammHydrogens(const ActionOptions&ao): -PLUMED_MULTICOLVAR_INIT(ao) +Action(ao), +MultiColvarBase(ao) { // Read in the atoms usespecies=true; weightHasDerivatives=false; diff --git a/src/pamm/PAMM.cpp b/src/pamm/PAMM.cpp index b61967d2a7..1387ff19c0 100644 --- a/src/pamm/PAMM.cpp +++ b/src/pamm/PAMM.cpp @@ -22,7 +22,8 @@ #include "core/ActionRegister.h" #include "tools/KernelFunctions.h" #include "tools/IFile.h" -#include "multicolvar/MultiColvarFunction.h" +#include "multicolvar/MultiColvarBase.h" +#include "multicolvar/AtomValuePack.h" #include "PammObject.h" //+PLUMEDOC MCOLVARF PAMM @@ -107,7 +108,7 @@ and compute these PAMM variables and we can transform the PAMM variables themsel namespace PLMD { namespace pamm { -class PAMM : public multicolvar::MultiColvarFunction { +class PAMM : public multicolvar::MultiColvarBase { private: PammObject mypamm; public: @@ -128,7 +129,8 @@ class PAMM : public multicolvar::MultiColvarFunction { PLUMED_REGISTER_ACTION(PAMM,"PAMM") void PAMM::registerKeywords( Keywords& keys ){ - MultiColvarFunction::registerKeywords( keys ); + MultiColvarBase::registerKeywords( keys ); + keys.add("compulsory","DATA","the multicolvars from which the pamm coordinates are calculated"); keys.add("compulsory","CLUSTERS","the name of the file that contains the definitions of all the clusters"); keys.add("compulsory","REGULARISE","0.001","don't allow the denominator to be smaller then this value"); keys.use("MEAN"); keys.use("MORE_THAN"); keys.use("SUM"); keys.use("LESS_THAN"); keys.use("HISTOGRAM"); keys.use("HISTOGRAM"); @@ -153,8 +155,10 @@ void PAMM::registerKeywords( Keywords& keys ){ PAMM::PAMM(const ActionOptions& ao): Action(ao), -MultiColvarFunction(ao) +MultiColvarBase(ao) { + // This builds the lists + buildSets(); // Check for reasonable input for(unsigned i=0;igetNumberOfQuantities()!=2 ) error("cannot use PAMM with " + getBaseMultiColvar(i)->getName() ); @@ -175,8 +179,6 @@ MultiColvarFunction(ao) std::string errorstr, filename; parse("CLUSTERS",filename); mypamm.setup( filename, regulariser, valnames, pbc, min, max, errorstr ); if( errorstr.length()>0 ) error( errorstr ); - // This builds the lists - buildSets(); } unsigned PAMM::getNumberOfQuantities() const {