NGSolve  4.9
Public Types | Public Member Functions | Protected Attributes
ngfem::T_BDBIntegrator< DIFFOP, DMATOP, FEL > Class Template Reference

Element assembling. More...

#include <bdbintegrator.hpp>

Inheritance diagram for ngfem::T_BDBIntegrator< DIFFOP, DMATOP, FEL >:
ngfem::BilinearFormIntegrator ngfem::Integrator ngfem::PML_BDBIntegrator< DIFFOP, DMATOP, FEL > ngfem::T_NonlinearBDBIntegrator< DIFFOP, DMATOP, FEL >

List of all members.

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

Detailed Description

template<class DIFFOP, class DMATOP, class FEL = FiniteElement>
class ngfem::T_BDBIntegrator< DIFFOP, DMATOP, FEL >

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, ...)


Member Function Documentation

template<class DIFFOP, class DMATOP, class FEL = FiniteElement>
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 >.


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