NeoPZ
|
This class performs a series of consistency tests on geometric transformations between elements. Geometry. More...
#include <pzcheckgeom.h>
Public Member Functions | |
TPZCheckGeom (TPZGeoMesh *gmesh=NULL) | |
int | PerformCheck () |
verify compatibility between elements and their father and between elements and their neighbours More... | |
int | DivideandCheck () |
divide all elements and call PerformCheck More... | |
int | CheckElement (TPZGeoEl *gel) |
int | CheckIds () |
int | CheckInternalTransforms (TPZGeoEl *) |
check the internal side transformations More... | |
int | CheckRefinement (TPZGeoEl *gel) |
check the maps between the element and its father More... | |
int | CheckNeighbourMap (TPZGeoEl *gel) |
verify if the mapping between neighbouring elements is conforming More... | |
int | CheckSideTransform (TPZGeoEl *gel, int sidefrom, int sideto) |
int | CheckSubFatherTransform (TPZGeoEl *subel, int sidesub) |
verify if the transformation between sons and father are conforming More... | |
void | CheckUniqueId () |
Verify is the ids of the elements and nodes are unique. More... | |
void | UniformRefine (int nDiv) |
Uniform refine the geometric mesh. More... | |
void | CreateMesh () |
Static Public Member Functions | |
static int | main () |
Private Attributes | |
TPZGeoMesh * | fMesh |
This class performs a series of consistency tests on geometric transformations between elements. Geometry.
Definition at line 16 of file pzcheckgeom.h.
TPZCheckGeom::TPZCheckGeom | ( | TPZGeoMesh * | gmesh = NULL | ) |
Definition at line 16 of file pzcheckgeom.cpp.
int TPZCheckGeom::CheckElement | ( | TPZGeoEl * | gel | ) |
Definition at line 19 of file pzcheckgeom.cpp.
References CheckInternalTransforms(), CheckNeighbourMap(), and CheckRefinement().
Referenced by PerformCheck().
int TPZCheckGeom::CheckIds | ( | ) |
Definition at line 65 of file pzcheckgeom.cpp.
References TPZGeoMesh::ElementVec(), fMesh, TPZGeoMesh::NElements(), TPZGeoMesh::NNodes(), and TPZGeoMesh::NodeVec().
Referenced by TPZCompMesh::AutoBuild(), TPZCompMesh::AutoBuildContDisc(), and PerformCheck().
int TPZCheckGeom::CheckInternalTransforms | ( | TPZGeoEl * | gel | ) |
check the internal side transformations
Definition at line 29 of file pzcheckgeom.cpp.
References TPZGeoEl::AllHigherDimensionSides(), CheckSideTransform(), TPZGeoEl::Dimension(), TPZVec< T >::NElements(), TPZGeoEl::NSides(), and TPZGeoEl::SideDimension().
Referenced by CheckElement().
int TPZCheckGeom::CheckNeighbourMap | ( | TPZGeoEl * | gel | ) |
verify if the mapping between neighbouring elements is conforming
Definition at line 356 of file pzcheckgeom.cpp.
References TPZTransform< T >::Apply(), TPZGeoEl::CreateSideIntegrationRule(), TPZGeoElSide::Neighbour(), TPZIntPoints::NPoints(), TPZGeoEl::NSides(), TPZIntPoints::Point(), TPZGeoElSide::Print(), TPZGeoEl::SideDimension(), TPZGeoElSide::SideTransform3(), and TPZGeoElSide::X().
Referenced by CheckElement().
int TPZCheckGeom::CheckRefinement | ( | TPZGeoEl * | gel | ) |
check the maps between the element and its father
Definition at line 107 of file pzcheckgeom.cpp.
References CheckSubFatherTransform(), TPZGeoEl::GetSubElements2(), TPZGeoEl::HasSubElement(), TPZVec< T >::NElements(), TPZGeoEl::NSides(), nsub, TPZGeoEl::NSubElements(), TPZGeoEl::Print(), PZError, TPZGeoElSide::Side(), and TPZGeoEl::SubElement().
Referenced by CheckElement(), and TPZCheckRestraint::Diagnose().
int TPZCheckGeom::CheckSideTransform | ( | TPZGeoEl * | gel, |
int | sidefrom, | ||
int | sideto | ||
) |
Definition at line 143 of file pzcheckgeom.cpp.
References TPZTransform< T >::Apply(), TPZGeoEl::CreateSideIntegrationRule(), TPZGeoEl::Dimension(), TPZIntPoints::NPoints(), TPZGeoEl::NSides(), TPZIntPoints::Point(), TPZGeoEl::Print(), PZError, TPZGeoEl::SideDimension(), TPZGeoEl::SideToSideTransform(), and TPZGeoEl::X().
Referenced by CheckInternalTransforms().
int TPZCheckGeom::CheckSubFatherTransform | ( | TPZGeoEl * | subel, |
int | sidesub | ||
) |
verify if the transformation between sons and father are conforming
Definition at line 183 of file pzcheckgeom.cpp.
References TPZTransform< T >::Apply(), TPZGeoEl::BuildTransform2(), TPZTransform< T >::CompareTransform(), TPZGeoEl::ComputeParamTrans(), TPZGeoEl::CreateSideIntegrationRule(), TPZGeoElSide::Dimension(), TPZGeoEl::Dimension(), TPZGeoElSide::Element(), TPZGeoElSide::Exists(), TPZGeoEl::Father2(), TPZIntPoints::NPoints(), TPZGeoEl::NSides(), TPZIntPoints::Point(), TPZTransform< T >::PrintInputForm(), PZError, TPZGeoElSide::Side(), TPZGeoEl::SideDimension(), TPZGeoEl::SideToSideTransform(), TPZGeoEl::WhichSide(), TPZGeoEl::WhichSubel(), and TPZGeoEl::X().
Referenced by CheckRefinement(), and TPZCheckRestraint::Diagnose().
void TPZCheckGeom::CheckUniqueId | ( | ) |
Verify is the ids of the elements and nodes are unique.
Definition at line 400 of file pzcheckgeom.cpp.
References DebugStop, TPZGeoMesh::Element(), fMesh, TPZGeoEl::Id(), TPZGeoMesh::NElements(), TPZGeoMesh::NNodes(), and TPZGeoMesh::NodeVec().
Referenced by TPZCompMesh::AutoBuild().
void TPZCheckGeom::CreateMesh | ( | ) |
Definition at line 302 of file pzcheckgeom.cpp.
References TPZAdmChunkVector< T, EXP >::AllocateNewElement(), TPZGeoMesh::BuildConnectivity(), TPZGeoMesh::CreateGeoElement(), DebugStop, ECube, EOned, EPiramide, EPrisma, EQuadrilateral, ETetraedro, ETriangle, fMesh, nodeco, TPZGeoMesh::NodeVec(), nodind, numnos, and TPZVec< T >::Resize().
Referenced by main().
int TPZCheckGeom::DivideandCheck | ( | ) |
divide all elements and call PerformCheck
Definition at line 52 of file pzcheckgeom.cpp.
References TPZGeoEl::Divide(), TPZGeoMesh::ElementVec(), fMesh, TPZGeoMesh::NElements(), and PerformCheck().
Referenced by main().
|
static |
Definition at line 266 of file pzcheckgeom.cpp.
References CreateMesh(), DivideandCheck(), fMesh, and TPZGeoMesh::Print().
int TPZCheckGeom::PerformCheck | ( | ) |
verify compatibility between elements and their father and between elements and their neighbours
Definition at line 93 of file pzcheckgeom.cpp.
References CheckElement(), CheckIds(), TPZGeoMesh::ElementVec(), fMesh, and TPZGeoMesh::NElements().
Referenced by DivideandCheck().
void TPZCheckGeom::UniformRefine | ( | int | nDiv | ) |
Uniform refine the geometric mesh.
Definition at line 435 of file pzcheckgeom.cpp.
References TPZGeoEl::Divide(), TPZGeoMesh::ElementVec(), fMesh, TPZGeoEl::HasSubElement(), and TPZGeoMesh::NElements().
Referenced by MalhaGeom().
|
private |
Definition at line 18 of file pzcheckgeom.h.
Referenced by CheckIds(), CheckUniqueId(), CreateMesh(), DivideandCheck(), main(), PerformCheck(), and UniformRefine().