gmsh-TingyuanDoc  0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
MElement Class Referenceabstract

#include <MElement.h>

Inheritance diagram for MElement:

Public Member Functions

 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 int getDim () const =0
 
virtual int getPolynomialOrder () const
 
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)
 
virtual std::size_t getNumVertices () const =0
 
virtual const MVertexgetVertex (int num) const =0
 
virtual MVertexgetVertex (int num)=0
 
void getVertices (std::vector< MVertex * > &verts)
 
virtual void setVertex (int num, MVertex *v)
 
virtual void getVertexInfo (const MVertex *vertex, int &ithVertex) const
 
virtual MVertexgetVertexUNV (int num)
 
virtual MVertexgetVertexVTK (int num)
 
virtual MVertexgetVertexMATLAB (int num)
 
virtual MVertexgetVertexTOCHNOG (int num)
 
virtual MVertexgetVertexBDF (int num)
 
virtual MVertexgetVertexDIFF (int num)
 
virtual MVertexgetVertexINP (int num)
 
virtual MVertexgetVertexKEY (int num)
 
virtual MVertexgetVertexRAD (int num)
 
virtual MVertexgetVertexNEU (int num)
 
virtual int getNumEdgeVertices () const
 
virtual int getNumFaceVertices () const
 
virtual int getNumVolumeVertices () const
 
std::size_t getNumPrimaryVertices () const
 
virtual int getNumEdges () const =0
 
virtual MEdge getEdge (int num) const =0
 
virtual MEdgeN getHighOrderEdge (int num, int sign)
 
MEdgeN getHighOrderEdge (const MEdge &edge)
 
virtual bool getEdgeInfo (const MEdge &edge, int &ithEdge, int &sign) const
 
virtual int numEdge2numVertex (int numEdge, int numVert) const
 
virtual MEdge getEdgeSolin (int numEdge)
 
virtual int getNumEdgesRep (bool curved)=0
 
virtual void getEdgeRep (bool curved, int num, double *x, double *y, double *z, SVector3 *n)=0
 
virtual int getNumFaces ()=0
 
virtual MFace getFace (int num) const =0
 
virtual MFaceN getHighOrderFace (int num, int sign, int rot)
 
MFaceN getHighOrderFace (const MFace &face)
 
virtual bool getFaceInfo (const MFace &face, int &ithFace, int &sign, int &rot) const
 
virtual MFace getFaceSolin (int numFace)
 
virtual int getNumFacesRep (bool curved)=0
 
virtual void getFaceRep (bool curved, int num, double *x, double *y, double *z, SVector3 *n)=0
 
virtual void getEdgeVertices (const int num, std::vector< MVertex * > &v) const
 
virtual void getFaceVertices (const int num, std::vector< MVertex * > &v) const
 
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 int getType () const =0
 
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 double angleShapeMeasure ()
 
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 getInnerRadius ()
 
virtual double getOuterRadius ()
 
virtual SPoint3 barycenter (bool primary=false) const
 
virtual SPoint3 fastBarycenter (bool primary=false) const
 
virtual SPoint3 barycenterUVW () const
 
virtual SPoint3 barycenter_infty () const
 
virtual void reverse ()
 
virtual double getVolume ()
 
virtual int getVolumeSign ()
 
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 getNode (int num, double &u, double &v, double &w) 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
 
virtual bool isInside (double u, double v, double w) const =0
 
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)
 
virtual void getIntegrationPoints (int pOrder, int *npts, IntPt **pts)
 
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)
 
virtual int getTypeForMSH () const
 
virtual int getTypeForUNV () const
 
virtual int getTypeForVTK () const
 
virtual const char * getStringForTOCHNOG () const
 
virtual const char * getStringForPOS () const
 
virtual const char * getStringForBDF () const
 
virtual const char * getStringForDIFF () const
 
virtual const char * getStringForINP () const
 
virtual const char * getStringForKEY () const
 
virtual const char * getStringForRAD () const
 
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)
 
virtual int numCommonNodesInDualGraph (const MElement *const other) const =0
 

Static Public Member Functions

static unsigned int getInfoMSH (const int typeMSH, const char **const name=nullptr)
 

Protected Member Functions

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

static bool _getFaceInfo (const MFace &face, const MFace &other, int &sign, int &rot)
 

Static Protected Attributes

static double _isInsideTolerance
 

Private Attributes

std::size_t _num
 
short _partition
 
char _visible
 

Detailed Description

Definition at line 30 of file MElement.h.

Constructor & Destructor Documentation

◆ MElement()

MElement::MElement ( std::size_t  num = 0,
int  part = 0 
)

Definition at line 40 of file MElement.cpp.

Here is the call graph for this function:

◆ ~MElement()

virtual MElement::~MElement ( )
inlinevirtual

Definition at line 61 of file MElement.h.

Member Function Documentation

◆ _getEdgeRep()

void MElement::_getEdgeRep ( MVertex v0,
MVertex v1,
double *  x,
double *  y,
double *  z,
SVector3 n,
int  faceIndex = -1 
)
protected

Definition at line 107 of file MElement.cpp.

Referenced by MLine::getEdgeRep(), MPolyhedron::getEdgeRep(), MTrihedron::getEdgeRep(), MPyramid::getEdgeRep(), and MPolygon::getEdgeRep().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _getFaceInfo()

bool MElement::_getFaceInfo ( const MFace face,
const MFace other,
int &  sign,
int &  rot 
)
staticprotected

Definition at line 66 of file MElement.cpp.

Referenced by MPrism::getFaceInfo(), MTriangle::getFaceInfo(), MTetrahedron::getFaceInfo(), MQuadrangle::getFaceInfo(), MHexahedron::getFaceInfo(), and MPyramid::getFaceInfo().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _getFaceRep()

void MElement::_getFaceRep ( MVertex v0,
MVertex v1,
MVertex v2,
double *  x,
double *  y,
double *  z,
SVector3 n 
)
protected

Definition at line 146 of file MElement.cpp.

Referenced by MTetrahedron::getFaceRep(), MTriangle::getFaceRep(), MQuadrangle::getFaceRep(), MPolyhedron::getFaceRep(), MHexahedron::getFaceRep(), MTrihedron::getFaceRep(), MPrism::getFaceRep(), MPyramid::getFaceRep(), and MPolygon::getFaceRep().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ angleShapeMeasure()

virtual double MElement::angleShapeMeasure ( )
inlinevirtual

Reimplemented in MQuadrangle, MHexahedron, and MTriangle.

Definition at line 281 of file MElement.h.

◆ barycenter()

◆ barycenter_infty()

SPoint3 MElement::barycenter_infty ( ) const
virtual

Definition at line 499 of file MElement.cpp.

Here is the call graph for this function:

◆ barycenterUVW()

SPoint3 MElement::barycenterUVW ( ) const
virtual

Reimplemented in MQuadrangleN, MQuadrangle9, MQuadrangle8, MHexahedron, MTetrahedron, MPrism, MPyramid, MTriangle, MTrihedron, MQuadrangle, MLine, and MPoint.

Definition at line 550 of file MElement.cpp.

Referenced by elasticitySolver::computeEffectiveStiffness(), and elasticitySolver::computeEffectiveStrain().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ copy()

MElement * MElement::copy ( std::map< int, MVertex * > &  vertexMap,
std::map< MElement *, MElement * > &  newParents,
std::map< MElement *, MElement * > &  newDomains 
)
virtual

Definition at line 2486 of file MElement.cpp.

Referenced by copy(), and meshMetric::meshMetric().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ distoShapeMeasure()

double MElement::distoShapeMeasure ( )
inline

