From 1b56a06cbb6e880d0a8fe30af5f151e7b91a06cc Mon Sep 17 00:00:00 2001 From: Ray Speth Date: Tue, 11 Jun 2024 19:26:14 -0400 Subject: [PATCH] [Kinetics] Simplify input for extensible interface reactions Fixes #1620 --- src/kinetics/Reaction.cpp | 2 +- test/data/extensible-reactions.yaml | 1 - test/python/test_reaction.py | 3 +++ test/python/user_ext.py | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/kinetics/Reaction.cpp b/src/kinetics/Reaction.cpp index ad1328518..0403ba66f 100644 --- a/src/kinetics/Reaction.cpp +++ b/src/kinetics/Reaction.cpp @@ -113,7 +113,7 @@ Reaction::Reaction(const AnyMap& node, const Kinetics& kin) if (!ba::starts_with(rate_type, "sticking-")) { rateNode["type"] = "sticking-" + rate_type; } - } else { + } else if (rate_type == "Arrhenius") { // no explicitly-specified type throw InputFileError("Reaction::Reaction", input, "Unable to infer interface reaction type."); } diff --git a/test/data/extensible-reactions.yaml b/test/data/extensible-reactions.yaml index eed552ca0..a4af31306 100644 --- a/test/data/extensible-reactions.yaml +++ b/test/data/extensible-reactions.yaml @@ -23,6 +23,5 @@ reactions: surface-reactions: - equation: H(S) + OH(S) <=> H2O(S) + PT(S) type: foo-rate - rate-constant: {} A: 1.3e+14 E: 71.3 diff --git a/test/python/test_reaction.py b/test/python/test_reaction.py index d5cad7ad1..10fcc3d73 100644 --- a/test/python/test_reaction.py +++ b/test/python/test_reaction.py @@ -1722,6 +1722,9 @@ class TestExtensible2(utilities.CanteraTest): T = 432.0 surf.adjacent["gas"].TP = T, ct.one_atm assert surf.forward_rate_constants[0] == approx(1.3e14 * np.exp(-71.3 / T)) + input_data = surf.reaction(0).input_data + assert input_data["type"] == "foo-rate" + assert "rate-constant" not in input_data @ct.extension(name="user-rate-2", data=UserRate1Data) diff --git a/test/python/user_ext.py b/test/python/user_ext.py index f09de91f3..b651ffd5c 100644 --- a/test/python/user_ext.py +++ b/test/python/user_ext.py @@ -47,7 +47,7 @@ class FooRateData(ct.ExtensibleRateData): return True -@ct.extension(name="interface-foo-rate", data=FooRateData) +@ct.extension(name="foo-rate", data=FooRateData) class FooRate(ct.ExtensibleRate): __slots__ = ("A", "E")