BSpline Finite Element Exterior Calculus
Loading...
Searching...
No Matches
m_mform_matrix::diffdiffmatrix Type Reference

Matrix representation of the weak form of a differential operator (divgrad, curlcurl, graddiv) More...

Inheritance diagram for m_mform_matrix::diffdiffmatrix:
m_mform_matrix::abstractmatrix

Public Member Functions

procedure init (this, space, coord_transform, mass)
 Initialize the matrix representation of the weak form of a differential operator for the given m-form space (divgrad, curlcurl, graddiv)
 
procedure constraint_coeff (this)
 Coefficient for the imposing a linear constraint on the differential matrix by means of a projection operator.
 
- Public Member Functions inherited from m_mform_matrix::abstractmatrix
procedure(constraint_coeff_interface), deferred constraint_coeff constraint_coeff_interface
 
procedure destroy (this)
 Destroy the AbstractMatrix.
 

Additional Inherited Members

- Public Attributes inherited from m_mform_matrix::abstractmatrix
type(mformspace) space_col
 The m-form space of the solution vector.
 
type(mformspace) space_row
 The m-form space of the residual.
 
logical is_symmetric
 PETSc matrix.
 
logical is_spd
 Whether the matrix is symmetric positive definite.
 

Detailed Description

Matrix representation of the weak form of a differential operator (divgrad, curlcurl, graddiv)

The matrix is given by D^T * M * D, where M is the mass matrix of the next m-form space and D is the 'finite difference' matrix

Member Function/Subroutine Documentation

◆ constraint_coeff()

procedure m_mform_matrix::diffdiffmatrix::constraint_coeff ( class(diffdiffmatrix), intent(in) this)

Coefficient for the imposing a linear constraint on the differential matrix by means of a projection operator.

That is, when mode=CONSTRAINT_PROJECTION is used, the following matrix is constructed: P^T * L * D + \gamma * (I - P)^T M * (I - P), where P is the projection operator, L is the divgrad/curlcurl/graddiv matrix. This function provides the coefficient \gamma.

Parameters
[in]thisThe DiffDiffMatrix object for which to compute the coefficient
Returns
The coefficient \gamma

◆ init()

procedure m_mform_matrix::diffdiffmatrix::init ( class(diffdiffmatrix), intent(out) this,
type(mformspace), intent(in) space,
class(coordtransformabstract), intent(in), optional coord_transform,
type(massmatrix), intent(in), optional mass )

Initialize the matrix representation of the weak form of a differential operator for the given m-form space (divgrad, curlcurl, graddiv)

Parameters
[in,out]thisThe DiffDiffMatrix object to initialize
[in]spaceThe MFormSpace for which to initialize the differential matrix
[in]coord_transform_(optional)_ The coordinate transformation associated with the m-form space
[in]mass_(optional)_ The MassMatrix corresponding to the next m-form space; if not provided, it is constructed internally

The documentation for this type was generated from the following file: