Go to the documentation of this file.
18 #ifndef __FINLEY_SHAPEFUNCTIONS_H__
19 #define __FINLEY_SHAPEFUNCTIONS_H__
23 #include <boost/shared_ptr.hpp>
25 #define S_INDEX(_J_,_I_,_NUMNODES_) INDEX2(_J_,_I_,_NUMNODES_)
26 #define DSDV_INDEX(_J_,_K_,_I_,_NUMNODES_,_DIM_) INDEX3(_J_,_K_,_I_,_NUMNODES_,_DIM_)
77 struct ShapeFunction {
87 const ShapeFunctionInfo*
Type;
95 std::vector<double>
S;
97 std::vector<double>
dSdv;
125 #endif // __FINLEY_SHAPEFUNCTIONS_H__
ShapeFunction_Evaluation Shape_Point1
Definition: ShapeFunctions.h:101
Definition: ShapeFunctions.h:40
const ShapeFunctionInfo ShapeFunction_InfoList[]
Definition: ShapeFunctions.cpp:47
int main(int argc, char **argv)
Definition: ScriptMPI.cpp:129
int numVertices
number of vertices of the element
Definition: ShapeFunctions.h:69
ShapeFunction_Evaluation Shape_Hex27
Definition: ShapeFunctions.h:119
Definition: ShapeFunctions.h:31
ShapeFunction_Evaluation Shape_Tri10
Definition: ShapeFunctions.h:108
int main(int argc, char **argv)
Definition: ScriptMPIredirect.cpp:129
#define INDEX2(_X1_, _X2_, _N1_)
Definition: index.h:22
std::vector< double > QuadNodes
coordinates of quadrature nodes
Definition: ShapeFunctions.h:90
std::vector< double > S
shape functions at quadrature nodes
Definition: ShapeFunctions.h:94
ShapeFunction_Evaluation Shape_Hex8
Definition: ShapeFunctions.h:117
ShapeFunctionTypeId
Definition: ShapeFunctions.h:29
ShapeFunction_Evaluation Shape_Hex32
Definition: ShapeFunctions.h:120
ShapeFunction_Evaluation Shape_Rec4
Definition: ShapeFunctions.h:109
Definition: ShapeFunctions.h:32
this struct holds the definition of the shape functions on an element
Definition: ShapeFunctions.h:57
ShapeFunction_Evaluation Shape_Tri3
Definition: ShapeFunctions.h:105
ShapeFunctionTypeId TypeId
shape function type
Definition: ShapeFunctions.h:59
const ShapeFunctionInfo * Type
shape function information
Definition: ShapeFunctions.h:86
int numDim
number of spatial dimensions
Definition: ShapeFunctions.h:63
Definition: ShapeFunctions.h:50
ShapeFunction_Evaluation Shape_Line2
Definition: ShapeFunctions.h:102
ShapeFunction_Evaluation Shape_Tet4
Definition: ShapeFunctions.h:114
void Solver_updateIncompleteSchurComplement(SparseMatrix_ptr A_CC, SparseMatrix_ptr A_CF, double *invA_FF, index_t *A_FF_pivot, SparseMatrix_ptr A_FC)
Definition: SchurComplement.cpp:41
ShapeFunction_Evaluation Shape_Tet16
Definition: ShapeFunctions.h:116
Definition: ShapeFunctions.h:35
#define MPI_COMM_WORLD
Definition: EsysMPI.h:47
int comparIndex(const void *index1, const void *index2)
this int-comparison function is used by qsort/bsearch in various places
Definition: PasoUtil.cpp:51
std::vector< double > dSdv
derivative of the shape functions at quadrature nodes
Definition: ShapeFunctions.h:96
index_t dim_t
Definition: DataTypes.h:90
static const ShapeFunctionInfo * getInfo(ShapeFunctionTypeId id)
Definition: ShapeFunctions.cpp:119
Definition: ShapeFunctions.h:46
Definition: ShapeFunctions.h:38
Definition: ShapeFunctions.h:49
#define DSDV(_J_, _K_, _I_)
Definition: ShapeFunctions.cpp:137
Definition: ShapeFunctions.h:30
ShapeFunction_Evaluation Shape_Tri9
Definition: ShapeFunctions.h:107
void() ShapeFunction_Evaluation(int, std::vector< double > &, std::vector< double > &, std::vector< double > &)
Definition: ShapeFunctions.h:54
ShapeFunction_Evaluation Shape_Rec16
Definition: ShapeFunctions.h:113
ShapeFunction_Evaluation Shape_Tri6
Definition: ShapeFunctions.h:106
ShapeFunction(ShapeFunctionTypeId id, int numQuadDim, int numQuadNodes, const std::vector< double > &QuadNodes, const std::vector< double > &QuadWeights)
Definition: ShapeFunctions.cpp:77
int numOrder
order of the shape functions
Definition: ShapeFunctions.h:67
Definition: ShapeFunctions.h:36
Definition: ShapeFunctions.h:33
Definition: ShapeFunctions.h:37
Definition: ShapeFunctions.h:44
Definition: ShapeFunctions.h:39
boost::shared_ptr< SparseMatrix > SparseMatrix_ptr
Definition: SparseMatrix.h:48
#define V(_K_, _I_)
Definition: ShapeFunctions.cpp:135
Definition: ShapeFunctions.h:45
ShapeFunction_Evaluation * getValues
function to evaluate the shape functions at a set of points
Definition: ShapeFunctions.h:71
ShapeFunction_Evaluation Shape_Rec9
Definition: ShapeFunctions.h:111
Definition: ShapeFunctions.h:47
ShapeFunction_Evaluation Shape_Rec12
Definition: ShapeFunctions.h:112
Definition: ShapeFunctions.h:34
int index_t
type for array/matrix indices used both globally and on each rank
Definition: DataTypes.h:85
ShapeFunctionTypeId getTypeId(const char *)
Definition: ShapeFunctions.cpp:107
int numShapes
number of shape functions
Definition: ShapeFunctions.h:65
boost::shared_ptr< const ShapeFunction > const_ShapeFunction_ptr
Definition: ShapeFunctions.h:99
ShapeFunction_Evaluation Shape_Line4
Definition: ShapeFunctions.h:104
ShapeFunction_Evaluation Shape_Rec8
Definition: ShapeFunctions.h:110
#define S(_J_, _I_)
Definition: ShapeFunctions.cpp:136
Definition: ShapeFunctions.h:41
Definition: BiCGStab.cpp:26
ShapeFunction_Evaluation Shape_Line3
Definition: ShapeFunctions.h:103
Definition: ShapeFunctions.h:42
A suite of factory methods for creating various finley domains.
Definition: finley/src/Assemble.h:32
Definition: ShapeFunctions.h:48
const char * Name
the name in text form e.g. "Line2", "Rec12", ...
Definition: ShapeFunctions.h:61
An exception class that signals an invalid argument value.
Definition: EsysException.h:101
ShapeFunction_Evaluation Shape_Tet10
Definition: ShapeFunctions.h:115
Definition: ShapeFunctions.h:43
ShapeFunction_Evaluation Shape_Hex20
Definition: ShapeFunctions.h:118
std::vector< double > QuadWeights
weights of the quadrature scheme
Definition: ShapeFunctions.h:92
int numQuadNodes
number of quadrature points
Definition: ShapeFunctions.h:88