EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
egmesh.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file egmesh.h
1
/* femknot.h */
2
/* This module includes utilities that operate on single knots. It builds
3
structures where the knots can be saved, it finds boundaries,
4
copies knots from structures to others and destroys structures that
5
become obsolite. The routines mostly operate on structures
6
FemType and BoundaryType. */
7
8
int
GetElementDimension
(
int
elementtype);
9
int
GetMaxElementType
(
struct
FemType
*
data
);
10
int
GetMinElementType
(
struct
FemType
*
data
);
11
int
GetMaxElementDimension
(
struct
FemType
*
data
);
12
void
GetElementInfo
(
int
element,
struct
FemType
*
data
,
13
Real
*globalcoord,
int
*ind,
int
*
material
);
14
void
GetElementSide
(
int
element,
int
side,
int
normal,
15
struct
FemType
*
data
,
int
*ind,
int
*sideelemtype);
16
void
NumberVariables
(
struct
FemType
*
data
,
int
variable);
17
int
CalculateIndexwidth
(
struct
FemType
*
data
,
int
indxis,
int
*indx);
18
19
void
InitializeKnots
(
struct
FemType
*
data
);
20
void
AllocateKnots
(
struct
FemType
*
data
);
21
void
CreateKnots
(
struct
GridType
*grid,
struct
CellType
*cell,
22
struct
FemType
*
data
,
int
noknots
,
int
info
);
23
24
int
CreateVariable
(
struct
FemType
*
data
,
int
variable,
int
unknowns,
25
Real
value
,
const
char
*variablename,
int
eorder);
26
void
DestroyKnots
(
struct
FemType
*
data
);
27
int
FindParentSide
(
struct
FemType
*
data
,
struct
BoundaryType
*bound,
28
int
sideelem,
int
sideelemtype,
int
*sideind);
29
int
CreateBoundary
(
struct
CellType
*cell,
struct
FemType
*
data
,
30
struct
BoundaryType
*bound,
int
material1,
int
material2,
31
int
solidmat,
int
boundarytype,
int
info
);
32
int
CreateAllBoundaries
(
struct
CellType
*cell,
struct
FemType
*
data
,
33
struct
BoundaryType
*bound,
int
info
);
34
int
AllocateBoundary
(
struct
BoundaryType
*bound,
int
size);
35
int
DestroyBoundary
(
struct
BoundaryType
*bound);
36
int
CreatePoints
(
struct
CellType
*cell,
struct
FemType
*
data
,
37
struct
BoundaryType
*bound,
38
int
param1,
int
param2,
int
pointmode,
int
pointtype,
int
info
);
39
int
SetDiscontinuousBoundary
(
struct
FemType
*
data
,
struct
BoundaryType
*bound,
40
int
boundtype
,
int
endnodes,
int
info
);
41
int
SetConnectedBoundary
(
struct
FemType
*
data
,
struct
BoundaryType
*bound,
42
int
bctype,
int
connecttype,
int
info
);
43
int
FindCorners
(
struct
GridType
*grid,
struct
CellType
*cell,
44
struct
FemType
*
data
,
int
info
);
45
46
int
ConstantToBilinear
(
struct
FemType
*
data
,
int
var1,
int
var2);
47
int
ElementsToTriangles
(
struct
FemType
*
data
,
struct
BoundaryType
*bound,
48
Real
critangle,
int
info
);
49
int
IncreaseElementOrder
(
struct
FemType
*
data
,
int
info
);
50
int
PolarCoordinates
(
struct
FemType
*
data
,
Real
rad
,
int
info
);
51
int
CylinderCoordinates
(
struct
FemType
*
data
,
int
info
);
52
int
UniteMeshes
(
struct
FemType
*data1,
struct
FemType
*data2,
53
struct
BoundaryType
*bound1,
struct
BoundaryType
*bound2,
54
int
info
);
55
int
CloneMeshes
(
struct
FemType
*
data
,
struct
BoundaryType
*bound,
56
int
*ncopies,
Real
*meshsize,
int
diffmats,
int
info
);
57
int
MirrorMeshes
(
struct
FemType
*
data
,
struct
BoundaryType
*bound,
58
int
*symmaxis,
int
diffmats,
Real
*meshsize,
int
symmbound,
int
info
);
59
void
ReorderElements
(
struct
FemType
*
data
,
struct
BoundaryType
*bound,
60
int
manual,
Real
corder[],
int
info
);
61
int
RemoveUnusedNodes
(
struct
FemType
*
data
,
int
info
);
62
void
RenumberBoundaryTypes
(
struct
FemType
*
data
,
struct
BoundaryType
*bound,
63
int
renumber,
int
bcoffset,
int
info
);
64
void
RenumberMaterialTypes
(
struct
FemType
*
data
,
struct
BoundaryType
*bound,
int
info
);
65
void
CreateKnotsExtruded
(
struct
FemType
*dataxy,
struct
BoundaryType
*boundxy,
66
struct
GridType
*grid,
67
struct
FemType
*
data
,
struct
BoundaryType
*bound,
68
int
info
);
69
void
ReduceElementOrder
(
struct
FemType
*
data
,
int
matmin,
int
matmax);
70
void
IsoparametricElements
(
struct
FemType
*
data
,
struct
BoundaryType
*bound,
71
int
bcstoo,
int
info
);
72
void
MergeElements
(
struct
FemType
*
data
,
struct
BoundaryType
*bound,
73
int
manual,
Real
corder[],
Real
eps
,
int
mergebounds,
int
info
);
74
void
MergeBoundaries
(
struct
FemType
*
data
,
struct
BoundaryType
*bound,
int
*doubles,
int
info
);
75
void
SeparateCartesianBoundaries
(
struct
FemType
*
data
,
struct
BoundaryType
*bound,
int
info
);
76
void
ElementsToBoundaryConditions
(
struct
FemType
*
data
,
77
struct
BoundaryType
*bound,
int
retainorphans,
int
info
);
78
int
FindPeriodicNodes
(
struct
FemType
*
data
,
int
periodicdim[],
int
info
);
79
int
FindNewBoundaries
(
struct
FemType
*
data
,
struct
BoundaryType
*bound,
80
int
*boundnodes,
int
suggesttype,
int
dimred,
int
info
);
81
int
FindBulkBoundary
(
struct
FemType
*
data
,
int
mat1,
int
mat2,
82
int
*boundnodes,
int
*noboundnodes,
int
info
);
83
int
FindBoundaryBoundary
(
struct
FemType
*
data
,
struct
BoundaryType
*bound,
int
mat1,
int
mat2,
84
int
*boundnodes,
int
*noboundnodes,
int
info
);
85
int
CreateBoundaryLayer
(
struct
FemType
*
data
,
struct
BoundaryType
*bound,
86
int
nolayers,
int
*layerbounds,
int
*layernumber,
87
Real
*layerratios,
Real
*layerthickness,
int
*layerparents,
88
int
maxfilters,
Real
layereps,
int
info
);
89
int
CreateBoundaryLayerDivide
(
struct
FemType
*
data
,
struct
BoundaryType
*bound,
90
int
nolayers,
int
*layerbounds,
int
*layernumber,
91
Real
*layerratios,
Real
*layerthickness,
int
*layerparents,
int
info
);
92
int
RotateTranslateScale
(
struct
FemType
*
data
,
struct
ElmergridType
*
eg
,
int
info
);
93
int
RemoveLowerDimensionalBoundaries
(
struct
FemType
*
data
,
struct
BoundaryType
*bound,
int
info
);
94
95
int
CreateDualGraph
(
struct
FemType
*
data
,
int
full,
int
info
);
96
int
DestroyDualGraph
(
struct
FemType
*
data
,
int
info
);
97
int
CreateInverseTopology
(
struct
FemType
*
data
,
int
info
);
98
int
MeshTypeStatistics
(
struct
FemType
*
data
,
int
info
);
99
int
SideAndBulkMappings
(
struct
FemType
*
data
,
struct
BoundaryType
*bound,
struct
ElmergridType
*
eg
,
int
info
);
100
int
SideAndBulkBoundaries
(
struct
FemType
*
data
,
struct
BoundaryType
*bound,
struct
ElmergridType
*
eg
,
int
info
);
EicRoot
blob
master
eic
cad
elmer
plugins
egmesh.h
Built by
Jin Huang
. updated:
Mon Jan 22 2024 12:43:34
using
1.8.2 with
EIC GitHub integration