diff --git a/CHANGES/v2.3.md b/CHANGES/v2.3.md index 856c2d2bcbb95a4f90513b1fad97ea5133ee436b..32018f88891aecd885abcbae9c08a73e3fde6d1b 100644 --- a/CHANGES/v2.3.md +++ b/CHANGES/v2.3.md @@ -252,4 +252,5 @@ For developers: For users: - Fixed flag DETAILED_TIMERS in \ref DEBUG (flag was ignored and detailed timers always written). +- Small fix in \ref DUMPMASSCHARGE (atoms are now correctly requested only at first step). diff --git a/src/generic/DumpMassCharge.cpp b/src/generic/DumpMassCharge.cpp index 890878c5fc11696149196933753d8d6b22a88e32..69ff45de60195d1a9efb09905d57eab7035f0d21 100644 --- a/src/generic/DumpMassCharge.cpp +++ b/src/generic/DumpMassCharge.cpp @@ -95,10 +95,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(); @@ -119,7 +121,8 @@ DumpMassCharge::DumpMassCharge(const ActionOptions&ao): Action(ao), ActionAtomistic(ao), ActionPilot(ao), - first(true) + first(true), + second(true) { vector<AtomNumber> atoms; parse("FILE",file); @@ -141,6 +144,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;