From 771192fa9ae75a215e519513a6ee769e0870d87a Mon Sep 17 00:00:00 2001 From: Ray Speth Date: Wed, 24 Oct 2012 15:42:13 +0000 Subject: [PATCH] [Cython] Fixed choosing equilibrium solver by name --- interfaces/cython/cantera/_cantera.pxd | 2 +- interfaces/cython/cantera/thermo.pyx | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/interfaces/cython/cantera/_cantera.pxd b/interfaces/cython/cantera/_cantera.pxd index bb8ddafa7..38d93e401 100644 --- a/interfaces/cython/cantera/_cantera.pxd +++ b/interfaces/cython/cantera/_cantera.pxd @@ -201,7 +201,7 @@ cdef extern from "cantera/equil/equil.h" namespace "Cantera": int equilibrate(CxxThermoPhase&, char*, int, double, int, int, int) except + cdef extern from "cantera/equil/vcs_MultiPhaseEquil.h" namespace "Cantera": - int vcs_equilibrate(CxxMultiPhase&, char*, int, int, int, double, int, int, int) + int vcs_equilibrate(CxxMultiPhase&, char*, int, int, int, double, int, int, int) except + cdef extern from "cantera/zeroD/ReactorBase.h" namespace "Cantera": diff --git a/interfaces/cython/cantera/thermo.pyx b/interfaces/cython/cantera/thermo.pyx index af1fea218..c863ab8e3 100644 --- a/interfaces/cython/cantera/thermo.pyx +++ b/interfaces/cython/cantera/thermo.pyx @@ -94,9 +94,9 @@ cdef class ThermoPhase(_SolutionBase): Specifies the equilibrium solver to use. May be one of the following: * ''element_potential'' - a fast solver using the element potential - method will be used. - * 'gibbs' - a slower but more robust Gibbs minimization solver will - be used. + method + * 'gibbs' - a slower but more robust Gibbs minimization solver + * 'vcs' - the VCS non-ideal equilibrium solver * "auto" - The element potential solver will be tried first, then if it fails the gibbs solver will be tried. :param rtol: @@ -121,8 +121,10 @@ cdef class ThermoPhase(_SolutionBase): elif solver == 'auto': iSolver = -1 elif solver == 'element_potential': - iSolver = 1 + iSolver = 0 elif solver == 'gibbs': + iSolver = 1 + elif solver == 'vcs': iSolver = 2 else: raise ValueError('Invalid equilibrium solver specified')