NeoPZ
|
#include <TPZAcademicGeoMesh.h>
Public Types | |
enum | MMeshType { ENone, EHexa, EPrism, ETetrahedra, EPyramid } |
Public Member Functions | |
TPZAcademicGeoMesh () | |
sets up parameters to create de hexahedral regular mesh More... | |
TPZAcademicGeoMesh (int numelements, MMeshType meshtype, bool deform=false) | |
sets up parameters to create de hexahedral regular mesh More... | |
void | SetMeshType (MMeshType meshtype) |
set the meshtype acording to the enumerate values More... | |
void | SetBoundaryIndices (TPZVec< int > &BCNumbers) |
set the boundary numbers on the sides of the cube More... | |
void | ShouldDeform (bool deform) |
toggle between regular or deformed mesh More... | |
void | SetNumberElements (int64_t numelements) |
set the number of elements in any direction More... | |
void | SetMaterialId (int id) |
set the material id to be used More... | |
TPZGeoMesh * | CreateGeoMesh () |
create a geometric mesh acording to the parameters of the object More... | |
TPZGeoMesh * | PyramidalAndTetrahedralMesh () |
TPZGeoMesh * | RedBlackPyramidalAndHexagonalMesh () |
TPZGeoMesh * | TetrahedralMesh () |
void | SetBCIDVector (TPZVec< int > &BCNumbers) |
Public Attributes | |
TPZGeoMesh | fDeformed |
Static Public Attributes | |
static TPZManVector< REAL, 3 > | fX0 |
static TPZManVector< REAL, 3 > | fEps |
Protected Member Functions | |
void | GenerateNodes (TPZGeoMesh *gmesh) |
put the geometric nodes in the geometric mesh More... | |
void | DeformGMesh (TPZGeoMesh &gmesh) |
Deform the geometric mesh according to the coordinates of fDeformed. More... | |
TPZGeoMesh * | HexahedralMesh () |
TPZGeoMesh * | TetrahedralMeshUsingRefinement () |
int | AddBoundaryElements (TPZGeoMesh *gmesh) |
int | AddBoundaryElementsByCoord (TPZGeoMesh *gmesh) |
void | CheckConsistency (TPZGeoMesh *gmesh) |
verify if the faces without neighbour should be orthogonal to the main planes More... | |
Protected Attributes | |
MMeshType | fMeshType |
type of mesh that should be generated More... | |
TPZManVector< int, 6 > | fBCNumbers |
indices of the boundary conditions More... | |
bool | fShouldDeform |
whether the mesh should be deformed or not More... | |
int64_t | fNumberElements |
number of elements in any direction More... | |
int | fMaterialId |
material index for volume elements More... | |
Definition at line 19 of file TPZAcademicGeoMesh.h.
Enumerator | |
---|---|
ENone | |
EHexa | |
EPrism | |
ETetrahedra | |
EPyramid |
Definition at line 26 of file TPZAcademicGeoMesh.h.
TPZAcademicGeoMesh::TPZAcademicGeoMesh | ( | ) |
sets up parameters to create de hexahedral regular mesh
Initialiazing file for Log4CXX for this project
Definition at line 42 of file TPZAcademicGeoMesh.cpp.
References TPZGeoMesh::CreateGeoElement(), ECube, fDeformed, TPZGeoMesh::NodeVec(), and TPZAdmChunkVector< T, EXP >::Resize().
|
inline |
sets up parameters to create de hexahedral regular mesh
Definition at line 68 of file TPZAcademicGeoMesh.h.
|
protected |
Definition at line 453 of file TPZAcademicGeoMesh.cpp.
References DebugStop, TPZGeoElSide::Dimension(), TPZGeoMesh::ElementVec(), fabs, fBCNumbers, TPZGeoElSide::Jacobian(), TPZGeoElSide::Neighbour(), TPZGeoMesh::NElements(), TPZGeoEl::NSides(), and pzgeom::tol.
Referenced by HexahedralMesh(), RedBlackPyramidalAndHexagonalMesh(), and TetrahedralMesh().
|
protected |
Definition at line 527 of file TPZAcademicGeoMesh.cpp.
References DebugStop, TPZGeoElSide::Dimension(), TPZGeoMesh::ElementVec(), fabs, fBCNumbers, TPZGeoElSide::Jacobian(), TPZGeoElSide::Neighbour(), TPZGeoMesh::NElements(), TPZGeoMesh::NodeVec(), TPZGeoElSide::NSideNodes(), TPZGeoEl::NSides(), TPZGeoElSide::SideNodeIndex(), and pzgeom::tol.
Referenced by PyramidalAndTetrahedralMesh().
|
protected |
verify if the faces without neighbour should be orthogonal to the main planes
Definition at line 404 of file TPZAcademicGeoMesh.cpp.
References TPZGeoElSide::CenterPoint(), DebugStop, TPZGeoElSide::Dimension(), TPZGeoMesh::ElementVec(), fabs, TPZGeoElSide::Jacobian(), TPZGeoElSide::Neighbour(), TPZGeoMesh::NElements(), TPZGeoEl::NSides(), pzgeom::tol, and TPZGeoElSide::X().
|
inline |
create a geometric mesh acording to the parameters of the object
Definition at line 113 of file TPZAcademicGeoMesh.h.
References DebugStop, EHexa, EPrism, EPyramid, ETetrahedra, HexahedralMesh(), PyramidalAndTetrahedralMesh(), RedBlackPyramidalAndHexagonalMesh(), and TetrahedralMesh().
|
protected |
Deform the geometric mesh according to the coordinates of fDeformed.
Definition at line 75 of file TPZAcademicGeoMesh.cpp.
References TPZGeoMesh::ElementVec(), fDeformed, TPZChunkVector< T, EXP >::NElements(), and TPZGeoMesh::NodeVec().
Referenced by HexahedralMesh(), PyramidalAndTetrahedralMesh(), RedBlackPyramidalAndHexagonalMesh(), and TetrahedralMesh().
|
protected |
put the geometric nodes in the geometric mesh
Definition at line 116 of file TPZAcademicGeoMesh.cpp.
References fNumberElements, TPZGeoMesh::NodeVec(), and TPZAdmChunkVector< T, EXP >::Resize().
Referenced by HexahedralMesh(), PyramidalAndTetrahedralMesh(), RedBlackPyramidalAndHexagonalMesh(), and TetrahedralMesh().
|
protected |
Constructing geometrical mesh depends on type of element wished.
Definition at line 362 of file TPZAcademicGeoMesh.cpp.
References AddBoundaryElements(), TPZGeoMesh::BuildConnectivity(), TPZGeoMesh::CreateGeoElement(), DeformGMesh(), ECube, fMaterialId, fNumberElements, fShouldDeform, GenerateNodes(), LOGPZ_DEBUG, and TPZGeoMesh::SetDimension().
Referenced by CreateGeoMesh().
TPZGeoMesh * TPZAcademicGeoMesh::PyramidalAndTetrahedralMesh | ( | ) |
Definition at line 133 of file TPZAcademicGeoMesh.cpp.
References AddBoundaryElementsByCoord(), TPZGeoMesh::BuildConnectivity(), TPZGeoMesh::CreateGeoElement(), DeformGMesh(), EPiramide, ETetraedro, fMaterialId, fNumberElements, fShouldDeform, GenerateNodes(), LOGPZ_DEBUG, TPZVec< T >::resize(), and TPZGeoMesh::SetDimension().
Referenced by CreateGeoMesh().
TPZGeoMesh * TPZAcademicGeoMesh::RedBlackPyramidalAndHexagonalMesh | ( | ) |
Definition at line 188 of file TPZAcademicGeoMesh.cpp.
References AddBoundaryElements(), TPZGeoMesh::BuildConnectivity(), TPZGeoMesh::CreateGeoElement(), DeformGMesh(), dx(), ECube, EPiramide, fMaterialId, fNumberElements, fShouldDeform, GenerateNodes(), TPZGeoMesh::NNodes(), TPZGeoMesh::NodeVec(), TPZStack< T, NumExtAlloc >::push_back(), TPZAdmChunkVector< T, EXP >::Resize(), and TPZGeoMesh::SetDimension().
Referenced by CreateGeoMesh().
|
inline |
Sets the bc id vector for the hexaedral mesh
BCNumbers | id of bcs with order and location on global mesh 0: x = 0 1: y = 0 2: z = 0 3: x = 1 4: y = 1 5: z = 1 |
Definition at line 152 of file TPZAcademicGeoMesh.h.
References DebugStop, and TPZVec< T >::size().
void TPZAcademicGeoMesh::SetBoundaryIndices | ( | TPZVec< int > & | BCNumbers | ) |
set the boundary numbers on the sides of the cube
Referenced by SetMeshType().
|
inline |
set the material id to be used
Definition at line 101 of file TPZAcademicGeoMesh.h.
References DebugStop.
|
inline |
set the meshtype acording to the enumerate values
Definition at line 75 of file TPZAcademicGeoMesh.h.
References DebugStop, ENone, SetBoundaryIndices(), and ShouldDeform().
|
inline |
set the number of elements in any direction
Definition at line 90 of file TPZAcademicGeoMesh.h.
References DebugStop.
void TPZAcademicGeoMesh::ShouldDeform | ( | bool | deform | ) |
toggle between regular or deformed mesh
Referenced by SetMeshType().
TPZGeoMesh * TPZAcademicGeoMesh::TetrahedralMesh | ( | ) |
Definition at line 313 of file TPZAcademicGeoMesh.cpp.
References AddBoundaryElements(), TPZGeoMesh::BuildConnectivity(), TPZGeoMesh::CreateGeoElement(), DeformGMesh(), ETetraedro, fMaterialId, fNumberElements, fShouldDeform, GenerateNodes(), LOGPZ_DEBUG, and TPZGeoMesh::SetDimension().
Referenced by CreateGeoMesh().
|
protected |
|
protected |
indices of the boundary conditions
Definition at line 34 of file TPZAcademicGeoMesh.h.
Referenced by AddBoundaryElements(), and AddBoundaryElementsByCoord().
TPZGeoMesh TPZAcademicGeoMesh::fDeformed |
Definition at line 24 of file TPZAcademicGeoMesh.h.
Referenced by DeformGMesh(), and TPZAcademicGeoMesh().
|
static |
Definition at line 22 of file TPZAcademicGeoMesh.h.
|
protected |
material index for volume elements
Definition at line 43 of file TPZAcademicGeoMesh.h.
Referenced by HexahedralMesh(), PyramidalAndTetrahedralMesh(), RedBlackPyramidalAndHexagonalMesh(), and TetrahedralMesh().
|
protected |
type of mesh that should be generated
Definition at line 31 of file TPZAcademicGeoMesh.h.
|
protected |
number of elements in any direction
Definition at line 40 of file TPZAcademicGeoMesh.h.
Referenced by GenerateNodes(), HexahedralMesh(), PyramidalAndTetrahedralMesh(), RedBlackPyramidalAndHexagonalMesh(), and TetrahedralMesh().
|
protected |
whether the mesh should be deformed or not
Definition at line 37 of file TPZAcademicGeoMesh.h.
Referenced by HexahedralMesh(), PyramidalAndTetrahedralMesh(), RedBlackPyramidalAndHexagonalMesh(), and TetrahedralMesh().
|
static |
Definition at line 22 of file TPZAcademicGeoMesh.h.