NGSolve  4.9
Classes | Typedefs | Enumerations | Functions | Variables
ngfem Namespace Reference

namespace for finite elements. More...

Classes

class  DiffOp
 Differential Operator. More...
class  DifferentialOperator
 Differential Operator. More...
class  BlockDifferentialOperator
class  T_DifferentialOperator
 Connect compile-time polymorph DiffOp to run-time polymorph DifferentialOperator. More...
class  T_FunctionDiffOp
class  DiffOpGradient
 Gradient operator of dimension D. More...
class  DiffOpGradientBoundary
 Boundary Gradient operator of dimension D. More...
class  DiffOpGradientRotSym
 Gradient operator in r-z coordinates. More...
class  DiffOpId
 Identity. More...
class  DiffOpIdSys
 Identity. More...
class  DiffOpIdBoundary
 Identity on boundary. More...
class  DiffOpIdBoundarySys
 Identity. More...
class  DiagDMat
 diagonal tensor, all values are the same More...
class  OrthoDMat
 orthotropic tensor. More...
class  OrthoDMat< 1 >
class  OrthoDMat< 2 >
class  OrthoDMat< 3 >
class  SymDMat
 full symmetric tensor More...
class  SymDMat< 1 >
class  SymDMat< 2 >
class  SymDMat< 3 >
class  NormalDMat
class  DVec
class  DVecN
class  TVec
class  RotSymLaplaceDMat
 DMat for rot.-sym. Laplace operator. More...
class  DiffOpNormal
 Identity on boundary. More...
class  NormalRobinIntegrator
 integrator for $\int_\Gamma u_n v_n \, ds$ More...
class  LaplaceIntegrator
 Integrator for grad u grad v. More...
class  LaplaceBoundaryIntegrator
class  RotSymLaplaceIntegrator
class  OrthoLaplaceIntegrator
class  MassIntegrator
class  RobinIntegrator
 integrator for $\int_\Gamma u v \, ds$ More...
class  DiffOpDiv
class  DivDivIntegrator
class  DiffOpCurl
class  CurlCurlIntegrator
class  DiffOpCurl3d
class  CurlCurl3dIntegrator
class  SourceIntegrator
 integrator for $\int_\Omega f v $ More...
class  NeumannIntegrator
class  NormalNeumannIntegrator
 integrator for $\int_\Gamma v_n \, ds$ More...
class  GradSourceIntegrator
class  DMatOp
 Coefficient tensor. More...
class  T_BDBIntegrator
 Element assembling. More...
class  T_NonlinearBDBIntegrator
class  T_BIntegrator
 Element vector assembling. More...
class  CoefficientFunction
 coefficient functions More...
class  ConstantCoefficientFunction
 The coefficient is constant everywhere. More...
class  DomainConstantCoefficientFunction
 The coefficient is constant in every sub-domain. More...
class  DomainVariableCoefficientFunction
class  DomainInternalCoefficientFunction
class  IntegrationPointCoefficientFunction
 coefficient function that is defined in every integration point. More...
class  PolynomialCoefficientFunction
 Coefficient function that depends (piecewise polynomially) on a parameter. More...
class  FileCoefficientFunction
class  ElementTopology
 Topology and coordinate information of master element: More...
class  Node
 A Node of an element. More...
class  NodeSet
 A binary representation of selecting V-E-F-C Nodes. More...
class  TopologicElement
class  ET_trait
class  ET_trait< ET_POINT >
class  ET_trait< ET_SEGM >
class  ET_trait< ET_TRIG >
class  ET_trait< ET_QUAD >
class  ET_trait< ET_TET >
class  ET_trait< ET_PRISM >
class  ET_trait< ET_PYRAMID >
class  ET_trait< ET_HEX >
class  ElementTransformation
 Transformation from reference element to physical element. More...
class  FE_ElementTransformation
class  FacetFEFacet
class  FacetVolumeFiniteElement
class  FiniteElement
 Define the degree of freedom. More...
class  CompoundFiniteElement
 A compound of several elements. More...
class  DummyFE
 a placeholder finite element More...
class  ScalarFiniteElement
 Scalar finite element. More...
class  DShapeElement
 Extracts and assigns gradient from autodiff. More...
class  DShapeAssign
 Assign gradients from generic shape functions. More...
class  EvaluateShapeElement
 Evaluate shape. More...
class  EvaluateShape
 Computes function value from generic shape functions. More...
