Recent versions of clang++ warn that instantiation of a templated variable is
required at a certain point where no definition is available. Declaring such a
definition to be available is fine with older versions of clang++ as well, but
causes linker errors with g++, so this change is only applied when using
clang++.
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.
This makes it possible to implement alternative constitutive relations
(e.g. ionized or non-ideal gases) as a derived class from StFlow and have them
support all of the standard flame configurations (freely propagating, burner
stabilized, counterflow).
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.
This portion of the Matlab test suite was being skipped on some platforms and/or
Matlab versions. Switching to the 'classdef' style of tests fixes the problem.
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.
On Travis, the build directory '/home/travis/build/cantera' matched the (no
longer needed) exclude pattern of ' /build/*', causing all source files to be
skipped.
Outright failures of the Matlab test suite which result in the test log file not
being written no longer cause SCons to abort. Instead, they are logged as a
major test failure, similar to the behavior of the Python test suite.
When calling ck2cti via the C++ wrapper function, the output of the
'convertMech' function (usually an empty list) would be printed. Fixes a bug
introduced in db90a7c.
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.
The files kinetics.h and onedim.h are present as high-level application
include files and as lower-level implementation include files. Doxygen
generates HTML documentation for all files in the same folder, and on
case-insensitive file systems, the documetation for the application and
the implementation files will shadow each other. This commit enables the
option to put documentation files into subfolders in the root directory,
hopefully separating these "duplicate" files