Definition at line 273 of file MElement.h.

Referenced by checkHighOrderTetrahedron(), checkHighOrderTriangles(), isElementVisible(), and writePOS().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ etaShapeMeasure()

virtual double MElement::etaShapeMeasure ( )
inlinevirtual

Reimplemented in MTetrahedron, MQuadrangle, and MTriangle.

Definition at line 260 of file MElement.h.

◆ fastBarycenter()

SPoint3 MElement::fastBarycenter ( bool  primary = false) const
virtual

Definition at line 536 of file MElement.cpp.

Here is the call graph for this function:

◆ forceNum()

void MElement::forceNum ( std::size_t  num)

Definition at line 54 of file MElement.cpp.

Referenced by GModel::renumberMeshElements().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gammaShapeMeasure()

virtual double MElement::gammaShapeMeasure ( )
inlinevirtual

Reimplemented in MTetrahedron, MPrism, MQuadrangle, and MTriangle.

Definition at line 259 of file MElement.h.

Referenced by getInfoString(), isElementVisible(), and writePOS().

Here is the caller graph for this function:

◆ getBaseElement() [1/2]

virtual MElement* MElement::getBaseElement ( )
inlinevirtual

Reimplemented in MSubPoint, MSubLine, MSubTriangle, and MSubTetrahedron.

Definition at line 240 of file MElement.h.

◆ getBaseElement() [2/2]

virtual const MElement* MElement::getBaseElement ( ) const
inlinevirtual

Reimplemented in MSubPoint, MSubLine, MSubTriangle, and MSubTetrahedron.

Definition at line 239 of file MElement.h.

◆ getBezierVerticesCoord()

bezierCoeff * MElement::getBezierVerticesCoord ( ) const

Definition at line 998 of file MElement.cpp.

Referenced by MElementBB().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getChild()

virtual MElement* MElement::getChild ( int  i) const
inlinevirtual

Reimplemented in MPolygon, and MPolyhedron.

Definition at line 235 of file MElement.h.

Referenced by PViewDataGModel::_getNode(), copy(), PViewDataGModel::getNumNodes(), GMSH_DistancePlugin::printView(), and writeMSH2().

Here is the caller graph for this function:

◆ getDim()

◆ getDomain()

virtual MElement* MElement::getDomain ( int  i) const
inlinevirtual

Reimplemented in MLineBorder, MPolygonBorder, and MTriangleBorder.

Definition at line 243 of file MElement.h.

Referenced by GModel::_writeMSH2(), buildCutMesh(), and copy().

Here is the caller graph for this function:

◆ getEdge()

◆ getEdgeInfo()

bool MElement::getEdgeInfo ( const MEdge edge,
int &  ithEdge,
int &  sign 
) const
virtual

Definition at line 189 of file MElement.cpp.

Referenced by getHighOrderEdge().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getEdgeRep()

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

◆ getEdgeSolin()

virtual MEdge MElement::getEdgeSolin ( int  numEdge)
inlinevirtual

Reimplemented in MPrism, MHexahedron, MTetrahedron, MQuadrangle, and MTriangle.

Definition at line 186 of file MElement.h.

Here is the call graph for this function:

◆ getEdgeVertices()

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

◆ getEigenvaluesMetric()

double MElement::getEigenvaluesMetric ( double  u,
double  v,
double  w,
double  values[3] 
) const
virtual

Definition at line 1022 of file MElement.cpp.

Here is the call graph for this function:

◆ getFace()

◆ getFaceInfo()

virtual bool MElement::getFaceInfo ( const MFace face,
int &  ithFace,
int &  sign,
int &  rot 
) const
inlinevirtual

Reimplemented in MPyramid, MHexahedron, MQuadrangle, MTetrahedron, MPrism, and MTriangle.

Definition at line 205 of file MElement.h.

Referenced by getHighOrderFace().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getFaceRep()

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

◆ getFaceSolin()

virtual MFace MElement::getFaceSolin ( int  numFace)
inlinevirtual

Reimplemented in MQuadrangle, MPrism, MHexahedron, MTetrahedron, and MTriangle.

Definition at line 213 of file MElement.h.

Here is the call graph for this function:

◆ getFaceVertices()

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

◆ getFuncSpaceData()

const FuncSpaceData MElement::getFuncSpaceData ( int  order = -1,
bool  serendip = false 
) const
virtual

Definition at line 673 of file MElement.cpp.

Referenced by getBezierVerticesCoord().

Here is the caller graph for this function:

◆ getFunctionSpace()

◆ getGradShapeFunctions()

◆ getHessShapeFunctions()

void MElement::getHessShapeFunctions ( double  u,
double  v,
double  w,
double  s[][3][3],
int  order = -1 
) const
virtual

◆ getHighOrderEdge() [1/2]

MEdgeN MElement::getHighOrderEdge ( const MEdge edge)
inline

Definition at line 170 of file MElement.h.

Here is the call graph for this function:

◆ getHighOrderEdge() [2/2]

MEdgeN MElement::getHighOrderEdge ( int  num,
int  sign 
)
virtual

Definition at line 171 of file MElement.cpp.

Referenced by getHighOrderEdge().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getHighOrderFace() [1/2]

MFaceN MElement::getHighOrderFace ( const MFace face)
inline

Definition at line 197 of file MElement.h.

Here is the call graph for this function:

◆ getHighOrderFace() [2/2]

MFaceN MElement::getHighOrderFace ( int  num,
int  sign,
int  rot 
)
virtual

Reimplemented in MQuadrangleN, MQuadrangle9, MTriangleN, MQuadrangle8, MTriangle6, MQuadrangle, and MTriangle.

Definition at line 207 of file MElement.cpp.

Referenced by getHighOrderFace().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getInfoMSH()

unsigned int MElement::getInfoMSH ( const int  typeMSH,
const char **const  name = nullptr 
)
static

Definition at line 2057 of file MElement.cpp.

Referenced by _addElements(), GModel::_readMSH2(), MElementFactory::create(), getInfoString(), getName(), readMSH4Elements(), and writeMSH4Elements().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getInfoString()

std::string MElement::getInfoString ( bool  multline)
virtual

Definition at line 616 of file MElement.cpp.

Here is the call graph for this function:

◆ getInnerRadius()

virtual double MElement::getInnerRadius ( )
inlinevirtual

Reimplemented in MQuadrangle, MTetrahedron, MHexahedron, MPrism, MTriangle, and MLine.

Definition at line 292 of file MElement.h.

Referenced by addElementsInArrays(), addSmoothNormals(), and getInfoString().

Here is the caller graph for this function:

◆ getIntegrationPoints()

◆ getIsAssimilatedSerendipity()

◆ getIsOnlySerendipity()

virtual bool MElement::getIsOnlySerendipity ( ) const
inlinevirtual

Definition at line 86 of file MElement.h.

Referenced by createTopologyFromMesh2D(), and createTopologyFromMesh3D().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getJacobian() [1/5]

double MElement::getJacobian ( const fullMatrix< double > &  gsf,
double  jac[3][3] 
) const
virtual

Reimplemented in MSubPoint, MSubLine, MSubTriangle, and MSubTetrahedron.

Definition at line 868 of file MElement.cpp.

