Go to the documentation of this file.
18 #ifndef __DUDLEY_ELEMENTTYPE_H__
19 #define __DUDLEY_ELEMENTTYPE_H__
40 else if (s ==
"Line2")
46 else if (s ==
"Line2Face")
48 else if (s ==
"Tri3Face")
50 else if (s ==
"Tet4Face")
58 #endif // __DUDLEY_ELEMENTTYPE_H__
double * DSDX
Definition: dudley/src/ElementFile.h:49
int numShapes
number of shape functions
Definition: dudley/src/ElementFile.h:40
ElementFile_Jacobians(const_ShapeFunction_ptr basis)
Definition: finley/src/ElementFile_jacobians.cpp:23
ElementFile_Jacobians * jacobians_reducedS_reducedQ
Definition: finley/src/ElementFile.h:171
int * Tag
Tag[i] is the tag of element i.
Definition: dudley/src/ElementFile.h:121
void Assemble_jacobians_3D_M2D_E2D(const double *coordinates, int numQuad, const double *QuadWeights, int numShape, dim_t numElements, int numNodes, const index_t *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const index_t *elementId)
Definition: finley/src/Assemble_jacobians.cpp:666
Definition: dudley/src/ElementFile.h:29
void Assemble_jacobians_3D_M2D_E2D(const double *coordinates, int numQuad, dim_t numElements, int numNodes, const index_t *nodes, double *dTdX, double *absD, double *quadWeight, const index_t *elementId)
Definition: dudley/src/Assemble_jacobians.cpp:255
@ Dudley_Point1
Definition: ElementType.h:26
Definition: DudleyException.h:26
ElementFile_Jacobians * jacobians_reducedQ
Definition: dudley/src/ElementFile.h:167
int numDim
number of spatial dimensions
Definition: dudley/src/NodeFile.h:146
void createColoring(dim_t numNodes, const index_t *degreeOfFreedom)
Definition: ElementFile_createColoring.cpp:25
ElementFile_Jacobians * jacobians
jacobians of the shape function used for solution approximation
Definition: finley/src/ElementFile.h:159
#define DUDLEY_INITIAL_STATUS
Definition: Dudley.h:67
Definition: dudley/src/NodeFile.h:40
ElementFile_Jacobians * jacobians_reducedS
Definition: finley/src/ElementFile.h:163
#define INDEX2(_X1_, _X2_, _N1_)
Definition: index.h:23
int numShapesTotal
total number of shape functions = BasisFunctions->numShapes * numSides
Definition: finley/src/ElementFile.h:49
@ Dudley_Tet4Face
Definition: ElementType.h:32
IndexPair getMinMaxInt(int dim, dim_t N, const index_t *values)
Definition: dudley/src/Util.cpp:159
index_t * Nodes
Nodes[INDEX(k, i, numNodes)] is the k-th node in the i-th element.
Definition: dudley/src/ElementFile.h:133
double * volume
local volume
Definition: finley/src/ElementFile.h:56
Definition: FinleyException.h:27
const int * node_selection
Definition: finley/src/ElementFile.h:52
Definition: finley/src/ElementFile.h:29
void allocTable(dim_t NE)
allocates the element table within an element file to hold NE elements
Definition: dudley/src/ElementFile.cpp:54
void Assemble_jacobians_2D_M1D_E1D(const double *coordinates, int numQuad, const double *QuadWeights, int numShape, dim_t numElements, int numNodes, const index_t *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const index_t *elementId)
Definition: finley/src/Assemble_jacobians.cpp:140
int numQuad
number of quadrature nodes used to calculate jacobians
Definition: dudley/src/ElementFile.h:38
@ Dudley_Tri3Face
Definition: ElementType.h:31
void Assemble_jacobians_1D(const double *coordinates, int numQuad, const double *QuadWeights, int numShape, dim_t numElements, int numNodes, const index_t *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const index_t *elementId)
Definition: finley/src/Assemble_jacobians.cpp:50
boost::shared_ptr< const ReferenceElement > const_ReferenceElement_ptr
Definition: ReferenceElements.h:214
int * Owner
Owner[i] contains the rank that owns element i.
Definition: dudley/src/ElementFile.h:124
double * absD
used to compute volume
Definition: dudley/src/ElementFile.h:44
void Assemble_jacobians_3D_M2D_E2D_C(const double *coordinates, int numQuad, const double *QuadWeights, int numShape, dim_t numElements, int numNodes, const index_t *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const index_t *elementId)
Definition: finley/src/Assemble_jacobians.cpp:733
ElementFile_Jacobians * jacobians
jacobians of the shape function used for solution approximation
Definition: dudley/src/ElementFile.h:163
index_t * Nodes
Definition: finley/src/ElementFile.h:144
static const int QuadNums[4][2]
Definition: ShapeTable.h:75
void distributeByRankOfDOF(const int *mpiRankOfDOF, const index_t *nodesId)
redistributes the elements including overlap by rank
Definition: ElementFile_distributeByRankOfDOF.cpp:24
int status
Definition: dudley/src/NodeFile.h:177
int status
status of mesh when jacobians were updated last time
Definition: dudley/src/ElementFile.h:34
#define MPI_INT
Definition: EsysMPI.h:46
index_t maxColor
maximum color value
Definition: dudley/src/ElementFile.h:144
void Assemble_jacobians_3D_M2D_E3D_C(const double *coordinates, int numQuad, const double *QuadWeights, int numShape, dim_t numElements, int numNodes, const index_t *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const index_t *elementId)
Definition: finley/src/Assemble_jacobians.cpp:533
~ElementFile_Jacobians()
Definition: finley/src/ElementFile_jacobians.cpp:34
double * Coordinates
Coordinates[INDEX2(k,i,numDim)] is the k-th coordinate of node i.
Definition: finley/src/NodeFile.h:175
index_t minColor
minimum color value
Definition: dudley/src/ElementFile.h:141
dim_t numElements
number of elements
Definition: finley/src/ElementFile.h:122
A suite of factory methods for creating 2D and 3D dudley domains.
Definition: dudley/src/Assemble.h:32
void Assemble_jacobians_3D(const double *coordinates, int numQuad, const double *QuadWeights, int numShape, dim_t numElements, int numNodes, const index_t *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const index_t *elementId)
Definition: finley/src/Assemble_jacobians.cpp:376
ElementFile_Jacobians * jacobians_reducedQ
Definition: finley/src/ElementFile.h:167
dim_t numElements
number of elements
Definition: finley/src/ElementFile.h:54
@ Dudley_Line2Face
Definition: ElementType.h:30
void Assemble_jacobians_2D(const double *coordinates, int numQuad, dim_t numElements, int numNodes, const index_t *nodes, double *dTdX, double *absD, double *quadWeight, const index_t *elementId)
Definition: dudley/src/Assemble_jacobians.cpp:56
index_t dim_t
Definition: DataTypes.h:65
dim_t numElements
number of elements
Definition: dudley/src/ElementFile.h:113
void Assemble_jacobians_3D(const double *coordinates, int numQuad, dim_t numElements, int numNodes, const index_t *nodes, double *dTdX, double *abs_D, double *quadWeight, const index_t *elementId)
Definition: dudley/src/Assemble_jacobians.cpp:180
int numQuadTotal
Definition: finley/src/ElementFile.h:41
void Assemble_jacobians_3D_M2D_E3D(const double *coordinates, int numQuad, const double *QuadWeights, int numShape, dim_t numElements, int numNodes, const index_t *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const index_t *elementId)
Definition: finley/src/Assemble_jacobians.cpp:452
index_t * Id
Definition: dudley/src/ElementFile.h:118
index_t * Id
Definition: finley/src/ElementFile.h:126
int numDim
number of spatial dimensions of the domain
Definition: dudley/src/ElementFile.h:147
escript::JMPI MPIInfo
Definition: dudley/src/ElementFile.h:110
int status
Definition: finley/src/NodeFile.h:209
int numDim
number of spatial dimensions
Definition: dudley/src/ElementFile.h:36
void Assemble_jacobians_2D(const double *coordinates, int numQuad, const double *QuadWeights, int numShape, dim_t numElements, int numNodes, const index_t *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const index_t *elementId)
Definition: finley/src/Assemble_jacobians.cpp:87
void Assemble_jacobians_2D_M1D_E1D(const double *coordinates, int numQuad, dim_t numElements, int numNodes, const index_t *nodes, double *dTdX, double *absD, double *quadWeight, const index_t *elementId)
Definition: dudley/src/Assemble_jacobians.cpp:134
const int * offsets
offset to sides (borrowed reference)
Definition: finley/src/ElementFile.h:45
int status
status of mesh when jacobians were updated last time
Definition: finley/src/ElementFile.h:34
int numLocalDim
dimension of the element e.g. 2 for a line in 2D or 3D
Definition: dudley/src/ElementFile.h:150
int index_t
type for array/matrix indices used both globally and on each rank
Definition: DataTypes.h:60
Definition: finley/src/NodeFile.h:42
ElementFile_Jacobians * borrowJacobians(const NodeFile *, bool, bool) const
Definition: finley/src/ElementFile_jacobians.cpp:41
@ Dudley_Tet4
Definition: ElementType.h:29
void Assemble_jacobians_2D_M1D_E2D(const double *coordinates, int numQuad, const double *QuadWeights, int numShape, dim_t numElements, int numNodes, const index_t *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const index_t *elementId)
Definition: finley/src/Assemble_jacobians.cpp:246
int numSides
number of sides (=1 normal, =2 contact)
Definition: finley/src/ElementFile.h:43
dim_t numElements
number of elements
Definition: dudley/src/ElementFile.h:42
double quadweight
used to compute volume
Definition: dudley/src/ElementFile.h:46
void Assemble_jacobians_2D_M1D_E1D_C(const double *coordinates, int numQuad, const double *QuadWeights, int numShape, dim_t numElements, int numNodes, const index_t *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const index_t *elementId)
Definition: finley/src/Assemble_jacobians.cpp:186
ElementFile_Jacobians()
Definition: dudley/src/ElementFile_jacobians.cpp:24
int numDim
number of spatial dimensions
Definition: finley/src/ElementFile.h:36
index_t * Color
Definition: dudley/src/ElementFile.h:138
boost::shared_ptr< const ShapeFunction > const_ShapeFunction_ptr
Definition: ShapeFunctions.h:100
@ Dudley_NoRef
Definition: ElementType.h:33
const_ShapeFunction_ptr BasisFunctions
basis function used
Definition: finley/src/ElementFile.h:38
double * DSDX
Definition: finley/src/ElementFile.h:59
void Assemble_jacobians_2D_M1D_E2D_C(const double *coordinates, int numQuad, const double *QuadWeights, int numShape, dim_t numElements, int numNodes, const index_t *nodes, const double *DSDv, int numTest, const double *DTDv, double *dTdX, double *volume, const index_t *elementId)
Definition: finley/src/Assemble_jacobians.cpp:300
const_ReferenceElementSet_ptr referenceElementSet
the reference element to be used
Definition: finley/src/ElementFile.h:120
int numSub
number of subelements
Definition: finley/src/ElementFile.h:47
@ Dudley_Line2
Definition: ElementType.h:27
A suite of factory methods for creating various finley domains.
Definition: finley/src/Assemble.h:32
#define FINLEY_INITIAL_STATUS
Definition: Finley.h:77
int numDim
number of spatial dimensions
Definition: finley/src/NodeFile.h:162
#define ESYS_ASSERT(a, b)
EsysAssert is a MACRO that will throw an exception if the boolean condition specified is false.
Definition: Assert.h:79
@ Dudley_Tri3
Definition: ElementType.h:28
double * Coordinates
Coordinates[INDEX2(k,i,numDim)] is the k-th coordinate of node i.
Definition: dudley/src/NodeFile.h:159
An exception class that signals an invalid argument value.
Definition: EsysException.h:90
ElementTypeId
Definition: ElementType.h:25
ElementTypeId eltTypeFromString(const std::string &s)
Definition: ElementType.h:36
~ElementFile_Jacobians()
Definition: dudley/src/ElementFile_jacobians.cpp:35
int numNodes
number of nodes per element
Definition: dudley/src/ElementFile.h:130
ElementFile_Jacobians * borrowJacobians(const NodeFile *nodes, bool reducedOrder) const
Definition: dudley/src/ElementFile_jacobians.cpp:41
int numNodes
number of nodes per element
Definition: finley/src/ElementFile.h:138