EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
egmesh.h File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

int GetElementDimension (int elementtype)
 
int GetMaxElementType (struct FemType *data)
 
int GetMinElementType (struct FemType *data)
 
int GetMaxElementDimension (struct FemType *data)
 
void GetElementInfo (int element, struct FemType *data, Real *globalcoord, int *ind, int *material)
 
void GetElementSide (int element, int side, int normal, struct FemType *data, int *ind, int *sideelemtype)
 
void NumberVariables (struct FemType *data, int variable)
 
int CalculateIndexwidth (struct FemType *data, int indxis, int *indx)
 
void InitializeKnots (struct FemType *data)
 
void AllocateKnots (struct FemType *data)
 
void CreateKnots (struct GridType *grid, struct CellType *cell, struct FemType *data, int noknots, int info)
 
int CreateVariable (struct FemType *data, int variable, int unknowns, Real value, const char *variablename, int eorder)
 
void DestroyKnots (struct FemType *data)
 
int FindParentSide (struct FemType *data, struct BoundaryType *bound, int sideelem, int sideelemtype, int *sideind)
 
int CreateBoundary (struct CellType *cell, struct FemType *data, struct BoundaryType *bound, int material1, int material2, int solidmat, int boundarytype, int info)
 
int CreateAllBoundaries (struct CellType *cell, struct FemType *data, struct BoundaryType *bound, int info)
 
int AllocateBoundary (struct BoundaryType *bound, int size)
 
int DestroyBoundary (struct BoundaryType *bound)
 
int CreatePoints (struct CellType *cell, struct FemType *data, struct BoundaryType *bound, int param1, int param2, int pointmode, int pointtype, int info)
 
int SetDiscontinuousBoundary (struct FemType *data, struct BoundaryType *bound, int boundtype, int endnodes, int info)
 
int SetConnectedBoundary (struct FemType *data, struct BoundaryType *bound, int bctype, int connecttype, int info)
 
int FindCorners (struct GridType *grid, struct CellType *cell, struct FemType *data, int info)
 
int ConstantToBilinear (struct FemType *data, int var1, int var2)
 
int ElementsToTriangles (struct FemType *data, struct BoundaryType *bound, Real critangle, int info)
 
int IncreaseElementOrder (struct FemType *data, int info)
 
int PolarCoordinates (struct FemType *data, Real rad, int info)
 
int CylinderCoordinates (struct FemType *data, int info)
 
int UniteMeshes (struct FemType *data1, struct FemType *data2, struct BoundaryType *bound1, struct BoundaryType *bound2, int info)
 
int CloneMeshes (struct FemType *data, struct BoundaryType *bound, int *ncopies, Real *meshsize, int diffmats, int info)
 
int MirrorMeshes (struct FemType *data, struct BoundaryType *bound, int *symmaxis, int diffmats, Real *meshsize, int symmbound, int info)
 
void ReorderElements (struct FemType *data, struct BoundaryType *bound, int manual, Real corder[], int info)
 
int RemoveUnusedNodes (struct FemType *data, int info)
 
void RenumberBoundaryTypes (struct FemType *data, struct BoundaryType *bound, int renumber, int bcoffset, int info)
 
void RenumberMaterialTypes (struct FemType *data, struct BoundaryType *bound, int info)
 
void CreateKnotsExtruded (struct FemType *dataxy, struct BoundaryType *boundxy, struct GridType *grid, struct FemType *data, struct BoundaryType *bound, int info)
 
void ReduceElementOrder (struct FemType *data, int matmin, int matmax)
 
void IsoparametricElements (struct FemType *data, struct BoundaryType *bound, int bcstoo, int info)
 
void MergeElements (struct FemType *data, struct BoundaryType *bound, int manual, Real corder[], Real eps, int mergebounds, int info)
 
void MergeBoundaries (struct FemType *data, struct BoundaryType *bound, int *doubles, int info)
 
void SeparateCartesianBoundaries (struct FemType *data, struct BoundaryType *bound, int info)
 
void ElementsToBoundaryConditions (struct FemType *data, struct BoundaryType *bound, int retainorphans, int info)
 
int FindPeriodicNodes (struct FemType *data, int periodicdim[], int info)
 
int FindNewBoundaries (struct FemType *data, struct BoundaryType *bound, int *boundnodes, int suggesttype, int dimred, int info)
 
int FindBulkBoundary (struct FemType *data, int mat1, int mat2, int *boundnodes, int *noboundnodes, int info)
 
int FindBoundaryBoundary (struct FemType *data, struct BoundaryType *bound, int mat1, int mat2, int *boundnodes, int *noboundnodes, int info)
 
