From cf3ad30537fd339fe0a984a585cb600084b7dc54 Mon Sep 17 00:00:00 2001 From: Ray Speth Date: Thu, 26 Feb 2015 21:54:04 +0000 Subject: [PATCH] [Kinetics] Changing a rate multiplier invalidates existing ROPs --- include/cantera/kinetics/BulkKinetics.h | 3 +++ include/cantera/kinetics/Kinetics.h | 2 +- src/kinetics/BulkKinetics.cpp | 5 +++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/include/cantera/kinetics/BulkKinetics.h b/include/cantera/kinetics/BulkKinetics.h index 9ba6849f4..025b9f469 100644 --- a/include/cantera/kinetics/BulkKinetics.h +++ b/include/cantera/kinetics/BulkKinetics.h @@ -40,6 +40,9 @@ public: virtual void finalize(); virtual bool ready() const; + virtual void setMultiplier(size_t i, double f); + + protected: virtual void addElementaryReaction(ReactionData& r); virtual void addElementaryReaction(ElementaryReaction& r); diff --git a/include/cantera/kinetics/Kinetics.h b/include/cantera/kinetics/Kinetics.h index 6f3a9fd2b..8c1014196 100644 --- a/include/cantera/kinetics/Kinetics.h +++ b/include/cantera/kinetics/Kinetics.h @@ -865,7 +865,7 @@ public: * @param i index of the reaction * @param f value of the multiplier. */ - void setMultiplier(size_t i, doublereal f) { + virtual void setMultiplier(size_t i, doublereal f) { m_perturb[i] = f; } diff --git a/src/kinetics/BulkKinetics.cpp b/src/kinetics/BulkKinetics.cpp index eb138a823..97f63e829 100644 --- a/src/kinetics/BulkKinetics.cpp +++ b/src/kinetics/BulkKinetics.cpp @@ -191,4 +191,9 @@ bool BulkKinetics::ready() const return m_finalized; } +void BulkKinetics::setMultiplier(size_t i, double f) { + Kinetics::setMultiplier(i, f); + m_ROP_ok = false; +} + }