The Python Expat parser requires that the <?xml version...> tag occur as
the first characters in the file, even before any blank space, so lstrip
is used to remove any whitespace. In addition, raw & characters are
replaced with their escaped version.
The changes now match all of the options in newReaction, including
synonyms. Butler-Volmer parameters are deprecated so the user is warned.
Simplify processing interface type reactions into one method, since the
electrochem node is optional.
These changes allow parsing composition map strings where colons are
allowed as characters in keys in a colon delimited map, as well as
handling comma or space separated pairs where commas are also valid
characters in the keys.
If the Motz-Wise option is specified at the global reactionData node
level, this is used to set the option for all the reactions in that node
that don't otherwise specify the option. This method is easier than
setting the equivalent phase-level option.
When specified in YAML input, the neutral-phase can now be specified as
being in another file by using a / to delimit the file from the phase
name. This is similar to specifying species or elements in another file.
This brings back parity with the XML specification of these phases.
In the IonsFromNeutral phase, if a special-species is not included the
index is never set after initialization and remains at npos. The check
here ensures that a special-species is specified.
Also move building the elemVectorI outside of the jNeut loop. It doesn't
appear to need to be done for every neutral species, so this would save
some effort
In the IonsFromNeutral phase, make sure the neutralMoleculePhase is
initialized before we try to use it. This prevents a segfault if the
input YAML file does not have the neutral-phase key.
For Species and Reaction classes. This makes it easier to reference
these attributes and the extra specifier is not needed because it is
implied by the type of class already.
Create Species and Reaction objects before Phase objects. This allows
the Phase constructor to modify the appropriate objects based on
reaction filtering or various equation of state models where information
is moving from the phase node to the Species.
The R-K EOS is moving activity coefficient data from the phase node to
the species node in YAML. However, other phases are retaining this data
in the phase node. This change specializes the previous processing of
the activityCoefficient node to be only for the R-K phase thermo model.