int CreateBoundaryLayer (struct FemType *data, struct BoundaryType *bound, int nolayers, int *layerbounds, int *layernumber, Real *layerratios, Real *layerthickness, int *layerparents, int maxfilters, Real layereps, int info)
 
int CreateBoundaryLayerDivide (struct FemType *data, struct BoundaryType *bound, int nolayers, int *layerbounds, int *layernumber, Real *layerratios, Real *layerthickness, int *layerparents, int info)
 
int RotateTranslateScale (struct FemType *data, struct ElmergridType *eg, int info)
 
int RemoveLowerDimensionalBoundaries (struct FemType *data, struct BoundaryType *bound, int info)
 
int CreateDualGraph (struct FemType *data, int full, int info)
 
int DestroyDualGraph (struct FemType *data, int info)
 
int CreateInverseTopology (struct FemType *data, int info)
 
int MeshTypeStatistics (struct FemType *data, int info)
 
int SideAndBulkMappings (struct FemType *data, struct BoundaryType *bound, struct ElmergridType *eg, int info)
 
int SideAndBulkBoundaries (struct FemType *data, struct BoundaryType *bound, struct ElmergridType *eg, int info)
 

Function Documentation

int AllocateBoundary ( struct BoundaryType *  bound,
int  size 
)

Definition at line 1777 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 1777 of file egmesh.cpp

References BoundaryType::created, BoundaryType::ediscont, FALSE, Ivector, BoundaryType::material, BoundaryType::normal, BoundaryType::nosides, BoundaryType::parent, BoundaryType::parent2, printf(), BoundaryType::side, BoundaryType::side2, TRUE, and BoundaryType::types.

Referenced by CreateBoundaryLayer(), CreatePoints(), ElementsToBoundaryConditions(), FindEdges(), FindNewBoundaries(), LoadAbaqusInput(), LoadAnsysInput(), LoadGidInput(), and LoadTriangleInput().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void AllocateKnots ( struct FemType *  data)

Definition at line 750 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 750 of file egmesh.cpp

References FemType::created, DEBUG, FemType::elementtypes, Imatrix, Ivector, FemType::material, FemType::maxnodes, GridType::noelements, FemType::noelements, FemType::noknots, printf(), Rvector, FemType::topology, TRUE, FemType::x, FemType::y, and FemType::z.

Referenced by CreateKnots(), CreateKnotsExtruded(), LoadAbaqusInput(), LoadAnsysInput(), LoadCGsimMesh(), LoadComsolMesh(), LoadFidapInput(), LoadGidInput(), LoadGmshInput1(), LoadGmshInput2(), LoadMeditInput(), LoadNastranInput(), LoadTriangleInput(), and LoadUniversalMesh().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int CalculateIndexwidth ( struct FemType *  data,
int  indxis,
int *  indx 
)

Definition at line 676 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 676 of file egmesh.cpp

References FemType::elementtypes, FemType::indexwidth, FemType::noelements, FemType::noknots, GridType::nonodes, and FemType::topology.

Referenced by ReorderAutomatic(), and ReorderElements().

+ Here is the caller graph for this function:

int CloneMeshes ( struct FemType *  data,
struct BoundaryType *  bound,
int *  ncopies,
Real *  meshsize,
int  diffmats,
int  info 
)

Definition at line 2821 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 2821 of file egmesh.cpp

References FemType::created, FemType::dim, BoundaryType::discont, FemType::elementtypes, free_Imatrix, free_Ivector, free_Rvector, Imatrix, Ivector, k, Acts::UnitConstants::m, FemType::material, BoundaryType::material, MAXBOUNDARIES, FemType::maxnodes, FemType::noelements, FemType::noknots, BoundaryType::normal, BoundaryType::nosides, BoundaryType::parent, BoundaryType::parent2, printf(), Rvector, BoundaryType::side, BoundaryType::side2, FemType::topology, BoundaryType::types, FemType::x, FemType::y, and FemType::z.

Referenced by ManipulateMeshDefinition().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int ConstantToBilinear ( struct FemType *  data,
int  var1,
int  var2 
)
int CreateAllBoundaries ( struct CellType *  cell,
struct FemType *  data,
struct BoundaryType *  bound,
int  info 
)

Definition at line 1618 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 1618 of file egmesh.cpp

References CellType::boundary, FemType::coordsystem, BoundaryType::coordsystem, FemType::created, BoundaryType::created, FemType::dim, BoundaryType::ediscont, FALSE, free_Imatrix, GetSideInfo(), Imatrix, Ivector, CellType::material, BoundaryType::material, MAX, MIN, FemType::nocells, BoundaryType::normal, BoundaryType::nosides, BoundaryType::parent, BoundaryType::parent2, printf(), BoundaryType::side, BoundaryType::side2, TRUE, and BoundaryType::types.