class  EvaluateShapeTransElement
 todo More...
class  EvaluateShapeTrans
class  EvaluateDShapeElement
class  EvaluateDShape
class  EvaluateDShapeTransElement
class  EvaluateDShapeTrans
 todo More...
class  T_ScalarFiniteElement
 Base-element for template polymorphism. More...
class  T_ScalarFiniteElement2
 Base-element for template polymorphism. More...
class  RecPol
 Generic recursive polynomial. More...
class  RecPolMonomial
 Initialize coefficients with x^i. More...
class  RecPolJacobi
 Initialize coefficients with Jacobi polynomials. More...
class  RecPolLegendre
 Initialize coefficients with Legendre polynomials. More...
class  H1HighOrderFiniteElement
 High order finite elements for H^1. More...
class  T_H1HighOrderFiniteElement
 Barton-Nackman base class for H1 - high order finite elements. More...
class  H1HighOrderFE
 High order finite elements for H1. More...
class  H1HighOrderFE_Shape< ET_POINT >
 High order 0D finite element. More...
class  H1HighOrderFE_Shape< ET_SEGM >
 High order segment finite element. More...
class  H1HighOrderFE_Shape< ET_TRIG >
 High order triangular finite element. More...
class  H1HighOrderFE_Shape< ET_QUAD >
 High order quadrilateral finite element. More...
class  H1HighOrderFE_Shape< ET_TET >
 High order tetrahedral finite element. More...
class  H1HighOrderFE_Shape< ET_PRISM >
 High order prismatic finite element. More...
class  H1HighOrderFE_Shape< ET_HEX >
 High order hexahedral finite element. More...
class  H1HighOrderFE_Shape< ET_PYRAMID >
 High order pyramid shape functions. More...
class  DIM_CURL_TRAIT
class  DIM_CURL_TRAIT< 1 >
class  HCurlFiniteElement
 H(Curl) finite element of dimension D. More...
class  Du
class  uDv
class  uDv_minus_vDu
class  wuDv_minus_wvDu
class  HCurlShapeElement
class  HCurlCurlShapeElement
class  HCurlEvaluateCurlElement
class  HCurlShapeAssign
class  HCurlCurlShapeAssign
class  HCurlEvaluateCurl
class  T_HCurlFiniteElement
 Base-element for template polymorphism. More...
class  HCurlHighOrderFiniteElement
 High order H(curl) finite element of dimension D. More...
class  T_HCurlHighOrderFiniteElement
 HCurlHighOrderFE of shape ET. More...
class  HCurlHighOrderFE< ET_SEGM >
 A segment high order H(curl) element. More...
class  HCurlHighOrderFE< ET_TRIG >
 A triangular high order H(curl) element. More...
class  HCurlHighOrderFE< ET_QUAD >
 A quadrilateral high order H(curl) element. More...
class  HCurlHighOrderFE< ET_TET >
 A tetrahedral high order H(curl) element. More...
class  HCurlHighOrderFE< ET_HEX >
 A hexahedral high order H(curl) element. More...
class  HCurlHighOrderFE< ET_PRISM >
 A prismatic high order H(curl) element. More...
class  HCurlHighOrderFE< ET_PYRAMID >
 A pyramidal high order H(curl) element. More...
class  DiffOpIdHDiv
 Identity operator, Piola transformation. More...
class  DiffOpDivHDiv
 divergence Operator More...
class  DiffOpIdHDivBoundary
 Identity for boundary-normal elements. More...
class  DiffOpIdVecHDivBoundary
 Identity for boundary-normal elements, gives q_n n. More...
class  MassHDivIntegrator
 Integrator for term of zero-th order. More...
class  DivDivHDivIntegrator
 Integrator for div u div v. More...
class  DivSourceHDivIntegrator
 source term integrator for div v More...
class  BaseSourceHDivIntegrator
class  SourceHDivIntegrator< 2 >
class  SourceHDivIntegrator< 3 >
class  SourceHDivIntegratorN
class  NeumannHDivIntegrator
class  RobinHDivIntegrator
 integrator for $\int_\Gamma \sigma_n \tau_n \, ds$ More...
class  HDivFiniteElement
 Finite Elements for H(div) Raviart-Thomas, BDM, BDFM. More...
class  HDivNormalFiniteElement
 HDivNormalFiniteElement. More...
