NeoPZ
Public Member Functions | Protected Types | Protected Attributes | Private Member Functions | List of all members
TPZGeoMesh Class Reference

This class implements a geometric mesh for the pz environment. Geometry. More...

#include <pzgmesh.h>

Inheritance diagram for TPZGeoMesh:
[legend]
Collaboration diagram for TPZGeoMesh:
[legend]

Public Member Functions

 TPZGeoMesh ()
 Constructors and destructor. More...
 
 TPZGeoMesh (const TPZGeoMesh &cp)
 Copy constructor. More...
 
TPZGeoMeshoperator= (const TPZGeoMesh &cp)
 Operator of copy. More...
 
virtual ~TPZGeoMesh ()
 Destructor. More...
 
void CleanUp ()
 Deletes all items in the TPZGeoMesh. More...
 
void ResetConnectivities ()
 Reset all connectivities. More...
 
int ClassId () const override
 Define the class id associated with the class. More...
 
void Read (TPZStream &buf, void *context) override
 read objects from the stream More...
 
void Write (TPZStream &buf, int withclassid) const override
 Writes this object to the TPZStream buffer. Include the classid if withclassid = true. More...
 
void SetNodeIdUsed (int64_t id)
 Indicates that a node with id was created. More...
 
void SetElementIdUsed (int64_t id)
 Indicates that an element with id was created. More...
 
int64_t CreateUniqueNodeId ()
 Returns ++fNodeMaxId. More...
 
int64_t CreateUniqueElementId ()
 Returns ++fElementMaxId. More...
 
void SetMaxNodeId (int64_t id)
 Used in patch meshes. More...
 
void SetMaxElementId (int64_t id)
 Used in patch meshes. More...
 
int64_t NNodes () const
 Number of nodes of the mesh. More...
 
int64_t NElements () const
 Number of elements of the mesh. More...
 
int64_t ReallyNEl ()
 
void SetName (const std::string &nm)
 
std::string & Name ()
 
TPZAdmChunkVector< TPZGeoEl * > & ElementVec ()
 Methods for handling pzlists. More...
 
TPZGeoElElement (int64_t iel)
 
TPZAdmChunkVector< TPZGeoNode > & NodeVec ()
 
const TPZAdmChunkVector< TPZGeoEl * > & ElementVec () const
 
const TPZAdmChunkVector< TPZGeoNode > & NodeVec () const
 
REAL Area ()
 Compute the area of the domain. More...
 
REAL Area (int matid)
 Compute the area of the domain. More...
 
REAL Area (std::set< int > &matids)
 Compute the area of the domain. More...
 
void ResetReference ()
 Resets all load references in elements and nodes. More...
 
void RestoreReference (TPZCompMesh *cmesh)
 Restore all reference in elements from computational mesh criated from current geometrical mesh previously. More...
 
void SetReference (TPZCompMesh *ref)
 Sets the reference of the geometric grid to ref. More...
 
TPZCompMeshReference () const
 Returns the currently loaded computational grid. More...
 
virtual void Print (std::ostream &out=std::cout) const
 Print the information of the grid to an ostream. More...
 
virtual void PrintTopologicalInfo (std::ostream &out=std::cout) const
 
TPZGeoNodeFindNode (TPZVec< REAL > &co)
 Returns the nearest node to the coordinate. This method is VERY INEFFICIENT. More...
 
TPZGeoNodeFindNode (TPZVec< REAL > &co, int &nodeFoundIndex)
 
TPZGeoElFindElement (TPZVec< REAL > &x, TPZVec< REAL > &qsi, int64_t &InitialElIndex, int targetDim) const
 Returns the element that contains the given point x and it respective point in parametric domain qsi. More...
 
TPZGeoElFindElementCaju (TPZVec< REAL > &x, TPZVec< REAL > &qsi, int64_t &InitialElIndex, int targetDim)
 Returns the element that contains the given point x and it respective point in parametric domain qsi. More...
 
TPZGeoElFindApproxElement (TPZVec< REAL > &x, TPZVec< REAL > &qsi, int64_t &InitialElIndex, int targetDim) const
 find an element/parameter close to the point More...
 
TPZGeoElFindSubElement (TPZGeoEl *gel, TPZVec< REAL > &x, TPZVec< REAL > &qsi, int64_t &InitialElIndex) const
 Returns the subelement that contains the given point x and it respective point in parametric domain qsi. More...
 
TPZGeoElFindCloseElement (TPZVec< REAL > &x, int64_t &InitialElIndex, int targetDim) const
 Returns the element that is close to the given point x. More...
 
void BuildConnectivityOld ()
 Alternative method for computing the connectivity. More...
 
void BuildConnectivity ()
 Build the connectivity of the grid. More...
 
void GetNodePtr (TPZVec< int64_t > &nos, TPZVec< TPZGeoNode *> &nodep)
 Fills the nodep vector with pointers to the nodes identified by their indexes. More...
 
void GetBoundaryElements (int64_t IndexNodeFrom, int64_t IndexNodeTo, TPZStack< TPZGeoEl *> &ElementVec, TPZStack< int > &Sides)
 GetBoundaryElements returns all elements beweeen NodFrom and NodTo counterclock wise this method uses the connectivity of the elements BuildConnectivity should be called to initialize. More...
 
TPZGeoElFindElement (int64_t elid)
 Find the element with ids elid. More...
 
int64_t ElementIndex (TPZGeoEl *gel)
 Returns the index of the given element into the fElementVec. More...
 
int64_t NodeIndex (TPZGeoNode *nod)
 Returns the index of the given node into the fNodeVec. More...
 
virtual TPZGeoElCreateGeoElementMapped (MElementType type, TPZVec< int64_t > &nodeindexes, int matid, int64_t &index)
 Generic method for creating a geometric element. Putting this method centrally facilitates the modification of the element type all through the code. More...
 
virtual TPZGeoElCreateGeoElement (MElementType type, TPZVec< int64_t > &cornerindexes, int matid, int64_t &index, int reftype=1)
 Generic method for creating a geometric element. Putting this method centrally facilitates the modification of the element type all through the code. More...
 
virtual TPZGeoElCreateGeoBlendElement (MElementType type, TPZVec< int64_t > &nodeindexes, int matid, int64_t &index)
 Creates a geometric element in same fashion of CreateGeoElement but here the elements are blend, as Caju master thesis. More...
 
void DeleteElement (TPZGeoEl *gel, int64_t index=-1)
 Centralized method to delete elements. More...
 
int AddInterfaceMaterial (int leftmaterial, int rightmaterial, int interfacematerial)
 Add an interface material associated to left and right element materials. More...
 
int InterfaceMaterial (int leftmaterial, int rightmaterial)
 Returns the interface material associated to left and right element materials. If no interface material is found GMESHNOMATERIAL is returned. More...
 
void ClearInterfaceMaterialsMap ()
 Delete all interface materials in map. More...
 
void SetDimension (int dim)
 Set Dimension. More...
 
int Dimension ()
 Get Dimension. More...
 
- Public Member Functions inherited from TPZSavable
 TPZSavable ()
 
virtual ~TPZSavable ()
 
virtual std::list< std::map< std::string, uint64_t > > VersionHistory () const
 
virtual std::pair< std::string, uint64_t > Version () const
 
virtual bool Compare (TPZSavable *copy, bool override=false)
 Compares the object for identity with the object pointed to, eventually copy the object. More...
 
virtual bool Compare (TPZSavable *copy, bool override=false) const
 Compares the object for identity with the object pointed to, eventually copy the object. More...
 
- Public Member Functions inherited from TPZRegisterClassId
template<typename T >
 TPZRegisterClassId (int(T::*)() const)
 
 TPZRegisterClassId ()=default
 

Protected Types

typedef std::map< std::pair< int, int >, int > InterfaceMaterialsMap
 

Protected Attributes

std::string fName
 TPZGeoMesh name for model identification. More...
 
TPZCompMeshfReference
 Computational mesh associated. More...
 
TPZAdmChunkVector< TPZGeoEl * > fElementVec
 List of pointers to finite elements. More...
 
TPZAdmChunkVector< TPZGeoNodefNodeVec
 List of nodes. More...
 
int64_t fNodeMaxId
 Maximum id used by all nodes of this mesh. More...
 
int64_t fElementMaxId
 Maximum id used by all elements of this mesh. More...
 
int fDim
 dimension of the geometric domain More...
 
InterfaceMaterialsMap fInterfaceMaterials
 Datastructure which indicates the index of the interface material which needs to be created between two different materials. More...
 

