Overture  Version 25
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | Friends | List of all members
UnstructuredMapping Class Reference

#include <UnstructuredMapping.h>

Inheritance diagram for UnstructuredMapping:
Inheritance graph
[legend]
Collaboration diagram for UnstructuredMapping:
Collaboration graph
[legend]

Classes

class  IDTuple
 
struct  TagError
 

Public Types

enum  EntityTypeEnum {
  Invalid =-1, Vertex =0, Edge, Face,
  Region, Mesh, NumberOfEntityTypes
}
 
enum  ElementType {
  triangle, quadrilateral, tetrahedron, pyramid,
  triPrism, septahedron, hexahedron, other,
  boundary, NumberOfElementTypes
}
 
enum  DisplayListProperty {
  nodeDL =0, edgeDL, boundaryEdgeDL, faceDL,
  faceNormalDL, numberOfDLProperties
}
 
enum  EntityInfoMask { NullEntityInfo = 0x0, HoleInEntityData = 0x1, GhostEntity = HoleInEntityData<<1, BCEntity = GhostEntity<<1 }
 
typedef std::list< EntityTag * >
::iterator 
entity_tag_iterator
 iterator for going through the tags in a specific entity
 
typedef std::list< EntityTag * >
::const_iterator 
const_entity_tag_iterator
 
typedef std::list< IDTuple >
::iterator 
tag_entity_iterator
 iterator for going throught the entities with a specific tag
 
typedef std::list< IDTuple >
::const_iterator 
const_tag_entity_iterator
 
- Public Types inherited from Mapping
enum  mappingSpace { parameterSpace, cartesianSpace }
 
enum  coordinateSystem {
  cartesian, spherical, cylindrical, polar,
  toroidal, numberOfCoordinateSystems
}
 
enum  coordinateSingularity { noCoordinateSingularity, polarSingularity }
 
enum  mappingCoordinateSystem { rectangular, conformal, orthogonal, general }
 
enum  periodicType { notPeriodic, derivativePeriodic, functionPeriodic }
 
enum  topologyEnum { topologyIsNotPeriodic =0, topologyIsPeriodic, topologyIsPartiallyPeriodic }
 
enum  mappingItemName {
  mappingName, domainName, rangeName, domainAxis1Name,
  domainAxis2Name, domainAxis3Name, rangeAxis1Name, rangeAxis2Name,
  rangeAxis3Name, numberOfMappingItemNames
}
 
enum  basicInverseOptions { canDoNothing, canDetermineOutside, canInvert, canInvertWithGoodGuess }
 
typedef ArraySimpleFixed< int, 2, 3, 1, 1 > IndexRangeType
 

Public Member Functions

 UnstructuredMapping ()
 
 UnstructuredMapping (int domainDimension_, int rangeDimension_, mappingSpace domainSpace_, mappingSpace rangeSpace_)
 
 UnstructuredMapping (const UnstructuredMapping &, const CopyType copyType=DEEP)
 
 ~UnstructuredMapping ()
 
UnstructuredMappingoperator= (const UnstructuredMapping &X0)
 
void addGhostElements (bool trueOrFalse=true)
 
virtual const realArraygetGrid (MappingParameters &params=Overture::nullMappingParameters(), bool includeGhost=false)
 
int getNumberOfNodes () const
 
int getNumberOfElements () const
 
int getNumberOfFaces () const
 
int getNumberOfEdges () const
 
int getMaxNumberOfNodesPerElement () const
 
int getMaxNumberOfFacesPerElement () const
 
int getMaxNumberOfNodesPerFace () const
 
int getNumberOfBoundaryFaces () const
 
int size (EntityTypeEnum t) const
 
int capacity (EntityTypeEnum t) const
 
int reserve (EntityTypeEnum, int)
 
void setPreferTriangles (bool trueOrFalse=true)
 
void setElementDensityTolerance (real tol)
 
const realArraygetNodes () const
 
const intArray & getElements () const
 
const intArray & getFaces ()
 
const intArray & getFaceElements ()
 
const intArray & getEdges ()
 
const intArray & getTags ()
 
const intArray & getElementFaces ()
 
const intArray & getBoundaryFace ()
 
const intArray & getBoundaryFaceTags ()
 
const intArray & getEntities (EntityTypeEnum)
 
const intArray & getEntityAdjacencyIndices (EntityTypeEnum from, EntityTypeEnum to, intArray &offsets)
 
const intArray & getGhostElements () const
 
const intArray & getMask (EntityTypeEnum entityType) const
 
void createNodeElementList (intArray &nodeElementList)
 
int getNumberOfNodesThisElement (int element) const
 
int getNumberOfNodesThisFace (int face_) const
 
int getBoundaryFace (int bdyface_) const
 
int getBoundaryFaceTag (int bdyface_) const
 
int elementGlobalVertex (int element, int vertex) const
 
int faceGlobalVertex (int face, int vertex) const
 
int getNumberOfFacesThisElement (int element_) const
 
UnstructuredMappingIterator begin (EntityTypeEnum entityType_, bool skipGhostEntities=false) const
 
UnstructuredMappingIterator end (EntityTypeEnum entityType_, bool skipGhostEntities=false) const
 
UnstructuredMappingAdjacencyIterator adjacency_begin (EntityTypeEnum fromT, int fromE, EntityTypeEnum to, bool skipGhostEntities=false) const
 
UnstructuredMappingAdjacencyIterator adjacency_end (EntityTypeEnum fromT, int fromE, EntityTypeEnum to, bool skipGhostEntities=false) const
 
UnstructuredMappingAdjacencyIterator adjacency_begin (UnstructuredMappingIterator from, EntityTypeEnum to, bool skipGhostEntities=false) const
 
UnstructuredMappingAdjacencyIterator adjacency_end (UnstructuredMappingIterator from, EntityTypeEnum to, bool skipGhostEntities=false) const
 
UnstructuredMappingAdjacencyIterator adjacency_begin (UnstructuredMappingAdjacencyIterator from, EntityTypeEnum to, bool skipGhostEntities=false) const
 
UnstructuredMappingAdjacencyIterator adjacency_end (UnstructuredMappingAdjacencyIterator from, EntityTypeEnum to, bool skipGhostEntities=false) const
 
UnstructuredMappingAdjacencyIterator adjacency_begin (IDTuple from, EntityTypeEnum to, bool skipGhostEntities=false) const
 
UnstructuredMappingAdjacencyIterator adjacency_end (IDTuple from, EntityTypeEnum to, bool skipGhostEntities=false) const
 
int setNodesAndConnectivity (const realArray &nodes, const intArray &elements, int domainDimension=-1, bool buildConnectivity=true)
 
int setNodesAndConnectivity (const realArray &nodes, const intArray &elements, const intArray &faces, const intArray &faceElements, const intArray &elementFaces, int numberOfFaces=-1, int numberOfBoundaryFaces=-1, int domainDimension=-1, bool constantNumberOfNodesPerElement=false)
 
int setNodesElementsAndNeighbours (const realArray &nodes, const intArray &elements, const intArray &neighbours, int numberOfFaces=-1, int numberOfBoundaryFaces=-1, int domainDimension=-1)
 
void setTags (const intArray &new_tags)
 
int splitElement (int e, int relativeEdge, real *x)
 
int insideOrOutside (realArray &x, IntegerArray &inside)
 
virtual int intersects (Mapping &map2, const int &side1=-1, const int &axis1=-1, const int &side2=-1, const int &axis2=-1, const real &tol=0.) const
 
int project (realArray &x, MappingProjectionParameters &mpParameters)
 
int findClosestEntity (UnstructuredMapping::EntityTypeEnum etype, real x, real y, real z=0.)
 
int printConnectivity (FILE *file=stdout)
 
int printStatistics (FILE *file=stdout)
 
int checkConnectivity (bool printResults=true, IntegerArray *pBadElements=NULL)
 
void getNormal (int e, real *normalVector)
 
intArray buildFromAMapping (Mapping &map, intArray &maskin=Overture::nullIntegerDistributedArray())
 
int buildFromARegularMapping (Mapping &map, ElementType elementTypePreferred=triangle)
 
int buildUnstructuredGrid (Mapping &map, int numberOfGridPoints[2])
 
void buildFromACompositeGrid (CompositeGrid &cg)
 
int buildFromACompositeSurface (CompositeSurface &mapping)
 
