Previously, lines which did not contain a reaction equation or a known keyword
and did not contain any slashes would be silently skipped. This caused reactions
mistakenly written using '->' as the arrow to be ignored without warning.
Fixes#583
When using the 'auto' solver option, user-provided arguments to
set_initial_guess were not being saved for subsequent calls to set_initial_guess
within Sim1D.solve, causing the solution to always be for equilibrated products.
This removes Python 2.7 support from the "full" Python module. The
"minimal" Python module (the ctml_writer and ck2cti scripts) and the
SCons build system still support Python 2.7.
Remove 'from __future__' imports, specification of base class
'object', and arguments to 'super()'.
Make use of 'str' being the unicode string type.
Eliminate special cases which require checking the version.
Fix some deprecation warnings issued by legacy capabilities.
Use the Cython module from the Python installation specified by
'python_cmd', rather than the Python installation that is running
SCons. This allows complilation of Cantera for Python versions that
aren't supported by SCons (e.g. Python 3.4).
When the nonreactant_orders option was enabled, specifying reactant orders for
species which were not present in the phase previously resulted in out-of-bounds
memory access.
Caused most Matlab flame simulations to fail, e.g. those using
CounterFlowDiffusionFlame.m or flame.m. Fixes regression introduced in c1067aa.
Fixes#554
In this example, a time-dependent mass flow rate function is used to inject a
specific fuel mass into a reactor. This is a more practical use case for this
capability than the fictitious hydrogen radical igniter used in combustor.py.
Discontinuities in heat capacity, in contrast to enthalpy and entropy, are less
of a problem and are not always indicative of problems with a mechanism. As
such, a looser tolerance on this quantity is reasonable.
This threshold eliminates warnings from the nDodecane_Reitz.cti input file included with Cantera.
Looser tolerances can lead to instabilities, especially in cases where negative
concentrations of charged species are found at the end of the first solving
stage.
Create a base class (IonFlameBase) for both IonFreeFlame and BurnerIonFlame, and
use the set_axisymmetric_flow() and set_free_flow() methods to select the flow
type.
Also combines FreeFlow and AxisymmetricStagnationFlow classes into class
IdealGasFlow.
Previously, calls to setTemperature, setDensity, and setState_TR did not result
in the underlying Substance object being updated. In addition, the
isothermalCompressibility and thermalExpansionCoeff methods did not synchronize
the state.
Now, setting the state of the PureFluidPhase object always sets the state of the
Substance object, and no synchronization is required in property calculation
functions.
The test for a sufficiently wide domain short circuits the normal control logic
which makes a call to refine() after each successful steady-state solve. This
caused failures for certain cases where sucessive solutions on wider grids with
only a few points still failed to satisfy the gradient criterion at the edges of
the domain.
Results in increase in mixture-averaged thermal conductivity of ~1% or less, and
a similar increase in laminar flame speeds, at least for some test cases.