37class MultigridPreconditioner :
public MultigridPreconditionerBase<dim, Number>
40 typedef MultigridPreconditionerBase<dim, Number> Base;
43 typedef typename Base::MultigridNumber MultigridNumber;
52 typedef typename Base::Map_DBC Map_DBC;
53 typedef typename Base::Map_DBC_ComponentMask Map_DBC_ComponentMask;
54 typedef typename Base::PeriodicFacePairs PeriodicFacePairs;
55 typedef typename Base::VectorType VectorType;
56 typedef typename Base::VectorTypeMG VectorTypeMG;
59 MultigridPreconditioner(MPI_Comm
const & mpi_comm);
61 virtual ~MultigridPreconditioner(){};
70 dealii::FiniteElement<dim>
const & fe,
71 PDEOperator
const & pde_operator,
72 MultigridOperatorType
const & mg_operator_type,
73 bool const mesh_is_moving,
74 Map_DBC
const & dirichlet_bc,
75 Map_DBC_ComponentMask
const & dirichlet_bc_component_mask);
86 unsigned int const level,
87 unsigned int const dealii_tria_level)
final;
89 std::shared_ptr<MGOperatorBase>
90 initialize_operator(
unsigned int const level)
final;
93 initialize_dof_handler_and_constraints(
94 bool const operator_is_singular,
95 unsigned int const n_components,
96 Map_DBC
const & dirichlet_bc,
97 Map_DBC_ComponentMask
const & dirichlet_bc_component_mask)
final;
100 initialize_transfer_operators()
final;
102 std::shared_ptr<PDEOperatorMG>
103 get_operator(
unsigned int level)
const;
105 std::shared_ptr<MultigridTransfer<dim, MultigridNumber, VectorTypeMG>> transfers_velocity;
107 unsigned int degree_velocity;
109 dealii::MGLevelObject<std::shared_ptr<dealii::DoFHandler<dim>
const>> dof_handlers_velocity;
110 dealii::MGLevelObject<std::shared_ptr<dealii::AffineConstraints<MultigridNumber>>>
111 constraints_velocity;
115 PDEOperator
const * pde_operator;
117 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