From d55f7a912252f6a57b06f9cdeb505eff4dc562aa Mon Sep 17 00:00:00 2001 From: Gareth Tribello <gt@eider.phy.qub.ac.uk> Date: Thu, 7 Apr 2016 12:42:57 +0100 Subject: [PATCH] Fixed bugs in converting histograms to free energies --- src/core/ActionPilot.cpp | 2 +- src/gridtools/ActionWithInputGrid.cpp | 6 ++---- src/gridtools/ConvertToFES.cpp | 6 ++++-- src/gridtools/GridFunction.cpp | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/core/ActionPilot.cpp b/src/core/ActionPilot.cpp index 539e1d7ed..4d2fdf153 100644 --- a/src/core/ActionPilot.cpp +++ b/src/core/ActionPilot.cpp @@ -32,7 +32,7 @@ Action(ao), stride(1) { parse("STRIDE",stride); - log.printf(" with stride %d\n",stride); + if( !keywords.style("STRIDE","hidden") ) log.printf(" with stride %d\n",stride); } bool ActionPilot::onStep()const{ diff --git a/src/gridtools/ActionWithInputGrid.cpp b/src/gridtools/ActionWithInputGrid.cpp index 802efa9b8..a972fc44a 100644 --- a/src/gridtools/ActionWithInputGrid.cpp +++ b/src/gridtools/ActionWithInputGrid.cpp @@ -80,10 +80,8 @@ mygrid(NULL) } void ActionWithInputGrid::setAnalysisStride( const bool& use_all, const unsigned& astride ){ - single_run=use_all; - if( !single_run ){ - setStride( astride ); mves->setAnalysisStride( false, getStride() ); - } + single_run=use_all; mves->setAnalysisStride( use_all, astride ); + if( !single_run ) setStride( astride ); } void ActionWithInputGrid::update(){ diff --git a/src/gridtools/ConvertToFES.cpp b/src/gridtools/ConvertToFES.cpp index d70170a86..05511a2a9 100644 --- a/src/gridtools/ConvertToFES.cpp +++ b/src/gridtools/ConvertToFES.cpp @@ -73,7 +73,9 @@ ActionWithInputGrid(ao) Keywords keys; GridFunction::registerKeywords( keys ); vesselbase::VesselOptions dar( da, keys ); outgrid = new GridFunction(dar); addVessel( outgrid ); - if( mygrid->noDerivatives() ) outgrid->setNoDerivatives(); + if( mygrid->noDerivatives() ) outgrid->setNoDerivatives(); + std::vector<double> fspacing; + outgrid->setBounds( mygrid->getMin(), mygrid->getMax(), mygrid->getNbin(), fspacing); resizeFunctions(); simtemp=0.; parse("TEMP",simtemp); @@ -96,7 +98,7 @@ unsigned ConvertToFES::getNumberOfQuantities() const { void ConvertToFES::performOperationsWithGrid( const bool& from_update ){ std::vector<double> fspacing; - outgrid->setBounds( mygrid->getMin(), mygrid->getMax(), mygrid->getNbin(), fspacing); + outgrid->setBounds( mygrid->getMin(), mygrid->getMax(), mygrid->getNbin(), fspacing); outgrid->clear(); outgrid->setNorm( mygrid->getNorm() ); runAllTasks(); } diff --git a/src/gridtools/GridFunction.cpp b/src/gridtools/GridFunction.cpp index 9dc4c2fb2..e8458fed0 100644 --- a/src/gridtools/GridFunction.cpp +++ b/src/gridtools/GridFunction.cpp @@ -46,7 +46,7 @@ GridVessel(da) void GridFunction::calculate( const unsigned& current, MultiValue& myvals, std::vector<double>& buffer, std::vector<unsigned>& der_list ) const { plumed_dbg_assert( myvals.getNumberOfValues()==(nper+1) ); - for(unsigned i=0;i<myvals.getNumberOfValues();++i) buffer[bufstart + nper*current + i] += myvals.get(i+1); + for(unsigned i=0;i<nper;++i) buffer[bufstart + nper*current + i] += myvals.get(i+1); return; } -- GitLab