FEMTIC
Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
MeshData Class Referenceabstract

#include <MeshData.h>

Inheritance diagram for MeshData:
Inheritance graph
[legend]

Classes

struct  coordinateValue
 
struct  coordinateValueXY
 

Public Types

enum  BoundaryPlanes {
  YZMinus = 0 , YZPlus , ZXMinus , ZXPlus ,
  XYMinus , XYPlus
}
 
enum  MeshType { HEXA = 0 , TETRA , NONCONFORMING_HEXA }
 

Public Member Functions

 MeshData ()
 
virtual ~MeshData ()
 
virtual void inputMeshData ()=0
 
int getNumElemTotal () const
 
int getNumNodeTotal () const
 
int getNumElemOnBoundaryPlanes (const int iPlane) const
 
double getXCoordinatesOfNodes (const int iNode) const
 
double getYCoordinatesOfNodes (const int iNode) const
 
double getZCoordinatesOfNodes (const int iNode) const
 
int getNodesOfElements (const int iElem, const int iNode) const
 
int getElemBoundaryPlanes (const int iPlane, const int iElem) const
 
int getIDOfNeighborElement (const int iElem, const int num) const
 
int getNumNeighborElement () const
 
virtual int getMeshType () const =0
 
double calcDistanceOfTwoNodes (const int nodeID0, const int nodeID1) const
 
double calcHorizontalDistanceOfTwoNodes (const int nodeID0, const int nodeID1) const
 
double caldDiffXOfTwoNodes (const int nodeID0, const int nodeID1) const
 
double caldDiffYOfTwoNodes (const int nodeID0, const int nodeID1) const
 
double caldDiffZOfTwoNodes (const int nodeID0, const int nodeID1) const
 
virtual bool shareSameNodes (const int elemID1, const int elemID2) const
 
virtual CommonParameters::locationXYZ getCenterCoord (const int iElem) const
 
CommonParameters::locationXYZ calDiffOfCenters (const int iElem1, const int iElem2) const
 
virtual bool shareSameEdges (const int elemID1, const int elemID2) const =0
 
virtual int getNodesOfElementsBoundaryPlanes (const int iPlane, const int iElem, const int iNode) const =0
 
virtual double calcVolume (const int elemID) const =0
 
virtual void outputMeshDataToVTK () const =0
 
virtual void outputMeshDataToBinary () const =0
 
virtual double calcAreaOfFace (const int iElem, const int iFace) const =0
 
virtual double calcAreaOfFaceAtBottomOfMesh (const int iElem) const =0
 

Protected Member Functions

 MeshData (const MeshData &rhs)
 
MeshDataoperator= (const MeshData &rhs)
 
double calcDistance (const CommonParameters::locationXY &point0, const CommonParameters::locationXY &point1) const
 
bool does1stSegmentContain2ndSegment (const CommonParameters::locationXY &startPointOf1stSegment, const CommonParameters::locationXY &endPointOf1stSegment, const CommonParameters::locationXY &startPointOf2ndSegment, const CommonParameters::locationXY &endPointOf2ndSegment) const
 
bool intersectTwoSegments (const CommonParameters::locationXY &startPointOf1stSegment, const CommonParameters::locationXY &endPointOf1stSegment, const CommonParameters::locationXY &startPointOf2ndSegment, const CommonParameters::locationXY &endPointOf2ndSegment) const
 
bool overlapTwoLines (const CommonParameters::locationXY &coord1stLine1, const CommonParameters::locationXY &coord1stLine2, const CommonParameters::locationXY &coord2ndLine1, const CommonParameters::locationXY &coord2ndLine2) const
 
bool overlapTwoSegments (const CommonParameters::locationXY &startPointOf1stSegment, const CommonParameters::locationXY &endPointOf1stSegment, const CommonParameters::locationXY &startPointOf2ndSegment, const CommonParameters::locationXY &endPointOf2ndSegment) const
 
double calcInnerProduct2D (const CommonParameters::locationXY &startCoordOf1stVec, const CommonParameters::locationXY &endCoordOf1stVec, const CommonParameters::locationXY &startCoordOf2ndVec, const CommonParameters::locationXY &endCoordOf2ndVec) const
 