Referenced by _myGetFaceRep(), qmTriangle::angles(), qmQuadrangle::angles(), thermicSolver::computeL2Norm(), elasticitySolver::computeL2Norm(), thermicSolver::computeLagNorm(), GRegion::computeSolidProperties(), helmholtzTerm< double >::elementMatrix(), elasticityTerm::elementMatrix(), elasticityMixedTerm::elementMatrix(), distanceTerm::elementVector(), elasticityTerm::elementVector(), ScalarTermConstant< T2 >::get(), BilinearTermBase::get(), LinearTermBase< T2 >::get(), LaplaceTerm< T1, T1 >::get(), IsotropicElasticTerm::get(), LoadTerm< T1 >::get(), LagrangeMultiplierTerm< T1 >::get(), LagMultTerm::get(), LoadTermOnBorder< T1 >::get(), getEigenvaluesMetric(), MSubTriangle::getGradShapeFunctions(), MSubLine::getGradShapeFunctions(), MSubTetrahedron::getIntegrationPoints(), MPolyhedron::getIntegrationPoints(), MSubTriangle::getIntegrationPoints(), MSubLine::getIntegrationPoints(), MPolygon::getIntegrationPoints(), MSubPoint::getIntegrationPoints(), MTriangleBorder::getIntegrationPoints(), MSubTetrahedron::getJacobian(), MSubTriangle::getJacobian(), MSubLine::getJacobian(), getJacobian(), MSubPoint::getJacobian(), getJacobianDeterminant(), ScalarLagrangeFunctionSpaceOfElement::gradf(), ScalarLagrangeFunctionSpace::gradf(), FuncGradDisc::gradient(), interpolateCurl(), interpolateDiv(), interpolateGrad(), femTerm< scalar >::neumannNodalBC(), and xyz2uvw().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getJacobian() [2/5]

double MElement::getJacobian ( const std::vector< SVector3 > &  gsf,
double *  jac 
) const
virtual

Definition at line 908 of file MElement.cpp.

Here is the call graph for this function:

◆ getJacobian() [3/5]

double MElement::getJacobian ( const std::vector< SVector3 > &  gsf,
double  jac[3][3] 
) const
virtual

Reimplemented in MSubPoint, MSubLine, MSubTriangle, and MSubTetrahedron.

Definition at line 888 of file MElement.cpp.

Here is the call graph for this function:

◆ getJacobian() [4/5]

double MElement::getJacobian ( double  u,
double  v,
double  w,
double  jac[3][3] 
) const
virtual

Reimplemented in MSubPoint, MSubLine, MSubTriangle, and MSubTetrahedron.

Definition at line 845 of file MElement.cpp.

Here is the call graph for this function:

◆ getJacobian() [5/5]

double MElement::getJacobian ( double  u,
double  v,
double  w,
fullMatrix< double > &  j 
) const

Definition at line 926 of file MElement.cpp.

Here is the call graph for this function:

◆ getJacobianDeterminant()

double MElement::getJacobianDeterminant ( double  u,
double  v,
double  w 
) const
inline

Definition at line 376 of file MElement.h.

Referenced by getVolume(), and integrate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getJacobianFuncSpace()

◆ getJacobianFuncSpaceData()

const FuncSpaceData MElement::getJacobianFuncSpaceData ( int  orderElement = -1) const
virtual

Definition at line 686 of file MElement.cpp.

Here is the call graph for this function:

◆ getName()

std::string MElement::getName ( )

Definition at line 2472 of file MElement.cpp.

Referenced by _getQualityFunctionSpace(), and jacobianBasedQuality::minMaxJacobianDeterminant().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getNode()

◆ getNodesCoord()

◆ getNodesCoordNonSerendip()

void MElement::getNodesCoordNonSerendip ( fullMatrix< double > &  nodesXYZ) const

Definition at line 980 of file MElement.cpp.

Here is the call graph for this function:

◆ getNum()

◆ getNumChildren()

virtual int MElement::getNumChildren ( ) const
inlinevirtual

Reimplemented in MPolygon, and MPolyhedron.

Definition at line 234 of file MElement.h.

Referenced by PViewDataGModel::_getNode(), copy(), PViewDataGModel::getNumNodes(), GMSH_DistancePlugin::printView(), and writeMSH2().

Here is the caller graph for this function:

◆ getNumEdges()

◆ getNumEdgesRep()

virtual int MElement::getNumEdgesRep ( bool  curved)
pure virtual

◆ getNumEdgeVertices()

virtual int MElement::getNumEdgeVertices ( ) const
inlinevirtual

◆ getNumFaces()

◆ getNumFacesRep()

virtual int MElement::getNumFacesRep ( bool  curved)
pure virtual

◆ getNumFaceVertices()

virtual int MElement::getNumFaceVertices ( ) const
inlinevirtual

Reimplemented in MHexahedronN, MPrismN, MHexahedron27, MQuadrangleN, MPrism18, MTetrahedronN, MQuadrangle9, MTriangleN, MPyramidN, and MPolygon.

Definition at line 156 of file MElement.h.

Referenced by getNumPrimaryVertices().

Here is the caller graph for this function:

◆ getNumPrimaryShapeFunctions()

virtual std::size_t MElement::getNumPrimaryShapeFunctions ( ) const
inlinevirtual

◆ getNumPrimaryVertices()

std::size_t MElement::getNumPrimaryVertices ( ) const
inline

◆ getNumShapeFunctions()

virtual std::size_t MElement::getNumShapeFunctions ( ) const
inlinevirtual

Reimplemented in MSubPoint, MPolygon, MSubLine, MSubTriangle, MPolyhedron, and MSubTetrahedron.

Definition at line 387 of file MElement.h.

Referenced by elasticityTerm::createData(), helmholtzTerm< double >::elementMatrix(), elasticityTerm::elementMatrix(), distanceTerm::elementVector(), laplaceTerm::elementVector(), elasticityTerm::elementVector(), ScalarLagrangeFunctionSpaceOfElement::f(), ScalarLagrangeFunctionSpace::f(), ScalarLagrangeFunctionSpace::fuvw(), MSubLine::getGradShapeFunctions(), getJacobian(), elasticityTerm::getLocalDofC(), elasticityTerm::getLocalDofR(), ScalarLagrangeFunctionSpaceOfElement::getNumKeys(), ScalarLagrangeFunctionSpace::getNumKeys(), MSubTetrahedron::getNumShapeFunctions(), MPolyhedron::getNumShapeFunctions(), MSubTriangle::getNumShapeFunctions(), MSubLine::getNumShapeFunctions(), MPolygon::getNumShapeFunctions(), MSubPoint::getNumShapeFunctions(), ScalarLagrangeFunctionSpaceOfElement::gradf(), ScalarLagrangeFunctionSpace::gradf(), ScalarLagrangeFunctionSpaceOfElement::gradfuvw(), ScalarLagrangeFunctionSpace::gradfuvw(), FuncGradDisc::gradient(), ScalarLagrangeFunctionSpaceOfElement::hessfuvw(), ScalarLagrangeFunctionSpace::hessfuvw(), interpolate(), interpolateGrad(), femTerm< scalar >::neumannNodalBC(), FuncGradDisc::operator()(), pnt(), helmholtzTerm< double >::sizeOfC(), elasticityTerm::sizeOfC(), helmholtzTerm< double >::sizeOfR(), elasticityTerm::sizeOfR(), and xyz2uvw().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getNumVertices()

virtual std::size_t MElement::getNumVertices ( ) const
pure virtual

Implemented in MHexahedronN, MPrismN, MQuadrangleN, MHexahedron27, MPrism18, MTetrahedronN, MQuadrangle9, MTriangleN, MPrism15, MHexahedron20, MPyramidN, MTetrahedron10, MPolygon, MLineN, MQuadrangle8, MTriangle6, MLine3, MPyramid, MTrihedron, MPrism, MTetrahedron, MHexahedron, MQuadrangle, MTriangle, MPolyhedron, MLine, and MPoint.

