#include <FEDatabase2D.h>
Public Member Functions | |
TFEDatabase2D () | |
Static Public Member Functions | |
static TFE1D * | GetFE1D (FE1D FE) |
static void | RegisterFE1D (FE1D FE, TFE1D *element) |
static TFEDesc1D * | GetFEDesc1D (FEDesc1D FEDesc) |
static void | RegisterFEDesc1D (FEDesc1D FEDesc, TFEDesc1D *FEDesc1D) |
static TBaseFunct1D * | GetBaseFunct1D (BaseFunct1D BaseFunct) |
static void | RegisterBaseFunct1D (BaseFunct1D BaseFunct, TBaseFunct1D *BaseFunct1D) |
static TNodalFunctional1D * | GetNodalFunctional1D (NodalFunctional1D NodalFunctional) |
static void | RegisterNodalFunctional1D (NodalFunctional1D NodalFunctional, TNodalFunctional1D *NodalFunctional1D) |
static void | RegisterRefElementValues (BaseFunct1D BaseFunct, QuadFormula1D QuadFormula, MultiIndex1D MultiIndex, double **Values) |
static double ** | GetRefElementValues (BaseFunct1D BaseFunct, QuadFormula1D QuadFormula, MultiIndex1D MultiIndex) |
static void | RegisterOrigElementValues (BaseFunct1D BaseFunct, MultiIndex1D MultiIndex, double **Values) |
static double ** | GetOrigElementValues (BaseFunct1D BaseFunct, MultiIndex1D MultiIndex) |
static TRefTrans1D * | GetRefTrans1D (RefTrans1D reftrans) |
static TFEDesc2D * | GetFEDesc2D (FEDesc2D FEDesc) |
static void | RegisterFEDesc2D (FEDesc2D FEDesc, TFEDesc2D *FEDesc2D) |
static TBaseFunct2D * | GetBaseFunct2D (BaseFunct2D BaseFunct) |
static void | RegisterBaseFunct2D (BaseFunct2D BaseFunct, TBaseFunct2D *BaseFunct2D) |
static TNodalFunctional2D * | GetNodalFunctional2D (NodalFunctional2D NodalFunctional) |
static void | RegisterNodalFunctional2D (NodalFunctional2D NodalFunctional, TNodalFunctional2D *NodalFunctional2D) |
static TFE2D * | GetFE2D (FE2D FE) |
static void | RegisterFE2D (FE2D FE, TFE2D *element) |
static FEDesc2D | GetFEDesc2D_IDFromFE2D (FE2D ele) |
static TFEDesc2D * | GetFEDesc2DFromFE2D (FE2D ele) |
static BaseFunct2D | GetBaseFunct2D_IDFromFE2D (FE2D ele) |
static int | GetN_BaseFunctFromFE2D (FE2D ele) |
static int | GetPolynomialDegreeFromFE2D (FE2D ele) |
static int | GetAccuracyFromFE2D (FE2D ele) |
static TBaseFunct2D * | GetBaseFunct2DFromFE2D (FE2D ele) |
static NodalFunctional2D | GetNodalFunctional2D_IDFromFE2D (FE2D ele) |
static TNodalFunctional2D * | GetNodalFunctional2DFromFE2D (FE2D ele) |
static RefTrans2D | GetRefTrans2D_IDFromFE2D (FE2D ele) |
static BF2DRefElements | GetRefElementFromFE2D (FE2D ele) |
static FEDesc2D * | GetFEDesc2D_IDFromFE2D () |
static TFEDesc2D ** | GetFEDesc2DFromFE2D () |
static BaseFunct2D * | GetBaseFunct2D_IDFromFE2D () |
static int * | GetN_BaseFunctFromFE2D () |
static int * | GetPolynomialDegreeFromFE2D () |
static int * | GetAccuracyFromFE2D () |
static TBaseFunct2D ** | GetBaseFunct2DFromFE2D () |
static NodalFunctional2D * | GetNodalFunctional2D_IDFromFE2D () |
static TNodalFunctional2D ** | GetNodalFunctional2DFromFE2D () |
static RefTrans2D * | GetRefTrans2D_IDFromFE2D () |
static BF2DRefElements * | GetRefElementFromFE2D () |
static double * | GetProlongationMatrix2D (FE2D parent, Refinements refine, FE2D child, int childnumber) |
static void | RegisterProlongationMatrix2D (BaseFunct2D parent, Refinements refine, BaseFunct2D child, int childnumber, double *matrix) |
static double * | GetRestrictionMatrix2D (FE2D parent, Refinements refine, FE2D child, int childnumber) |
static void | RegisterRestrictionMatrix2D (BaseFunct2D parent, Refinements refine, BaseFunct2D child, int childnumber, double *matrix) |
static TFE2DMapper * | GetFE2DMapper (FEDesc2D FE1, FEDesc2D FE2) |
static void | RegisterFE2DMapper (FEDesc2D FE1, FEDesc2D FE2, TFE2DMapper *mapper) |
static TFE2DMapper1Reg * | GetFE2DMapper1Reg (FEDesc2D FE1, FEDesc2D FE2) |
static void | RegisterFE2DMapper1Reg (FEDesc2D FE1, FEDesc2D FE2, TFE2DMapper1Reg *mapper) |
static THNDesc * | GetHNDesc2D (HNDesc Desc) |
static void | RegisterHNDesc2D (HNDesc Desc, THNDesc *HNDesc_Obj) |
static void | RegisterRefElementValues (BaseFunct2D BaseFunct, QuadFormula2D QuadFormula, MultiIndex2D MultiIndex, double **Values) |
static double ** | GetRefElementValues (BaseFunct2D BaseFunct, QuadFormula2D QuadFormula, MultiIndex2D MultiIndex) |
static void | RegisterJointValues2D (BaseFunct2D BaseFunct, QuadFormula1D formula, int joint, double **Values) |
static double ** | GetJointValues2D (BaseFunct2D BaseFunct, QuadFormula1D formula, int joint) |
static void | RegisterJointDerivatives2D (BaseFunct2D BaseFunct, QuadFormula1D formula, int joint, MultiIndex2D MultiIndex, double **Values) |
static double ** | GetJointDerivatives2D (BaseFunct2D BaseFunct, QuadFormula1D formula, int joint, MultiIndex2D MultiIndex) |
static void | RegisterOrigElementValues (BaseFunct2D BaseFunct, MultiIndex2D MultiIndex, double **Values) |
static double ** | GetOrigElementValues (BaseFunct2D BaseFunct, MultiIndex2D MultiIndex) |
static void | GetOrigValues (RefTrans2D RefTrans, double xi, double eta, TBaseFunct2D *bf, TCollection *Coll, TGridCell *cell, double *uref, double *uxiref, double *uetaref, double *uorig, double *uxorig, double *uyorig) |
static void | GetOrigValues (RefTrans2D RefTrans, double zeta, TBaseFunct2D *bf, int edgeNumber, double *uref, double *uxiref, double *uetaref, double *uorig, double *uxorig, double *uyorig) |
static TRefTrans2D * | GetRefTrans2D (RefTrans2D reftrans) |
static void | GetOrigFromRef (RefTrans2D RefTrans, int n_points, double *xi, double *eta, double *X, double *Y, double *absdetjk) |
static RefTrans2D | GetOrig (int N_LocalUsedElements, FE2D *LocalUsedElements, TCollection *Coll, TBaseCell *cell, bool *Needs2ndDer, int &N_Points, double *&xi, double *&eta, double *&weights, double *X, double *Y, double *absdetjk) |
static void | GetRefFromOrig (RefTrans2D RefTrans, double X, double Y, double &xi, double &eta) |
static void | SetCellForRefTrans (TBaseCell *cell, RefTrans2D reftrans) |
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 QuadFormula2D | GetQFFromDegree (int accuracy, BF2DRefElements RefElem) |
static TQuadFormula3D * | GetQuadFormula3D (QuadFormula3D QF) |
static void | RegisterQuadFormula3D (QuadFormula3D QF, TQuadFormula3D *QuadForm) |
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 TBaseFunct1D * | BaseFuncts1D [N_BaseFuncts1D] = { NULL } |
static TNodalFunctional1D * | NodalFunctionals1D [N_NodalFunctionals1D] = { NULL } |
static TFEDesc1D * | FEDescs1D [N_FEDescs1D] = { NULL } |
static TFE1D * | FEs1D [N_FEs1D] = { NULL } |
static double ** | RefElementValues1D [N_BaseFuncts1D][N_QuadFormulas_1D][N_MultiIndices1D] ={ { { NULL } } } |
static double ** | OrigElementValues1D [N_BaseFuncts1D][N_MultiIndices1D] = { { NULL } } |
static QuadFormula1D | QFLineFromDegree [MAXDEGREE] = { Gauss1Line } |
static int | HighestAccuracyLine = 0 |
static TRefTrans1D * | ReferenceTrans1D [1] = { NULL } |
static TFE2D * | FEs2D [N_FEs2D] = { NULL } |
static TFEDesc2D * | FEDescs2D [N_FEDescs2D] = { NULL } |
static TBaseFunct2D * | BaseFuncts2D [N_BaseFuncts2D] = { NULL } |
static TNodalFunctional2D * | NodalFunctionals2D [N_NodalFunctionals2D] = { NULL } |
static TQuadFormula2D * | QuadFormulas2D [N_QuadFormulas_2D] = { NULL } |
static TFE2DMapper * | FE2DMapper [N_FEDescs2D][N_FEDescs2D] = { { NULL } } |
static TFE2DMapper1Reg * | FE2DMapper1Reg [N_FEDescs2D][N_FEDescs2D] = { { NULL } } |
static THNDesc * | HNDescs2D [N_HNDescs] = { NULL } |
static double ** | RefElementValues2D [N_BaseFuncts2D][N_QuadFormulas_2D][N_MultiIndices2D] = { { { NULL } } } |
static double ** | JointValues2D [N_BaseFuncts2D][N_QuadFormulas_1D][MAXN_JOINTS] = { { { NULL } } } |
static double ** | JointDerivatives2D [N_BaseFuncts2D][N_QuadFormulas_1D][MAXN_JOINTS][N_MultiIndices2D] = { { { { NULL } } } } |
static double ** | OrigElementValues2D [N_BaseFuncts2D][N_MultiIndices2D] = { { NULL } } |
static TRefTrans2D * | ReferenceTrans2D [N_RefTrans2D] = { NULL } |
static double * | ProlongationMatrix2D [MaxN_BaseFunctions2D][N_REFDESC][MaxN_BaseFunctions2D][MAXN_CHILDREN] = { { { { NULL } } } } |
static double * | RestrictionMatrix2D [MaxN_BaseFunctions2D][N_REFDESC][MaxN_BaseFunctions2D][MAXN_CHILDREN] = { { { { NULL } } } } |
static QuadFormula2D | QFTriaFromDegree [MAXDEGREE] = { BaryCenterTria } |
static int | HighestAccuracyTria = 0 |
static QuadFormula2D | QFQuadFromDegree [MAXDEGREE] = { VertexQuad } |
static int | HighestAccuracyQuad = 0 |
static FEDesc2D | FEDesc2D_IDFromFE2D [N_FEs2D] |
static TFEDesc2D * | FEDesc2DFromFE2D [N_FEs2D] |
static BaseFunct2D | BaseFunct2D_IDFromFE2D [N_FEs2D] |
static int | N_BaseFunctFromFE2D [N_FEs2D] |
static int | PolynomialDegreeFromFE2D [N_FEs2D] |
static int | AccuracyFromFE2D [N_FEs2D] |
static TBaseFunct2D * | BaseFunct2DFromFE2D [N_FEs2D] |
static NodalFunctional2D | NodalFunctional2D_IDFromFE2D [N_FEs2D] |
static TNodalFunctional2D * | NodalFunctional2DFromFE2D [N_FEs2D] |
static RefTrans2D | RefTrans2D_IDFromFE2D [N_FEs2D] |
static BF2DRefElements | RefElementFromFE2D [N_FEs2D] |
static TQuadFormula3D * | QuadFormulas3D [N_QuadFormulas_3D] = { NULL } |
store all used information for a FEM
TFEDatabase2D::TFEDatabase2D | ( | ) |
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 BaseFunctions for given element
|
inlinestatic |
return Id of BaseFunct2D from FE Id
|
inlinestatic |
return array of Id of BaseFunct2D from FE Id
|
inlinestatic |
return TBaseFunct2DFEDesc object from FE Id
|
inlinestatic |
return array of TBaseFunct2DFEDesc object from FE Id
|
inlinestatic |
return FE for given element
|
inlinestatic |
return FE for given element
|
inlinestatic |
return FE mapper
|
inlinestatic |
return FE mapper
|
inlinestatic |
return FEDesc1D for given element
|
inlinestatic |
return FEDesc2D for given element
|
inlinestatic |
return Id of FEDesc from FE Id
|
inlinestatic |
return array of Id of FEDesc from FE Id
|
inlinestatic |
return TFEDesc2D object from FE Id
|
inlinestatic |
|
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 NodalFunctionals for given element
|
inlinestatic |
return Id of NodalFunctional2D from FE Id
|
inlinestatic |
return array of Id of NodalFunctional2D from FE Id
|
inlinestatic |
return TNodalFunctional2D 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
|
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 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
|
static |
get quadrature formula on given reference element
|
inlinestatic |
get line quadrature formula for given acuracy
|
inlinestatic |
get quadrilateral quadrature formula for given acuracy
|
inlinestatic |
get triangle quadrature formula for given acuracy
|
inlinestatic |
return QuadFormula1D
|
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
|
inlinestatic |
return requested FE function values or derivatives
|
static |
calculate points on reference element
|
inlinestatic |
return reference transformation
|
inlinestatic |
return reference transformation
|
inlinestatic |
return Id of RefTrans2D from FE Id
|
inlinestatic |
return array of Id of RefTrans2D 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 BaseFunct1D for given element
|
inlinestatic |
register BaseFunct2D for given element
|
inlinestatic |
register FE1D for given element
|
inlinestatic |
register FE2D for given element
|
inlinestatic |
register FE2D for given element
|
inlinestatic |
register FE2D for given element
|
inlinestatic |
register FEDesc1D for given element
|
inlinestatic |
register FEDesc2D 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 NodalFunctional1D for given element
|
inlinestatic |
register NodalFunctional2D for given element
|
inlinestatic |
register FE function values or derivatives on current 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 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 BaseFunct2D from FE Id
|
staticprotected |
TBaseFunct2DFEDesc object from FE Id
|
staticprotected |
all sets of basis functions in 1D
|
staticprotected |
all sets of basis functions in 2D
|
staticprotected |
2D mapper for regular triangulation
|
staticprotected |
2D mapper for one regular triangulation
|
staticprotected |
Id of FEDesc from FE Id
|
staticprotected |
all descriptors for 1D finite elements
|
staticprotected |
all descriptors for 2D finite elements
|
staticprotected |
all 1D finite elements
|
staticprotected |
all 2D finite elements
|
staticprotected |
highest accuracy for which a quadrature formula is available
|
staticprotected |
highest accuracy for which a quadrature formula is available
|
staticprotected |
highest accuracy for which a quadrature formula is available
|
staticprotected |
2D 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 NodalFunctional2D from FE Id
|
staticprotected |
TNodalFunctional2D object from FE Id
|
staticprotected |
all sets of nodal functional
|
staticprotected |
all sets of nodal functional
|
staticprotected |
values of FE functions and their derivatives on the current element
|
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 line quadrature formula for given acuracy
|
staticprotected |
get quadrilateral 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 |
values of FE functions and their derivatives on the corresponding reference element
|
staticprotected |
reference transformations
|
staticprotected |
reference transformations
|
staticprotected |
Id of RefTrans2D from FE Id
|
staticprotected |
function restriction matrix storage