NGSolve
4.9
|
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 ![]() | |
class | LaplaceIntegrator |
Integrator for grad u grad v. More... | |
class | LaplaceBoundaryIntegrator |
class | RotSymLaplaceIntegrator |
class | OrthoLaplaceIntegrator |
class | MassIntegrator |
class | RobinIntegrator |
integrator for ![]() | |
class | DiffOpDiv |
class | DivDivIntegrator |
class | DiffOpCurl |
class | CurlCurlIntegrator |
class | DiffOpCurl3d |
class | CurlCurl3dIntegrator |
class | SourceIntegrator |
integrator for ![]() | |
class | NeumannIntegrator |
class | NormalNeumannIntegrator |
integrator for ![]() | |
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 ![]() | |
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 > | |
DifferentialOperator * | CreateFunctionDiffOp (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 Integrators & | GetIntegrators () |
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 |
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
enum ngfem::ELEMENT_TYPE |
Geometry of element.
Possible are ET_POINT, ET_SEGM, ET_TRIG, ET_QUAD, ET_TET, ET_PYRAMID, ET_PRISM, ET_HEX
enum ngfem::NODE_TYPE |
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
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
void ngfem::HermitePolynomial | ( | int | n, |
S | 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
void ngfem::IntegratedLegendrePolynomial | ( | int | n, |
S | 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
void ngfem::LegendrePolynomial1 | ( | int | n, |
S | 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
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: