![]() |
Open CASCADE Technology Reference Manual 8.0.0
|
This class provides method to work with Jacobi Polynomials relatively to an order of constraint q = myWorkDegree-2*(myNivConstr+1) Jk(t) for k=0,q compose the Jacobi Polynomial base relatively to the weight 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) = H(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: More...
#include <PLib_HermitJacobi.hxx>
Public Member Functions | |
| PLib_HermitJacobi (const int WorkDegree, const GeomAbs_Shape ConstraintOrder) | |
| Initialize the polynomial class Degree has to be <= 30 ConstraintOrder has to be GeomAbs_C0 GeomAbs_C1 GeomAbs_C2. | |
| double | MaxError (const int Dimension, double &HermJacCoeff, const int 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. | |
| void | ReduceDegree (const int Dimension, const int MaxDegree, const double Tol, double &HermJacCoeff, int &NewDegree, double &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. | |
| double | AverageError (const int Dimension, double &HermJacCoeff, const int NewDegree) const |
| void | ToCoefficients (const int Dimension, const int Degree, const NCollection_Array1< double > &HermJacCoeff, NCollection_Array1< double > &Coefficients) const |
| Convert the polynomial P(t) = H(t) + W(t) Q(t) in the canonical base. | |
| void | D0 (const double U, NCollection_Array1< double > &BasisValue) const |
| Compute the values of the basis functions in u. | |
| void | D1 (const double U, NCollection_Array1< double > &BasisValue, NCollection_Array1< double > &BasisD1) const |
| Compute the values and the derivatives values of the basis functions in u. | |
| void | D2 (const double U, NCollection_Array1< double > &BasisValue, NCollection_Array1< double > &BasisD1, NCollection_Array1< double > &BasisD2) const |
| Compute the values and the derivatives values of the basis functions in u. | |
| void | D3 (const double U, NCollection_Array1< double > &BasisValue, NCollection_Array1< double > &BasisD1, NCollection_Array1< double > &BasisD2, NCollection_Array1< double > &BasisD3) const |
| Compute the values and the derivatives values of the basis functions in u. | |
| int | WorkDegree () const noexcept |
| returns WorkDegree | |
| int | NivConstr () const noexcept |
| returns NivConstr | |
Protected Member Functions | |
| void | D0123 (const int NDerive, const double U, NCollection_Array1< double > &BasisValue, NCollection_Array1< double > &BasisD1, NCollection_Array1< double > &BasisD2, NCollection_Array1< double > &BasisD3) const |
| Compute the values and the derivatives values of the basis functions in u. | |
This class provides method to work with Jacobi Polynomials relatively to an order of constraint q = myWorkDegree-2*(myNivConstr+1) Jk(t) for k=0,q compose the Jacobi Polynomial base relatively to the weight 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) = H(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:
The coefficients
represents the part of the polynomial in the Hermit's base: H(t)
The following coefficients represents the part of the polynomial in the Jacobi base ie Q(t)
| PLib_HermitJacobi::PLib_HermitJacobi | ( | const int | WorkDegree, |
| const GeomAbs_Shape | ConstraintOrder ) |
Initialize the polynomial class Degree has to be <= 30 ConstraintOrder has to be GeomAbs_C0 GeomAbs_C1 GeomAbs_C2.
| double PLib_HermitJacobi::AverageError | ( | const int | Dimension, |
| double & | HermJacCoeff, | ||
| const int | NewDegree ) const |
| void PLib_HermitJacobi::D0 | ( | const double | U, |
| NCollection_Array1< double > & | BasisValue ) const |
Compute the values of the basis functions in u.
|
protected |
Compute the values and the derivatives values of the basis functions in u.
| void PLib_HermitJacobi::D1 | ( | const double | U, |
| NCollection_Array1< double > & | BasisValue, | ||
| NCollection_Array1< double > & | BasisD1 ) const |
Compute the values and the derivatives values of the basis functions in u.
| void PLib_HermitJacobi::D2 | ( | const double | U, |
| NCollection_Array1< double > & | BasisValue, | ||
| NCollection_Array1< double > & | BasisD1, | ||
| NCollection_Array1< double > & | BasisD2 ) const |
Compute the values and the derivatives values of the basis functions in u.
| void PLib_HermitJacobi::D3 | ( | const double | U, |
| NCollection_Array1< double > & | BasisValue, | ||
| NCollection_Array1< double > & | BasisD1, | ||
| NCollection_Array1< double > & | BasisD2, | ||
| NCollection_Array1< double > & | BasisD3 ) const |
Compute the values and the derivatives values of the basis functions in u.
| double PLib_HermitJacobi::MaxError | ( | const int | Dimension, |
| double & | HermJacCoeff, | ||
| const int | 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.
|
inlinenoexcept |
returns NivConstr
| void PLib_HermitJacobi::ReduceDegree | ( | const int | Dimension, |
| const int | MaxDegree, | ||
| const double | Tol, | ||
| double & | HermJacCoeff, | ||
| int & | NewDegree, | ||
| double & | 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.
| void PLib_HermitJacobi::ToCoefficients | ( | const int | Dimension, |
| const int | Degree, | ||
| const NCollection_Array1< double > & | HermJacCoeff, | ||
| NCollection_Array1< double > & | Coefficients ) const |
Convert the polynomial P(t) = H(t) + W(t) Q(t) in the canonical base.
|
inlinenoexcept |
returns WorkDegree