Referenced by CreateElmerGridMesh().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int CreateBoundary ( struct CellType *  cell,
struct FemType *  data,
struct BoundaryType *  bound,
int  material1,
int  material2,
int  solidmat,
int  boundarytype,
int  info 
)

Definition at line 1466 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 1466 of file egmesh.cpp

References CellType::boundary, FemType::coordsystem, BoundaryType::coordsystem, FemType::created, BoundaryType::created, FemType::dim, BoundaryType::ediscont, FALSE, FIRST, GetSideInfo(), Ivector, MAT_ANYTHING, MAT_BIGGER, MAT_SMALLER, CellType::material, BoundaryType::material, FemType::nocells, BoundaryType::normal, BoundaryType::nosides, BoundaryType::parent, BoundaryType::parent2, printf(), SECOND, BoundaryType::side, BoundaryType::side2, TRUE, and BoundaryType::types.

Referenced by CreateElmerGridMesh().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int CreateBoundaryLayer ( struct FemType *  data,
struct BoundaryType *  bound,
int  nolayers,
int *  layerbounds,
int *  layernumber,
Real *  layerratios,
Real *  layerthickness,
int *  layerparents,
int  maxfilters,
Real  layereps,
int  info 
)

Definition at line 6678 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 6678 of file egmesh.cpp

References kdfinder::abs(), AllocateBoundary(), FemType::created, BoundaryType::created, Acts::Test::dim, FemType::dim, dx, dy, Acts::UnitConstants::e, FemType::elementtypes, FALSE, FM_PI, free_Imatrix, free_Ivector, free_Rvector, GetElementSide(), GetMaxElementType(), Imatrix, Ivector, k, Acts::UnitConstants::m, FemType::material, MAXBOUNDARIES, FemType::maxnodes, MAXNODESD1, MAXNODESD2, n, FemType::noelements, FemType::noknots, BoundaryType::nosides, p, BoundaryType::parent, BoundaryType::parent2, printf(), ratio, ReorderElements(), Rvector, BoundaryType::side, BoundaryType::side2, FemType::topology, TRUE, BoundaryType::types, FemType::x, FemType::y, and FemType::z.

Referenced by ManipulateMeshDefinition().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int CreateBoundaryLayerDivide ( struct FemType *  data,
struct BoundaryType *  bound,
int  nolayers,
int *  layerbounds,
int *  layernumber,
Real *  layerratios,
Real *  layerthickness,
int *  layerparents,
int  info 
)

Definition at line 7729 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 7729 of file egmesh.cpp

References FemType::created, Acts::Test::dim, FemType::dim, dx, dy, Acts::UnitConstants::e, FemType::elementtypes, FALSE, GetElementSide(), GetMaxElementType(), Imatrix, Ivector, k, FemType::material, MAX, MAXBOUNDARIES, FemType::maxnodes, MAXNODESD2, FemType::noelements, FemType::noknots, BoundaryType::nosides, BoundaryType::parent, printf(), ratio, Rvector, FemType::topology, TRUE, BoundaryType::types, FemType::x, FemType::y, and FemType::z.

Referenced by ManipulateMeshDefinition().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int CreateDualGraph ( struct FemType *  data,
int  full,
int  info 
)

Definition at line 8294 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 8294 of file egmesh.cpp

References FemType::dualexists, FemType::dualgraph, FemType::dualmaxconnections, FemType::elementtypes, FALSE, GetElementGraph(), Ivector, k, Acts::UnitConstants::m, FemType::noelements, FemType::noknots, FemType::periodic, FemType::periodicexist, printf(), FemType::topology, and TRUE.

Referenced by IncreaseElementOrder().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int CreateInverseTopology ( struct FemType *  data,
int  info 
)

Definition at line 8444 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 8444 of file egmesh.cpp

References FemType::elementtypes, free_Ivector, FemType::invtopo, FemType::invtopoexists, Ivector, Acts::UnitConstants::m, MAX, FemType::maxinvtopo, MIN, FemType::noelements, FemType::noknots, printf(), smallerror(), FemType::topology, and TRUE.

Referenced by LoadTriangleInput().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void CreateKnots ( struct GridType *  grid,
struct CellType *  cell,
struct FemType *  data,
int  noknots,
int  info 
)

Definition at line 1063 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 1063 of file egmesh.cpp

