gmsh-TingyuanDoc  0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
MHexahedron27 Class Reference

#include <MHexahedron.h>

Inheritance diagram for MHexahedron27:
Collaboration diagram for MHexahedron27:

Public Member Functions

 MHexahedron27 (MVertex *v0, MVertex *v1, MVertex *v2, MVertex *v3, MVertex *v4, MVertex *v5, MVertex *v6, MVertex *v7, MVertex *v8, MVertex *v9, MVertex *v10, MVertex *v11, MVertex *v12, MVertex *v13, MVertex *v14, MVertex *v15, MVertex *v16, MVertex *v17, MVertex *v18, MVertex *v19, MVertex *v20, MVertex *v21, MVertex *v22, MVertex *v23, MVertex *v24, MVertex *v25, MVertex *v26, int num=0, int part=0)
 
 MHexahedron27 (const std::vector< MVertex * > &v, int num=0, int part=0)
 
 ~MHexahedron27 ()
 
virtual int getPolynomialOrder () const
 
virtual std::size_t getNumVertices () const
 
virtual MVertexgetVertex (int num)
 
virtual const MVertexgetVertex (int num) const
 
virtual void setVertex (int num, MVertex *v)
 
virtual MVertexgetVertexINP (int num)
 
virtual MVertexgetVertexKEY (int num)
 
virtual MVertexgetVertexDIFF (int num)
 
virtual MVertexgetVertexVTK (int num)
 
virtual int getNumEdgeVertices () const
 
virtual int getNumFaceVertices () const
 
virtual int getNumVolumeVertices () const
 
virtual int getNumEdgesRep (bool curved)
 
virtual void getEdgeRep (bool curved, int num, double *x, double *y, double *z, SVector3 *n)
 
virtual void getEdgeVertices (const int num, std::vector< MVertex * > &v) const
 
virtual int getNumFacesRep (bool curved)
 
virtual void getFaceRep (bool curved, int num, double *x, double *y, double *z, SVector3 *n)
 
virtual void getFaceVertices (const int num, std::vector< MVertex * > &v) const
 
virtual int getTypeForMSH () const
 
virtual int getTypeForVTK () const
 
virtual const char * getStringForPOS () const
 
virtual const char * getStringForDIFF () const
 
virtual const char * getStringForINP () const
 
virtual const char * getStringForKEY () const
 
virtual const char * getStringForRAD () const
 
virtual const char * getStringForTOCHNOG () const
 
virtual void reverse ()
 
virtual void getNode (int num, double &u, double &v, double &w) const
 
- Public Member Functions inherited from MHexahedron
 MHexahedron (MVertex *v0, MVertex *v1, MVertex *v2, MVertex *v3, MVertex *v4, MVertex *v5, MVertex *v6, MVertex *v7, int num=0, int part=0)
 
 MHexahedron (const std::vector< MVertex * > &v, int num=0, int part=0)
 
 ~MHexahedron ()
 
virtual int getDim () const
 
virtual int getNumEdges () const
 
virtual MEdge getEdge (int num) const
 
virtual int numEdge2numVertex (int numEdge, int numVert) const
 
virtual int getNumFaces ()
 
virtual MFace getFace (int num) const
 
virtual double getInnerRadius ()
 
virtual double angleShapeMeasure ()
 
virtual bool getFaceInfo (const MFace &face, int &ithFace, int &sign, int &rot) const
 
virtual int getType () const
 
virtual int getTypeForUNV () const
 
virtual const char * getStringForBDF () const
 
virtual int getVolumeSign ()
 
virtual SPoint3 barycenterUVW () const
 
virtual bool isInside (double u, double v, double w) const
 
virtual void getIntegrationPoints (int pOrder, int *npts, IntPt **pts)
 
virtual int numCommonNodesInDualGraph (const MElement *const other) const
 
virtual MEdge getEdgeSolin (int num)
 
virtual MFace getFaceSolin (int num)
 
virtual MVertexgetVertexNEU (int num)
 
- Public Member Functions inherited from MElement
 MElement (std::size_t num=0, int part=0)
 
virtual ~MElement ()
 
double getTolerance () const
 
virtual std::size_t getNum () const
 
void forceNum (std::size_t num)
 
virtual bool getIsAssimilatedSerendipity () const
 
virtual bool getIsOnlySerendipity () const
 
virtual int getPartition () const
 
virtual void setPartition (int num)
 