Referenced by PViewDataGModel::_getNode(), OctreePost::_getValue(), GMSH_ShowNeighborElementsPlugin::_init(), _isModelOkForTopologicalOpti(), _removeTwoQuadsNodes(), addExtrudeNormals(), GFace::alignElementsWithMaster(), barycenter(), barycenter_infty(), barycenterUVW(), GRegion::bounds(), GEdge::bounds(), GFace::bounds(), GModel::checkMeshCoherence(), elasticitySolver::computeDisplacementError(), elasticitySolver::computeEffectiveStiffness(), elasticitySolver::computeEffectiveStrain(), copy(), drawVerticesPerElement(), GMSH_CrackPlugin::execute(), GMSH_InvisiblePlugin::execute(), GMSH_FieldFromAmplitudePhasePlugin::execute(), GMSH_DistancePlugin::execute(), meshMetric::exportInfo(), fastBarycenter(), fillv_(), FixNodalDofs(), FixPeriodicMesh(), getColorByElement(), getExtrudedVertices(), getGFaceNormalFromBary(), getGFaceNormalFromVert(), getHighOrderFace(), getInfoString(), getJacobian(), GModel::getMeshVerticesForPhysicalGroup(), getNodesCoord(), getNodesCoordNonSerendip(), SElement::getNumNodalShapeFunctions(), SElement::getNumNodalTestFunctions(), PViewDataGModel::getNumNodes(), getNumPrimaryVertices(), getNumShapeFunctions(), getNumVerticesForMSH(), getSignedJacobian(), getVertices(), GModel::indexMeshVertices(), groupOfElements::insert(), intersectClipPlane(), MElementBB(), MElementCentroid(), jacobianBasedQuality::minICNMeasure(), jacobianBasedQuality::minIGEMeasure(), jacobianBasedQuality::minMaxJacobianDeterminant(), meshMetric::operator()(), parametricCoordinates(), GMSH_DistancePlugin::printView(), GModel::pruneMeshVertexAssociations(), GModel::readPLY(), GModel::removeDuplicateMeshVertices(), GModel::renumberMeshVertices(), jacobianBasedQuality::sampleICNMeasure(), jacobianBasedQuality::sampleIGEMeasure(), jacobianBasedQuality::sampleJacobianDeterminant(), setBLData(), PViewDataGModel::smooth(), surfaceFaceUV(), writeBDF(), writeDIFF(), GModel::writeDIFF(), writeINP(), GModel::writeINP(), writeIR3(), writeKEY(), GModel::writeKEY(), writeMATLAB(), writeMESH(), writeMSH4Elements(), writeNEU(), writePLY2(), writePOS(), writeRAD(), GModel::writeRAD(), writeSTL(), writeSU2(), writeTOCHNOG(), GModel::writeTOCHNOG(), writeUNV(), GModel::writeUNV(), writeVRML(), writeVTK(), and writeX3D().

◆ getNumVerticesForMSH()

virtual std::size_t MElement::getNumVerticesForMSH ( )
inlinevirtual

Reimplemented in MPolygon, and MPolyhedron.

Definition at line 503 of file MElement.h.

Referenced by getVerticesIdForMSH(), and writeMSH2().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getNumVolumeVertices()

virtual int MElement::getNumVolumeVertices ( ) const
inlinevirtual

Reimplemented in MHexahedronN, MPrismN, MHexahedron27, MTetrahedronN, MPyramidN, and MPolyhedron.

Definition at line 157 of file MElement.h.

Referenced by getNumPrimaryVertices().

Here is the caller graph for this function:

◆ getOuterRadius()

virtual double MElement::getOuterRadius ( )
inlinevirtual

Reimplemented in MQuadrangle, MTetrahedron, and MTriangle.

Definition at line 297 of file MElement.h.

Referenced by getInfoString().

Here is the caller graph for this function:

◆ getParent()

virtual MElement* MElement::getParent ( ) const
inlinevirtual

Reimplemented in MLineBorder, MPolygonBorder, MTriangleBorder, MSubPoint, MLineChild, MSubLine, MPolygon, MSubTriangle, MPolyhedron, and MSubTetrahedron.

Definition at line 231 of file MElement.h.

Referenced by buildCutMesh(), elasticitySolver::computeDisplacementError(), thermicSolver::computeLagNorm(), copy(), ScalarLagrangeFunctionSpaceOfElement::f(), ScalarLagrangeFunctionSpace::f(), xFemFunctionSpace< T >::f(), FilteredFunctionSpace< T, F >::f(), FilterElementsCutByLevelSet::FilterElementsCutByLevelSet(), ScalarLagrangeFunctionSpace::fuvw(), IsotropicElasticTerm::get(), LoadTerm< T1 >::get(), xFemFunctionSpace< T >::getKeys(), FilteredFunctionSpace< T, F >::getKeys(), ScalarLagrangeFunctionSpace::getNumKeys(), xFemFunctionSpace< T >::getNumKeys(), FilteredFunctionSpace< T, F >::getNumKeys(), SElement::getNumNodalShapeFunctions(), SElement::getNumNodalTestFunctions(), MTriangleBorder::getParent(), MPolygonBorder::getParent(), MLineBorder::getParent(), SElement::getVertex(), ScalarLagrangeFunctionSpaceOfElement::gradf(), ScalarLagrangeFunctionSpace::gradf(), xFemFunctionSpace< T >::gradf(), FilteredFunctionSpace< T, F >::gradf(), ScalarLagrangeFunctionSpaceOfElement::gradfuvw(), ScalarLagrangeFunctionSpace::gradfuvw(), FuncGradDisc::gradient(), ScalarLagrangeFunctionSpaceOfElement::hessfuvw(), ScalarLagrangeFunctionSpace::hessfuvw(), groupOfElements::insert(), movePointFromElementSpaceToParentSpace(), movePointFromParentSpaceToElementSpace(), FuncGradDisc::operator()(), writeElementsMSH(), and writeMSH3().

Here is the caller graph for this function:

◆ getPartition()

◆ getPolynomialOrder()

◆ getPrimaryJacobian()

double MElement::getPrimaryJacobian ( double  u,
double  v,
double  w,
double  jac[3][3] 
) const
virtual

Reimplemented in MSubPoint, MSubLine, MSubTriangle, and MSubTetrahedron.

Definition at line 939 of file MElement.cpp.

Referenced by qmTriangle::angles(), qmQuadrangle::angles(), MSubTetrahedron::getPrimaryJacobian(), MSubTriangle::getPrimaryJacobian(), MSubLine::getPrimaryJacobian(), and MSubPoint::getPrimaryJacobian().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getShapeFunctionNode() [1/2]

virtual MVertex* MElement::getShapeFunctionNode ( int  i)
inlinevirtual

Reimplemented in MSubPoint, MPolygon, MSubLine, MSubTriangle, MPolyhedron, and MSubTetrahedron.

Definition at line 396 of file MElement.h.

Here is the call graph for this function:

◆ getShapeFunctionNode() [2/2]

◆ getShapeFunctions()

◆ getSignedJacobian()

void MElement::getSignedJacobian ( fullVector< double > &  jacobian,
int  o = -1 
) const

Definition at line 961 of file MElement.cpp.

Here is the call graph for this function:

◆ getStringForBDF()

virtual const char* MElement::getStringForBDF ( ) const
inlinevirtual

Reimplemented in MQuadrangle9, MHexahedron20, MPrism15, MTetrahedron10, MQuadrangle8, MTriangle6, MPyramid, MPrism, MHexahedron, MQuadrangle, MTetrahedron, MTriangle, and MLine.

Definition at line 493 of file MElement.h.