class  HDivHighOrderFiniteElement
class  HDivHighOrderNormalFiniteElement
class  HDivHighOrderNormalSegm
class  HDivHighOrderNormalTrig
class  HDivHighOrderNormalQuad
class  T_HDivHighOrderFiniteElement
class  HDivHighOrderFE< ET_TRIG >
class  HDivHighOrderFE< ET_QUAD >
class  HDivHighOrderFE< ET_TET >
class  HDivHighOrderFE< ET_PRISM >
class  HDivHighOrderFE< ET_HEX >
class  Integrator
 Base class for linear-form and bilinear-form integrators. More...
class  BilinearFormIntegrator
 A BilinearFormIntegrator computes the element matrices. More...
class  FacetBilinearFormIntegrator
class  BlockBilinearFormIntegrator
class  ComplexBilinearFormIntegrator
class  CompoundBilinearFormIntegrator
class  LinearFormIntegrator
 Integrator for element vector. More...
class  FacetLinearFormIntegrator
class  BlockLinearFormIntegrator
class  ComplexLinearFormIntegrator
class  CompoundLinearFormIntegrator
class  Integrators
 container for all integrators More...
class  RegisterBilinearFormIntegrator
class  RegisterLinearFormIntegrator
class  IntegrationPoint
 An integration point. More...
class  BaseMappedIntegrationPoint
 Base class for MappedIntegrationPoint. More...
class  DimMappedIntegrationPoint
class  MappedIntegrationPoint
 ip, dimension source, dimension range More...
class  IntegrationRule
 An integration rule. More...
class  IntegrationRuleTP
class  Facet2ElementTrafo
class  Facet2SurfaceElementTrafo
class  BaseMappedIntegrationRule
class  MappedIntegrationRule
class  L2HighOrderFiniteElement
 Base class for L2 - high order finite elements, i.e., a discontinuous approximation. More...
class  T_L2HighOrderFiniteElement
 Template family of L2 - high order finite elements. More...
class  PrecomputedScalShapes
class  L2HighOrderFE
class  L2HighOrderFE_Shape< ET_SEGM >
 L2 high order 1D finite element. More...
class  L2HighOrderFE_Shape< ET_TRIG >
 L2 high order triangular finite element. More...
class  L2HighOrderFE_Shape< ET_QUAD >
 L2 high order quadrilateral finite element. More...
class  L2HighOrderFE_Shape< ET_TET >
 L2 high order tetrahedral finite element. More...
class  L2HighOrderFE_Shape< ET_PRISM >
 L2 high order prismatic finite element. More...
class  L2HighOrderFE_Shape< ET_PYRAMID >
 L2 high order pyramid finite element. More...
class  L2HighOrderFE_Shape< ET_HEX >
 L2 high order hexahedral finite element. More...
class  PML_BDBIntegrator
class  CEvalFO
class  CEvalFO< REC,-1 >
class  CEvalFO< REC, 0 >
class  CEvalFO< REC, 1 >
class  RecursivePolynomial
class  LegendrePolynomial
class  JacobiPolynomialFix
class  DubinerJacobiPolynomialsFO
class  DubinerJacobiPolynomialsFO< n,-1, alpha0, beta >
class  DubinerJacobiPolynomialsPowFO
class  DubinerJacobiPolynomialsPowFO< n,-1, alpha0, beta >
class  DubinerJacobiPolynomialsDiag
class  DubinerJacobiPolynomialsDiag< ALPHA0, BETA, DIAG,-1 >
class  DubinerBasis
class  IntegratedLegendreMonomialExt
 Compute triangle edge-shape functions. More...
class  ConvertJacobi
class  TReduceAlpha
class  TReduceAlpha< 0, AL >
class  TReduceAlphaFactor
class  TReduceAlphaFactor< 0, AL, HIGHEST >
class  TDifferentiateJacobi
class  TDifferentiateJacobi< 0, AL >
class  TDifferentiateLegendre
class  TDifferentiateLegendre< 0 >
class  TTriangleReduceFactorCol
class  TTriangleReduceFactorCol< N, J,-1, AL, BE >
class  TTriangleReduceFactor
class  TTriangleReduceFactor< N,-1, AL, BE >
class  TTriangleReduceLoop2New
class  TTriangleReduceLoop2New< N, I,-1, AL, BE >
class  TTriangleReduceNew
class  TTriangleReduceNew< N,-1, AL, BE >
class  TetShapesInnerLegendre
class  TetShapesInnerJacobi
class  TetShapesFaceLegendre
class  TetShapesFaceJacobi
class  TetShapesFaceOpt1
class  TetShapesFaceOpt2
class  TrigShapesInnerLegendre
 Computes face shape functions for triangles. More...
