Commit graph

1236 commits

Author SHA1 Message Date
Ray Speth
a5bf674419 [Input] Cache parsed YAML files to speed up repeated reads 2019-06-25 22:30:59 -04:00
Ray Speth
6d6f34bee3 [Input] Read species Transport data from YAML / AnyMap 2019-06-25 22:30:59 -04:00
Ray Speth
96124f8455 [Input] Store phase definition parameters in the ThermoPhase object 2019-06-25 22:30:59 -04:00
Ray Speth
f0dc990764 Create a complete Kinetics object from a YAML input file 2019-06-25 22:30:59 -04:00
Ray Speth
f4d45f8a85 Create a complete ThermoPhase object from a YAML input file 2019-06-25 22:30:59 -04:00
Ray Speth
c8b737035d [Thermo] Add method for setting the state using an AnyMap
Analogous to ThermoPhase::setStateFromXML, but more flexible
2019-06-25 22:30:59 -04:00
Ray Speth
3251a3533e Add AnyMap::erase method 2019-06-25 22:30:59 -04:00
Ray Speth
0264c66f79 Add const version of AnyMap operator[]
Reduces the need to use the at() function
2019-06-25 22:30:59 -04:00
Ray Speth
7d3488a973 Add AnyMap.keys_str function 2019-06-25 22:30:59 -04:00
Ray Speth
a32e32b7d7 Remove AnyMap traversal using "/" as a path delimiter
This feature was unused, and interfered with the use of "/" as a delimiter
for YAML keys indicating keys in other input files.
2019-06-25 22:30:59 -04:00
Ray Speth
e28c9add21 Add variants of AnyValue.asMap for accessing lists of maps 2019-06-25 22:30:59 -04:00
Ray Speth
71bf44d11f [Input] Parse YAML entries for Species objects 2019-06-25 22:30:59 -04:00
Ray Speth
84fa231ea2 [Input] Read local 'units' definitions in reaction and thermo entries
Move 'convert' functions that work with missing keys to AnyMap class.
2019-06-25 22:30:59 -04:00
Ray Speth
6e3053dd1c Add function for setting default units from a std::map
This is the form that will be used when reading units from a YAML
input file.
2019-06-25 22:30:59 -04:00
Ray Speth
f0bb0d2262 Make AnyMap iterable 2019-06-25 22:30:59 -04:00
Ray Speth
74eec731f1 Add a version of UnitSystem.convert that handles default values 2019-06-25 22:30:59 -04:00
Ray Speth
2b41486850 [Input] Parse YAML entries for NASA 7-coefficient polynomials 2019-06-25 22:30:59 -04:00
Ray Speth
3eaa32dea3 [Thermo] Make SpeciesThermoInterpType objects default constructible
Also provide setters for all all parameters which were set by the
constructor.
2019-06-25 22:30:59 -04:00
Ray Speth
7a97ff9917 Add optional length check when converting AnyValue to vector 2019-06-25 22:30:59 -04:00
Ray Speth
d476ad8e59 Use Boost to demangle type names in AnyValue casting errors 2019-06-25 22:30:59 -04:00
Ray Speth
0220e11ef9 Allow conversion from long int to double in AnyValue.asMap 2019-06-25 22:30:59 -04:00
Ray Speth
de80f06887 [Input] Parse YAML entries for elementary reactions 2019-06-25 22:30:59 -04:00
Ray Speth
224c46ebbb Add functions for converting units from AnyValue instances 2019-06-25 22:30:59 -04:00
Ray Speth
65121becac Add special handling of activation energies to class Units 2019-06-25 22:30:59 -04:00
Ray Speth
da097631e3 UnitSystem class supports default source units for conversions 2019-06-25 22:30:59 -04:00
Ray Speth
c9b7de3b70 Add support for metric prefixes to class Units 2019-06-25 22:30:59 -04:00
Ray Speth
b8cb2c30f8 Add 'Units' class for doing conversions with dimensionality checks
Introduces a new, more natural notation for writing unit strings,
for use in YAML input files. Unlike 'toSI', conversions are checked for
dimensional consistency.
2019-06-25 22:30:59 -04:00
Ray Speth
ea88d4f9fb Add "get" functions to AnyMap
Simplify the common use case of checking for a key and using a default
value when it is missing.
2019-06-25 22:30:59 -04:00
Ray Speth
530adbb931 Add automatic conversions to vector<AnyValue> 2019-06-25 22:30:59 -04:00
Ray Speth
e5bd0b136f Allow AnyValue to convert implicitly from long int to double 2019-06-25 22:30:59 -04:00
Ray Speth
00f6b88fa4 [Input] Implement construction of AnyMap from YAML string/file 2019-06-25 22:30:59 -04:00
Ray Speth
e85e0e2108 Fix constness of some AnyMap functions 2019-06-25 22:30:59 -04:00
Ray Speth
ed24198e63 Add option to compile yaml-cpp or use system library 2019-06-25 22:30:59 -04:00
Bryan W. Weber
857bb0a769 Include Func1.h in zerodim.h
zerodim.h used to have Func1.h included indirectly, so make it explicit.
2019-06-17 10:29:20 -04:00
Steven DeCaluwe
ba8ac1d519 Mark ConstDensityThermo for deprecation.
The thermophase ConstDensityThermo instantiates a class with
constant density_mass  Such a model is of dubious physical
validity/applicability and has minimal foreseeable use cases.
This commit marks it for deprecation, and adds a message in
ctml_writer.py (where the model has the misleading alias
'incompressible_solid') refering the interested user to consider
appropriate alternate thermophase classes 'lattice' or
'IdealSolidSoln.'
2019-06-12 17:54:48 -04:00
Thanasis Mattas
6a42e5942e rearranging methods to aid src reading 2019-06-08 17:25:55 -04:00
Thanasis Mattas
ea3bb0af90 Some documentation corrections at xml.h 2019-06-08 17:25:55 -04:00
Ingmar Schoegl
5d62f3bacc added factories for FlowDevice and Wall objects 2019-05-28 19:21:28 -04:00
Nick
848a3bf0e3 Add InterfaceKinetics.advance_coverages integrator options to the cython interface, and test 2019-04-10 22:14:27 -04:00
Nick
d2cb02f254 add integrator parameters to the InterfaceKinetics::advanceCoverages & ImplicitSurfChem constructor to allow users to modfiy 2019-04-10 22:14:27 -04:00
Ray Speth
d6d91f4d98 [Thermo] Fix updating state of PDSS_IonsFromNeutral objects
Setting T and P now updates the state of the underlying "neutral
molecule phase".

