Commit graph

85 commits

Author SHA1 Message Date
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
ec7f779434 [Input] Include more significant digits for Redlich-Kwong coefficients
ctml_writer was severely truncating Redlich-Kwong coefficients when converting
from CTI to XML formats, keeping only 5 significant digints in the "a"
coefficients and two decimal digits in the "b" coefficients, which is less than
what is used even in the example CTI files. The use of the "%f" format also
meant that the precision depended on input units.
2019-03-05 16:09:55 -05:00
Bryan W. Weber
7691d7f9d3
Remove execute bits from test data files 2019-02-22 09:17:20 -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
Jamie
a7449c6cc8 Add tests for BinarySolutionTabulatedThermo class 2019-02-20 21:39:22 -05:00
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
Steven DeCaluwe
0257c4868e Adding test suite coverage for critcal property lookups in RedlichKwongMFTP 2018-12-11 11:08:47 -05:00
Ray Speth
3c978cdff6 [Equil] Deprecate get/setElementPotentials 2018-06-06 11:54:14 -04:00
Bryan W. Weber
16fd18315c Remove HAS_NO_PYTHON configuration variable
This variable is not needed since in the two places its used we do a
runtime check of the presence of the Python interface anyways
2017-11-26 16:48:40 -05:00
Ray Speth
d035557531 [Thermo] Make adding undefined elements the default behavior
(except when importing a phase from a CTI or XML input file)
2017-08-13 23:59:49 -04:00
Ray Speth
a520f782db [Thermo] Make PDSS_SSVol contstructible wihout XML 2017-08-13 23:59:49 -04:00
Ray Speth
4c630fc592 [Thermo] Make PDSS_HKFT constructible without XML
Also fixes PDSS_HKFT to actually make use of the units specified for each input
constant.
2017-08-13 23:59:49 -04:00
Ray Speth
3790115b99 [Thermo] Make HMWSolution constructible without XML 2017-08-07 21:32:15 -04:00
Ray Speth
e3afaf5e61 [Thermo] Make IonsFromNeutral constructible without XML 2017-08-07 20:57:34 -04:00
Ray Speth
7fab7f3cd3 Add boolean and integer types to AnyMap 2017-08-07 20:57:34 -04:00
Ray Speth
338b21694f [Test] Add regression checks to IonsFromNeutralConstructor.fromXML 2017-08-07 20:57:34 -04:00
Ray Speth
aa02d24235 [Thermo] Allow instantiation of IdealSolidSolnPhase without XML 2017-08-07 20:57:34 -04:00
Ray Speth
3676672eec [Thermo] Allow instantiation of LatticeSolidPhase without XML 2017-07-17 23:41:44 -04:00
Ray Speth
37be501a68 [Test] Modify DebyeHuckel test to utilize PDSS_Water class 2017-07-17 23:41:44 -04:00
Ray Speth
f69ef44600 [Thermo] Allow instantiation of MargulesVPSSTP without XML 2017-07-17 23:41:44 -04:00
Ray Speth
bfdc2b9e1d [Thermo] Allow instantiation of DebyeHuckel without XML 2017-03-25 23:42:46 -04:00
decaluwe
f9d5f16b72 Adding test coverage for ThermoPhase class RedlichKwongMFTP 2017-02-25 11:36:31 -05:00
Ray Speth
95a52b2d34 [Test] Fix test compilation with G++ 4.6
G++ 4.6 doesn't support non-static data member initializers
2017-02-23 23:03:14 -05:00
Ray Speth
a6ac446021 [Thermo] Allow instantiation of IdealMolalSoln without XML 2017-02-22 22:18:40 -05:00
Ray Speth
f8ef4a8b2b [Thermo] Allow instantiation of RedlichKisterVPSSTP without XML 2017-02-22 22:18:40 -05:00
Ray Speth
31d54c3b11 [Thermo] Allow instantiation of MaskellSolidSolnPhase without XML 2017-02-22 22:18:40 -05:00
Ray Speth
5efea12959 [Thermo] Allow instantiation of IdealSolnGasVPSS without XML
This is also the first test of PDSS_IdealGas that doesn't use XML
2017-02-22 22:18:40 -05:00
Ray Speth
3a119381e8 [Thermo] Fix creation of IonsFromNeutralVPSSTP objects
Added a mock input file derived from the initialization code in
IonsFromNeutralVPSSTP and PDSS_IonsFromNeutral.
2017-02-22 22:18:40 -05:00
Ray Speth
b39537bfcb [Thermo] Merge functionality of VPSSMgr into VPStandardStateTP
Remove the now-unused VPSSMgr class and descendants.
2017-02-13 13:25:46 -05:00
Ray Speth
7b529ac2d6 [Thermo] Fix error in PDSS_Water reference state calculations
The water property calculator needs to be given the correct phase guess,
otherwise it will return in an invalid state.
2017-02-13 13:25:46 -05:00
Ray Speth
38d291c683 [Thermo] Fix reference pressure assumptions in VPSSMgr classes
The reference pressure (p0) must be species-specific, since for certain PDSS
classes (e.g. PDSS_Water) p0 is a function of temperature, while for other
classes (PDSS_ConstVol) it is a constant.