class  TrigShapesInnerJacobi
 Compute triangular face shape functions. More...
class  TrigExtensionMonomial
 Compute triangle edge-shape functions. More...
class  TrigExtensionOptimal
 Evaluete optimal edge-shape function. More...
class  TrigExtensionMin
 ....... More...
class  SpecialElement
class  VectorFacetFacetFiniteElement
class  VectorFacetFacetSegm
 High order 1D finite element. More...
class  VectorFacetFacetTrig
 High order triangular finite element. More...
class  VectorFacetFacetQuad
 High order quadrilateral finite element. More...
class  VectorFacetVolumeFiniteElement
class  VectorFacetVolumeTrig
class  VectorFacetVolumeQuad
class  VectorFacetVolumeTet
class  VectorFacetVolumeHex
class  VectorFacetVolumePrism
class  VectorFacetVolumePyramid

Typedefs

typedef double POINT3D [3]
 point coordinates
typedef int EDGE [2]
 initial point, end point
typedef int FACE [4]
 points, last one is -1 for trig
typedef double NORMAL [3]
 normal vector

Enumerations

enum  ELEMENT_TYPE {
  ET_POINT = 0, ET_SEGM = 1, ET_TRIG = 10, ET_QUAD = 11,
  ET_TET = 20, ET_PYRAMID = 21, ET_PRISM = 22, ET_HEX = 24
}
 Geometry of element. More...
enum  NODE_TYPE { NT_VERTEX = 0, NT_EDGE = 1, NT_FACE = 2, NT_CELL = 3 }
 Type of node. More...

Functions

template<typename DOP , typename F >
DifferentialOperatorCreateFunctionDiffOp (const DOP &dop, const F &func, int dim=1)
template<int M>
NGS_DLL_HEADER void FastMat (int n, Complex *ba, Complex *pb, Complex *pc)
template<int M>
NGS_DLL_HEADER void FastMat (int n, double *__restrict__ ba, double *__restrict__ pb, double *__restrict__ pc)
double Evaluate (const CoefficientFunction &fun, const BaseMappedIntegrationPoint &ip)
void operator++ (NODE_TYPE &nt, int)
int CalcNodeId (ELEMENT_TYPE et, const Node &node)
Node CalcNodeFromId (ELEMENT_TYPE et, int nodeid)
ostream & operator<< (ostream &ost, const Node &node)
ostream & operator<< (ostream &ost, const TopologicElement &etop)
int PolBubbleDimension (ELEMENT_TYPE ET, const INT< 1 > &order)
int PolBubbleDimension (ELEMENT_TYPE ET, const INT< 2 > &order)
int PolBubbleDimension (ELEMENT_TYPE ET, const INT< 3 > &order)
template<typename TFA >
void SetZero (TFA &shape, int first, int next)
void SetZero (EvaluateShape &shape, int first, int next)
void SetZero (EvaluateShapeTrans &shape, int first, int next)
ostream & operator<< (ostream &ost, const RecPol &pol)
 output coefficients
void GenerateMatrix (const RecPol &pol1, const RecPol &pol2, FlatVector<> pts, FlatVector<> coefs, FlatMatrix<> mat)
void GenerateMatrix (const RecPol &pol1, FlatMatrix<> pol1_vals, const RecPol &pol2, FlatMatrix<> pol2_vals, FlatVector<> coefs, FlatMatrix<> mat)
AutoDiff< 3 > Cross (const AutoDiff< 3 > &u, const AutoDiff< 3 > &v)
AutoDiff< 1 > Cross (const AutoDiff< 2 > &u, const AutoDiff< 2 > &v)
template<int D>
void ComputeGradientMatrix (const ScalarFiniteElement< D > &h1fe, const HCurlFiniteElement< D > &hcurlfe, FlatMatrix<> gradient)
NGS_DLL_HEADER IntegratorsGetIntegrators ()
template<int DIMS, int DIMR, typename SCAL >
ostream & operator<< (ostream &ost, const MappedIntegrationPoint< DIMS, DIMR, SCAL > &sip)
ostream & operator<< (ostream &ost, const IntegrationRule &ir)
NGS_DLL_HEADER void ComputeGaussRule (int n, Array< double > &xi, Array< double > &wi)
 Computes Gaussean integration.
