38class MultigridPreconditioner :
public MultigridPreconditionerBase<dim, Number>
41 typedef MultigridPreconditionerBase<dim, Number> Base;
44 typedef typename Base::MultigridNumber MultigridNumber;
53 typedef typename Base::Map_DBC Map_DBC;
54 typedef typename Base::Map_DBC_ComponentMask Map_DBC_ComponentMask;
55 typedef typename Base::PeriodicFacePairs PeriodicFacePairs;
56 typedef typename Base::VectorType VectorType;
57 typedef typename Base::VectorTypeMG VectorTypeMG;
60 MultigridPreconditioner(MPI_Comm
const & mpi_comm);
62 virtual ~MultigridPreconditioner(){};
71 dealii::FiniteElement<dim>
const & fe,
72 PDEOperator
const & pde_operator,
73 MultigridOperatorType
const & mg_operator_type,
74 bool const mesh_is_moving,
75 Map_DBC
const & dirichlet_bc,
76 Map_DBC_ComponentMask
const & dirichlet_bc_component_mask);
87 unsigned int const level,
88 unsigned int const dealii_tria_level)
final;
90 std::shared_ptr<MGOperatorBase>
91 initialize_operator(
unsigned int const level)
final;
94 initialize_dof_handler_and_constraints(
95 bool const operator_is_singular,
96 unsigned int const n_components,
97 Map_DBC
const & dirichlet_bc,
98 Map_DBC_ComponentMask
const & dirichlet_bc_component_mask)
final;
101 initialize_transfer_operators()
final;
103 std::shared_ptr<PDEOperatorMG>
104 get_operator(
unsigned int level)
const;
106 std::shared_ptr<MultigridTransfer<dim, MultigridNumber, VectorTypeMG>> transfers_velocity;
108 unsigned int degree_velocity;
110 dealii::MGLevelObject<std::shared_ptr<dealii::DoFHandler<dim>
const>> dof_handlers_velocity;
111 dealii::MGLevelObject<std::shared_ptr<dealii::AffineConstraints<MultigridNumber>>>
112 constraints_velocity;
116 PDEOperator
const * pde_operator;
118 MultigridOperatorType mg_operator_type;
void initialize(MultigridData const &mg_data, std::shared_ptr< Grid< dim > const > grid, std::shared_ptr< MultigridMappings< dim, Number > > const multigrid_mappings, dealii::FiniteElement< dim > const &fe, PDEOperator const &pde_operator, MultigridOperatorType const &mg_operator_type, bool const mesh_is_moving, Map_DBC const &dirichlet_bc, Map_DBC_ComponentMask const &dirichlet_bc_component_mask)
Definition multigrid_preconditioner.cpp:48