MFEM
v4.5.2
Finite element discretization library
|
#include <bilininteg.hpp>
Public Member Functions | |
VectorFEMassIntegrator () | |
VectorFEMassIntegrator (Coefficient *q_) | |
VectorFEMassIntegrator (Coefficient &q) | |
VectorFEMassIntegrator (DiagonalMatrixCoefficient *dq_) | |
VectorFEMassIntegrator (DiagonalMatrixCoefficient &dq) | |
VectorFEMassIntegrator (MatrixCoefficient *mq_) | |
VectorFEMassIntegrator (MatrixCoefficient &mq) | |
virtual void | AssembleElementMatrix (const FiniteElement &el, ElementTransformation &Trans, DenseMatrix &elmat) |
Given a particular Finite Element computes the element matrix elmat. More... | |
virtual void | AssembleElementMatrix2 (const FiniteElement &trial_fe, const FiniteElement &test_fe, ElementTransformation &Trans, DenseMatrix &elmat) |
virtual void | AssemblePA (const FiniteElementSpace &fes) |
Method defining partial assembly. More... | |
virtual void | AssemblePA (const FiniteElementSpace &trial_fes, const FiniteElementSpace &test_fes) |
virtual void | AddMultPA (const Vector &x, Vector &y) const |
Method for partially assembled action. More... | |
virtual void | AddMultTransposePA (const Vector &x, Vector &y) const |
Method for partially assembled transposed action. More... | |
virtual void | AssembleDiagonalPA (Vector &diag) |
Assemble diagonal and add it to Vector diag. More... | |
const Coefficient * | GetCoefficient () const |
virtual void | AssemblePA (const FiniteElementSpace &fes) |
Method defining partial assembly. More... | |
virtual void | AssemblePA (const FiniteElementSpace &trial_fes, const FiniteElementSpace &test_fes) |
virtual void | AssemblePA (const FiniteElementSpace &fes) |
Method defining partial assembly. More... | |
virtual void | AssemblePA (const FiniteElementSpace &trial_fes, const FiniteElementSpace &test_fes) |
Public Member Functions inherited from mfem::BilinearFormIntegrator | |
virtual void | AssemblePAInteriorFaces (const FiniteElementSpace &fes) |
virtual void | AssemblePABoundaryFaces (const FiniteElementSpace &fes) |
virtual void | AssembleDiagonalPA_ADAt (const Vector &D, Vector &diag) |
Assemble diagonal of ADA^T (A is this integrator) and add it to diag. More... | |
virtual void | AssembleEA (const FiniteElementSpace &fes, Vector &emat, const bool add=true) |
Method defining element assembly. More... | |
virtual void | AssembleMF (const FiniteElementSpace &fes) |
Method defining matrix-free assembly. More... | |
virtual void | AddMultMF (const Vector &x, Vector &y) const |
virtual void | AddMultTransposeMF (const Vector &x, Vector &y) const |
virtual void | AssembleDiagonalMF (Vector &diag) |
Assemble diagonal and add it to Vector diag. More... | |
virtual void | AssembleEAInteriorFaces (const FiniteElementSpace &fes, Vector &ea_data_int, Vector &ea_data_ext, const bool add=true) |
virtual void | AssembleEABoundaryFaces (const FiniteElementSpace &fes, Vector &ea_data_bdr, const bool add=true) |
virtual void | AssembleFaceMatrix (const FiniteElement &el1, const FiniteElement &el2, FaceElementTransformations &Trans, DenseMatrix &elmat) |
virtual void | AssembleFaceMatrix (const FiniteElement &trial_face_fe, const FiniteElement &test_fe1, const FiniteElement &test_fe2, FaceElementTransformations &Trans, DenseMatrix &elmat) |
virtual void | AssembleElementVector (const FiniteElement &el, ElementTransformation &Tr, const Vector &elfun, Vector &elvect) |
Perform the local action of the BilinearFormIntegrator. Note that the default implementation in the base class is general but not efficient. More... | |
virtual void | AssembleFaceVector (const FiniteElement &el1, const FiniteElement &el2, FaceElementTransformations &Tr, const Vector &elfun, Vector &elvect) |
Perform the local action of the BilinearFormIntegrator resulting from a face integral term. Note that the default implementation in the base class is general but not efficient. More... | |
virtual void | AssembleElementGrad (const FiniteElement &el, ElementTransformation &Tr, const Vector &elfun, DenseMatrix &elmat) |
Assemble the local gradient matrix. More... | |
virtual void | AssembleFaceGrad (const FiniteElement &el1, const FiniteElement &el2, FaceElementTransformations &Tr, const Vector &elfun, DenseMatrix &elmat) |
Assemble the local action of the gradient of the NonlinearFormIntegrator resulting from a face integral term. More... | |
virtual void | ComputeElementFlux (const FiniteElement &el, ElementTransformation &Trans, Vector &u, const FiniteElement &fluxelem, Vector &flux, bool with_coef=true, const IntegrationRule *ir=NULL) |
Virtual method required for Zienkiewicz-Zhu type error estimators. More... | |
virtual double | ComputeFluxEnergy (const FiniteElement &fluxelem, ElementTransformation &Trans, Vector &flux, Vector *d_energy=NULL) |
Virtual method required for Zienkiewicz-Zhu type error estimators. More... | |
virtual | ~BilinearFormIntegrator () |
virtual void | AssemblePA (const FiniteElementSpace &fes) |
Method defining partial assembly. More... | |
virtual void | AssemblePA (const FiniteElementSpace &trial_fes, const FiniteElementSpace &test_fes) |
Public Member Functions inherited from mfem::NonlinearFormIntegrator | |
virtual void | SetIntRule (const IntegrationRule *ir) |
Prescribe a fixed IntegrationRule to use (when ir != NULL) or let the integrator choose (when ir == NULL). More... | |
void | SetIntegrationRule (const IntegrationRule &ir) |
Prescribe a fixed IntegrationRule to use. More... | |
void | SetPAMemoryType (MemoryType mt) |
const IntegrationRule * | GetIntegrationRule () const |
Get the integration rule of the integrator (possibly NULL). More... | |
virtual double | GetElementEnergy (const FiniteElement &el, ElementTransformation &Tr, const Vector &elfun) |
Compute the local energy. More... | |
virtual void | AssembleGradPA (const Vector &x, const FiniteElementSpace &fes) |
Prepare the integrator for partial assembly (PA) gradient evaluations on the given FE space fes at the state x. More... | |
virtual double | GetLocalStateEnergyPA (const Vector &x) const |
Compute the local (to the MPI rank) energy with partial assembly. More... | |
virtual void | AddMultGradPA (const Vector &x, Vector &y) const |
Method for partially assembled gradient action. More... | |
virtual void | AssembleGradDiagonalPA (Vector &diag) const |
Method for computing the diagonal of the gradient with partial assembly. More... | |
virtual bool | SupportsCeed () const |
Indicates whether this integrator can use a Ceed backend. More... | |
ceed::Operator & | GetCeedOp () |
virtual | ~NonlinearFormIntegrator () |
Protected Attributes | |
Coefficient * | Q |
DiagonalMatrixCoefficient * | DQ |
MatrixCoefficient * | MQ |
Vector | pa_data |
const DofToQuad * | mapsO |
Not owned. DOF-to-quad map, open. More... | |
const DofToQuad * | mapsC |
Not owned. DOF-to-quad map, closed. More... | |
const DofToQuad * | mapsOtest |
Not owned. DOF-to-quad map, open. More... | |
const DofToQuad * | mapsCtest |
Not owned. DOF-to-quad map, closed. More... | |
const GeometricFactors * | geom |
Not owned. More... | |
int | dim |
int | ne |
int | nq |
int | dofs1D |
int | dofs1Dtest |
int | quad1D |
int | trial_fetype |
int | test_fetype |
bool | symmetric = true |
False if using a nonsymmetric matrix coefficient. More... | |
Protected Attributes inherited from mfem::NonlinearFormIntegrator | |
const IntegrationRule * | IntRule |
ceed::Operator * | ceedOp |
MemoryType | pa_mt = MemoryType::DEFAULT |
Additional Inherited Members | |
Protected Member Functions inherited from mfem::BilinearFormIntegrator | |
BilinearFormIntegrator (const IntegrationRule *ir=NULL) | |
Protected Member Functions inherited from mfem::NonlinearFormIntegrator | |
NonlinearFormIntegrator (const IntegrationRule *ir=NULL) | |
Integrator for (Q u, v), where Q is an optional coefficient (of type scalar, vector (diagonal matrix), or matrix), trial function u is in H(Curl) or H(Div), and test function v is in H(Curl), H(Div), or v=(v1,...,vn), where vi are in H1.
Definition at line 2645 of file bilininteg.hpp.
|
inline |
Definition at line 2676 of file bilininteg.hpp.
|
inline |
Definition at line 2677 of file bilininteg.hpp.
|
inline |
Definition at line 2678 of file bilininteg.hpp.
|
inline |
Definition at line 2679 of file bilininteg.hpp.
|
inline |
Definition at line 2680 of file bilininteg.hpp.
|
inline |
Definition at line 2681 of file bilininteg.hpp.
|
inline |
Definition at line 2682 of file bilininteg.hpp.
Method for partially assembled action.
Perform the action of integrator on the input x and add the result to the output y. Both x and y are E-vectors, i.e. they represent the element-wise discontinuous version of the FE space.
This method can be called only after the method AssemblePA() has been called.
Reimplemented from mfem::BilinearFormIntegrator.
Definition at line 925 of file bilininteg_vectorfe.cpp.
|
virtual |
Method for partially assembled transposed action.
Perform the transpose action of integrator on the input x and add the result to the output y. Both x and y are E-vectors, i.e. they represent the element-wise discontinuous version of the FE space.
This method can be called only after the method AssemblePA() has been called.
Reimplemented from mfem::BilinearFormIntegrator.
Definition at line 1016 of file bilininteg_vectorfe.cpp.
|
virtual |
Assemble diagonal and add it to Vector diag.
Reimplemented from mfem::BilinearFormIntegrator.
Definition at line 863 of file bilininteg_vectorfe.cpp.
|
virtual |
Given a particular Finite Element computes the element matrix elmat.
Reimplemented from mfem::BilinearFormIntegrator.
Definition at line 2399 of file bilininteg.cpp.
|
virtual |
Compute the local matrix representation of a bilinear form a(u,v) defined on different trial (given by u) and test (given by v) spaces. The rows in the local matrix correspond to the test dofs and the columns – to the trial dofs.
Reimplemented from mfem::BilinearFormIntegrator.
Definition at line 2465 of file bilininteg.cpp.
void mfem::BilinearFormIntegrator::AssemblePA |
Method defining partial assembly.
The result of the partial assembly is stored internally so that it can be used later in the methods AddMultPA() and AddMultTransposePA().
Definition at line 23 of file bilininteg.cpp.
void mfem::BilinearFormIntegrator::AssemblePA |
Used with BilinearFormIntegrators that have different spaces.
Definition at line 29 of file bilininteg.cpp.
void mfem::NonlinearFormIntegrator::AssemblePA |
The result of the partial assembly is stored internally so that it can be used later in the methods AddMultPA(). Used with BilinearFormIntegrators that have different spaces.
Definition at line 31 of file nonlininteg.cpp.
void mfem::NonlinearFormIntegrator::AssemblePA |
Method defining partial assembly.
The result of the partial assembly is stored internally so that it can be used later in the methods AddMultPA().
Definition at line 25 of file nonlininteg.cpp.
|
virtual |
Method defining partial assembly.
The result of the partial assembly is stored internally so that it can be used later in the methods AddMultPA() and AddMultTransposePA().
Reimplemented from mfem::BilinearFormIntegrator.
Definition at line 747 of file bilininteg_vectorfe.cpp.
|
virtual |
Used with BilinearFormIntegrators that have different spaces.
Reimplemented from mfem::BilinearFormIntegrator.
Definition at line 752 of file bilininteg_vectorfe.cpp.
|
inline |
Definition at line 2700 of file bilininteg.hpp.
|
protected |
Definition at line 2672 of file bilininteg.hpp.
|
protected |
Definition at line 2672 of file bilininteg.hpp.
|
protected |
Definition at line 2672 of file bilininteg.hpp.
|
protected |
Definition at line 2662 of file bilininteg.hpp.
|
protected |
Not owned.
Definition at line 2671 of file bilininteg.hpp.
|
protected |
Not owned. DOF-to-quad map, closed.
Definition at line 2668 of file bilininteg.hpp.
|
protected |
Not owned. DOF-to-quad map, closed.
Definition at line 2670 of file bilininteg.hpp.
|
protected |
Not owned. DOF-to-quad map, open.
Definition at line 2667 of file bilininteg.hpp.
|
protected |
Not owned. DOF-to-quad map, open.
Definition at line 2669 of file bilininteg.hpp.
|
protected |
Definition at line 2663 of file bilininteg.hpp.
|
protected |
Definition at line 2672 of file bilininteg.hpp.
|
protected |
Definition at line 2672 of file bilininteg.hpp.
|
protected |
Definition at line 2666 of file bilininteg.hpp.
|
protected |
Definition at line 2661 of file bilininteg.hpp.
|
protected |
Definition at line 2672 of file bilininteg.hpp.
|
protected |
False if using a nonsymmetric matrix coefficient.
Definition at line 2673 of file bilininteg.hpp.
|
protected |
Definition at line 2672 of file bilininteg.hpp.
|
protected |
Definition at line 2672 of file bilininteg.hpp.