Private Member Functions

void BuildElementsAroundNode (int64_t currentnode, std::map< int64_t, TPZGeoEl *> &elmap)
 Find all elements in elmap or neighbour of elements in elmap which contain a node. More...
 
void FindElement (std::map< int64_t, TPZGeoEl *> &elmap, int64_t currentnode, TPZGeoEl *&candidate, int &candidateside)
 Method which works only for two dimensional topologies! More...
 

Additional Inherited Members

- Static Public Member Functions inherited from TPZSavable
static std::set< TPZRestoreClassBase * > & RestoreClassSet ()
 This static function guarantees that the gMap object is available when needed. More...
 
static std::map< int, TPZRestore_t > & ClassIdMap ()
 This static function guarantees that the gMap object is available when needed. More...
 
static std::pair< std::string, uint64_t > NeoPZVersion ()
 
static void Register (TPZRestoreClassBase *restore)
 
static void RegisterClassId (int classid, TPZRestore_t fun)
 
static TPZSavableCreateInstance (const int &classId)
 

Detailed Description

This class implements a geometric mesh for the pz environment. Geometry.

A TPZGeoMesh defines a geometrical mesh and contains a corresponding list of geometrical elements, geometrical nodes, elementwise defined boundary conditions and nodal boundary conditions.
Various methods are defined to add, delete or loop over the items which are contained within the TPZGeoMesh.
Other auxiliary data structures help in the construction of the mesh

Definition at line 48 of file pzgmesh.h.

Member Typedef Documentation

◆ InterfaceMaterialsMap

typedef std::map<std::pair<int,int>, int> TPZGeoMesh::InterfaceMaterialsMap
protected

Definition at line 72 of file pzgmesh.h.

Constructor & Destructor Documentation

◆ TPZGeoMesh() [1/2]

TPZGeoMesh::TPZGeoMesh ( )

Constructors and destructor.

Definition at line 47 of file pzgmesh.cpp.

References fDim, fElementMaxId, fNodeMaxId, and fReference.

◆ TPZGeoMesh() [2/2]

TPZGeoMesh::TPZGeoMesh ( const TPZGeoMesh cp)

Copy constructor.

Definition at line 56 of file pzgmesh.cpp.

References operator=().

◆ ~TPZGeoMesh()

TPZGeoMesh::~TPZGeoMesh ( )
virtual

Destructor.

Definition at line 97 of file pzgmesh.cpp.

References CleanUp().

Member Function Documentation

◆ AddInterfaceMaterial()

int TPZGeoMesh::AddInterfaceMaterial ( int  leftmaterial,
int  rightmaterial,
int  interfacematerial 
)

Add an interface material associated to left and right element materials.

Since
Feb 05, 2004 If std::pair<left, right> already exist, nothing is done and method returns 0. If material is inserted in geomesh method returns 1.

Definition at line 1534 of file pzgmesh.cpp.

References fInterfaceMaterials.

Referenced by MalhaGeom(), and Reference().

◆ Area() [1/3]

REAL TPZGeoMesh::Area ( )

Compute the area of the domain.

Definition at line 1604 of file pzgmesh.cpp.

References Dimension(), TPZGeoEl::Dimension(), Element(), TPZGeoEl::MaterialId(), and NElements().

Referenced by Area(), and NodeVec().

◆ Area() [2/3]

REAL TPZGeoMesh::Area ( int  matid)

Compute the area of the domain.

Definition at line 1596 of file pzgmesh.cpp.

References Area().

◆ Area() [3/3]

REAL TPZGeoMesh::Area ( std::set< int > &  matids)

◆ BuildConnectivity()

void TPZGeoMesh::BuildConnectivity ( )

Build the connectivity of the grid.

Definition at line 967 of file pzgmesh.cpp.

References TPZGeoEl::BuildBlendConnectivity(), TPZGeoElSide::ComputeNeighbours(), Element(), ElementVec(), fElementVec, TPZGeoEl::NCornerNodes(), TPZGeoElSide::NeighbourExists(), NElements(), TPZVec< T >::NElements(), NNodes(), TPZGeoEl::NodeIndex(), TPZGeoEl::NSides(), TPZGeoElSide::SetConnectivity(), TPZGeoEl::SetSideDefined(), TPZGeoEl::SideIsUndefined(), and TPZGeoEl::VerifyNodeCoordinates().

Referenced by TPZRefPattern::BuildSideMesh(), TPZHierarquicalGrid::ComputeExtrusion(), TPZCheckGeom::CreateMesh(), Hdiv3dPaper201504::CreateOneCubo(), Hdiv3dPaper201504::CreateOneCuboWithTetraedrons(), TPZRefPattern::CreateRefinementPattern(), TPZBuildSBFem::CreateVolumetricElements(), TPZBuildSBFem::CreateVolumetricElementsFromSkeleton(), TPZExtendGridDimension::ExtendedMesh(), TPZGenGrid::GenerateElements(), TPZGenGrid::GenerateElementsZigZag(), TPZGenSubStruct::GenerateMesh(), TPZMulticamadaOrthotropic::GenerateMesh(), TPZGenSpecialGrid::GeneratePolygonalSphereFromOctahedron(), TPZReadGIDGrid::GeometricGIDMesh(), TPZGmshReader::GeometricGmshMesh3(), TPZGmshReader::GeometricGmshMesh4(), Hdiv2dPaper201504::GMesh(), hdivCurvedJCompAppMath::GMeshCilindricalMesh(), Hdiv3dPaper201504::GMeshWithPrism(), TCedricTest::HexahedralMesh(), TPZAcademicGeoMesh::HexahedralMesh(), TPZDohrStructMatrix::IdentifyCornerNodes(), TPZHyperPlaneIntersect::Intersect(), TPZParSkylineStructMatrix::main(), TPBSpStructMatrix::main(), TPZSymetricSpStructMatrix::main(), TPZSpStructMatrix::main(), TPZFrontStructMatrix< front >::main(), TPZParFrontStructMatrix< front >::main(), TPZSubCompMesh::main(), hdivCurvedJCompAppMath::MakeCircle(), hdivCurvedJCompAppMath::MakeSphereFromQuadrilateral(), malha_predio(), MalhaCubo(), Input::MalhaCubo(), MalhaGeom(), MalhaPredio(), TPZGenGrid::MergeGeoMesh(), TPZRefPattern::PermuteMesh(), TPZRefPattern::PrintVTK(), TPZReadTetGen::Process(), PYBIND11_MODULE(), TCedricTest::PyramidalAndTetrahedralMesh(), TPZAcademicGeoMesh::PyramidalAndTetrahedralMesh(), TPZGenPartialGrid::Read(), TPZGenGrid::Read(), TPZGenGrid::ReadAndMergeGeoMesh(), TPZReadMeshHR::readGeoMesh(), TPZAcademicGeoMesh::RedBlackPyramidalAndHexagonalMesh(), Reference(), TCedricTest::TetrahedralMesh(), TPZAcademicGeoMesh::TetrahedralMesh(), TCedricTest::TetrahedralMeshUsingRefinement(), UniformRefinement(), and TPZGenSpecialGrid::UniformRefinement().

◆ BuildConnectivityOld()

void TPZGeoMesh::BuildConnectivityOld ( )

◆ BuildElementsAroundNode()

void TPZGeoMesh::BuildElementsAroundNode ( int64_t  currentnode,
std::map< int64_t, TPZGeoEl *> &  elmap 
)
private

Find all elements in elmap or neighbour of elements in elmap which contain a node.

Definition at line 304 of file pzgmesh.cpp.

References TPZGeoElSide::Element(), TPZGeoElSide::Exists(), TPZGeoEl::Id(), TPZGeoEl::Neighbour(), TPZGeoEl::NNodes(), TPZGeoEl::NodeIndex(), and TPZGeoEl::NSides().

Referenced by Dimension(), and GetBoundaryElements().

◆ ClassId()

int TPZGeoMesh::ClassId ( ) const
overridevirtual

Define the class id associated with the class.

This id has to be unique for all classes A non unique id is flagged at the startup of the program

Implements TPZSavable.

Definition at line 1452 of file pzgmesh.cpp.

References Hash().

◆ CleanUp()

void TPZGeoMesh::CleanUp ( )

◆ ClearInterfaceMaterialsMap()

void TPZGeoMesh::ClearInterfaceMaterialsMap ( )

Delete all interface materials in map.

Since
Feb 05, 2004

Definition at line 1568 of file pzgmesh.cpp.

References fInterfaceMaterials.

Referenced by Reference().