int findBoundaryCurves (int &numberOfBoundaryCurves, Mapping **&boundaryCurves)
 
virtual int get (const GenericDataBase &dir, const aString &name)
 
virtual int put (GenericDataBase &dir, const aString &name) const
 
virtual int get (const aString &fileName)
 
virtual int put (const aString &fileName=nullString) const
 
Mappingmake (const aString &mappingClassName)
 
int update (MappingInformation &mapInfo)
 
ElementType getElementType (int e) const
 
virtual aString getClassName () const
 
aString getColour () const
 
int setColour (const aString &colour)
 
int getDisplayList (DisplayListProperty d)
 
void setDisplayList (DisplayListProperty d, int l)
 
void eraseUnstructuredMapping (GenericGraphicsInterface &gi)
 
bool dumpTags () const
 
bool dumpTags (bool dt)
 
EntityTagaddTag (const EntityTypeEnum entityType, const int entityIndex, const std::string tagName, const void *tagData, const bool copyTag=false, const int tagSize=0)
 
int deleteTag (const EntityTypeEnum entityType, const int entityIndex, const EntityTag &tagToDelete)
 
int deleteTag (const EntityTypeEnum entityType, const int entityIndex, const std::string tagToDelete)
 
bool hasTag (const EntityTypeEnum entityType, const int entityIndex, const std::string tag)
 
EntityTaggetTag (const EntityTypeEnum entityType, const int entityIndex, const std::string tagName)
 
void * getTagData (const EntityTypeEnum entityType, const int entityIndex, const std::string tag)
 
int setTag (const EntityTypeEnum entityType, const int entityIndex, const EntityTag &newTag)
 
int setTagData (const EntityTypeEnum entityType, const int entityIndex, const std::string tagName, const void *data, const bool copyData=false, const int tagSize=0)
 
void maintainTagToEntityMap (bool v)
 
bool maintainsTagToEntityMap () const
 
entity_tag_iterator entity_tag_begin (EntityTypeEnum et, int index)
 return the beginning of the tags for an entity specified with et and index
 
const_entity_tag_iterator entity_tag_begin (EntityTypeEnum et, int index) const
 
entity_tag_iterator entity_tag_end (EntityTypeEnum et, int index)
 return the end of the tags for an entity specified with et and index
 
const_entity_tag_iterator entity_tag_end (EntityTypeEnum et, int index) const
 
tag_entity_iterator tag_entity_begin (std::string tagName)
 return the beginning of the entities with the tag tagName; note this inverse mapping will be built if it does not already exist
 
tag_entity_iterator tag_entity_end (std::string tagName)
 return the end of the entities with the tag tagName; note this inverse mapping will be built if it does not already exist
 
int maxVerticesInEntity (EntityTypeEnum type)
 get the max number of vertices in a given entity type
 
ElementType computeElementType (EntityTypeEnum type, int e)
 
int numberOfVertices (EntityTypeEnum, int)
 get the number of vertices in a given entity
 
bool entitiesAreEquivalent (EntityTypeEnum type, int entity, ArraySimple< int > &verticies)
 compare the vertices of an entity to a list of vertices, return true if the list specifies the entity
 
std::string tagPrefix (EntityTypeEnum type, EntityInfoMask info)
 tagPrefix returns the prefix associated with builtin tag conventions
 
void setAsGhost (EntityTypeEnum type, int entity)
 setAsGhost takes an entity and adjusts the data structures to make it a ghost
 
bool isGhost (EntityTypeEnum type, int entity) const
 isGhost returns true if a given entity is a ghost (it returns false if no ghost entity info exists)
 
void setBC (EntityTypeEnum type, int entity, int bc)
 setBC assigns a boundary condition number to a particular entity, if the entity==-1 then the the bc is removed
 
bool hasBC (EntityTypeEnum type, int entity)
 hasBC returns true if the given {type,entity} has a boundary condition specified
 
long getBC (EntityTypeEnum type, int entity)
 getBC returns the boundary condition number associated with {type,entity} or returns -1 if no bc is specified
 
bool specifyVertices (const realArray &verts)
 provide an array containing the vertices in for this mapping
 
bool buildEntity (EntityTypeEnum type, bool rebuild=false, bool keepDownward=true, bool keepUpward=true)
 buildEntity directs the construction of the entity arrays stored in entities and entityMasks
 
bool specifyEntity (const EntityTypeEnum type, const intArray &entity)
 provide a list of verticies identifying each entity of a particular type
 
int addVertex (real x, real y, real z=0.)
 add a vertex to the mapping, return the index into the "node" array
 
int addEntity (EntityTypeEnum type, ArraySimple< int > &newEntVerts)
 add a "type" entity to the mesh; specify the entity with the vertices in newEntVerts; return the new entity's index
 
bool buildConnectivity (EntityTypeEnum from, EntityTypeEnum to, bool rebuild=false)
 buildConnectivity directs the construction of the connectivity arrays, it returns true if successfull
 
bool specifyConnectivity (const EntityTypeEnum from, const EntityTypeEnum to, const intArray &index, const char *orientation, const intArray &offset=Overture::nullIntegerDistributedArray())
 specifyConnectivity tells the mapping to use the given connectivity information rather than building it
 
bool connectivityExists (EntityTypeEnum from, EntityTypeEnum to) const
 return true if the requested adjacency information exists
 
void deleteConnectivity (EntityTypeEnum from, EntityTypeEnum to)
 delete specific connectivity information
 
void deleteConnectivity (EntityTypeEnum type)
 delete all connectivity referring to a particular entity type
 
void deleteConnectivity ()
 delete ALL thet connectivity information
 
void expandGhostBoundary (int bc=-1)
 expand the ghost boundary by a layer
 
- Public Member Functions inherited from Mapping
 Mapping (int domainDimension=3, int rangeDimension=3, mappingSpace domainSpace=parameterSpace, mappingSpace rangeSpace=cartesianSpace, coordinateSystem domainCoordinateSystem=cartesian, coordinateSystem rangeCoordinateSystem=cartesian)
 
 Mapping (const Mapping &, const CopyType copyType=DEEP)
 
Mappingoperator= (const Mapping &X)
 
virtual ~Mapping ()
 
void reference (const Mapping &map)
 
void breakReference ()
 
virtual void inverseMap (const realArray &x, realArray &r, realArray &rx=Overture::nullRealDistributedArray(), MappingParameters &params=Overture::nullMappingParameters())
 
virtual void basicInverse (const realArray &x, realArray &r, realArray &rx=Overture::nullRealDistributedArray(), MappingParameters &params=Overture::nullMappingParameters())
 
virtual void mapC (const realArray &r, const realArray &x, const realArray &xr=Overture::nullRealDistributedArray(), MappingParameters &params=Overture::nullMappingParameters())
 
virtual void inverseMapC (const realArray &x, const realArray &r, const realArray &rx=Overture::nullRealDistributedArray(), MappingParameters &params=Overture::nullMappingParameters())
 
virtual void mapGrid (const realArray &r, realArray &x, realArray &xr=Overture::nullRealDistributedArray(), MappingParameters &params=Overture::nullMappingParameters())
 
virtual void inverseMapGrid (const realArray &x, realArray &r, realArray &rx=Overture::nullRealDistributedArray(), MappingParameters &params=Overture::nullMappingParameters())
 
virtual void mapS (const RealArray &r, RealArray &x, RealArray &xr=Overture::nullRealArray(), MappingParameters &params=Overture::nullMappingParameters())
 
virtual void inverseMapS (const RealArray &x, RealArray &r, RealArray &rx=Overture::nullRealArray(), MappingParameters &params=Overture::nullMappingParameters())
 
virtual void basicInverseS (const RealArray &x, RealArray &r, RealArray &rx=Overture::nullRealArray(), MappingParameters &params=Overture::nullMappingParameters())
 
virtual void mapCS (const RealArray &r, const RealArray &x, const RealArray &xr=Overture::nullRealArray(), MappingParameters &params=Overture::nullMappingParameters())
 
virtual void inverseMapCS (const RealArray &x, const RealArray &r, const RealArray &rx=Overture::nullRealArray(), MappingParameters &params=Overture::nullMappingParameters())
 
virtual void mapGridS (const RealArray &r, RealArray &x, RealArray &xr=Overture::nullRealArray(), MappingParameters &params=Overture::nullMappingParameters())
 