void calcCoordOfIntersectionPointOfTwoLines (const CommonParameters::locationXY &coord1stLine1, const CommonParameters::locationXY &coord1stLine2, const CommonParameters::locationXY &coord2ndLine1, const CommonParameters::locationXY &coord2ndLine2, CommonParameters::locationXY &coordIntersectionPoint) const
 

Protected Attributes

int m_numElemTotal
 
int m_numNodeTotal
 
int m_numNodeOneElement
 
int m_numEdgeOneElement
 
int m_numNodeOnFaceOneElement
 
int m_numNeighborElement
 
int m_numElemOnBoundaryPlanes [6]
 
double * m_xCoordinatesOfNodes
 
double * m_yCoordinatesOfNodes
 
double * m_zCoordinatesOfNodes
 
int * m_neighborElements
 
int * m_nodesOfElements
 
int * m_elemBoundaryPlanes [6]
 

Member Enumeration Documentation

◆ BoundaryPlanes

Enumerator
YZMinus 
YZPlus 
ZXMinus 
ZXPlus 
XYMinus 
XYPlus 

◆ MeshType

Enumerator
HEXA 
TETRA 
NONCONFORMING_HEXA 

Constructor & Destructor Documentation

◆ MeshData() [1/2]

MeshData::MeshData ( )

◆ ~MeshData()

MeshData::~MeshData ( )
virtual

◆ MeshData() [2/2]

MeshData::MeshData ( const MeshData rhs)
protected

Member Function Documentation

◆ calcAreaOfFace()

virtual double MeshData::calcAreaOfFace ( const int  iElem,
const int  iFace 
) const
pure virtual

◆ calcAreaOfFaceAtBottomOfMesh()

virtual double MeshData::calcAreaOfFaceAtBottomOfMesh ( const int  iElem) const
pure virtual

◆ calcCoordOfIntersectionPointOfTwoLines()

void MeshData::calcCoordOfIntersectionPointOfTwoLines ( const CommonParameters::locationXY coord1stLine1,
const CommonParameters::locationXY coord1stLine2,
const CommonParameters::locationXY coord2ndLine1,
const CommonParameters::locationXY coord2ndLine2,
CommonParameters::locationXY coordIntersectionPoint 
) const
protected

◆ calcDistance()

double MeshData::calcDistance ( const CommonParameters::locationXY point0,
const CommonParameters::locationXY point1 
) const
protected

◆ calcDistanceOfTwoNodes()

double MeshData::calcDistanceOfTwoNodes ( const int  nodeID0,
const int  nodeID1 
) const

◆ calcHorizontalDistanceOfTwoNodes()

double MeshData::calcHorizontalDistanceOfTwoNodes ( const int  nodeID0,
const int  nodeID1 
) const

◆ calcInnerProduct2D()

double MeshData::calcInnerProduct2D ( const CommonParameters::locationXY startCoordOf1stVec,
const CommonParameters::locationXY endCoordOf1stVec,
const CommonParameters::locationXY startCoordOf2ndVec,
const CommonParameters::locationXY endCoordOf2ndVec 
) const
protected

◆ calcVolume()

virtual double MeshData::calcVolume ( const int  elemID) const
pure virtual

◆ caldDiffXOfTwoNodes()

double MeshData::caldDiffXOfTwoNodes ( const int  nodeID0,
const int  nodeID1 
) const

◆ caldDiffYOfTwoNodes()

double MeshData::caldDiffYOfTwoNodes ( const int  nodeID0,
const int  nodeID1 
) const

◆ caldDiffZOfTwoNodes()

double MeshData::caldDiffZOfTwoNodes ( const int  nodeID0,
const int  nodeID1 
) const

◆ calDiffOfCenters()

CommonParameters::locationXYZ MeshData::calDiffOfCenters ( const int  iElem1,
const int  iElem2 
) const

◆ does1stSegmentContain2ndSegment()

bool MeshData::does1stSegmentContain2ndSegment ( const CommonParameters::locationXY startPointOf1stSegment,
const CommonParameters::locationXY endPointOf1stSegment,
const CommonParameters::locationXY startPointOf2ndSegment,
const CommonParameters::locationXY endPointOf2ndSegment 
) const
protected

◆ getCenterCoord()

CommonParameters::locationXYZ MeshData::getCenterCoord ( const int  iElem) const
virtual

◆ getElemBoundaryPlanes()

int MeshData::getElemBoundaryPlanes ( const int  iPlane,
const int  iElem 
) const

