Multigrid Configuration

Coarsening Strategy

FerriteMultigrid.GalerkinType
Galerkin <: AbstractCoarseningStrategy

Galerkin coarsening operator can be defined as follows:

\[A_{h,p-1} = \mathcal{I}_{p}^{p-1} A_{h,p} \mathcal{I}_{p-1}^p\]

and according to Tielen et al. [2] $\mathcal{I}_{p-1}^p$ is the interpolation operator from the coarse space to the fine space and is defined as follows:

\[\mathcal{I}_{p-1}^p (\mathbf{v}_{p-1}) = (\mathbf{M}_p)^{-1} \mathbf{P}_{p-1}^p \, \mathbf{v}_{p-1}\]

source
FerriteMultigrid.RediscretizationType
Rediscretization{TP <: AbstractPMultigrid} <: AbstractCoarseningStrategy

This struct represents a coarsening strategy that uses the assemble function to obtain the coarse grid operator. It is used when the Rediscretization strategy is specified in the pmultigrid_config. It requires the problem type TP to be a subtype of AbstractPMultigrid.

source

Projection Strategy

FerriteMultigrid.StepProjectionType
StepProjection <: AbstractProjectionStrategy

This struct represents a projection from $\mathcal{V}_{h,p}$ to $\mathcal{V}_{h,p-step}$, where step is a positive integer. It is used to reduce the polynomial order by a fixed step size until p = 1.

source