DiFfRG
Loading...
Searching...
No Matches
implicit_euler.hh
Go to the documentation of this file.
1#pragma once
2
3// DiFfRG
11
12namespace DiFfRG
13{
14 template <typename VectorType, typename SparseMatrixType, uint dim,
15 template <typename, typename> typename LinearSolver>
16 class TimeStepperImplicitEuler : public AbstractTimestepper<VectorType, SparseMatrixType, dim>
17 {
19
20 public:
21 using NumberType = typename Base::NumberType;
24
26 using Base::Base;
29
30 virtual void run(AbstractFlowingVariables<NumberType> *initial_condition, const double t_start,
31 const double t_stop) override;
32 };
33} // 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 implicit_euler.hh:17
typename Base::InverseSparseMatrixType InverseSparseMatrixType
Definition implicit_euler.hh:22
typename Base::BlockVectorType BlockVectorType
Definition implicit_euler.hh:23
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.
typename Base::NumberType NumberType
Definition implicit_euler.hh:21
Definition complex_math.hh:14
unsigned int uint
Definition utils.hh:22