OCC Main Page | FoundationClasses | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

FoundationClasses
TKMath
PLib


PLib_JacobiPolynomial Class Reference

This class provides method to work with Jacobi Polynomials
relativly to an order of constraint
q = myWorkDegree-2*(myNivConstr+1)
Jk(t) for k=0,q compose the Jacobi Polynomial base relativly to the weigth W(t)
iorder is the integer value for the constraints:
iorder = 0 <=> ConstraintOrder = GeomAbs_C0
iorder = 1 <=> ConstraintOrder = GeomAbs_C1
iorder = 2 <=> ConstraintOrder = GeomAbs_C2
P(t) = R(t) + W(t) * Q(t) Where W(t) = (1-t**2)**(2*iordre+2)
the coefficients JacCoeff represents P(t) JacCoeff are stored as follow:

c0(1) c0(2) .... c0(Dimension)
c1(1) c1(2) .... c1(Dimension)



cDegree(1) cDegree(2) .... cDegree(Dimension)

The coefficients
c0(1) c0(2) .... c0(Dimension)
c2*ordre+1(1) ... c2*ordre+1(dimension)

represents the part of the polynomial in the
canonical base: R(t)
R(t) = c0 + c1 t + ...+ c2*iordre+1 t**2*iordre+1
The following coefficients represents the part of the
polynomial in the Jacobi base ie Q(t)
Q(t) = c2*iordre+2 J0(t) + ...+ cDegree JDegree-2*iordre-2
.

#include <PLib_JacobiPolynomial.hxx>

Inheritance diagram for PLib_JacobiPolynomial:

Inheritance graph
[legend]

Public Member Functions

Standard_EXPORT PLib_JacobiPolynomial (const Standard_Integer WorkDegree, const GeomAbs_Shape ConstraintOrder)
 Initialize the polynomial class
Degree has to be <= 30
ConstraintOrder has to be GeomAbs_C0
GeomAbs_C1
GeomAbs_C2
.
Standard_EXPORT void Points (const Standard_Integer NbGaussPoints, TColStd_Array1OfReal &TabPoints) const
 returns the Jacobi Points for Gauss integration ie
the positive values of the Legendre roots by increasing values
NbGaussPoints is the number of points choosen for the integral
computation.
TabPoints (0,NbGaussPoints/2)
TabPoints (0) is loaded only for the odd values of NbGaussPoints
The possible values for NbGaussPoints are : 8, 10,
15, 20, 25, 30, 35, 40, 50, 61
NbGaussPoints must be greater than Degree

Standard_EXPORT void Weights (const Standard_Integer NbGaussPoints, TColStd_Array2OfReal &TabWeights) const
 returns the Jacobi weigths for Gauss integration only for
the positive values of the Legendre roots in the order they
are given by the method Points
NbGaussPoints is the number of points choosen for the integral
computation.
TabWeights (0,NbGaussPoints/2,0,Degree)
TabWeights (0,.) are only loaded for the odd values of NbGaussPoints
The possible values for NbGaussPoints are : 8 , 10 , 15 ,20 ,25 , 30,
35 , 40 , 50 , 61 NbGaussPoints must be greater than Degree

Standard_EXPORT void MaxValue (TColStd_Array1OfReal &TabMax) const
 this method loads for k=0,q the maximum value of
abs ( W(t)*Jk(t) )for t bellonging to [-1,1]
This values are loaded is the array TabMax(0,myWorkDegree-2*(myNivConst+1))
MaxValue ( me ; TabMaxPointer : in out Real );

Standard_EXPORT Standard_Real MaxError (const Standard_Integer Dimension, Standard_Real &JacCoeff, const Standard_Integer NewDegree) const
 This method computes the maximum error on the polynomial
W(t) Q(t) obtained by missing the coefficients of JacCoeff from
NewDegree +1 to Degree
.
Standard_EXPORT void ReduceDegree (const Standard_Integer Dimension, const Standard_Integer MaxDegree, const Standard_Real Tol, Standard_Real &JacCoeff, Standard_Integer &NewDegree, Standard_Real &MaxError) const
 Compute NewDegree <= MaxDegree so that MaxError is lower
than Tol.
MaxError can be greater than Tol if it is not possible
to find a NewDegree <= MaxDegree.
In this case NewDegree = MaxDegree

.
Standard_EXPORT Standard_Real AverageError (const Standard_Integer Dimension, Standard_Real &JacCoeff, const Standard_Integer NewDegree) const
Standard_EXPORT void ToCoefficients (const Standard_Integer Dimension, const Standard_Integer Degree, const TColStd_Array1OfReal &JacCoeff, TColStd_Array1OfReal &Coefficients) const
 Convert the polynomial P(t) = R(t) + W(t) Q(t) in the canonical base.

.
Standard_EXPORT void D0 (const Standard_Real U, TColStd_Array1OfReal &BasisValue)
 Compute the values of the basis functions in u

.
Standard_EXPORT void D1 (const Standard_Real U, TColStd_Array1OfReal &BasisValue, TColStd_Array1OfReal &BasisD1)
 Compute the values and the derivatives values of
the basis functions in u
.
Standard_EXPORT void D2 (const Standard_Real U, TColStd_Array1OfReal &BasisValue, TColStd_Array1OfReal &BasisD1, TColStd_Array1OfReal &BasisD2)
 Compute the values and the derivatives values of
