NeoPZ
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
TPZExtendGridDimension Class Reference

Generates a three dimensional mesh as an extension of a two dimensional mesh. Getting Data. More...

#include <TPZExtendGridDimension.h>

Collaboration diagram for TPZExtendGridDimension:
[legend]

Public Member Functions

 TPZExtendGridDimension (char *geofile, REAL thickness)
 Constructor using filename with gmesh data and thickness. More...
 
 TPZExtendGridDimension (TPZAutoPointer< TPZGeoMesh > &finegeomesh, REAL thickness)
 Constructor using geometric mesh one- or two- dimensional and thickness. More...
 
 TPZExtendGridDimension (TPZGeoMesh *finegeomesh, REAL thickness)
 
 ~TPZExtendGridDimension ()
 Destructor default. More...
 
TPZGeoMeshExtendedMesh ()
 It reads the mesh since the archive of entrance finemesh, or since the fFineGeoMesh passed in the constructor, and returns extended mesh. More...
 
TPZGeoMeshExtendedMesh (int numlayers, int matidbottom=0, int matidtop=0)
 It reads the mesh since the archive of entrance finemesh, or since the fFineGeoMesh passed in the constructor, and returns extended mesh.
The extension is from n (=1,2) dimensional mesh to (n+1) (=2,3) dimensional. More...
 
void SetElType (int eltype)
 
void PrintGeneratedMesh (std::ostream &out=std::cout)
 Prints the generated mesh. More...
 

Static Public Member Functions

static void DeformMesh (TPZFMatrix< REAL > &Tr, TPZGeoMesh *GeoSurface)
 Apply transformation to a given geomesh. More...
 

Private Attributes

REAL fThickness
 Thickness of the mesh (+ or -) More...
 
std::ifstream fFineFileMesh
 Name of the fine mesh to be extended. More...
 
TPZAutoPointer< TPZGeoMeshfFineGeoMesh
 Fine geometric mesh generated by the NeoPZ. More...
 
TPZVec< TPZAutoPointer< TPZGeoMesh > > fSurfaces
 Vector of n surfaces to be connected the first one correpsonds to the base. More...
 
int fEltype
 type of element to be generated =1 -> RefPattern =0 -> Uniform Refinement More...
 

Detailed Description

Generates a three dimensional mesh as an extension of a two dimensional mesh. Getting Data.

Definition at line 31 of file TPZExtendGridDimension.h.

Constructor & Destructor Documentation

◆ TPZExtendGridDimension() [1/3]

TPZExtendGridDimension::TPZExtendGridDimension ( char *  geofile,
REAL  thickness 
)

Constructor using filename with gmesh data and thickness.

Definition at line 12 of file TPZExtendGridDimension.cpp.

References fThickness.

◆ TPZExtendGridDimension() [2/3]

TPZExtendGridDimension::TPZExtendGridDimension ( TPZAutoPointer< TPZGeoMesh > &  finegeomesh,
REAL  thickness 
)

Constructor using geometric mesh one- or two- dimensional and thickness.

Definition at line 17 of file TPZExtendGridDimension.cpp.

References fFineGeoMesh, and fThickness.

◆ TPZExtendGridDimension() [3/3]

TPZExtendGridDimension::TPZExtendGridDimension ( TPZGeoMesh finegeomesh,
REAL  thickness 
)

Definition at line 23 of file TPZExtendGridDimension.cpp.

References fFineGeoMesh, and fThickness.

◆ ~TPZExtendGridDimension()

TPZExtendGridDimension::~TPZExtendGridDimension ( )
inline

Destructor default.

Definition at line 64 of file TPZExtendGridDimension.h.

References DeformMesh(), and ExtendedMesh().

Member Function Documentation

◆ DeformMesh()

void TPZExtendGridDimension::DeformMesh ( TPZFMatrix< REAL > &  Tr,
TPZGeoMesh GeoSurface 
)
static

◆ ExtendedMesh() [1/2]

TPZGeoMesh * TPZExtendGridDimension::ExtendedMesh ( )

◆ ExtendedMesh() [2/2]

TPZGeoMesh * TPZExtendGridDimension::ExtendedMesh ( int  numlayers,
int  matidbottom = 0,
int  matidtop = 0 
)

It reads the mesh since the archive of entrance finemesh, or since the fFineGeoMesh passed in the constructor, and returns extended mesh.
The extension is from n (=1,2) dimensional mesh to (n+1) (=2,3) dimensional.

Parameters
numlayersNumbers of layers to be incremented.
matidbottomMaterial id to bottom boundary surface after to extrude process.
matidtopMaterial id to top boundary surface after to extrude process.

Definition at line 116 of file TPZExtendGridDimension.cpp.

References TPZGeoMesh::BuildConnectivity(), TPZGeoNode::Coord(), TPZGeoMesh::CreateGeoElement(), TPZGeoMesh::CreateUniqueNodeId(), TPZGeoMesh::Dimension(), ECube, TPZGeoMesh::ElementVec(), EOned, EPrisma, EQuadrilateral, ETriangle, fEltype, fFineGeoMesh, fThickness, TPZGeoEl::HasSubElement(), TPZGeoEl::MaterialId(), TPZChunkVector< T, EXP >::NElements(), TPZGeoEl::NNodes(), TPZGeoEl::NodeIndex(), TPZGeoMesh::NodeVec(), TPZAdmChunkVector< T, EXP >::Resize(), TPZVec< T >::Resize(), TPZGeoMesh::SetDimension(), and TPZGeoEl::Type().

◆ PrintGeneratedMesh()

void TPZExtendGridDimension::PrintGeneratedMesh ( std::ostream &  out = std::cout)

Prints the generated mesh.

Definition at line 272 of file TPZExtendGridDimension.cpp.

References fFineGeoMesh, and TPZGeoMesh::Print().

Referenced by SetElType().

◆ SetElType()

void TPZExtendGridDimension::SetElType ( int  eltype)
inline

Definition at line 87 of file TPZExtendGridDimension.h.

References PrintGeneratedMesh().

Referenced by MalhaGeom().

Member Data Documentation

◆ fEltype

int TPZExtendGridDimension::fEltype
private

type of element to be generated =1 -> RefPattern =0 -> Uniform Refinement

Definition at line 54 of file TPZExtendGridDimension.h.

Referenced by ExtendedMesh().

◆ fFineFileMesh

std::ifstream TPZExtendGridDimension::fFineFileMesh
private

Name of the fine mesh to be extended.

Definition at line 41 of file TPZExtendGridDimension.h.

◆ fFineGeoMesh

TPZAutoPointer<TPZGeoMesh> TPZExtendGridDimension::fFineGeoMesh
private

Fine geometric mesh generated by the NeoPZ.

Definition at line 46 of file TPZExtendGridDimension.h.

Referenced by ExtendedMesh(), PrintGeneratedMesh(), and TPZExtendGridDimension().

◆ fSurfaces

TPZVec<TPZAutoPointer<TPZGeoMesh> > TPZExtendGridDimension::fSurfaces
private

Vector of n surfaces to be connected the first one correpsonds to the base.

Definition at line 51 of file TPZExtendGridDimension.h.

◆ fThickness

REAL TPZExtendGridDimension::fThickness
private

Thickness of the mesh (+ or -)

Definition at line 36 of file TPZExtendGridDimension.h.

Referenced by ExtendedMesh(), and TPZExtendGridDimension().


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