From a9814a1216cc5e10bf6e8847c64d0f1f9d8248c7 Mon Sep 17 00:00:00 2001 From: "Bryan W. Weber" Date: Wed, 23 Nov 2016 12:31:22 -0500 Subject: [PATCH] [ck2cti] Don't include reactions with explicit reverse rate equal to zero --- interfaces/cython/cantera/ck2cti.py | 35 ++++++++++++++++------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/interfaces/cython/cantera/ck2cti.py b/interfaces/cython/cantera/ck2cti.py index f48a4a205..faf2c2698 100644 --- a/interfaces/cython/cantera/ck2cti.py +++ b/interfaces/cython/cantera/ck2cti.py @@ -1347,23 +1347,26 @@ class Parser(object): elif 'rev' in line.lower(): reaction.reversible = False - # Create a reaction proceeding in the opposite direction - revReaction = Reaction(reactants=reaction.products, - products=reaction.reactants, - thirdBody=reaction.thirdBody, - reversible=False) tokens = tokens[1].split() - revReaction.kinetics = Arrhenius( - A=(float(tokens[0].strip()), klow_units), - b=float(tokens[1].strip()), - Ea=(float(tokens[2].strip()), energy_units), - T0=(1,"K"), - parser=self - ) - if thirdBody: - revReaction.kinetics = ThirdBody( - arrheniusHigh=revReaction.kinetics, - parser=self) + # If the A factor in the rev line is zero, don't create the reverse reaction + if float(tokens[0].strip()) != 0.0: + # Create a reaction proceeding in the opposite direction + revReaction = Reaction(reactants=reaction.products, + products=reaction.reactants, + thirdBody=reaction.thirdBody, + reversible=False) + + revReaction.kinetics = Arrhenius( + A=(float(tokens[0].strip()), klow_units), + b=float(tokens[1].strip()), + Ea=(float(tokens[2].strip()), energy_units), + T0=(1,"K"), + parser=self + ) + if thirdBody: + revReaction.kinetics = ThirdBody( + arrheniusHigh=revReaction.kinetics, + parser=self) elif 'ford' in line.lower(): tokens = tokens[1].split()