[Kinetics] Implement addReaction from Reaction for AqueousKinetics

This commit is contained in:
Ray Speth 2014-11-11 00:11:55 +00:00
parent be585aab3e
commit 028bca0d73
2 changed files with 14 additions and 0 deletions

View file

@ -56,6 +56,7 @@ public:
void updateKc();
virtual void addReaction(ReactionData& r);
virtual void addReaction(shared_ptr<Reaction> r);
};
}

View file

@ -11,6 +11,7 @@
*/
#include "cantera/kinetics/AqueousKinetics.h"
#include "cantera/kinetics/Reaction.h"
#include "cantera/base/vec_functions.h"
using namespace std;
@ -156,4 +157,16 @@ void AqueousKinetics::addReaction(ReactionData& r)
BulkKinetics::addReaction(r);
}
void AqueousKinetics::addReaction(shared_ptr<Reaction> r)
{
if (r->reaction_type == ELEMENTARY_RXN) {
addElementaryReaction(dynamic_cast<ElementaryReaction&>(*r));
} else {
throw CanteraError("AqueousKinetics::addReaction",
"Invalid reaction type: " + int2str(r->reaction_type));
}
BulkKinetics::addReaction(r);
}
}