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: