|
BSpline Finite Element Exterior Calculus
|
Matrix representation of the weak form of a differential operator (divgrad, curlcurl, graddiv) More...
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. | |
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
| 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.
| [in] | this | The DiffDiffMatrix object for which to compute the coefficient |
| 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)
| [in,out] | this | The DiffDiffMatrix object to initialize |
| [in] | space | The 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 |