37 #ifndef _CVODEADAPTOR_HPP_
38 #define _CVODEADAPTOR_HPP_
43 #include <boost/serialization/base_object.hpp>
45 #include "AbstractIvpOdeSolver.hpp"
46 #include "OdeSolution.hpp"
49 #include <cvode/cvode.h>
50 #include <nvector/nvector_serial.h>
59 void CvodeErrorHandler(
int errorCode,
const char *module,
const char *
function,
60 char *message,
void* pData);
70 std::vector<realtype>*
pY;
103 template<
class Archive>
104 void serialize(Archive & archive,
const unsigned int version)
106 archive & boost::serialization::base_object<AbstractIvpOdeSolver>(*this);
169 std::vector<double>& rInitialY,
170 double startTime,
double maxStep);
272 std::vector<double>& rYValues,
276 double timeSampling);
289 std::vector<double>& rYValues,
320 #endif // _CVODEADAPTOR_HPP_
321 #endif // CHASTE_CVODE
AbstractOdeSystem * pSystem
void SetupCvode(AbstractOdeSystem *pOdeSystem, std::vector< double > &rInitialY, double startTime, double maxStep)
CvodeAdaptor(double relTol=1e-4, double absTol=1e-6)
void CheckForStoppingEvents()
N_Vector mLastSolutionState
double mLastInternalStepSize
double GetAbsoluteTolerance()
void CvodeError(int flag, const char *msg)
void SetMinimalReset(bool minimalReset)
std::vector< realtype > * pY
void SetTolerances(double relTol=1e-4, double absTol=1e-6)
friend class boost::serialization::access
#define CHASTE_CLASS_EXPORT(T)
void RecordStoppingPoint(double stopTime, N_Vector yEnd)
void SetForceReset(bool autoReset)
void serialize(Archive &archive, const unsigned int version)
void SetMaxSteps(long int numSteps)
double GetRelativeTolerance()
OdeSolution Solve(AbstractOdeSystem *pOdeSystem, std::vector< double > &rYValues, double startTime, double endTime, double maxStep, double timeSampling)