Fix compareThermo test for PlasmaPhase

This commit is contained in:
Ray Speth 2023-01-10 17:46:04 -05:00 committed by Ingmar Schoegl
parent 2f9abcfa73
commit cb514cdcd5

View File

@ -342,6 +342,7 @@ public:
input1); input1);
skip_cp = false; skip_cp = false;
skip_activities = false; skip_activities = false;
skip_entropy = false;
rtol = 1e-14; rtol = 1e-14;
} }
@ -367,8 +368,10 @@ public:
EXPECT_NEAR(original->cp_mass(), duplicate->cp_mass(), EXPECT_NEAR(original->cp_mass(), duplicate->cp_mass(),
rtol * original->cp_mass()); rtol * original->cp_mass());
} }
EXPECT_NEAR(original->entropy_mass(), duplicate->entropy_mass(), if (!skip_entropy) {
rtol * fabs(original->entropy_mass())); EXPECT_NEAR(original->entropy_mass(), duplicate->entropy_mass(),
rtol * fabs(original->entropy_mass()));
}
EXPECT_NEAR(original->enthalpy_mole(), duplicate->enthalpy_mole(), EXPECT_NEAR(original->enthalpy_mole(), duplicate->enthalpy_mole(),
rtol * fabs(original->enthalpy_mole())); rtol * fabs(original->enthalpy_mole()));
@ -403,6 +406,7 @@ public:
shared_ptr<ThermoPhase> duplicate; shared_ptr<ThermoPhase> duplicate;
bool skip_cp; bool skip_cp;
bool skip_activities; bool skip_activities;
bool skip_entropy;
double rtol; double rtol;
}; };
@ -517,6 +521,8 @@ TEST_F(ThermoYamlRoundTrip, Surface)
TEST_F(ThermoYamlRoundTrip, IsotropicElectronEnergyPlasma) TEST_F(ThermoYamlRoundTrip, IsotropicElectronEnergyPlasma)
{ {
roundtrip("oxygen-plasma.yaml", "isotropic-electron-energy-plasma"); roundtrip("oxygen-plasma.yaml", "isotropic-electron-energy-plasma");
skip_cp = true; // Not implemented for PlasmaPhase
skip_entropy = true; // Not implemented for PlasmaPhase
compareThermo(800, 2*OneAtm); compareThermo(800, 2*OneAtm);
auto origPlasma = std::dynamic_pointer_cast<PlasmaPhase>(original); auto origPlasma = std::dynamic_pointer_cast<PlasmaPhase>(original);
auto duplPlasma = std::dynamic_pointer_cast<PlasmaPhase>(duplicate); auto duplPlasma = std::dynamic_pointer_cast<PlasmaPhase>(duplicate);
@ -530,6 +536,8 @@ TEST_F(ThermoYamlRoundTrip, IsotropicElectronEnergyPlasma)
TEST_F(ThermoYamlRoundTrip, DiscretizedElectronEnergyPlasma) TEST_F(ThermoYamlRoundTrip, DiscretizedElectronEnergyPlasma)
{ {
roundtrip("oxygen-plasma.yaml", "discretized-electron-energy-plasma"); roundtrip("oxygen-plasma.yaml", "discretized-electron-energy-plasma");
skip_cp = true; // Not implemented for PlasmaPhase
skip_entropy = true; // Not implemented for PlasmaPhase
compareThermo(800, 2*OneAtm); compareThermo(800, 2*OneAtm);
EXPECT_DOUBLE_EQ(original->electronTemperature(), duplicate->electronTemperature()); EXPECT_DOUBLE_EQ(original->electronTemperature(), duplicate->electronTemperature());
} }