virtual void inverseMapGridS (const RealArray &x, RealArray &r, RealArray &rx=Overture::nullRealArray(), MappingParameters &params=Overture::nullMappingParameters())
 
virtual int projectS (RealArray &x, MappingProjectionParameters &mpParams)
 
virtual real sizeOf (FILE *file=NULL) const
 
virtual bool updateWithCommand (MappingInformation &mapInfo, const aString &command)
 
virtual int interactiveUpdate (GenericGraphicsInterface &gi)
 
virtual void display (const aString &label=blankString) const
 
int checkMapping ()
 
void reinitialize ()
 
int determineResolution (int numberOfGridPoints[], bool collapsedEdge[2][3], real averageArclength[], real elementDensityTolerance=.05)
 
void secondOrderDerivative (const Index &I, const realArray &r, realArray &xrr, const int axis, const int &rAxis)
 
int findNearestGridPoint (RealArray &x, RealArray &r, RealArray &dista, RealArray &xa)
 Find the nearest grid point to each of a given set of points x(i,.)
 
real getArcLength ()
 
basicInverseOptions getBasicInverseOption () const
 
int getBoundaryCondition (const int side, const int axis) const
 
virtual RealArray getBoundingBox (const int &side=-1, const int &axis=-1) const
 
virtual int getBoundingBox (const IntegerArray &indexRange, const IntegerArray &gridIndexRange, RealArray &xBounds, bool local=false) const
 
virtual int getBoundingBox (const RealArray &rBounds, RealArray &xBounds) const
 
const BoundingBoxgetBoundingBoxTree (const int &side, const int &axis) const
 
int getCoordinateEvaluationType (const coordinateSystem type) const
 
Bound getDomainBound (const int side, const int axis) const
 
int getDomainDimension () const
 
coordinateSystem getDomainCoordinateSystem () const
 
Bound getDomainCoordinateSystemBound (const int side, const int axis) const
 
mappingSpace getDomainSpace () const
 
int getGridDimensions (const int axis) const
 
virtual const RealArraygetGridSerial (MappingParameters &params=Overture::nullMappingParameters(), bool includeGhost=false)
 
int getID () const
 
int getInvertible () const
 
periodicType getIsPeriodic (const int axis) const
 
mappingCoordinateSystem getMappingCoordinateSystem () const
 
aString getName (const mappingItemName item) const
 
int getGridIndexRange (int side, int axis)
 
int getNumberOfGhostPoints (int side, int axis)
 
real getParameter (const MappingParameters::realParameter &param) const
 
int getParameter (const MappingParameters::intParameter &param) const
 
real getPeriodVector (const int axis, const int direction) const
 
Bound getRangeBound (const int side, const int axis) const
 
coordinateSystem getRangeCoordinateSystem () const
 
Bound getRangeCoordinateSystemBound (const int side, const int axis) const
 
int getRangeDimension () const
 
mappingSpace getRangeSpace () const
 
int getShare (const int side, const int axis) const
 
real getSignForJacobian () const
 
topologyEnum getTopology (const int side, const int axis) const
 
coordinateSingularity getTypeOfCoordinateSingularity (const int side, const int axis) const
 
bool gridIsValid () const
 
int hasACoordinateSingularity () const
 
intArray & topologyMask ()
 
void setArcLength (real length)
 
virtual void setBasicInverseOption (const basicInverseOptions option)
 
virtual void setBoundaryCondition (const int side, const int axis, const int bc)
 
virtual void setCoordinateEvaluationType (const coordinateSystem type, const int trueOrFalse)
 
virtual void setDomainBound (const int side, const int axis, const Bound domainBound)
 
virtual void setDomainCoordinateSystem (const coordinateSystem domainCoordinateSystem)
 
virtual void setDomainCoordinateSystemBound (const int side, const int axis, const Bound domainCoordinateSystemBound)
 
virtual void setDomainDimension (const int domainDimension)
 
virtual void setDomainSpace (const mappingSpace domainSpace)
 
virtual void setGrid (realArray &grid, IntegerArray &gridIndexRange)
 
virtual void setGridDimensions (const int axis, const int dim)
 
virtual void setInvertible (const int invertible)
 
void setID ()
 
virtual void setIsPeriodic (const int axis, const periodicType isPeriodic)
 
virtual void setMappingCoordinateSystem (const mappingCoordinateSystem mappingCoordinateSystem0)
 
virtual void setName (const mappingItemName item, const aString &name)
 
void setGridIndexRange (int side, int axis, int num)
 
void setNumberOfGhostPoints (int side, int axis, int numGhost)
 
virtual void setParameter (const MappingParameters::realParameter &param, const real &value)
 
virtual void setParameter (const MappingParameters::intParameter &param, const int &value)
 
void setPartition (Partitioning_Type &partition)
 
virtual void setPeriodVector (const int axis, const int direction, const real periodVectorComponent)
 
virtual void setRangeBound (const int side, const int axis, const Bound rangeBound)
 
virtual void setRangeCoordinateSystem (const coordinateSystem rangeCoordinateSystem)
 
virtual void setRangeCoordinateSystemBound (const int side, const int axis, const Bound rangeCoordinateSystemBound)
 
virtual void setRangeDimension (const int rangeDimension)
 
virtual void setRangeSpace (const mappingSpace rangeSpace)
 
virtual void setShare (const int side, const int axis, const int share)
 
void setSignForJacobian (const real signForJac)
 
virtual void setTopology (const int side, const int axis, const topologyEnum topo)
 
virtual void setTypeOfCoordinateSingularity (const int side, const int axis, const coordinateSingularity)
 
bool usesDistributedInverse () const
 
bool usesDistributedMap () const
 
virtual void useRobustInverse (const bool trueOrFalse=TRUE)
 
bool usingRobustInverse () const
 Return true if the robust inverse is used.
 
virtual int outside (const realArray &x)
 
virtual int setNumberOfGhostLines (IndexRangeType &numberOfGhostLinesNew)
 
void setNumberOfDistributedGhostLines (int numGhost)
 
void periodicShift (realArray &r, const Index &I)
 
Index getIndex (const realArray &r, realArray &x, const realArray &xr, int &base, int &bound, int &computeMap, int &computeMapDerivative)
 
- Public Member Functions inherited from ReferenceCounting
 ReferenceCounting ()
 
 ReferenceCounting (const ReferenceCounting &x, const CopyType ct=DEEP)
 
virtual ~ReferenceCounting ()
 
Integer incrementReferenceCount ()
 
Integer decrementReferenceCount ()
 
Integer getReferenceCount () const
 
Logical uncountedReferencesMayExist ()
 
Integer getGlobalID () const
 
void setGlobalID (int id)
 
virtual void consistencyCheck () const
 

Static Public Member Functions

static bool projectOnTriangle (real *x0, real *x1, real *x2, real *xa, real *xb, real *xt, int &intersectionFace, int &intersectionFace2, real &r0, real &s0, real *normal=NULL)
 
- Static Public Member Functions inherited from Mapping
static void openDebugFiles ()
 
static void closeDebugFiles ()
 
static real epsilon ()
 
static void setMinimumNumberOfDistributedGhostLines (int numGhost)
 
static int getGridMinAndMax (const realArray &u, const Range &R1, const Range &R2, const Range &R3, real uMin[3], real uMax[3], bool local=false)
 
static MappingmakeMapping (const aString &mappingClassName)
 
static MappingLinkedListstaticMapList ()
 

Static Public Attributes

static aString EntityTypeStrings []
 an array usefull for diagnostics involving EntityTypeEnum
 
static aString ElementTypeStrings []
 an array usefull for diagnostics involving ElementType
 
- Static Public Attributes inherited from Mapping
static int useInitialGuessForInverse =TRUE
 
static int debug =0
 
static FILE * debugFile =NULL
 
static FILE * pDebugFile =NULL
 
static const real bogus =10.
 

Protected Types

enum  TimingsEnum {
  totalTime =0, timeForBuildingSubSurfaces, timeForConnectivity, timeForProjectGlobalSearch,
  timeForProjectLocalSearch, timeForStitch, timeForInsideOrOutside, numberOfTimings
}
 

Protected Member Functions

int buildConnectivityLists ()
 
void initMapping ()
 
int FEZComputeElementTypes ()
 
