36class MultigridPreconditioner :
public MultigridPreconditionerBase<dim, Number>
39 typedef MultigridPreconditionerBase<dim, Number> Base;
42 typedef typename Base::MultigridNumber MultigridNumber;
55 typedef typename Base::Map_DBC Map_DBC;
56 typedef typename Base::Map_DBC_ComponentMask Map_DBC_ComponentMask;
57 typedef typename Base::PeriodicFacePairs PeriodicFacePairs;
58 typedef typename Base::VectorType VectorType;
59 typedef typename Base::VectorTypeMG VectorTypeMG;
61 MultigridPreconditioner(MPI_Comm
const & mpi_comm);
67 dealii::FiniteElement<dim>
const & fe,
69 bool const nonlinear_operator,
70 Map_DBC
const & dirichlet_bc,
71 Map_DBC_ComponentMask
const & dirichlet_bc_component_mask);
81 initialize_dof_handler_and_constraints(
82 bool const operator_is_singular,
83 unsigned int const n_components,
84 Map_DBC
const & dirichlet_bc,
85 Map_DBC_ComponentMask
const & dirichlet_bc_component_mask)
final;
89 unsigned int const level,
90 unsigned int const dealii_tria_level)
final;
92 std::shared_ptr<MGOperatorBase>
93 initialize_operator(
unsigned int const level)
final;
101 std::shared_ptr<PDEOperatorNonlinearMG>
102 get_operator_nonlinear(
unsigned int level);
104 std::shared_ptr<PDEOperatorLinearMG>
105 get_operator_linear(
unsigned int level);
113 dealii::MGLevelObject<std::shared_ptr<dealii::DoFHandler<dim>
const>> dof_handlers_inhomogeneous;
114 dealii::MGLevelObject<std::shared_ptr<dealii::AffineConstraints<MultigridNumber>>>
115 constraints_inhomogeneous;