1 #ifndef __RK_TABLEAU_BUTCHER_BASE__ 2 #define __RK_TABLEAU_BUTCHER_BASE__ 4 #include <deal.II/base/conditional_ostream.h> 6 #include <deal.II/grid/tria.h> 7 #include <deal.II/distributed/shared_tria.h> 8 #include <deal.II/distributed/tria.h> 10 #include "rk_tableau_base.h" 17 template <
int dim,
typename real,
typename MeshType = dealii::Triangulation<dim>>
19 template <
int dim,
typename real,
typename MeshType = dealii::parallel::distributed::Triangulation<dim>>
28 double get_a(
const int i,
const int j)
const;
31 double get_b(
const int i)
const;
34 double get_c(
const int i)
const;
51 virtual void set_a() = 0;
54 virtual void set_b() = 0;
57 virtual void set_c() = 0;
void set_tableau() override
Calls setters for butcher tableau.
const int n_rk_stages
Store number of stages.
Files for the baseline physics.
virtual void set_a()=0
Setter for butcher_tableau_a.
double get_b(const int i) const
Returns Butcher tableau "b" coefficient at position [i].
double get_c(const int i) const
Returns Butcher tableau "c" coefficient at position [i].
dealii::Table< 2, double > butcher_tableau_a
Butcher tableau "a".
double get_a(const int i, const int j) const
Returns Butcher tableau "a" coefficient at position [i][j].
RKTableauButcherBase(const int n_rk_stages, const std::string rk_method_string_input)
Default constructor that will set the constants.
virtual void set_b()=0
Setter for butcher_tableau_b.
Base class for storing the RK method.
Base class for storing the RK method.
virtual void set_c()=0
Setter for butcher_tableau_c.
dealii::Table< 1, double > butcher_tableau_c
Butcher tableau "c".
dealii::Table< 1, double > butcher_tableau_b
Butcher tableau "c".