MFEM v2.0
|
#include <bilininteg.hpp>
Public Member Functions | |
DiffusionIntegrator (Coefficient &q) | |
Construct a diffusion integrator with a scalar coefficient q. | |
DiffusionIntegrator (MatrixCoefficient &q) | |
Construct a diffusion integrator with a matrix coefficient q. | |
virtual void | AssembleElementMatrix (const FiniteElement &el, ElementTransformation &Trans, DenseMatrix &elmat) |
virtual void | ComputeElementFlux (const FiniteElement &el, ElementTransformation &Trans, Vector &u, const FiniteElement &fluxelem, Vector &flux, int wcoef) |
virtual double | ComputeFluxEnergy (const FiniteElement &fluxelem, ElementTransformation &Trans, Vector &flux) |
Private Attributes | |
Vector | vec |
Vector | pointflux |
Vector | shape |
DenseMatrix | dshape |
DenseMatrix | dshapedxt |
DenseMatrix | invdfdx |
Coefficient * | Q |
MatrixCoefficient * | MQ |
Class for integrating the bilinear form a(u,v) := (Q grad u, grad v) where Q can be a scalar or a matrix coefficient.
Definition at line 87 of file bilininteg.hpp.
DiffusionIntegrator::DiffusionIntegrator | ( | Coefficient & | q | ) | [inline] |
Construct a diffusion integrator with a scalar coefficient q.
Definition at line 99 of file bilininteg.hpp.
References MQ.
DiffusionIntegrator::DiffusionIntegrator | ( | MatrixCoefficient & | q | ) | [inline] |
Construct a diffusion integrator with a matrix coefficient q.
Definition at line 102 of file bilininteg.hpp.
References Q.
void DiffusionIntegrator::AssembleElementMatrix | ( | const FiniteElement & | el, |
ElementTransformation & | Trans, | ||
DenseMatrix & | elmat | ||
) | [virtual] |
Given a particular Finite Element computes the element stiffness matrix elmat.
Reimplemented from BilinearFormIntegrator.
Definition at line 68 of file bilininteg.cpp.
References AddMult_a_AAt(), AddMultABt(), FiniteElement::CalcDShape(), CalcInverse(), IntegrationRules::Get(), FiniteElement::GetDim(), FiniteElement::GetDof(), FiniteElement::GetGeomType(), IntegrationRule::GetNPoints(), FiniteElement::GetOrder(), IntegrationRule::IntPoint(), IntRules, ElementTransformation::Jacobian(), Mult(), MultABt(), FunctionSpace::Pk, RefinedIntRules, FunctionSpace::rQk, ElementTransformation::SetIntPoint(), DenseMatrix::SetSize(), FiniteElement::Space(), IntegrationPoint::weight, and ElementTransformation::Weight().
void DiffusionIntegrator::ComputeElementFlux | ( | const FiniteElement & | el, |
ElementTransformation & | Trans, | ||
Vector & | u, | ||
const FiniteElement & | fluxelem, | ||
Vector & | flux, | ||
int | wcoef | ||
) | [virtual] |
Reimplemented from BilinearFormIntegrator.
Definition at line 123 of file bilininteg.cpp.
References FiniteElement::CalcDShape(), CalcInverse(), FiniteElement::GetDim(), FiniteElement::GetDof(), FiniteElement::GetNodes(), IntegrationRule::GetNPoints(), IntegrationRule::IntPoint(), ElementTransformation::Jacobian(), DenseMatrix::Mult, DenseMatrix::MultTranspose(), ElementTransformation::SetIntPoint(), Vector::SetSize(), and DenseMatrix::SetSize().
double DiffusionIntegrator::ComputeFluxEnergy | ( | const FiniteElement & | fluxelem, |
ElementTransformation & | Trans, | ||
Vector & | flux | ||
) | [virtual] |
Reimplemented from BilinearFormIntegrator.
Definition at line 173 of file bilininteg.cpp.
References FiniteElement::CalcShape(), IntegrationRules::Get(), FiniteElement::GetDim(), FiniteElement::GetDof(), FiniteElement::GetGeomType(), IntegrationRule::GetNPoints(), FiniteElement::GetOrder(), IntegrationRule::IntPoint(), IntRules, DenseMatrix::Mult, ElementTransformation::SetIntPoint(), DenseMatrix::SetSize(), IntegrationPoint::weight, and ElementTransformation::Weight().
DenseMatrix DiffusionIntegrator::dshape [private] |
Definition at line 92 of file bilininteg.hpp.
DenseMatrix DiffusionIntegrator::dshapedxt [private] |
Definition at line 92 of file bilininteg.hpp.
DenseMatrix DiffusionIntegrator::invdfdx [private] |
Definition at line 92 of file bilininteg.hpp.
MatrixCoefficient* DiffusionIntegrator::MQ [private] |
Definition at line 95 of file bilininteg.hpp.
Referenced by DiffusionIntegrator().
Vector DiffusionIntegrator::pointflux [private] |
Definition at line 90 of file bilininteg.hpp.
Coefficient* DiffusionIntegrator::Q [private] |
Definition at line 94 of file bilininteg.hpp.
Referenced by DiffusionIntegrator().
Vector DiffusionIntegrator::shape [private] |
Definition at line 90 of file bilininteg.hpp.
Vector DiffusionIntegrator::vec [private] |
Definition at line 90 of file bilininteg.hpp.