NGS_DLL_HEADER void ComputeGaussJacobiRule (int n, Array< double > &xi, Array< double > &wi, double alf, double bet)
 Computes Gauss-Jacobi integration rule.
NGS_DLL_HEADER void ComputeHermiteRule (int n, Array< double > &x, Array< double > &w)
 Computes Gauss-Hermite integration rule.
NGS_DLL_HEADER const
IntegrationRule
SelectIntegrationRule (ELEMENT_TYPE eltype, int order)
NGS_DLL_HEADER const
IntegrationRule
SelectIntegrationRuleJacobi10 (int order)
NGS_DLL_HEADER const
IntegrationRule
SelectIntegrationRuleJacobi20 (int order)
void SetPMLParameters ()
template<class S , class T >
void LegendrePolynomial1 (int n, S x, T &values)
 Legendre polynomials P_i on (-1,1), up to order n --> n+1 values.
template<class S , class Sc , class T >
void LegendrePolynomialMult (int n, S x, Sc c, T &values)
template<class S , class T >
void JacobiPolynomial (int n, S x, double alpha, double beta, T &values)
template<class S , class Sc , class T >
void JacobiPolynomialMult (int n, S x, double alpha, double beta, Sc c, T &values)
template<class S , class St , class T >
void ScaledJacobiPolynomial (int n, S x, St t, double alpha, double beta, T &values)
template<class S , class St , class Sc , class T >
void ScaledJacobiPolynomialMult (int n, S x, St t, double alpha, double beta, Sc c, T &values)
template<class S , class T >
void DubinerJacobiPolynomials1 (int n, S x, int alpha0, int beta, T &values)
template<int ALPHA0, int BETA, class S , class T >
void DubinerJacobiPolynomials2 (int n, S x, T &values)
template<int ALPHA0, int BETA, class S , class T >
void DubinerJacobiPolynomials (int n, S x, T &values)
template<class S , class St , class T >
void DubinerJacobiPolynomialsScaled1 (int n, S x, St t, int alpha0, int beta, T &values)
template<int ALPHA0, int BETA, class S , class St , class T >
void DubinerJacobiPolynomialsScaled (int n, S x, St t, T &values)
template<class S , class T >
void GegenbauerPolynomial (int n, S x, double lam, T &values)
template<class S , class T >
void IntegratedLegendrePolynomial (int n, S x, T &values)
 Integrated Legendre polynomials on (-1,1)
template<class S , class T >
void HermitePolynomial (int n, S x, T &values)
 Hermite polynomials H_i, orthogonal w.r.t.
template<class Sx , class Sy , class T >
void TriangleExtensionMonomial (int n, Sx x, Sy y, T &values)
 Compute triangle edge-shape functions.
template<class Sx , class Sy , class T >
void DiffTriangleExtensionMonomial (int n, Sx x, Sy y, T &values)
template<class Sx , class Sy , class T >
void TriangleExtensionJacobi (int n, Sx x, Sy y, T &values)
 Extension is the optimal averaging extension:
template<class Sx , class Sy , class T >
void DiffTriangleExtensionJacobi (int n, Sx x, Sy y, T &values)
template<class Sx , class Sy , class T >
void TriangleExtensionOpt (int n, Sx x, Sy y, T &values)
 Extension is the optimal averaging extension:
template<class Sx , class Sy , class T >
void DiffTriangleExtensionOpt (int n, Sx x, Sy y, T &values)
template<class S1 , class S2 , class S3 >
void StdOp (S1 &v1, const S2 &tt, const S3 &v2, double fac)
template<int D>
void StdOp (AutoDiff< D > &v1, const AutoDiff< D > &tt, const AutoDiff< D > &v2, double fac)
template<class Sx , class St , class T >
void ScaledLegendrePolynomial (int n, Sx x, St t, T &values)
template<class Sx , class St , class Sc , class T >
void ScaledLegendrePolynomialMult (int n, Sx x, St t, Sc c, T &values)
template<class T >
void DiffScaledLegendrePolynomial (int n, double x, double t, T &values)
template<class Sx , class St , class T >
void ScaledIntegratedLegendrePolynomial (int n, Sx x, St t, T &values)
template<class T >
void ScaledLegendrePolynomialandDiff (int n, double x, double t, T &P, T &Px, T &Pt)
template<class T >
void LegendrePolynomialandDiff (int n, double x, T &P, T &Px)
template<class T >
void ConvertJacobiReduceAlpha (int n, int alpha, T &inout)
template<class T >
void ConvertJacobiReduceAlphaFactor (int n, double alpha, T &inout)
template<class T >
void DifferentiateJacobi (int n, double alpha, T &inout)
template<class T >
void DifferentiateJacobiTrans (int n, double alpha, T &inout)
template<class T >
void DifferentiateLegendre (int n, T &inout)
template<class T >
void DifferentiateLegendreTrans (int n, T &inout)

