MFEM  v4.5.2
Finite element discretization library
Public Member Functions | List of all members
mfem::MortarIntegrator Class Referenceabstract

Interface for mortar element assembly. The MortarIntegrator interface is used for performing Petrov-Galerkin finite element assembly on intersections between elements. The quadrature rules are to be generated by a cut algorithm (e.g., mfem::Cut). The quadrature rules are defined in the respective trial and test reference frames. Trial and test spaces can be associated with different element shapes (e.g., triangles and quadrilaterals) and different polynomial orders (e.g., 1 and 4). This class is designed to work in conjunction with the MFEM/moonolith module but it can be used also for other applications. More...

#include <mortarintegrator.hpp>

Inheritance diagram for mfem::MortarIntegrator:
[legend]

Public Member Functions

virtual void AssembleElementMatrix (const FiniteElement &trial, const IntegrationRule &trial_ir, ElementTransformation &trial_Trans, const FiniteElement &test, const IntegrationRule &test_ir, ElementTransformation &test_Trans, DenseMatrix &elemmat)=0
 Implements the assembly routine. More...
 
virtual int GetQuadratureOrder () const
 
virtual ~MortarIntegrator ()
 
virtual bool is_vector_fe () const =0
 

Detailed Description

Interface for mortar element assembly. The MortarIntegrator interface is used for performing Petrov-Galerkin finite element assembly on intersections between elements. The quadrature rules are to be generated by a cut algorithm (e.g., mfem::Cut). The quadrature rules are defined in the respective trial and test reference frames. Trial and test spaces can be associated with different element shapes (e.g., triangles and quadrilaterals) and different polynomial orders (e.g., 1 and 4). This class is designed to work in conjunction with the MFEM/moonolith module but it can be used also for other applications.

Definition at line 31 of file mortarintegrator.hpp.

Constructor & Destructor Documentation

◆ ~MortarIntegrator()

virtual mfem::MortarIntegrator::~MortarIntegrator ( )
inlinevirtual

Definition at line 60 of file mortarintegrator.hpp.

Member Function Documentation

◆ AssembleElementMatrix()

virtual void mfem::MortarIntegrator::AssembleElementMatrix ( const FiniteElement trial,
const IntegrationRule trial_ir,
ElementTransformation trial_Trans,
const FiniteElement test,
const IntegrationRule test_ir,
ElementTransformation test_Trans,
DenseMatrix elemmat 
)
pure virtual

Implements the assembly routine.

Parameters
trialis the master/source element
trial_iris the quadrature formula for evaluating quantities within the trial element
trial_Transthe geometric transformation of the trial element
testis the slave/destination element
test_iris the quadrature formula for evaluating quantities within the test element
test_Transthe geometric transformation of the test element
elemmatthe result of the assembly

Implemented in mfem::VectorL2MortarIntegrator, and mfem::L2MortarIntegrator.

◆ GetQuadratureOrder()

virtual int mfem::MortarIntegrator::GetQuadratureOrder ( ) const
inlinevirtual
Returns
the additional orders of quadrature required by the integrator. It is 0 by default, override method to change that.

Definition at line 58 of file mortarintegrator.hpp.

◆ is_vector_fe()

virtual bool mfem::MortarIntegrator::is_vector_fe ( ) const
pure virtual
Returns
true if it uses vector fe and false otherwise

Implemented in mfem::VectorL2MortarIntegrator, and mfem::L2MortarIntegrator.


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