From 09bc529eb17b553f65309eac8d5cc769a5a06fd7 Mon Sep 17 00:00:00 2001
From: Giovanni Bussi <giovanni.bussi@gmail.com>
Date: Fri, 20 Jul 2018 12:44:49 +0200
Subject: [PATCH] small fix in DUMPMASSCHARGE

All atoms were erroneously requested also after the first step.
---
 src/generic/DumpMassCharge.cpp | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/generic/DumpMassCharge.cpp b/src/generic/DumpMassCharge.cpp
index 8b6c3bf1a..d4adfc24f 100644
--- a/src/generic/DumpMassCharge.cpp
+++ b/src/generic/DumpMassCharge.cpp
@@ -96,10 +96,12 @@ class DumpMassCharge:
 {
   string file;
   bool first;
+  bool second;
 public:
   explicit DumpMassCharge(const ActionOptions&);
   ~DumpMassCharge();
   static void registerKeywords( Keywords& keys );
+  void prepare();
   void calculate() {}
   void apply() {}
   void update();
@@ -120,7 +122,8 @@ DumpMassCharge::DumpMassCharge(const ActionOptions&ao):
   Action(ao),
   ActionAtomistic(ao),
   ActionPilot(ao),
-  first(true)
+  first(true),
+  second(true)
 {
   vector<AtomNumber> atoms;
   parse("FILE",file);
@@ -142,6 +145,13 @@ DumpMassCharge::DumpMassCharge(const ActionOptions&ao):
   requestAtoms(atoms);
 }
 
+void DumpMassCharge::prepare() {
+  if(!first && second) {
+    requestAtoms(vector<AtomNumber>());
+    second=false;
+  }
+}
+
 void DumpMassCharge::update() {
   if(!first) return;
   first=false;
-- 
GitLab