22#ifndef INCLUDE_EXADG_INCOMPRESSIBLE_NAVIER_STOKES_SPATIAL_DISCRETIZATION_CREATE_OPERATOR_H_
23#define INCLUDE_EXADG_INCOMPRESSIBLE_NAVIER_STOKES_SPATIAL_DISCRETIZATION_CREATE_OPERATOR_H_
26#include <exadg/incompressible_navier_stokes/spatial_discretization/operator_coupled.h>
27#include <exadg/incompressible_navier_stokes/spatial_discretization/operator_dual_splitting.h>
28#include <exadg/incompressible_navier_stokes/spatial_discretization/operator_pressure_correction.h>
29#include <exadg/incompressible_navier_stokes/spatial_discretization/spatial_operator_base.h>
38template<
int dim,
typename Number>
39std::shared_ptr<SpatialOperatorBase<dim, Number>>
40create_operator(std::shared_ptr<Grid<dim>
const> grid,
41 std::shared_ptr<dealii::Mapping<dim>
const> mapping,
42 std::shared_ptr<MultigridMappings<dim, Number>>
const multigrid_mappings,
46 std::string
const & field,
47 MPI_Comm
const & mpi_comm)
49 std::shared_ptr<SpatialOperatorBase<dim, Number>> pde_operator;
52 if(parameters.temporal_discretization == TemporalDiscretization::BDFCoupledSolution)
54 pde_operator = std::make_shared<OperatorCoupled<dim, Number>>(grid,
63 else if(parameters.temporal_discretization == TemporalDiscretization::BDFDualSplittingScheme)
65 pde_operator = std::make_shared<OperatorDualSplitting<dim, Number>>(grid,
74 else if(parameters.temporal_discretization == TemporalDiscretization::BDFPressureCorrection or
77 parameters.temporal_discretization ==
78 TemporalDiscretization::InterpolateAnalyticalSolution)
80 pde_operator = std::make_shared<OperatorPressureCorrection<dim, Number>>(grid,
91 AssertThrow(
false, dealii::ExcMessage(
"Not implemented."));
Definition parameters.h:46
Definition boundary_descriptor.h:240
Definition field_functions.h:31