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

#include <shapeFunctions.h>

Inheritance diagram for element:

Public Member Functions

 element (double *x, double *y, double *z, int numNodes=0)
 
virtual ~element ()
 
virtual void getXYZ (int num, double &x, double &y, double &z)
 
double getTolerance () const
 
virtual int getDimension ()=0
 
virtual int getNumNodes ()=0
 
virtual void getNode (int num, double &u, double &v, double &w)=0
 
virtual int getNumEdges ()=0
 
virtual void getEdge (int num, int &start, int &end)=0
 
virtual int getNumGaussPoints ()=0
 
virtual void getGaussPoint (int num, double &u, double &v, double &w, double &weight)=0
 
virtual void getShapeFunction (int num, double u, double v, double w, double &s)=0
 
virtual void getGradShapeFunction (int num, double u, double v, double w, double s[3])=0
 
double getJacobian (double u, double v, double w, double jac[3][3])
 
double interpolate (double val[], double u, double v, double w, int stride=1)
 
void interpolateGrad (double val[], double u, double v, double w, double f[3], int stride=1, double invjac[3][3]=nullptr)
 
void interpolateCurl (double val[], double u, double v, double w, double f[3], int stride=3)
 
double interpolateDiv (double val[], double u, double v, double w, int stride=3)
 
double integrate (double val[], int stride=1)
 
double integrateLevelsetPositive (double val[])
 
virtual double integrateCirculation (double val[])
 
virtual double integrateFlux (double val[])
 
virtual void xyz2uvw (double xyz[3], double uvw[3])
 
virtual int isInside (double u, double v, double w)=0
 
double maxEdgeLength ()
 

Protected Attributes

bool _ownData
 
double * _x
 
double * _y
 
double * _z
 

Detailed Description

Definition at line 12 of file shapeFunctions.h.

Constructor & Destructor Documentation

◆ element()

element::element ( double *  x,
double *  y,
double *  z,
int  numNodes = 0 
)
inline

Definition at line 18 of file shapeFunctions.h.

◆ ~element()

virtual element::~element ( )
inlinevirtual

Definition at line 38 of file shapeFunctions.h.

Member Function Documentation

◆ getDimension()

virtual int element::getDimension ( )
pure virtual

Implemented in pyramid, prism, hexahedron, tetrahedron, quadrangle, triangle, line, and point.

Referenced by getJacobian().

Here is the caller graph for this function:

◆ getEdge()

virtual void element::getEdge ( int  num,
int &  start,
int &  end 
)
pure virtual

Implemented in pyramid, prism, hexahedron, tetrahedron, quadrangle, triangle, line, and point.

Referenced by maxEdgeLength().

Here is the caller graph for this function:

◆ getGaussPoint()

virtual void element::getGaussPoint ( int  num,
double &  u,
double &  v,
double &  w,
double &  weight 
)
pure virtual

Implemented in pyramid, prism, hexahedron, tetrahedron, quadrangle, triangle, line, and point.

Referenced by integrate().

Here is the caller graph for this function:

◆ getGradShapeFunction()

virtual void element::getGradShapeFunction ( int  num,
double  u,
double  v,
double  w,
double  s[3] 
)
pure virtual

Implemented in pyramid, prism, hexahedron, tetrahedron, quadrangle, triangle, line, and point.

Referenced by getJacobian(), and interpolateGrad().

Here is the caller graph for this function:

◆ getJacobian()

double element::getJacobian ( double  u,
double  v,
double  w,
double  jac[3][3] 
)
inline

Definition at line 66 of file shapeFunctions.h.

Referenced by integrate(), interpolateCurl(), interpolateDiv(), interpolateGrad(), and xyz2uvw().

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

◆ getNode()

virtual void element::getNode ( int  num,
double &  u,
double &  v,
double &  w 
)
pure virtual

Implemented in pyramid, prism, hexahedron, tetrahedron, quadrangle, triangle, line, and point.

Referenced by GMSH_CurlPlugin::execute(), GMSH_GradientPlugin::execute(), and GMSH_DivergencePlugin::execute().

Here is the caller graph for this function:

◆ getNumEdges()

virtual int element::getNumEdges ( )
pure virtual

Implemented in pyramid, prism, hexahedron, tetrahedron, quadrangle, triangle, line, and point.

