Commit graph

1577 commits

Author SHA1 Message Date
Ray Speth
33e198f7e5 [Thermo] Generalize check for missing Redlich-Kwong coefficients
A check in the "updateAB" function will be executed regardless of how the phase
is instantiated.
2019-02-04 18:49:45 -05:00
Ray Speth
ebb93cb5a2 [Thermo] Fix setting of temperature-dependent Redlich-Kwong parameters
Using negative values to indicate unspecified parameters doesn't work, since
either constant in "a = a0 + a1*T" can be negative and still produce a positive
value for "a". Instead, NaN can be used for this purpose.
2019-02-04 18:49:34 -05:00
Ray Speth
27c64b76f8 [Thermo] VPStandardStateTP does not use reference thermo objects
Since VPStandardStateTP and derived classes do not use the reference state
thermodynamic properties in the m_spthermo object, we can just install
placeholder objects there, and eliminate the wrapper clas STITbyPDSS.
2019-01-23 16:43:44 -05:00
Ray Speth
311ae76510 [Thermo] Allow species without thermo data
In some models, SpeciesThermoInterpType objects on individual species are not
used. Instead of requiring the specification of placeholder thermo data, this
allows the base SpeciesThermoInterpType class to be used, which will throw an
exception if it is inadvertently used.
2019-01-23 16:43:44 -05:00
Ray Speth
af56138e14 [Thermo] Clean up implementation of MaskellSolidSolnPhase
Eliminate several member variables which shadow variables of the
VPStandardState class, and actually contained the same information
calculated a different way.
2019-01-23 16:43:44 -05:00
arghdos
e3230801c9 Expose getting/setting of max-steps to python interface & test 2019-01-07 22:33:03 -05:00
Ray Speth
19577abfbe Deprecate rarely-used vector functions 2018-12-14 11:27:24 -05:00
Ray Speth
6a859215f8 Replace timesConstant with C++11 lambda 2018-12-14 11:27:24 -05:00
Ray Speth
6f45b241b5 Remove code deprecated in Cantera 2.4 2018-12-14 11:27:24 -05:00
Steven DeCaluwe
68a89d0322 Adding critProperties database for RedlichKwongMFTP
Adds capability for RedlichKwongMFTP to read a database of critical properties
for Tc and Pc of common species, so that users do not need to input pureFluidParameters
for every single species, thereby reducing burden during creation of new cti files.

For any species where pureFluidParameters are not provided by the user, function
getCoeffs scans the database looking for matches.  Any unmatched species will throw
an error.  Currently only scans by species name string, and is only intended for
common species with well-known critical properties.

Current operation is quite slow if the table is consulted for a large number of
species.  In the future, should also implement the capability to write the updated
pureFluidParameters back into the xml file, so the user only has to perform the lookup
once.
2018-12-11 11:08:47 -05:00
Ray Speth
9aa507a098 [Kinetics] Make some member functions const 2018-12-02 23:54:04 -05:00
Ray Speth
84535483f9 Check for additional invalid string-to-double conversions 2018-12-02 23:54:04 -05:00
Ray Speth
22efbe25dc [1D] rdt is automatically set appropriately during Jacobian evaluation 2018-11-11 22:17:20 -05:00
Ray Speth
8c213da932 [1D] Fix grid refinement for classes not derived from StFlow
This includes user-developed flow classes, as well as the BoundaryValueProblem
class used in the 'blasius' example.
2018-11-11 22:17:20 -05:00
Ray Speth
ca8700fdd4 Expand '~' as user homedir shortcut when adding data directories
This matches the behavior used when searching for specific input files.
2018-11-11 22:17:20 -05:00
Ray Speth
4fe58661e1 Consider forward slash as directory separator when expanding homedir 2018-11-11 22:17:20 -05:00
bangshiuh
acd75e20fe [Transport] Add IonGasTransport::electricalConductivity 2018-11-07 16:11:23 -05:00
bangshiuh
8e7e27ad62 [Transport] fix temperature update in IonGasTransport::getMobilities 2018-11-07 16:11:23 -05:00
bangshiuh
7f13f4d832 add O2/O2- collision data to deal with resonant charge transfer effect 2018-10-09 16:33:40 -04:00
Ray Speth
d6da006e3e [SCons] Only build the Python package for Python 3.x 2018-09-19 17:59:59 -04:00
Ray Speth
0ade0acf18 [Transport] Relax requirements of thermo model for WaterTransport
The ThermoPhase object used by the WaterTransport model can be any
reasonably-accurate equation of state for water.
2018-09-07 23:24:23 -04:00
Ray Speth
426c2bc56e [Transport] Move calculations into WaterTransport class
Calculating viscosity and thermal conductivity in the WaterProps class
was just an unnecessary level of indirection.
2018-09-07 23:24:23 -04:00
Ray Speth
b0deb41708 [Transport] Make WaterTransport constructible using newTransportMgr
This makes it possible to specify the WaterTransport model in XML input files,
and to use the model from Python and Matlab.

