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: