NeoPZ
Functions
pzgeom_utility.h File Reference
#include <stdio.h>
#include "pzgeoel.h"
#include "pzgnode.h"
#include "tpzpoint.h"
#include "tpzline.h"
#include "tpztriangle.h"
#include "tpzquadrilateral.h"
#include "tpzpyramid.h"
#include "tpztetrahedron.h"
#include "tpzcube.h"
#include "tpzprism.h"
#include "TPZGeoLinear.h"
#include "pzgeoquad.h"
#include "pzgeotriangle.h"
#include "pzgeopoint.h"
#include "pzgeoprism.h"
#include "TPZGeoCube.h"
#include "pzgeotetrahedra.h"
#include "pzgeopyramid.h"
Include dependency graph for pzgeom_utility.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

template<class Topology >
bool IsInSideParametricDomain (int side, const TPZVec< REAL > &pt, REAL tol)
 Verifies if pt (in parametric domain of the side) is within boundaries. More...
 
template<class Topology >
int ProjectInParametricDomain (TPZVec< REAL > &qsi, TPZVec< REAL > &qsiInDomain)
 Projects point pt (in parametric coordinate system) in the element parametric domain. More...
 
template<class Topology >
int ProjectBissectionInParametricDomain (TPZVec< REAL > &qsi, TPZVec< REAL > &qsiInDomain)
 
template<class Topology >
void GetSideShapeFunction (int side, TPZVec< REAL > &qsiSide, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi)
 

Function Documentation

◆ GetSideShapeFunction()

template<class Topology >
void GetSideShapeFunction ( int  side,
TPZVec< REAL > &  qsiSide,
TPZFMatrix< REAL > &  phi,
TPZFMatrix< REAL > &  dphi 
)
inline

◆ IsInSideParametricDomain()

template<class Topology >
bool IsInSideParametricDomain ( int  side,
const TPZVec< REAL > &  pt,
REAL  tol 
)
inline

◆ ProjectBissectionInParametricDomain()

template<class Topology >
int ProjectBissectionInParametricDomain ( TPZVec< REAL > &  qsi,
TPZVec< REAL > &  qsiInDomain 
)

it is already in the domain

first, will be made a project to center direction

found in witch side the projection belongs

Go orthogonally from $ NSides-1 $ to side is

Come back from side is to $ NSides-1 $

Compare ptInDomain to transformed point

Closest side

Definition at line 110 of file pzgeom_utility.h.

References TPZTransform< T >::Apply(), DebugStop, dist(), ECube, EOned, EPiramide, EPoint, EPrisma, EQuadrilateral, ETetraedro, ETriangle, GetSideShapeFunction(), MElementType_Name(), PZError, TPZVec< T >::Resize(), sqrt, pzgeom::tol, pztopology::TPZPoint::TShape(), pztopology::TPZLine::TShape(), pztopology::TPZTetrahedron::TShape(), pztopology::TPZPyramid::TShape(), pztopology::TPZTriangle::TShape(), pztopology::TPZPrism::TShape(), pztopology::TPZCube::TShape(), and pztopology::TPZQuadrilateral::TShape().

◆ ProjectInParametricDomain()

template<class Topology >
int ProjectInParametricDomain ( TPZVec< REAL > &  qsi,
TPZVec< REAL > &  qsiInDomain 
)

Projects point pt (in parametric coordinate system) in the element parametric domain.

Returns
Returns the side where the point was projected.
Note
Observe that if the point is already in the parametric domain, the method will return $ NSides() - 1 $

it is already in the domain

Go from NSides-1 to side is

Check if the point is within side boundaries

Come back from side is to $ NSides-1 $

Compare original to mapped point

The closest side point to the original is the projected point

Definition at line 62 of file pzgeom_utility.h.

References TPZTransform< T >::Apply(), TPZVec< T >::NElements(), sqrt, and val().