|
Flow123d
release_2.2.0-26-ge868538
|
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... | |
| virtual bool | evaluate_time_constraint (double &time_constraint)=0 |
| Estimate upper bound for time step. Return true if constraint was set. More... | |
Static Public Member Functions | |
| static Input::Type::Abstract & | get_input_type () |
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... | |
| bool | system_matrix_changed_ |
| Indicates that the system_matrix_ was recently updated. 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 31 of file linear_ode_solver.hh.
| LinearODESolverBase::LinearODESolverBase | ( | ) |
Definition at line 31 of file linear_ode_solver.cc.
|
virtual |
Definition at line 37 of file linear_ode_solver.cc.
|
pure virtual |
Estimate upper bound for time step. Return true if constraint was set.
Implemented in LinearODEAnalytic, and PadeApproximant.
|
static |
Abstract record for the linear ODE solver.
Definition at line 25 of file linear_ode_solver.cc.

| void LinearODESolverBase::set_step | ( | double | step | ) |
Sets the step of the numerical method.
Definition at line 48 of file linear_ode_solver.cc.
| void LinearODESolverBase::set_system_matrix | ( | const arma::mat & | matrix | ) |
Sets the matrix of ODE system.
Definition at line 41 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 >.
|
protected |
the column vector of RHS values (not used currently)
Definition at line 65 of file linear_ode_solver.hh.
|
protected |
the step of the numerical method
Definition at line 66 of file linear_ode_solver.hh.
|
protected |
flag is true if the step has been changed
Definition at line 67 of file linear_ode_solver.hh.
|
protected |
the square matrix of ODE system
Definition at line 64 of file linear_ode_solver.hh.
|
protected |
Indicates that the system_matrix_ was recently updated.
Definition at line 68 of file linear_ode_solver.hh.
1.8.11