the basis functions in u
.
Standard_EXPORT void D3 (const Standard_Real U, TColStd_Array1OfReal &BasisValue, TColStd_Array1OfReal &BasisD1, TColStd_Array1OfReal &BasisD2, TColStd_Array1OfReal &BasisD3)
 Compute the values and the derivatives values of
the basis functions in u
.
Standard_Integer WorkDegree () const
 returns WorkDegree

Standard_Integer NivConstr () const
 returns NivConstr

Standard_EXPORT const Handle (Standard_Type)&DynamicType() const

Private Member Functions

Standard_EXPORT void D0123 (const Standard_Integer NDerive, const Standard_Real U, TColStd_Array1OfReal &BasisValue, TColStd_Array1OfReal &BasisD1, TColStd_Array1OfReal &BasisD2, TColStd_Array1OfReal &BasisD3)
 Compute the values and the derivatives values of
the basis functions in u
.

Private Attributes

Standard_Integer myWorkDegree
Standard_Integer myNivConstr
Standard_Integer myDegree
Handle_TColStd_HArray1OfReal myTNorm
Handle_TColStd_HArray1OfReal myCofA
Handle_TColStd_HArray1OfReal myCofB
Handle_TColStd_HArray1OfReal myDenom

Constructor & Destructor Documentation

Standard_EXPORT PLib_JacobiPolynomial::PLib_JacobiPolynomial const Standard_Integer  WorkDegree,
const GeomAbs_Shape  ConstraintOrder
 


Member Function Documentation

Standard_EXPORT Standard_Real PLib_JacobiPolynomial::AverageError const Standard_Integer  Dimension,
Standard_Real JacCoeff,
const Standard_Integer  NewDegree
const
 

Standard_EXPORT void PLib_JacobiPolynomial::D0 const Standard_Real  U,
TColStd_Array1OfReal BasisValue
[virtual]
 

Implements PLib_Base.

Standard_EXPORT void PLib_JacobiPolynomial::D0123 const Standard_Integer  NDerive,
const Standard_Real  U,
TColStd_Array1OfReal BasisValue,
TColStd_Array1OfReal BasisD1,
TColStd_Array1OfReal BasisD2,
TColStd_Array1OfReal BasisD3
[private]
 

Standard_EXPORT void PLib_JacobiPolynomial::D1 const Standard_Real  U,
TColStd_Array1OfReal BasisValue,
TColStd_Array1OfReal BasisD1
[virtual]
 

Implements PLib_Base.

Standard_EXPORT void PLib_JacobiPolynomial::D2 const Standard_Real  U,
TColStd_Array1OfReal BasisValue,
TColStd_Array1OfReal BasisD1,
TColStd_Array1OfReal BasisD2
[virtual]
 

Implements PLib_Base.

Standard_EXPORT void PLib_JacobiPolynomial::D3 const Standard_Real  U,
TColStd_Array1OfReal BasisValue,
TColStd_Array1OfReal BasisD1,
TColStd_Array1OfReal BasisD2,
TColStd_Array1OfReal BasisD3
[virtual]
 

Implements PLib_Base.

Standard_EXPORT const PLib_JacobiPolynomial::Handle Standard_Type   )  const
 

Reimplemented from PLib_Base.

Standard_EXPORT Standard_Real PLib_JacobiPolynomial::MaxError const Standard_Integer  Dimension,
Standard_Real JacCoeff,
const Standard_Integer  NewDegree
const
 

Standard_EXPORT void PLib_JacobiPolynomial::MaxValue TColStd_Array1OfReal TabMax  )  const
 

Standard_Integer PLib_JacobiPolynomial::NivConstr  )  const [inline]
 

Standard_EXPORT void PLib_JacobiPolynomial::Points const Standard_Integer  NbGaussPoints,
TColStd_Array1OfReal TabPoints
const
 

Standard_EXPORT void PLib_JacobiPolynomial::ReduceDegree const Standard_Integer  Dimension,
const Standard_Integer  MaxDegree,
const Standard_Real  Tol,
Standard_Real JacCoeff,
Standard_Integer NewDegree,
Standard_Real MaxError
const [virtual]
 

Implements PLib_Base.

Standard_EXPORT void PLib_JacobiPolynomial::ToCoefficients const Standard_Integer  Dimension,
const Standard_Integer  Degree,
const TColStd_Array1OfReal JacCoeff,
TColStd_Array1OfReal Coefficients
const [virtual]
 

Implements PLib_Base.

Standard_EXPORT void PLib_JacobiPolynomial::Weights const Standard_Integer  NbGaussPoints,
TColStd_Array2OfReal TabWeights
const
 

Standard_Integer PLib_JacobiPolynomial::WorkDegree  )  const [inline, virtual]
 

Implements PLib_Base.


Field Documentation

Handle_TColStd_HArray1OfReal PLib_JacobiPolynomial::myCofA [private]
 

Handle_TColStd_HArray1OfReal PLib_JacobiPolynomial::myCofB [private]
 

Standard_Integer PLib_JacobiPolynomial::myDegree [private]
 

Handle_TColStd_HArray1OfReal PLib_JacobiPolynomial::myDenom [private]
 

Standard_Integer PLib_JacobiPolynomial::myNivConstr [private]
 

Handle_TColStd_HArray1OfReal PLib_JacobiPolynomial::myTNorm [private]
 

Standard_Integer PLib_JacobiPolynomial::myWorkDegree [private]
 


The documentation for this class was generated from the following files:
Generated on Mon Aug 25 13:13:12 2008 for OpenCASCADE by  doxygen 1.4.1