36 #ifndef BACKWARDEULERIVPODESOLVER_HPP_
37 #define BACKWARDEULERIVPODESOLVER_HPP_
39 #include "AbstractOneStepIvpOdeSolver.hpp"
40 #include "AbstractOdeSystemWithAnalyticJacobian.hpp"
43 #include <boost/serialization/base_object.hpp>
45 #include "AbstractOneStepIvpOdeSolver.hpp"
62 template<
class Archive>
63 void serialize(Archive & archive,
const unsigned int version)
66 archive & boost::serialization::base_object<AbstractOneStepIvpOdeSolver>(*this);
111 std::vector<double>& rCurrentYValues,
112 std::vector<double>& rCurrentGuess);
126 std::vector<double>& rCurrentYValues,
127 std::vector<double>& rCurrentGuess);
158 std::vector<double>& rCurrentYValues,
159 std::vector<double>& rCurrentGuess);
179 std::vector<double>& rCurrentYValues,
180 std::vector<double>& rNextYValues);
223 namespace serialization
229 template<
class Archive>
230 inline void save_construct_data(
243 template<
class Archive>
244 inline void load_construct_data(
247 unsigned ode_system_size;
248 ar >> ode_system_size;
void SetEpsilonForNumericalJacobian(double epsilon)
unsigned mSizeOfOdeSystem
BackwardEulerIvpOdeSolver(unsigned sizeOfOdeSystem)
~BackwardEulerIvpOdeSolver()
void ForceUseOfNumericalJacobian()
double mNumericalJacobianEpsilon
void serialize(Archive &archive, const unsigned int version)
void ComputeJacobian(AbstractOdeSystem *pAbstractOdeSystem, double timeStep, double time, std::vector< double > &rCurrentYValues, std::vector< double > &rCurrentGuess)
void ComputeNumericalJacobian(AbstractOdeSystem *pAbstractOdeSystem, double timeStep, double time, std::vector< double > &rCurrentYValues, std::vector< double > &rCurrentGuess)
bool mForceUseOfNumericalJacobian
#define CHASTE_CLASS_EXPORT(T)
void ComputeResidual(AbstractOdeSystem *pAbstractOdeSystem, double timeStep, double time, std::vector< double > &rCurrentYValues, std::vector< double > &rCurrentGuess)
unsigned GetSystemSize() const
double ComputeNorm(double *pVector)
void CalculateNextYValue(AbstractOdeSystem *pAbstractOdeSystem, double timeStep, double time, std::vector< double > &rCurrentYValues, std::vector< double > &rNextYValues)
friend class boost::serialization::access