26 template <
typename VectorType,
typename SparseMatrixType,
uint dim,
27 template <
typename,
typename>
typename LinearSolver>
43 const double t_stop)
override;
53 void run(
VectorType &initial_data,
const double t_start,
const double t_stop);
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
VectorType VectorType
Definition abstract_timestepper.hh:49
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
This timestepping class utilizes the ARKode solver from SUNDIALS. It is specifically meant to be used...
Definition sundials_arkode.hh:29
void run(BlockVectorType &initial_data, const double t_start, const double t_stop)
void run_explicit(VectorType &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
Any derived class must implement this method to run the timestepping algorithm.
typename Base::NumberType NumberType
Definition sundials_arkode.hh:33
void run_explicit_vars(VectorType &initial_data, const double t_start, const double t_stop)
typename Base::InverseSparseMatrixType InverseSparseMatrixType
Definition sundials_arkode.hh:34
typename Base::BlockVectorType BlockVectorType
Definition sundials_arkode.hh:35
void run(VectorType &initial_data, const double t_start, const double t_stop)
void run_explicit(AbstractFlowingVariables< NumberType > *initial_condition, const double t_start, const double t_stop)
Run the timestepping algorithm with the given initial condition. This method treats the entire system...
void run_explicit(BlockVectorType &initial_data, const double t_start, const double t_stop)
Definition complex_math.hh:14
unsigned int uint
Definition utils.hh:22