-
-
Notifications
You must be signed in to change notification settings - Fork 359
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Additional Kinetics cleanup #1225
Conversation
Codecov Report
@@ Coverage Diff @@
## main #1225 +/- ##
==========================================
+ Coverage 65.44% 65.47% +0.03%
==========================================
Files 327 327
Lines 46321 46337 +16
Branches 19688 19678 -10
==========================================
+ Hits 30314 30339 +25
Misses 13475 13475
+ Partials 2532 2523 -9
📣 Codecov can now indicate which changes are the most critical in Pull Requests. Learn more |
MSVC couldn't resolve the constructor overloads for StickingRate and InterfaceRate when they contained default arguments, so those had to be separated out explicitly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@speth ... thank you for the simplifications / fixes! While I'm sad to see BulkRate<>
go, there really isn't a need after all. Not introducing Arrhenius3
is certainly a big upside here!
I also ran tests comparing this to main
and there is no perceptible speed difference. On my machine, typical values are:
In [2]: %run custom_reactions.py
Average time of 100 simulation runs for 'gri30.yaml' (CH4)
- New framework (YAML): 88.36 ms (T_final=2736.60)
- One Python reaction: 95.85 ms (T_final=2736.60) ... +8.47%
- Old framework (XML): 91.95 ms (T_final=2736.60) ... +4.06%
This is just some additional cleanup, mostly related to kinetics / reactions, as a follow-on to #1223.
Changes proposed in this pull request
BulkRate
template class (thanks to the main capabilities being folded intoArrheniusBase
)PlogRate::setRateParameters
method -setParameters
andsetRates
provide a full interface.Kinetics
and throw an exception if not__unconvertible__
flaglogBoltz_Planck
andPlanck_bar
.Arrhenius3
-- this is now just directlyArrheniusRate
Checklist
scons build
&scons test
) and unit tests address code coverage