Commit graph

28 commits

Author SHA1 Message Date
Ray Speth
9e98aef969 [Input] Create RedlichKwongMFTP objects from YAML definitions 2019-06-25 22:30:59 -04:00
Ray Speth
3028c14a10 Improve setting of default energy and pressure units
Only treat activation energies as a special case, rather than all molar
energies. Units of activation energy can be set either explicitly or by setting
units for energy and quantity. Only the case where activation energies are given
as temperatures needs to be specified explicitly.

Allow setting of default energy units, which allows calories to be used.

Also add dyn/cm^2 as an option for pressure units.
2019-06-25 22:30:59 -04:00
Ray Speth
fb1054a259 Fix AnyMap compilation issues with some compilers
Some versions of G++ complained about being unable to decide between the const
and non-const functions. Rewriting without the use of the deprecated
std::mem_fun is the simplest fix.
2019-06-25 22:30:59 -04:00
Ray Speth
6dac1b0409 [Input] Allow mapping for Arrhenius parameters, and use this as the default
Pressure-dependent Arrhenius reactions now use a list of mappings instead
of a more complicated nested list structure.
2019-06-25 22:30:59 -04:00
Ray Speth
fdfbc58a1e [Input] Search current directory for referenced YAML input files 2019-06-25 22:30:59 -04:00
Ray Speth
a5bf674419 [Input] Cache parsed YAML files to speed up repeated reads 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
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
afd5d82280 [Input] Provide context lines in YAML parsing error messages 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
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
f0bb0d2262 Make AnyMap iterable 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
24d1e86440 Improve "missing key" error message for AnyMap 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
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
Evan McCorkle
686250e51f Partial pimpl for AnyValue to hide boost on API.
- boost now only included in AnyMap.inl.h (within include/cantera)
2017-10-25 09:30:22 -04:00
Evan McCorkle
f8d183220c Move AnyValue template definitions to inl file 2017-10-25 09:30:22 -04:00
Ray Speth
9c084d5c84 Fix compiler warnings associated with AnyMap 2017-07-17 23:41:44 -04:00
Ray Speth
56022e8989 Introduce class AnyMap 2017-03-25 23:42:46 -04:00