◆ CreateGeoBlendElement()

TPZGeoEl * TPZGeoMesh::CreateGeoBlendElement ( MElementType  type,
TPZVec< int64_t > &  nodeindexes,
int  matid,
int64_t &  index 
)
virtual

Creates a geometric element in same fashion of CreateGeoElement but here the elements are blend, as Caju master thesis.

Definition at line 1400 of file pzgmesh.cpp.

References PZError.

Referenced by pzgeom::TPZChangeEl::ChangeToGeoBlend(), TPZGeoElRefLess< TGeo >::CreateBCGeoBlendEl(), TPZGeoElMapped< TBase >::CreateBCGeoEl(), pzgeom::TPZGeoBlend< TGeo >::InsertExampleElement(), and Reference().

◆ CreateGeoElement()

TPZGeoEl * TPZGeoMesh::CreateGeoElement ( MElementType  type,
TPZVec< int64_t > &  cornerindexes,
int  matid,
int64_t &  index,
int  reftype = 1 
)
virtual

Generic method for creating a geometric element. Putting this method centrally facilitates the modification of the element type all through the code.

Parameters
typeelement topology
matidmaterial id
cornerindexesindexes of the corner nodes of the element
indexindex of the element in the vector of element pointers
reftypedefines the type of refinement : 0 -> uniform 1-> refinement pattern

Definition at line 1296 of file pzgmesh.cpp.

References DebugStop, PZError, and TPZVec< T >::size().

Referenced by TPZMulticamadaOrthotropic::AddPlacaOrtho(), TPZRefPattern::BuildSideMesh(), TPZGeoElRefLess< TGeo >::CreateBCGeoEl(), TPZGeoElement< TGeo, TRef >::CreateGeoElement(), TPZGeoElRefLess< TGeo >::CreateGeoElement(), TPZCheckGeom::CreateMesh(), Hdiv3dPaper201504::CreateOneCuboWithTetraedrons(), TPZBuildSBFem::CreateVolumetricElements(), TPZBuildSBFem::CreateVolumetricElementsFromSkeleton(), pzrefine::TPZRefPrism::Divide(), pzrefine::TPZRefQuad::Divide(), pzrefine::TPZRefLinear::Divide(), pzrefine::TPZRefPoint::Divide(), TPZExtendGridDimension::ExtendedMesh(), TPZGenGrid::GenerateElements(), TPZGenGrid::GenerateElementsZigZag(), TPZGenSubStruct::GenerateMesh(), TPZRefPattern::GeneratePermutations(), TPZGenSpecialGrid::GeneratePolygonalSphereFromOctahedron(), TCedricTest::HexahedralMesh(), TPZAcademicGeoMesh::HexahedralMesh(), TPZDohrStructMatrix::IdentifyCornerNodes(), pzgeom::TPZQuadraticPrism::InsertExampleElement(), pzgeom::TPZGeoCube::InsertExampleElement(), pzgeom::TPZQuadraticPyramid::InsertExampleElement(), pzgeom::TPZGeoTetrahedra::InsertExampleElement(), pzgeom::TPZQuadraticCube::InsertExampleElement(), pzgeom::TPZGeoPyramid::InsertExampleElement(), pzgeom::TPZQuadraticTetra::InsertExampleElement(), pzgeom::TPZGeoPrism::InsertExampleElement(), pzgeom::TPZGeoLinear::InsertExampleElement(), pzgeom::TPZGeoPoint::InsertExampleElement(), pzgeom::TPZQuadraticLine::InsertExampleElement(), pzgeom::TPZQuadraticTrig::InsertExampleElement(), pzgeom::TPZGeoQuad::InsertExampleElement(), pzgeom::TPZQuadraticQuad::InsertExampleElement(), pzgeom::TPZGeoTriangle::InsertExampleElement(), TPZParSkylineStructMatrix::main(), TPBSpStructMatrix::main(), TPZSymetricSpStructMatrix::main(), TPZSpStructMatrix::main(), TPZFrontStructMatrix< front >::main(), TPZParFrontStructMatrix< front >::main(), TPZSubCompMesh::main(), TPZGenGrid::MergeGeoMesh(), TPZRefPattern::PrintVTK(), TPZReadTetGen::ProcessFaces(), TPZReadTetGen::ProcessTetra(), PYBIND11_MODULE(), TCedricTest::PyramidalAndTetrahedralMesh(), TPZAcademicGeoMesh::PyramidalAndTetrahedralMesh(), TPZGenPartialGrid::Read(), TPZRefPattern::ReadAndCreateRefinementPattern(), TPZGenGrid::ReadAndMergeGeoMesh(), TPZReadMeshHR::ReadElements(), TPZGMSHReadMesh::ReadMesh2D(), TPZGMSHReadMesh::ReadMesh2D2(), TPZGMSHReadMesh::ReadMesh3D(), TPZAcademicGeoMesh::RedBlackPyramidalAndHexagonalMesh(), Reference(), TCedricTest::TCedricTest(), TCedricTest::TetrahedralMesh(), TPZAcademicGeoMesh::TetrahedralMesh(), TCedricTest::TetrahedralMeshUsingRefinement(), and TPZAcademicGeoMesh::TPZAcademicGeoMesh().

◆ CreateGeoElementMapped()

TPZGeoEl * TPZGeoMesh::CreateGeoElementMapped ( MElementType  type,
TPZVec< int64_t > &  nodeindexes,
int  matid,
int64_t &  index 
)
virtual

Generic method for creating a geometric element. Putting this method centrally facilitates the modification of the element type all through the code.

Parameters
typeelement topology
nodeindexesindexes of the corner nodes of the element
matidmaterial id
indexindex of the element in the vector of element pointers

Definition at line 1229 of file pzgmesh.cpp.

References PZError.

Referenced by TPZGeoElMapped< TBase >::CreateGeoElement(), TPZGeoElRefLess< TGeo >::CreateGeoElement(), and Reference().

◆ CreateUniqueElementId()

int64_t TPZGeoMesh::CreateUniqueElementId ( )
inline

Returns ++fElementMaxId.

Definition at line 117 of file pzgmesh.h.

References fElementMaxId.

Referenced by TPZGenGrid::MergeGeoMesh(), and TPZGeoEl::TPZGeoEl().

◆ CreateUniqueNodeId()

int64_t TPZGeoMesh::CreateUniqueNodeId ( )
inline

Returns ++fNodeMaxId.

Definition at line 114 of file pzgmesh.h.

References fNodeMaxId.

Referenced by TPZExtendGridDimension::ExtendedMesh(), TPZReadGIDGrid::GeometricGIDMesh(), and TPZGeoNode::Initialize().

◆ DeleteElement()

void TPZGeoMesh::DeleteElement ( TPZGeoEl gel,
int64_t  index = -1 
)

◆ Dimension()

int TPZGeoMesh::Dimension ( )
inline

Get Dimension.

Since
April 17, 2004

Definition at line 291 of file pzgmesh.h.

References BuildElementsAroundNode(), fDim, and FindElement().

