![]() |
MFEM v4.8.0
Finite element discretization library
|
#include <lininteg.hpp>
Public Member Functions | |
DGDirichletLFIntegrator (Coefficient &u, const real_t s, const real_t k) | |
DGDirichletLFIntegrator (Coefficient &u, Coefficient &q, const real_t s, const real_t k) | |
DGDirichletLFIntegrator (Coefficient &u, MatrixCoefficient &q, const real_t s, const real_t k) | |
void | AssembleRHSElementVect (const FiniteElement &el, ElementTransformation &Tr, Vector &elvect) override |
void | AssembleRHSElementVect (const FiniteElement &el, FaceElementTransformations &Tr, Vector &elvect) override |
virtual void | AssembleRHSElementVect (const FiniteElement &el1, const FiniteElement &el2, FaceElementTransformations &Tr, Vector &elvect) |
![]() | |
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 | ~LinearFormIntegrator () |
![]() | |
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 Attributes | |
Coefficient * | uD |
Coefficient * | Q |
MatrixCoefficient * | MQ |
real_t | sigma |
real_t | kappa |
Vector | shape |
Vector | dshape_dn |
Vector | nor |
Vector | nh |
Vector | ni |
DenseMatrix | dshape |
DenseMatrix | mq |
DenseMatrix | adjJ |
![]() | |
const IntegrationRule * | IntRule |
NURBSMeshRules * | patchRules = nullptr |
Additional Inherited Members | |
![]() | |
LinearFormIntegrator (const IntegrationRule *ir=NULL) | |
![]() | |
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. | |
Boundary linear integrator for imposing non-zero Dirichlet boundary conditions, to be used in conjunction with DGDiffusionIntegrator. Specifically, given the Dirichlet data \(u_D\), the linear form assembles the following integrals on the boundary:
\[ \sigma \langle u_D, (Q \nabla v)) \cdot n \rangle + \kappa \langle {h^{-1} Q} u_D, v \rangle, \]
where Q is a scalar or matrix diffusion coefficient and v is the test function. The parameters \(\sigma\) and \(\kappa\) should be the same as the ones used in the DGDiffusionIntegrator.
Definition at line 552 of file lininteg.hpp.
|
inline |
Definition at line 564 of file lininteg.hpp.
|
inline |
Definition at line 566 of file lininteg.hpp.
|
inline |
Definition at line 569 of file lininteg.hpp.
|
overridevirtual |
Given a particular Finite Element and a transformation (Tr) computes the element vector, elvect.
Implements mfem::LinearFormIntegrator.
Definition at line 810 of file lininteg.cpp.
|
overridevirtual |
Reimplemented from mfem::LinearFormIntegrator.
Definition at line 816 of file lininteg.cpp.
|
virtual |
Reimplemented from mfem::LinearFormIntegrator.
Definition at line 49 of file lininteg.cpp.
|
protected |
Definition at line 561 of file lininteg.hpp.
|
protected |
Definition at line 561 of file lininteg.hpp.
|
protected |
Definition at line 560 of file lininteg.hpp.
|
protected |
Definition at line 557 of file lininteg.hpp.
|
protected |
Definition at line 556 of file lininteg.hpp.
|
protected |
Definition at line 561 of file lininteg.hpp.
|
protected |
Definition at line 560 of file lininteg.hpp.
|
protected |
Definition at line 560 of file lininteg.hpp.
|
protected |
Definition at line 560 of file lininteg.hpp.
|
protected |
Definition at line 555 of file lininteg.hpp.
|
protected |
Definition at line 560 of file lininteg.hpp.
|
protected |
Definition at line 557 of file lininteg.hpp.
|
protected |
Definition at line 555 of file lininteg.hpp.