◆ getIDOfNeighborElement()

int MeshData::getIDOfNeighborElement ( const int  iElem,
const int  num 
) const

◆ getMeshType()

virtual int MeshData::getMeshType ( ) const
pure virtual

◆ getNodesOfElements()

int MeshData::getNodesOfElements ( const int  iElem,
const int  iNode 
) const

◆ getNodesOfElementsBoundaryPlanes()

virtual int MeshData::getNodesOfElementsBoundaryPlanes ( const int  iPlane,
const int  iElem,
const int  iNode 
) const
pure virtual

◆ getNumElemOnBoundaryPlanes()

int MeshData::getNumElemOnBoundaryPlanes ( const int  iPlane) const

◆ getNumElemTotal()

int MeshData::getNumElemTotal ( ) const

◆ getNumNeighborElement()

int MeshData::getNumNeighborElement ( ) const

◆ getNumNodeTotal()

int MeshData::getNumNodeTotal ( ) const

◆ getXCoordinatesOfNodes()

double MeshData::getXCoordinatesOfNodes ( const int  iNode) const

◆ getYCoordinatesOfNodes()

double MeshData::getYCoordinatesOfNodes ( const int  iNode) const

◆ getZCoordinatesOfNodes()

double MeshData::getZCoordinatesOfNodes ( const int  iNode) const

◆ inputMeshData()

virtual void MeshData::inputMeshData ( )
pure virtual

◆ intersectTwoSegments()

bool MeshData::intersectTwoSegments ( const CommonParameters::locationXY startPointOf1stSegment,
const CommonParameters::locationXY endPointOf1stSegment,
const CommonParameters::locationXY startPointOf2ndSegment,
const CommonParameters::locationXY endPointOf2ndSegment 
) const
protected

◆ operator=()

MeshData & MeshData::operator= ( const MeshData rhs)
protected

◆ outputMeshDataToBinary()

virtual void MeshData::outputMeshDataToBinary ( ) const
pure virtual

◆ outputMeshDataToVTK()

virtual void MeshData::outputMeshDataToVTK ( ) const
pure virtual

◆ overlapTwoLines()

bool MeshData::overlapTwoLines ( const CommonParameters::locationXY coord1stLine1,
const CommonParameters::locationXY coord1stLine2,
const CommonParameters::locationXY coord2ndLine1,
const CommonParameters::locationXY coord2ndLine2 
) const
protected

◆ overlapTwoSegments()

bool MeshData::overlapTwoSegments ( const CommonParameters::locationXY startPointOf1stSegment,
const CommonParameters::locationXY endPointOf1stSegment,
const CommonParameters::locationXY startPointOf2ndSegment,
const CommonParameters::locationXY endPointOf2ndSegment 
) const
protected

◆ shareSameEdges()

virtual bool MeshData::shareSameEdges ( const int  elemID1,
const int  elemID2 
) const
pure virtual

◆ shareSameNodes()

bool MeshData::shareSameNodes ( const int  elemID1,
const int  elemID2 
) const
virtual

Member Data Documentation

◆ m_elemBoundaryPlanes

int* MeshData::m_elemBoundaryPlanes[6]
protected

◆ m_neighborElements

int* MeshData::m_neighborElements
protected

◆ m_nodesOfElements

int* MeshData::m_nodesOfElements
protected

◆ m_numEdgeOneElement

int MeshData::m_numEdgeOneElement
protected

◆ m_numElemOnBoundaryPlanes

int MeshData::m_numElemOnBoundaryPlanes[6]
protected

◆ m_numElemTotal

int MeshData::m_numElemTotal
protected

◆ m_numNeighborElement

int MeshData::m_numNeighborElement
protected

◆ m_numNodeOneElement

int MeshData::m_numNodeOneElement
protected

◆ m_numNodeOnFaceOneElement

int MeshData::m_numNodeOnFaceOneElement
protected

◆ m_numNodeTotal

int MeshData::m_numNodeTotal
protected

◆ m_xCoordinatesOfNodes

double* MeshData::m_xCoordinatesOfNodes
protected

◆ m_yCoordinatesOfNodes

double* MeshData::m_yCoordinatesOfNodes
protected

◆ m_zCoordinatesOfNodes

double* MeshData::m_zCoordinatesOfNodes
protected

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