References kdfinder::abs(), AllocateKnots(), GridType::boundext, FemType::boundext, GridType::boundint, FemType::boundint, GridType::boundsolid, FemType::boundsolid, GridType::boundtype, FemType::boundtype, GridType::coordsystem, FemType::coordsystem, DIM, Acts::Test::dim, FemType::dim, GridType::dimension, dx, dy, dz, FemType::elementtypes, FALSE, GetElementCoordinates(), GetElementInfo(), FemType::indexwidth, InitializeKnots(), k, GridType::mappinglimits, GridType::mappingline, GridType::mappingparams, GridType::mappingpoints, GridType::mappings, GridType::mappingtype, CellType::material, material(), FemType::material, MAX, MAXBOUNDARIES, MAXMAPPINGS, FemType::maxnodes, MAXNODESD2, FemType::maxsize, GridType::maxwidth, FemType::minsize, MovePointAngle(), MovePointArc(), MovePointCircle(), MovePointLinear(), MovePointPower(), MovePointPowerSeries(), MovePointPowerSeries2(), MovePointSinus(), GridType::noboundaries, FemType::noboundaries, GridType::nocells, FemType::nocells, GridType::noelements, FemType::noelements, GridType::noknots, FemType::noknots, GridType::nonodes, GridType::numbered, printf(), FemType::topology, TRUE, GridType::x, x, FemType::x, GridType::xcells, GridType::xelems, GridType::y, y, FemType::y, GridType::ycells, GridType::yelems, and FemType::z.

Referenced by CreateElmerGridMesh().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void CreateKnotsExtruded ( struct FemType *  dataxy,
struct BoundaryType *  boundxy,
struct GridType *  grid,
struct FemType *  data,
struct BoundaryType *  bound,
int  info 
)

Definition at line 5271 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 5271 of file egmesh.cpp

References AllocateKnots(), FemType::connectexist, COORD_CART3, FemType::coordsystem, BoundaryType::coordsystem, FemType::created, BoundaryType::created, GridType::curveangle, GridType::curverad, GridType::curvezet, CylindricalCoordinateCurve(), CylindricalCoordinateImprove(), CylindricalCoordinateTransformation(), FemType::dim, GridType::dimension, GridType::dz, FemType::elementtypes, eps, FALSE, FM_PI, free_Ivector, free_Rvector, GetElementSide(), InitializeKnots(), Ivector, k, GridType::layeredbc, Acts::UnitConstants::m, material(), FemType::material, BoundaryType::material, MAX, FemType::maxnodes, MAXNODESD1, FemType::maxsize, FemType::minsize, n, FemType::noboundaries, FemType::noelements, FemType::noknots, BoundaryType::normal, BoundaryType::nosides, p, BoundaryType::parent, BoundaryType::parent2, FemType::partitionexist, FemType::periodicexist, printf(), Acts::UnitConstants::rad, ReorderElements(), GridType::rotate, GridType::rotateblocks, GridType::rotatecartesian, GridType::rotatecurve, GridType::rotateimprove, GridType::rotateradius1, GridType::rotateradius2, Rvector, SeparateMainaxisBoundaries(), SetElementDivisionCylinder(), SetElementDivisionExtruded(), BoundaryType::side, BoundaryType::side2, GridType::structure, boost::swap(), FemType::topology, GridType::totzelems, TRUE, BoundaryType::types, GridType::x, FemType::x, GridType::xcells, GridType::y, FemType::y, GridType::ycells, GridType::z, z, FemType::z, GridType::zcells, GridType::zelems, GridType::zexpand, GridType::zfirstmaterial, GridType::zlastmaterial, GridType::zlinear, GridType::zmaterial, and GridType::zratios.

Referenced by ManipulateMeshDefinition().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int CreatePoints ( struct CellType *  cell,
struct FemType *  data,
struct BoundaryType *  bound,
int  param1,
int  param2,
int  pointmode,
int  pointtype,
int  info 
)

Definition at line 1850 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 1850 of file egmesh.cpp

References AllocateBoundary(), BOTLEFT, BOTRIGHT, BoundaryType::created, FALSE, GetElementIndex(), material(), BoundaryType::material, FemType::nocells, BoundaryType::nosides, BoundaryType::parent, printf(), BoundaryType::side, TOPLEFT, FemType::topology, TOPRIGHT, BoundaryType::types, FemType::x, and FemType::y.

Referenced by CreateElmerGridMesh().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int CreateVariable ( struct FemType *  data,
int  variable,
int  unknowns,
Real  value,
const char *  variablename,
int  eorder 
)

Definition at line 1279 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 1279 of file egmesh.cpp

References FemType::alldofs, FemType::created, FemType::dofname, FemType::dofs, FemType::edofs, FALSE, info, FemType::noknots, printf(), Rvector, FemType::timesteps, and FemType::variables.

Referenced by LoadCGsimMesh(), and LoadFidapInput().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int CylinderCoordinates ( struct FemType *  data,
int  info 
)

Definition at line 2694 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 2694 of file egmesh.cpp

References cos(), FM_PI, FemType::noknots, printf(), Acts::UnitConstants::rad, FemType::x, and FemType::y.

