NeoPZ
Public Member Functions | Static Public Member Functions | List of all members
pzgeom::TPZChangeEl Class Reference

Special map. It is util to convert a linear element for quadratic element, but the same topology. Geometry. More...

Public Member Functions

 TPZChangeEl ()
 
 ~TPZChangeEl ()
 

Static Public Member Functions

static TPZGeoElChangeToQuadratic (TPZGeoMesh *Mesh, int64_t ElemIndex)
 Turns an linear geoelement to quadratic. More...
 
static TPZGeoElChangeToGeoBlend (TPZGeoMesh *Mesh, int64_t ElemIndex)
 Turns a regular element into a geoblend. More...
 
static TPZGeoElChangeToQuarterPoint (TPZGeoMesh *Mesh, int64_t ElemIndex, int targetSide)
 Slide middle nodes of an quadratic geoelement to the quarterpoint with respect to a given side. More...
 
static bool NearestNode (TPZGeoEl *gel, TPZVec< REAL > &x, int64_t &meshNode, double tol)
 Return if a given point x is near to some node of a given geo element. More...
 
static int64_t NearestNode (TPZGeoMesh *gmesh, TPZVec< REAL > &x, double tol)
 Return the id of the node into the geometric mesh nearest a given point x. More...
 
static bool CreateMiddleNodeAtEdge (TPZGeoMesh *Mesh, int64_t ElemIndex, int edge, int64_t &middleNodeId)
 

Detailed Description

Special map. It is util to convert a linear element for quadratic element, but the same topology. Geometry.

Author
Paulo Cesar de Alvarenga Lucci (Caju)
Since
2007Also turns slide middle nodes of an quadratic element to the quarterpoint with respect to a indicated side.

Definition at line 24 of file tpzquadraticcube.cpp.

Constructor & Destructor Documentation

◆ TPZChangeEl()

TPZChangeEl::TPZChangeEl ( )

Definition at line 34 of file tpzchangeel.cpp.

◆ ~TPZChangeEl()

TPZChangeEl::~TPZChangeEl ( )

Definition at line 39 of file tpzchangeel.cpp.

Member Function Documentation

◆ ChangeToGeoBlend()

TPZGeoEl * TPZChangeEl::ChangeToGeoBlend ( TPZGeoMesh Mesh,
int64_t  ElemIndex 
)
static

◆ ChangeToQuadratic()

TPZGeoEl * TPZChangeEl::ChangeToQuadratic ( TPZGeoMesh Mesh,
int64_t  ElemIndex 
)
static

◆ ChangeToQuarterPoint()

TPZGeoEl * TPZChangeEl::ChangeToQuarterPoint ( TPZGeoMesh Mesh,
int64_t  ElemIndex,
int  targetSide 
)
static

Slide middle nodes of an quadratic geoelement to the quarterpoint with respect to a given side.

Embora o elemento quadratico possua mais nohs (NNodes), a topologia segue igual ao elemento linear no qual o elemento quadratico foi baseado.

Isso quer dizer que Linear(Geom::NNodes) < Quadratic(Geom::NNodes), mas Linear(Geom::NSides) = Quadratic(Geom::NSides)

Com isso a numeracao dos nohs nos meios das arestas coincide com a numeracao dos lados unidimensionais do elemento.

Definition at line 247 of file tpzchangeel.cpp.

References TPZChangeEl::ChangeToQuadratic(), DebugStop, TPZGeoElSide::Dimension(), dist(), ECube, TPZGeoMesh::ElementVec(), EOned, EPiramide, EPoint, EPrisma, EQuadrilateral, ETetraedro, ETriangle, TPZGeoEl::IsLinearMapping(), TPZGeoEl::NCornerNodes(), TPZVec< T >::NElements(), TPZGeoEl::NodeIndex(), TPZGeoMesh::NodeVec(), TPZGeoEl::NSides(), TPZGeoElSide::SideNodeIndex(), TPZGeoElSide::SideNodeLocIndex(), and TPZGeoEl::Type().

◆ CreateMiddleNodeAtEdge()

bool TPZChangeEl::CreateMiddleNodeAtEdge ( TPZGeoMesh Mesh,
int64_t  ElemIndex,
int  edge,
int64_t &  middleNodeId 
)
static

◆ NearestNode() [1/2]

bool TPZChangeEl::NearestNode ( TPZGeoEl gel,
TPZVec< REAL > &  x,
int64_t &  meshNode,
double  tol 
)
static

Return if a given point x is near to some node of a given geo element.

Parameters
gel[in] given geo element
x[in] given point
meshNode[out] id of node that is in the x range
tol[in] x range radius

Definition at line 458 of file tpzchangeel.cpp.

References dist(), TPZGeoNode::GetCoordinates(), TPZGeoEl::NNodes(), TPZGeoEl::NodeIndex(), TPZGeoEl::NodePtr(), and sqrt.

◆ NearestNode() [2/2]

int64_t TPZChangeEl::NearestNode ( TPZGeoMesh gmesh,
TPZVec< REAL > &  x,
double  tol 
)
static

Return the id of the node into the geometric mesh nearest a given point x.

Parameters
gmesh[in] given geometric mesh
x[in] given point
tol[in] x range radius

Definition at line 489 of file tpzchangeel.cpp.

References DebugStop, dist(), TPZGeoMesh::NNodes(), TPZGeoMesh::NodeVec(), and sqrt.


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