virtual char getVisibility () const
 
virtual void setVisibility (char val)
 
void getVertices (std::vector< MVertex * > &verts)
 
virtual void getVertexInfo (const MVertex *vertex, int &ithVertex) const
 
virtual MVertexgetVertexUNV (int num)
 
virtual MVertexgetVertexMATLAB (int num)
 
virtual MVertexgetVertexTOCHNOG (int num)
 
virtual MVertexgetVertexBDF (int num)
 
virtual MVertexgetVertexRAD (int num)
 
std::size_t getNumPrimaryVertices () const
 
virtual MEdgeN getHighOrderEdge (int num, int sign)
 
MEdgeN getHighOrderEdge (const MEdge &edge)
 
virtual bool getEdgeInfo (const MEdge &edge, int &ithEdge, int &sign) const
 
virtual MFaceN getHighOrderFace (int num, int sign, int rot)
 
MFaceN getHighOrderFace (const MFace &face)
 
virtual MElementgetParent () const
 
virtual void setParent (MElement *p, bool owner=false)
 
virtual void updateParent (GModel *gm)
 
virtual int getNumChildren () const
 
virtual MElementgetChild (int i) const
 
virtual bool ownsParent () const
 
virtual const MElementgetBaseElement () const
 
virtual MElementgetBaseElement ()
 
virtual MElementgetDomain (int i) const
 
virtual void setDomain (MElement *e, int i)
 
virtual double maxEdge ()
 
virtual double minEdge ()
 
double maxDistToStraight () const
 
double skewness ()
 
virtual double gammaShapeMeasure ()
 
virtual double etaShapeMeasure ()
 
double minSICNShapeMeasure ()
 
double minSIGEShapeMeasure ()
 
double distoShapeMeasure ()
 
double minIsotropyMeasure (bool knownValid=false, bool reversedOk=false)
 
double minScaledJacobian (bool knownValid=false, bool reversedOk=false)
 
virtual void scaledJacRange (double &jmin, double &jmax, GEntity *ge=nullptr) const
 
virtual void idealJacRange (double &jmin, double &jmax, GEntity *ge=nullptr)
 
virtual void signedInvCondNumRange (double &iCNMin, double &iCNMax, GEntity *ge=nullptr)
 
virtual void signedInvGradErrorRange (double &minSIGE, double &maxSIGE)
 
virtual double getOuterRadius ()
 
virtual SPoint3 barycenter (bool primary=false) const
 
virtual SPoint3 fastBarycenter (bool primary=false) const
 
virtual SPoint3 barycenter_infty () const
 
virtual double getVolume ()
 
virtual bool setVolumePositive ()
 
int getValidity ()
 
virtual std::string getInfoString (bool multline)
 
virtual const nodalBasisgetFunctionSpace (int order=-1, bool serendip=false) const
 
virtual const FuncSpaceData getFuncSpaceData (int order=-1, bool serendip=false) const
 
virtual const JacobianBasisgetJacobianFuncSpace (int orderElement=-1) const
 
virtual const FuncSpaceData getJacobianFuncSpaceData (int orderElement=-1) const
 
virtual void getShapeFunctions (double u, double v, double w, double s[], int order=-1) const
 
virtual void getGradShapeFunctions (double u, double v, double w, double s[][3], int order=-1) const
 
virtual void getHessShapeFunctions (double u, double v, double w, double s[][3][3], int order=-1) const
 
virtual void getThirdDerivativeShapeFunctions (double u, double v, double w, double s[][3][3][3], int order=-1) const
 
virtual double getJacobian (const fullMatrix< double > &gsf, double jac[3][3]) const
 
virtual double getJacobian (const std::vector< SVector3 > &gsf, double jac[3][3]) const
 
virtual double getJacobian (const std::vector< SVector3 > &gsf, double *jac) const
 
virtual double getJacobian (double u, double v, double w, double jac[3][3]) const
 
double getJacobian (double u, double v, double w, fullMatrix< double > &j) const
 
virtual double getPrimaryJacobian (double u, double v, double w, double jac[3][3]) const
 
double getJacobianDeterminant (double u, double v, double w) const
 
void getSignedJacobian (fullVector< double > &jacobian, int o=-1) const
 
void getNodesCoord (fullMatrix< double > &nodesXYZ) const
 
void getNodesCoordNonSerendip (fullMatrix< double > &nodesXYZ) const
 