Resolves #289
2018-09-07 23:24:23 -04:00
Ray Speth
f46df83841 [Thermo] Make WaterSSTP constructible using newPhase
This makes it possible to create a WaterSSTP phase using an XML input file, and
use this model from Python and Matlab.
2018-09-07 23:24:23 -04:00
Ray Speth
b7f3ab561b Fix compiler warnings issued by Visual Studio 2015 2018-08-28 16:45:49 -04:00
Ray Speth
fc7c85f8d1 [clib] Fix some size_t related compiler warnings 2018-08-28 16:45:49 -04:00
Ray Speth
e4362d37e7 [Kinetics] Check for non-existent species in reaction orders
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.
2018-08-28 16:40:43 -04:00
Ray Speth
7a697a4047 [Matlab] Fix warnings about use of deprecated AxiStagnFlow class 2018-08-23 16:31:17 -04:00
Ray Speth
a68c048bfa [Thermo] Relax warning threshold for heat capacity discontinuities
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.
2018-08-17 14:17:51 -04:00
Ray Speth
d3f49e74cb [Python] Fix display of information from errors in callback functions 2018-08-17 14:17:51 -04:00
Ray Speth
57b38ce40f [1D] Use tighter tolerances and bounds for charged species
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.
2018-08-14 14:31:13 -04:00
bangshiuh
ee633f3e16 [1D] Change Poisson equation to first-order difference 2018-08-10 18:15:36 -04:00
bangshiuh
a5762ea6b6 [1D] Add function to set flow type and make IonFlow inherit from StFlow 2018-08-10 18:15:36 -04:00
Ray Speth
c1067aa6e9 [1D] Move functions from FreeFlame and AxiStagnFlow into StFlow
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).
2018-08-10 18:15:36 -04:00
Ray Speth
fb68cae145 [Thermo] Keep PureFluidPhase state data consistent
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.
2018-08-03 15:18:30 -04:00
Ray Speth
fd57936b18 [ck2cti] Fix spurious 'unexpected output' warnings
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.
2018-07-30 11:25:27 -04:00
Ray Speth
e79cf6f8cb [Transport] Add temperature dependence of rotational relaxation
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.
2018-07-30 10:47:49 -04:00
Ray Speth
c3ba264284 [1D] Fix IonFlame instability due to negative electron concentration 2018-07-30 10:47:49 -04:00
Bryan W. Weber
2f3a0122d6 [Doc] Fix some style typos in the Doxygen docs 2018-07-29 17:47:14 -04:00
Ray Speth
35aa8be61e [Transport] Fix to enable 'CK_Mix' and 'CK_Multi' model specifications
These model strings were being treated in TransportFactory in a way that
effectively resulted in creation of regular 'Mix' and 'Multi' transport objects.
2018-07-11 14:13:16 -04:00
BangShiuh
fa9b9374cf [1D] Add polyfit for electron transport profile 2018-06-15 10:44:46 -04:00
bangshiuh
f7852ad84c [Transport] Add use Blancs law to calculate mobilities 2018-06-15 10:44:46 -04:00
bangshiuh
eeb27d84a9 [1D] Remove charge neutrality solver option from IonFlow 2018-06-15 10:44:46 -04:00
BangShiuh
3a0f46eb56 [Transport] Add class IonGasTransport 2018-06-15 10:44:46 -04:00
BangShiuh
b7e32e4604 [Transport] add dispersion coefficient and quadrupole polarizability 2018-06-15 10:44:46 -04:00
Armin Wehrfritz
d38d9da32c [Transport] Add unity Lewis number transport model 2018-06-07 13:52:26 -04:00
Ray Speth
3c978cdff6 [Equil] Deprecate get/setElementPotentials 2018-06-06 11:54:14 -04:00
Ray Speth
74167cc3eb [Equil] Don't use saved element potentials as initial guess
Saved element potentials are only valid at equilibrium, and may not be a good
guess for calls to equilibrate() after the state has changed.

By always using the estimation method for the element potentials at the start of
the ChemEquil algorithm, the results of equilibrate() are repeatable, and do not
depend on the results of previous calls to equilibrate().

Resolves #524
2018-06-06 11:54:14 -04:00
Bryan W. Weber
6b3c912ec3 Fix MemoryWriter is no longer available from fmtlib
In fmtlib 5.0.0, MemoryWriter was removed. The recommendation is to
replace it with memory_buffer
2018-05-30 14:16:27 -04:00
Ray Speth
55490de871 Fix compiler warning about m_Faraday_dim 2018-05-19 22:04:57 -04:00