Flow123d  release_1.8.2-1603-g0109a2b
linear_ode_solver.cc
Go to the documentation of this file.
1 /*!
2  *
3  * Copyright (C) 2015 Technical University of Liberec. All rights reserved.
4  *
5  * This program is free software; you can redistribute it and/or modify it under
6  * the terms of the GNU General Public License version 3 as published by the
7  * Free Software Foundation. (http://www.gnu.org/licenses/gpl-3.0.en.html)
8  *
9  * This program is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11  * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
12  *
13  *
14  * @file linear_ode_solver.cc
15  * @brief
16  */
17 
19 
20 #include "armadillo"
21 #include "input/accessors.hh"
22 
23 using namespace Input::Type;
24 
26  return Abstract("LinearODESolver",
27  "Solver of a linear system of ODEs.")
28  .close();
29 }
30 
32 :step_(0), step_changed_(true)
33 {
34 }
35 
37 {
38 }
39 
40 void LinearODESolverBase::set_system_matrix(const arma::mat& matrix)
41 {
42  system_matrix_ = matrix;
43  step_changed_ = true;
44 }
45 
47 {
48  step_ = step;
49  step_changed_ = true;
50 }
arma::mat system_matrix_
the square matrix of ODE system
void set_step(double step)
Sets the step of the numerical method.
Abstract & close()
Can be used to close the Abstract for further declarations of keys.
static Input::Type::Abstract & get_input_type()
bool step_changed_
flag is true if the step has been changed
Class for declaration of polymorphic Record.
void set_system_matrix(const arma::mat &matrix)
Sets the matrix of ODE system.
double step_
the step of the numerical method