DiFfRG
Loading...
Searching...
No Matches
boost_abm.hh
Go to the documentation of this file.
1#pragma once
2
3// DiFfRG
11
12namespace DiFfRG
13{
18 template <typename VectorType, typename SparseMatrixType = dealii::SparseMatrix<get_type::NumberType<VectorType>>,
19 uint dim = 0>
20 class TimeStepperBoostABM : public AbstractTimestepper<VectorType, SparseMatrixType, dim>
21 {
23
24 public:
25 using NumberType = typename Base::NumberType;
28
30 using Base::Base;
33
37 virtual void run(AbstractFlowingVariables<NumberType> *initial_condition, const double t_start,
38 const double t_stop) override;
39
40 private:
41 void run(VectorType &initial_data, const double t_start, const double t_stop);
42 void run(BlockVectorType &initial_data, const double t_start, const double t_stop);
43 void run_vars(VectorType &initial_data, const double t_start, const double t_stop);
44 };
45} // namespace DiFfRG
A class to set up initial data for whatever discretization we have chosen. Also used to switch/manage...
Definition abstract_data.hh:18
The abstract base class for all timestepping algorithms. It provides a standard constructor which pop...
Definition abstract_timestepper.hh:46
dealii::BlockVector< NumberType > BlockVectorType
Definition abstract_timestepper.hh:54
int verbosity
Definition abstract_timestepper.hh:144
AbstractAssembler< VectorType, SparseMatrixType, dim > * assembler
Definition abstract_timestepper.hh:134
void console_out(const double t, const std::string name, const int verbosity_level, const double calc_dt_ms=-1.0) const
Definition abstract_timestepper.hh:170
DataOutput< dim, VectorType > * data_out
Definition abstract_timestepper.hh:135
AbstractAdaptor< VectorType > * adaptor
Definition abstract_timestepper.hh:136
typename get_type::NumberType< VectorType > NumberType
Definition abstract_timestepper.hh:50
typename get_type::InverseSparseMatrixType< SparseMatrixType > InverseSparseMatrixType
Definition abstract_timestepper.hh:52
struct DiFfRG::AbstractTimestepper::implicitParameters impl
const JSONValue json
Definition abstract_timestepper.hh:133
struct DiFfRG::AbstractTimestepper::explicitParameters expl
double output_dt
Definition abstract_timestepper.hh:145
A class to perform time stepping using the Boost Adams-Bashforth-Moulton method. This stepper uses fi...
Definition boost_abm.hh:21
void run_vars(VectorType &initial_data, const double t_start, const double t_stop)
typename Base::InverseSparseMatrixType InverseSparseMatrixType
Definition boost_abm.hh:26
typename Base::NumberType NumberType
Definition boost_abm.hh:25
void run(VectorType &initial_data, const double t_start, const double t_stop)
void run(BlockVectorType &initial_data, const double t_start, const double t_stop)
virtual void run(AbstractFlowingVariables< NumberType > *initial_condition, const double t_start, const double t_stop) override
Run the time stepping algorithm.
typename Base::BlockVectorType BlockVectorType
Definition boost_abm.hh:27
Definition complex_math.hh:14