NGSolve
4.9
|
Element assembling. More...
#include <bdbintegrator.hpp>
Public Types | |
enum | { DIM_SPACE = DIFFOP::DIM_SPACE } |
enum | { DIM_ELEMENT = DIFFOP::DIM_ELEMENT } |
enum | { DIM_DMAT = DIFFOP::DIM_DMAT } |
enum | { DIM = DIFFOP::DIM } |
Public Member Functions | |
T_BDBIntegrator (Array< CoefficientFunction * > &coeffs) | |
T_BDBIntegrator (const DMATOP &admat) | |
virtual bool | BoundaryForm () const |
integrates on the boundary, or on the domain ? | |
virtual int | DimElement () const |
dimension of element | |
virtual int | DimSpace () const |
dimension of space | |
virtual int | DimFlux () const |
components of flux | |
DMATOP & | DMat () |
const DMATOP & | DMat () const |
virtual void | CheckElement (const FiniteElement &el) const |
does element match integrator ? | |
virtual void | ApplyDMat (const FiniteElement &bfel, const BaseMappedIntegrationPoint &bmip, const FlatVector< double > &elx, FlatVector< double > &eldx, LocalHeap &lh) const |
virtual void | ApplyDMat (const FiniteElement &bfel, const BaseMappedIntegrationPoint &bmip, const FlatVector< Complex > &elx, FlatVector< Complex > &eldx, LocalHeap &lh) const |
virtual void | ApplyDMat (const FiniteElement &bfel, const BaseMappedIntegrationRule &bmir, const FlatMatrix< double > &elx, FlatMatrix< double > &eldx, LocalHeap &lh) const |
virtual void | ApplyDMatInv (const FiniteElement &bfel, const BaseMappedIntegrationRule &bmir, const FlatMatrix< double > &elx, FlatMatrix< double > &eldx, LocalHeap &lh) const |
virtual void | ApplyDMat (const FiniteElement &bfel, const BaseMappedIntegrationRule &bmir, const FlatMatrix< Complex > &elx, FlatMatrix< Complex > &eldx, LocalHeap &lh) const |
virtual void | CalcElementMatrix (const FiniteElement &bfel, const ElementTransformation &eltrans, FlatMatrix< double > &elmat, LocalHeap &lh) const |
Computes the element matrix. | |
virtual void | CalcElementMatrix (const FiniteElement &bfel, const ElementTransformation &eltrans, FlatMatrix< Complex > &elmat, LocalHeap &lh) const |
Computes the element matrix. | |
template<typename TSCAL > | |
void | T_CalcElementMatrix (const FiniteElement &fel, const ElementTransformation &eltrans, FlatMatrix< TSCAL > &elmat, LocalHeap &lh) const |
virtual void | CalcElementMatrixDiag (const FiniteElement &bfel, const ElementTransformation &eltrans, FlatVector< double > &diag, LocalHeap &lh) const |
virtual void | ApplyElementMatrix (const FiniteElement &bfel, const ElementTransformation &eltrans, const FlatVector< double > &elx, FlatVector< double > &ely, void *precomputed, LocalHeap &lh) const |
virtual void | ApplyElementMatrix (const FiniteElement &bfel, const ElementTransformation &eltrans, const FlatVector< Complex > &elx, FlatVector< Complex > &ely, void *precomputed, LocalHeap &lh) const |
template<typename TSCAL > | |
void | T_ApplyElementMatrix (const FiniteElement &fel, const ElementTransformation &eltrans, const FlatVector< TSCAL > &elx, FlatVector< TSCAL > &ely, void *precomputed, LocalHeap &lh) const |
virtual void | ApplyMixedElementMatrix (const FiniteElement &bfel1, const FiniteElement &bfel2, const ElementTransformation &eltrans, const FlatVector< double > &elx, FlatVector< double > &ely, LocalHeap &lh) const |
IntegrationRule | GetIntegrationRule (const FiniteElement &fel, const bool use_higher_integration_order=false) const |
virtual void | CalcFlux (const FiniteElement &fel, const BaseMappedIntegrationPoint &bmip, const FlatVector< double > &elx, FlatVector< double > &flux, bool applyd, LocalHeap &lh) const |
virtual void | CalcFlux (const FiniteElement &fel, const BaseMappedIntegrationRule &bmir, const FlatVector< double > &elx, FlatMatrix< double > &flux, bool applyd, LocalHeap &lh) const |
virtual void | CalcFlux (const FiniteElement &fel, const BaseMappedIntegrationPoint &bmip, const FlatVector< Complex > &elx, FlatVector< Complex > &flux, bool applyd, LocalHeap &lh) const |
virtual void | CalcFluxMulti (const FiniteElement &bfel, const BaseMappedIntegrationPoint &bmip, int m, const FlatVector< double > &elx, FlatVector< double > &flux, bool applyd, LocalHeap &lh) const |
virtual void | ApplyBTrans (const FiniteElement &fel, const BaseMappedIntegrationPoint &bmip, const FlatVector< double > &elx, FlatVector< double > &ely, LocalHeap &lh) const |
virtual void | ApplyBTrans (const FiniteElement &fel, const BaseMappedIntegrationPoint &bmip, const FlatVector< Complex > &elx, FlatVector< Complex > &ely, LocalHeap &lh) const |
virtual void | ApplyBTrans (const FiniteElement &fel, const BaseMappedIntegrationRule &bmir, const FlatMatrix< double > &elx, FlatVector< double > &ely, LocalHeap &lh) const |
virtual int | GetDimension () const |
Protected Attributes | |
DMATOP | dmatop |
Element assembling.
Assembling for bilinear-forms of type $ (B v) : D (B u) dx$. \ Template argument DiffOp provides differential operator, i.e. B matrix, (e.g. gradient, strain operator, curl,...) \ DmatOp provides d-matrix (e.g. diagonal, anisotropic, plane stress, ...) \ FEL is element type to assemble matrix for (ScalarFiniteElement, HCurlFiniteElement, FE_Trig1, ...)
virtual void ngfem::T_BDBIntegrator< DIFFOP, DMATOP, FEL >::CalcElementMatrix | ( | const FiniteElement & | fel, |
const ElementTransformation & | eltrans, | ||
FlatMatrix< Complex > & | elmat, | ||
LocalHeap & | lh | ||
) | const [inline, virtual] |
Computes the element matrix.
Complex version
Reimplemented from ngfem::BilinearFormIntegrator.
Reimplemented in ngfem::PML_BDBIntegrator< DIFFOP, DMATOP, FEL >.