IntegerArray getElementFaceNodes (int element_, int faceOffset) const
 
int FEZInitializeConnectivity ()
 
int addNodeToInterface (int s1, int &i1, int &j1, int &e1m, int &e1p, IntegerArray &connectionInfo1, int s2, int &i2, int &j2, int &e2m, int &e2p, IntegerArray &connectionInfo2, const intArray &elementface2, intArray *bNodep, IntegerArray &faceOffset, IntegerArray &elementOffset, int maxNumberOfElements, int maxNumberOfFaces)
 
int buildSearchTree ()
 
int computeConnection (int s, int s2, intArray *bNodep, IntegerArray &numberOfBoundaryNodes, UnstructuredMapping *boundaryp, real epsx, IntegerArray &connectionInfo)
 
bool isDuplicateNode (int i, int n, int e, int s, int s2, real &r0, real &r1, realArray &x, real epsDup, intArray &bNode, intArray &nodeInfo, int &localEdge, real &dist0, real &dist1, real &dist2, int debugFlag)
 
void replaceNode (int n, int n0, intArray &nodeInfo, intArray &ef)
 
bool validStitch (int n, realArray &x0, realArray &x, intArray &nodeInfo, real tol, int debug)
 
- Protected Member Functions inherited from Mapping
int buildMappingParametersDialog (DialogData &dialog)
 
int getMappingParametersOption (const aString &answer, DialogData &dialog, GenericGraphicsInterface &gi)
 : Look for a change to one of the mapping parameters.
 
int updateMappingParametersDialog (DialogData &dialog)
 
void initializePartition ()
 
int mappingHasChanged ()
 
void setGridIsValid ()
 
void setDefaultMappingBounds (const mappingSpace ms, Bound mappingBound[3][2])
 
void setDefaultCoordinateSystemBounds (const coordinateSystem cs, Bound csBound[3][2])
 
int validSide (const int side) const
 
int validAxis (const int axis) const
 
void mappingError (const aString &subName, const int side, const int axis) const
 

Protected Attributes

intArray * entities [int(NumberOfEntityTypes)-1]
 entities maintains the node/vertex ID lists for each entity
 
intArray * entityMasks [int(NumberOfEntityTypes)-1]
 entity identification array that determines if an entity index refers to an internal, ghost or null entity
 
std::vector< int > entityDataStructureHoles [int(NumberOfEntityTypes)-1]
 lists of holes in the entity arrays
 
intArray * indexLists [int(NumberOfEntityTypes)-1][int(NumberOfEntityTypes)-1]
 entity adjacencies, the array is read [From][To]
 
char * adjacencyOrientation [int(NumberOfEntityTypes)-1][int(NumberOfEntityTypes)-1]
 entity adjacency orientations
 
intArray * upwardOffsets [int(NumberOfEntityTypes)-1][int(NumberOfEntityTypes)-1]
 upwardOffsets allows random access into the upward adjacencies for a given entity
 
ArraySimpleFixed< int, int(NumberOfEntityTypes)-1, 1, 1, 1 > entitySize
 entitySize maintains the current number of entities of a given type
 
ArraySimpleFixed< int, int(NumberOfEntityTypes)-1, 1, 1, 1 > entityCapacity
 entityCapacity maintains the current allocated size of the container arrays for a particular entity
 
int dList [numberOfDLProperties]
 
int numberOfNodes
 
int numberOfElements
 
int numberOfFaces
 
int numberOfEdges
 
int maxNumberOfNodesPerElement
 
int maxNumberOfNodesPerFace
 
int maxNumberOfFacesPerElement
 
bool numberOfNodesPerElementIsConstant
 
int numberOfInternalElements
 
int numberOfInternalFaces
 
int numberOfBoundaryElements
 
int numberOfBoundaryFaces
 
bool preferTriangles
 
real elementDensityTolerance
 
real stitchingTolerance
 
real absoluteStitchingTolerance
 
int debugs
 
GeometricADT3dIntsearch
 
realArray node
 
intArray element
 
intArray face
 
intArray bdyFace
 
intArray faceElements
 
intArray edge
 
intArray bdyFaceTags
 
intArray * elementFaces
 
bool includeGhostElements
 
intArray * elementMask
 
intArray * faceMask
 
intArray * edgeMask
 
intArray * nodeMask
 
intArray * ghostElements
 
real timing [numberOfTimings]
 
int numberOfElementTypes
 
IntegerArray numberOfFacesThisElementType
 
IntegerArray numberOfNodesThisElementType
 
IntegerArray numberOfNodesThisElementFaceType
 
IntegerArray elementMasterTemplate
 
intArray elementType
 
intArray faceZ1Offset
 
intArray tags
 
bool maintainsTagEntities
 
std::map< IDTuple, std::list
< EntityTag * > > 
entityTags
 
std::map< std::string,
std::list< IDTuple >
, std::less< std::string > > 
tagEntities
 
bool dumpTagsToHDF
 
- Protected Attributes inherited from Mapping
int dataBaseID
 
aString className
 
int domainDimension
 
int rangeDimension
 
int bc [2][3]
 
int share [2][3]
 
periodicType isPeriodic [3]
 
real periodVector [3][3]
 
int invertible
 
basicInverseOptions basicInverseOption
 
int periodicityOfSpace
 
coordinateSingularity typeOfCoordinateSingularity [2][3]
 
int coordinateEvaluationType [numberOfCoordinateSystems]
 
IndexRangeType gridIndexRange
 
IndexRangeType numberOfGhostPoints
 
realArray grid
 
bool inverseIsDistributed
 
bool mapIsDistributed
 
int numberOfDistributedGhostLines
 
bool partitionInitialized
 
Partitioning_Type partition
 
mappingSpace domainSpace
 
mappingSpace rangeSpace
 
coordinateSystem domainCoordinateSystem
 
coordinateSystem rangeCoordinateSystem
 
mappingCoordinateSystem mappingCoordinateSystem0
 
Bound domainBound [3][2]
 
Bound rangeBound [3][2]
 
Bound domainCoordinateSystemBound [3][2]
 
Bound rangeCoordinateSystemBound [3][2]
 
topologyEnum topology [3][2]
 
intArray * topologyMaskPointer
 
real arcLength
 
bool remakeGrid
 
bool remakeGridSerial
 

Friends

class UnstructuredMappingIterator
 
class UnstructuredMappingAdjacencyIterator
 

Additional Inherited Members

- Public Attributes inherited from Mapping
int computeMap
 
int computeMapDerivative
 
int base
 
int bound
 
real signForJacobian
 
ApproximateGlobalInverseapproximateGlobalInverse
 
ExactLocalInverseexactLocalInverse
 
DistributedInversedistributedInverse
 
- Static Protected Attributes inherited from Mapping
static int defaultNumberOfGhostPoints =0
 
static int minimumNumberOfDistributedGhostLines =1
 

Member Typedef Documentation

typedef std::list<EntityTag*>::const_iterator UnstructuredMapping::const_entity_tag_iterator
typedef std::list<IDTuple>::const_iterator UnstructuredMapping::const_tag_entity_iterator
typedef std::list<EntityTag*>::iterator UnstructuredMapping::entity_tag_iterator

iterator for going through the tags in a specific entity

typedef std::list<IDTuple>::iterator UnstructuredMapping::tag_entity_iterator

iterator for going throught the entities with a specific tag

Member Enumeration Documentation

Enumerator
nodeDL 
edgeDL 
boundaryEdgeDL 
faceDL 
faceNormalDL 
numberOfDLProperties 
Enumerator
triangle 
quadrilateral 
tetrahedron 
pyramid 
triPrism 
septahedron 
hexahedron 
other 
boundary 
NumberOfElementTypes 
Enumerator
NullEntityInfo 
HoleInEntityData 
GhostEntity 
BCEntity 
Enumerator
Invalid 
Vertex 
Edge 
Face 
Region 
Mesh 
NumberOfEntityTypes 
Enumerator
totalTime 
timeForBuildingSubSurfaces 
timeForConnectivity 
timeForProjectGlobalSearch 
timeForProjectLocalSearch 
timeForStitch 
timeForInsideOrOutside 
numberOfTimings 

Constructor & Destructor Documentation