Variables

class NGS_DLL_HEADER FacetVolumeFiniteElement
class NGS_DLL_HEADER ElementTransformation
Complex alpha
double pml_r
double pml_x
double pml_xmin [3]
double pml_xmax [3]
int rect_pml
bool apply_deriv_alpha

Detailed Description

namespace for finite elements.

Definition of reference FiniteElement, ScalarFiniteElement, and vector-valued elements HDivFiniteElement and HCurlFiniteElement

Definition of the geometry of the element, i.e., ElementTransformation

IntegrationPoint on the reference element, and SpecificIntegrationPoint on the mapped element

Element-matrix and element-vector calculation by BilinearFormIntegrator and LinearFormIntegrator


Enumeration Type Documentation

Geometry of element.

Possible are ET_POINT, ET_SEGM, ET_TRIG, ET_QUAD, ET_TET, ET_PYRAMID, ET_PRISM, ET_HEX

Type of node.

vertex nodes are 0 dimensional, edge nodes are 1 dimensional face nodes are 2 dimensional cell nodes are 3 dimensional

2D elements have vertex, edge, and face nodes

3D elements have vertex, edge, face and cell nodes


Function Documentation

NGS_DLL_HEADER void ngfem::ComputeGaussJacobiRule ( int  n,
Array< double > &  xi,
Array< double > &  wi,
double  alf,
double  bet 
)

Computes Gauss-Jacobi integration rule.

Integration rule on (0,1), contains n points. Assumes that the polynomial has alpha roots in 1, and beta roots in 0. Exact for polynomials up to order 2n-1 + alpha + beta

NGS_DLL_HEADER void ngfem::ComputeGaussRule ( int  n,
Array< double > &  xi,
Array< double > &  wi 
)

Computes Gaussean integration.

Integration rule on (0,1), contains n points, Exact for polynomials up to order 2n-1

NGS_DLL_HEADER void ngfem::ComputeHermiteRule ( int  n,
Array< double > &  x,
Array< double > &  w 
)

Computes Gauss-Hermite integration rule.

Integration rule on R, contains n points. Exact for exp{-x*x} * p(x), with polynomials p(x) up to order 2n-1

template<class S , class T >
void ngfem::HermitePolynomial ( int  n,
x,
T &  values 
) [inline]

Hermite polynomials H_i, orthogonal w.r.t.

exp(-x*x) up to order n --> n+1 values

H_l = 2 x H_{l-1} - 2 (l-1) H_{l-2}

P_0 = 1 P_1 = 2*x P_2 = 4*x*x - 2 P_2 = 8*x*x*x - 12 x

template<class S , class T >
void ngfem::IntegratedLegendrePolynomial ( int  n,
x,
T &  values 
) [inline]

Integrated Legendre polynomials on (-1,1)

value[0] = -1 value[1] = x value[i] (x) = {-1}^x P_{i-1} (s) ds for i >= 2

WARNING: is not P_i

template<class S , class T >
void ngfem::LegendrePolynomial1 ( int  n,
x,
T &  values 
) [inline]

Legendre polynomials P_i on (-1,1), up to order n --> n+1 values.

l P_l = (2 l - 1) x P_{l-1} - (l-1) P_{l-2}

P_0 = 1 P_1 = x P_2 = -1/2 + 3/2 x^2

template<class Sx , class Sy , class T >
void ngfem::TriangleExtensionMonomial ( int  n,
Sx  x,
Sy  y,
T &  values 
) [inline]

Compute triangle edge-shape functions.

functions vanish on upper two edges

x,y: coordinates in triangle (-1, 0), (1, 0), (0, 1)

f_i (x, 0) = IntegratedLegendrePol_i (x)

f_i ... pol of order i

Monomial extension: