119 SetBC(gr.operator->(), side,
bc);
131 SetBC(gr.operator->(), start, end,
bc);
158 virtual void Print(
char *name = NULL, std::ostream &out = std::cout );
173 int64_t
ElemId(int64_t iel,int64_t jel,
int layer);
221 virtual int GlobalI(
int ix,
int iy,
int layer);
284 #endif // _TGENGRIDHH_ void ComputeGeometricProgression(TPZVec< REAL > &minsizes, TPZVec< REAL > &progression)
Compute the geometric progression such that the first elements have this size.
void SetPointBC(TPZGeoMesh *gr, TPZVec< REAL > &x, int bc)
Generate a boundary geometric element at the indicated node.
void ElementConnectivityZigZag(int64_t iel, TPZVec< int64_t > &nodes)
compute the nodes of the ith Element
TPZManVector< REAL > fGeometricProgression
Geometric progression coeficients in the x and y direction.
void SetPointBC(TPZAutoPointer< TPZGeoMesh > gr, TPZVec< REAL > &x, int bc)
Generate a boundary geometric element at the indicated node.
virtual bool GenerateElements(TPZGeoMesh *grid, int matid)
Creates the geometric element: triangles or quadrilaterals.
REAL fRotAngle
Rotation angle between the layers.
bool fRefPattern
Uniform or refpattern elements.
clarg::argBool bc("-bc", "binary checkpoints", false)
TPZManVector< REAL > fDelx
Size of the lower left element.
bool MergeGeoMesh(TPZGeoMesh *grid, TPZGeoMesh *grid2, int matid=1)
Merges two geometrical mesh created for TPZGenGrid as separated, both meshes must to exist...
Templated vector implementation.
static REAL Distance(TPZVec< REAL > &x1, TPZVec< REAL > &x2)
Computes the euclidean distance between two points, or the measure of the interval between two points...
Implements the generation of a multilayered bi-dimensional geometric grid. Getting Data...
virtual void SetElementType(MElementType type)
Set the element type.
virtual bool GenerateElementsZigZag(TPZGeoMesh *grid, int matid)
Creates the geometric element: triangles or quadrilaterals.
TPZManVector< REAL > fX0
Coordinate of the lower left point.
void SetBC(TPZAutoPointer< TPZGeoMesh > gr, TPZVec< REAL > &start, TPZVec< REAL > &end, int bc)
Generate boundary geometric elements between node start and end going counter clockwise.
void SetDistortion(REAL distortion)
Defines enum MElementType and contains the implementation of MElementType_NNodes(...) functions.
virtual void Print(char *name=NULL, std::ostream &out=std::cout)
Prints the data structure of the class.
void SetZigZagPattern()
Indicate whether the elements are generated in a zigzag pattern.
virtual int GlobalI(int ix, int iy, int layer)
Returns the geometric node id for the element addressed by the parameters.
TPZManVector< int > fNx
Number of elements in both directions.
static REAL GeometricProgression(REAL minsize, REAL size, int numdiv)
Compute the geometric progression such that the first elements have this size.
int fNumLayers
Number of meshes which will be generated hinging along an axis.
TPZManVector< REAL > fX1
coordinate of the upper right point
MElementType fElementType
Variable which indicates the type of element that should be generated Only EQuadrilateral or ETriangl...
virtual void SetBC(TPZGeoMesh *gr, int side, int bc)
Generate boundary geometric elements associated with the side of the rectangular domain.
void SetGeometricProgression(TPZVec< REAL > &progression)
Sets the geometric progression of the mesh to be generated.
Free store vector implementation.
TPZGenGrid(TPZVec< int > &nx, TPZVec< REAL > &x0, TPZVec< REAL > &x1, int numl=1, REAL rot=0.5)
Constructor of the rectangular domain.
Contains declaration of the TPZAutoPointer class which has Increment and Decrement actions are mutexe...
virtual void Coord(int i, TPZVec< REAL > &coord)
Computes the coordinates of the ith geometric node generated.
int64_t fNumNodes
Number of nodes of the mesh.
void SetData(TPZVec< int > &nx, TPZVec< REAL > &x0, TPZVec< REAL > &x1, MElementType eltype=EQuadrilateral, int numl=1, REAL rot=0.5)
Change points and all data to generate geometric mesh.
bool ReadAndMergeGeoMesh(TPZGeoMesh *grid, TPZGeoMesh *grid2)
Merges two geometrical mesh created for TPZGenGrid as separated.
bool fZigZag
variable to generate a zigzag grid
int64_t ElemId(int64_t iel, int64_t jel, int layer)
Returns the element id for the element addressed by the parameters.
virtual ~TPZGenGrid()
Default destructor.
virtual bool GenerateNodes(TPZGeoMesh *grid)
Creates the geometric nodes, it depends on fElementType, layer and fRotAngle.
This class implements a geometric mesh for the pz environment. Geometry.
MElementType
Define the element types.
Implements computational mesh. Computational Mesh.
Contains the declaration of TPZFlopCounter class and TPZCounter struct.
void SetBC(TPZAutoPointer< TPZGeoMesh > gr, int side, int bc)
Generate boundary geometric elements associated with the side of the rectangular domain.
void SetRefpatternElements(bool refpat)
Generate element of type refpattern or uniform refinement.
void ElementConnectivity(int64_t iel, TPZVec< int64_t > &nodes)
compute the nodes of the ith Element
virtual short Read(TPZGeoMesh *mesh, int matid=1)
Add nodes and elements to the object mesh.