UnstructuredMapping::UnstructuredMapping ( )
UnstructuredMapping::UnstructuredMapping ( int  domainDimension_,
int  rangeDimension_,
mappingSpace  domainSpace_,
mappingSpace  rangeSpace_ 
)
UnstructuredMapping::UnstructuredMapping ( const UnstructuredMapping map,
const CopyType  copyType = DEEP 
)

References DEEP, and initMapping().

UnstructuredMapping::~UnstructuredMapping ( )

Member Function Documentation

int UnstructuredMapping::addEntity ( EntityTypeEnum  type,
ArraySimple< int > &  newEntVerts 
)

add a "type" entity to the mesh; specify the entity with the vertices in newEntVerts; return the new entity's index

References capacity(), Mapping::domainDimension, entities, entityMasks, entitySize, EntityTypeStrings, maxVerticesInEntity(), numberOfElements, reserve(), size(), and ArraySimple< T >::size().

Referenced by expandGhostBoundary(), and CompositeGrid::setHybridConnectivity().

void UnstructuredMapping::addGhostElements ( bool  trueOrFalse = true)

References includeGhostElements.

Referenced by buildFromACompositeGrid().

int UnstructuredMapping::addNodeToInterface ( int  s1,
int &  i1,
int &  j1,
int &  e1m,
int &  e1p,
IntegerArray connectionInfo1,
int  s2,
int &  i2,
int &  j2,
int &  e2m,
int &  e2p,
IntegerArray connectionInfo2,
const intArray &  elementface2,
intArray *  bNodep,
IntegerArray faceOffset,
IntegerArray elementOffset,
int  maxNumberOfElements,
int  maxNumberOfFaces 
)
protected
EntityTag & UnstructuredMapping::addTag ( const EntityTypeEnum  entityType,
const int  entityIndex,
const std::string  tagName,
const void *  tagData,
const bool  copyTag = false,
const int  tagSize = 0 
)
int UnstructuredMapping::addVertex ( real  x,
real  y,
real  z = 0. 
)

add a vertex to the mapping, return the index into the "node" array

References capacity(), entitySize, node, numberOfNodes, Mapping::rangeDimension, reserve(), size(), and Vertex.

Referenced by expandGhostBoundary().

UnstructuredMappingAdjacencyIterator UnstructuredMapping::adjacency_begin ( EntityTypeEnum  fromT,
int  fromE,
EntityTypeEnum  to,
bool  skipGhostEntities = false 
) const
inline
UnstructuredMappingAdjacencyIterator UnstructuredMapping::adjacency_begin ( UnstructuredMappingIterator  from,
EntityTypeEnum  to,
bool  skipGhostEntities = false 
) const
inline
UnstructuredMappingAdjacencyIterator UnstructuredMapping::adjacency_begin ( UnstructuredMappingAdjacencyIterator  from,
EntityTypeEnum  to,
bool  skipGhostEntities = false 
) const
inline
UnstructuredMappingAdjacencyIterator UnstructuredMapping::adjacency_begin ( IDTuple  from,
EntityTypeEnum  to,
bool  skipGhostEntities = false 
) const
inline
UnstructuredMappingAdjacencyIterator UnstructuredMapping::adjacency_end ( EntityTypeEnum  fromT,
int  fromE,
EntityTypeEnum  to,
bool  skipGhostEntities = false 
) const
inline
UnstructuredMappingAdjacencyIterator UnstructuredMapping::adjacency_end ( UnstructuredMappingIterator  from,
EntityTypeEnum  to,
bool  skipGhostEntities = false 
) const
inline
UnstructuredMappingAdjacencyIterator UnstructuredMapping::adjacency_end ( UnstructuredMappingAdjacencyIterator  from,
EntityTypeEnum  to,
bool  skipGhostEntities = false 
) const
inline
UnstructuredMappingAdjacencyIterator UnstructuredMapping::adjacency_end ( IDTuple  from,
EntityTypeEnum  to,
bool  skipGhostEntities = false 
) const
inline
UnstructuredMappingIterator UnstructuredMapping::begin ( EntityTypeEnum  entityType_,
bool  skipGhostEntities = false 
) const
inline
bool UnstructuredMapping::buildConnectivity ( EntityTypeEnum  from,
EntityTypeEnum  to,
bool  rebuild = false 
)

buildConnectivity directs the construction of the connectivity arrays, it returns true if successfull

connectivityBuilder directs the construction of the connectivity arrays, it returns true if successfull

we always have this if there are Regions

References adjacency_begin(), adjacency_end(), adjacencyOrientation, assert, begin(), buildEntity(), connectivityExists(), constructFace2EdgeFromRegions(), constructUpwardAdjacenciesFromDownward(), deleteConnectivity(), end(), entities, indexLists, UnstructuredMappingAdjacencyIterator::orientation(), size(), upwardOffsets, and Vertex.

Referenced by getEntityAdjacencyIndices().

int UnstructuredMapping::buildConnectivityLists ( )
protected
bool UnstructuredMapping::buildEntity ( EntityTypeEnum  type,
bool  rebuild = false,
bool  keepDownward = true,
bool  keepUpward = true 
)
void UnstructuredMapping::buildFromACompositeGrid ( CompositeGrid cg)
int UnstructuredMapping::buildFromACompositeSurface ( CompositeSurface mapping)

References abs(), absoluteStitchingTolerance, assert, bdyFace, boundingBox, buildConnectivityLists(), buildFromARegularMapping(), closerSurfaceFound(), Mapping::debug, debugs, ReferenceCounting::decrementReferenceCount(), Mapping::display(), Mapping::domainDimension, edge, element, elementDensityTolerance, elementFaces, End, F, fabs(), face, faceElements, getBoundaryFace(), CompositeSurface::getClassName(), getClassName(), Mapping::getClassName(), getCPU(), Mapping::getDomainDimension(), getElementFaces(), getElements(), getFaces(), Mapping::getGrid(), MappingProjectionParameters::getIntArray(), getNodes(), getNumberOfBoundaryFaces(), getNumberOfElements(), getNumberOfFaces(), getNumberOfNodes(), Mapping::getRangeBound(), Mapping::getRangeDimension(), MappingProjectionParameters::getRealArray(), TrimmedMapping::getTriangulation(), i2, ReferenceCounting::incrementReferenceCount(), intersects(), isDuplicateNode(), Bound::isFinite(), max(), maxNumberOfFacesPerElement, maxNumberOfNodesPerElement, maxNumberOfNodesPerFace, min(), node, nr, NULL, numberOfBoundaryFaces, numberOfEdges, numberOfElements, numberOfFaces, numberOfNodes, CompositeSurface::numberOfSubSurfaces(), printConnectivity(), printStatistics(), project(), r, MappingProjectionParameters::r, R, Mapping::rangeDimension, REAL_EPSILON, REAL_MAX, REAL_MIN, replaceNode(), s, setElementDensityTolerance(), setPreferTriangles(), Mapping::setRangeBound(), MappingProjectionParameters::setSearchBoundingBoxSize(), SQR, SQRT, Start, stitchingTolerance, MappingProjectionParameters::subSurfaceIndex, tags, timeForBuildingSubSurfaces, timeForProjectGlobalSearch, timeForProjectLocalSearch, timeForStitch, timing, totalTime, UnstructuredMapping(), and x.

Referenced by update().

intArray UnstructuredMapping::buildFromAMapping ( Mapping map,
intArray &  maskin = Overture::nullIntegerDistributedArray() 
)
int UnstructuredMapping::buildFromARegularMapping ( Mapping map,
ElementType  elementTypePreferred = triangle 
)
int UnstructuredMapping::buildSearchTree ( )
protected
int UnstructuredMapping::buildUnstructuredGrid ( Mapping map,
int  numberOfGridPoints[2] 
)
int UnstructuredMapping::capacity ( EntityTypeEnum  t) const
inline
int UnstructuredMapping::checkConnectivity ( bool  printResults = true,
IntegerArray pBadElements = NULL 
)
int UnstructuredMapping::computeConnection ( int  s,
int  s2,
intArray *  bNodep,
IntegerArray numberOfBoundaryNodes,
UnstructuredMapping boundaryp,
real  epsx,
IntegerArray connectionInfo 
)
protected
UnstructuredMapping::ElementType UnstructuredMapping::computeElementType ( EntityTypeEnum  type,
int  e 
)
inline
bool UnstructuredMapping::connectivityExists ( EntityTypeEnum  from,
EntityTypeEnum  to 
) const
inline

