![]() |
MFEM v4.8.0
Finite element discretization library
|
Abstract base class LinearFormIntegrator. More...
#include <lininteg.hpp>
Public Member Functions | |
| virtual bool | SupportsDevice () const |
| Method probing for assembly on device. | |
| virtual void | AssembleDevice (const FiniteElementSpace &fes, const Array< int > &markers, Vector &b) |
| Method defining assembly on device. | |
| 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 | ~LinearFormIntegrator () |
Public Member Functions inherited from mfem::Integrator | |
| Integrator (const IntegrationRule *ir=NULL) | |
| Create a new Integrator, optionally providing a prescribed quadrature rule to use in assembly. | |
| virtual void | SetIntRule (const IntegrationRule *ir) |
| Prescribe a fixed IntegrationRule to use, or set to null to let the integrator choose an appropriate rule. | |
| void | SetIntegrationRule (const IntegrationRule &ir) |
| Prescribe a fixed IntegrationRule to use. Sets the NURBS patch integration rule to null. | |
| void | SetNURBSPatchIntRule (NURBSMeshRules *pr) |
| Sets an integration rule for use on NURBS patches. | |
| bool | HasNURBSPatchIntRule () const |
| Check if a NURBS patch integration rule has been set. | |
| const IntegrationRule * | GetIntRule () const |
| Directly return the IntRule pointer (possibly null) without checking for NURBS patch rules or falling back on a default. | |
| const IntegrationRule * | GetIntegrationRule () const |
| Equivalent to GetIntRule, but retained for backward compatibility with applications. | |
Protected Member Functions | |
| LinearFormIntegrator (const IntegrationRule *ir=NULL) | |
Protected Member Functions inherited from mfem::Integrator | |
| const IntegrationRule * | GetIntegrationRule (const FiniteElement &trial_fe, const FiniteElement &test_fe, const ElementTransformation &trans) const |
| Returns an integration rule based on the arguments and internal state of the Integrator object. | |
| const IntegrationRule * | GetIntegrationRule (const FiniteElement &el, const ElementTransformation &trans) const |
| Returns an integration rule based on the arguments and internal state. (Version for identical trial_fe and test_fe) | |
| virtual const IntegrationRule * | GetDefaultIntegrationRule (const FiniteElement &trial_fe, const FiniteElement &test_fe, const ElementTransformation &trans) const |
| Subclasses should override to choose a default integration rule. | |
Additional Inherited Members | |
Protected Attributes inherited from mfem::Integrator | |
| const IntegrationRule * | IntRule |
| NURBSMeshRules * | patchRules = nullptr |
Abstract base class LinearFormIntegrator.
Definition at line 25 of file lininteg.hpp.
|
inlineprotected |
Definition at line 29 of file lininteg.hpp.
|
inlinevirtual |
Definition at line 54 of file lininteg.hpp.
|
virtual |
Method defining assembly on device.
Reimplemented in mfem::BoundaryLFIntegrator, mfem::BoundaryNormalLFIntegrator, mfem::DomainLFGradIntegrator, mfem::DomainLFIntegrator, mfem::VectorDomainLFGradIntegrator, mfem::VectorDomainLFIntegrator, mfem::VectorFEBoundaryFluxLFIntegrator, and mfem::VectorFEDomainLFIntegrator.
Definition at line 18 of file lininteg.cpp.
|
pure virtual |
Given a particular Finite Element and a transformation (Tr) computes the element vector, elvect.
Implemented in mfem::BoundaryFlowIntegrator, mfem::BoundaryLFIntegrator, mfem::BoundaryNormalLFIntegrator, mfem::BoundaryTangentialLFIntegrator, mfem::DGDirichletLFIntegrator, mfem::DGElasticityDirichletLFIntegrator, mfem::DomainLFGradIntegrator, mfem::DomainLFIntegrator, mfem::QuadratureLFIntegrator, mfem::SBM2DirichletLFIntegrator, mfem::SBM2NeumannLFIntegrator, mfem::VectorBoundaryFluxLFIntegrator, mfem::VectorBoundaryLFIntegrator, mfem::VectorDomainLFGradIntegrator, mfem::VectorDomainLFIntegrator, mfem::VectorFEBoundaryFluxLFIntegrator, mfem::VectorFEBoundaryNormalLFIntegrator, mfem::VectorFEBoundaryTangentLFIntegrator, mfem::VectorFEDomainLFCurlIntegrator, mfem::VectorFEDomainLFDivIntegrator, mfem::VectorFEDomainLFIntegrator, mfem::VectorQuadratureLFIntegrator, and mfem::WhiteGaussianNoiseDomainLFIntegrator.
|
virtual |
Reimplemented in mfem::BoundaryFlowIntegrator, mfem::BoundaryLFIntegrator, mfem::BoundaryNormalLFIntegrator, mfem::BoundaryTangentialLFIntegrator, mfem::DGDirichletLFIntegrator, mfem::DGElasticityDirichletLFIntegrator, mfem::DomainLFGradIntegrator, mfem::DomainLFIntegrator, mfem::QuadratureLFIntegrator, mfem::SBM2DirichletLFIntegrator, mfem::SBM2NeumannLFIntegrator, mfem::VectorBoundaryFluxLFIntegrator, mfem::VectorBoundaryLFIntegrator, mfem::VectorDomainLFGradIntegrator, mfem::VectorDomainLFIntegrator, mfem::VectorFEBoundaryFluxLFIntegrator, mfem::VectorFEBoundaryNormalLFIntegrator, mfem::VectorFEBoundaryTangentLFIntegrator, mfem::VectorFEDomainLFCurlIntegrator, mfem::VectorFEDomainLFDivIntegrator, mfem::VectorFEDomainLFIntegrator, mfem::VectorQuadratureLFIntegrator, and mfem::WhiteGaussianNoiseDomainLFIntegrator.
Definition at line 25 of file lininteg.cpp.
|
virtual |
Reimplemented in mfem::BoundaryFlowIntegrator, mfem::BoundaryLFIntegrator, mfem::BoundaryNormalLFIntegrator, mfem::BoundaryTangentialLFIntegrator, mfem::DGDirichletLFIntegrator, mfem::DGElasticityDirichletLFIntegrator, mfem::DomainLFGradIntegrator, mfem::DomainLFIntegrator, mfem::QuadratureLFIntegrator, mfem::SBM2DirichletLFIntegrator, mfem::SBM2NeumannLFIntegrator, mfem::VectorBoundaryFluxLFIntegrator, mfem::VectorBoundaryLFIntegrator, mfem::VectorDomainLFGradIntegrator, mfem::VectorDomainLFIntegrator, mfem::VectorFEBoundaryFluxLFIntegrator, mfem::VectorFEBoundaryNormalLFIntegrator, mfem::VectorFEBoundaryTangentLFIntegrator, mfem::VectorFEDomainLFCurlIntegrator, mfem::VectorFEDomainLFDivIntegrator, mfem::VectorFEDomainLFIntegrator, mfem::VectorQuadratureLFIntegrator, and mfem::WhiteGaussianNoiseDomainLFIntegrator.
Definition at line 31 of file lininteg.cpp.
|
inlinevirtual |
Method probing for assembly on device.
Reimplemented in mfem::BoundaryLFIntegrator, mfem::BoundaryNormalLFIntegrator, mfem::DomainLFGradIntegrator, mfem::DomainLFIntegrator, mfem::VectorDomainLFGradIntegrator, mfem::VectorDomainLFIntegrator, mfem::VectorFEBoundaryFluxLFIntegrator, and mfem::VectorFEDomainLFIntegrator.
Definition at line 34 of file lininteg.hpp.