NeoPZ
|
#include <tpzhierarquicalgrid.h>
Public Member Functions | |
TPZHierarquicalGrid () | |
TPZHierarquicalGrid (TPZGeoMesh *Geomesh) | |
TPZHierarquicalGrid (const TPZHierarquicalGrid &other) | |
~TPZHierarquicalGrid () | |
TPZHierarquicalGrid & | operator= (const TPZHierarquicalGrid &other) |
bool | operator== (const TPZHierarquicalGrid &other) const |
void | PrintGeneratedMesh (std::ostream &out=std::cout) |
Prints the generated mesh. More... | |
void | SetGeometricMesh (TPZGeoMesh *gmesh) |
void | SetParametricFunction (TPZAutoPointer< TPZFunction< REAL > > fp) |
TPZGeoMesh * | ComputeExtrusion (REAL t, REAL dt, int n) |
void | SetFrontBackMatId (int front, int back) |
void | SetTriangleExtrusion () |
void | SetTetrahedonExtrusion () |
void | SetPrismExtrusion () |
void | SetNonAffineExtrusion () |
void | SetGridFileName (std::string &FileName) |
void | CreateGeometricElement (int n, int iel, int eldim, int elmatid, int &elid) |
Private Attributes | |
REAL | fThickness |
Thickness of the mesh (+ or -) More... | |
bool | fNonAffineQ |
Non affine 2D and 3D extrusion. More... | |
bool | fIsQuad |
2d extrusion is based on quadrilaterals More... | |
bool | fIsPrism |
3d extrusion is based on prisms More... | |
bool | fIsTetrahedron |
3d extrusion is based on tetrahedrons More... | |
int | ffrontMatID |
Extrusion front material id. More... | |
int | fbackMatID |
Extrusion back material id. More... | |
std::string | fFileName |
Name of the fine mesh to be extended. More... | |
TPZGeoMesh * | fComputedGeomesh |
A geometric mesh being computed. More... | |
TPZAutoPointer< TPZGeoMesh > | fBase |
A geometric mesh generated from other sources. More... | |
TPZVec< TPZAutoPointer< TPZGeoMesh > > | fSubBases |
Vector of n bases to be connected to the original base. More... | |
TPZAutoPointer< TPZFunction< REAL > > | fParametricFunction |
Pointer to parametric function of t parameter. More... | |
Definition at line 31 of file tpzhierarquicalgrid.h.
TPZHierarquicalGrid::TPZHierarquicalGrid | ( | ) |
Default constructor
Definition at line 33 of file tpzhierarquicalgrid.cpp.
References fbackMatID, fBase, fComputedGeomesh, fFileName, ffrontMatID, fIsPrism, fIsQuad, fIsTetrahedron, fNonAffineQ, fSubBases, and TPZVec< T >::Resize().
TPZHierarquicalGrid::TPZHierarquicalGrid | ( | TPZGeoMesh * | Geomesh | ) |
TPZGeoMesh based constructor
Definition at line 48 of file tpzhierarquicalgrid.cpp.
References DebugStop, fbackMatID, fBase, fComputedGeomesh, fFileName, ffrontMatID, fIsPrism, fIsQuad, fIsTetrahedron, fNonAffineQ, fSubBases, TPZGeoMesh::NElements(), TPZGeoMesh::NNodes(), and TPZVec< T >::Resize().
TPZHierarquicalGrid::TPZHierarquicalGrid | ( | const TPZHierarquicalGrid & | other | ) |
Copy constructor
Definition at line 76 of file tpzhierarquicalgrid.cpp.
References fbackMatID, fBase, fComputedGeomesh, fFileName, ffrontMatID, fIsPrism, fIsQuad, fIsTetrahedron, fNonAffineQ, and fSubBases.
TPZHierarquicalGrid::~TPZHierarquicalGrid | ( | ) |
Destructor
Definition at line 92 of file tpzhierarquicalgrid.cpp.
TPZGeoMesh * TPZHierarquicalGrid::ComputeExtrusion | ( | REAL | t, |
REAL | dt, | ||
int | n | ||
) |
Compute the extrusion based on a lower dimension mesh
t | one-dimensional parameteric representation of the R3 space |
dt | element size over the parametric space |
n | number of elements in the paremetric direction |
Definition at line 119 of file tpzhierarquicalgrid.cpp.
References TPZGeoMesh::BuildConnectivity(), CreateGeometricElement(), TPZGeoMesh::Dimension(), TPZGeoMesh::ElementVec(), TPZFunction< TVar >::Execute(), fBase, fComputedGeomesh, fNonAffineQ, fParametricFunction, fSubBases, TPZGeoMesh::NElements(), TPZGeoMesh::NNodes(), TPZGeoMesh::NodeVec(), TPZAdmChunkVector< T, EXP >::Resize(), TPZVec< T >::Resize(), TPZGeoMesh::SetMaxElementId(), and TPZGeoMesh::SetMaxNodeId().
Referenced by SetParametricFunction().
void TPZHierarquicalGrid::CreateGeometricElement | ( | int | n, |
int | iel, | ||
int | eldim, | ||
int | elmatid, | ||
int & | elid | ||
) |
Definition at line 188 of file tpzhierarquicalgrid.cpp.
References DebugStop, TPZGeoMesh::Dimension(), TPZGeoMesh::ElementVec(), EQuadrilateral, fbackMatID, fBase, fComputedGeomesh, ffrontMatID, fIsPrism, fIsQuad, fIsTetrahedron, TPZGeoNode::Id(), TPZGeoMesh::NNodes(), TPZGeoEl::NNodes(), TPZGeoEl::Node(), TPZGeoMesh::NodeVec(), TPZGeoMesh::SetDimension(), TPZVec< T >::size(), and TPZGeoEl::Type().
Referenced by ComputeExtrusion(), and SetGridFileName().
TPZHierarquicalGrid & TPZHierarquicalGrid::operator= | ( | const TPZHierarquicalGrid & | other | ) |
Assignment operator
other | TPZHierarquicalGrid object being copied |
Definition at line 97 of file tpzhierarquicalgrid.cpp.
References fbackMatID, fBase, fComputedGeomesh, fFileName, ffrontMatID, fIsPrism, fIsQuad, fIsTetrahedron, fNonAffineQ, and fSubBases.
bool TPZHierarquicalGrid::operator== | ( | const TPZHierarquicalGrid & | other | ) | const |
Comparison operator
other | right hand side |
TODO: return ...;
Definition at line 112 of file tpzhierarquicalgrid.cpp.
References DebugStop.
void TPZHierarquicalGrid::PrintGeneratedMesh | ( | std::ostream & | out = std::cout | ) |
Prints the generated mesh.
|
inline |
Definition at line 168 of file tpzhierarquicalgrid.h.
|
inline |
Set the geometric mesh being extruded
gmesh | TPZGeoMesh representation of the geometry |
Definition at line 143 of file tpzhierarquicalgrid.h.
|
inline |
Definition at line 178 of file tpzhierarquicalgrid.h.
References CreateGeometricElement().
|
inline |
Definition at line 176 of file tpzhierarquicalgrid.h.
|
inline |
Paramatric function used during the extrusion
fp | autopointer of the parametric function |
Definition at line 152 of file tpzhierarquicalgrid.h.
References ComputeExtrusion().
|
inline |
Definition at line 174 of file tpzhierarquicalgrid.h.
|
inline |
Definition at line 172 of file tpzhierarquicalgrid.h.
|
inline |
Definition at line 170 of file tpzhierarquicalgrid.h.
|
private |
Extrusion back material id.
Definition at line 67 of file tpzhierarquicalgrid.h.
Referenced by CreateGeometricElement(), operator=(), and TPZHierarquicalGrid().
|
private |
A geometric mesh generated from other sources.
Definition at line 82 of file tpzhierarquicalgrid.h.
Referenced by ComputeExtrusion(), CreateGeometricElement(), operator=(), and TPZHierarquicalGrid().
|
private |
A geometric mesh being computed.
Definition at line 77 of file tpzhierarquicalgrid.h.
Referenced by ComputeExtrusion(), CreateGeometricElement(), operator=(), and TPZHierarquicalGrid().
|
private |
Name of the fine mesh to be extended.
Definition at line 72 of file tpzhierarquicalgrid.h.
Referenced by operator=(), and TPZHierarquicalGrid().
|
private |
Extrusion front material id.
Definition at line 62 of file tpzhierarquicalgrid.h.
Referenced by CreateGeometricElement(), operator=(), and TPZHierarquicalGrid().
|
private |
3d extrusion is based on prisms
Definition at line 52 of file tpzhierarquicalgrid.h.
Referenced by CreateGeometricElement(), operator=(), and TPZHierarquicalGrid().
|
private |
2d extrusion is based on quadrilaterals
Definition at line 47 of file tpzhierarquicalgrid.h.
Referenced by CreateGeometricElement(), operator=(), and TPZHierarquicalGrid().
|
private |
3d extrusion is based on tetrahedrons
Definition at line 57 of file tpzhierarquicalgrid.h.
Referenced by CreateGeometricElement(), operator=(), and TPZHierarquicalGrid().
|
private |
Non affine 2D and 3D extrusion.
Definition at line 42 of file tpzhierarquicalgrid.h.
Referenced by ComputeExtrusion(), operator=(), and TPZHierarquicalGrid().
|
private |
Pointer to parametric function of t parameter.
Definition at line 90 of file tpzhierarquicalgrid.h.
Referenced by ComputeExtrusion().
|
private |
Vector of n bases to be connected to the original base.
Definition at line 87 of file tpzhierarquicalgrid.h.
Referenced by ComputeExtrusion(), operator=(), and TPZHierarquicalGrid().
|
private |
Thickness of the mesh (+ or -)
Definition at line 37 of file tpzhierarquicalgrid.h.