return true if the requested adjacency information exists

References entities, indexLists, and Vertex.

Referenced by adjacency_begin(), adjacency_end(), and buildConnectivity().

void UnstructuredMapping::createNodeElementList ( intArray &  nodeElementList)
void UnstructuredMapping::deleteConnectivity ( EntityTypeEnum  from,
EntityTypeEnum  to 
)

delete specific connectivity information

References adjacencyOrientation, indexLists, and upwardOffsets.

Referenced by CompositeGrid::setHybridConnectivity().

void UnstructuredMapping::deleteConnectivity ( EntityTypeEnum  type)

delete all connectivity referring to a particular entity type

delete all connectivity information for a specific entity type

References adjacencyOrientation, deleteTag(), entities, entity_tag_begin(), entity_tag_end(), entityCapacity, entityMasks, entitySize, indexLists, Region, size(), upwardOffsets, and Vertex.

void UnstructuredMapping::deleteConnectivity ( )
int UnstructuredMapping::deleteTag ( const EntityTypeEnum  entityType,
const int  entityIndex,
const EntityTag tagToDelete 
)
int UnstructuredMapping::deleteTag ( const EntityTypeEnum  entityType,
const int  entityIndex,
const std::string  tagToDelete 
)
bool UnstructuredMapping::dumpTags ( ) const
inline

References dumpTagsToHDF.

bool UnstructuredMapping::dumpTags ( bool  dt)
inline

References dumpTagsToHDF.

int UnstructuredMapping::elementGlobalVertex ( int  element,
int  vertex 
) const
inline

References element.

UnstructuredMappingIterator UnstructuredMapping::end ( EntityTypeEnum  entityType_,
bool  skipGhostEntities = false 
) const
inline
bool UnstructuredMapping::entitiesAreEquivalent ( EntityTypeEnum  type,
int  entity,
ArraySimple< int > &  verticies 
)

compare the vertices of an entity to a list of vertices, return true if the list specifies the entity

References entities, numberOfVertices(), size(), and ArraySimple< T >::size().

entity_tag_iterator UnstructuredMapping::entity_tag_begin ( EntityTypeEnum  et,
int  index 
)
inline

return the beginning of the tags for an entity specified with et and index

References entityTags.

Referenced by deleteConnectivity(), deleteTag(), getTag(), hasTag(), operator=(), and ~UnstructuredMapping().

const_entity_tag_iterator UnstructuredMapping::entity_tag_begin ( EntityTypeEnum  et,
int  index 
) const
inline

References entityTags.

entity_tag_iterator UnstructuredMapping::entity_tag_end ( EntityTypeEnum  et,
int  index 
)
inline

return the end of the tags for an entity specified with et and index

References entityTags.

Referenced by deleteConnectivity(), deleteTag(), getTag(), hasTag(), operator=(), and ~UnstructuredMapping().

const_entity_tag_iterator UnstructuredMapping::entity_tag_end ( EntityTypeEnum  et,
int  index 
) const
inline

References entityTags.

void UnstructuredMapping::eraseUnstructuredMapping ( GenericGraphicsInterface gi)
void UnstructuredMapping::expandGhostBoundary ( int  bc = -1)
int UnstructuredMapping::faceGlobalVertex ( int  face,
int  vertex 
) const
inline
int UnstructuredMapping::FEZComputeElementTypes ( )
protected
int UnstructuredMapping::FEZInitializeConnectivity ( )
protected
int UnstructuredMapping::findBoundaryCurves ( int &  numberOfBoundaryCurves,
Mapping **&  boundaryCurves 
)
int UnstructuredMapping::findClosestEntity ( UnstructuredMapping::EntityTypeEnum  etype,
real  x,
real  y,
real  z = 0. 
)
int UnstructuredMapping::get ( const GenericDataBase dir,
const aString name 
)
virtual
int UnstructuredMapping::get ( const aString fileName)
virtual
long UnstructuredMapping::getBC ( EntityTypeEnum  type,
int  entity 
)
inline

getBC returns the boundary condition number associated with {type,entity} or returns -1 if no bc is specified

References BCEntity, getTagData(), hasBC(), and tagPrefix().

Referenced by expandGhostBoundary(), and PlotIt::plotUnstructured().

const intArray & UnstructuredMapping::getBoundaryFace ( )
int UnstructuredMapping::getBoundaryFace ( int  bdyface_) const
inline

References bdyFace.

int UnstructuredMapping::getBoundaryFaceTag ( int  bdyface_) const
inline

References bdyFaceTags.

Referenced by buildFromACompositeGrid().

const intArray & UnstructuredMapping::getBoundaryFaceTags ( )

References bdyFaceTags.

virtual aString UnstructuredMapping::getClassName ( void  ) const
inlinevirtual

Reimplemented from Mapping.

Referenced by buildFromACompositeSurface(), operator=(), and update().

aString UnstructuredMapping::getColour ( ) const
int UnstructuredMapping::getDisplayList ( DisplayListProperty  d)
inline

References dList, and numberOfDLProperties.

Referenced by PlotIt::plotUM().

const intArray & UnstructuredMapping::getEdges ( )
IntegerArray UnstructuredMapping::getElementFaceNodes ( int  element_,
int  faceOffset 
) const
inlineprotected
const intArray & UnstructuredMapping::getElementFaces ( )
const intArray & UnstructuredMapping::getElements ( ) const
UnstructuredMapping::ElementType UnstructuredMapping::getElementType ( int  e) const
inline
const intArray & UnstructuredMapping::getEntities ( EntityTypeEnum  type)
const intArray & UnstructuredMapping::getEntityAdjacencyIndices ( EntityTypeEnum  from,
EntityTypeEnum  to,
intArray &  offsets 
)
const intArray & UnstructuredMapping::getFaceElements ( )
const intArray & UnstructuredMapping::getFaces ( )
const intArray & UnstructuredMapping::getGhostElements ( ) const
virtual const realArray& UnstructuredMapping::getGrid ( MappingParameters params = Overture::nullMappingParameters(),
bool  includeGhost = false 
)
inlinevirtual

Reimplemented from Mapping.

References node.

const intArray & UnstructuredMapping::getMask ( EntityTypeEnum  entityType) const
int UnstructuredMapping::getMaxNumberOfFacesPerElement ( ) const
int UnstructuredMapping::getMaxNumberOfNodesPerElement ( ) const
int UnstructuredMapping::getMaxNumberOfNodesPerFace ( ) const
const realArray & UnstructuredMapping::getNodes ( ) const
void UnstructuredMapping::getNormal ( int  e,
real normalVector 
)

References element, node, SQR, and SQRT.

Referenced by buildFromARegularMapping(), project(), and validStitch().

int UnstructuredMapping::getNumberOfBoundaryFaces ( ) const
int UnstructuredMapping::getNumberOfEdges ( ) const
int UnstructuredMapping::getNumberOfElements ( ) const
int UnstructuredMapping::getNumberOfFaces ( ) const
int UnstructuredMapping::getNumberOfFacesThisElement ( int  element_) const
inline
int UnstructuredMapping::getNumberOfNodes ( ) const
int UnstructuredMapping::getNumberOfNodesThisElement ( int  element) const
inline
int UnstructuredMapping::getNumberOfNodesThisFace ( int  face_) const
inline
EntityTag & UnstructuredMapping::getTag ( const EntityTypeEnum  entityType,
const int  entityIndex,
const std::string  tagName 
)

References entity_tag_begin(), and entity_tag_end().

Referenced by getTagData(), and setTagData().

void * UnstructuredMapping::getTagData ( const EntityTypeEnum  entityType,
const int  entityIndex,
const std::string  tag 
)
const intArray & UnstructuredMapping::getTags ( )
bool UnstructuredMapping::hasBC ( EntityTypeEnum  type,
int  entity 
)
inline

hasBC returns true if the given {type,entity} has a boundary condition specified

References BCEntity, and entityMasks.

Referenced by getBC(), and PlotIt::plotUnstructured().

bool UnstructuredMapping::hasTag ( const EntityTypeEnum  entityType,
const int  entityIndex,
const std::string  tag 
)
void UnstructuredMapping::initMapping ( )
protected
int UnstructuredMapping::insideOrOutside ( realArray x,
IntegerArray inside 
)
int UnstructuredMapping::intersects ( Mapping map2,
const int &  side1 = -1,
const int &  axis1 = -1,
const int &  side2 = -1,
const int &  axis2 = -1,
const real tol = 0. 
) const
virtual