Referenced by ManipulateMeshDefinition().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int DestroyBoundary ( struct BoundaryType *  bound)

Definition at line 1816 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 1816 of file egmesh.cpp

References BoundaryType::created, FALSE, free_Ivector, BoundaryType::material, BoundaryType::normal, BoundaryType::nosides, BoundaryType::parent, BoundaryType::parent2, printf(), BoundaryType::side, BoundaryType::side2, and BoundaryType::types.

Referenced by eg_transfermesh(), and ManipulateMeshDefinition().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int DestroyDualGraph ( struct FemType *  data,
int  info 
)

Definition at line 8420 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 8420 of file egmesh.cpp

References FemType::dualexists, FemType::dualgraph, FemType::dualmaxconnections, FALSE, free_Ivector, FemType::noknots, and printf().

Referenced by IncreaseElementOrder().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DestroyKnots ( struct FemType *  data)

Definition at line 1323 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 1323 of file egmesh.cpp

References FemType::alldofs, FemType::created, FemType::dofs, FemType::edofs, FemType::elementtypes, FALSE, free_Imatrix, free_Ivector, free_Rvector, FemType::material, MAXDOFS, FemType::maxnodes, FemType::noelements, FemType::noknots, FemType::topology, FemType::x, FemType::y, and FemType::z.

Referenced by eg_transfermesh(), ManipulateMeshDefinition(), and UniteMeshes().

+ Here is the caller graph for this function:

void ElementsToBoundaryConditions ( struct FemType *  data,
struct BoundaryType *  bound,
int  retainorphans,
int  info 
)
int ElementsToTriangles ( struct FemType *  data,
struct BoundaryType *  bound,
Real  critangle,
int  info 
)

Definition at line 2347 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 2347 of file egmesh.cpp

References kdfinder::abs(), charm_jet_coverage::angles, FemType::created, data, FemType::elementtypes, FALSE, FM_PI, free_Imatrix, free_Ivector, GetElementSide(), Imatrix, Ivector, k, FemType::material, MAX, MAXBOUNDARIES, FemType::maxnodes, MAXNODESD1, GridType::noelements, FemType::noelements, GridType::noknots, FemType::noknots, GridType::nonodes, BoundaryType::nosides, BoundaryType::parent, BoundaryType::parent2, printf(), BoundaryType::side, BoundaryType::side2, FemType::topology, GridType::triangles, TRUE, FemType::x, and FemType::y.

Referenced by ManipulateMeshDefinition().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int FindBoundaryBoundary ( struct FemType *  data,
struct BoundaryType *  bound,
int  mat1,
int  mat2,
int *  boundnodes,
int *  noboundnodes,
int  info 
)

Definition at line 4348 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 4348 of file egmesh.cpp

References kdfinder::abs(), FemType::created, FemType::dim, dz2, eps, FM_PI, free_Ivector, free_Rvector, GetElementSide(), Ivector, k, material(), MAX, MAXBOUNDARIES, FemType::maxnodes, MAXNODESD2, MIN, FemType::noknots, BoundaryType::nosides, printf(), Rvector, BoundaryType::types, FemType::x, xmax, xmin, FemType::y, ymax, ymin, and FemType::z.

Referenced by SideAndBulkBoundaries().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int FindBulkBoundary ( struct FemType *  data,
int  mat1,
int  mat2,
int *  boundnodes,
int *  noboundnodes,
int  info 
)

Definition at line 4134 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 4134 of file egmesh.cpp

References FemType::dim, dz2, FemType::elementtypes, eps, FALSE, FM_PI, free_Ivector, free_Rvector, Ivector, k, material(), FemType::material, FemType::maxnodes, FemType::noelements, FemType::noknots, printf(), Rvector, FemType::topology, TRUE, FemType::x, xmax, xmin, FemType::y, ymax, ymin, and FemType::z.

Referenced by SideAndBulkBoundaries().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int FindCorners ( struct GridType *  grid,
struct CellType *  cell,
struct FemType *  data,
int  info 
)
int FindNewBoundaries ( struct FemType *  data,
struct BoundaryType *  bound,
int *  boundnodes,
int  suggesttype,
int  dimred,
int  info 
)

Definition at line 3972 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 3972 of file egmesh.cpp

References AllocateBoundary(), CompareIndexes(), BoundaryType::created, Acts::Test::dim, FemType::dim, FemType::elementtypes, FALSE, GetElementSide(), MAXBOUNDARIES, MAXNODESD1, FemType::noelements, FemType::noknots, BoundaryType::nosides, BoundaryType::parent, BoundaryType::parent2, printf(), BoundaryType::side, BoundaryType::side2, TRUE, and BoundaryType::types.

