cantera/src/numerics/ODE_integrators.cpp

33 lines
563 B
C++

#include "cantera/base/ct_defs.h"
#include "cantera/numerics/Integrator.h"
#ifdef HAS_SUNDIALS
#include "CVodesIntegrator.h"
#else
#include "CVodeInt.h"
#endif
namespace Cantera
{
Integrator* newIntegrator(std::string itype)
{
if (itype == "CVODE") {
#ifdef HAS_SUNDIALS
return new CVodesIntegrator();
#else
return new CVodeInt();
#endif
} else {
throw CanteraError("newIntegrator",
"unknown ODE integrator: "+itype);
}
return 0;
}
void deleteIntegrator(Integrator* cv)
{
delete cv;
}
}