Flow123d
jenkins-Flow123d-linux-release-multijob-282
|
Base class for linear ODE solver. More...
#include <linear_ode_solver.hh>
Public Member Functions | |
LinearODESolverBase () | |
virtual | ~LinearODESolverBase () |
void | set_system_matrix (const arma::mat &matrix) |
Sets the matrix of ODE system. More... | |
void | set_step (double step) |
Sets the step of the numerical method. More... | |
virtual void | update_solution (arma::vec &init_vec, arma::vec &output_vec)=0 |
Updates solution of the ODEs system. More... | |
virtual void | update_solution (arma::mat &init_vecs, arma::mat &output_vecs, const std::vector< unsigned int > &mask=std::vector< unsigned int >(0))=0 |
Updates solution of the system with different initial vectors. More... | |
Static Public Attributes | |
static Input::Type::AbstractRecord | input_type = AbstractRecord("LinearODESolver", "Solver of a linear system of ODEs.") |
Protected Attributes | |
arma::mat | system_matrix_ |
the square matrix of ODE system More... | |
arma::vec | rhs_ |
the column vector of RHS values (not used currently) More... | |
double | step_ |
the step of the numerical method More... | |
bool | step_changed_ |
flag is true if the step has been changed More... | |
Base class for linear ODE solver.
This class represents an interface to a solver of a system of linear ordinary differential equations with constant coefficients.
Definition at line 12 of file linear_ode_solver.hh.
LinearODESolverBase::LinearODESolverBase | ( | ) |
Definition at line 12 of file linear_ode_solver.cc.
|
virtual |
Definition at line 17 of file linear_ode_solver.cc.
void LinearODESolverBase::set_step | ( | double | step | ) |
Sets the step of the numerical method.
Definition at line 27 of file linear_ode_solver.cc.
void LinearODESolverBase::set_system_matrix | ( | const arma::mat & | matrix | ) |
Sets the matrix of ODE system.
Definition at line 21 of file linear_ode_solver.cc.
|
pure virtual |
Updates solution of the ODEs system.
init_vec | is the column initial vector |
output_vec | is the column output vector containing the result |
Implemented in LinearODEAnalytic, and PadeApproximant.
|
pure virtual |
Updates solution of the system with different initial vectors.
Column initial init_vecs
and output output_vecs
vectors are grouped in the matrices. Parameter mask
can be used to skip some of the vectors.
Implemented in LinearODESolver< Method >, LinearODESolver< PadeApproximant >, and LinearODESolver< LinearODEAnalytic >.
|
static |
Abstract record for the linear ODE solver.
Definition at line 18 of file linear_ode_solver.hh.
|
protected |
the column vector of RHS values (not used currently)
Definition at line 43 of file linear_ode_solver.hh.
|
protected |
the step of the numerical method
Definition at line 44 of file linear_ode_solver.hh.
|
protected |
flag is true if the step has been changed
Definition at line 45 of file linear_ode_solver.hh.
|
protected |
the square matrix of ODE system
Definition at line 42 of file linear_ode_solver.hh.