Referenced by writeBDF().

Here is the caller graph for this function:

◆ getStringForDIFF()

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

Reimplemented in MHexahedron27, MQuadrangle9, MHexahedron20, MTetrahedron10, MQuadrangle8, MTriangle6, MHexahedron, MQuadrangle, MTetrahedron, and MTriangle.

Definition at line 494 of file MElement.h.

Referenced by writeDIFF(), and GModel::writeDIFF().

Here is the caller graph for this function:

◆ getStringForINP()

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

◆ getStringForKEY()

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

◆ getStringForPOS()

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

Reimplemented in MPrismN, MHexahedron27, MQuadrangleN, MPrism18, MQuadrangle9, MTetrahedron10, MTriangle6, MLine3, MPyramid, MPrism, MHexahedron, MQuadrangle, MTetrahedron, MTriangle, MLine, and MPoint.

Definition at line 492 of file MElement.h.

Referenced by writePOS().

Here is the caller graph for this function:

◆ getStringForRAD()

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

◆ getStringForTOCHNOG()

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

Reimplemented in MHexahedron27, MQuadrangle9, MTetrahedron10, MTriangle6, MLine3, MHexahedron, MTriangle, MQuadrangle, MTetrahedron, and MLine.

Definition at line 491 of file MElement.h.

Referenced by writeTOCHNOG().

Here is the caller graph for this function:

◆ getThirdDerivativeShapeFunctions()

void MElement::getThirdDerivativeShapeFunctions ( double  u,
double  v,
double  w,
double  s[][3][3][3],
int  order = -1 
) const
virtual

Reimplemented in MSubPoint, MSubLine, MSubTriangle, and MSubTetrahedron.

Definition at line 488 of file MElement.cpp.

Referenced by MSubTetrahedron::getThirdDerivativeShapeFunctions(), MSubTriangle::getThirdDerivativeShapeFunctions(), MSubLine::getThirdDerivativeShapeFunctions(), and MSubPoint::getThirdDerivativeShapeFunctions().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getTolerance()

double MElement::getTolerance ( ) const

◆ getType()

◆ getTypeForMSH()

virtual int MElement::getTypeForMSH ( ) const
inlinevirtual

Reimplemented in MHexahedronN, MPrismN, MHexahedron27, MQuadrangleN, MLineBorder, MPolygonBorder, MPrism18, MTetrahedronN, MTriangleBorder, MQuadrangle9, MTriangleN, MSubPoint, MLineChild, MHexahedron20, MPrism15, MPyramidN, MTetrahedron10, MPolygon, MSubLine, MQuadrangle8, MTriangle6, MLineN, MLine3, MSubTriangle, MPyramid, MTrihedron, MPolyhedron, MPrism, MHexahedron, MTetrahedron, MTriangle, MQuadrangle, MLine, MSubTetrahedron, and MPoint.

Definition at line 488 of file MElement.h.

Referenced by copy(), elasticityTerm::createData(), elasticityTerm::elementMatrix(), GMSH_CrackPlugin::execute(), ScalarLagrangeFunctionSpaceOfElement::f(), LoadTermOnBorder< T1 >::get(), getFunctionSpace(), getInfoString(), getIsAssimilatedSerendipity(), getIsOnlySerendipity(), getJacobianFuncSpace(), getName(), PViewDataGModel::getNode(), PViewDataGModel::getNumNodes(), ScalarLagrangeFunctionSpaceOfElement::gradf(), ScalarLagrangeFunctionSpaceOfElement::gradfuvw(), ScalarLagrangeFunctionSpaceOfElement::hessfuvw(), GModel::makeDiscreteFacesSimplyConnected(), GModel::makeDiscreteRegionsSimplyConnected(), jacobianBasedQuality::minICNMeasure(), jacobianBasedQuality::minIGEMeasure(), jacobianBasedQuality::sampleICNMeasure(), jacobianBasedQuality::sampleIGEMeasure(), jacobianBasedQuality::sampleJacobianDeterminant(), signedInvCondNumRange(), storePairMATLAB(), jacobianBasedQuality::testAllMeasures(), writeElementsMATLAB(), writeMATLAB(), writeMESH(), writeMSH2(), and writeMSH3().

Here is the caller graph for this function:

◆ getTypeForUNV()

virtual int MElement::getTypeForUNV ( ) const
inlinevirtual

Reimplemented in MHexahedron20, MPrism15, MTetrahedron10, MQuadrangle8, MTriangle6, MLine3, MPrism, MHexahedron, MTetrahedron, MTriangle, MQuadrangle, and MLine.

Definition at line 489 of file MElement.h.

Referenced by writeUNV().

Here is the caller graph for this function:

◆ getTypeForVTK()

virtual int MElement::getTypeForVTK ( ) const
inlinevirtual

Reimplemented in MQuadrangleN, MHexahedron27, MPrism18, MTriangleN, MQuadrangle9, MHexahedron20, MPrism15, MTetrahedron10, MQuadrangle8, MTriangle6, MLine3, MPyramid, MPrism, MHexahedron, MQuadrangle, MTetrahedron, MTriangle, MLine, and MPoint.

Definition at line 490 of file MElement.h.

Referenced by writeSU2(), and writeVTK().

Here is the caller graph for this function:

◆ getValidity()

int MElement::getValidity ( )

Definition at line 600 of file MElement.cpp.

Here is the call graph for this function:

◆ getVertex() [1/2]

virtual const MVertex* MElement::getVertex ( int  num) const
pure virtual

Implemented in MHexahedronN, MPrismN, MQuadrangleN, MHexahedron27, MPrism18, MTetrahedronN, MQuadrangle9, MTriangleN, MPrism15, MHexahedron20, MPyramidN, MTetrahedron10, MPolygon, MLineN, MQuadrangle8, MTriangle6, MLine3, MPyramid, MTrihedron, MPrism, MPolyhedron, MTetrahedron, MHexahedron, MQuadrangle, MTriangle, MLine, and MPoint.

Referenced by PViewDataGModel::_getNode(), OctreePost::_getValue(), GMSH_ShowNeighborElementsPlugin::_init(), _isModelOkForTopologicalOpti(), _recombineIntoQuads(), _removeTwoQuadsNodes(), addExtrudeNormals(), GFace::alignElementsWithMaster(), GModel::alignPeriodicBoundaries(), barycenter(), barycenter_infty(), GRegion::bounds(), GEdge::bounds(), GFace::bounds(), GModel::checkMeshCoherence(), elasticitySolver::computeDisplacementError(), elasticitySolver::computeEffectiveStiffness(), elasticitySolver::computeEffectiveStrain(), computeLevelset(), copy(), drawVerticesPerElement(), edge_angle::edge_angle(), GMSH_CrackPlugin::execute(), GMSH_InvisiblePlugin::execute(), GMSH_FieldFromAmplitudePhasePlugin::execute(), GMSH_DistancePlugin::execute(), meshMetric::exportInfo(), fastBarycenter(), fillv_(), FilterElementsCutByLevelSet::FilterElementsCutByLevelSet(), discreteFace::firstDer(), FixNodalDofs(), FixPeriodicMesh(), getAdditionalEntities(), backgroundMesh::getAngle(), getColorByElement(), getEdgeInfo(), getExtrudedVertices(), getGFaceNormalFromBary(), getGFaceNormalFromVert(), getHighOrderEdge(), getHighOrderFace(), getInfoString(), GModel::getMeshVerticesForPhysicalGroup(), PViewDataGModel::getNode(), getShapeFunctionNode(), backgroundMesh::getSmoothness(), SElement::getVertex(), getVertexBDF(), getVertexDIFF(), getVertexINP(), getVertexKEY(), getVertexMATLAB(), getVertexNEU(), getVertexRAD(), getVertexTOCHNOG(), getVertexUNV(), getVertexVTK(), getVertices(), getVerticesIdForMSH(), idealJacRange(), GlobalBackgroundMesh::importGModelMeshes(), GModel::indexMeshVertices(), groupOfElements::insert(), intersectClipPlane(), maxDistToStraight(), MElementBB(), MElementCentroid(), MYxyz2uvw(), backgroundMesh::operator()(), meshMetric::operator()(), gLevelsetYarn::operator()(), parametricCoordinates(), GMSH_DistancePlugin::printView(), GModel::pruneMeshVertexAssociations(), GModel::readPLY(), RecombineTriangle::RecombineTriangle(), GModel::removeDuplicateMeshVertices(), GModel::renumberMeshVertices(), scaledJacRange(), meshMetric::scaleMetric(), setBLData(), signedInvCondNumRange(), PViewDataGModel::smooth(), GModel::writeDIFF(), GModel::writeINP(), writeIR3(), GModel::writeKEY(), writeMATLAB(), writeMESH(), writeMSH2(), writeMSH4Elements(), writePLY2(), writePOS(), GModel::writeRAD(), writeSTL(), GModel::writeTOCHNOG(), GModel::writeUNV(), writeVRML(), and writeX3D().