bezierCoeffgetBezierVerticesCoord () const
 
virtual std::size_t getNumShapeFunctions () const
 
virtual std::size_t getNumPrimaryShapeFunctions () const
 
virtual const MVertexgetShapeFunctionNode (int i) const
 
virtual MVertexgetShapeFunctionNode (int i)
 
virtual double getEigenvaluesMetric (double u, double v, double w, double values[3]) const
 
virtual void pnt (double u, double v, double w, SPoint3 &p) const
 
virtual void pnt (double u, double v, double w, double *p) const
 
virtual void pnt (const std::vector< double > &sf, SPoint3 &p) const
 
virtual void primaryPnt (double u, double v, double w, SPoint3 &p)
 
virtual void xyz2uvw (double xyz[3], double uvw[3]) const
 
virtual void movePointFromParentSpaceToElementSpace (double &u, double &v, double &w) const
 
virtual void movePointFromElementSpaceToParentSpace (double &u, double &v, double &w) const
 
double interpolate (double val[], double u, double v, double w, int stride=1, int order=-1)
 
void interpolateGrad (double val[], double u, double v, double w, double f[], int stride=1, double invjac[3][3]=nullptr, int order=-1)
 
void interpolateCurl (double val[], double u, double v, double w, double f[], int stride=3, int order=-1)
 
double interpolateDiv (double val[], double u, double v, double w, int stride=3, int order=-1)
 
double integrate (double val[], int pOrder, int stride=1, int order=-1)
 
double integrateCirc (double val[], int edge, int pOrder, int order=-1)
 
double integrateFlux (double val[], int face, int pOrder, int order=-1)
 
virtual void writeMSH2 (FILE *fp, double version=1.0, bool binary=false, int num=0, int elementary=1, int physical=1, int parentNum=0, int dom1Num=0, int dom2Num=0, std::vector< short > *ghosts=nullptr)
 
virtual void writeMSH3 (FILE *fp, bool binary=false, int elementary=1, std::vector< short > *ghosts=nullptr)
 
virtual void writePOS (FILE *fp, bool printElementary, bool printElementNumber, bool printSICN, bool printSIGE, bool printGamma, bool printDisto, double scalingFactor=1.0, int elementary=1)
 
virtual void writeSTL (FILE *fp, bool binary=false, double scalingFactor=1.0)
 
virtual void writeX3D (FILE *fp, double scalingFactor=1.0)
 
virtual void writeVRML (FILE *fp)
 
virtual void writePLY2 (FILE *fp)
 
virtual void writeUNV (FILE *fp, int num=0, int elementary=1, int physical=1)
 
virtual void writeVTK (FILE *fp, bool binary=false, bool bigEndian=false)
 
virtual void writeMATLAB (FILE *fp, int filetype, int elementary=0, int physical=0, bool binary=false)
 
virtual void writeTOCHNOG (FILE *fp, int num)
 
virtual void writeMESH (FILE *fp, int elementTagType=1, int elementary=1, int physical=0)
 
virtual void writeNEU (FILE *fp, unsigned gambitType, int adjust, int phys=0)
 
virtual void writeIR3 (FILE *fp, int elementTagType, int num, int elementary, int physical)
 
virtual void writeBDF (FILE *fp, int format=0, int elementTagType=1, int elementary=1, int physical=0)
 
virtual void writeDIFF (FILE *fp, int num, bool binary=false, int physical_property=1)
 
virtual void writeINP (FILE *fp, int num)
 
virtual void writeKEY (FILE *fp, int pid, int num)
 
virtual void writeRAD (FILE *fp, int num)
 
virtual void writeSU2 (FILE *fp, int num)
 
std::string getName ()
 
virtual std::size_t getNumVerticesForMSH ()
 
virtual void getVerticesIdForMSH (std::vector< int > &verts)
 
virtual MElementcopy (std::map< int, MVertex * > &vertexMap, std::map< MElement *, MElement * > &newParents, std::map< MElement *, MElement * > &newDomains)
 

Protected Attributes

MVertex_vs [19]
 
- Protected Attributes inherited from MHexahedron
MVertex_v [8]
 

Additional Inherited Members

- Static Public Member Functions inherited from MHexahedron
static int edges_hexa (const int edge, const int vert)
 
static int faces_hexa (const int face, const int vert)
 
static int faces2edge_hexa (const int face, const int edge)
 
