[Input] Improve error message for missing 'equation-of-state' field

Without this, the error message confusingly mentions being unable to find
the now-removed 'ideal-gas' PDSS model.
This commit is contained in:
Ray Speth 2023-08-26 15:11:12 -04:00 committed by Ingmar Schoegl
parent 55253a6726
commit 23f183a8e8

View File

@ -313,7 +313,12 @@ void setupPhase(ThermoPhase& thermo, const AnyMap& phaseNode, const AnyMap& root
if (vpssThermo) {
for (size_t k = 0; k < thermo.nSpecies(); k++) {
unique_ptr<PDSS> pdss;
if (thermo.species(k)->input.hasKey("equation-of-state")) {
if (!thermo.species(k)->input.hasKey("equation-of-state")) {
throw InputFileError("setupPhase", thermo.species(k)->input,
"Species '{}' in use by a ThermoPhase model of type '{}'\n"
"must define an 'equation-of-state' field.",
thermo.speciesName(k), thermo.type());
}
// Use the first node which specifies a valid PDSS model
auto& eos = thermo.species(k)->input["equation-of-state"];
bool found = false;
@ -331,9 +336,6 @@ void setupPhase(ThermoPhase& thermo, const AnyMap& phaseNode, const AnyMap& root
"Could not find an equation-of-state specification "
"which defines a known PDSS model.");
}
} else {
pdss.reset(newPDSS("ideal-gas"));
}
vpssThermo->installPDSS(k, std::move(pdss));
}
}