Reimplemented from Mapping.

References End, and Start.

Referenced by buildFromACompositeSurface().

bool UnstructuredMapping::isDuplicateNode ( int  i,
int  n,
int  e,
int  s,
int  s2,
real r0,
real r1,
realArray x,
real  epsDup,
intArray &  bNode,
intArray &  nodeInfo,
int &  localEdge,
real dist0,
real dist1,
real dist2,
int  debugFlag 
)
protected
bool UnstructuredMapping::isGhost ( EntityTypeEnum  type,
int  entity 
) const
inline

isGhost returns true if a given entity is a ghost (it returns false if no ghost entity info exists)

References entityMasks, and GhostEntity.

Referenced by buildFromACompositeGrid(), buildFromAMapping(), and PlotIt::plotUnstructured().

bool UnstructuredMapping::maintainsTagToEntityMap ( ) const

References maintainsTagEntities.

void UnstructuredMapping::maintainTagToEntityMap ( bool  v)
Mapping * UnstructuredMapping::make ( const aString mappingClassName)
virtual

Reimplemented from Mapping.

References UnstructuredMapping().

int UnstructuredMapping::maxVerticesInEntity ( EntityTypeEnum  type)
inline

get the max number of vertices in a given entity type

References Vertex.

Referenced by addEntity(), buildEntity(), expandGhostBoundary(), PlotIt::plotUnstructured(), reserve(), and CompositeGrid::setHybridConnectivity().

int UnstructuredMapping::numberOfVertices ( EntityTypeEnum  type,
int  entity 
)
inline

get the number of vertices in a given entity

References getEntities(), and Vertex.

Referenced by computeElementType(), PlotIt::contourOpt2d(), and entitiesAreEquivalent().

UnstructuredMapping & UnstructuredMapping::operator= ( const UnstructuredMapping X0)
int UnstructuredMapping::printConnectivity ( FILE *  file = stdout)
int UnstructuredMapping::printStatistics ( FILE *  file = stdout)
int UnstructuredMapping::project ( realArray x,
MappingProjectionParameters mpParameters 
)
virtual
bool UnstructuredMapping::projectOnTriangle ( real x0,
real x1,
real x2,
real xa,
real xb,
real xt,
int &  intersectionFace,
int &  intersectionFace2,
real r0,
real s0,
real normal = NULL 
)
static
int UnstructuredMapping::put ( GenericDataBase dir,
const aString name 
) const
virtual
int UnstructuredMapping::put ( const aString fileName = nullString) const
virtual
void UnstructuredMapping::replaceNode ( int  n,
int  n0,
intArray &  nodeInfo,
intArray &  ef 
)
protected

References element, face, and faceElements.

Referenced by buildFromACompositeSurface().

int UnstructuredMapping::reserve ( EntityTypeEnum  type,
int  amt 
)
void UnstructuredMapping::setAsGhost ( EntityTypeEnum  type,
int  entity 
)

setAsGhost takes an entity and adjusts the data structures to make it a ghost

References addTag(), entityMasks, EntityTypeStrings, GhostEntity, and hasTag().

Referenced by buildFromAMapping(), buildFromARegularMapping(), expandGhostBoundary(), get(), and CompositeGrid::setHybridConnectivity().

void UnstructuredMapping::setBC ( EntityTypeEnum  type,
int  entity,
int  bc 
)

setBC assigns a boundary condition number to a particular entity, if the entity==-1 then the the bc is removed

setBC assigns a boundary condition number to a particular entity, if the entity==-1 the the bc is removed

References addTag(), BCEntity, deleteTag(), entityMasks, hasTag(), setTagData(), and tagPrefix().

Referenced by expandGhostBoundary(), and CompositeGrid::setHybridConnectivity().

int UnstructuredMapping::setColour ( const aString colour)
void UnstructuredMapping::setDisplayList ( DisplayListProperty  d,
int  l 
)
inline

References dList.

Referenced by PlotIt::plotUM().

void UnstructuredMapping::setElementDensityTolerance ( real  tol)
int UnstructuredMapping::setNodesAndConnectivity ( const realArray nodes,
const intArray &  elements,
int  domainDimension = -1,
bool  buildConnectivity = true 
)
int UnstructuredMapping::setNodesAndConnectivity ( const realArray nodes,
const intArray &  elements,
const intArray &  faces,
const intArray &  faceElements,
const intArray &  elementFaces,
int  numberOfFaces = -1,
int  numberOfBoundaryFaces = -1,
int  domainDimension = -1,
bool  constantNumberOfNodesPerElement = false 
)
int UnstructuredMapping::setNodesElementsAndNeighbours ( const realArray nodes,
const intArray &  elements,
const intArray &  neighbours,
int  numberOfFaces = -1,
int  numberOfBoundaryFaces = -1,
int  domainDimension = -1 
)
void UnstructuredMapping::setPreferTriangles ( bool  trueOrFalse = true)
inline

References preferTriangles.

Referenced by buildFromACompositeSurface(), and update().

int UnstructuredMapping::setTag ( const EntityTypeEnum  entityType,
const int  entityIndex,
const EntityTag newTag 
)
int UnstructuredMapping::setTagData ( const EntityTypeEnum  entityType,
const int  entityIndex,
const std::string  tagName,
const void *  data,
const bool  copyData = false,
const int  tagSize = 0 
)

References getTag(), and EntityTag::setData().

Referenced by expandGhostBoundary(), and setBC().

void UnstructuredMapping::setTags ( const intArray &  new_tags)
int UnstructuredMapping::size ( EntityTypeEnum  t) const
inline
bool UnstructuredMapping::specifyConnectivity ( const EntityTypeEnum  from,
const EntityTypeEnum  to,
const intArray &  index,
const char *  orientation,
const intArray &  offset = Overture::nullIntegerDistributedArray() 
)

specifyConnectivity tells the mapping to use the given connectivity information rather than building it

References adjacencyOrientation, deleteConnectivity(), indexLists, Overture::nullIntArray(), and upwardOffsets.

Referenced by buildFromARegularMapping(), and operator=().

bool UnstructuredMapping::specifyEntity ( const EntityTypeEnum  type,
const intArray &  entity 
)
bool UnstructuredMapping::specifyVertices ( const realArray verts)

provide an array containing the vertices in for this mapping

References capacity(), entityCapacity, entityMasks, entitySize, node, and Vertex.

int UnstructuredMapping::splitElement ( int  e,
int  relativeEdge,
real x 
)
tag_entity_iterator UnstructuredMapping::tag_entity_begin ( std::string  tagName)
inline

return the beginning of the entities with the tag tagName; note this inverse mapping will be built if it does not already exist

References maintainTagToEntityMap(), and tagEntities.

Referenced by expandGhostBoundary(), MappedGridData::getUnstructuredBCInfo(), MappedGridData::getUnstructuredPeriodicBC(), PlotIt::plotUnstructured(), and CompositeGrid::setHybridConnectivity().

tag_entity_iterator UnstructuredMapping::tag_entity_end ( std::string  tagName)
inline

return the end of the entities with the tag tagName; note this inverse mapping will be built if it does not already exist

References maintainTagToEntityMap(), and tagEntities.

Referenced by expandGhostBoundary(), MappedGridData::getUnstructuredBCInfo(), MappedGridData::getUnstructuredPeriodicBC(), PlotIt::plotUnstructured(), and CompositeGrid::setHybridConnectivity().

std::string UnstructuredMapping::tagPrefix ( EntityTypeEnum  type,
EntityInfoMask  info 
)

tagPrefix returns the prefix associated with builtin tag conventions

References BCEntity, EntityTypeStrings, GhostEntity, and s.

Referenced by expandGhostBoundary(), getBC(), and setBC().

int UnstructuredMapping::update ( MappingInformation mapInfo)
virtual

Reimplemented from Mapping.

