Skip to content

Commit b770450

Browse files
committed
[Kinetics] rename Reaction2::setup to Reaction2::setParameters
1 parent 5369f51 commit b770450

File tree

7 files changed

+50
-55
lines changed

7 files changed

+50
-55
lines changed

include/cantera/kinetics/Reaction.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ class Reaction2 : public Reaction
122122
}
123123

124124
//! Set up reaction based on AnyMap node
125-
virtual void setup(const AnyMap& node, const Kinetics& kin);
125+
virtual void setParameters(const AnyMap& node, const Kinetics& kin);
126126

127127
protected:
128128
//! Reaction rate used by generic reactions
@@ -281,7 +281,7 @@ class CustomFunc1Reaction : public Reaction2
281281
public:
282282
CustomFunc1Reaction();
283283

284-
virtual void setup(const AnyMap& node, const Kinetics& kin);
284+
virtual void setParameters(const AnyMap& node, const Kinetics& kin);
285285

286286
virtual std::string type() const {
287287
return "custom-rate-function";
@@ -306,7 +306,7 @@ class TestReaction : public Reaction2
306306
return "elementary-new";
307307
}
308308

309-
virtual void setup(const AnyMap& node, const Kinetics& kin);
309+
virtual void setParameters(const AnyMap& node, const Kinetics& kin);
310310

311311
bool allow_negative_pre_exponential_factor;
312312
};

include/cantera/kinetics/ReactionRate.h

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -86,11 +86,6 @@ class ReactionRate : public ReactionRateBase
8686
public:
8787
ReactionRate() = default;
8888

89-
ReactionRate(const AnyMap& node, const Units& rc_units) {
90-
throw CanteraError("ReactionRate::ReactionRate",
91-
"Constructor needs to be implemented by derived classes.");
92-
}
93-
9489
//! Update information specific to reaction
9590
//! @param shared_data data shared by all reactions of a given type
9691
virtual void update(const DataType& shared_data, const ThermoPhase& bulk) {}
@@ -148,8 +143,8 @@ class ArrheniusRate final : public ReactionRate<ArrheniusData>, public Arrhenius
148143

149144
//! Constructor
150145
//! @param node AnyMap object containing reaction rate specification
151-
//! @param rc_units Description of units used for rate parameters
152-
ArrheniusRate(const AnyMap& node, const Units& rc_units);
146+
//! @param rate_units Description of units used for rate parameters
147+
ArrheniusRate(const AnyMap& node, const Units& rate_units);
153148

154149
virtual std::string type() const override { return "ArrheniusRate"; }
155150

@@ -182,8 +177,8 @@ class CustomFunc1Rate final : public ReactionRate<CustomFunc1Data>
182177

183178
//! Constructor does nothing, as there is no formalized parameterization
184179
//! @param node AnyMap object containing reaction rate specification
185-
//! @param rc_units Description of units used for rate parameters
186-
CustomFunc1Rate(const AnyMap& rate, const Units& rc_units) {}
180+
//! @param rate_units Description of units used for rate parameters
181+
CustomFunc1Rate(const AnyMap& rate, const Units& rate_units) {}
187182

188183
virtual std::string type() const override { return "custom-function"; }
189184

include/cantera/kinetics/RxnRates.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ class Arrhenius
4242
Arrhenius(doublereal A, doublereal b, doublereal E);
4343

4444
//! Run object setup based on AnyMap node information
45-
void setup(const AnyValue& rate,
46-
const UnitSystem& units, const Units& rc_units);
45+
void setParameters(const AnyValue& rate,
46+
const UnitSystem& units, const Units& rate_units);
4747

