From 205706f5dd701164b3c365174ce49a69c5ec9403 Mon Sep 17 00:00:00 2001 From: Ray Speth Date: Mon, 7 Jan 2013 18:08:23 +0000 Subject: [PATCH] [Reactor] Avoid a segfault when using phases with no Kinetics --- include/cantera/zeroD/Reactor.h | 2 ++ interfaces/cython/cantera/reactor.pyx | 3 ++- src/zeroD/Reactor.cpp | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/include/cantera/zeroD/Reactor.h b/include/cantera/zeroD/Reactor.h index 5cd39b68c..db2d51756 100644 --- a/include/cantera/zeroD/Reactor.h +++ b/include/cantera/zeroD/Reactor.h @@ -78,6 +78,8 @@ public: m_kin = &kin; if (m_kin->nReactions() == 0) { disableChemistry(); + } else { + enableChemistry(); } } diff --git a/interfaces/cython/cantera/reactor.pyx b/interfaces/cython/cantera/reactor.pyx index febc42a9b..24c5f2497 100644 --- a/interfaces/cython/cantera/reactor.pyx +++ b/interfaces/cython/cantera/reactor.pyx @@ -165,7 +165,8 @@ cdef class Reactor(ReactorBase): def insert(self, _SolutionBase solution): ReactorBase.insert(self, solution) self._kinetics = solution - self.reactor.setKineticsMgr(deref(solution.kinetics)) + if solution.kinetics != NULL: + self.reactor.setKineticsMgr(deref(solution.kinetics)) property kinetics: """ diff --git a/src/zeroD/Reactor.cpp b/src/zeroD/Reactor.cpp index 54e6973ce..34623a046 100644 --- a/src/zeroD/Reactor.cpp +++ b/src/zeroD/Reactor.cpp @@ -23,7 +23,7 @@ Reactor::Reactor() : ReactorBase(), m_kin(0), m_vdot(0.0), m_Q(0.0), - m_chem(true), + m_chem(false), m_energy(true), m_nsens(npos) {}