Referenced by TPZMHMeshControl::AddBoundaryElements(), TPZMHMeshControl::AddBoundaryInterfaceElements(), TPZBuildSBFem::AddSkeletonElements(), TPZMHMixedHybridMeshControl::AdjustBoundaryConditionsOfFractures(), TPZMHMixedHybridMeshControl::ApplyNeighbourBoundaryCondition(), Area(), TPZMHMixedMeshChannelControl::BuildComputationalMesh(), TPZMHMixedHybridMeshControl::BuildComputationalMesh(), TPZMHMixedMeshControl::BuildComputationalMesh(), TPZMHMeshControl::BuildComputationalMesh(), TPZMHMixedHybridMeshControl::CheckMeshConsistency(), Hdiv2dPaper201504::CMeshMixed(), hdivCurvedJCompAppMath::CMeshMixed(), Hdiv3dPaper201504::CMeshMixed(), CompareFluxes(), TPZHierarquicalGrid::ComputeExtrusion(), TPZBuildSBFem::Configure(), TPZMHMeshControl::ConnectedElements(), TPZMHMixedHybridMeshControl::CreateAxialFluxElement(), TPZBuildSBFem::CreateElementCenterNodes(), TPZHierarquicalGrid::CreateGeometricElement(), TPZMHMixedMeshControl::CreateHDivPressureMHMMesh(), TPZMHMixedHybridMeshControl::CreateHDivWrappers(), TPZMHMeshControl::CreateInterfaceElements(), TPZMHMixedHybridMeshControl::CreateInternalAxialFluxes(), TPZMHMixedHybridMeshControl::CreateInternalFluxElements(), TPZMHMixedMeshControl::CreateInternalFluxElements(), TPZMHMeshControl::CreateLagrangeMultiplierMesh(), TPZMHMixedHybridMeshControl::CreateLowerDimensionPressureElements(), TPZMHMixedHybridMeshControl::CreateMultiPhysicsInterfaceElements(), TPZMHMixedHybridMeshControl::CreatePressureInterfaces(), CreatePressureMesh(), TPZMHMixedMeshControl::CreatePressureMHMMesh(), TPZMHMixedMeshControl::CreateRotationMesh(), TPZMHMeshControl::CreateSkeletonElements(), TPZBuildSBFem::CreateVolumetricElements(), TPZBuildSBFem::CreateVolumetricElementsFromSkeleton(), TPZMHMeshControl::CreateWrap(), TPZMHMeshControl::CriaMalhaTemporaria(), TPZMHMeshControl::DefinePartition(), TPZMHMeshControl::DivideBoundarySkeletonElements(), TPZBuildSBFem::DivideSkeleton(), TPZMHMeshControl::DivideSkeletonElements(), TPZExtendGridDimension::ExtendedMesh(), TPZMHMixedHybridMeshControl::FindConnectedElements(), TPZMHMixedMeshChannelControl::HideTheElements(), TPZMHMixedMeshControl::HideTheElements(), TPZHybridizeHDiv::HybridizeInternalSides(), TPZRefPatternDataBase::ImportRefPatterns(), TPZMHMixedHybridMeshControl::InsertPeriferalHdivMaterialObjects(), TPZMHMixedMeshControl::InsertPeriferalHdivMaterialObjects(), TPZMHMixedHybridMeshControl::InsertPeriferalMaterialObjects(), TPZMHMeshControl::InsertPeriferalMaterialObjects(), TPZMHMixedHybridMeshControl::InsertPeriferalPressureMaterialObjects(), TPZMHMixedMeshControl::InsertPeriferalPressureMaterialObjects(), TPZMHMixedMeshControl::InsertPeriferalRotationMaterialObjects(), TPZMHMeshControl::PrintBoundaryInfo(), TPZMHMixedHybridMeshControl::PrintFriendly(), PYBIND11_MODULE(), TPZCompMesh::SetReference(), TPZMHMixedHybridMeshControl::SplitFluxElementsAroundFractures(), TPZCompMesh::TPZCompMesh(), TPZMHMeshControl::TPZMHMeshControl(), TPZMHMixedMeshControl::TPZMHMixedMeshControl(), TPZMHMeshControl::TransferToMultiphysics(), and TPZMHMeshControl::WrapMaterialId().

◆ Element()

TPZGeoEl* TPZGeoMesh::Element ( int64_t  iel)
inline

Definition at line 139 of file pzgmesh.h.

Referenced by TPZBuildSBFem::AddSkeletonElements(), TPZMHMixedHybridMeshControl::AdjustBoundaryConditionsOfFractures(), Area(), TPZBuildSBFem::BuildComputationalMeshFromSkeleton(), TPZBuildSBFem::BuildComputationMesh(), BuildConnectivity(), TPZMHMixedMeshControl::BuildMultiPhysicsMesh(), TPZMHMeshControl::BuildWrapMesh(), pzgeom::TPZChangeEl::ChangeToQuadratic(), TPZCheckGeom::CheckUniqueId(), TPZHybridizeHDiv::ComputePeriferalMaterialIds(), TPZRefPattern::ComputeTransforms(), TPZBuildSBFem::Configure(), TPZMHMeshControl::ConnectedElements(), TPZMHMixedHybridMeshControl::CreateAxialFluxElement(), TPZBuildSBFem::CreateElementCenterNodes(), TPZMHMixedHybridMeshControl::CreateHDivWrappers(), TPZMHMixedHybridMeshControl::CreateInternalAxialFluxes(), TPZMHMeshControl::CreateInternalElements(), TPZMHMixedHybridMeshControl::CreateInternalFluxElements(), TPZMHMixedMeshControl::CreateInternalFluxElements(), TPZMHMixedHybridMeshControl::CreateLowerDimensionPressureElements(), TPZMHMixedHybridMeshControl::CreatePressureInterfaces(), TPZMHMixedMeshControl::CreatePressureMHMMesh(), TPZRefPattern::CreateRefinementPattern(), TPZMHMixedHybridMeshControl::CreateSkeletonAxialFluxes(), TPZBuildSBFem::CreateVolumetricElements(), TPZBuildSBFem::CreateVolumetricElementsFromSkeleton(), TPZMHMeshControl::DefinePartition(), TPZMHMeshControl::DefinePartitionbyCoarseIndices(), TPZMHMeshControl::DivideBoundarySkeletonElements(), TPZMHMeshControl::DivideSkeletonElements(), TPZMeshSolution::Execute(), TPZHybridizeHDiv::HybridizeInternalSides(), TPZMHMixedMeshControl::HybridizeSkeleton(), pzgeom::TPZQuadraticPrism::InsertExampleElement(), pzgeom::TPZQuadraticPyramid::InsertExampleElement(), pzgeom::TPZQuadraticCube::InsertExampleElement(), pzgeom::TPZQuadraticTetra::InsertExampleElement(), pzgeom::TPZQuadraticLine::InsertExampleElement(), pzgeom::TPZQuadraticTrig::InsertExampleElement(), pzgeom::TPZQuadraticQuad::InsertExampleElement(), pzgeom::TPZGeoBlend< TGeo >::InsertExampleElement(), PYBIND11_MODULE(), TPZRefPatternTools::RefineDirectional(), TPZMHMixedHybridMeshControl::SplitFluxElementsAroundFractures(), and TPZMeshSolution::TPZMeshSolution().

◆ ElementIndex()

int64_t TPZGeoMesh::ElementIndex ( TPZGeoEl gel)

Returns the index of the given element into the fElementVec.

Since
2002-05-02 (Cesar)

Definition at line 1169 of file pzgmesh.cpp.

References ElementVec(), TPZGeoEl::Index(), TPZChunkVector< T, EXP >::NElements(), and numel.

Referenced by DeleteElement(), Reference(), and TPZInterfaceElement::~TPZInterfaceElement().

◆ ElementVec() [1/2]

TPZAdmChunkVector<TPZGeoEl *>& TPZGeoMesh::ElementVec ( )
inline

Methods for handling pzlists.

Definition at line 138 of file pzgmesh.h.

References fElementVec.

Referenced by TCedricTest::AddBoundaryElements(), TPZAcademicGeoMesh::AddBoundaryElements(), TPZMHMeshControl::AddBoundaryElements(), TPZAcademicGeoMesh::AddBoundaryElementsByCoord(), Area(), TPZCompMesh::AutoBuildContDisc(), TPZPostProcAnalysis::AutoBuildDisc(), BuildConnectivity(), TPZBuildMultiphysicsMesh::BuildHybridMesh(), TPZCreateApproximationSpace::BuildMesh(), TPZRefPattern::BuildSideMesh(), pzgeom::TPZChangeEl::ChangeToGeoBlend(), pzgeom::TPZChangeEl::ChangeToQuadratic(), pzgeom::TPZChangeEl::ChangeToQuarterPoint(), TPZAcademicGeoMesh::CheckConsistency(), TCedricTest::CheckConsistency(), TPZCheckGeom::CheckIds(), TPZRefPattern::CheckSideAndSubElConsistency(), TPZRefPattern::CheckSideConsistency(), TPZRefPatternTools::CompareTopologies(), TPZHierarquicalGrid::ComputeExtrusion(), TPZGeoElSide::ComputeNeighbours(), TPZHierarquicalGrid::CreateGeometricElement(), TPZMHMeshControl::CreateInterfaceElements(), TPZMHMeshControl::CreateLagrangeMultiplierMesh(), pzgeom::TPZChangeEl::CreateMiddleNodeAtEdge(), Hdiv3dPaper201504::CreateOneCubo(), Hdiv3dPaper201504::CreateOneCuboWithTetraedrons(), TPZMHMixedMeshControl::CreateSkeleton(), TPZMHMeshControl::CreateSkeleton(), TPZMHMeshControl::CreateSkeletonElements(), TPZMHMeshControl::CriaMalhaTemporaria(), TPZAcademicGeoMesh::DeformGMesh(), TCedricTest::DeformGMesh(), TPZCheckGeom::DivideandCheck(), TPZBuildSBFem::DivideSkeleton(), TPZGeoElSideIndex::Element(), TPZRefPattern::Element(), TPZGeoEl::ElementExists(), ElementIndex(), TPZRefPattern::ExportPattern(), TPZExtendGridDimension::ExtendedMesh(), TPZGeoEl::Father(), TPZRefPattern::FatherSide(), FindApproxElement(), FindCloseElement(), FindElementCaju(), TPZRefPattern::FindRefPattern(), TPZRefPattern::FindSubEl(), TPZRefPatternTools::GenerateGMeshFromElementVec(), TPZGenSpecialGrid::GeneratePolygonalSphereFromOctahedron(), TPZRefPattern::GenerateSideRefPatterns(), Hdiv2dPaper201504::GMesh(), hdivCurvedJCompAppMath::GMeshCilindricalMesh(), Hdiv3dPaper201504::GMeshWithPrism(), TPZMHMeshControl::HybridizeSkeleton(), pzgeom::TPZGeoBlend< TGeo >::InsertExampleElement(), TPZRefPattern::InsertPermuted(), TPZHyperPlaneIntersect::Intersect(), TPZMHMeshControl::IsSibling(), TCedricTest::LoadInterpolation(), hdivCurvedJCompAppMath::MakeCircle(), hdivCurvedJCompAppMath::MakeSphereFromQuadrilateral(), malha_predio(), MalhaCubo(), Input::MalhaCubo(), MalhaGeom(), MalhaPredio(), TPZAnalysisError::MathematicaPlot(), TPZGenGrid::MergeGeoMesh(), TPZRefPatternTools::ModifyElementsBasedOnRefpFound(), TPZRefPattern::operator==(), TPZRefPatternTools::PairMeshesCornerNodesMatchingCoordinates(), TPZCheckGeom::PerformCheck(), TPZRefPattern::PermuteMesh(), TPZRefPattern::Print(), TPZVTKGeoMesh::PrintCMeshVTK(), TPZVTKGeoMesh::PrintGMeshVTK(), TPZVTKGeoMesh::PrintGMeshVTKmy_material(), TPZVTKGeoMesh::PrintGMeshVTKneighbour_material(), TPZVTKGeoMesh::PrintGMeshVTKneighbourhood(), TPZRefPattern::PrintVTK(), TPZGenGrid::ReadAndMergeGeoMesh(), TPZCompEl::Reference(), Reference(), RefinamentoUniforme(), ResetConnectivities(), TPZGenGrid::SetBC(), Input::SetPointBC(), SetPointBC(), TPZGenGrid::SetPointBC(), TPZRefPattern::SetRefPatternMeshToMasterDomain(), TPZRefPattern::ShortPrint(), TPZGeoElRefPattern< TGeo >::SubElement(), TPZGeoElement< TGeo, TRef >::SubElement(), TPZGenSubStruct::SubStructure(), TPZGeoEl::TPZGeoEl(), TPZCheckGeom::UniformRefine(), TPZGenSubStruct::UniformRefine(), UniformRefinement(), TPZGenSpecialGrid::UniformRefinement(), TPZRefPattern::WritePattern(), and TPZInterfaceElement::~TPZInterfaceElement().

◆ ElementVec() [2/2]

const TPZAdmChunkVector<TPZGeoEl *>& TPZGeoMesh::ElementVec ( ) const
inline

Definition at line 141 of file pzgmesh.h.

References fElementVec.

◆ FindApproxElement()

TPZGeoEl * TPZGeoMesh::FindApproxElement ( TPZVec< REAL > &  x,
TPZVec< REAL > &  qsi,
int64_t &  InitialElIndex,
int  targetDim 
) const

◆ FindCloseElement()

TPZGeoEl * TPZGeoMesh::FindCloseElement ( TPZVec< REAL > &  x,
int64_t &  InitialElIndex,
int  targetDim 
) const

◆ FindElement() [1/3]

TPZGeoEl * TPZGeoMesh::FindElement ( TPZVec< REAL > &  x,
TPZVec< REAL > &  qsi,
int64_t &  InitialElIndex,
int  targetDim 
) const

Returns the element that contains the given point x and it respective point in parametric domain qsi.

by Phil

Definition at line 579 of file pzgmesh.cpp.

References dist(), FindApproxElement(), TPZGeoEl::Index(), LOGPZ_ERROR, test::res, sqrt, TPZGeoEl::X(), and ZeroTolerance().

Referenced by TPZAnalysis::DefineElementTable(), Dimension(), TPZMeshSolution::Execute(), GetBoundaryElements(), and Reference().

◆ FindElement() [2/3]

TPZGeoEl * TPZGeoMesh::FindElement ( int64_t  elid)

Find the element with ids elid.

Definition at line 1157 of file pzgmesh.cpp.

References fElementVec, TPZGeoEl::Id(), and TPZChunkVector< T, EXP >::NElements().

◆ FindElement() [3/3]

void TPZGeoMesh::FindElement ( std::map< int64_t, TPZGeoEl *> &  elmap,
int64_t  currentnode,
TPZGeoEl *&  candidate,
int &  candidateside 
)
private

Method which works only for two dimensional topologies!

Find, within elmap, the element which has currentnode as its first boundary side node

Definition at line 358 of file pzgmesh.cpp.

References TPZGeoElSide::Dimension(), TPZGeoElSide::Element(), TPZGeoElSide::Exists(), TPZGeoEl::Father2(), TPZGeoEl::Index(), LOGPZ_DEBUG, LOGPZ_WARN, TPZGeoEl::NCornerNodes(), TPZGeoEl::Neighbour(), TPZGeoEl::NSides(), TPZGeoElSide::Side(), and TPZGeoEl::SideNodeIndex().

◆ FindElementCaju()

TPZGeoEl * TPZGeoMesh::FindElementCaju ( TPZVec< REAL > &  x,
TPZVec< REAL > &  qsi,
int64_t &  InitialElIndex,
int  targetDim 
)

◆ FindNode() [1/2]

TPZGeoNode * TPZGeoMesh::FindNode ( TPZVec< REAL > &  co)

Returns the nearest node to the coordinate. This method is VERY INEFFICIENT.

Definition at line 419 of file pzgmesh.cpp.

References TPZGeoNode::Coord(), dist(), fNodeVec, gn, and TPZChunkVector< T, EXP >::NElements().

Referenced by TPZRefPatternTools::ModifyElementsBasedOnRefpFound(), Reference(), TPZGenGrid::SetBC(), Input::SetPointBC(), SetPointBC(), and TPZGenGrid::SetPointBC().

◆ FindNode() [2/2]

TPZGeoNode * TPZGeoMesh::FindNode ( TPZVec< REAL > &  co,
int &  nodeFoundIndex 
)

◆ FindSubElement()

TPZGeoEl * TPZGeoMesh::FindSubElement ( TPZGeoEl gel,
TPZVec< REAL > &  x,
TPZVec< REAL > &  qsi,
int64_t &  InitialElIndex 
) const

Returns the subelement that contains the given point x and it respective point in parametric domain qsi.

by Caju 2013

Definition at line 900 of file pzgmesh.cpp.

References TPZGeoEl::ComputeXInverse(), TPZGeoEl::Dimension(), dist(), TPZGeoEl::GetAllSiblings(), TPZGeoEl::HasSubElement(), TPZGeoEl::Index(), TPZVec< T >::NElements(), TPZGeoEl::ProjectInParametricDomain(), TPZVec< T >::Resize(), sqrt, and ZeroTolerance().

Referenced by FindApproxElement(), FindElementCaju(), and Reference().

◆ GetBoundaryElements()

void TPZGeoMesh::GetBoundaryElements ( int64_t  IndexNodeFrom,
int64_t  IndexNodeTo,
TPZStack< TPZGeoEl *> &  ElementVec,
TPZStack< int > &  Sides 
)

GetBoundaryElements returns all elements beweeen NodFrom and NodTo counterclock wise this method uses the connectivity of the elements BuildConnectivity should be called to initialize.

The connectivity information this method will only work for grid with 2-D topology the current version will only work for a grid with only one level

Definition at line 238 of file pzgmesh.cpp.

References BuildElementsAroundNode(), fElementVec, FindElement(), TPZGeoEl::Id(), LOGPZ_DEBUG, LOGPZ_WARN, NElements(), TPZVec< T >::NElements(), TPZStack< T, NumExtAlloc >::Push(), and TPZGeoEl::SideNodeIndex().

Referenced by Reference(), TPZGenPartialGrid::SetBC(), and TPZGenGrid::SetBC().

