MFEM  v4.6.0
Finite element discretization library
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
mfem::DeltaLFIntegrator Class Referenceabstract

Abstract class for integrators that support delta coefficients. More...

#include <lininteg.hpp>

Inheritance diagram for mfem::DeltaLFIntegrator:
[legend]
Collaboration diagram for mfem::DeltaLFIntegrator:
[legend]

Public Member Functions

bool IsDelta () const
 Returns true if the derived class instance uses a delta coefficient. More...
 
void GetDeltaCenter (Vector &center)
 Returns the center of the delta coefficient. More...
 
virtual void AssembleDeltaElementVect (const FiniteElement &fe, ElementTransformation &Trans, Vector &elvect)=0
 Assemble the delta coefficient at the IntegrationPoint set in Trans which is assumed to map to the delta coefficient center. More...
 
- Public Member Functions inherited from mfem::LinearFormIntegrator
virtual bool SupportsDevice () const
 Method probing for assembly on device. More...
 
virtual void AssembleDevice (const FiniteElementSpace &fes, const Array< int > &markers, Vector &b)
 Method defining assembly on device. More...
 
virtual void AssembleRHSElementVect (const FiniteElement &el, ElementTransformation &Tr, Vector &elvect)=0
 
virtual void AssembleRHSElementVect (const FiniteElement &el, FaceElementTransformations &Tr, Vector &elvect)
 
virtual void AssembleRHSElementVect (const FiniteElement &el1, const FiniteElement &el2, FaceElementTransformations &Tr, Vector &elvect)
 
virtual void SetIntRule (const IntegrationRule *ir)
 
const IntegrationRuleGetIntRule ()
 
virtual ~LinearFormIntegrator ()
 

Protected Member Functions

 DeltaLFIntegrator (Coefficient &q, const IntegrationRule *ir=NULL)
 This constructor should be used by derived classes that use a scalar DeltaCoefficient. More...
 
 DeltaLFIntegrator (VectorCoefficient &vq, const IntegrationRule *ir=NULL)
 This constructor should be used by derived classes that use a VectorDeltaCoefficient. More...
 
- Protected Member Functions inherited from mfem::LinearFormIntegrator
 LinearFormIntegrator (const IntegrationRule *ir=NULL)
 

Protected Attributes

DeltaCoefficientdelta
 
VectorDeltaCoefficientvec_delta
 
- Protected Attributes inherited from mfem::LinearFormIntegrator
const IntegrationRuleIntRule
 

Detailed Description

Abstract class for integrators that support delta coefficients.

Definition at line 62 of file lininteg.hpp.

Constructor & Destructor Documentation

◆ DeltaLFIntegrator() [1/2]

mfem::DeltaLFIntegrator::DeltaLFIntegrator ( Coefficient q,
const IntegrationRule ir = NULL 
)
inlineprotected

This constructor should be used by derived classes that use a scalar DeltaCoefficient.

Definition at line 70 of file lininteg.hpp.

◆ DeltaLFIntegrator() [2/2]

mfem::DeltaLFIntegrator::DeltaLFIntegrator ( VectorCoefficient vq,
const IntegrationRule ir = NULL 
)
inlineprotected

This constructor should be used by derived classes that use a VectorDeltaCoefficient.

Definition at line 77 of file lininteg.hpp.

Member Function Documentation

◆ AssembleDeltaElementVect()

virtual void mfem::DeltaLFIntegrator::AssembleDeltaElementVect ( const FiniteElement fe,
ElementTransformation Trans,
Vector elvect 
)
pure virtual

Assemble the delta coefficient at the IntegrationPoint set in Trans which is assumed to map to the delta coefficient center.

Note
This method should be called for one mesh element only, including in parallel, even when the center of the delta coefficient is shared by multiple elements.

Implemented in mfem::VectorFEDomainLFDivIntegrator, mfem::VectorFEDomainLFCurlIntegrator, mfem::VectorFEDomainLFIntegrator, mfem::VectorDomainLFGradIntegrator, mfem::VectorDomainLFIntegrator, mfem::DomainLFGradIntegrator, and mfem::DomainLFIntegrator.

◆ GetDeltaCenter()

void mfem::DeltaLFIntegrator::GetDeltaCenter ( Vector center)
inline

Returns the center of the delta coefficient.

Definition at line 88 of file lininteg.hpp.

◆ IsDelta()

bool mfem::DeltaLFIntegrator::IsDelta ( ) const
inline

Returns true if the derived class instance uses a delta coefficient.

Definition at line 85 of file lininteg.hpp.

Member Data Documentation

◆ delta

DeltaCoefficient* mfem::DeltaLFIntegrator::delta
protected

Definition at line 65 of file lininteg.hpp.

◆ vec_delta

VectorDeltaCoefficient* mfem::DeltaLFIntegrator::vec_delta
protected

Definition at line 66 of file lininteg.hpp.


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