Referenced by SideAndBulkBoundaries().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int FindParentSide ( struct FemType *  data,
struct BoundaryType *  bound,
int  sideelem,
int  sideelemtype,
int *  sideind 
)

Definition at line 1352 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 1352 of file egmesh.cpp

References FemType::elementtypes, FALSE, GetElementSide(), MAXNODESD1, BoundaryType::normal, BoundaryType::parent, BoundaryType::parent2, printf(), BoundaryType::side, BoundaryType::side2, Acts::Test::skip, FemType::topology, and TRUE.

+ Here is the call graph for this function:

int FindPeriodicNodes ( struct FemType *  data,
int  periodicdim[],
int  info 
)

Definition at line 6479 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 6479 of file egmesh.cpp

References kdfinder::abs(), Acts::Test::dim, FemType::dim, dx, dy, dz, Acts::UnitConstants::e, eps, FALSE, Ivector, FemType::noknots, FemType::periodic, FemType::periodicexist, printf(), Rvector, TRUE, FemType::x, FemType::y, and FemType::z.

Referenced by ManipulateMeshDefinition().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int GetElementDimension ( int  elementtype)

Definition at line 66 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 66 of file egmesh.cpp

References printf().

Referenced by ElementsToBoundaryConditions(), GetMaxElementDimension(), LoadComsolMesh(), RemoveLowerDimensionalBoundaries(), and RenumberBoundaryTypes().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void GetElementInfo ( int  element,
struct FemType *  data,
Real *  globalcoord,
int *  ind,
int *  material 
)

Definition at line 47 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 47 of file egmesh.cpp

References FemType::elementtypes, FemType::material, FemType::topology, FemType::x, and FemType::y.

Referenced by CreateKnots().

+ Here is the caller graph for this function:

void GetElementSide ( int  element,
int  side,
int  normal,
struct FemType *  data,
int *  ind,
int *  sideelemtype 
)

Definition at line 131 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 131 of file egmesh.cpp

References FemType::elementtypes, MAXNODESD2, printf(), and FemType::topology.

Referenced by ConvertEgTypeToMeshType(), CreateBoundaryLayer(), CreateBoundaryLayerDivide(), CreateKnotsExtruded(), ElementsToBoundaryConditions(), ElementsToTriangles(), FindBoundaryBoundary(), FindEdges(), FindNewBoundaries(), FindParentSide(), FindPointParents(), LoadGidInput(), LoadTriangleInput(), MergeBoundaries(), RemoveLowerDimensionalBoundaries(), RenumberBoundaryTypes(), SeparateCartesianBoundaries(), SeparateMainaxisBoundaries(), SetConnectedBoundary(), and SetDiscontinuousBoundary().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int GetMaxElementDimension ( struct FemType *  data)

Definition at line 120 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 120 of file egmesh.cpp

References GetElementDimension(), and GetMaxElementType().

Referenced by ConvertEgTypeToMeshType().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int GetMaxElementType ( struct FemType *  data)

Definition at line 94 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 94 of file egmesh.cpp

References FemType::elementtypes, and FemType::noelements.

Referenced by CreateBoundaryLayer(), CreateBoundaryLayerDivide(), ElementsToBoundaryConditions(), FindEdges(), GetMaxElementDimension(), IncreaseElementOrder(), and RemoveLowerDimensionalBoundaries().

+ Here is the caller graph for this function:

int GetMinElementType ( struct FemType *  data)

Definition at line 107 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 107 of file egmesh.cpp

References FemType::elementtypes, and FemType::noelements.

Referenced by ElementsToBoundaryConditions().

+ Here is the caller graph for this function:

int IncreaseElementOrder ( struct FemType *  data,
int  info 
)

Definition at line 4588 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 4588 of file egmesh.cpp

References bigerror(), CreateDualGraph(), DestroyDualGraph(), FemType::dualgraph, FemType::dualmaxconnections, FemType::elementtypes, FALSE, free_Imatrix, free_Rvector, GetElementGraph(), GetMaxElementType(), Imatrix, FemType::maxnodes, FemType::noelements, FemType::noknots, printf(), Rvector, FemType::topology, FemType::x, FemType::y, and FemType::z.

Referenced by ManipulateMeshDefinition().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void IsoparametricElements ( struct FemType *  data,
struct BoundaryType *  bound,
int  bcstoo,
int  info 
)
void MergeBoundaries ( struct FemType *  data,
struct BoundaryType *  bound,
int *  doubles,
int  info 
)

Definition at line 6111 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 6111 of file egmesh.cpp

References FemType::created, BoundaryType::created, FALSE, GetElementSide(), k, MAXBOUNDARIES, MAXNODESD1, BoundaryType::normal, BoundaryType::nosides, BoundaryType::parent, BoundaryType::parent2, printf(), BoundaryType::side, BoundaryType::side2, and BoundaryType::types.