References absoluteStitchingTolerance, SelectionInfo::active, DialogData::addInfoLabel(), GenericGraphicsInterface::appendToTheDefaultPrompt(), assert, aString, axis1, begin(), buildConnectivityLists(), buildFromACompositeSurface(), buildFromAMapping(), buildFromARegularMapping(), MappingInformation::command, MappingInformation::commandOption, GraphicsParameters::curveLineWidth, debugs, ReferenceCounting::decrementReferenceCount(), Mapping::domainDimension, element, elementDensityTolerance, MappingProjectionParameters::elementIndex, End, end(), GenericGraphicsInterface::erase(), eraseUnstructuredMapping(), expandGhostBoundary(), face, faceElements, FALSE, FEZInitializeConnectivity(), findBoundaryCurves(), GraphicsParameters::get(), GenericGraphicsInterface::getAnswer(), getClassName(), Mapping::getClassName(), GenericGraphicsInterface::getColourName(), getCPU(), Mapping::getDomainDimension(), getElementFaces(), MappingProjectionParameters::getIntArray(), ListOfMappingRC::getLength(), getLineFromFile(), GenericGraphicsInterface::getMenuItem(), Mapping::getName(), Mapping::getRangeDimension(), TrimmedMapping::getTriangulation(), GenericGraphicsInterface::getValues(), ghostElements, GI_MAPPING_COLOUR, GI_PLOT_BLOCK_BOUNDARIES, GI_PLOT_GRID_LINES, GI_PLOT_LINES_ON_GRID_BOUNDARIES, GI_PLOT_THE_OBJECT_AND_EXIT, GI_PLOT_UNS_BOUNDARY_EDGES, GI_PLOT_UNS_EDGES, GI_PLOT_UNS_FACES, GI_PLOT_WIRE_FRAME, GI_POINT_SIZE, GI_TOP_LABEL, MappingInformation::graphXInterface, includeGhostElements, GenericGraphicsInterface::inputString(), MappingInformation::interactive, Mapping::mappingHasChanged(), MappingInformation::mappingList, Mapping::mappingName, max(), maxNumberOfNodesPerElement, min(), node, SelectionInfo::nSelect, NULL, numberOfElements, numberOfNodes, CompositeSurface::numberOfSubSurfaces(), GenericGraphicsInterface::outputString(), PlotIt::plot(), GenericGraphicsInterface::plotPoints(), GenericGraphicsInterface::popGUI(), preferTriangles, printConnectivity(), printF(), project(), GenericGraphicsInterface::pushGUI(), put(), quadrilateral, SelectionInfo::r, R, Mapping::rangeDimension, MappingInformation::readOneCommand, DataFormats::readSTL(), s, GraphicsParameters::set(), setElementDensityTolerance(), DialogData::setExitCommand(), Mapping::setGridDimensions(), setNodesAndConnectivity(), setPreferTriangles(), Mapping::setRangeBound(), DialogData::setWindowTitle(), sPrintF(), sScanF(), Start, stitchingTolerance, GenericGraphicsInterface::stopReadingCommandFile(), MappingProjectionParameters::subSurfaceIndex, tags, triangle, TRUE, GenericGraphicsInterface::unAppendTheDefaultPrompt(), Mapping::update(), verifyUnstructuredConnectivity(), SelectionInfo::x, and x.

Referenced by MappingsFromCAD::readMappings(), CompositeTopology::update(), and HyperbolicMapping::update().

bool UnstructuredMapping::validStitch ( int  n,
realArray x0,
realArray x,
intArray &  nodeInfo,
real  tol,
int  debug 
)
protected

Friends And Related Function Documentation

Referenced by adjacency_begin(), and adjacency_end().

friend class UnstructuredMappingIterator
friend

Referenced by begin(), and end().

Member Data Documentation

real UnstructuredMapping::absoluteStitchingTolerance
protected
char* UnstructuredMapping::adjacencyOrientation[int(NumberOfEntityTypes)-1][int(NumberOfEntityTypes)-1]
protected
intArray UnstructuredMapping::bdyFace
protected
intArray UnstructuredMapping::bdyFaceTags
protected
int UnstructuredMapping::debugs
protected
int UnstructuredMapping::dList[numberOfDLProperties]
protected
bool UnstructuredMapping::dumpTagsToHDF
protected
intArray UnstructuredMapping::edge
protected
intArray * UnstructuredMapping::edgeMask
protected
intArray UnstructuredMapping::element
protected
real UnstructuredMapping::elementDensityTolerance
protected
intArray* UnstructuredMapping::elementFaces
protected
intArray* UnstructuredMapping::elementMask
protected
IntegerArray UnstructuredMapping::elementMasterTemplate
protected
intArray UnstructuredMapping::elementType
protected
aString UnstructuredMapping::ElementTypeStrings
static
Initial value:
= { "triangle",
"quadrilateral",
"tetrahedron",
"pyramid",
"triPrism",
"septahedron",
"hexahedron",
"other",
"boundary" }

an array usefull for diagnostics involving ElementType

Referenced by verifyUnstructuredConnectivity().

intArray* UnstructuredMapping::entities[int(NumberOfEntityTypes)-1]
protected
ArraySimpleFixed<int,int(NumberOfEntityTypes)-1,1,1,1> UnstructuredMapping::entityCapacity
protected

entityCapacity maintains the current allocated size of the container arrays for a particular entity

Referenced by buildEntity(), buildFromAMapping(), buildFromARegularMapping(), capacity(), deleteConnectivity(), get(), initMapping(), operator=(), reserve(), setNodesAndConnectivity(), setNodesElementsAndNeighbours(), specifyEntity(), and specifyVertices().

std::vector<int> UnstructuredMapping::entityDataStructureHoles[int(NumberOfEntityTypes)-1]
protected

lists of holes in the entity arrays

Referenced by operator=().

intArray* UnstructuredMapping::entityMasks[int(NumberOfEntityTypes)-1]
protected
ArraySimpleFixed<int,int(NumberOfEntityTypes)-1,1,1,1> UnstructuredMapping::entitySize
protected
std::map<IDTuple, std::list<EntityTag*> > UnstructuredMapping::entityTags
mutableprotected
aString UnstructuredMapping::EntityTypeStrings
static
intArray UnstructuredMapping::face
protected
intArray UnstructuredMapping::faceElements
protected
intArray * UnstructuredMapping::faceMask
protected
intArray UnstructuredMapping::faceZ1Offset
protected
intArray* UnstructuredMapping::ghostElements
protected
bool UnstructuredMapping::includeGhostElements
protected
intArray* UnstructuredMapping::indexLists[int(NumberOfEntityTypes)-1][int(NumberOfEntityTypes)-1]
protected
bool UnstructuredMapping::maintainsTagEntities
protected
int UnstructuredMapping::maxNumberOfFacesPerElement
protected
int UnstructuredMapping::maxNumberOfNodesPerElement
protected
int UnstructuredMapping::maxNumberOfNodesPerFace
protected
realArray UnstructuredMapping::node
protected
intArray * UnstructuredMapping::nodeMask
protected
int UnstructuredMapping::numberOfBoundaryElements
protected

Referenced by get(), operator=(), and put().

int UnstructuredMapping::numberOfBoundaryFaces
protected
int UnstructuredMapping::numberOfEdges
protected
int UnstructuredMapping::numberOfElements
protected
int UnstructuredMapping::numberOfElementTypes
protected

Referenced by FEZInitializeConnectivity(), get(), and put().

int UnstructuredMapping::numberOfFaces
protected
IntegerArray UnstructuredMapping::numberOfFacesThisElementType
protected
int UnstructuredMapping::numberOfInternalElements
protected

Referenced by get(), operator=(), and put().

int UnstructuredMapping::numberOfInternalFaces
protected

Referenced by get(), operator=(), and put().

int UnstructuredMapping::numberOfNodes
protected
bool UnstructuredMapping::numberOfNodesPerElementIsConstant
protected
IntegerArray UnstructuredMapping::numberOfNodesThisElementFaceType
protected
IntegerArray UnstructuredMapping::numberOfNodesThisElementType
protected
bool UnstructuredMapping::preferTriangles
protected
GeometricADT3dInt* UnstructuredMapping::search
protected
real UnstructuredMapping::stitchingTolerance
protected
std::map<std::string, std::list<IDTuple>, std::less<std::string> > UnstructuredMapping::tagEntities
mutableprotected
intArray UnstructuredMapping::tags
protected
real UnstructuredMapping::timing[numberOfTimings]
protected
intArray* UnstructuredMapping::upwardOffsets[int(NumberOfEntityTypes)-1][int(NumberOfEntityTypes)-1]
protected

The documentation for this class was generated from the following files: