FEmTool
OCCT package FEmTool: FEmTool_Assembly, FEmTool_Curve, FEmTool_ElementaryCriterion, FEmTool_ElementsOfRefMatrix, and 5 more bound classes.
FEmTool_Assembly
Assemble and solve system from (one dimensional) Finite Elements.
Constructors(1)
- constructor(Dependence: NCollection_Array2_int, Table: NCollection_HArray2_handle_NCollection_HArray1_int): FEmTool_AssemblyParameters (2)
DependenceTable
Instance methods(12)
- NullifyMatrix(): void
Nullify all Matrix's Coefficient.
- AddMatrix(Element: number, Dimension1: number, Dimension2: number, Mat: math_Matrix): void
Add an elementary Matrix in the assembly Matrix if Dependence(Dimension1,Dimension2) is False.
Parameters (4)ElementDimension1Dimension2Mat
- NullifyVector(): void
Nullify all Coordinate of assembly Vector (second member).
- AddVector(Element: number, Dimension: number, Vec: math_Vector): void
Add an elementary Vector in the assembly Vector (second member).
Parameters (3)ElementDimensionVec
- ResetConstraint(): void
Delete all Constraints.
- NullifyConstraint(): void
Nullify all Constraints.
- AddConstraint(IndexofConstraint: number, Element: number, Dimension: number, LinearForm: math_Vector, Value: number): voidParameters (5)
IndexofConstraintElementDimensionLinearFormValue
- Solve(): boolean
Solve the assembly system Returns false if the computation failed.
- Solution(Solution: math_Vector): voidParameters (1)
Solution
- NbGlobVar(): number
Returns the assembly table mapping element-local indices to global indices.
Returnsconst reference to the assembly table
- GetAssemblyTable(): { AssTable: NCollection_HArray2_handle_NCollection_HArray1_int; [Symbol.dispose](): void }
Returns the assembly table via output parameter.
DeprecatedReturnsA result object with fields:
AssTable: owned by the returned envelope.
Dispose the returned envelope to release owned Handle fields.
FEmTool_Curve
Curve defined by Polynomial Elements.
Constructors(1)
- constructor(Dimension: number, NbElements: number, TheBase: PLib_HermitJacobi, Tolerance: number): FEmTool_CurveParameters (4)
DimensionNbElementsTheBaseTolerance
Static methods(2)
- get_type_name(): string
Instance methods(15)
- SetElement(IndexOfElement: number, Coeffs: NCollection_Array2_double): voidParameters (2)
IndexOfElementCoeffs
- D0(U: number, Pnt: NCollection_Array1_double): voidParameters (2)
UPnt
- D1(U: number, Vec: NCollection_Array1_double): voidParameters (2)
UVec
- D2(U: number, Vec: NCollection_Array1_double): voidParameters (2)
UVec
- Length(FirstU: number, LastU: number, Length: number): { Length: number }Parameters (3)
FirstULastULength
- GetElement(IndexOfElement: number, Coeffs: NCollection_Array2_double): voidParameters (2)
IndexOfElementCoeffs
- GetPolynom(Coeffs: NCollection_Array1_double): void
returns coefficients of all elements in canonical base.
Parameters (1)Coeffs—Mutated in place; read the updated value from this argument after the call.
- NbElements(): number
- Dimension(): number
- Degree(IndexOfElement: number): numberParameters (1)
IndexOfElement
- SetDegree(IndexOfElement: number, Degree: number): voidParameters (2)
IndexOfElementDegree
- ReduceDegree(IndexOfElement: number, Tol: number, NewDegree: number, MaxError: number): { NewDegree: number; MaxError: number }Parameters (4)
IndexOfElementTolNewDegreeMaxError
FEmTool_ElementaryCriterion
defined J Criteria to used in minimisation
Static methods(2)
- get_type_name(): string
Instance methods(7)
- Set(Coeff: NCollection_HArray2_double): void
Set the coefficient of the Element (the Curve).
Parameters (1)Coeff
- Set(FirstKnot: number, LastKnot: number): void
Set the definition interval of the Element.
Parameters (2)FirstKnotLastKnot
To know if two dimension are independent.
- Value(): number
To Compute J(E) where E is the current Element.
- Hessian(Dim1: number, Dim2: number, H: math_Matrix): void
To Compute J(E) the coefficients of Hessian matrix of J(E) which are crossed derivatives in dimensions <Dim1> and <Dim2>. If DependenceTable(Dimension1,Dimension2) is False.
Parameters (3)Dim1Dim2H
- Gradient(Dim: number, G: math_Vector): void
To Compute the coefficients in the dimension <dim> of the J(E)'s Gradient where E is the current Element.
Parameters (2)DimG
FEmTool_ElementsOfRefMatrix
this class describes the functions needed for calculating matrix elements of RefMatrix for linear criteriums (Tension, Flexion and Jerk) by Gauss integration. Each function from set gives value Pi(u)'*Pj(u)' or Pi(u)''*Pj(u)'' or Pi(u)'''*Pj(u)''' for each i and j, where Pi(u) is i-th basis function of expansion and (') means derivative.
Constructors(1)
- constructor(TheBase: PLib_HermitJacobi, DerOrder: number): FEmTool_ElementsOfRefMatrixParameters (2)
TheBaseDerOrder
Instance methods(3)
- NbVariables(): number
returns the number of variables of the function. It is supposed that NbVariables = 1.
- NbEquations(): number
returns the number of equations of the function.
- Value(X: math_Vector, F: math_Vector): boolean
computes the values <F> of the functions for the variable <X>. returns True if the computation was done successfully, False otherwise. F contains results only for i<=j in following order: P0P0, P0P1, P0P2... P1P1, P1*P2,... (upper triangle of matrix {PiPj})
Parameters (2)XF
FEmTool_LinearFlexion
Criterium of LinearFlexion To Hermit-Jacobi elements.
Constructors(1)
- constructor(WorkDegree: number, ConstraintOrder: GeomAbs_Shape): FEmTool_LinearFlexionParameters (2)
WorkDegreeConstraintOrder
Static methods(2)
- get_type_name(): string
Instance methods(5)
To know if two dimension are independent.
- Value(): number
To Compute J(E) where E is the current Element.
- Hessian(Dim1: number, Dim2: number, H: math_Matrix): void
To Compute J(E) the coefficients of Hessian matrix of J(E) which are crossed derivatives in dimensions <Dim1> and <Dim2>. If DependenceTable(Dimension1,Dimension2) is False.
Parameters (3)Dim1Dim2H
- Gradient(Dim: number, G: math_Vector): void
To Compute the coefficients in the dimension <dim> of the J(E)'s Gradient where E is the current Element.
Parameters (2)DimG
FEmTool_LinearJerk
Criterion of LinearJerk To Hermit-Jacobi elements.
Constructors(1)
- constructor(WorkDegree: number, ConstraintOrder: GeomAbs_Shape): FEmTool_LinearJerkParameters (2)
WorkDegreeConstraintOrder
Static methods(2)
- get_type_name(): string
Instance methods(5)
To know if two dimension are independent.
- Value(): number
To Compute J(E) where E is the current Element.
- Hessian(Dim1: number, Dim2: number, H: math_Matrix): void
To Compute J(E) the coefficients of Hessian matrix of J(E) which are crossed derivatives in dimensions <Dim1> and <Dim2>. If DependenceTable(Dimension1,Dimension2) is False.
Parameters (3)Dim1Dim2H
- Gradient(Dim: number, G: math_Vector): void
To Compute the coefficients in the dimension <dim> of the J(E)'s Gradient where E is the current Element.
Parameters (2)DimG
FEmTool_LinearTension
Criterium of LinearTension To Hermit-Jacobi elements.
Constructors(1)
- constructor(WorkDegree: number, ConstraintOrder: GeomAbs_Shape): FEmTool_LinearTensionParameters (2)
WorkDegreeConstraintOrder
Static methods(2)
- get_type_name(): string
Instance methods(5)
To know if two dimension are independent.
- Value(): number
To Compute J(E) where E is the current Element.
- Hessian(Dim1: number, Dim2: number, H: math_Matrix): void
To Compute J(E) the coefficients of Hessian matrix of J(E) which are crossed derivatives in dimensions <Dim1> and <Dim2>. If DependenceTable(Dimension1,Dimension2) is False.
Parameters (3)Dim1Dim2H
- Gradient(Dim: number, G: math_Vector): void
To Compute the coefficients in the dimension <dim> of the J(E)'s Gradient where E is the current Element.
Parameters (2)DimG
FEmTool_ProfileMatrix
Symmetric Sparse ProfileMatrix useful for 1D Finite Element methods.
Constructors(1)
- constructor(FirstIndexes: NCollection_Array1_int): FEmTool_ProfileMatrixParameters (1)
FirstIndexes
Static methods(2)
- get_type_name(): string
Instance methods(13)
- Init(Value: number): voidParameters (1)
Value
- ChangeValue(I: number, J: number): numberParameters (2)
IJ
- Decompose(): boolean
To make a Factorization of <me>.
- Solve(B: math_Vector, X: math_Vector): void
Direct Solve of AX = B.
Parameters (2)BX
- Solve(B: math_Vector, Init: math_Vector, X: math_Vector, Residual: math_Vector, Tolerance: number, NbIterations: number): void
Iterative solve of AX = B.
Parameters (6)BInitXResidualToleranceNbIterations
- Prepare(): boolean
Make Preparation to iterative solve.
- Multiplied(X: math_Vector, MX: math_Vector): void
returns the product of a SparseMatrix by a vector. An exception is raised if the dimensions are different
Parameters (2)XMX
- RowNumber(): number
returns the row range of a matrix.
- ColNumber(): number
returns the column range of the matrix.
- IsInProfile(i: number, j: number): booleanParameters (2)
ij
- OutM(): void
- OutS(): void
FEmTool_SparseMatrix
Sparse Matrix definition.
Static methods(2)
- get_type_name(): string
Instance methods(10)
- Init(Value: number): voidParameters (1)
Value
- ChangeValue(I: number, J: number): numberParameters (2)
IJ
- Decompose(): boolean
To make a Factorization of <me>.
- Solve(B: math_Vector, X: math_Vector): void
Direct Solve of AX = B.
Parameters (2)BX
- Solve(B: math_Vector, Init: math_Vector, X: math_Vector, Residual: math_Vector, Tolerance: number, NbIterations: number): void
Iterative solve of AX = B.
Parameters (6)BInitXResidualToleranceNbIterations
- Prepare(): boolean
Make Preparation to iterative solve.
- Multiplied(X: math_Vector, MX: math_Vector): void
returns the product of a SparseMatrix by a vector. An exception is raised if the dimensions are different
Parameters (2)XMX
- RowNumber(): number
returns the row range of a matrix.
- ColNumber(): number
returns the column range of the matrix.