Also removed the unimplemented setState_TR method.
2019-03-06 19:50:16 -05:00
Ray Speth
aceb896f62 [Thermo] Fix BinarySolutionTabulatedThermo updates when only T changes
In the case where temperature changes but the mole fractions are the same, we
still need to apply the enthalpy and entropy offsets to the tabulated species.
2019-03-06 19:48:45 -05:00
Ray Speth
47005a5008 [Thermo] Fix overriding of IdealSolidSolnPhase::_updateThermo
Since IdealSolidSolnPhase::_updateThermo wasn't a virtual method, and
the signatures didn't match (const vs non-const), calls to this method
from IdealSolidSolnPhase weren't being overridden by
BinarySolutionTabulatedThermo::_updateThermo as expected.
2019-03-06 19:48:45 -05:00
Ray Speth
90d2ec41ca [Thermo] Eliminate redundant coefficient storage in ShomatePoly2 2019-02-25 11:06:12 -05:00
Ray Speth
b8367d6fe8 [Thermo] Eliminate redundant coefficient storage in NasaPoly2 2019-02-21 11:21:03 -05:00
Steven DeCaluwe
84b4147a99 Fixing return type of BinarySolutionTabulatedThermo::interp
The function `BinarySolutionTabulatedThermo::interp` now returns type
`std::pair<double, double>`, rather than `static double`
2019-02-20 21:39:22 -05:00
Steven DeCaluwe
05fdd356f2 Updates to BinarySolutionTabulatedThermo and test file.
-Fixes small typo id incclude/cantera/base/utilities.h docstring
-Removes `m_formGC` from BinarySolutionTabulatedThermo class, and
instead utilizes version and functionality inherited from parent
class `IdealSolidSolnPhase`.
-Moves samples/matlab/lithium_ion_battery/lithium_ion_battery.cti
to data/inputs/lithium_ion_battery.cti
-Fixes typo in test/data/BinarySolutionTabulatedThermo.cti
-Updates expected_result values in several test cases in
test/thermo/BinarySolutionTabulatedThermo_Test.cpp
2019-02-20 21:39:22 -05:00
Steven DeCaluwe
ae555fb063 Add description for BinarySolidSolutionTabulatedThermo class 2019-02-20 21:39:22 -05:00
Manik Mayur
224ef720e6 Add BinarySolutionTabulatedThermo class 2019-02-20 21:39:22 -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