37class MultigridPreconditioner :
public MultigridPreconditionerBase<dim, Number>
40 typedef MultigridPreconditionerBase<dim, Number> Base;
43 typedef typename Base::MultigridNumber MultigridNumber;
56 typedef typename Base::Map_DBC Map_DBC;
57 typedef typename Base::Map_DBC_ComponentMask Map_DBC_ComponentMask;
58 typedef typename Base::PeriodicFacePairs PeriodicFacePairs;
59 typedef typename Base::VectorType VectorType;
60 typedef typename Base::VectorTypeMG VectorTypeMG;
62 MultigridPreconditioner(MPI_Comm
const & mpi_comm);
68 dealii::FiniteElement<dim>
const & fe,
70 bool const nonlinear_operator,
71 Map_DBC
const & dirichlet_bc,
72 Map_DBC_ComponentMask
const & dirichlet_bc_component_mask);
82 initialize_dof_handler_and_constraints(
83 bool const operator_is_singular,
84 unsigned int const n_components,
85 Map_DBC
const & dirichlet_bc,
86 Map_DBC_ComponentMask
const & dirichlet_bc_component_mask)
final;
90 unsigned int const level,
91 unsigned int const dealii_tria_level)
final;
93 std::shared_ptr<MGOperatorBase>
94 initialize_operator(
unsigned int const level)
final;
102 std::shared_ptr<PDEOperatorNonlinearMG>
103 get_operator_nonlinear(
unsigned int level);
105 std::shared_ptr<PDEOperatorLinearMG>
106 get_operator_linear(
unsigned int level);
114 dealii::MGLevelObject<std::shared_ptr<dealii::DoFHandler<dim>
const>> dof_handlers_inhomogeneous;
115 dealii::MGLevelObject<std::shared_ptr<dealii::AffineConstraints<MultigridNumber>>>
116 constraints_inhomogeneous;