From 654802acafde6497904a2fdc417769a73f28e649 Mon Sep 17 00:00:00 2001 From: Gareth Tribello <gareth.tribello@gmail.com> Date: Tue, 7 Jul 2015 14:27:44 +0100 Subject: [PATCH] Moved all adjacency matrix stuff to a separate module --- .../{crystallization => adjmat}/rt-dfg1/Makefile | 0 .../rt-dfg1/colvar.reference | 0 .../{crystallization => adjmat}/rt-dfg1/conf.gro | 0 regtest/{crystallization => adjmat}/rt-dfg1/config | 0 .../{crystallization => adjmat}/rt-dfg1/config.xyz | 0 .../rt-dfg1/deriv.reference | 0 .../{crystallization => adjmat}/rt-dfg1/plumed.dat | 0 .../{crystallization => adjmat}/rt-dfg2/Makefile | 0 .../rt-dfg2/colvar.reference | 0 regtest/{crystallization => adjmat}/rt-dfg2/config | 0 .../{crystallization => adjmat}/rt-dfg2/plumed.dat | 0 .../{crystallization => adjmat}/rt-dfg2/traj.xyz | 0 regtest/{multicolvar => adjmat}/rt-sprint/Makefile | 0 .../rt-sprint/colvar.reference | 0 regtest/{multicolvar => adjmat}/rt-sprint/config | 0 .../rt-sprint/deriv.reference | 0 .../{multicolvar => adjmat}/rt-sprint/isomers.xyz | 0 .../{multicolvar => adjmat}/rt-sprint/plumed.dat | 0 src/.gitignore | 1 + src/adjmat/.gitignore | 9 +++++++++ .../AdjacencyMatrixAction.cpp | 12 ++++++------ .../AdjacencyMatrixAction.h | 14 +++++++------- .../AdjacencyMatrixVessel.cpp | 2 +- .../AdjacencyMatrixVessel.h | 2 +- src/{crystallization => adjmat}/DFSBasic.cpp | 2 +- .../DFSClusterRadius.cpp | 2 +- src/{crystallization => adjmat}/DFSClustering.cpp | 4 ++-- src/{crystallization => adjmat}/DFSClustering.h | 10 +++++----- src/{crystallization => adjmat}/DFSMaxSize.cpp | 2 +- .../DFSNumberOfClusters.cpp | 2 +- src/adjmat/Makefile | 4 ++++ src/{multicolvar => adjmat}/Sprint.cpp | 2 +- src/adjmat/module.type | 1 + 33 files changed, 42 insertions(+), 27 deletions(-) rename regtest/{crystallization => adjmat}/rt-dfg1/Makefile (100%) rename regtest/{crystallization => adjmat}/rt-dfg1/colvar.reference (100%) rename regtest/{crystallization => adjmat}/rt-dfg1/conf.gro (100%) rename regtest/{crystallization => adjmat}/rt-dfg1/config (100%) rename regtest/{crystallization => adjmat}/rt-dfg1/config.xyz (100%) rename regtest/{crystallization => adjmat}/rt-dfg1/deriv.reference (100%) rename regtest/{crystallization => adjmat}/rt-dfg1/plumed.dat (100%) rename regtest/{crystallization => adjmat}/rt-dfg2/Makefile (100%) rename regtest/{crystallization => adjmat}/rt-dfg2/colvar.reference (100%) rename regtest/{crystallization => adjmat}/rt-dfg2/config (100%) rename regtest/{crystallization => adjmat}/rt-dfg2/plumed.dat (100%) rename regtest/{crystallization => adjmat}/rt-dfg2/traj.xyz (100%) rename regtest/{multicolvar => adjmat}/rt-sprint/Makefile (100%) rename regtest/{multicolvar => adjmat}/rt-sprint/colvar.reference (100%) rename regtest/{multicolvar => adjmat}/rt-sprint/config (100%) rename regtest/{multicolvar => adjmat}/rt-sprint/deriv.reference (100%) rename regtest/{multicolvar => adjmat}/rt-sprint/isomers.xyz (100%) rename regtest/{multicolvar => adjmat}/rt-sprint/plumed.dat (100%) create mode 100644 src/adjmat/.gitignore rename src/{multicolvar => adjmat}/AdjacencyMatrixAction.cpp (95%) rename src/{multicolvar => adjmat}/AdjacencyMatrixAction.h (89%) rename src/{multicolvar => adjmat}/AdjacencyMatrixVessel.cpp (98%) rename src/{multicolvar => adjmat}/AdjacencyMatrixVessel.h (98%) rename src/{crystallization => adjmat}/DFSBasic.cpp (99%) rename src/{crystallization => adjmat}/DFSClusterRadius.cpp (99%) rename src/{crystallization => adjmat}/DFSClustering.cpp (98%) rename src/{crystallization => adjmat}/DFSClustering.h (91%) rename src/{crystallization => adjmat}/DFSMaxSize.cpp (99%) rename src/{crystallization => adjmat}/DFSNumberOfClusters.cpp (99%) create mode 100644 src/adjmat/Makefile rename src/{multicolvar => adjmat}/Sprint.cpp (99%) create mode 100644 src/adjmat/module.type diff --git a/regtest/crystallization/rt-dfg1/Makefile b/regtest/adjmat/rt-dfg1/Makefile similarity index 100% rename from regtest/crystallization/rt-dfg1/Makefile rename to regtest/adjmat/rt-dfg1/Makefile diff --git a/regtest/crystallization/rt-dfg1/colvar.reference b/regtest/adjmat/rt-dfg1/colvar.reference similarity index 100% rename from regtest/crystallization/rt-dfg1/colvar.reference rename to regtest/adjmat/rt-dfg1/colvar.reference diff --git a/regtest/crystallization/rt-dfg1/conf.gro b/regtest/adjmat/rt-dfg1/conf.gro similarity index 100% rename from regtest/crystallization/rt-dfg1/conf.gro rename to regtest/adjmat/rt-dfg1/conf.gro diff --git a/regtest/crystallization/rt-dfg1/config b/regtest/adjmat/rt-dfg1/config similarity index 100% rename from regtest/crystallization/rt-dfg1/config rename to regtest/adjmat/rt-dfg1/config diff --git a/regtest/crystallization/rt-dfg1/config.xyz b/regtest/adjmat/rt-dfg1/config.xyz similarity index 100% rename from regtest/crystallization/rt-dfg1/config.xyz rename to regtest/adjmat/rt-dfg1/config.xyz diff --git a/regtest/crystallization/rt-dfg1/deriv.reference b/regtest/adjmat/rt-dfg1/deriv.reference similarity index 100% rename from regtest/crystallization/rt-dfg1/deriv.reference rename to regtest/adjmat/rt-dfg1/deriv.reference diff --git a/regtest/crystallization/rt-dfg1/plumed.dat b/regtest/adjmat/rt-dfg1/plumed.dat similarity index 100% rename from regtest/crystallization/rt-dfg1/plumed.dat rename to regtest/adjmat/rt-dfg1/plumed.dat diff --git a/regtest/crystallization/rt-dfg2/Makefile b/regtest/adjmat/rt-dfg2/Makefile similarity index 100% rename from regtest/crystallization/rt-dfg2/Makefile rename to regtest/adjmat/rt-dfg2/Makefile diff --git a/regtest/crystallization/rt-dfg2/colvar.reference b/regtest/adjmat/rt-dfg2/colvar.reference similarity index 100% rename from regtest/crystallization/rt-dfg2/colvar.reference rename to regtest/adjmat/rt-dfg2/colvar.reference diff --git a/regtest/crystallization/rt-dfg2/config b/regtest/adjmat/rt-dfg2/config similarity index 100% rename from regtest/crystallization/rt-dfg2/config rename to regtest/adjmat/rt-dfg2/config diff --git a/regtest/crystallization/rt-dfg2/plumed.dat b/regtest/adjmat/rt-dfg2/plumed.dat similarity index 100% rename from regtest/crystallization/rt-dfg2/plumed.dat rename to regtest/adjmat/rt-dfg2/plumed.dat diff --git a/regtest/crystallization/rt-dfg2/traj.xyz b/regtest/adjmat/rt-dfg2/traj.xyz similarity index 100% rename from regtest/crystallization/rt-dfg2/traj.xyz rename to regtest/adjmat/rt-dfg2/traj.xyz diff --git a/regtest/multicolvar/rt-sprint/Makefile b/regtest/adjmat/rt-sprint/Makefile similarity index 100% rename from regtest/multicolvar/rt-sprint/Makefile rename to regtest/adjmat/rt-sprint/Makefile diff --git a/regtest/multicolvar/rt-sprint/colvar.reference b/regtest/adjmat/rt-sprint/colvar.reference similarity index 100% rename from regtest/multicolvar/rt-sprint/colvar.reference rename to regtest/adjmat/rt-sprint/colvar.reference diff --git a/regtest/multicolvar/rt-sprint/config b/regtest/adjmat/rt-sprint/config similarity index 100% rename from regtest/multicolvar/rt-sprint/config rename to regtest/adjmat/rt-sprint/config diff --git a/regtest/multicolvar/rt-sprint/deriv.reference b/regtest/adjmat/rt-sprint/deriv.reference similarity index 100% rename from regtest/multicolvar/rt-sprint/deriv.reference rename to regtest/adjmat/rt-sprint/deriv.reference diff --git a/regtest/multicolvar/rt-sprint/isomers.xyz b/regtest/adjmat/rt-sprint/isomers.xyz similarity index 100% rename from regtest/multicolvar/rt-sprint/isomers.xyz rename to regtest/adjmat/rt-sprint/isomers.xyz diff --git a/regtest/multicolvar/rt-sprint/plumed.dat b/regtest/adjmat/rt-sprint/plumed.dat similarity index 100% rename from regtest/multicolvar/rt-sprint/plumed.dat rename to regtest/adjmat/rt-sprint/plumed.dat diff --git a/src/.gitignore b/src/.gitignore index 838ba6a71..be04342c3 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -3,6 +3,7 @@ # Only track modules that are part of the plumed core !/Makefile !/README +!/adjmat !/analysis !/bias !/blas diff --git a/src/adjmat/.gitignore b/src/adjmat/.gitignore new file mode 100644 index 000000000..488855233 --- /dev/null +++ b/src/adjmat/.gitignore @@ -0,0 +1,9 @@ +/* +# in this directory, only accept source, Makefile and README +!/.gitignore +!/*.c +!/*.cpp +!/*.h +!/Makefile +!/README +!/module.type diff --git a/src/multicolvar/AdjacencyMatrixAction.cpp b/src/adjmat/AdjacencyMatrixAction.cpp similarity index 95% rename from src/multicolvar/AdjacencyMatrixAction.cpp rename to src/adjmat/AdjacencyMatrixAction.cpp index b409cbc07..9a017c01f 100644 --- a/src/multicolvar/AdjacencyMatrixAction.cpp +++ b/src/adjmat/AdjacencyMatrixAction.cpp @@ -22,10 +22,10 @@ #include "AdjacencyMatrixAction.h" namespace PLMD { -namespace multicolvar { +namespace adjmat { void AdjacencyMatrixAction::registerKeywords( Keywords& keys ){ - MultiColvarFunction::registerKeywords( keys ); + multicolvar::MultiColvarFunction::registerKeywords( keys ); keys.reserveFlag("USE_ORIENTATION",false,"When computing whether two atoms/molecules are adjacent also take their orientations into account"); keys.add("numbered","SWITCH","This keyword is used if you want to employ an alternative to the continuous swiching function defined above. " "The following provides information on the \\ref switchingfunction that are available. " @@ -117,13 +117,13 @@ void AdjacencyMatrixAction::doJobsRequiredBeforeTaskList(){ else dertime=true; } -void AdjacencyMatrixAction::calculateWeight( AtomValuePack& myatoms ) const { +void AdjacencyMatrixAction::calculateWeight( multicolvar::AtomValuePack& myatoms ) const { Vector distance = getSeparation( myatoms.getPosition(0), myatoms.getPosition(1) ); double dfunc, sw = switchingFunction( getBaseColvarNumber( myatoms.getIndex(0) ),getBaseColvarNumber( myatoms.getIndex(1) ) ).calculate( distance.modulo(), dfunc ); myatoms.setValue(0,sw); } -double AdjacencyMatrixAction::compute( const unsigned& tindex, AtomValuePack& myatoms ) const { +double AdjacencyMatrixAction::compute( const unsigned& tindex, multicolvar::AtomValuePack& myatoms ) const { // active_elements.activate( tindex ); double f_dot, dot_df; @@ -148,9 +148,9 @@ double AdjacencyMatrixAction::compute( const unsigned& tindex, AtomValuePack& my // Add contribution due to separation between atoms Vector distance = getSeparation( myatoms.getPosition(0), myatoms.getPosition(1) ); double dfunc, sw = switchingFunction( getBaseColvarNumber( myatoms.getIndex(0) ), getBaseColvarNumber( myatoms.getIndex(0) ) ).calculate( distance.modulo(), dfunc ); - CatomPack atom0=getCentralAtomPackFromInput( myatoms.getIndex(0) ); + multicolvar::CatomPack atom0=getCentralAtomPackFromInput( myatoms.getIndex(0) ); myatoms.addComDerivatives( 1, (-dfunc)*f_dot*distance, atom0 ); - CatomPack atom1=getCentralAtomPackFromInput( myatoms.getIndex(1) ); + multicolvar::CatomPack atom1=getCentralAtomPackFromInput( myatoms.getIndex(1) ); myatoms.addComDerivatives( 1, (dfunc)*f_dot*distance, atom1 ); myatoms.addBoxDerivatives( 1, (-dfunc)*f_dot*Tensor(distance,distance) ); diff --git a/src/multicolvar/AdjacencyMatrixAction.h b/src/adjmat/AdjacencyMatrixAction.h similarity index 89% rename from src/multicolvar/AdjacencyMatrixAction.h rename to src/adjmat/AdjacencyMatrixAction.h index 6cf1b667d..0b92ba656 100644 --- a/src/multicolvar/AdjacencyMatrixAction.h +++ b/src/adjmat/AdjacencyMatrixAction.h @@ -19,18 +19,18 @@ You should have received a copy of the GNU Lesser General Public License along with plumed. If not, see <http://www.gnu.org/licenses/>. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ -#ifndef __PLUMED_multicolvar_AdjacencyMatrixAction_h -#define __PLUMED_multicolvar_AdjacencyMatrixAction_h +#ifndef __PLUMED_adjmat_AdjacencyMatrixAction_h +#define __PLUMED_adjmat_AdjacencyMatrixAction_h -#include "MultiColvarFunction.h" +#include "multicolvar/MultiColvarFunction.h" #include "tools/SwitchingFunction.h" #include "tools/Matrix.h" #include "AdjacencyMatrixVessel.h" namespace PLMD { -namespace multicolvar { +namespace adjmat { -class AdjacencyMatrixAction : public MultiColvarFunction { +class AdjacencyMatrixAction : public multicolvar::MultiColvarFunction { friend class AdjacencyMatrixVessel; private: /// Are we including the orientation in our measure of adjacency @@ -64,8 +64,8 @@ protected: public: static void registerKeywords( Keywords& keys ); explicit AdjacencyMatrixAction(const ActionOptions&); - double compute( const unsigned& tindex, AtomValuePack& myatoms ) const ; - void calculateWeight( AtomValuePack& myatoms ) const ; + double compute( const unsigned& tindex, multicolvar::AtomValuePack& myatoms ) const ; + void calculateWeight( multicolvar::AtomValuePack& myatoms ) const ; void doJobsRequiredBeforeTaskList(); /// Finish the calculation virtual void completeCalculation()=0; diff --git a/src/multicolvar/AdjacencyMatrixVessel.cpp b/src/adjmat/AdjacencyMatrixVessel.cpp similarity index 98% rename from src/multicolvar/AdjacencyMatrixVessel.cpp rename to src/adjmat/AdjacencyMatrixVessel.cpp index 56d0938e7..92bbd4a25 100644 --- a/src/multicolvar/AdjacencyMatrixVessel.cpp +++ b/src/adjmat/AdjacencyMatrixVessel.cpp @@ -24,7 +24,7 @@ #include "AdjacencyMatrixAction.h" namespace PLMD { -namespace multicolvar { +namespace adjmat { void AdjacencyMatrixVessel::registerKeywords( Keywords& keys ){ StoreDataVessel::registerKeywords(keys); diff --git a/src/multicolvar/AdjacencyMatrixVessel.h b/src/adjmat/AdjacencyMatrixVessel.h similarity index 98% rename from src/multicolvar/AdjacencyMatrixVessel.h rename to src/adjmat/AdjacencyMatrixVessel.h index 373d390d8..dc35a7cf1 100644 --- a/src/multicolvar/AdjacencyMatrixVessel.h +++ b/src/adjmat/AdjacencyMatrixVessel.h @@ -25,7 +25,7 @@ #include "vesselbase/StoreDataVessel.h" namespace PLMD { -namespace multicolvar { +namespace adjmat { class AdjacencyMatrixAction; diff --git a/src/crystallization/DFSBasic.cpp b/src/adjmat/DFSBasic.cpp similarity index 99% rename from src/crystallization/DFSBasic.cpp rename to src/adjmat/DFSBasic.cpp index 58f9d053b..f5d062be7 100644 --- a/src/crystallization/DFSBasic.cpp +++ b/src/adjmat/DFSBasic.cpp @@ -125,7 +125,7 @@ clust: DFSCLUSTERING DATA=cf WTOL=0.03 CLUSTER=1 SWITCH={CUBIC D_0=0.4 D_MAX=0 //+ENDPLUMEDOC namespace PLMD { -namespace crystallization { +namespace adjmat { class DFSBasic : public DFSClustering { private: diff --git a/src/crystallization/DFSClusterRadius.cpp b/src/adjmat/DFSClusterRadius.cpp similarity index 99% rename from src/crystallization/DFSClusterRadius.cpp rename to src/adjmat/DFSClusterRadius.cpp index d72bf626a..64d95feb5 100644 --- a/src/crystallization/DFSClusterRadius.cpp +++ b/src/adjmat/DFSClusterRadius.cpp @@ -38,7 +38,7 @@ done by this action. //+ENDPLUMEDOC namespace PLMD { -namespace crystallization { +namespace adjmat { class DFSClusterDiameter : public DFSClustering { private: diff --git a/src/crystallization/DFSClustering.cpp b/src/adjmat/DFSClustering.cpp similarity index 98% rename from src/crystallization/DFSClustering.cpp rename to src/adjmat/DFSClustering.cpp index 295ed4e9e..b5aad90a8 100644 --- a/src/crystallization/DFSClustering.cpp +++ b/src/adjmat/DFSClustering.cpp @@ -23,10 +23,10 @@ namespace PLMD { -namespace crystallization { +namespace adjmat { void DFSClustering::registerKeywords( Keywords& keys ){ - multicolvar::AdjacencyMatrixAction::registerKeywords( keys ); + AdjacencyMatrixAction::registerKeywords( keys ); } DFSClustering::DFSClustering(const ActionOptions&ao): diff --git a/src/crystallization/DFSClustering.h b/src/adjmat/DFSClustering.h similarity index 91% rename from src/crystallization/DFSClustering.h rename to src/adjmat/DFSClustering.h index 3ad613abe..9d28d26c8 100644 --- a/src/crystallization/DFSClustering.h +++ b/src/adjmat/DFSClustering.h @@ -19,15 +19,15 @@ You should have received a copy of the GNU Lesser General Public License along with plumed. If not, see <http://www.gnu.org/licenses/>. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ -#ifndef __PLUMED_crystallization_DFSClustering_h -#define __PLUMED_crystallization_DFSClustering_h +#ifndef __PLUMED_adjmat_DFSClustering_h +#define __PLUMED_adjmat_DFSClustering_h -#include "multicolvar/AdjacencyMatrixAction.h" +#include "AdjacencyMatrixAction.h" namespace PLMD { -namespace crystallization { +namespace adjmat { -class DFSClustering : public multicolvar::AdjacencyMatrixAction { +class DFSClustering : public AdjacencyMatrixAction { private: /// Used to identify the cluster we are working on int number_of_cluster; diff --git a/src/crystallization/DFSMaxSize.cpp b/src/adjmat/DFSMaxSize.cpp similarity index 99% rename from src/crystallization/DFSMaxSize.cpp rename to src/adjmat/DFSMaxSize.cpp index 93e59f1d3..5843d5f09 100644 --- a/src/crystallization/DFSMaxSize.cpp +++ b/src/adjmat/DFSMaxSize.cpp @@ -65,7 +65,7 @@ clust: DFSMAXCLUSTER DATA=cf BETA=0.5 SWITCH={CUBIC D_0=0.4 D_MAX=0.5} TRANSFO //+ENDPLUMEDOC namespace PLMD { -namespace crystallization { +namespace adjmat { class DFSMaxCluster : public DFSClustering { private: diff --git a/src/crystallization/DFSNumberOfClusters.cpp b/src/adjmat/DFSNumberOfClusters.cpp similarity index 99% rename from src/crystallization/DFSNumberOfClusters.cpp rename to src/adjmat/DFSNumberOfClusters.cpp index 6db6912e0..3c592611c 100644 --- a/src/crystallization/DFSNumberOfClusters.cpp +++ b/src/adjmat/DFSNumberOfClusters.cpp @@ -32,7 +32,7 @@ Find the number of clusters that have a size larger than a certain cutoff //+ENDPLUMEDOC namespace PLMD { -namespace crystallization { +namespace adjmat { class DFSNumberOfClusters : public DFSClustering { private: diff --git a/src/adjmat/Makefile b/src/adjmat/Makefile new file mode 100644 index 000000000..f68246671 --- /dev/null +++ b/src/adjmat/Makefile @@ -0,0 +1,4 @@ +USE=core tools vesselbase multicolvar + +# generic makefile +include ../maketools/make.module diff --git a/src/multicolvar/Sprint.cpp b/src/adjmat/Sprint.cpp similarity index 99% rename from src/multicolvar/Sprint.cpp rename to src/adjmat/Sprint.cpp index f4ceaab18..e3f827799 100644 --- a/src/multicolvar/Sprint.cpp +++ b/src/adjmat/Sprint.cpp @@ -74,7 +74,7 @@ PRINT ARG=ss.* FILE=colvar namespace PLMD { -namespace multicolvar { +namespace adjmat { class Sprint : public AdjacencyMatrixAction { private: diff --git a/src/adjmat/module.type b/src/adjmat/module.type new file mode 100644 index 000000000..de8327303 --- /dev/null +++ b/src/adjmat/module.type @@ -0,0 +1 @@ +default-off -- GitLab