- Static Public Member Functions inherited from MElement
static unsigned int getInfoMSH (const int typeMSH, const char **const name=nullptr)
 
- Protected Member Functions inherited from MHexahedron
void _getEdgeVertices (const int num, std::vector< MVertex * > &v) const
 
void _getFaceVertices (const int num, std::vector< MVertex * > &v) const
 
- Protected Member Functions inherited from MElement
void _getEdgeRep (MVertex *v0, MVertex *v1, double *x, double *y, double *z, SVector3 *n, int faceIndex=-1)
 
void _getFaceRep (MVertex *v0, MVertex *v1, MVertex *v2, double *x, double *y, double *z, SVector3 *n)
 
- Static Protected Member Functions inherited from MElement
static bool _getFaceInfo (const MFace &face, const MFace &other, int &sign, int &rot)
 
- Static Protected Attributes inherited from MElement
static double _isInsideTolerance
 

Detailed Description

Definition at line 420 of file MHexahedron.h.

Constructor & Destructor Documentation

◆ MHexahedron27() [1/2]

MHexahedron27::MHexahedron27 ( MVertex v0,
MVertex v1,
MVertex v2,
MVertex v3,
MVertex v4,
MVertex v5,
MVertex v6,
MVertex v7,
MVertex v8,
MVertex v9,
MVertex v10,
MVertex v11,
MVertex v12,
MVertex v13,
MVertex v14,
MVertex v15,
MVertex v16,
MVertex v17,
MVertex v18,
MVertex v19,
MVertex v20,
MVertex v21,
MVertex v22,
MVertex v23,
MVertex v24,
MVertex v25,
MVertex v26,
int  num = 0,
int  part = 0 
)
inline

Definition at line 425 of file MHexahedron.h.

◆ MHexahedron27() [2/2]

MHexahedron27::MHexahedron27 ( const std::vector< MVertex * > &  v,
int  num = 0,
int  part = 0 
)
inline

Definition at line 455 of file MHexahedron.h.

◆ ~MHexahedron27()

MHexahedron27::~MHexahedron27 ( )
inline

Definition at line 461 of file MHexahedron.h.

Member Function Documentation

◆ getEdgeRep()

void MHexahedron27::getEdgeRep ( bool  curved,
int  num,
double *  x,
double *  y,
double *  z,
SVector3 n 
)
virtual

Reimplemented from MHexahedron.

Definition at line 161 of file MHexahedron.cpp.

Here is the call graph for this function:

◆ getEdgeVertices()

virtual void MHexahedron27::getEdgeVertices ( const int  num,
std::vector< MVertex * > &  v 
) const
inlinevirtual

Reimplemented from MHexahedron.

Definition at line 513 of file MHexahedron.h.

Here is the call graph for this function:

◆ getFaceRep()

void MHexahedron27::getFaceRep ( bool  curved,
int  num,
double *  x,
double *  y,
double *  z,
SVector3 n 
)
virtual

Reimplemented from MHexahedron.

Definition at line 383 of file MHexahedron.cpp.

Here is the call graph for this function:

◆ getFaceVertices()

virtual void MHexahedron27::getFaceVertices ( const int  num,
std::vector< MVertex * > &  v 
) const
inlinevirtual

Reimplemented from MHexahedron.

Definition at line 522 of file MHexahedron.h.

Here is the call graph for this function:

◆ getNode()

virtual void MHexahedron27::getNode ( int  num,
double &  u,
double &  v,
double &  w 
) const
inlinevirtual

Reimplemented from MHexahedron.

Definition at line 570 of file MHexahedron.h.

Here is the call graph for this function:

◆ getNumEdgesRep()

int MHexahedron27::getNumEdgesRep ( bool  curved)
virtual

Reimplemented from MHexahedron.

Definition at line 184 of file MHexahedron.cpp.

Here is the call graph for this function:

◆ getNumEdgeVertices()

virtual int MHexahedron27::getNumEdgeVertices ( ) const
inlinevirtual

Reimplemented from MElement.

Definition at line 507 of file MHexahedron.h.

◆ getNumFacesRep()

int MHexahedron27::getNumFacesRep ( bool  curved)
virtual

Reimplemented from MHexahedron.

Definition at line 418 of file MHexahedron.cpp.

Here is the call graph for this function:

◆ getNumFaceVertices()

virtual int MHexahedron27::getNumFaceVertices ( ) const
inlinevirtual

