BSpline Finite Element Exterior Calculus
Loading...
Searching...
No Matches
m_mform_constraint_abstract::mformconstraintlocal Type Referenceabstract

The object that represents linear constrains imposed locally (i.e., only acting on inds) on the coefficients of an mform. More...

Inheritance diagram for m_mform_constraint_abstract::mformconstraintlocal:
m_mform_constraint_boundary::mformdirichlet m_mform_constraint_boundary::mformneumann m_mform_constraint_boundary::mformuniqueness m_mform_constraint_polar::mformpolarregularity

Public Member Functions

procedure(mform_constraint_local_init), deferred init mform_constraint_local_init
 
procedure(mform_constraint_local_destroy), deferred destroy_derived mform_constraint_local_destroy
 
procedure destroy (this)
 Destroy the abstract MFormConstraintLocal object.
 
procedure apply (this, vout, vin)
 Apply a constraint to an m-form.
 

Public Attributes

type(mformspace) space
 The m-form space to which the constraint applies.
 
logical is_homogeneous
 Whether the constraint is homogeneous (currently always .true.)
 
logical is_symmetric
 Whether the projector is symmetric.
 
type(tensorprodindexlist), dimension(:), allocatable index_list
 The indices of the coefficients that the constraint acts upon (per m-form component)
 
type(sparsemat), dimension(:, :), allocatable projector
 Block-wise (per m-form component) sparse representation of the projector (restricted to the coefficients that the constraint acts upon)
 
type(sparsemat), dimension(:), allocatable extractor
 Block-wise (per m-form component) sparse representation of the extraction operator (restricted to the coefficients that the constraint acts upon)
 
logical, dimension(3) is_mpi_shared
 If the constraint '.not. is_homogeneous', the prescribed values of the constraint are stored here per component.
 

Detailed Description

The object that represents linear constrains imposed locally (i.e., only acting on inds) on the coefficients of an mform.

Member Function/Subroutine Documentation

◆ apply()

procedure m_mform_constraint_abstract::mformconstraintlocal::apply ( class(mformconstraintlocal), intent(in) this,
type(mformfun), intent(out) vout,
type(mformfun), intent(in) vin )

Apply a constraint to an m-form.

Parameters
[in]thisThe constraint to apply
[out]voutThe MForm to which the constraint has been applied
[in]vinThe MForm to which the constraint is applied

◆ destroy()

procedure m_mform_constraint_abstract::mformconstraintlocal::destroy ( class(mformconstraintlocal), intent(inout) this)

Destroy the abstract MFormConstraintLocal object.

Parameters
[in,out]thisThe MFormConstraintLocal object to destroy

Member Data Documentation

◆ is_mpi_shared

logical, dimension(3) m_mform_constraint_abstract::mformconstraintlocal::is_mpi_shared

If the constraint '.not. is_homogeneous', the prescribed values of the constraint are stored here per component.

Whether the constraint is shared across multiple MPI ranks (per spatial direction)


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