Referenced by MergeElements().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void MergeElements ( struct FemType *  data,
struct BoundaryType *  bound,
int  manual,
Real  corder[],
Real  eps,
int  mergebounds,
int  info 
)

Definition at line 5991 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 5991 of file egmesh.cpp

References dx, dy, dz, FemType::elementtypes, free_Ivector, free_Rvector, Ivector, k, MergeBoundaries(), FemType::noelements, FemType::noknots, printf(), ReorderElements(), Rvector, FemType::topology, TRUE, FemType::x, FemType::y, and FemType::z.

Referenced by ManipulateMeshDefinition().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int MeshTypeStatistics ( struct FemType *  data,
int  info 
)

Definition at line 8500 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 8500 of file egmesh.cpp

References FemType::elementtypes, free_Ivector, Ivector, MAX, MIN, FemType::noelements, and printf().

+ Here is the call graph for this function:

int MirrorMeshes ( struct FemType *  data,
struct BoundaryType *  bound,
int *  symmaxis,
int  diffmats,
Real *  meshsize,
int  symmbound,
int  info 
)
void NumberVariables ( struct FemType *  data,
int  variable 
)
int PolarCoordinates ( struct FemType *  data,
Real  rad,
int  info 
)

Definition at line 2673 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 2673 of file egmesh.cpp

References cos(), FM_PI, FemType::noknots, printf(), FemType::x, FemType::y, and FemType::z.

Referenced by ManipulateMeshDefinition().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ReduceElementOrder ( struct FemType *  data,
int  matmin,
int  matmax 
)

Definition at line 5922 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 5922 of file egmesh.cpp

References FemType::elementtypes, free_Rvector, Ivector, material(), FemType::material, FemType::noelements, FemType::noknots, printf(), Rvector, FemType::topology, FemType::x, FemType::y, and FemType::z.

Referenced by ManipulateMeshDefinition().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int RemoveLowerDimensionalBoundaries ( struct FemType *  data,
struct BoundaryType *  bound,
int  info 
)

Definition at line 3765 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 3765 of file egmesh.cpp

References FemType::created, GetElementDimension(), GetElementSide(), GetMaxElementType(), MAXBOUNDARIES, MAXNODESD1, FemType::noelements, BoundaryType::nosides, BoundaryType::parent, BoundaryType::parent2, printf(), BoundaryType::side, BoundaryType::side2, and BoundaryType::types.

Referenced by ManipulateMeshDefinition().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int RemoveUnusedNodes ( struct FemType *  data,
int  info 
)

Definition at line 3569 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 3569 of file egmesh.cpp

References FemType::elementtypes, free_Ivector, Ivector, FemType::noelements, FemType::noknots, printf(), FemType::topology, FemType::x, FemType::y, and FemType::z.

Referenced by ManipulateMeshDefinition().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void RenumberBoundaryTypes ( struct FemType *  data,
struct BoundaryType *  bound,
int  renumber,
int  bcoffset,
int  info 
)

Definition at line 3624 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 3624 of file egmesh.cpp

References FemType::boundaryname, FemType::boundarynamesexist, FemType::created, FALSE, free_Ivector, GetElementDimension(), GetElementSide(), Ivector, k, MAX, MAXBODIES, MAXBOUNDARIES, MAXNODESD1, MIN, BoundaryType::nosides, printf(), TRUE, and BoundaryType::types.

Referenced by LoadFidapInput(), LoadGmshInput2(), and ManipulateMeshDefinition().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void RenumberMaterialTypes ( struct FemType *  data,
struct BoundaryType *  bound,
int  info 
)

Definition at line 3711 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 3711 of file egmesh.cpp

References FemType::bodyname, FemType::bodynamesexist, FALSE, free_Ivector, Ivector, k, FemType::material, MAX, MAXBODIES, MIN, FemType::noelements, printf(), and TRUE.

Referenced by LoadGmshInput2(), and ManipulateMeshDefinition().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ReorderElements ( struct FemType *  data,
struct BoundaryType *  bound,
int  manual,
Real  corder[],
int  info 
)

Definition at line 3401 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 3401 of file egmesh.cpp

References CalculateIndexwidth(), FemType::created, FemType::dim, dx, dy, dz, FemType::elementtypes, FALSE, free_Ivector, free_Rvector, Imatrix, Ivector, k, G4BARRELHCAL::length, FemType::material, MAXBOUNDARIES, FemType::maxnodes, FemType::noelements, FemType::noknots, BoundaryType::nosides, BoundaryType::parent, BoundaryType::parent2, printf(), ReorderAutomatic(), Rvector, SortIndex(), FemType::topology, TRUE, x, FemType::x, xmax, xmin, y, FemType::y, ymax, ymin, z, and FemType::z.

