NeoPZ
|
#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"
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) |
|
inline |
Definition at line 239 of file pzgeom_utility.h.
References DebugStop, ECube, EOned, EPiramide, EPoint, EPrisma, EQuadrilateral, ETetraedro, ETriangle, pztopology::GetTolerance(), MElementType_Name(), PZError, pzgeom::tol, pztopology::TPZPoint::TShape(), pztopology::TPZLine::TShape(), pztopology::TPZTetrahedron::TShape(), pztopology::TPZTriangle::TShape(), pztopology::TPZPyramid::TShape(), pztopology::TPZCube::TShape(), pztopology::TPZPrism::TShape(), and pztopology::TPZQuadrilateral::TShape().
Referenced by ProjectBissectionInParametricDomain().
|
inline |
Verifies if pt (in parametric domain of the side) is within boundaries.
Definition at line 278 of file pzgeom_utility.h.
References DebugStop, ECube, EOned, EPiramide, EPoint, EPrisma, EQuadrilateral, ETetraedro, ETriangle, pztopology::TPZTetrahedron::IsInParametricDomain(), pztopology::TPZPyramid::IsInParametricDomain(), pztopology::TPZTriangle::IsInParametricDomain(), pztopology::TPZCube::IsInParametricDomain(), pztopology::TPZPrism::IsInParametricDomain(), pztopology::TPZLine::IsInParametricDomain(), pztopology::TPZQuadrilateral::IsInParametricDomain(), pztopology::TPZPoint::IsInParametricDomain(), and PZError.
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 to side is
Come back from side is to
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().
int ProjectInParametricDomain | ( | TPZVec< REAL > & | qsi, |
TPZVec< REAL > & | qsiInDomain | ||
) |
Projects point pt (in parametric coordinate system) in the element parametric domain.
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
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().