NGSolve  4.9
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
ngfem::Integrator Class Reference

Base class for linear-form and bilinear-form integrators. More...

#include <integrator.hpp>

Inheritance diagram for ngfem::Integrator:
ngfem::BilinearFormIntegrator ngfem::LinearFormIntegrator ngfem::BlockBilinearFormIntegrator ngfem::ComplexBilinearFormIntegrator ngfem::CompoundBilinearFormIntegrator ngfem::FacetBilinearFormIntegrator ngfem::T_BDBIntegrator< DIFFOP, DMATOP, FEL > ngfem::T_BDBIntegrator< DiffOpCurl, DiagDMat< 1 >, FEL > ngfem::T_BDBIntegrator< DiffOpCurl3d, DiagDMat< 3 >, FEL > ngfem::T_BDBIntegrator< DiffOpDiv< D >, DiagDMat< 1 >, FEL > ngfem::T_BDBIntegrator< DiffOpDivHDiv< D >, DiagDMat< 1 >, HDivFiniteElement< D > > ngfem::T_BDBIntegrator< DiffOpGradient< D >, DiagDMat< D >, FEL > ngfem::T_BDBIntegrator< DiffOpGradient< D >, OrthoDMat< D >, FEL > ngfem::T_BDBIntegrator< DiffOpGradient< D >, RotSymLaplaceDMat< D >, FEL > ngfem::T_BDBIntegrator< DiffOpGradientBoundary< D >, DiagDMat< D >, FEL > ngfem::T_BDBIntegrator< DiffOpId< D >, DiagDMat< 1 >, FEL > ngfem::T_BDBIntegrator< DiffOpIdBoundary< D >, DiagDMat< 1 >, FEL > ngfem::T_BDBIntegrator< DiffOpIdHDiv< D >, DiagDMat< D >, HDivFiniteElement< D > > ngfem::T_BDBIntegrator< DiffOpIdHDivBoundary< D >, DiagDMat< 1 >, HDivNormalFiniteElement< D-1 > > ngfem::T_BDBIntegrator< DiffOpNormal< D >, DiagDMat< 1 >, ScalarFiniteElement< D-1 > > ngfem::BlockLinearFormIntegrator ngfem::ComplexLinearFormIntegrator ngfem::CompoundLinearFormIntegrator ngfem::FacetLinearFormIntegrator ngfem::T_BIntegrator< DIFFOP, DVecOp, FEL > ngfem::T_BIntegrator< DiffOpDivHDiv< D >, DVec< 1 >, HDivFiniteElement< D > > ngfem::T_BIntegrator< DiffOpGradient< D >, DVec< D >, FEL > ngfem::T_BIntegrator< DiffOpId< D >, DVec< 1 >, FEL > ngfem::T_BIntegrator< DiffOpIdBoundary< D >, DVec< 1 >, FEL > ngfem::T_BIntegrator< DiffOpIdHDiv< D >, DVec< D >, HDivFiniteElement< D > > ngfem::T_BIntegrator< DiffOpIdHDiv< D >, DVecN< D >, HDivFiniteElement< D > > ngfem::T_BIntegrator< DiffOpIdHDivBoundary< D >, DVec< 1 >, FEL > ngfem::T_BIntegrator< DiffOpNormal< D >, DVec< 1 >, FEL >

List of all members.

Public Member Functions

 Integrator () throw ()
 constructor
virtual ~Integrator ()
 destructor
virtual bool BoundaryForm () const =0
 integrates on the boundary, or on the domain ?
virtual bool SkeletonForm () const
 integrates just on the skeleton, standard is NO
bool DefinedOn (int mat) const
 Is Integrator defined on this sub-domain ?
void SetDefinedOn (const BitArray &adefinedon)
 defined only on some subdomains
bool DefinedOnSubdomainsOnly () const
void SetHigherIntegrationOrder (int io)
 set minimal integration order
void SetIntegrationOrder (int io)
 set integration order
int GetIntegrationOrder (void) const
 returns integration order
void SetConstantCoefficient (bool acc=1)
 benefit from constant coefficient
virtual int DimElement () const
 dimension of element
virtual int DimSpace () const
 dimension of space
void SetName (const string &aname)
virtual string Name () const
virtual void CheckElement (const FiniteElement &el) const
 does element match integrator ?
bool IntegrationAlongCurve (void) const
void SetIntegrationAlongCurve (const int npoints)
void UnSetIntegrationAlongCurve (void)
int NumCurvePoints (void) const
FlatVector< double > & CurvePoint (const int i)
const FlatVector< double > & CurvePoint (const int i) const
FlatVector< double > & CurvePointTangent (const int i)
const FlatVector< double > & CurvePointTangent (const int i) const
int GetNumCurveParts (void) const
int GetStartOfCurve (const int i) const
int GetEndOfCurve (const int i) const
void AppendCurvePoint (const FlatVector< double > &point)
void AppendCurvePoint (const FlatVector< double > &point, const FlatVector< double > &tangent)
void SetCurveClearance (void)
virtual void SetCacheComp (const int comp)
virtual int CacheComp (void) const
virtual void SetFileName (const string &filename)

Static Public Member Functions

static void SetCommonIntegrationOrder (int cio)
 use exactly this integration order for all integrals
static int GetCommonIntegrationOrder ()

Protected Member Functions

void DeleteCurveIPs (void)

Protected Attributes

BitArray definedon
 define only on some sub-domains
int integration_order
 if >= 0, use this order of integration
int higher_integration_order
bool const_coef
 plane element and constant coefficients
string name
Array< FlatVector< double > * > curve_ips
 integration only along curve
Array< FlatVector< double > * > curve_ip_tangents
Array< int > continuous_curveparts
int cachecomp

Static Protected Attributes

static int common_integration_order
 if >= 0, use this order of integration for all terms

Detailed Description

Base class for linear-form and bilinear-form integrators.

Provides integration order, restriction to subdomains


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