NeoPZ
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
TPZAcademicGeoMesh Class Reference

#include <TPZAcademicGeoMesh.h>

Collaboration diagram for TPZAcademicGeoMesh:
[legend]

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...
 
TPZGeoMeshCreateGeoMesh ()
 create a geometric mesh acording to the parameters of the object More...
 
TPZGeoMeshPyramidalAndTetrahedralMesh ()
 
TPZGeoMeshRedBlackPyramidalAndHexagonalMesh ()
 
TPZGeoMeshTetrahedralMesh ()
 
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...
 
TPZGeoMeshHexahedralMesh ()
 
TPZGeoMeshTetrahedralMeshUsingRefinement ()
 
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...
 

Detailed Description

Definition at line 19 of file TPZAcademicGeoMesh.h.

Member Enumeration Documentation

◆ MMeshType

Enumerator
ENone 
EHexa 
EPrism 
ETetrahedra 
EPyramid 

Definition at line 26 of file TPZAcademicGeoMesh.h.

Constructor & Destructor Documentation

◆ TPZAcademicGeoMesh() [1/2]

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().

◆ TPZAcademicGeoMesh() [2/2]

TPZAcademicGeoMesh::TPZAcademicGeoMesh ( int  numelements,
MMeshType  meshtype,
bool  deform = false 
)
inline

sets up parameters to create de hexahedral regular mesh

Definition at line 68 of file TPZAcademicGeoMesh.h.

Member Function Documentation

◆ AddBoundaryElements()

int TPZAcademicGeoMesh::AddBoundaryElements ( TPZGeoMesh gmesh)
protected

◆ AddBoundaryElementsByCoord()

int TPZAcademicGeoMesh::AddBoundaryElementsByCoord ( TPZGeoMesh gmesh)
protected

◆ CheckConsistency()

void TPZAcademicGeoMesh::CheckConsistency ( TPZGeoMesh gmesh)
protected

◆ CreateGeoMesh()

TPZGeoMesh* TPZAcademicGeoMesh::CreateGeoMesh ( )
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().

◆ DeformGMesh()

void TPZAcademicGeoMesh::DeformGMesh ( TPZGeoMesh gmesh)
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().

◆ GenerateNodes()

void TPZAcademicGeoMesh::GenerateNodes ( TPZGeoMesh gmesh)
protected

◆ HexahedralMesh()

TPZGeoMesh * TPZAcademicGeoMesh::HexahedralMesh ( )
protected

◆ PyramidalAndTetrahedralMesh()

TPZGeoMesh * TPZAcademicGeoMesh::PyramidalAndTetrahedralMesh ( )

◆ RedBlackPyramidalAndHexagonalMesh()

TPZGeoMesh * TPZAcademicGeoMesh::RedBlackPyramidalAndHexagonalMesh ( )

◆ SetBCIDVector()

void TPZAcademicGeoMesh::SetBCIDVector ( TPZVec< int > &  BCNumbers)
inline

Sets the bc id vector for the hexaedral mesh

Parameters
BCNumbersid 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().

◆ SetBoundaryIndices()

void TPZAcademicGeoMesh::SetBoundaryIndices ( TPZVec< int > &  BCNumbers)

set the boundary numbers on the sides of the cube

Referenced by SetMeshType().

◆ SetMaterialId()

void TPZAcademicGeoMesh::SetMaterialId ( int  id)
inline

set the material id to be used

Definition at line 101 of file TPZAcademicGeoMesh.h.

References DebugStop.

◆ SetMeshType()

void TPZAcademicGeoMesh::SetMeshType ( MMeshType  meshtype)
inline

set the meshtype acording to the enumerate values

Definition at line 75 of file TPZAcademicGeoMesh.h.

References DebugStop, ENone, SetBoundaryIndices(), and ShouldDeform().

◆ SetNumberElements()

void TPZAcademicGeoMesh::SetNumberElements ( int64_t  numelements)
inline

set the number of elements in any direction

Definition at line 90 of file TPZAcademicGeoMesh.h.

References DebugStop.

◆ ShouldDeform()

void TPZAcademicGeoMesh::ShouldDeform ( bool  deform)

toggle between regular or deformed mesh

Referenced by SetMeshType().

◆ TetrahedralMesh()

TPZGeoMesh * TPZAcademicGeoMesh::TetrahedralMesh ( )

◆ TetrahedralMeshUsingRefinement()

TPZGeoMesh* TPZAcademicGeoMesh::TetrahedralMeshUsingRefinement ( )
protected

Member Data Documentation

◆ fBCNumbers

TPZManVector<int,6> TPZAcademicGeoMesh::fBCNumbers
protected

indices of the boundary conditions

Definition at line 34 of file TPZAcademicGeoMesh.h.

Referenced by AddBoundaryElements(), and AddBoundaryElementsByCoord().

◆ fDeformed

TPZGeoMesh TPZAcademicGeoMesh::fDeformed

Definition at line 24 of file TPZAcademicGeoMesh.h.

Referenced by DeformGMesh(), and TPZAcademicGeoMesh().

◆ fEps

TPZManVector<REAL,3> TPZAcademicGeoMesh::fEps
static

Definition at line 22 of file TPZAcademicGeoMesh.h.

◆ fMaterialId

int TPZAcademicGeoMesh::fMaterialId
protected

material index for volume elements

Definition at line 43 of file TPZAcademicGeoMesh.h.

Referenced by HexahedralMesh(), PyramidalAndTetrahedralMesh(), RedBlackPyramidalAndHexagonalMesh(), and TetrahedralMesh().

◆ fMeshType

MMeshType TPZAcademicGeoMesh::fMeshType
protected

type of mesh that should be generated

Definition at line 31 of file TPZAcademicGeoMesh.h.

◆ fNumberElements

int64_t TPZAcademicGeoMesh::fNumberElements
protected

number of elements in any direction

Definition at line 40 of file TPZAcademicGeoMesh.h.

Referenced by GenerateNodes(), HexahedralMesh(), PyramidalAndTetrahedralMesh(), RedBlackPyramidalAndHexagonalMesh(), and TetrahedralMesh().

◆ fShouldDeform

bool TPZAcademicGeoMesh::fShouldDeform
protected

whether the mesh should be deformed or not

Definition at line 37 of file TPZAcademicGeoMesh.h.

Referenced by HexahedralMesh(), PyramidalAndTetrahedralMesh(), RedBlackPyramidalAndHexagonalMesh(), and TetrahedralMesh().

◆ fX0

TPZManVector<REAL,3> TPZAcademicGeoMesh::fX0
static

Definition at line 22 of file TPZAcademicGeoMesh.h.


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