Instead of reporting only the first error and stopping, continue adding
reactions and collect all of the errors that occur, then report them
at the end. For Plog reactions, report each temperature and pressure
combination that results in an invalid reaction rate.
YAML documents containing null values no longer generate errors while parsing.
Modify error messages generated by null values to indicate that the error can
be caused by either a missing key or a key with no value.
If both the high and low rate coefficients for a falloff or chemically
activated reaction are negative, then there is no problem evaluating the rate,
so it can be allowed in the same cases where a negative rate would be
allowed for an elementary reaction, i.e. if the presence of the negative
pre-exponential factors has been explicitly declared.
Bug: check_duplicate_reactions breaks if sent a third body reaction and falloff reaction because r1.third_body (or r2) is None and has no attribute upper.
Fix: This changes the third body reaction type to have a .third_body of M and then in check_duplicate_reactions check that r1 and r2 are not a mixture of three body reaction type and something else.
Bug: if blank space in header, parser crashes due to regular expression search to determine indent size
Fix: check that the comment is not empty before trying to determine indent size
Improvement: inform user which reaction contains multiple reaction types
Added Tests for both issues fixed
This model can easily be replaced with StoichSustance using ConstCpPoly for the
species thermo.
The changed values in the LiSi regression tests suggest that there are some
implementation errors in the FixedChemPotSSTP class which will be automatically
resolved by eliminating it.
Since tests like test_composite.TestModels.test_load_thermo_models rely on
deprecation warnings being fatal, we need to make sure that this setting is
always enabled. Previously, running the tests using "python -m unittest" instead
of the runCythonTests.py script did not do this.
Fixes#802
Since deprecation warnings issued from C++ and from Cython code are shown by
default, set deprecation warnings issued from Python code to do the same.
Also, modify handling of Cython- and Python- issued deprecation warnings when
calling the make_deprecation_warnings_fatal and suppress_deprecation_warnings
functions.
Ensure that the name returned by Sub::name() is a name that can be used to
reconstruct a substance of the same type.
Make phase names in liquidvapor.yaml match the substance model names.
For entries that are lists of maps in the general case but often only contain
one item, it is convenient to allow them to be provided as just a map. This
modifies methods used to work with vectors of AnyMap objects to handle the
case where the child object is just a map.
Including a 'reactions' field without a 'kinetics' field in the phase definition
is an error.
Including a 'kinetics' field without a 'reactions' field is allowed only if a
'reactions' section exists. To specify a kinetics model with no reactions, the
'reactions' field must be set to 'none'.
Add fast_fail_tests option. If True, the first test failure aborts
running the test suite. Useful when debugging tests and multiple tests
are failing, this option allows them to be easily handled one-by-one.
- switch 'isIncompressible' to 'isCompressible'
- switch 'isStoichPhase' to 'isPure'
- improve deprecation warning messages and docstrings
- rename 'setConstDensity' to 'assignDensity'
- remove warnings for assigning mole fractions for pure substances
- rename 'defaultState' to 'nativeState'; use map instead of vector
ctml_writer.py maintains global state between calling convert(). This
change commits the resulting XML file into the test/data directory
rather than converting during the test.
If a reactionData or speciesData node has a duplicated id attribute,
combine the duplicate sections together. If duplicate reaction id
attributes or species names are found, either warn or raise an error.
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.