Reimplemented from MElement.

Definition at line 508 of file MHexahedron.h.

◆ getNumVertices()

virtual std::size_t MHexahedron27::getNumVertices ( ) const
inlinevirtual

Reimplemented from MHexahedron.

Definition at line 463 of file MHexahedron.h.

◆ getNumVolumeVertices()

virtual int MHexahedron27::getNumVolumeVertices ( ) const
inlinevirtual

Reimplemented from MElement.

Definition at line 509 of file MHexahedron.h.

◆ getPolynomialOrder()

virtual int MHexahedron27::getPolynomialOrder ( ) const
inlinevirtual

Reimplemented from MElement.

Definition at line 462 of file MHexahedron.h.

◆ getStringForDIFF()

virtual const char* MHexahedron27::getStringForDIFF ( ) const
inlinevirtual

Reimplemented from MHexahedron.

Definition at line 537 of file MHexahedron.h.

◆ getStringForINP()

virtual const char* MHexahedron27::getStringForINP ( ) const
inlinevirtual

Reimplemented from MHexahedron.

Definition at line 538 of file MHexahedron.h.

◆ getStringForKEY()

virtual const char* MHexahedron27::getStringForKEY ( ) const
inlinevirtual

Reimplemented from MHexahedron.

Definition at line 539 of file MHexahedron.h.

◆ getStringForPOS()

virtual const char* MHexahedron27::getStringForPOS ( ) const
inlinevirtual

Reimplemented from MHexahedron.

Definition at line 536 of file MHexahedron.h.

◆ getStringForRAD()

virtual const char* MHexahedron27::getStringForRAD ( ) const
inlinevirtual

Reimplemented from MHexahedron.

Definition at line 540 of file MHexahedron.h.

◆ getStringForTOCHNOG()

virtual const char* MHexahedron27::getStringForTOCHNOG ( ) const
inlinevirtual

Reimplemented from MHexahedron.

Definition at line 541 of file MHexahedron.h.

◆ getTypeForMSH()

virtual int MHexahedron27::getTypeForMSH ( ) const
inlinevirtual

Reimplemented from MHexahedron.

Definition at line 534 of file MHexahedron.h.

◆ getTypeForVTK()

virtual int MHexahedron27::getTypeForVTK ( ) const
inlinevirtual

Reimplemented from MHexahedron.

Definition at line 535 of file MHexahedron.h.

◆ getVertex() [1/2]

virtual MVertex* MHexahedron27::getVertex ( int  num)
inlinevirtual

Reimplemented from MHexahedron.

Definition at line 464 of file MHexahedron.h.

Referenced by getVertexDIFF(), getVertexINP(), getVertexKEY(), and getVertexVTK().

Here is the caller graph for this function:

◆ getVertex() [2/2]

virtual const MVertex* MHexahedron27::getVertex ( int  num) const
inlinevirtual

Reimplemented from MHexahedron.

Definition at line 468 of file MHexahedron.h.

◆ getVertexDIFF()

virtual MVertex* MHexahedron27::getVertexDIFF ( int  num)
inlinevirtual

Reimplemented from MHexahedron.

Definition at line 493 of file MHexahedron.h.

Here is the call graph for this function:

◆ getVertexINP()

virtual MVertex* MHexahedron27::getVertexINP ( int  num)
inlinevirtual

Reimplemented from MElement.

Definition at line 479 of file MHexahedron.h.

Here is the call graph for this function:

◆ getVertexKEY()

virtual MVertex* MHexahedron27::getVertexKEY ( int  num)
inlinevirtual

Reimplemented from MElement.

Definition at line 486 of file MHexahedron.h.

Here is the call graph for this function:

◆ getVertexVTK()

virtual MVertex* MHexahedron27::getVertexVTK ( int  num)
inlinevirtual

Reimplemented from MElement.

Definition at line 500 of file MHexahedron.h.

Here is the call graph for this function:

◆ reverse()

virtual void MHexahedron27::reverse ( )
inlinevirtual

Reimplemented from MHexahedron.

Definition at line 542 of file MHexahedron.h.

◆ setVertex()

virtual void MHexahedron27::setVertex ( int  num,
MVertex v 
)
inlinevirtual

Reimplemented from MHexahedron.

Definition at line 472 of file MHexahedron.h.

Member Data Documentation

◆ _vs

MVertex* MHexahedron27::_vs[19]
protected

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