◆ getVertex() [2/2]

◆ getVertexBDF()

virtual MVertex* MElement::getVertexBDF ( int  num)
inlinevirtual

Reimplemented in MPrism15, MHexahedron20, and MTetrahedron10.

Definition at line 133 of file MElement.h.

Referenced by writeBDF().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getVertexDIFF()

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

Reimplemented in MHexahedron27, MQuadrangle9, MHexahedron20, MTetrahedron10, MQuadrangle8, MHexahedron, and MQuadrangle.

Definition at line 136 of file MElement.h.

Referenced by writeDIFF().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getVertexInfo()

virtual void MElement::getVertexInfo ( const MVertex vertex,
int &  ithVertex 
) const
inlinevirtual

Reimplemented in MLine.

Definition at line 115 of file MElement.h.

Here is the call graph for this function:

◆ getVertexINP()

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

Reimplemented in MHexahedron27, MPrism15, MHexahedron20, MTetrahedron10, and MLine3.

Definition at line 139 of file MElement.h.

Referenced by writeINP().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getVertexKEY()

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

Reimplemented in MHexahedron27, MPrism15, MHexahedron20, MTetrahedron10, and MLine3.

Definition at line 142 of file MElement.h.

Referenced by writeKEY().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getVertexMATLAB()

virtual MVertex* MElement::getVertexMATLAB ( int  num)
inlinevirtual

Definition at line 127 of file MElement.h.

Referenced by writeMATLAB().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getVertexNEU()

virtual MVertex* MElement::getVertexNEU ( int  num)
inlinevirtual

Reimplemented in MHexahedron, and MPyramid.

Definition at line 148 of file MElement.h.

Referenced by writeNEU().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getVertexRAD()

virtual MVertex* MElement::getVertexRAD ( int  num)
inlinevirtual

Reimplemented in MHexahedron20, MTetrahedron10, and MLine3.

Definition at line 145 of file MElement.h.

Referenced by writeRAD().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getVertexTOCHNOG()

virtual MVertex* MElement::getVertexTOCHNOG ( int  num)
inlinevirtual

Definition at line 130 of file MElement.h.

Referenced by writeTOCHNOG().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getVertexUNV()

virtual MVertex* MElement::getVertexUNV ( int  num)
inlinevirtual

Reimplemented in MPrism15, MHexahedron20, MTetrahedron10, MQuadrangle8, MTriangle6, and MLine3.

Definition at line 121 of file MElement.h.

Referenced by writeUNV().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getVertexVTK()

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

Reimplemented in MPrism18, MHexahedron27, MHexahedron20, MPrism15, MTetrahedron10, and MPrism.

Definition at line 124 of file MElement.h.

Referenced by writeSU2(), and writeVTK().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getVertices()

void MElement::getVertices ( std::vector< MVertex * > &  verts)
inline

◆ getVerticesIdForMSH()

void MElement::getVerticesIdForMSH ( std::vector< int > &  verts)
virtual

Reimplemented in MPolygon, and MPolyhedron.

Definition at line 2479 of file MElement.cpp.

Referenced by writeMSH2(), and writeMSH3().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getVisibility()

char MElement::getVisibility ( ) const
virtual

Definition at line 165 of file MElement.cpp.

Referenced by getColorByElement(), isElementVisible(), and PViewDataGModel::skipElement().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getVolume()

double MElement::getVolume ( )
virtual

◆ getVolumeSign()

int MElement::getVolumeSign ( )
virtual

Reimplemented in MTetrahedron, MPrism, MHexahedron, MPyramid, and MTrihedron.

Definition at line 580 of file MElement.cpp.

Referenced by elasticitySolver::computeEffectiveStiffness(), elasticitySolver::computeEffectiveStrain(), and setVolumePositive().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ idealJacRange()

void MElement::idealJacRange ( double &  jmin,
double &  jmax,
GEntity ge = nullptr 
)
virtual

Definition at line 337 of file MElement.cpp.

Here is the call graph for this function:

◆ integrate()

double MElement::integrate ( double  val[],
int  pOrder,
int  stride = 1,
int  order = -1 
)

Definition at line 1279 of file MElement.cpp.

Referenced by integrateCirc(), and integrateFlux().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ integrateCirc()

double MElement::integrateCirc ( double  val[],
int  edge,
int  pOrder,
int  order = -1 
)

Definition at line 1296 of file MElement.cpp.

Here is the call graph for this function:

◆ integrateFlux()

double MElement::integrateFlux ( double  val[],
int  face,
int  pOrder,
int  order = -1 
)

Definition at line 1322 of file MElement.cpp.

Here is the call graph for this function:

◆ interpolate()

double MElement::interpolate ( double  val[],
double  u,
double  v,
double  w,
int  stride = 1,
int  order = -1 
)

Definition at line 1216 of file MElement.cpp.

Referenced by OctreePost::_getValue(), PViewDataGModel::getNode(), cartesianBox< scalar >::getValueContainingPoint(), integrate(), and meshMetric::operator()().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ interpolateCurl()

void MElement::interpolateCurl ( double  val[],
double  u,
double  v,
double  w,
double  f[],
int  stride = 3,
int  order = -1 
)

Definition at line 1253 of file MElement.cpp.

Here is the call graph for this function:

◆ interpolateDiv()

double MElement::interpolateDiv ( double  val[],
double  u,
double  v,
double  w,
int  stride = 3,
int  order = -1 
)

Definition at line 1267 of file MElement.cpp.

Here is the call graph for this function:

◆ interpolateGrad()

void MElement::interpolateGrad ( double  val[],
double  u,
double  v,
double  w,
double  f[],
int  stride = 1,
double  invjac[3][3] = nullptr,
int  order = -1 
)

Definition at line 1230 of file MElement.cpp.

Referenced by OctreePost::_getValue(), elasticitySolver::computeEffectiveStiffness(), elasticitySolver::computeEffectiveStrain(), backgroundMesh::getSmoothness(), interpolateCurl(), and interpolateDiv().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isInside()

virtual bool MElement::isInside ( double  u,
double  v,
double  w 
) const
pure virtual

◆ maxDistToStraight()

double MElement::maxDistToStraight ( ) const

Definition at line 256 of file MElement.cpp.

