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

#include <bilininteg.hpp>

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

Public Member Functions

 MixedGradGradIntegrator ()
 
 MixedGradGradIntegrator (Coefficient &q)
 
 MixedGradGradIntegrator (DiagonalMatrixCoefficient &dq)
 
 MixedGradGradIntegrator (MatrixCoefficient &mq)
 
virtual bool VerifyFiniteElementTypes (const FiniteElement &trial_fe, const FiniteElement &test_fe) const
 
virtual const char * FiniteElementTypeFailureMessage () const
 
virtual int GetIntegrationOrder (const FiniteElement &trial_fe, const FiniteElement &test_fe, ElementTransformation &Trans)
 
virtual int GetTrialVDim (const FiniteElement &trial_fe)
 
virtual void CalcTrialShape (const FiniteElement &trial_fe, ElementTransformation &Trans, DenseMatrix &shape)
 
virtual int GetTestVDim (const FiniteElement &test_fe)
 
virtual void CalcTestShape (const FiniteElement &test_fe, ElementTransformation &Trans, DenseMatrix &shape)
 
- Public Member Functions inherited from mfem::MixedVectorIntegrator
virtual void AssembleElementMatrix2 (const FiniteElement &trial_fe, const FiniteElement &test_fe, ElementTransformation &Trans, DenseMatrix &elmat)
 
virtual void AssembleElementMatrix (const FiniteElement &fe, ElementTransformation &Trans, DenseMatrix &elmat)
 Support for use in BilinearForm. Can be used only when appropriate. More...
 
- Public Member Functions inherited from mfem::BilinearFormIntegrator
virtual void AssemblePA (const FiniteElementSpace &fes)
 Method defining partial assembly. More...
 
virtual void AssemblePA (const FiniteElementSpace &trial_fes, const FiniteElementSpace &test_fes)
 
virtual void AssemblePAInteriorFaces (const FiniteElementSpace &fes)
 
virtual void AssemblePABoundaryFaces (const FiniteElementSpace &fes)
 
virtual void AssembleDiagonalPA (Vector &diag)
 Assemble diagonal and add it to Vector diag. More...
 
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 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 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 IntegrationRuleGetIntegrationRule () 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::OperatorGetCeedOp ()
 
virtual ~NonlinearFormIntegrator ()
 

Additional Inherited Members

- Protected Member Functions inherited from mfem::MixedVectorIntegrator
 MixedVectorIntegrator ()
 
 MixedVectorIntegrator (Coefficient &q)
 
 MixedVectorIntegrator (VectorCoefficient &vq, bool diag=true)
 
 MixedVectorIntegrator (MatrixCoefficient &mq)
 
- Protected Member Functions inherited from mfem::BilinearFormIntegrator
 BilinearFormIntegrator (const IntegrationRule *ir=NULL)
 
- Protected Member Functions inherited from mfem::NonlinearFormIntegrator
 NonlinearFormIntegrator (const IntegrationRule *ir=NULL)
 
- Protected Attributes inherited from mfem::MixedVectorIntegrator
bool same_calc_shape
 
int space_dim
 
CoefficientQ
 
VectorCoefficientVQ
 
DiagonalMatrixCoefficientDQ
 
MatrixCoefficientMQ
 
- Protected Attributes inherited from mfem::NonlinearFormIntegrator
const IntegrationRuleIntRule
 
ceed::OperatorceedOp
 
MemoryType pa_mt = MemoryType::DEFAULT
 

Detailed Description

Class for integrating the bilinear form a(u,v) := (Q Grad u, Grad v) in 3D or in 2D and where Q is a scalar or matrix coefficient u and v are both in H1.

Definition at line 1112 of file bilininteg.hpp.

Constructor & Destructor Documentation

◆ MixedGradGradIntegrator() [1/4]

mfem::MixedGradGradIntegrator::MixedGradGradIntegrator ( )
inline

Definition at line 1115 of file bilininteg.hpp.

◆ MixedGradGradIntegrator() [2/4]

mfem::MixedGradGradIntegrator::MixedGradGradIntegrator ( Coefficient q)
inline

Definition at line 1116 of file bilininteg.hpp.

◆ MixedGradGradIntegrator() [3/4]

mfem::MixedGradGradIntegrator::MixedGradGradIntegrator ( DiagonalMatrixCoefficient dq)
inline

Definition at line 1118 of file bilininteg.hpp.

◆ MixedGradGradIntegrator() [4/4]

mfem::MixedGradGradIntegrator::MixedGradGradIntegrator ( MatrixCoefficient mq)
inline

Definition at line 1120 of file bilininteg.hpp.

Member Function Documentation

◆ CalcTestShape()

virtual void mfem::MixedGradGradIntegrator::CalcTestShape ( const FiniteElement test_fe,
ElementTransformation Trans,
DenseMatrix shape 
)
inlinevirtual

Reimplemented from mfem::MixedVectorIntegrator.

Definition at line 1161 of file bilininteg.hpp.

◆ CalcTrialShape()

virtual void mfem::MixedGradGradIntegrator::CalcTrialShape ( const FiniteElement trial_fe,
ElementTransformation Trans,
DenseMatrix shape 
)
inlinevirtual

Reimplemented from mfem::MixedVectorIntegrator.

Definition at line 1153 of file bilininteg.hpp.

◆ FiniteElementTypeFailureMessage()

virtual const char* mfem::MixedGradGradIntegrator::FiniteElementTypeFailureMessage ( ) const
inlinevirtual

Reimplemented from mfem::MixedVectorIntegrator.

Definition at line 1133 of file bilininteg.hpp.

◆ GetIntegrationOrder()

virtual int mfem::MixedGradGradIntegrator::GetIntegrationOrder ( const FiniteElement trial_fe,
const FiniteElement test_fe,
ElementTransformation Trans 
)
inlinevirtual

Reimplemented from mfem::MixedVectorIntegrator.

Definition at line 1140 of file bilininteg.hpp.

◆ GetTestVDim()

virtual int mfem::MixedGradGradIntegrator::GetTestVDim ( const FiniteElement test_fe)
inlinevirtual

Reimplemented from mfem::MixedVectorIntegrator.

Definition at line 1158 of file bilininteg.hpp.

◆ GetTrialVDim()

virtual int mfem::MixedGradGradIntegrator::GetTrialVDim ( const FiniteElement trial_fe)
inlinevirtual

Reimplemented from mfem::MixedVectorIntegrator.

Definition at line 1150 of file bilininteg.hpp.

◆ VerifyFiniteElementTypes()

virtual bool mfem::MixedGradGradIntegrator::VerifyFiniteElementTypes ( const FiniteElement trial_fe,
const FiniteElement test_fe 
) const
inlinevirtual

Reimplemented from mfem::MixedVectorIntegrator.

Definition at line 1123 of file bilininteg.hpp.


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