Improve handling of duplicate reaction check for reactions that are multiples of one another
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
Research direction
Start by tracing the duplicate-reaction handling in the Chemkin conversion entry points ck2cti and ck2yaml, then inspect how converted CTI or YAML mechanisms are validated. Compare the two proposed resolution options and identify the existing reaction checks they affect. Done means the stated multiple-reaction mechanism is usable without manual edits, with behavior covered by the relevant existing test suite.
Written by the indexing model from the issue text.
Description
Cantera version
2.4.0 (and master)
Expected Behavior
Chemkin-format mechanisms containing reactions that are "multiples" of one another, such as A <=> B and 2 A <=> 2 B that are not marked as duplicates (and do not need to be marked for use with Chemkin) should be usable with Cantera without having to manually edit the CTI or YAML version of the mechanism.
Actual Behavior
Cantera identifies the reactions as unmarked duplicates. See https://groups.google.com/forum/?fromgroups#!topic/cantera-users/CPniMFXxafQ for an example of this behavior in the wild.
Resolution options
- Treat reactions which are multiples of one another as not being duplicates. This would be a change to the long-standing duplicate reaction check that Cantera uses.
- Automatically add the appropriate "duplicate" notation to the reactions when converting from Chemkin format using
ck2ctiorck2yaml.
I think either of these options is a viable fix, and don't have a strong preference either way. I think there are other cases where we definitely shouldn't just replicate Chemkin's definition of duplicate reactions, so implementing the ability to do (2) would be useful for those as well.
- Dominant language
- C++
- Stars
- 883
- Forks
- 436
- Avg merge
- 3h 41m
- Merged PRs (30d)
- 1
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Cantera/cantera
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
Incorrect reference state in some of the YAML files.Possibly taken @hazalkoom claimed this 54 days ago. OpenInput
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 3/5 1-2 days Newbie friendliness 62/100
-
[Bug]`ReactorNet.advance()` is not reproducible when an advance limit is set (root-finding arrays left uninitialized when `CVodeRootInit` is toggled per call)Possibly taken @kimurap claimed this 40 days ago. Open
Difficulty 4/5 3-5 days Newbie friendliness 55/100
-
CI
Difficulty 4/5 3-5 days Newbie friendliness 48/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
status:needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
PX4/PX4-Autopilot#29698 ·
Maintainers usually reply within 1 day
-
go perft exits when EvalFile is unavailablePossibly taken @Muawiya-contact claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
official-stockfish/Stockfish#7292 · 2 comments ·
Maintainers usually reply within 1 day
-
Wrong order of announce_to_all_trackers, announce_to_all_tiers in settings_packPossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
arvidn/libtorrent#9149 ·
Maintainers usually reply within 1 day
-
Upstream report: MSVC rejects a designated initializer in a dependent template argument (C2131)Open
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
rhalbersma/tabula#72 ·