◆ GetNodePtr()

void TPZGeoMesh::GetNodePtr ( TPZVec< int64_t > &  nos,
TPZVec< TPZGeoNode *> &  nodep 
)

Fills the nodep vector with pointers to the nodes identified by their indexes.

Definition at line 191 of file pzgmesh.cpp.

References fNodeVec, and TPZVec< T >::NElements().

Referenced by Reference().

◆ InterfaceMaterial()

int TPZGeoMesh::InterfaceMaterial ( int  leftmaterial,
int  rightmaterial 
)

Returns the interface material associated to left and right element materials. If no interface material is found GMESHNOMATERIAL is returned.

Since
Feb 05, 2004

Definition at line 1548 of file pzgmesh.cpp.

References fInterfaceMaterials, GMESHNOMATERIAL, and PZError.

Referenced by TPZBuildMultiphysicsMesh::BuildHybridMesh(), TPZMultiphysicsElement::CreateInterface(), TPZInterpolationSpace::CreateInterface(), and Reference().

◆ Name()

std::string& TPZGeoMesh::Name ( )
inline

Definition at line 135 of file pzgmesh.h.

References fName.

Referenced by TPZCompMesh::TPZCompMesh().

◆ NElements()

int64_t TPZGeoMesh::NElements ( ) const
inline

Number of elements of the mesh.

Definition at line 129 of file pzgmesh.h.

References TPZChunkVector< T, EXP >::NElements().

Referenced by TCedricTest::AddBoundaryElements(), TPZAcademicGeoMesh::AddBoundaryElements(), TPZMHMeshControl::AddBoundaryElements(), TPZAcademicGeoMesh::AddBoundaryElementsByCoord(), TPZBuildSBFem::AddSkeletonElements(), TPZMHMixedHybridMeshControl::AdjustBoundaryConditionsOfFractures(), Area(), TPZBuildSBFem::BuildComputationalMeshFromSkeleton(), TPZBuildSBFem::BuildComputationMesh(), BuildConnectivity(), BuildConnectivityOld(), TPZBuildMultiphysicsMesh::BuildHybridMesh(), TPZMHMixedMeshControl::BuildMultiPhysicsMesh(), TPZMHMeshControl::BuildWrapMesh(), TPZAcademicGeoMesh::CheckConsistency(), TCedricTest::CheckConsistency(), TPZCheckGeom::CheckIds(), TPZCheckGeom::CheckUniqueId(), TPZRefPatternTools::CompareTopologies(), TPZHierarquicalGrid::ComputeExtrusion(), TPZHybridizeHDiv::ComputePeriferalMaterialIds(), TPZRefPattern::ComputeTransforms(), TPZBuildSBFem::Configure(), CreateCompMesh(), TPZMHMixedHybridMeshControl::CreateHDivWrappers(), TPZMHMeshControl::CreateInternalElements(), TPZMHMixedHybridMeshControl::CreateInternalFluxElements(), TPZMHMixedMeshControl::CreateInternalFluxElements(), TPZMHMeshControl::CreateLagrangeMultiplierMesh(), TPZMHMixedHybridMeshControl::CreateLowerDimensionPressureElements(), Hdiv3dPaper201504::CreateOneCubo(), Hdiv3dPaper201504::CreateOneCuboWithTetraedrons(), TPZMHMixedHybridMeshControl::CreatePressureInterfaces(), TPZMHMixedMeshControl::CreatePressureMHMMesh(), TPZRefPattern::CreateRefinementPattern(), TPZMHMixedHybridMeshControl::CreateSkeletonAxialFluxes(), TPZMHMeshControl::CreateSkeletonElements(), TPZBuildSBFem::CreateVolumetricElements(), TPZBuildSBFem::CreateVolumetricElementsFromSkeleton(), TPZMHMeshControl::CriaMalhaTemporaria(), TPZMHMeshControl::DefinePartition(), TPZMHMeshControl::DefinePartitionbyCoarseIndices(), TPZCheckGeom::DivideandCheck(), TPZMHMeshControl::DivideBoundarySkeletonElements(), TPZMHMeshControl::DivideSkeletonElements(), TPZRefPattern::ExportPattern(), FindElementCaju(), TPZGenGrid::GenerateElements(), TPZGenGrid::GenerateElementsZigZag(), TPZGenSpecialGrid::GeneratePolygonalSphereFromOctahedron(), TPZRefPattern::GenerateSideRefPatterns(), TPZGmshReader::GeometricGmshMesh3(), TPZGmshReader::GeometricGmshMesh4(), GetBoundaryElements(), Hdiv2dPaper201504::GMesh(), hdivCurvedJCompAppMath::GMeshCilindricalMesh(), Hdiv3dPaper201504::GMeshWithPrism(), TPZMHMeshControl::HybridizeSkeleton(), TPZHyperPlaneIntersect::Intersect(), TCedricTest::LoadInterpolation(), main(), hdivCurvedJCompAppMath::MakeCircle(), hdivCurvedJCompAppMath::MakeSphereFromQuadrilateral(), MalhaCubo(), MalhaGeom(), TPZAnalysisError::MathematicaPlot(), TPZGenGrid::MergeGeoMesh(), TPZRefPatternTools::ModifyElementsBasedOnRefpFound(), TPZRefPattern::operator==(), TPZCheckGeom::PerformCheck(), TPZAnalysis::PostProcessErrorSerial(), TPZVTKGeoMesh::PrintCMeshVTK(), TPZVTKGeoMesh::PrintGMeshVTK(), TPZVTKGeoMesh::PrintGMeshVTKmy_material(), TPZVTKGeoMesh::PrintGMeshVTKneighbour_material(), TPZRefPattern::PrintVTK(), PYBIND11_MODULE(), TPZGenGrid::ReadAndMergeGeoMesh(), RefinamentoUniforme(), TPZRefPatternTools::RefineDirectional(), ResetConnectivities(), TPZGenGrid::SetBC(), TPZBuildSBFem::SetPartitions(), TPZMHMixedHybridMeshControl::SplitFluxElementsAroundFractures(), TPZBuildSBFem::StandardConfiguration(), TPZDohrStructMatrix::SubStructure(), SubStructure(), TPZGenSubStruct::SubStructure(), TPZBuildSBFem::TPZBuildSBFem(), TPZHierarquicalGrid::TPZHierarquicalGrid(), TPZMeshSolution::TPZMeshSolution(), TPZMHMeshControl::TPZMHMeshControl(), TPZCheckGeom::UniformRefine(), TPZGenSubStruct::UniformRefine(), UniformRefinement(), and TPZGenSpecialGrid::UniformRefinement().

◆ NNodes()

int64_t TPZGeoMesh::NNodes ( ) const
inline

◆ NodeIndex()

int64_t TPZGeoMesh::NodeIndex ( TPZGeoNode nod)

Returns the index of the given node into the fNodeVec.

Since
2002-05-02 (Cesar)

Definition at line 1185 of file pzgmesh.cpp.

References TPZChunkVector< T, EXP >::NElements(), NodeVec(), and numel.

Referenced by Reference().

◆ NodeVec() [1/2]

TPZAdmChunkVector<TPZGeoNode>& TPZGeoMesh::NodeVec ( )
inline

Definition at line 140 of file pzgmesh.h.

References fNodeVec.

