From cf730962a668c2ed047d1e77f25fb60f94dba23b Mon Sep 17 00:00:00 2001 From: Harry Moffat Date: Tue, 13 Sep 2011 23:32:29 +0000 Subject: [PATCH] Protected against sundials not being compiled in --- Cantera/src/numerics/DAE_solvers.cpp | 4 ++-- Cantera/src/numerics/IDA_Solver.cpp | 5 +++++ Cantera/src/numerics/IDA_Solver.h | 2 ++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Cantera/src/numerics/DAE_solvers.cpp b/Cantera/src/numerics/DAE_solvers.cpp index db3b8b339..02b58c5fe 100644 --- a/Cantera/src/numerics/DAE_solvers.cpp +++ b/Cantera/src/numerics/DAE_solvers.cpp @@ -12,12 +12,12 @@ namespace Cantera { - DAE_Solver* newDAE_Solver(string itype, ResidJacEval& f) { + DAE_Solver* newDAE_Solver(std::string itype, ResidJacEval& f) { if (itype == "IDA") { #ifdef HAS_SUNDIALS return new IDA_Solver(f); #else - raise CanteraError("newDAE_Solver","IDA solver requires sundials" + throw CanteraError("newDAE_Solver","IDA solver requires sundials" " package, but Cantera was not built with sundials."); #endif } diff --git a/Cantera/src/numerics/IDA_Solver.cpp b/Cantera/src/numerics/IDA_Solver.cpp index 7c269b040..0ff4eadce 100644 --- a/Cantera/src/numerics/IDA_Solver.cpp +++ b/Cantera/src/numerics/IDA_Solver.cpp @@ -10,6 +10,8 @@ #include +#ifdef HAS_SUNDIALS + #ifdef SUNDIALS_VERSION_22 #include #include @@ -30,6 +32,8 @@ using namespace std; + + inline static N_Vector nv(void* x) { return reinterpret_cast(x); } @@ -645,3 +649,4 @@ namespace Cantera { //==================================================================================================================== } +#endif diff --git a/Cantera/src/numerics/IDA_Solver.h b/Cantera/src/numerics/IDA_Solver.h index 928728969..7102c58ad 100644 --- a/Cantera/src/numerics/IDA_Solver.h +++ b/Cantera/src/numerics/IDA_Solver.h @@ -21,6 +21,7 @@ #include "DAE_Solver.h" #include "ctexceptions.h" +#ifdef HAS_SUNDIALS #ifdef SUNDIALS_VERSION_22 #include @@ -353,4 +354,5 @@ namespace Cantera { } #endif +#endif