Referenced by GMSH_CurvedBndDistPlugin::execute(), and maxEdgeLength().

Here is the caller graph for this function:

◆ getNumGaussPoints()

virtual int element::getNumGaussPoints ( )
pure virtual

Implemented in pyramid, prism, hexahedron, tetrahedron, quadrangle, triangle, line, and point.

Referenced by integrate().

Here is the caller graph for this function:

◆ getNumNodes()

virtual int element::getNumNodes ( )
pure virtual

◆ getShapeFunction()

virtual void element::getShapeFunction ( int  num,
double  u,
double  v,
double  w,
double &  s 
)
pure virtual

Implemented in pyramid, prism, hexahedron, tetrahedron, quadrangle, triangle, line, and point.

Referenced by interpolate(), and xyz2uvw().

Here is the caller graph for this function:

◆ getTolerance()

double element::getTolerance ( ) const

Definition at line 9 of file shapeFunctions.cpp.

Referenced by point::isInside(), line::isInside(), triangle::isInside(), quadrangle::isInside(), tetrahedron::isInside(), hexahedron::isInside(), prism::isInside(), and pyramid::isInside().

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

◆ getXYZ()

virtual void element::getXYZ ( int  num,
double &  x,
double &  y,
double &  z 
)
inlinevirtual

Definition at line 46 of file shapeFunctions.h.

Referenced by GMSH_NearToFarFieldPlugin::getFarFieldJin(), and GMSH_NearToFarFieldPlugin::getFarFieldMonk().

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

◆ integrate()

double element::integrate ( double  val[],
int  stride = 1 
)
inline

◆ integrateCirculation()

virtual double element::integrateCirculation ( double  val[])
inlinevirtual

Reimplemented in line.

Definition at line 238 of file shapeFunctions.h.

Referenced by GMSH_IntegratePlugin::execute().

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

◆ integrateFlux()

virtual double element::integrateFlux ( double  val[])
inlinevirtual

Reimplemented in quadrangle, and triangle.

Definition at line 243 of file shapeFunctions.h.

Referenced by GMSH_IntegratePlugin::execute().

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

◆ integrateLevelsetPositive()

double element::integrateLevelsetPositive ( double  val[])
inline

Definition at line 224 of file shapeFunctions.h.

Here is the call graph for this function:

◆ interpolate()

double element::interpolate ( double  val[],
double  u,
double  v,
double  w,
int  stride = 1 
)
inline

Definition at line 155 of file shapeFunctions.h.

Referenced by OctreePost::_getValue(), approximationError(), and integrate().

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

◆ interpolateCurl()

void element::interpolateCurl ( double  val[],
double  u,
double  v,
double  w,
double  f[3],
int  stride = 3 
)
inline

Definition at line 188 of file shapeFunctions.h.

Referenced by GMSH_CurlPlugin::execute().

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

◆ interpolateDiv()

double element::interpolateDiv ( double  val[],
double  u,
double  v,
double  w,
int  stride = 3 
)
inline

Definition at line 201 of file shapeFunctions.h.

Referenced by GMSH_DivergencePlugin::execute().

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

◆ interpolateGrad()

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

Definition at line 167 of file shapeFunctions.h.

Referenced by OctreePost::_getValue(), GMSH_GradientPlugin::execute(), interpolateCurl(), and interpolateDiv().

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

◆ isInside()

virtual int element::isInside ( double  u,
double  v,
double  w 
)
pure virtual

◆ maxEdgeLength()

double element::maxEdgeLength ( )
inline

Definition at line 290 of file shapeFunctions.h.

Referenced by OctreePost::_getValue().

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

◆ xyz2uvw()

virtual void element::xyz2uvw ( double  xyz[3],
double  uvw[3] 
)
inlinevirtual

Reimplemented in tetrahedron, triangle, and point.

Definition at line 248 of file shapeFunctions.h.

Referenced by OctreePost::_getValue(), hexInEle(), linInEle(), priInEle(), pyrInEle(), and quaInEle().

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

Member Data Documentation

◆ _ownData

bool element::_ownData
protected

Definition at line 14 of file shapeFunctions.h.

Referenced by element(), and ~element().

◆ _x

◆ _y

◆ _z


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