22#ifndef INCLUDE_EXADG_CONVECTION_DIFFUSION_TIME_INTEGRATION_CREATE_TIME_INTEGRATOR_H_
23#define INCLUDE_EXADG_CONVECTION_DIFFUSION_TIME_INTEGRATION_CREATE_TIME_INTEGRATOR_H_
25#include <exadg/convection_diffusion/time_integration/time_int_bdf.h>
26#include <exadg/convection_diffusion/time_integration/time_int_explicit_runge_kutta.h>
27#include <exadg/convection_diffusion/user_interface/parameters.h>
36template<
int dim,
typename Number>
37std::shared_ptr<TimeIntBase>
39 std::shared_ptr<HelpersALE<dim, Number>
const> helpers_ale,
42 MPI_Comm
const & mpi_comm,
45 std::shared_ptr<TimeIntBase> time_integrator;
47 if(parameters.temporal_discretization == TemporalDiscretization::ExplRK)
49 time_integrator = std::make_shared<TimeIntExplRK<Number>>(
50 pde_operator, postprocessor, parameters, mpi_comm, is_test);
52 else if(parameters.temporal_discretization == TemporalDiscretization::BDF)
54 time_integrator = std::make_shared<TimeIntBDF<dim, Number>>(
55 pde_operator, helpers_ale, postprocessor, parameters, mpi_comm, is_test);
59 AssertThrow(parameters.temporal_discretization == TemporalDiscretization::ExplRK or
60 parameters.temporal_discretization == TemporalDiscretization::BDF,
61 dealii::ExcMessage(
"Specified time integration scheme is not implemented!"));
64 return time_integrator;
Definition parameters.h:46
Definition postprocessor_base.h:44