DiFfRG
Loading...
Searching...
No Matches
trbdf2.hh
Go to the documentation of this file.
1#pragma once
2
3// DiFfRG
14
15namespace DiFfRG
16{
17 template <typename VectorType, typename SparseMatrixType, uint dim,
18 template <typename, typename> typename LinearSolver>
19 class TimeStepperTRBDF2 : public AbstractTimestepper<VectorType, SparseMatrixType, dim>
20 {
22
23 public:
24 using NumberType = typename Base::NumberType;
27
29 using Base::Base;
32
33 virtual void run(AbstractFlowingVariables<NumberType> *initial_condition, const double t_start,
34 const double t_stop) override;
35
37 double get_error();
38 void set_ignore_nonconv(bool x);
39
40 private:
41 std::shared_ptr<Newton<VectorType>> ptr_newton_TR;
42 std::shared_ptr<Newton<VectorType>> ptr_newton_BDF2;
43 };
44} // 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
Definition trbdf2.hh:20
virtual void run(AbstractFlowingVariables< NumberType > *initial_condition, const double t_start, const double t_stop) override
Any derived class must implement this method to run the timestepping algorithm.
std::shared_ptr< Newton< VectorType > > ptr_newton_BDF2
Definition trbdf2.hh:42
typename Base::NumberType NumberType
Definition trbdf2.hh:24
typename Base::InverseSparseMatrixType InverseSparseMatrixType
Definition trbdf2.hh:25
void set_ignore_nonconv(bool x)
std::shared_ptr< Newton< VectorType > > ptr_newton_TR
Definition trbdf2.hh:41
typename Base::BlockVectorType BlockVectorType
Definition trbdf2.hh:26
Definition complex_math.hh:14
unsigned int uint
Definition utils.hh:22