BSpline Finite Element Exterior Calculus
Loading...
Searching...
No Matches
m_mform_constraint_polar::mformpolarregularity Interface Reference

An object that represents a polar regularity constraint on an m-form space. More...

Inheritance diagram for m_mform_constraint_polar::mformpolarregularity:
m_mform_constraint_abstract::mformconstraintlocal

Public Member Functions

procedure init (this, space, coord_transform)
 Initialize a polar regularity constraint on an m-form space.
 
procedure apply (this, vout, vin)
 Apply the polar regularity constraint to an m-form (overload of MFormConstraintLocal::apply)
 
procedure destroy_derived (this)
 Destroy the MFormPolarRegularity object.
 
pure type(mformpolarregularity) function construct_mform_polar (regularity, enriched, orthogonal)
 Construct a polar regularity constraint on an m-form.
 
- Public Member Functions inherited from m_mform_constraint_abstract::mformconstraintlocal
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

integer regularity
 The regularity of the polar constraint.
 
logical enriched
 Enriched space.
 
logical orthogonal
 Orthogonal extraction (Euclidean inner product)
 
type(bsplinefun), dimension(:), allocatable radial_bsplines
 The radial B-splines for the polar regularity constraint.
 
type(bsplinefun), dimension(:), allocatable angular_bsplines
 The angular B-splines for the polar regularity constraint.
 
type(mformspace) space0
 The zero-form space.
 
integer comm_window = -1
 Communicator for the shared memory window.
 
integer my_rank_window = -1
 
real(wp), dimension(:, :, :, :), pointer e1
 The dense 2D extractor operators (shared memory)
 
real(wp), dimension(:, :, :, :), pointer e2
 
type(sharedmemorywindowshmem_e1
 The shared memory windows for the extractor matrices.
 
type(sharedmemorywindowshmem_e2
 
- Public Attributes inherited from m_mform_constraint_abstract::mformconstraintlocal
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

An object that represents a polar regularity constraint on an m-form space.

Member Function/Subroutine Documentation

◆ apply()

procedure m_mform_constraint_polar::mformpolarregularity::apply ( class(mformpolarregularity), intent(in) this,
type(mformfun), intent(out) vout,
type(mformfun), intent(in) vin )

Apply the polar regularity constraint to an m-form (overload of MFormConstraintLocal::apply)

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

◆ construct_mform_polar()

pure type(mformpolarregularity) function m_mform_constraint_polar::mformpolarregularity::construct_mform_polar ( integer, intent(in), optional regularity,
logical, intent(in), optional enriched,
logical, intent(in), optional orthogonal )

Construct a polar regularity constraint on an m-form.

Parameters
[in]_(optional)_regularity The regularity of the polar constraint (default: degree of the B-spline basis in the x-direction)
[in]_(optional)_enriched Whether to use an enriched polar regularity constraint (default: .true.)
[in]_(optional)_orthogonal Whether to use orthogonal extraction operators (default: .true.)
Returns
The constructed MFormPolarRegularity object

◆ destroy_derived()

procedure m_mform_constraint_polar::mformpolarregularity::destroy_derived ( class(mformpolarregularity), intent(inout) this)

Destroy the MFormPolarRegularity object.

Parameters
[in,out]thisThe MFormPolarRegularity object to destroy

◆ init()

procedure m_mform_constraint_polar::mformpolarregularity::init ( class(mformpolarregularity), intent(inout) this,
type(mformspace), intent(in) space,
class(coordtransformabstract), intent(in), optional coord_transform )

Initialize a polar regularity constraint on an m-form space.

Parameters
[in,out]thisThe MFormPolarRegularity object to initialize
[in]spaceThe MFormSpace to which the polar regularity constraint applies
[in]_(optional)_coord_transform The coordinate transformation of the m-form space

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