Referenced by CreateBoundaryLayer(), CreateKnotsExtruded(), ManipulateMeshDefinition(), and MergeElements().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int RotateTranslateScale ( struct FemType *  data,
struct ElmergridType *  eg,
int  info 
)

Definition at line 8196 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 8196 of file egmesh.cpp

References ElmergridType::center, cos(), ElmergridType::crotate, ElmergridType::cscale, ElmergridType::ctranslate, FemType::dim, FM_PI, MAX, MIN, FemType::noknots, printf(), ElmergridType::rotate, ElmergridType::scale, ElmergridType::translate, x, FemType::x, xmax, xmin, y, FemType::y, ymax, ymin, z, and FemType::z.

Referenced by ManipulateMeshDefinition().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void SeparateCartesianBoundaries ( struct FemType *  data,
struct BoundaryType *  bound,
int  info 
)

Definition at line 4981 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 4981 of file egmesh.cpp

References FemType::created, dx, dy, dz, eps, FALSE, GetElementSide(), k, MAXBOUNDARIES, BoundaryType::nosides, printf(), TRUE, BoundaryType::types, x, FemType::x, y, FemType::y, z, and FemType::z.

+ Here is the call graph for this function:

int SetConnectedBoundary ( struct FemType *  data,
struct BoundaryType *  bound,
int  bctype,
int  connecttype,
int  info 
)

Definition at line 2307 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 2307 of file egmesh.cpp

References FemType::connect, FemType::connectexist, FALSE, GetElementSide(), Ivector, k, MAXBOUNDARIES, MAXNODESD1, FemType::noknots, BoundaryType::nosides, and TRUE.

Referenced by ManipulateMeshDefinition().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int SetDiscontinuousBoundary ( struct FemType *  data,
struct BoundaryType *  bound,
int  boundtype,
int  endnodes,
int  info 
)

Definition at line 2041 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 2041 of file egmesh.cpp

References kdfinder::abs(), GridType::boundtype, CreateNewNodes(), BoundaryType::discont, BoundaryType::ediscont, FemType::elementtypes, FALSE, free_Ivector, GetElementSide(), Ivector, material(), FemType::material, MAX, MAXBOUNDARIES, MAXNODESD1, GridType::noelements, FemType::noelements, GridType::noknots, FemType::noknots, GridType::nonodes, BoundaryType::nosides, BoundaryType::parent, BoundaryType::parent2, printf(), BoundaryType::side2, FemType::topology, and TRUE.

Referenced by ManipulateMeshDefinition().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int SideAndBulkBoundaries ( struct FemType *  data,
struct BoundaryType *  bound,
struct ElmergridType *  eg,
int  info 
)

Definition at line 8581 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 8581 of file egmesh.cpp

References ElmergridType::boundbound, ElmergridType::boundbounds, ElmergridType::bulkbound, ElmergridType::bulkbounds, FindBoundaryBoundary(), FindBulkBoundary(), FindNewBoundaries(), free_Ivector, Ivector, and FemType::noknots.

Referenced by ManipulateMeshDefinition().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int SideAndBulkMappings ( struct FemType *  data,
struct BoundaryType *  bound,
struct ElmergridType *  eg,
int  info 
)

Definition at line 8534 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 8534 of file egmesh.cpp

References ElmergridType::bulkmap, ElmergridType::bulkmappings, FemType::created, FemType::material, MAXBOUNDARIES, FemType::noelements, BoundaryType::nosides, printf(), ElmergridType::sidemap, ElmergridType::sidemappings, and BoundaryType::types.

Referenced by ManipulateMeshDefinition().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int UniteMeshes ( struct FemType *  data1,
struct FemType *  data2,
struct BoundaryType *  bound1,
struct BoundaryType *  bound2,
int  info 
)

Definition at line 2713 of file egmesh.cpp.

View newest version in sPHENIX GitHub at line 2713 of file egmesh.cpp

References BoundaryType::coordsystem, FemType::created, BoundaryType::created, DestroyKnots(), FemType::dim, FemType::elementtypes, FALSE, free_Imatrix, free_Ivector, free_Rvector, Imatrix, Ivector, k, FemType::material, BoundaryType::material, MAX, MAXBOUNDARIES, FemType::maxnodes, FemType::noelements, FemType::noknots, BoundaryType::normal, BoundaryType::nosides, BoundaryType::parent, BoundaryType::parent2, printf(), Rvector, BoundaryType::side, BoundaryType::side2, FemType::topology, BoundaryType::types, FemType::x, FemType::y, and FemType::z.

Referenced by ManipulateMeshDefinition().

+ Here is the call graph for this function:

+ Here is the caller graph for this function: