EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
egmesh.cpp File Reference
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include "egutils.h"
#include "egdef.h"
#include "egtypes.h"
#include "egmesh.h"
#include "egnative.h"
+ Include dependency graph for egmesh.cpp:

Go to the source code of this file.

Macros

#define DEBUG   0
 

Functions

void GetElementInfo (int element, struct FemType *data, Real *globalcoord, int *ind, int *material)
 
int GetElementDimension (int elementtype)
 
int GetMaxElementType (struct FemType *data)
 
int GetMinElementType (struct FemType *data)
 
int GetMaxElementDimension (struct FemType *data)
 
void GetElementSide (int element, int side, int normal, struct FemType *data, int *ind, int *sideelemtype)
 
int GetElementGraph (int element, int edge, struct FemType *data, int *ind)
 
int CalculateIndexwidth (struct FemType *data, int indxis, int *indx)
 
void InitializeKnots (struct FemType *data)
 
void AllocateKnots (struct FemType *data)
 
static void MovePointCircle (Real *lim, int points, Real *coords, Real x, Real y, Real *dx, Real *dy)
 
static void MovePointLinear (Real *lim, int points, Real *coords, Real x, Real y, Real *dx, Real *dy)
 
static void MovePointAngle (Real *lim, int points, Real *coords, Real x, Real y, Real *dx, Real *dz)
 
static void MovePointSinus (Real *lim, int points, Real *coords, Real x, Real y, Real *dx, Real *dy)
 
static void MovePointPowerSeries (Real *lim, int points, Real *coords, Real x, Real y, Real *dx, Real *dy)
 
static void MovePointPowerSeries2 (Real *lim, int points, Real *coords, Real x, Real y, Real *dx, Real *dy)
 
static void MovePointPower (Real *lim, int points, Real *coords, Real x, Real y, Real *dx, Real *dy)
 
static void MovePointArc (Real *lim, int points, Real *coords, Real x, Real y, Real *dx, Real *dy)
 
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 *dofname, 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)
 
static int CreateNewNodes (struct FemType *data, int *order, int material, int newknots, int info)
 
int SetDiscontinuousBoundary (struct FemType *data, struct BoundaryType *bound, int boundtype, int endnodes, int info)
 
int FindPeriodicBoundary (struct FemType *data, struct BoundaryType *bound, int boundary1, int boundary2, int info)
 
int SetConnectedBoundary (struct FemType *data, struct BoundaryType *bound, int bctype, int connecttype, int info)
 
int ElementsToTriangles (struct FemType *data, struct BoundaryType *bound, Real critangle, 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)
 
static void ReorderAutomatic (struct FemType *data, int iterations, int *origindx, Real corder[], 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)
 
int RemoveLowerDimensionalBoundaries (struct FemType *data, struct BoundaryType *bound, int info)
 
static void FindEdges (struct FemType *data, struct BoundaryType *bound, int material, int sidetype, int info)
 
static int CompareIndexes (int elemtype, int *ind1, int *ind2)
 
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 IncreaseElementOrder (struct FemType *data, int info)
 
static void CylindricalCoordinateTransformation (struct FemType *data, Real r1, Real r2, int rectangle)
 
static void CylindricalCoordinateImprove (struct FemType *data, Real factor, Real r1, Real r2)
 
static void CylindricalCoordinateCurve (struct FemType *data, Real zet, Real rad, Real angle)
 
void SeparateCartesianBoundaries (struct FemType *data, struct BoundaryType *bound, int info)
 
void SeparateMainaxisBoundaries (struct FemType *data, struct BoundaryType *bound)
 
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 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 ElementsToBoundaryConditions (struct FemType *data, struct BoundaryType *bound, int retainorphans, int info)
 
int FindPeriodicNodes (struct FemType *data, int periodicdim[], 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 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)
 

Macro Definition Documentation

#define DEBUG   0

Definition at line 44 of file egmesh.cpp.

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

Referenced by AllocateKnots().

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:

static int CompareIndexes ( int  elemtype,
int *  ind1,
int *  ind2 
)
static

Definition at line 3956 of file egmesh.cpp.

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

Referenced by FindNewBoundaries().

+ Here is the caller graph for this function:

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:

static int CreateNewNodes ( struct FemType data,
int *  order,
int  material,
int  newknots,
int  info 
)
static

Definition at line 1943 of file egmesh.cpp.

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

References kdfinder::abs(), FemType::alldofs, FemType::dofs, FemType::edofs, FemType::elementtypes, free_Rvector, Ivector, k, FemType::material, MAXDOFS, FemType::noelements, GridType::noknots, FemType::noknots, GridType::nonodes, printf(), Rvector, FemType::topology, FemType::x, FemType::y, and FemType::z.

Referenced by SetDiscontinuousBoundary().

+ 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 *  dofname,
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:

static void CylindricalCoordinateCurve ( struct FemType data,
Real  zet,
Real  rad,
Real  angle 
)
static

Definition at line 4941 of file egmesh.cpp.

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

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

Referenced by CreateKnotsExtruded().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void CylindricalCoordinateImprove ( struct FemType data,
Real  factor,
Real  r1,
Real  r2 
)
static

Definition at line 4881 of file egmesh.cpp.

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

References c, eps, FemType::noknots, printf(), r1, x, FemType::x, y, and FemType::y.

Referenced by CreateKnotsExtruded().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void CylindricalCoordinateTransformation ( struct FemType data,
Real  r1,
Real  r2,
int  rectangle 
)
static

Definition at line 4729 of file egmesh.cpp.

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

