(Optional) Set the (components of) the Raviart-Thomas () and the Nedelec (
) interpolation matrices.
(Optional) Set the (components of) the Raviart-Thomas () and the Nedelec (
) interpolation matrices.
This function is generally intended to be used only for high-order
discretizations (in the lowest order case, these matrices are constructed internally in ADS from the discreet gradient and curl matrices and the coordinates of the vertices), though it can also be used in the lowest-order case or for other types of discretizations.
By definition, RT_Pi and ND_Pi are the matrix representations of the linear operators
and
that interpolate (high-order) vector nodal finite elements into the (high-order) Raviart-Thomas and Nedelec spaces. The component matrices are defined in both cases as
and similarly for
and
. Note that all these operators depend on the choice of the basis and degrees of freedom in the high-order spaces.
The column numbering of RT_Pi and ND_Pi should be node-based, i.e. the
/
/
components of the first node (vertex or high-order dof) should be listed first, followed by the
/
/
components of the second node and so on (see the documentation of HYPRE_BoomerAMGSetDofFunc).
If used, this function should be called before hypre_ADSSetup() and there is no need to provide the vertex coordinates. Furthermore, only one of the sets
and
needs to be specified (though it is OK to provide both). If RT_Pix is NULL, then scalar
-based ADS cycles, i.e. those with cycle_type > 10, will be unavailable. Similarly, ADS cycles based on monolithic
(cycle_type < 10) require that RT_Pi is not NULL. The same restrictions hold for the sets
and
-- only one of them needs to be specified, and the availability of each enables different AMS cycle type options.