MFEM  v4.0
Finite element discretization library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | Protected Attributes | List of all members
mfem::DGDiffusionIntegrator Class Reference

#include <bilininteg.hpp>

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

Public Member Functions

 DGDiffusionIntegrator (const double s, const double k)
 
 DGDiffusionIntegrator (Coefficient &q, const double s, const double k)
 
 DGDiffusionIntegrator (MatrixCoefficient &q, const double s, const double k)
 
virtual void AssembleFaceMatrix (const FiniteElement &el1, const FiniteElement &el2, FaceElementTransformations &Trans, DenseMatrix &elmat)
 
- Public Member Functions inherited from mfem::BilinearFormIntegrator
virtual void AssemblePA (const FiniteElementSpace &fes)
 Method defining partial assembly. 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 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 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. 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, int with_coef=1)
 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 ()
 
- Public Member Functions inherited from mfem::NonlinearFormIntegrator
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 &irule)
 Prescribe a fixed IntegrationRule to use. More...
 
virtual void AssembleFaceVector (const FiniteElement &el1, const FiniteElement &el2, FaceElementTransformations &Tr, const Vector &elfun, Vector &elvect)
 Perform the local action of the NonlinearFormIntegrator resulting from a face integral term. More...
 
virtual double GetElementEnergy (const FiniteElement &el, ElementTransformation &Tr, const Vector &elfun)
 Compute the local energy. More...
 
virtual ~NonlinearFormIntegrator ()
 

Protected Attributes

Coefficient * Q
 
MatrixCoefficient * MQ
 
double sigma
 
double kappa
 
Vector shape1
 
Vector shape2
 
Vector dshape1dn
 
Vector dshape2dn
 
Vector nor
 
Vector nh
 
Vector ni
 
DenseMatrix jmat
 
DenseMatrix dshape1
 
DenseMatrix dshape2
 
DenseMatrix mq
 
DenseMatrix adjJ
 
- Protected Attributes inherited from mfem::NonlinearFormIntegrator
const IntegrationRule * IntRule
 

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)
 

Detailed Description

Integrator for the DG form:

where Q is a scalar or matrix diffusion coefficient and u, v are the trial and test spaces, respectively. The parameters sigma and kappa determine the DG method to be used (when this integrator is added to the "broken" DiffusionIntegrator): sigma = -1, kappa >= kappa0: symm. interior penalty (IP or SIPG) method, sigma = +1, kappa > 0: non-symmetric interior penalty (NIPG) method, sigma = +1, kappa = 0: the method of Baumann and Oden.

Definition at line 2257 of file bilininteg.hpp.

Constructor & Destructor Documentation

mfem::DGDiffusionIntegrator::DGDiffusionIntegrator ( const double  s,
const double  k 
)
inline

Definition at line 2269 of file bilininteg.hpp.

mfem::DGDiffusionIntegrator::DGDiffusionIntegrator ( Coefficient &  q,
const double  s,
const double  k 
)
inline

Definition at line 2271 of file bilininteg.hpp.

mfem::DGDiffusionIntegrator::DGDiffusionIntegrator ( MatrixCoefficient &  q,
const double  s,
const double  k 
)
inline

Definition at line 2273 of file bilininteg.hpp.

Member Function Documentation

void mfem::DGDiffusionIntegrator::AssembleFaceMatrix ( const FiniteElement &  el1,
const FiniteElement &  el2,
FaceElementTransformations &  Trans,
DenseMatrix &  elmat 
)
virtual

Reimplemented from mfem::BilinearFormIntegrator.

Definition at line 2529 of file bilininteg.cpp.

Member Data Documentation

DenseMatrix mfem::DGDiffusionIntegrator::adjJ
protected

Definition at line 2266 of file bilininteg.hpp.

DenseMatrix mfem::DGDiffusionIntegrator::dshape1
protected

Definition at line 2266 of file bilininteg.hpp.

Vector mfem::DGDiffusionIntegrator::dshape1dn
protected

Definition at line 2265 of file bilininteg.hpp.

DenseMatrix mfem::DGDiffusionIntegrator::dshape2
protected

Definition at line 2266 of file bilininteg.hpp.

Vector mfem::DGDiffusionIntegrator::dshape2dn
protected

Definition at line 2265 of file bilininteg.hpp.

DenseMatrix mfem::DGDiffusionIntegrator::jmat
protected

Definition at line 2266 of file bilininteg.hpp.

double mfem::DGDiffusionIntegrator::kappa
protected

Definition at line 2262 of file bilininteg.hpp.

MatrixCoefficient* mfem::DGDiffusionIntegrator::MQ
protected

Definition at line 2261 of file bilininteg.hpp.

DenseMatrix mfem::DGDiffusionIntegrator::mq
protected

Definition at line 2266 of file bilininteg.hpp.

Vector mfem::DGDiffusionIntegrator::nh
protected

Definition at line 2265 of file bilininteg.hpp.

Vector mfem::DGDiffusionIntegrator::ni
protected

Definition at line 2265 of file bilininteg.hpp.

Vector mfem::DGDiffusionIntegrator::nor
protected

Definition at line 2265 of file bilininteg.hpp.

Coefficient* mfem::DGDiffusionIntegrator::Q
protected

Definition at line 2260 of file bilininteg.hpp.

Vector mfem::DGDiffusionIntegrator::shape1
protected

Definition at line 2265 of file bilininteg.hpp.

Vector mfem::DGDiffusionIntegrator::shape2
protected

Definition at line 2265 of file bilininteg.hpp.

double mfem::DGDiffusionIntegrator::sigma
protected

Definition at line 2262 of file bilininteg.hpp.


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