#include <ivp.h>
Public Member Functions | |
virtual | ~AbstractIVP ()=0 |
virtual void | evaluate_f (const double t, const VECTOR &v, const double tolerance, VECTOR &result) const =0 |
virtual void | evaluate_ft (const double t, const VECTOR &v, const double tolerance, VECTOR &result) const =0 |
virtual void | solve_ROW_stage_equation (const double t, const VECTOR &v, const double alpha, const VECTOR &y, const double tolerancs, VECTOR &result) const =0 |
Public Attributes | |
VECTOR | u0 |
Abstract base class for general initial value problems
u'(t) = f(t, u(t)), 0 < t <= T u(0) = u_0
where u:[0,T]->V.
The signature of AbstractIVP is designed to be used in (derivations of) the class OneStepScheme, especially for Runge-Kutta and linearly implicit methods.
MathTL::AbstractIVP< VECTOR >::~AbstractIVP | ( | ) | [pure virtual] |
virtual destructor
virtual void MathTL::AbstractIVP< VECTOR >::evaluate_f | ( | const double | t, |
const VECTOR & | v, | ||
const double | tolerance, | ||
VECTOR & | result | ||
) | const [pure virtual] |
evaluate the right--hand side f at (t,v), up to some tolerance (w.r.t. the ||.||_2 norm)
Implemented in Arenstorf, Circle, Expo, SquareRoot2, SquareRoot, and Dahlquist.
virtual void MathTL::AbstractIVP< VECTOR >::evaluate_ft | ( | const double | t, |
const VECTOR & | v, | ||
const double | tolerance, | ||
VECTOR & | result | ||
) | const [pure virtual] |
evaluate the derivative f_t at (t,v), up to some tolerance (w.r.t. the ||.||_2 norm)
Implemented in Arenstorf, Circle, Expo, SquareRoot2, SquareRoot, and Dahlquist.
virtual void MathTL::AbstractIVP< VECTOR >::solve_ROW_stage_equation | ( | const double | t, |
const VECTOR & | v, | ||
const double | alpha, | ||
const VECTOR & | y, | ||
const double | tolerancs, | ||
VECTOR & | result | ||
) | const [pure virtual] |
Up to a given tolerance (w.r.t. the ||.||_2 norm), solve the special linear system
(alpha*I-J)x = y,
where J = f(t,v) is the (exact) Jacobian of f. This routine will primarily be used to solve the stage equations of an ROW-method.
Implemented in Arenstorf, Circle, Expo, SquareRoot2, SquareRoot, and Dahlquist.
VECTOR MathTL::AbstractIVP< VECTOR >::u0 |
initial value