Referenced by addElementsInArrays(), and addSmoothNormals().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ maxEdge()

double MElement::maxEdge ( )
virtual

Definition at line 246 of file MElement.cpp.

Referenced by OctreePost::_getValue(), getInfoString(), backgroundMesh::getSmoothness(), and isElementVisible().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ minEdge()

double MElement::minEdge ( )
virtual

Definition at line 236 of file MElement.cpp.

Referenced by getInfoString().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ minIsotropyMeasure()

double MElement::minIsotropyMeasure ( bool  knownValid = false,
bool  reversedOk = false 
)

Definition at line 280 of file MElement.cpp.

Here is the call graph for this function:

◆ minScaledJacobian()

double MElement::minScaledJacobian ( bool  knownValid = false,
bool  reversedOk = false 
)

Definition at line 289 of file MElement.cpp.

Here is the call graph for this function:

◆ minSICNShapeMeasure()

double MElement::minSICNShapeMeasure ( )
inline

Definition at line 261 of file MElement.h.

Referenced by isElementVisible(), and writePOS().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ minSIGEShapeMeasure()

double MElement::minSIGEShapeMeasure ( )
inline

Definition at line 267 of file MElement.h.

Referenced by isElementVisible(), and writePOS().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ movePointFromElementSpaceToParentSpace()

void MElement::movePointFromElementSpaceToParentSpace ( double &  u,
double &  v,
double &  w 
) const
virtual

Reimplemented in MSubPoint, MSubLine, MSubTriangle, and MSubTetrahedron.

Definition at line 1202 of file MElement.cpp.

Here is the call graph for this function:

◆ movePointFromParentSpaceToElementSpace()

void MElement::movePointFromParentSpaceToElementSpace ( double &  u,
double &  v,
double &  w 
) const
virtual

◆ numCommonNodesInDualGraph()

virtual int MElement::numCommonNodesInDualGraph ( const MElement *const  other) const
pure virtual

◆ numEdge2numVertex()

virtual int MElement::numEdge2numVertex ( int  numEdge,
int  numVert 
) const
inlinevirtual

Reimplemented in MPyramid, MHexahedron, MPrism, MTriangle, MQuadrangle, and MTetrahedron.

Definition at line 179 of file MElement.h.

Referenced by getEdgeInfo(), and getHighOrderEdge().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ownsParent()

virtual bool MElement::ownsParent ( ) const
inlinevirtual

Reimplemented in MSubPoint, MLineChild, MSubLine, MPolygon, MSubTriangle, MPolyhedron, and MSubTetrahedron.

Definition at line 236 of file MElement.h.

Referenced by buildCutMesh(), and copy().

Here is the caller graph for this function:

◆ pnt() [1/3]

void MElement::pnt ( const std::vector< double > &  sf,
SPoint3 p 
) const
virtual

Definition at line 1102 of file MElement.cpp.

Here is the call graph for this function:

◆ pnt() [2/3]

void MElement::pnt ( double  u,
double  v,
double  w,
double *  p 
) const
virtual

Definition at line 1086 of file MElement.cpp.

Here is the call graph for this function:

◆ pnt() [3/3]

void MElement::pnt ( double  u,
double  v,
double  w,
SPoint3 p 
) const
virtual

Definition at line 1072 of file MElement.cpp.

Referenced by _myGetEdgeRep(), _myGetFaceRep(), thermicSolver::computeL2Norm(), elasticitySolver::computeL2Norm(), thermicSolver::computeLagNorm(), GRegion::computeSolidProperties(), helmholtzTerm< double >::elementMatrix(), GMSH_GaussPointsPlugin::execute(), xFemFunctionSpace< T >::f(), LoadTerm< T1 >::get(), LoadTermOnBorder< T1 >::get(), getBezierVerticesCoord(), MLine3::getEdgeRep(), MLineN::getEdgeRep(), MPyramidN::getEdgeRep(), MPolyhedron::getIntegrationPoints(), MPolygon::getIntegrationPoints(), MLineChild::getIntegrationPoints(), MTriangleBorder::getIntegrationPoints(), MLineBorder::getIntegrationPoints(), getNodesCoordNonSerendip(), xFemFunctionSpace< T >::gradf(), SElement::gradNodalFunctions(), interpVerticesInExistingEdge(), MSubTetrahedron::isInside(), MSubTriangle::isInside(), MSubLine::isInside(), MSubPoint::isInside(), MSubTetrahedron::movePointFromElementSpaceToParentSpace(), MSubTriangle::movePointFromElementSpaceToParentSpace(), MSubLine::movePointFromElementSpaceToParentSpace(), movePointFromElementSpaceToParentSpace(), MSubPoint::movePointFromElementSpaceToParentSpace(), MSubTetrahedron::movePointFromParentSpaceToElementSpace(), MSubTriangle::movePointFromParentSpaceToElementSpace(), MSubLine::movePointFromParentSpaceToElementSpace(), movePointFromParentSpaceToElementSpace(), MSubPoint::movePointFromParentSpaceToElementSpace(), femTerm< scalar >::neumannNodalBC(), SElement::nodalFunctions(), and Subdivide().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ primaryPnt()

void MElement::primaryPnt ( double  u,
double  v,
double  w,
SPoint3 p 
)
virtual

Definition at line 1114 of file MElement.cpp.

Here is the call graph for this function:

◆ reverse()

◆ scaledJacRange()

void MElement::scaledJacRange ( double &  jmin,
double &  jmax,
GEntity ge = nullptr 
) const
virtual

Definition at line 298 of file MElement.cpp.

Referenced by distoShapeMeasure().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setDomain()

virtual void MElement::setDomain ( MElement e,
int  i 
)
inlinevirtual

Reimplemented in MLineBorder, MPolygonBorder, and MTriangleBorder.

Definition at line 244 of file MElement.h.

Referenced by copy().

Here is the caller graph for this function:

◆ setParent()

virtual void MElement::setParent ( MElement p,
bool  owner = false 
)
inlinevirtual

Reimplemented in MSubPoint, MLineChild, MSubLine, MPolygon, MSubTriangle, MPolyhedron, and MSubTetrahedron.

Definition at line 232 of file MElement.h.

◆ setPartition()

virtual void MElement::setPartition ( int  num)
inlinevirtual

Definition at line 93 of file MElement.h.

Referenced by GModel::_readMSH4(), modifyInitialMeshForBoundaryLayers(), and GMSH_SimplePartitionPlugin::run().

Here is the caller graph for this function:

◆ setVertex()

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

◆ setVisibility()

virtual void MElement::setVisibility ( char  val)
inlinevirtual

Definition at line 97 of file MElement.h.

Referenced by GMSH_ShowNeighborElementsPlugin::_init(), GMSH_ShowNeighborElementsPlugin::_showLayers(), and GMSH_InvisiblePlugin::execute().

Here is the caller graph for this function:

◆ setVolumePositive()

bool MElement::setVolumePositive ( )
virtual

Reimplemented in MTrihedron.

Definition at line 591 of file MElement.cpp.

Referenced by buildCutMesh().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ signedInvCondNumRange()

void MElement::signedInvCondNumRange ( double &  iCNMin,
double &  iCNMax,
GEntity ge = nullptr 
)
virtual

Definition at line 389 of file MElement.cpp.

Referenced by getInfoString(), and minSICNShapeMeasure().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ signedInvGradErrorRange()

void MElement::signedInvGradErrorRange ( double &  minSIGE,
double &  maxSIGE 
)
virtual

Definition at line 440 of file MElement.cpp.

Referenced by getInfoString(), and minSIGEShapeMeasure().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ skewness()

double MElement::skewness ( )

