lcpp-org / crane

A MOOSE application dedicated to general Chemical ReAction NEtworks for plasma chemistry and thermochemistry problems.
https://crane-plasma-chemistry.readthedocs.io/
GNU Lesser General Public License v2.1
21 stars 20 forks source link

Allow multiple ChemicalReaction actions to be added simultaneously #26

Closed keniley1 closed 5 years ago

keniley1 commented 5 years ago

This is something that I had just forgotten about, but it's necessary. Right now only one action is allowed at a time, which is insufficient if we have two or more regions which each have their own set of species and reaction pathways. (A plasma-liquid system, for example.)

Probably requires something like this in CraneApp.C:

s.registerActionSyntax("AddZapdosReactions", "ChemicalReactions/*");

Shouldn't be difficult, but if possible I don't want this to overwrite the currently available syntax.

keniley1 commented 5 years ago

This is coming along well, but it required making a pretty significant change: the n_gas MaterialProperty in Zapdos materials is no longer included in CRANE's kernels. (It doesn't make sense to have an n_gas property of water...)

This means that all reactants now need to be either AuxVariables or nonlinear variables. Previously the value of a reactant would default to n_gas if it was neither nonlinear or auxiliary. I think it's better to keep CRANE general instead of requiring n_gas. This way it is equally valid in any kind of material as long as the user provides values for all reactants.

(Note that this change is only in the multiple_actions branch at the moment.)

keniley1 commented 5 years ago

With PR #29 this is resolved! At least in terms of Zapdos reactions. We will need slightly different syntax for scalar reactions.