VPSSMgr_Water_ConstVol further assumed that the reference pressure for all
species was 1 atm, ignoring the setting in the PDSS object. Fixing this changed
test results for HMW_test_1 and HMW_test_3.

Added a test that specifically compares VPSSMgr_Water_ConstVol with
VPSSMgr_General.
2017-02-13 13:25:46 -05:00
Ray Speth
19c17d149b [Thermo] Allow instantiation of RedlichKwongMFTP without XML
This also adds the first test which instantiates a RedlichKwongMFTP object, and
removes some unused member variables and private methods from the class.
2017-02-05 15:51:24 -05:00
Ray Speth
507a3a9985 [Thermo] Allow instantiation of WaterSSTP without XML 2017-02-03 23:46:03 -05:00
Ray Speth
86dca05369 [Thermo] Make PureFluidPhase configurable without XML
The 'setSubstance' method allows setting the equation of state to use, which
could only be done before using the 'setParametersFromXML' method.
2017-02-03 21:56:29 -05:00
Ray Speth
f17750e483 Make species names case-preserving instead of case-sensitive
This improves interoperability when working with mechanisms which use differing
conventions for naming species using uppercase or lowercase.
2016-10-13 18:40:03 -04:00
Ray Speth
ac7a9bd238 Deprecate copy constructors for eventually-noncopyable objects
The following classes (and their children) will be non-copyable and
non-assignable after Cantera 2.3:
  - ThermoPhase
  - Kinetics
  - Transport
  - Species
  - SpeciesThermoInterpType
  - MultiSpeciesThermo
  - VPSSMgr
  - PDSS
  - ResidJacEval
  - RootFind
2016-07-29 18:57:29 -04:00
Ray Speth
2c005759b7 [Thermo] Combine SpeciesThermo and GeneralSpeciesThermo
The new class is named MultiSpeciesThermo, so that (eventually) the name
SpeciesThermo can be used for the single-species class SpeciesThermoInterpType.

Currently, trivial wrappers for classes named SpeciesThermo and
GeneralSpeciesThermo to maintain backwards compatibiity for Cantera 2.3.
2016-06-23 17:00:15 -04:00
Ray Speth
3d6368b70a [Thermo] Deprecate unused SpeciesThermoInterpType methods
Deprecate modifyParameters and the default constructor for all classes
derived from SpeciesThermoInterpType.
2016-06-23 13:45:51 -04:00
Ray Speth
14b9454819 [C++] Clean up of top-level headers
These headers should only include general functionality, i.e. base classes and
factory methods. Users working directly with derived types can include the
relevant headers directly.

Deprecate some top-level headers which are not really useful.
2016-05-14 16:10:10 -04:00
Ray Speth
0e2ea0964b [Thermo] Add function 'resetHf298'
Using this instead of modifyHf298 to reset the thermo data to its original
state avoids round-off errors that otherwise make modifications to the
species thermo data irreversible.
2016-04-30 16:43:37 -04:00
Ray Speth
7124385292 [Test] Make deprecation warnings fatal in test suites
This ensures that deprecated methods aren't being called anywhere in the test
suite, without having to manually scan the test output for warning messages.
2016-04-15 12:04:08 -04:00
pwcnorthrop
1183479f88 Add RedlichKister tests and sample case for LiC6 electrode
See #293
2016-02-17 23:34:36 -05:00
Ray Speth
a75a8f2c82 [Test] Move testIAPWSPres into the gtest suite 2015-11-24 10:59:15 -05:00
Ray Speth
61a457121a [Test] Move testIAPWSTripP into the gtest suite 2015-11-24 10:59:14 -05:00
Ray Speth
1cc0d42988 [Test] Move tests for WaterPropsIAPWSphi to gtest suite
Remove test-related functions from the implementation.
2015-11-24 10:59:14 -05:00
Ray Speth
91d3002df1 Make use of "make_shared" where possible 2015-10-17 18:58:50 -04:00
Ray Speth
fb4eece9f8 Use std::unique_ptr instead of raw pointers where appropriate 2015-10-14 18:45:23 -04:00
Ray Speth
71bb73b728 Eliminate unnecessary calles to std::string.c_str() 2015-10-14 18:45:22 -04:00