Referenced by TPZAcademicGeoMesh::AddBoundaryElementsByCoord(), TPZBuildSBFem::AddPartition(), TPZMulticamadaOrthotropic::AddPlacaOrtho(), TPZRefPattern::BuildSideMesh(), pzgeom::TPZChangeEl::ChangeToQuarterPoint(), TPZCheckGeom::CheckIds(), TPZCheckGeom::CheckUniqueId(), pzgeom::TPZCylinderMap< TGeo >::ComputeCornerCoordinates(), TPZHierarquicalGrid::ComputeExtrusion(), TPZBuildSBFem::CreateElementCenterNodes(), TPZHierarquicalGrid::CreateGeometricElement(), TPZCheckGeom::CreateMesh(), pzgeom::TPZChangeEl::CreateMiddleNodeAtEdge(), TPZRefPattern::CreateMidSideNodes(), Hdiv3dPaper201504::CreateOneCubo(), Hdiv3dPaper201504::CreateOneCuboWithTetraedrons(), TPZAcademicGeoMesh::DeformGMesh(), TCedricTest::DeformGMesh(), TPZExtendGridDimension::DeformMesh(), TPZRefPatternTools::DragModelPatNodes(), TPZRefPattern::ExportPattern(), TPZExtendGridDimension::ExtendedMesh(), TPZRefPatternTools::GenerateGMeshFromElementVec(), TPZGenSubStruct::GenerateMesh(), TCedricTest::GenerateNodes(), TPZAcademicGeoMesh::GenerateNodes(), Hdiv3dPaper201504::GenerateNodes(), TPZGenGrid::GenerateNodes(), TPZRefPattern::GeneratePermutations(), TPZGenSpecialGrid::GeneratePolygonalSphereFromOctahedron(), TPZReadGIDGrid::GeometricGIDMesh(), TPZGmshReader::GeometricGmshMesh3(), TPZGmshReader::GeometricGmshMesh4(), TPZReadMeshHR::GetNodeIndex(), pzgeom::TPZEllipse3D::GetNodesCoords(), Hdiv2dPaper201504::GMesh(), hdivCurvedJCompAppMath::GMeshCilindricalMesh(), Hdiv3dPaper201504::GMeshWithPrism(), Height(), TPZDohrStructMatrix::IdentifyCornerNodes(), pzgeom::TPZQuadraticPrism::InsertExampleElement(), pzgeom::TPZGeoCube::InsertExampleElement(), pzgeom::TPZQuadraticPyramid::InsertExampleElement(), pzgeom::TPZGeoTetrahedra::InsertExampleElement(), pzgeom::TPZQuadraticCube::InsertExampleElement(), pzgeom::TPZGeoPyramid::InsertExampleElement(), pzgeom::TPZQuadraticTetra::InsertExampleElement(), pzgeom::TPZGeoPrism::InsertExampleElement(), pzgeom::TPZGeoLinear::InsertExampleElement(), pzgeom::TPZGeoPoint::InsertExampleElement(), pzgeom::TPZQuadraticLine::InsertExampleElement(), pzgeom::TPZQuadraticTrig::InsertExampleElement(), pzgeom::TPZGeoQuad::InsertExampleElement(), pzgeom::TPZQuadraticQuad::InsertExampleElement(), pzgeom::TPZGeoTriangle::InsertExampleElement(), pzgeom::TPZEllipse3D::InsertExampleElement(), pzgeom::TPZQuadTorus::InsertExampleElement(), pzgeom::TPZWavyLine::InsertExampleElement(), pzgeom::TPZTriangleTorus::InsertExampleElement(), pzgeom::TPZQuadSphere< GeomQuad >::InsertExampleElement(), pzgeom::TPZArc3D::InsertExampleElement(), pzgeom::TPZTriangleSphere< GeomTriang >::InsertExampleElement(), TPZGeoMeshBuilder::InsertNodes(), TPZHyperPlaneIntersect::Intersect(), TPZParSkylineStructMatrix::main(), TPBSpStructMatrix::main(), TPZSymetricSpStructMatrix::main(), TPZSpStructMatrix::main(), TPZFrontStructMatrix< front >::main(), TPZSubCompMesh::main(), hdivCurvedJCompAppMath::MakeCircle(), hdivCurvedJCompAppMath::MakeSphereFromQuadrilateral(), malha_predio(), MalhaCubo(), Input::MalhaCubo(), MalhaGeom(), MalhaPredio(), TPZAnalysisError::MathematicaPlot(), TPZGenGrid::MergeGeoMesh(), TPZGeoElRefPattern< TGeo >::MidSideNodeIndex(), TPZRefPatternTools::ModifyElementsBasedOnRefpFound(), pzgeom::TPZChangeEl::NearestNode(), pzrefine::TPZRefPrism::NewMidSideNode(), pzrefine::TPZRefTriangle::NewMidSideNode(), pzrefine::TPZRefCube::NewMidSideNode(), pzrefine::TPZRefPyramid::NewMidSideNode(), pzrefine::TPZRefQuad::NewMidSideNode(), pzrefine::TPZRefLinear::NewMidSideNode(), pzrefine::TPZRefTetrahedra::NewMidSideNode(), TPZGeoEl::Node(), NodeIndex(), TPZGeoEl::NodePtr(), TPZRefPatternTools::NodesHunter(), TPZCompElDisc::NormalizeConst(), TPZRefPattern::operator==(), TPZRefPatternTools::PairMeshesCornerNodesMatchingCoordinates(), TPZRefPatternTools::PairMeshesNodesMatchingCoordinates(), TPZVTKGeoMesh::PrintCMeshVTK(), TPZVTKGeoMesh::PrintGMeshVTK(), TPZVTKGeoMesh::PrintGMeshVTKmy_material(), TPZVTKGeoMesh::PrintGMeshVTKneighbour_material(), TPZRefPattern::PrintVTK(), TPZReadTetGen::ProcessNodes(), PYBIND11_MODULE(), TPZGenPartialGrid::Read(), TPZRefPattern::ReadAndCreateRefinementPattern(), TPZGenGrid::ReadAndMergeGeoMesh(), TPZGMSHReadMesh::ReadMesh2D(), TPZGMSHReadMesh::ReadMesh2D2(), TPZGMSHReadMesh::ReadMesh3D(), TPZReadMeshHR::ReadNodes(), TPZAcademicGeoMesh::RedBlackPyramidalAndHexagonalMesh(), TPZHyperPlaneIntersect::Reorder(), TPZHyperPlaneIntersect::ReorderGeneral(), hdivCurvedJCompAppMath::RotateGeomesh(), pzgeom::TPZEllipse3D::SetAxes(), TPZVTKGeoMesh::SetMaterialVTK(), pzgeom::TPZEllipse3D::SetNodesCoords(), TPZRefPattern::SetRefPatternMeshToMasterDomain(), TPZRefPattern::ShortPrint(), TPZGeoEl::SideArea(), TPZGeoEl::SideNodePtr(), TPZCompElDisc::SizeOfElement(), TPZGeoEl::SmallerEdge(), TCedricTest::TCedricTest(), TCedricTest::TetrahedralMeshUsingRefinement(), TPZAcademicGeoMesh::TPZAcademicGeoMesh(), and TPZMulticamadaOrthotropic::TPZMulticamadaOrthotropic().

◆ NodeVec() [2/2]

const TPZAdmChunkVector<TPZGeoNode>& TPZGeoMesh::NodeVec ( ) const
inline

Definition at line 142 of file pzgmesh.h.

References Area(), fNodeVec, ResetReference(), and RestoreReference().

◆ operator=()

TPZGeoMesh & TPZGeoMesh::operator= ( const TPZGeoMesh cp)

◆ Print()

void TPZGeoMesh::Print ( std::ostream &  out = std::cout) const
virtual

◆ PrintTopologicalInfo()

void TPZGeoMesh::PrintTopologicalInfo ( std::ostream &  out = std::cout) const
virtual

◆ Read()

void TPZGeoMesh::Read ( TPZStream buf,
void *  context 
)
overridevirtual

◆ ReallyNEl()

int64_t TPZGeoMesh::ReallyNEl ( )
inline

◆ Reference()

TPZCompMesh* TPZGeoMesh::Reference ( ) const
inline

◆ ResetConnectivities()

void TPZGeoMesh::ResetConnectivities ( )

◆ ResetReference()

void TPZGeoMesh::ResetReference ( )

Resets all load references in elements and nodes.

Definition at line 197 of file pzgmesh.cpp.

References fElementVec, fReference, TPZChunkVector< T, EXP >::NElements(), and TPZGeoEl::ResetReference().