4848
//! Update concentration-dependent parts of the rate coefficient.
4949
/*!

src/kinetics/Reaction.cpp

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -98,29 +98,6 @@ void Reaction::validate()
9898
}
9999
}
100100

101-
void Reaction2::setup(const AnyMap& node, const Kinetics& kin)
102-
{
103-
parseReactionEquation(*this, node["equation"], kin);
104-
// Non-stoichiometric reaction orders
105-
std::map<std::string, double> orders;
106-
if (node.hasKey("orders")) {
107-
for (const auto& order : node["orders"].asMap<double>()) {
108-
orders[order.first] = order.second;
109-
if (kin.kineticsSpeciesIndex(order.first) == npos) {
110-
setValid(false);
111-
}
112-
}
113-
}
114-
115-
// Flags
116-
id = node.getString("id", "");
117-
duplicate = node.getBool("duplicate", false);
118-
allow_negative_orders = node.getBool("negative-orders", false);
119-
allow_nonreactant_orders = node.getBool("nonreactant-orders", false);
120-
121-
input = node;
122-
}
123-
124101
std::string Reaction::reactantString() const
125102
{
126103
std::ostringstream result;
@@ -320,18 +297,41 @@ ChebyshevReaction::ChebyshevReaction(const Composition& reactants_,
320297
reaction_type = CHEBYSHEV_RXN;
321298
}
322299

300+
void Reaction2::setParameters(const AnyMap& node, const Kinetics& kin)
301+
{
302+
parseReactionEquation(*this, node["equation"], kin);
303+
// Non-stoichiometric reaction orders
304+
std::map<std::string, double> orders;
305+
if (node.hasKey("orders")) {
306+
for (const auto& order : node["orders"].asMap<double>()) {
307+
orders[order.first] = order.second;
308+
if (kin.kineticsSpeciesIndex(order.first) == npos) {
309+
setValid(false);
310+
}
311+
}
312+
}
313+
314+
// Flags
315+
id = node.getString("id", "");
316+
duplicate = node.getBool("duplicate", false);
317+
allow_negative_orders = node.getBool("negative-orders", false);
318+
allow_nonreactant_orders = node.getBool("nonreactant-orders", false);
319+
320+
input = node;
321+
}
322+
323323
CustomFunc1Reaction::CustomFunc1Reaction()
324324
: Reaction2()
325325
{
326326
reaction_type = CUSTOMPY_RXN;
327327
}
328328

329-
void CustomFunc1Reaction::setup(const AnyMap& node, const Kinetics& kin)
329+
void CustomFunc1Reaction::setParameters(const AnyMap& node, const Kinetics& kin)
330330
{
331-
Reaction2::setup(node, kin);
332-
Units rc_units; // @todo Not needed once `rate_units` is implemented.
331+
Reaction2::setParameters(node, kin);
332+
Units rate_units; // @todo Not needed once `rate_units` is implemented.
333333
setRate(
334-
std::shared_ptr<CustomFunc1Rate>(new CustomFunc1Rate(node, rc_units)));
334+
std::shared_ptr<CustomFunc1Rate>(new CustomFunc1Rate(node, rate_units)));
335335
}
336336

337337
TestReaction::TestReaction()
@@ -340,15 +340,15 @@ TestReaction::TestReaction()
340340
{
341341
}
342342

343-
void TestReaction::setup(const AnyMap& node, const Kinetics& kin)
343+
void TestReaction::setParameters(const AnyMap& node, const Kinetics& kin)
344344
{
345-
Reaction2::setup(node, kin);
345+
Reaction2::setParameters(node, kin);
346346

347347
// @todo Rate units will become available as `rate_units` after
348348
// serialization is fully implemented.
349-
Units rc_units = rateCoeffUnits(*this, kin);
349+
Units rate_units = rateCoeffUnits(*this, kin);
350350
setRate(
351-
std::shared_ptr<ArrheniusRate>(new ArrheniusRate(node, rc_units)));
351+
std::shared_ptr<ArrheniusRate>(new ArrheniusRate(node, rate_units)));
352352
allow_negative_pre_exponential_factor = node.getBool("negative-A", false);
353353
}
354354

@@ -434,9 +434,9 @@ Arrhenius readArrhenius(const Reaction& R, const AnyValue& rate,
434434
const Kinetics& kin, const UnitSystem& units,
435435
int pressure_dependence=0)
436436
{
437-
Units rc_units = rateCoeffUnits(R, kin, pressure_dependence);
437+
Units rate_units = rateCoeffUnits(R, kin, pressure_dependence);
438438
Arrhenius arr;
439-
arr.setup(rate, units, rc_units);
439+
arr.setParameters(rate, units, rate_units);
440440
return arr;
441441
}
442442

src/kinetics/ReactionFactory.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ ReactionFactory::ReactionFactory()
105105
});
106106
reg_AnyMap("custom-rate-function",
107107
[](Reaction* R, const AnyMap& node, const Kinetics& kin) {
108-
((Reaction2*)R)->setup(node, kin);
108+
((Reaction2*)R)->setParameters(node, kin);
109109
});
110110

111111
// register custom Python reactions
@@ -117,7 +117,7 @@ ReactionFactory::ReactionFactory()
117117
});
118118
reg_AnyMap("elementary-new",
119119
[](Reaction* R, const AnyMap& node, const Kinetics& kin) {
120-
(dynamic_cast<Reaction2*>(R))->setup(node, kin);
120+
(dynamic_cast<Reaction2*>(R))->setParameters(node, kin);
121121
});
122122

123123
// register interface reactions

src/kinetics/ReactionRate.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ ArrheniusRate::ArrheniusRate(double A, double b, double E)
1414
: Arrhenius(A, b, E) {
1515
}
1616

17-
ArrheniusRate::ArrheniusRate(const AnyMap& node, const Units& rc_units) {
18-
setup(node["rate-constant"], node.units(), rc_units);
17+
ArrheniusRate::ArrheniusRate(const AnyMap& node, const Units& rate_units) {
18+
setParameters(node["rate-constant"], node.units(), rate_units);
1919
}
2020

2121
CustomFunc1Rate::CustomFunc1Rate() : m_ratefunc(0) {}

src/kinetics/RxnRates.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,17 +29,17 @@ Arrhenius::Arrhenius(doublereal A, doublereal b, doublereal E)
2929
}
3030
}
3131

32-
void Arrhenius::setup(const AnyValue& rate,
33-
const UnitSystem& units, const Units& rc_units)
32+
void Arrhenius::setParameters(const AnyValue& rate,
33+
const UnitSystem& units, const Units& rate_units)
3434
{
3535
if (rate.is<AnyMap>()) {
3636
auto& rate_map = rate.as<AnyMap>();
37-
m_A = units.convert(rate_map["A"], rc_units);
37+
m_A = units.convert(rate_map["A"], rate_units);
3838
m_b = rate_map["b"].asDouble();
3939
m_E = units.convertActivationEnergy(rate_map["Ea"], "K");
4040
} else {
4141
auto& rate_vec = rate.asVector<AnyValue>(3);
42-
m_A = units.convert(rate_vec[0], rc_units);
42+
m_A = units.convert(rate_vec[0], rate_units);
4343
m_b = rate_vec[1].asDouble();
4444
m_E = units.convertActivationEnergy(rate_vec[2], "K");
4545
}

0 commit comments

Comments
 (0)