Definition at line 2751 of file MElement.cpp.

Here is the call graph for this function:

◆ updateParent()

virtual void MElement::updateParent ( GModel gm)
inlinevirtual

Reimplemented in MSubPoint, MSubLine, MSubTriangle, and MSubTetrahedron.

Definition at line 233 of file MElement.h.

◆ writeBDF()

void MElement::writeBDF ( FILE *  fp,
int  format = 0,
int  elementTagType = 1,
int  elementary = 1,
int  physical = 0 
)
virtual

Definition at line 1818 of file MElement.cpp.

Here is the call graph for this function:

◆ writeDIFF()

void MElement::writeDIFF ( FILE *  fp,
int  num,
bool  binary = false,
int  physical_property = 1 
)
virtual

Definition at line 1877 of file MElement.cpp.

Referenced by GModel::writeDIFF().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ writeINP()

void MElement::writeINP ( FILE *  fp,
int  num 
)
virtual

Definition at line 1898 of file MElement.cpp.

Here is the call graph for this function:

◆ writeIR3()

void MElement::writeIR3 ( FILE *  fp,
int  elementTagType,
int  num,
int  elementary,
int  physical 
)
virtual

Definition at line 1800 of file MElement.cpp.

Here is the call graph for this function:

◆ writeKEY()

void MElement::writeKEY ( FILE *  fp,
int  pid,
int  num 
)
virtual

Definition at line 1912 of file MElement.cpp.

Here is the call graph for this function:

◆ writeMATLAB()

void MElement::writeMATLAB ( FILE *  fp,
int  filetype,
int  elementary = 0,
int  physical = 0,
bool  binary = false 
)
virtual

Definition at line 1711 of file MElement.cpp.

Referenced by writeElementsMATLAB().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ writeMESH()

void MElement::writeMESH ( FILE *  fp,
int  elementTagType = 1,
int  elementary = 1,
int  physical = 0 
)
virtual

Definition at line 1766 of file MElement.cpp.

Here is the call graph for this function:

◆ writeMSH2()

void MElement::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

Definition at line 1368 of file MElement.cpp.

Referenced by writeMSH2().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ writeMSH3()

void MElement::writeMSH3 ( FILE *  fp,
bool  binary = false,
int  elementary = 1,
std::vector< short > *  ghosts = nullptr 
)
virtual

Definition at line 1473 of file MElement.cpp.

Referenced by writeElementMSH().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ writeNEU()

void MElement::writeNEU ( FILE *  fp,
unsigned  gambitType,
int  adjust,
int  phys = 0 
)
virtual

Definition at line 1786 of file MElement.cpp.

Here is the call graph for this function:

◆ writePLY2()

void MElement::writePLY2 ( FILE *  fp)
virtual

Definition at line 1661 of file MElement.cpp.

Here is the call graph for this function:

◆ writePOS()

void MElement::writePOS ( FILE *  fp,
bool  printElementary,
bool  printElementNumber,
bool  printSICN,
bool  printSIGE,
bool  printGamma,
bool  printDisto,
double  scalingFactor = 1.0,
int  elementary = 1 
)
virtual

Definition at line 1515 of file MElement.cpp.

Referenced by _removeTwoQuadsNodes().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ writeRAD()

void MElement::writeRAD ( FILE *  fp,
int  num 
)
virtual

Definition at line 1959 of file MElement.cpp.

Here is the call graph for this function:

◆ writeSTL()

void MElement::writeSTL ( FILE *  fp,
bool  binary = false,
double  scalingFactor = 1.0 
)
virtual

Definition at line 1593 of file MElement.cpp.

Here is the call graph for this function:

◆ writeSU2()

void MElement::writeSU2 ( FILE *  fp,
int  num 
)
virtual

Definition at line 2046 of file MElement.cpp.

Here is the call graph for this function:

◆ writeTOCHNOG()

void MElement::writeTOCHNOG ( FILE *  fp,
int  num 
)
virtual

Definition at line 1676 of file MElement.cpp.

Here is the call graph for this function:

◆ writeUNV()

void MElement::writeUNV ( FILE *  fp,
int  num = 0,
int  elementary = 1,
int  physical = 1 
)
virtual

Definition at line 1741 of file MElement.cpp.

Referenced by GModel::writeUNV().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ writeVRML()

void MElement::writeVRML ( FILE *  fp)
virtual

Definition at line 1669 of file MElement.cpp.

Here is the call graph for this function:

◆ writeVTK()

void MElement::writeVTK ( FILE *  fp,
bool  binary = false,
bool  bigEndian = false 
)
virtual

Definition at line 1689 of file MElement.cpp.

Here is the call graph for this function:

◆ writeX3D()

void MElement::writeX3D ( FILE *  fp,
double  scalingFactor = 1.0 
)
virtual

Definition at line 1643 of file MElement.cpp.

Here is the call graph for this function:

◆ xyz2uvw()

void MElement::xyz2uvw ( double  xyz[3],
double  uvw[3] 
) const
virtual

Reimplemented in MTetrahedronN, MSubPoint, MTriangleN, MTetrahedron10, MSubLine, MTriangle6, MSubTriangle, MTetrahedron, MSubTetrahedron, and MTriangle.

Definition at line 1128 of file MElement.cpp.

Referenced by OctreePost::_getValue(), backgroundMesh::getAngle(), MPolyhedron::getIntegrationPoints(), MPolygon::getIntegrationPoints(), MLineChild::getIntegrationPoints(), MSubPoint::getIntegrationPoints(), MTriangleBorder::getIntegrationPoints(), MLineBorder::getIntegrationPoints(), GModel::getMeshElementByCoord(), cartesianBox< scalar >::getValueContainingPoint(), FuncGradDisc::gradient(), MSubTetrahedron::isInside(), MPolyhedron::isInside(), MSubTriangle::isInside(), MSubLine::isInside(), MPolygon::isInside(), MLineChild::isInside(), MSubPoint::isInside(), MTriangleBorder::isInside(), MLineBorder::isInside(), MElementInEle(), MSubTetrahedron::movePointFromElementSpaceToParentSpace(), MSubTriangle::movePointFromElementSpaceToParentSpace(), MSubLine::movePointFromElementSpaceToParentSpace(), movePointFromElementSpaceToParentSpace(), MSubPoint::movePointFromElementSpaceToParentSpace(), MSubTetrahedron::movePointFromParentSpaceToElementSpace(), MSubTriangle::movePointFromParentSpaceToElementSpace(), MSubLine::movePointFromParentSpaceToElementSpace(), movePointFromParentSpaceToElementSpace(), MSubPoint::movePointFromParentSpaceToElementSpace(), FuncGradDisc::operator()(), backgroundMesh::operator()(), meshMetric::operator()(), discreteFace::trianglePosition(), MSubTetrahedron::xyz2uvw(), MSubTriangle::xyz2uvw(), MTriangle6::xyz2uvw(), MSubLine::xyz2uvw(), MTetrahedron10::xyz2uvw(), MTriangleN::xyz2uvw(), MSubPoint::xyz2uvw(), and MTetrahedronN::xyz2uvw().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ _isInsideTolerance

double MElement::_isInsideTolerance
staticprotected

Definition at line 44 of file MElement.h.

◆ _num

std::size_t MElement::_num
private

Definition at line 35 of file MElement.h.

Referenced by forceNum(), getNum(), MElement(), writeBDF(), writeMSH2(), writeNEU(), and writeUNV().

◆ _partition

short MElement::_partition
private

◆ _visible

char MElement::_visible
private

Definition at line 39 of file MElement.h.

Referenced by getVisibility(), and setVisibility().


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