Referenced by TPZMHMeshControl::AddBoundaryElements(), TPZBuildMultiphysicsMesh::AddElements(), TPZMultiphysicsCompMesh::AddElements(), TPZMHMixedHybridMeshControl::AdjustBoundaryConditionsOfFractures(), TPZPostProcAnalysis::AutoBuildDisc(), TPZBuildMultiphysicsMesh::BuildHybridMesh(), TPZMultiphysicsCompMesh::BuildMultiphysicsSpace(), TPZMultiphysicsCompMesh::BuildMultiphysicsSpaceWithMemory(), TPZCompMesh::BuildTransferMatrix(), TPZCompMesh::BuildTransferMatrixDesc(), TPZCompMesh::CleanUp(), Hdiv2dPaper201504::CMeshMixed(), hdivCurvedJCompAppMath::CMeshMixed(), Hdiv3dPaper201504::CMeshMixed(), TPZMHMixedMeshControl::CreateHDivPressureMHMMesh(), TPZMHMixedHybridMeshControl::CreateHDivWrappers(), TPZHybridizeHDiv::CreateInterfaceElements(), TPZMHMixedHybridMeshControl::CreateInternalAxialFluxes(), TPZMHMeshControl::CreateInternalElements(), TPZMHMixedHybridMeshControl::CreateInternalFluxElements(), TPZMHMixedMeshControl::CreateInternalFluxElements(), TPZMHMeshControl::CreateLagrangeMultiplierMesh(), TPZMHMixedHybridMeshControl::CreateLowerDimensionPressureElements(), TPZMHMixedHybridMeshControl::CreateMultiPhysicsInterfaceElements(), TPZMHMixedMeshControl::CreateMultiPhysicsInterfaceElements(), TPZMHMixedHybridMeshControl::CreatePressureInterfaces(), TPZMHMixedMeshControl::CreatePressureMHMMesh(), TPZMHMixedMeshControl::CreateRotationMesh(), TPZMHMixedMeshControl::CreateSkeleton(), TPZMHMixedHybridMeshControl::CreateSkeletonAxialFluxes(), TPZMHMeshControl::CreateSkeletonElements(), TPZBuildSBFem::CreateVolumetricElements(), TPZBuildSBFem::CreateVolumetricElementsFromSkeleton(), TPZMHMeshControl::CriaMalhaTemporaria(), TPZMHMixedMeshControl::DeletePressureElements(), TPZCompMeshReferred::DivideReferredEl(), TPZMultiphysicsCompEl< TGeometry >::GetReferenceIndexVec(), TPZCompMeshTools::GroupElements(), TPZMHMixedHybridMeshControl::GroupElements(), TPZMHMixedMeshChannelControl::HideTheElements(), TPZMHMixedMeshControl::HideTheElements(), TPZCreateApproximationSpace::Hybridize(), TPZHybridizeHDiv::HybridizeInternalSides(), TPZMHMixedMeshControl::HybridizeSkeleton(), TPZMHMeshControl::HybridizeSkeleton(), TPZMHMixedMeshControl::InsertPeriferalHdivMaterialObjects(), TPZCompMeshReferred::LoadReferred(), TPZMGAnalysis::MeshError(), NodeVec(), TPZNonLinMultGridAnalysis::OneGridAlgorithm(), TPZCompMesh::operator=(), TPZCompMesh::ProjectSolution(), RestoreReference(), TPZCompMeshTools::SetPressureOrders(), TPZMHMixedHybridMeshControl::SplitFluxElementsAroundFractures(), TPZGenSubStruct::SubStructure(), TPZMHMeshControl::SubStructure(), TPZCompMesh::TPZCompMesh(), TPZMHMeshControl::TransferToMultiphysics(), TPZNonLinMultGridAnalysis::TwoGridAlgorithm(), TPZMGAnalysis::UniformlyRefineMesh(), TPZNonLinMultGridAnalysis::UniformlyRefineMesh(), TPZHybridizeHDiv::VerifySolutionConsistency(), TPZCompMesh::~TPZCompMesh(), TPZMHMeshControl::~TPZMHMeshControl(), and TPZSubCompMesh::~TPZSubCompMesh().

◆ RestoreReference()

void TPZGeoMesh::RestoreReference ( TPZCompMesh cmesh)

Restore all reference in elements from computational mesh criated from current geometrical mesh previously.

Definition at line 209 of file pzgmesh.cpp.

References TPZCompMesh::ElementVec(), fReference, TPZChunkVector< T, EXP >::NElements(), PZError, TPZCompEl::Reference(), ResetReference(), and TPZGeoEl::SetReference().

Referenced by NodeVec().

◆ SetDimension()

void TPZGeoMesh::SetDimension ( int  dim)
inline

◆ SetElementIdUsed()

void TPZGeoMesh::SetElementIdUsed ( int64_t  id)
inline

Indicates that an element with id was created.

Definition at line 111 of file pzgmesh.h.

References fElementMaxId.

Referenced by TPZGeoEl::TPZGeoEl().

◆ SetMaxElementId()

void TPZGeoMesh::SetMaxElementId ( int64_t  id)
inline

Used in patch meshes.

Definition at line 123 of file pzgmesh.h.

References fElementMaxId.

Referenced by TPZHierarquicalGrid::ComputeExtrusion(), TPZGmshReader::GeometricGmshMesh3(), and TPZGmshReader::GeometricGmshMesh4().

◆ SetMaxNodeId()

void TPZGeoMesh::SetMaxNodeId ( int64_t  id)
inline

◆ SetName()

void TPZGeoMesh::SetName ( const std::string &  nm)

Definition at line 125 of file pzgmesh.cpp.

References fName.

Referenced by ReallyNEl(), ResetConnectivities(), and TPZNonLinMultGridAnalysis::TwoGridAlgorithm().

◆ SetNodeIdUsed()

void TPZGeoMesh::SetNodeIdUsed ( int64_t  id)
inline

Indicates that a node with id was created.

Definition at line 108 of file pzgmesh.h.

References fNodeMaxId.

Referenced by pzgeom::TPZChangeEl::CreateMiddleNodeAtEdge(), TPZGeoNode::Initialize(), and TPZGeoNode::TPZGeoNode().

◆ SetReference()

void TPZGeoMesh::SetReference ( TPZCompMesh ref)
inline

Sets the reference of the geometric grid to ref.

Definition at line 161 of file pzgmesh.h.

Referenced by TPZCompMesh::LoadReferences(), and TPZCompMesh::TPZCompMesh().

◆ Write()

void TPZGeoMesh::Write ( TPZStream buf,
int  withclassid 
) const
overridevirtual

Writes this object to the TPZStream buffer. Include the classid if withclassid = true.

Writes this object to the TPZStream buffer. Include the classid if withclassid = true

Reimplemented from TPZSavable.

Definition at line 1505 of file pzgmesh.cpp.

References fDim, fElementMaxId, fElementVec, fInterfaceMaterials, fName, fNodeMaxId, fNodeVec, fReference, LOGPZ_DEBUG, TPZStream::Write(), TPZAdmChunkVector< T, EXP >::Write(), TPZPersistenceManager::WritePointer(), and TPZStream::WritePointers().

Referenced by main(), TPZRefPattern::Write(), and TPZEulerAnalysis::WriteCMesh().

Member Data Documentation

◆ fDim

int TPZGeoMesh::fDim
protected

dimension of the geometric domain

Definition at line 70 of file pzgmesh.h.

Referenced by Dimension(), operator=(), Read(), TPZGeoMesh(), and Write().

◆ fElementMaxId

int64_t TPZGeoMesh::fElementMaxId
protected

Maximum id used by all elements of this mesh.

Definition at line 67 of file pzgmesh.h.

Referenced by CleanUp(), CreateUniqueElementId(), operator=(), Read(), SetElementIdUsed(), SetMaxElementId(), TPZGeoMesh(), and Write().

◆ fElementVec

TPZAdmChunkVector<TPZGeoEl *> TPZGeoMesh::fElementVec
protected

◆ fInterfaceMaterials

InterfaceMaterialsMap TPZGeoMesh::fInterfaceMaterials
protected

Datastructure which indicates the index of the interface material which needs to be created between two different materials.

See also
AddInterfaceMaterial

Definition at line 78 of file pzgmesh.h.

Referenced by AddInterfaceMaterial(), ClearInterfaceMaterialsMap(), InterfaceMaterial(), operator=(), Print(), Read(), and Write().

◆ fName

std::string TPZGeoMesh::fName
protected

TPZGeoMesh name for model identification.

Definition at line 52 of file pzgmesh.h.

Referenced by Name(), operator=(), Print(), PrintTopologicalInfo(), Read(), SetName(), and Write().

◆ fNodeMaxId

int64_t TPZGeoMesh::fNodeMaxId
protected

Maximum id used by all nodes of this mesh.

Definition at line 64 of file pzgmesh.h.

Referenced by CleanUp(), CreateUniqueNodeId(), operator=(), Read(), SetMaxNodeId(), SetNodeIdUsed(), TPZGeoMesh(), and Write().

◆ fNodeVec

TPZAdmChunkVector<TPZGeoNode> TPZGeoMesh::fNodeVec
protected

List of nodes.

Definition at line 61 of file pzgmesh.h.

Referenced by CleanUp(), FindNode(), GetNodePtr(), NodeVec(), operator=(), Print(), PrintTopologicalInfo(), Read(), and Write().

◆ fReference

TPZCompMesh* TPZGeoMesh::fReference
protected

Computational mesh associated.

Definition at line 55 of file pzgmesh.h.

Referenced by operator=(), Read(), Reference(), ResetReference(), RestoreReference(), TPZGeoMesh(), and Write().


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