From b7fad42cda274a4a5a377eb7866ccc6d029803af Mon Sep 17 00:00:00 2001 From: Ray Speth Date: Mon, 14 Nov 2016 19:46:23 -0500 Subject: [PATCH] [Thermo] Check for null species thermo when adding species --- src/thermo/ThermoPhase.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/thermo/ThermoPhase.cpp b/src/thermo/ThermoPhase.cpp index 848cd5e09..468b90e2d 100644 --- a/src/thermo/ThermoPhase.cpp +++ b/src/thermo/ThermoPhase.cpp @@ -714,6 +714,10 @@ void ThermoPhase::installSlavePhases(XML_Node* phaseNode) bool ThermoPhase::addSpecies(shared_ptr spec) { + if (!spec->thermo) { + throw CanteraError("ThermoPhase::addSpecies", + "Species {} has no thermo data", spec->name); + } bool added = Phase::addSpecies(spec); if (added) { spec->thermo->validate(spec->name); @@ -725,6 +729,10 @@ bool ThermoPhase::addSpecies(shared_ptr spec) void ThermoPhase::modifySpecies(size_t k, shared_ptr spec) { + if (!spec->thermo) { + throw CanteraError("ThermoPhase::modifySpecies", + "Species {} has no thermo data", spec->name); + } Phase::modifySpecies(k, spec); if (speciesName(k) != spec->name) { throw CanteraError("ThermoPhase::modifySpecies",