From 349a6db53043ebcdeb512112a3d34b7dbe6afea3 Mon Sep 17 00:00:00 2001 From: Gareth Tribello <gareth.tribello@gmail.com> Date: Fri, 23 Nov 2012 12:32:40 +0100 Subject: [PATCH] Moved request for system energy from plumed main to prepare routine of ColvarEnergy --- src/ColvarEnergy.cpp | 5 +++++ src/PlumedMain.cpp | 6 ------ 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/ColvarEnergy.cpp b/src/ColvarEnergy.cpp index 848603ebc..2b0b295e5 100644 --- a/src/ColvarEnergy.cpp +++ b/src/ColvarEnergy.cpp @@ -22,6 +22,7 @@ #include "Colvar.h" #include "ActionRegister.h" #include "PlumedMain.h" +#include "Atoms.h" #include <string> #include <cmath> @@ -53,6 +54,7 @@ class ColvarEnergy : public Colvar { public: ColvarEnergy(const ActionOptions&); // active methods: + void prepare(); virtual void calculate(); static void registerKeywords( Keywords& keys ); }; @@ -80,6 +82,9 @@ void ColvarEnergy::registerKeywords( Keywords& keys ){ keys.remove("NUMERICAL_DERIVATIVES"); } +void ColvarEnergy::prepare(){ + plumed.getAtoms().setCollectEnergy(true); +} // calculator void ColvarEnergy::calculate(){ diff --git a/src/PlumedMain.cpp b/src/PlumedMain.cpp index 63b9b3120..82f96058e 100644 --- a/src/PlumedMain.cpp +++ b/src/PlumedMain.cpp @@ -29,7 +29,6 @@ #include "Atoms.h" #include <set> #include "PlumedConfig.h" -#include "Colvar.h" #include <cstdlib> #include "ActionRegister.h" #include "GREX.h" @@ -455,16 +454,11 @@ void PlumedMain::prepareDependencies(){ }; // also, if one of them is the total energy, tell to atoms that energy should be collected - bool collectEnergy=false; for(ActionSet::iterator p=actionSet.begin();p!=actionSet.end();++p){ if((*p)->isActive()){ - if(Colvar *c=dynamic_cast<Colvar*>(*p)) { - if(c->checkIsEnergy()) collectEnergy=true; - } if((*p)->checkNeedsGradients()) (*p)->setOption("GRADIENTS"); } } - atoms.setCollectEnergy(collectEnergy); stopwatch.stop("1 Prepare dependencies"); -- GitLab