#include <FEDatabase3D.h>
Public Member Functions | |
TFEDatabase3D () | |
Static Public Member Functions | |
static TQuadFormula1D * | GetQuadFormula1D (QuadFormula1D QF) |
static void | RegisterQuadFormula1D (QuadFormula1D QF, TQuadFormula1D *QuadForm) |
static QuadFormula1D | GetQFLineFromDegree (int accuracy) |
static TQuadFormula2D * | GetQuadFormula2D (QuadFormula2D QF) |
static void | RegisterQuadFormula2D (QuadFormula2D QF, TQuadFormula2D *QuadForm) |
static QuadFormula2D | GetQFTriaFromDegree (int accuracy) |
static QuadFormula2D | GetQFQuadFromDegree (int accuracy) |
static TQuadFormula3D * | GetQuadFormula3D (QuadFormula3D QF) |
static void | RegisterQuadFormula3D (QuadFormula3D QF, TQuadFormula3D *QuadForm) |
static QuadFormula3D | GetQFTetraFromDegree (int accuracy) |
static QuadFormula3D | GetQFHexaFromDegree (int accuracy) |
static QuadFormula3D | GetQFConvolutionHexaFromDegree (int accuracy) |
static TFEDesc3D * | GetFEDesc3D (FEDesc3D FEDesc) |
static void | RegisterFEDesc3D (FEDesc3D FEDesc, TFEDesc3D *FEDesc3D) |
static TBaseFunct3D * | GetBaseFunct3D (BaseFunct3D BaseFunct) |
static void | RegisterBaseFunct3D (BaseFunct3D BaseFunct, TBaseFunct3D *BaseFunct3D) |
static TNodalFunctional3D * | GetNodalFunctional3D (NodalFunctional3D NodalFunctional) |
static void | RegisterNodalFunctional3D (NodalFunctional3D NodalFunctional, TNodalFunctional3D *NodalFunctional3D) |
static TFE3D * | GetFE3D (FE3D FE) |
static void | RegisterFE3D (FE3D FE, TFE3D *element) |
static FEDesc3D | GetFEDesc3D_IDFromFE3D (FE3D ele) |
static TFEDesc3D * | GetFEDesc3DFromFE3D (FE3D ele) |
static BaseFunct3D | GetBaseFunct3D_IDFromFE3D (FE3D ele) |
static int | GetN_BaseFunctFromFE3D (FE3D ele) |
static int | GetPolynomialDegreeFromFE3D (FE3D ele) |
static int | GetAccuracyFromFE3D (FE3D ele) |
static TBaseFunct3D * | GetBaseFunct3DFromFE3D (FE3D ele) |
static NodalFunctional3D | GetNodalFunctional3D_IDFromFE3D (FE3D ele) |
static TNodalFunctional3D * | GetNodalFunctional3DFromFE3D (FE3D ele) |
static RefTrans3D | GetRefTrans3D_IDFromFE3D (FE3D ele) |
static BF3DRefElements | GetRefElementFromFE3D (FE3D ele) |
static FEDesc3D * | GetFEDesc3D_IDFromFE3D () |
static TFEDesc3D ** | GetFEDesc3DFromFE3D () |
static BaseFunct3D * | GetBaseFunct3D_IDFromFE3D () |
static int * | GetN_BaseFunctFromFE3D () |
static int * | GetPolynomialDegreeFromFE3D () |
static int * | GetAccuracyFromFE3D () |
static TBaseFunct3D ** | GetBaseFunct3DFromFE3D () |
static NodalFunctional3D * | GetNodalFunctional3D_IDFromFE3D () |
static TNodalFunctional3D ** | GetNodalFunctional3DFromFE3D () |
static RefTrans3D * | GetRefTrans3D_IDFromFE3D () |
static BF3DRefElements * | GetRefElementFromFE3D () |
static double * | GetProlongationMatrix3D (FE3D parent, Refinements refine, FE3D child, int childnumber) |
static void | RegisterProlongationMatrix3D (BaseFunct3D parent, Refinements refine, BaseFunct3D child, int childnumber, double *matrix) |
static double * | GetRestrictionMatrix3D (FE3D parent, Refinements refine, FE3D child, int childnumber) |
static void | RegisterRestrictionMatrix3D (BaseFunct3D parent, Refinements refine, BaseFunct3D child, int childnumber, double *matrix) |
static TFE3DMapper * | GetFE3DMapper (FEDesc3D FE1, FEDesc3D FE2) |
static void | RegisterFE3DMapper (FEDesc3D FE1, FEDesc3D FE2, TFE3DMapper *mapper) |
static TFE3DMapper1Reg * | GetFE3DMapper1Reg (FEDesc3D FE1, FEDesc3D FE2) |
static void | RegisterFE3DMapper1Reg (FEDesc3D FE1, FEDesc3D FE2, TFE3DMapper1Reg *mapper) |
static void | SetCellForRefTrans (TBaseCell *cell, RefTrans3D reftrans) |
static THNDesc * | GetHNDesc3D (HNDesc Desc) |
static void | RegisterHNDesc3D (HNDesc Desc, THNDesc *HNDesc_Obj) |
static TRefTrans3D * | GetRefTrans3D (RefTrans3D reftrans) |
static void | GetOrigFromRef (RefTrans3D RefTrans, int n_points, double *xi, double *eta, double *zeta, double *X, double *Y, double *Z, double *absdetjk) |
static RefTrans3D | GetOrig (int N_LocalUsedElements, FE3D *LocalUsedElements, TCollection *Coll, TBaseCell *cell, bool *Needs2ndDer, int &N_Points, double *&xi, double *&eta, double *&zeta, double *&weights, double *X, double *Y, double *Z, double *absdetjk) |
static void | GetRefFromOrig (RefTrans3D RefTrans, double X, double Y, double Z, double &xi, double &eta, double &zeta) |
static void | RegisterRefElementValues (BaseFunct3D BaseFunct, QuadFormula3D QuadFormula, MultiIndex3D MultiIndex, double **Values) |
static double ** | GetRefElementValues (BaseFunct3D BaseFunct, QuadFormula3D QuadFormula, MultiIndex3D MultiIndex) |
static void | RegisterJointValues3D (BaseFunct3D BaseFunct, QuadFormula2D formula, int joint, double **Values) |
static double ** | GetJointValues3D (BaseFunct3D BaseFunct, QuadFormula2D formula, int joint) |
static void | RegisterJointDerivatives3D (BaseFunct3D BaseFunct, QuadFormula2D formula, int joint, MultiIndex3D MultiIndex, double **Values) |
static double ** | GetJointDerivatives3D (BaseFunct3D BaseFunct, QuadFormula2D formula, int joint, MultiIndex3D MultiIndex) |
static void | RegisterOrigElementValues (BaseFunct3D BaseFunct, MultiIndex3D MultiIndex, double **Values) |
static double ** | GetOrigElementValues (BaseFunct3D BaseFunct, MultiIndex3D MultiIndex) |
static RefTrans3D | GetOrigValues (TBaseCell *cell, TFE3D *element, int N_Points, double *xi, double *eta, double *zeta, int N_Functs, BaseFunct3D BaseFunct, QuadFormula3D QuadFormula) |
static void | GetOrigValues (RefTrans3D RefTrans, double xi, double eta, double zeta, TBaseFunct3D *bf, TCollection *Coll, TBaseCell *cell, double *uref, double *uxiref, double *uetaref, double *uzetaref, double *uorig, double *uxorig, double *uyorig, double *uzorig) |
Static Protected Member Functions | |
static void | RegisterAllQuadFormulas () |
static void | RegisterAllFEDescs () |
static void | RegisterAllBaseFunctions () |
static void | RegisterAllNodalFunctionals () |
static void | RegisterAllFEs () |
static void | RegisterAllFEMappers () |
static void | RegisterAllHangingNodes () |
static void | RegisterAllRefTrans () |
static void | GenerateArrays () |
Static Protected Attributes | |
static TQuadFormula1D * | QuadFormulas1D [N_QuadFormulas_1D] = { NULL } |
static QuadFormula1D | QFLineFromDegree [MAXDEGREE] = { Gauss1Line } |
static int | HighestAccuracyLine = 0 |
static TQuadFormula2D * | QuadFormulas2D [N_QuadFormulas_2D] = { NULL } |
static QuadFormula2D | QFTriaFromDegree [MAXDEGREE] = { BaryCenterTria } |
static QuadFormula2D | QFQuadFromDegree [MAXDEGREE] = { VertexQuad } |
static QuadFormula3D | QFTetraFromDegree [MAXDEGREE] = { BaryCenterTetra } |
static QuadFormula3D | QFHexaFromDegree [MAXDEGREE] = { VertexHexa } |
static QuadFormula3D | QFConvolutionHexaFromDegree [MAXDEGREE] = { VerticesAndOrigin } |
static FEDesc3D | FEDesc3D_IDFromFE3D [N_FEs3D] = { FE_C_T_P1_3D } |
static TFEDesc3D * | FEDesc3DFromFE3D [N_FEs3D] = { NULL } |
static BaseFunct3D | BaseFunct3D_IDFromFE3D [N_FEs3D] = { BF_C_T_P1_3D } |
static int | N_BaseFunctFromFE3D [N_FEs3D] = { 0 } |
static int | PolynomialDegreeFromFE3D [N_FEs3D] = { 0 } |
static int | AccuracyFromFE3D [N_FEs3D] = { 0 } |
static TBaseFunct3D * | BaseFunct3DFromFE3D [N_FEs3D] = { NULL } |
static NodalFunctional3D | NodalFunctional3D_IDFromFE3D [N_FEs3D] |
static TNodalFunctional3D * | NodalFunctional3DFromFE3D [N_FEs3D] = { NULL } |
static RefTrans3D | RefTrans3D_IDFromFE3D [N_FEs3D] = { TetraAffin } |
static BF3DRefElements | RefElementFromFE3D [N_FEs3D] = { BFUnitTetrahedron } |
static TQuadFormula3D * | QuadFormulas3D [N_QuadFormulas_3D] = { NULL } |
static TFE3D * | FEs3D [N_FEs3D] = { NULL } |
static TFEDesc3D * | FEDescs3D [N_FEDescs3D] = { NULL } |
static TBaseFunct3D * | BaseFuncts3D [N_BaseFuncts3D] = { NULL } |
static TNodalFunctional3D * | NodalFunctionals3D [N_NodalFunctionals3D] = { NULL } |
static TFE3DMapper * | FE3DMapper [N_FEDescs3D][N_FEDescs3D] = { NULL } |
static TFE3DMapper1Reg * | FE3DMapper1Reg [N_FEDescs3D][N_FEDescs3D] = { NULL } |
static THNDesc * | HNDescs3D [N_HNDescs] = { NULL } |
static TRefTrans3D * | ReferenceTrans3D [N_RefTrans3D] = { NULL } |
static double * | ProlongationMatrix3D [MaxN_BaseFunctions3D][N_REFDESC][MaxN_BaseFunctions3D][MAXN_CHILDREN] = { NULL } |
static double * | RestrictionMatrix3D [MaxN_BaseFunctions3D][N_REFDESC][MaxN_BaseFunctions3D][MAXN_CHILDREN] = { NULL } |
static double ** | RefElementValues3D [N_BaseFuncts3D][N_QuadFormulas_3D][N_MultiIndices3D] = { NULL } |
static double ** | JointValues3D [N_BaseFuncts3D][N_QuadFormulas_2D][MAXN_JOINTS] = { NULL } |
static double ** | JointDerivatives3D [N_BaseFuncts3D][N_QuadFormulas_2D][MAXN_JOINTS][N_MultiIndices3D] = { NULL } |
static double ** | OrigElementValues3D [N_BaseFuncts3D][N_MultiIndices3D] = { NULL } |
store all used information for a FEM
TFEDatabase3D::TFEDatabase3D | ( | ) |
initialize the database
|
staticprotected |
generate some arrays form registered information
|
inlinestatic |
return accuracy of base functions from FE Id
|
inlinestatic |
return array of accuracy of base functions from FE Id
|
inlinestatic |
return BaseFunctions for given element
|
inlinestatic |
return Id of BaseFunct3D from FE Id
|
inlinestatic |
return array of Id of BaseFunct3D from FE Id
|
inlinestatic |
return TBaseFunct3DFEDesc object from FE Id
|
inlinestatic |
return array of TBaseFunct3DFEDesc object from FE Id
|
inlinestatic |
return FE for given element
|
inlinestatic |
return FE mapper
|
inlinestatic |
return FE mapper
|
inlinestatic |
return FEDesc3D for given element
|
inlinestatic |
return Id of FEDesc from FE Id
|
inlinestatic |
return array of Id of FEDesc from FE Id
|
inlinestatic |
return TFEDesc3D object from FE Id
|
inlinestatic |
return array of TFEDesc3D object from FE Id
|
inlinestatic |
return HNDesc for given element
|
inlinestatic |
return requested joint values of FE base functions
|
inlinestatic |
return requested joint values of FE base functions
|
inlinestatic |
return number of base functions from FE Id
|
inlinestatic |
return array of number of base functions from FE Id
|
inlinestatic |
return NodalFunctionals for given element
|
inlinestatic |
return Id of NodalFunctional3D from FE Id
|
inlinestatic |
return array of Id of NodalFunctional3D from FE Id
|
inlinestatic |
return TNodalFunctional3D object from FE Id
|
inlinestatic |
|
static |
calculate base functions with derivatives and coordinates from reference to original element
|
inlinestatic |
return requested FE function values or derivatives
|
static |
calculate points on original element
|
static |
calculate the values of base functions and their derivatives on the original element
|
static |
calculate functions and derivatives from reference element to original element
calculate the values of base functions or their derivatives on the original element
|
inlinestatic |
return polynomial degree of base functions from FE Id
|
inlinestatic |
return array of polynomial degree of base functions from FE Id
|
static |
return prolongation matrix for given situation
|
inlinestatic |
get hexahedron quadrature formula for convolution
|
inlinestatic |
get hexahedron quadrature formula for given acuracy
|
inlinestatic |
get line quadrature formula for given acuracy
|
inlinestatic |
get quadrilateral quadrature formula for given acuracy
|
inlinestatic |
get tetrahedron quadrature formula for given acuracy
|
inlinestatic |
get triangle quadrature formula for given acuracy
|
inlinestatic |
return QuadFormula2D
|
inlinestatic |
return QuadFormula3D
|
inlinestatic |
return reference element from FE Id
|
inlinestatic |
return array of reference elements from FE Id
|
inlinestatic |
return requested FE function values or derivatives
|
static |
calculate points on reference element
|
inlinestatic |
return reference transformation
|
inlinestatic |
return Id of RefTrans3D from FE Id
|
inlinestatic |
return array of Id of RefTrans3D from FE Id
|
static |
return function restriction matrix for given situation
|
staticprotected |
register all base functions
|
staticprotected |
register all FE descriptors
|
staticprotected |
register all FE mappers
|
staticprotected |
register all finite elements
|
staticprotected |
register all hanging node descriptors
|
staticprotected |
register all nodal functionals
|
staticprotected |
register all known quadrature formulas into database
|
staticprotected |
register all reference tranformations
|
inlinestatic |
register BaseFunct3D for given element
|
inlinestatic |
register FE3D for given element
|
inlinestatic |
register FE3DMapper for given element
|
inlinestatic |
register FE3DMapper1Reg for given element
|
inlinestatic |
register FEDesc3D for given element
|
inlinestatic |
register HNDesc for given element
|
inlinestatic |
register joint derivatives of FE base function on ref element
|
inlinestatic |
register joint values of FE base function on ref element
|
inlinestatic |
register NodalFunctional3D for given element
|
inlinestatic |
register FE function values or derivatives on current element
|
inlinestatic |
register prolongation matrix for given situation
|
inlinestatic |
register QuadFormula1D
|
inlinestatic |
register QuadFormula2D
|
inlinestatic |
register QuadFormula3D
|
inlinestatic |
register FE function values or derivatives on ref element
|
inlinestatic |
register function restriction matrix for given situation
|
static |
set cell for reference transformation
|
staticprotected |
accuracy of base functions from FE Id
|
staticprotected |
Id of BaseFunct3D from FE Id
|
staticprotected |
TBaseFunct3DFEDesc object from FE Id
|
staticprotected |
all sets of basis functions in 3D
|
staticprotected |
3D mapper for regular triangulation
|
staticprotected |
3D mapper for regular triangulation
|
staticprotected |
Id of FEDesc from FE Id
|
staticprotected |
all descriptors for 3D finite elements
|
staticprotected |
all 3D finite elements
|
staticprotected |
highest accuracy for which a quadrature formula is available
|
staticprotected |
3D hanging node descriptors
|
staticprotected |
derivatives of FE base functions on the edges of the corresponding reference element
|
staticprotected |
values of FE base functions on the edges of the corresponding reference element
|
staticprotected |
number of base functions from FE Id
|
staticprotected |
Id of NodalFunctional3D from FE Id
|
staticprotected |
TNodalFunctional3D object from FE Id
|
staticprotected |
all sets of nodal functional
|
staticprotected |
values of FE functions and their derivatives on the current element
|
staticprotected |
polynomial degree of base functions from FE Id
|
staticprotected |
prolongation matrix storage
|
staticprotected |
get hexahedron quadrature formula for given acuracy
get hexahedron quadrature formula for convolution
|
staticprotected |
get hexahedron quadrature formula for given acuracy
|
staticprotected |
get line quadrature formula for given acuracy
|
staticprotected |
get quadrilateral quadrature formula for given acuracy
|
staticprotected |
get tetrahedron quadrature formula for given acuracy
|
staticprotected |
get triangle quadrature formula for given acuracy
|
staticprotected |
1D (line) quadrature formulas
|
staticprotected |
quadrature formulas for 2D
|
staticprotected |
quadrature formulas for 3D
|
staticprotected |
reference element from FE Id
|
staticprotected |
values of FE functions and their derivatives on the corresponding reference element
|
staticprotected |
reference transformations
|
staticprotected |
Id of RefTrans3D from FE Id
|
staticprotected |
function restriction matrix storage