References cos(), dx, dy, dz, FemType::elementtypes, eps, FM_PI, free_Ivector, Ivector, FemType::minsize, FemType::noelements, FemType::noknots, printf(), r1, r2, FemType::topology, x, FemType::x, x2, y, FemType::y, z, FemType::z, and z2.

Referenced by CreateKnotsExtruded().

+ 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:

static void FindEdges ( struct FemType data,
struct BoundaryType bound,
int  material,
int  sidetype,
int  info 
)
static

Definition at line 3825 of file egmesh.cpp.

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

References AllocateBoundary(), BoundaryType::created, FemType::elementtypes, FALSE, free_Imatrix, free_Ivector, GetElementSide(), GetMaxElementType(), Imatrix, Ivector, FemType::material, MAXBOUNDARIES, MAXNODESD1, FemType::noelements, FemType::noknots, BoundaryType::parent, BoundaryType::parent2, printf(), Rvector, BoundaryType::side, BoundaryType::side2, SortIndex(), TRUE, and BoundaryType::types.

+ Here is the call graph for this function:

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 FindPeriodicBoundary ( struct FemType data,
struct BoundaryType bound,
int  boundary1,
int  boundary2,
int  info 
)

Definition at line 2218 of file egmesh.cpp.

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

References BoundaryType::created, BoundaryType::discont, BoundaryType::ediscont, FemType::elementtypes, FALSE, Ivector, k, MAXBOUNDARIES, FemType::noknots, BoundaryType::nosides, BoundaryType::parent, BoundaryType::parent2, printf(), BoundaryType::side, BoundaryType::side2, 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:

int GetElementGraph ( int  element,
int  edge,
struct FemType data,
int *  ind 
)

Definition at line 546 of file egmesh.cpp.

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

References FemType::elementtypes, and FemType::topology.

Referenced by CreateDualGraph(), and IncreaseElementOrder().

+ 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 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 
)
static void MovePointAngle ( Real lim,
int  points,
Real coords,
Real  x,
Real  y,
Real dx,
Real dz 
)
static

Definition at line 858 of file egmesh.cpp.

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

References cos(), FM_PI, x, y, and z1.

Referenced by CreateKnots().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void MovePointArc ( Real lim,
int  points,
Real coords,
Real  x,
Real  y,
Real dx,
Real dy 
)
static

Definition at line 1028 of file egmesh.cpp.

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

References d, and y.

Referenced by CreateKnots().

+ Here is the caller graph for this function:

static void MovePointCircle ( Real lim,
int  points,
Real coords,
Real  x,
Real  y,
Real dx,
Real dy 
)
static

Definition at line 779 of file egmesh.cpp.

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

References Acts::UnitConstants::e, p, r1, and r2.

Referenced by CreateKnots().

+ Here is the caller graph for this function:

static void MovePointLinear ( Real lim,
int  points,
Real coords,
Real  x,
Real  y,
Real dx,
Real dy 
)
static

Definition at line 828 of file egmesh.cpp.

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

References c, d, and y.

Referenced by CreateKnots().

+ Here is the caller graph for this function:

static void MovePointPower ( Real lim,
int  points,
Real coords,
Real  x,
Real  y,
Real dx,
Real dy 
)
static

Definition at line 1000 of file egmesh.cpp.

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

References c, d, and y.

Referenced by CreateKnots().

+ Here is the caller graph for this function:

static void MovePointPowerSeries ( Real lim,
int  points,
Real coords,
Real  x,
Real  y,
Real dx,
Real dy 
)
static

Definition at line 921 of file egmesh.cpp.

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

References d, n, t, Acts::UnitConstants::u, x, and y.

Referenced by CreateKnots().

+ Here is the caller graph for this function:

static void MovePointPowerSeries2 ( Real lim,
int  points,
Real coords,
Real  x,
Real  y,
Real dx,
Real dy 
)
static

Definition at line 956 of file egmesh.cpp.

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

References d, Acts::UnitConstants::e, Acts::UnitConstants::h, n, t, Acts::UnitConstants::u, x, and y.

Referenced by CreateKnots().

+ Here is the caller graph for this function:

static void MovePointSinus ( Real lim,
int  points,
Real coords,
Real  x,
Real  y,
Real dx,
Real dy 
)
static

Definition at line 894 of file egmesh.cpp.

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

References c, d, FM_PI, and y.

Referenced by CreateKnots().

+ Here is the caller graph for this function:

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:

static void ReorderAutomatic ( struct FemType data,
int  iterations,
int *  origindx,
Real  corder[],
int  info 
)
static

Definition at line 3202 of file egmesh.cpp.

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

References CalculateIndexwidth(), FemType::dim, dx, dy, dz, FemType::elementtypes, FALSE, free_Imatrix, free_Ivector, free_Rvector, Imatrix, FemType::indexwidth, Ivector, k, FemType::maxnodes, FemType::noelements, FemType::noknots, printf(), Rvector, SortIndex(), FemType::topology, TRUE, FemType::x, FemType::y, and FemType::z.

Referenced by ReorderElements().

+ 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:

void SeparateMainaxisBoundaries ( struct FemType data,
struct BoundaryType bound 
)

Definition at line 5121 of file egmesh.cpp.

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

References FemType::created, dx, dy, dz, eps, GetElementSide(), Ivector, k, MAXNODESD1, FemType::noboundaries, BoundaryType::nosides, printf(), BoundaryType::types, x, FemType::x, y, FemType::y, z, and FemType::z.

Referenced by CreateKnotsExtruded().

+ Here is the call graph for this function:

+ Here is the caller 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: