Files
cantera/test/data/consistency-cases.yaml
Ray Speth 309bf34a73 Remove code deprecated in Cantera 3.0
This takes care of simple removals of deprecated methods/classes
2023-08-26 19:03:02 -07:00

414 lines
16 KiB
YAML

# Parameters for test cases defined in test/thermo/consistency.cpp
#
# Each top-level entry here corresponds to a Googletest "test suite" instantiation,
# using the INSTANTIATE_TEST_SUITE_P macro.
#
# Each of these entries has two keys, 'setup' and 'states'. The 'setup' map defines the
# phase to be loaded, information on cases that are known to fail, and optional
# tolerance parameters that are used in some tests. Within the 'setup' map, the
# following keys are recognized:
# - file: the name of the input file, read from the usual data paths (which
# includes test/data when running the test suite)
# - phase: The name of the phase to read. Optional - by default, the first phase
# in the file is used.
# - known-failures: A map where the keys identify tests that should be skipped because
# they are known to fail and the values are messages to be printed in the test log
# explaining why the test has been skipped. The keys are regular expressions that are
# searched for in the test names (second argument to TEST_P) defined in
# consistency.cpp. The test name is suffixed with '/N' where 'N' is the (zero-indexed)
# index into the 'states' array and can be used to skip specific test instances. Where
# possible, known failures should reference GitHub Issue numbers documenting known
# errors. This mechanism is not used to handle test cases that raise
# NotImplementedError; Those tests should be skipped automatically.
# - atol: An absolute tolerance used for tests comparing molar energy-like quantities.
# Default 1.0e-5.
# - atol_v: An absolute tolerance used for tests comparing molar volumes.
# Default 1.0e-11.
# - rtol_fd: A relative tolerance used in some finite difference tests. Default 1.0e-6.
#
# The 'states' key defines a list of maps, where each map provides a complete state
# definition for the phase. The map is passed directly to ThermoPhase::setState(), and
# supports setting the state using any of the variables supported there.
ideal-gas-h2o2:
setup: {file: h2o2.yaml}
states:
- {T: 300, P: 101325, X: {H2: 0.1, O2: 0.7, H2O2: 0.1}}
- {T: 300, P: 101325, Y: {H2: 0.1, O2: 0.7, H2O2: 0.1}}
- {T: 400, density: 5 g/cm^3 , X: {H2: 0.1, O2: 0.7, H2O2: 0.1}}
redlich-kwong:
setup:
file: co2_RK_example.yaml
rtol_fd: 1e-5
states:
- {T: 300, P: 101325, X: {CO2: 0.7, CH4: 0.2, H2O: 0.1}}
- {T: 320, P: 200 bar, X: {CO2: 0.3, CH4: 0.5, H2O: 0.2}}
- {T: 600, P: 200 bar, X: {CO2: 0.4, CH4: 0.2, H2O: 0.4}}
peng-robinson:
setup:
file: co2_PR_example.yaml
rtol_fd: 1e-5
states:
- {T: 300, P: 101325, X: {CO2: 0.7, CH4: 0.2, H2O: 0.1}}
- {T: 320, P: 200 bar, X: {CO2: 0.3, CH4: 0.5, H2O: 0.2}}
- {T: 600, P: 200 bar, X: {CO2: 0.4, CH4: 0.2, H2O: 0.4}}
ideal-molal-solution:
setup:
file: thermo-models.yaml
phase: ideal-molal-aqueous
known-failures:
g_eq_h_minus_Ts:
"Implementations of g and s are inconsistent. See GitHub Issue #1300"
gk_eq_hk_minus_T_sk:
"Implementations of g and s are inconsistent. See GitHub Issue #1300"
cv_eq_.+: cv not implemented
cp_eq_dsdT_const_p_times_T:
"Implementation of cp and s are inconsistent. See GitHub Issue #1300"
activity_coeffs: "Activity coeffs are incorrect. See GitHub Issue #1311"
states:
- {T: 300, P: 101325, molalities: {CH4(aq): 0.01, H2S(aq): 0.03, CO2(aq): 0.1}}
- {T: 300, P: 2 atm, molalities: {CH4(aq): 0.1, H2S(aq): 0.01, CO2(aq): 0.1}}
- {T: 340, P: 5 atm, molalities: {CH4(aq): 0.1, H2S(aq): 0.01, CO2(aq): 0.1}}
ideal-condensed-1:
setup:
file: thermo-models.yaml
phase: IdealSolidSolnPhase
states:
- {T: 300, P: 0.1 atm, X: {sp1: 1.0}}
- {T: 300, P: 1 atm, X: {sp1: 0.6, sp2: 0.4}}
- {T: 400, P: 0.1 atm, X: {sp1: 0.01, sp2: 0.03, sp3: 0.94}}
- {T: 500, P: 2 bar, X: {sp1: 0.1, sp2: 0.89, sp3: 0.01}}
ideal-condensed-2:
setup:
file: thermo-models.yaml
phase: IdealSolidSolnPhase2
states:
- {T: 300, P: 0.1 atm, X: {sp1: 1.0}}
- {T: 400, P: 0.1 atm, X: {sp1: 0.01, sp2: 0.03, sp3: 0.94}}
- {T: 500, P: 2 bar, X: {sp1: 0.1, sp2: 0.89, sp3: 0.01}}
binary-solution-tabulated:
setup:
file: BinarySolutionTabulatedThermo.yaml
phase: anode
known-failures:
g_eq_h_minus_Ts/4: "Problems near composition limit. See GitHub Issue #1303"
g_eq_sum_gk_Xk/4: "Problems near composition limit. See GitHub Issue #1303"
s_eq_sum_sk_Xk/4: "Problems near composition limit. See GitHub Issue #1303"
gk_eq_hk_minus_T_sk/[34]: "Problems near composition limit. See GitHub Issue #1303"
gk0_eq_hk0_minus_T_sk0/[34]:
"Problems near composition limit. See GitHub Issue #1303"
chem_potentials_to_activities/3:
"Problems near composition limit. See GitHub Issue #1303"
gRef_eq_hRef_minus_T_sRef/[34]:
"Problems near composition limit. See GitHub Issue #1303"
states:
- {T: 300, P: 1 atm, X: {"Li[anode]": 0.3, "V[anode]": 0.7}}
- {T: 320, P: 1 atm, X: {"Li[anode]": 0.3, "V[anode]": 0.7}}
- {T: 340, P: 10 atm, X: {"Li[anode]": 0.6, "V[anode]": 0.4}}
- {T: 300, P: 5 atm, X: {"Li[anode]": 0.0, "V[anode]": 1.0}}
- {T: 300, P: 1 atm, X: {"Li[anode]": 1.0, "V[anode]": 0.0}}
- {T: 300, P: 5 atm, X: {"Li[anode]": 1.0e-10, "V[anode]": 1.0}}
- {T: 300, P: 1 atm, X: {"Li[anode]": 1.0, "V[anode]": 1.0e-10}}
electron-cloud:
setup:
file: thermo-models.yaml
phase: Metal
states:
- {T: 300, P: 1 atm}
- {T: 400, P: 1 atm}
- {T: 500, P: 10 atm}
# The Python test_purefluid.py test suite contains a much more extensive set of tests
# for the pure substance models
nitrogen-purefluid:
setup:
file: liquidvapor.yaml
phase: nitrogen
rtol_fd: 2e-3 # agreement for Maxwell relations is limited
known-failures:
cv_eq_.+/3: cv not defined in two-phase region
cp_eq_sum_cpk_Xk: cp is inf in the two-phase region
dsdP_const_T_eq_minus_dV_dT_const_P/3: Can't set TP in two-phase region
states:
- {T: 300, P: 1 atm}
- {T: 70, P: 1 atm}
- {T: 80, P: 100 atm}
- {T: 80, density: 100 kg/m^3}
plasma:
setup:
file: oxygen-plasma.yaml
phase: discretized-electron-energy-plasma
known-failures:
cp_eq_.+/1: Test does not account for distinct electron temperature
cv_eq_.+/1: Test does not account for distinct electron temperature
c._eq_dsdT_const_._times_T: Test does not account for distinct electron temperature
cpk0_eq_dhk0dT: Test does not account for distinct electron temperature
cpRef_eq_dhRefdT: Test does not account for distinct electron temperature
states:
- {T: 300, P: 1 atm, X: {O2: 1.0, O2-: 1e-5, E: 1e-5}}
- {T: 300, P: 1 atm, X: {E: 1.0}}
- {T: 3500, P: 10 atm, X: {O2: 1.0, O2-: 2e-5, E: 2e-5}}
debye-huckel-dilute:
setup:
file: debye-huckel-all.yaml
phase: debye-huckel-dilute
known-failures: &debye-huckel-failures
cv_eq_.+: cv not implemented
activity_coeffs: "Activity coeffs are incorrect. See GitHub Issue #1311"
states: &debye-huckel-states
- {T: 300, P: 1 atm,
molalities: {Na+: 9.3549, Cl-: 9.3549, H+: 1.05e-08, OH-: 1.3765e-06,
NaCl(aq): 0.98492, NaOH(aq): 3.8836e-06, NaH3SiO4(aq): 6.8798e-05,
SiO2(aq): 3.0179e-05, H3SiO4-: 1.0231e-06}}
- {T: 300, P: 1 atm,
molalities: {Na+: 4.1, Cl-: 4.1, H+: 1.05e-07, OH-: 1.3765e-05,
NaCl(aq): 2.2, NaOH(aq): 3.8836e-03}}
- {T: 320, P: 1 atm,
molalities: {Na+: 9.3549, Cl-: 9.3549, H+: 1.05e-06, OH-: 2.0e-05,
NaCl(aq): 0.98492, NaOH(aq): 3.8836e-06}}
- {T: 320, P: 20 atm,
molalities: {Na+: 9.3549, Cl-: 9.3549, H+: 1.05e-08, OH-: 1.3765e-06,
NaCl(aq): 0.98492, NaOH(aq): 3.8836e-06}}
debye-huckel-dilute-IAPWS:
setup:
file: debye-huckel-all.yaml
phase: debye-huckel-dilute-IAPWS
rtol_fd: 1e-5 # Good finite difference results with IAPWS are challenging
known-failures:
cv_eq_.+: cv not implemented
activity_coeffs: "Activity coeffs are incorrect. See GitHub Issue #1311"
cp_eq_.+: "cp with variable A_Debye is incorrect. See GitHub Issue #1500"
dsdP_const_T_eq_minus_dV_dT_const_P.+:
"Error with dilute limit with variable A_Debye. See GitHub Issue #1502"
states: *debye-huckel-states
debye-huckel-B-dot-ak:
setup:
file: debye-huckel-all.yaml
phase: debye-huckel-B-dot-ak
known-failures: *debye-huckel-failures
states: *debye-huckel-states
debye-huckel-B-dot-ak-IAPWS:
setup:
file: debye-huckel-all.yaml
phase: debye-huckel-B-dot-ak-IAPWS
rtol_fd: 1e-5 # Good finite difference results with IAPWS are challenging
known-failures: &debye-huckel-IAPWS-failures
cv_eq_.+: cv not implemented
activity_coeffs: "Activity coeffs are incorrect. See GitHub Issue #1311"
cp_eq_.+: "cp with variable A_debye is incorrect. See GitHub Issue #1500"
states: *debye-huckel-states
debye-huckel-B-dot-a:
setup:
file: debye-huckel-all.yaml
phase: debye-huckel-B-dot-a
known-failures: *debye-huckel-failures
states: *debye-huckel-states
debye-huckel-B-dot-a-IAPWS:
setup:
file: debye-huckel-all.yaml
phase: debye-huckel-B-dot-a-IAPWS
rtol_fd: 1e-5 # Good finite difference results with IAPWS are challenging
known-failures: *debye-huckel-IAPWS-failures
states: *debye-huckel-states
debye-huckel-pitzer-beta_ij:
setup:
file: debye-huckel-all.yaml
phase: debye-huckel-pitzer-beta_ij
known-failures: *debye-huckel-failures
states: *debye-huckel-states
debye-huckel-pitzer-beta_ij-IAPWS:
setup:
file: debye-huckel-all.yaml
phase: debye-huckel-pitzer-beta_ij-IAPWS
rtol_fd: 1e-5 # Good finite difference results with IAPWS are challenging
known-failures: *debye-huckel-IAPWS-failures
states: *debye-huckel-states
debye-huckel-beta_ij:
setup:
file: debye-huckel-all.yaml
phase: debye-huckel-beta_ij
known-failures: *debye-huckel-failures
states: *debye-huckel-states
debye-huckel-beta_ij-IAPWS:
setup:
file: debye-huckel-all.yaml
phase: debye-huckel-beta_ij-IAPWS
rtol_fd: 1e-5 # Good finite difference results with IAPWS are challenging
known-failures: *debye-huckel-IAPWS-failures
states: *debye-huckel-states
margules:
setup:
file: LiKCl_liquid.yaml
known-failures:
cv_eq.+: "Implementation of cv is incorrect. See GitHub Issue #1308"
states:
- {T: 900, P: 1 atm, X: {KCl(L): 0.2, LiCl(L): 0.8}}
- {T: 1000, P: 10 atm, X: {KCl(L): 0.99, LiCl(L): 0.01}}
- {T: 1400, P: 20 atm, X: {KCl(L): 2.0e-5, LiCl(L): 1}}
lattice:
setup:
file: thermo-models.yaml
phase: Li7Si3-interstitial
known-failures:
_sum_.+_Xk: "Implementation is wrong. See GitHub Issue #1309"
gk_eq_hk_minus_T_sk: "Implementation is wrong. See GitHub Issue #1309"
standard_gibbs_nondim: "Implementation is wrong. See GitHub Issue #1309"
chem_potentials_to_activities: "Implementation is wrong. See GitHub Issue #1309"
states:
- {T: 725.0 K, P: 1.0 atm, X: {Li(i): 0.2, V(i): 0.8}}
- {T: 825.0 K, P: 50.0 bar, X: {Li(i): 0.7, V(i): 0.3}}
- {T: 925.0 K, P: 50.0 bar, X: {Li(i): 1.0, V(i): 0.0}}
compound-lattice:
setup:
file: thermo-models.yaml
phase: Li7Si3_and_interstitials
known-failures:
_sum_.+_Xk: "LatticePhase implementation is wrong. See GitHub Issue #1309"
h_eq_u_plus_Pv: "Implementation is inconsistent. See GitHub Issue #1310"
gk_eq_hk_minus_T_sk: "Implementation is inconsistent. See GitHub Issue #1310"
chem_potentials_to_activities:
"LatticePhase implementation is wrong. See GitHub Issue #1309"
activity_coeffs: "See GitHub Issue #1309"
states:
- {T: 725.0 K, P: 1.0 atm}
- {T: 825.0 K, P: 50.0 bar}
- {T: 825.0 K, P: 50.0 bar, X: {Li7Si3(s): 0.3, Li(i): 0.5, V(i): 0.2}}
fixed-stoichiometry:
setup:
file: thermo-models.yaml
phase: KCl(s)
states:
- {T: 300, P: 1 atm}
- {T: 300, P: 10 atm}
- {T: 500, P: 10 atm}
ideal-surface:
setup:
file: surface-phases.yaml
phase: Pt-surf
atol_v: 1e-7
states:
- {T: 800, P: 1 atm, coverages: {Pt(s): 0.5, H(s): 0.4, O(s): 0.1}}
- {T: 800, P: 5 atm, coverages: {H(s): 1.0}}
- {T: 300, P: 20 atm, coverages: {Pt(s): 1.0}}
- {T: 600, P: 5 atm, coverages: {Pt(s): 0.1, O(s): 0.9}}
ideal-edge:
setup:
file: surface-phases.yaml
phase: TPB
atol_v: 1e3 # site density of 5e-18 kmol/m = linear molar volume of 2e17 m/kmol
states:
- {T: 300, P: 1 atm}
- {T: 900, P: 20 atm}
coverage-dependent-surface:
setup:
file: copt_covdepsurf_example.yaml
phase: covdep
atol_v: 1e-7
states:
- {T: 700, P: 1 atm,
coverages: {Pt: 0.0, OC_Pt: 0.1, CO2_Pt: 0.5, C_Pt: 0.1, O_Pt: 0.3}}
- {T: 800, P: 5 atm,
coverages: {Pt: 0.12, OC_Pt: 0.07, CO2_Pt: 0.21, C_Pt: 0.17, O_Pt: 0.43}}
- {T: 300, P: 3 atm,
coverages: {Pt: 0.0, OC_Pt: 0.71, CO2_Pt: 0.08, C_Pt: 0.07, O_Pt: 0.14}}
- {T: 500, P: 10 atm,
coverages: {Pt: 0.0, OC_Pt: 0.0, CO2_Pt: 0.09, C_Pt: 0.81, O_Pt: 0.1}}
liquid-water-IAPWS95:
setup:
file: liquidvapor.yaml
phase: liquid-water-IAPWS95
rtol_fd: 5e-3 # Limited agreement for Maxwell relations
known-failures:
log_standard_concentrations: Not implemented
states:
- {T: 300, P: 1 atm}
- {T: 360, P: 1 atm}
- {T: 450, P: 100 atm}
ideal-solution-VPSS-simple:
setup:
file: IdealSolidSolnPhaseExample.yaml
phase: VpssSolidSolutionExample
known-failures:
cv_eq_dudT: "Implementation of cv is incorrect. See GitHub Issue #1317"
cv_eq_dsdT_const_v_times_T:
"Implementation of cv is incorrect. See GitHub Issue #1317"
states:
- {T: 300, P: 1 atm, X: {C2H2-graph: 0.2, C-graph: 0.5, H2-solute: 0.3}}
- {T: 400, P: 1 atm, X: {C2H2-graph: 1.0}}
- {T: 500, P: 10 atm, X: {C-graph: 0.6, H2-solute: 0.4}}
ideal-solution-VPSS-HKFT:
setup:
file: pdss_hkft.yaml
known-failures:
cv_eq_dudT: "Implementation of cv is incorrect. See GitHub Issue #1317"
cv_eq_dsdT_const_v_times_T:
"Implementation of cv is incorrect. See GitHub Issue #1317"
dsdP_const_T_eq_minus_dV_dT_const_P:
"Implementation of cv is incorrect. See GitHub Issue #1318"
states:
- {T: 300, P: 1 atm, X: {H2O(L): 0.9, Na+: 0.05, Cl-: 0.05, H+: 1e-7, OH-: 1e-7}}
- {T: 360, P: 5 atm, X: {H2O(L): 0.6, Na+: 0.2, Cl-: 0.2}}
- {T: 330, P: 10 atm, X: {H2O(L): 0.9, Na+: 0.05, Cl-: 0.05, H+: 1e-7, OH-: 1e-7}}
- {T: 320, P: 1 atm, X: {H2O(L): 1.0, Na+: 0.01, Cl-: 0.05, H+: 0.04}}
Redlich-Kister-LiC6:
setup:
file: thermo-models.yaml
phase: Redlich-Kister-LiC6
states:
- {T: 300, P: 1 atm, X: {Li(C6): 0.85, V(C6): 0.15}}
- {T: 440, P: 1 atm, X: {Li(C6): 0.75, V(C6): 0.25}}
- {T: 350, P: 10 atm, X: {Li(C6): 1.0, V(C6): 0.0}}
- {T: 350, P: 10 atm, X: {Li(C6): 0.0, V(C6): 1.0}}
Redlich-Kister-complex:
setup:
file: thermo-models.yaml
phase: Redlich-Kister-complex
states:
- {T: 900, P: 1 atm, X: {KCl(l): 0.85, LiCl(l): 0.15}}
- {T: 950, P: 10 atm, X: {KCl(l): 0.3, LiCl(l): 0.2, NaCl(s): 0.5}}
- {T: 950, P: 0.1 atm, X: {KCl(l): 0.05, LiCl(l): 0.0, NaCl(s): 0.95}}
HMW-electrolyte:
setup:
file: HMW_NaCl.yaml
known-failures:
cp_eq_dhdT: "Moderate discrepancies. See GitHub Issue #1324"
cp_eq_dsdT_const_p_times_T: "Moderate discrepancies. See GitHub Issue #1324"
dsdP_const_T_eq_minus_dV_dT_const_P: "Moderate discrepancies. See GitHub Issue #1324"
activity_coeffs: "Major discrepancies for all solute species. See GitHub Issue #1324"
states:
- {T: 300, P: 1 atm, molalities: {Na+: 9.4, Cl-: 9.4, H+: 1.05e-05, OH-: 1.0e-05}}
- {T: 330, P: 1 atm, molalities: {Na+: 9.4, Cl-: 9.4, H+: 1.05e-04, OH-: 1.0e-04}}
- {T: 330, P: 10 atm, molalities: {Na+: 5.0, Cl-: 4.8, H+: 1.0e-07, OH-: 0.2}}