NeoPZ
|
This class implements a geometric mesh for the pz environment. Geometry. More...
#include <pzgmesh.h>
Public Member Functions | |
TPZGeoMesh () | |
Constructors and destructor. More... | |
TPZGeoMesh (const TPZGeoMesh &cp) | |
Copy constructor. More... | |
TPZGeoMesh & | operator= (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... | |
TPZGeoEl * | Element (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... | |
TPZCompMesh * | Reference () 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 |
TPZGeoNode * | FindNode (TPZVec< REAL > &co) |
Returns the nearest node to the coordinate. This method is VERY INEFFICIENT. More... | |
TPZGeoNode * | FindNode (TPZVec< REAL > &co, int &nodeFoundIndex) |
TPZGeoEl * | 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. More... | |
TPZGeoEl * | FindElementCaju (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... | |
TPZGeoEl * | FindApproxElement (TPZVec< REAL > &x, TPZVec< REAL > &qsi, int64_t &InitialElIndex, int targetDim) const |
find an element/parameter close to the point More... | |
TPZGeoEl * | 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. More... | |
TPZGeoEl * | FindCloseElement (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... | |
TPZGeoEl * | FindElement (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 TPZGeoEl * | CreateGeoElementMapped (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 TPZGeoEl * | CreateGeoElement (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 TPZGeoEl * | CreateGeoBlendElement (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... | |
TPZCompMesh * | fReference |
Computational mesh associated. More... | |
TPZAdmChunkVector< TPZGeoEl * > | fElementVec |
List of pointers to finite elements. More... | |
TPZAdmChunkVector< TPZGeoNode > | fNodeVec |
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 TPZSavable * | CreateInstance (const int &classId) |
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
|
protected |
TPZGeoMesh::TPZGeoMesh | ( | ) |
Constructors and destructor.
Definition at line 47 of file pzgmesh.cpp.
References fDim, fElementMaxId, fNodeMaxId, and fReference.
TPZGeoMesh::TPZGeoMesh | ( | const TPZGeoMesh & | cp | ) |
|
virtual |
int TPZGeoMesh::AddInterfaceMaterial | ( | int | leftmaterial, |
int | rightmaterial, | ||
int | interfacematerial | ||
) |
Add an interface material associated to left and right element materials.
Definition at line 1534 of file pzgmesh.cpp.
References fInterfaceMaterials.
Referenced by MalhaGeom(), and Reference().
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().
REAL TPZGeoMesh::Area | ( | int | matid | ) |
REAL TPZGeoMesh::Area | ( | std::set< int > & | matids | ) |
Compute the area of the domain.
Definition at line 1620 of file pzgmesh.cpp.
References Dimension(), TPZGeoEl::Dimension(), TPZGeoElSide::Element(), ElementVec(), TPZGeoEl::HasSubElement(), TPZGeoEl::Index(), TPZGeoEl::MaterialId(), TPZGeoElSide::Neighbour(), NElements(), TPZGeoEl::NSides(), and TPZGeoEl::SideArea().
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().
void TPZGeoMesh::BuildConnectivityOld | ( | ) |
Alternative method for computing the connectivity.
Definition at line 1056 of file pzgmesh.cpp.
References TPZGeoElSide::Exists(), fElementVec, TPZGeoEl::Neighbour(), TPZGeoEl::NeighbourExists(), NElements(), NNodes(), TPZGeoEl::NNodes(), TPZGeoEl::NodeIndex(), TPZGeoEl::NSideNodes(), TPZGeoEl::NSides(), TPZGeoElSide::SetConnectivity(), TPZGeoEl::SetSideDefined(), TPZGeoElSide::Side(), TPZGeoEl::SideIsUndefined(), TPZGeoEl::SideNodeIndex(), and TPZGeoEl::WhichSide().
Referenced by Reference().
|
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().
|
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().
void TPZGeoMesh::CleanUp | ( | ) |
Deletes all items in the TPZGeoMesh.
Delete element, nodes, Cosys, boundary elements and boundary nodes in list
Definition at line 106 of file pzgmesh.cpp.
References TPZAdmChunkVector< T, EXP >::CompactDataStructure(), TPZGeoEl::FatherIndex(), fElementMaxId, fElementVec, fNodeMaxId, fNodeVec, TPZGeoEl::HasSubElement(), TPZChunkVector< T, EXP >::NElements(), TPZAdmChunkVector< T, EXP >::NOW, TPZGeoEl::ResetSubElements(), TPZAdmChunkVector< T, EXP >::Resize(), and TPZGeoEl::SetFatherIndex().
Referenced by operator=(), and ~TPZGeoMesh().
void TPZGeoMesh::ClearInterfaceMaterialsMap | ( | ) |
Delete all interface materials in map.
Definition at line 1568 of file pzgmesh.cpp.
References fInterfaceMaterials.
Referenced by Reference().
|
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().
|
virtual |
Generic method for creating a geometric element. Putting this method centrally facilitates the modification of the element type all through the code.
type | element topology |
matid | material id |
cornerindexes | indexes of the corner nodes of the element |
index | index of the element in the vector of element pointers |
reftype | defines 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().
|
virtual |
Generic method for creating a geometric element. Putting this method centrally facilitates the modification of the element type all through the code.
type | element topology |
nodeindexes | indexes of the corner nodes of the element |
matid | material id |
index | index 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().
|
inline |
Returns ++fElementMaxId.
Definition at line 117 of file pzgmesh.h.
References fElementMaxId.
Referenced by TPZGenGrid::MergeGeoMesh(), and TPZGeoEl::TPZGeoEl().
|
inline |
Returns ++fNodeMaxId.
Definition at line 114 of file pzgmesh.h.
References fNodeMaxId.
Referenced by TPZExtendGridDimension::ExtendedMesh(), TPZReadGIDGrid::GeometricGIDMesh(), and TPZGeoNode::Initialize().
void TPZGeoMesh::DeleteElement | ( | TPZGeoEl * | gel, |
int64_t | index = -1 |
||
) |
Centralized method to delete elements.
gel | pointer to the element to be deleted |
index | index of the element |
Definition at line 1456 of file pzgmesh.cpp.
References DebugStop, ElementIndex(), fElementVec, TPZGeoEl::HasSubElement(), TPZGeoEl::Index(), TPZGeoEl::NSubElements(), PZError, TPZGeoEl::RemoveConnectivities(), and TPZGeoEl::SubElement().
Referenced by pzgeom::TPZChangeEl::ChangeToGeoBlend(), pzgeom::TPZChangeEl::ChangeToQuadratic(), TPZGenSpecialGrid::GeneratePolygonalSphereFromOctahedron(), and Reference().
|
inline |
Get Dimension.
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().
|
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().
int64_t TPZGeoMesh::ElementIndex | ( | TPZGeoEl * | gel | ) |
Returns the index of the given element into the fElementVec.
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().
|
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().
|
inline |
Definition at line 141 of file pzgmesh.h.
References fElementVec.
TPZGeoEl * TPZGeoMesh::FindApproxElement | ( | TPZVec< REAL > & | x, |
TPZVec< REAL > & | qsi, | ||
int64_t & | InitialElIndex, | ||
int | targetDim | ||
) | const |
find an element/parameter close to the point
Definition at line 747 of file pzgmesh.cpp.
References TPZGeoEl::ComputeXInverse(), TPZGeoNode::Coord(), DebugStop, TPZGeoEl::Dimension(), dist(), TPZGeoElSide::Element(), ElementVec(), TPZVec< T >::Fill(), FindCloseElement(), FindSubElement(), TPZGeoEl::Index(), LOGPZ_DEBUG, TPZGeoElSide::Neighbour(), TPZGeoEl::NNodes(), TPZGeoEl::NodePtr(), TPZStack< T, NumExtAlloc >::Pop(), TPZGeoEl::ProjectInParametricDomain(), TPZStack< T, NumExtAlloc >::Push(), TPZVec< T >::Resize(), TPZVec< T >::size(), TPZGeoElSide::X(), TPZGeoEl::X(), and ZeroTolerance().
Referenced by FindElement(), and Reference().
TPZGeoEl * TPZGeoMesh::FindCloseElement | ( | TPZVec< REAL > & | x, |
int64_t & | InitialElIndex, | ||
int | targetDim | ||
) | const |
Returns the element that is close to the given point x.
by Philippe 2013
Definition at line 472 of file pzgmesh.cpp.
References TPZChunkVector< T, EXP >::begin(), TPZGeoElSide::CenterX(), DebugStop, dist(), ElementVec(), fElementVec, TPZGeoNode::GetCoordinates(), TPZGeoEl::Index(), LOGPZ_DEBUG, TPZGeoEl::NCornerNodes(), TPZGeoElSide::Neighbour(), TPZChunkVector< T, EXP >::NElements(), TPZGeoEl::NodePtr(), TPZGeoEl::NSides(), and sqrt.
Referenced by FindApproxElement(), FindElementCaju(), and Reference().
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().
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().
|
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().
TPZGeoEl * TPZGeoMesh::FindElementCaju | ( | 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.
by Caju
Definition at line 603 of file pzgmesh.cpp.
References TPZGeoEl::ComputeXInverse(), TPZGeoEl::Dimension(), dist(), TPZGeoElSide::Element(), ElementVec(), FindCloseElement(), FindSubElement(), TPZGeoEl::Index(), LOGPZ_DEBUG, TPZGeoEl::LowestFather(), TPZGeoElSide::Neighbour(), TPZGeoEl::Neighbour(), NElements(), TPZVec< T >::NElements(), TPZGeoEl::NSides(), TPZGeoEl::ProjectBissectionInParametricDomain(), TPZGeoEl::ProjectInParametricDomain(), TPZVec< T >::Resize(), sqrt, and ZeroTolerance().
Referenced by Reference().
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().
TPZGeoNode * TPZGeoMesh::FindNode | ( | TPZVec< REAL > & | co, |
int & | nodeFoundIndex | ||
) |
Definition at line 443 of file pzgmesh.cpp.
References TPZGeoNode::Coord(), dist(), fNodeVec, gn, and TPZChunkVector< T, EXP >::NElements().
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().
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().
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().
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.
Definition at line 1548 of file pzgmesh.cpp.
References fInterfaceMaterials, GMESHNOMATERIAL, and PZError.
Referenced by TPZBuildMultiphysicsMesh::BuildHybridMesh(), TPZMultiphysicsElement::CreateInterface(), TPZInterpolationSpace::CreateInterface(), and Reference().
|
inline |
Definition at line 135 of file pzgmesh.h.
References fName.
Referenced by TPZCompMesh::TPZCompMesh().
|
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().
|
inline |
Number of nodes of the mesh.
Definition at line 126 of file pzgmesh.h.
References TPZChunkVector< T, EXP >::NElements().
Referenced by BuildConnectivity(), BuildConnectivityOld(), TPZCheckGeom::CheckIds(), TPZCheckGeom::CheckUniqueId(), TPZRefPatternTools::CompareTopologies(), TPZHierarquicalGrid::ComputeExtrusion(), TPZHierarquicalGrid::CreateGeometricElement(), pzgeom::TPZChangeEl::CreateMiddleNodeAtEdge(), TPZRefPattern::CreateNewNodes(), TPZExtendGridDimension::DeformMesh(), TPZRefPattern::ExportPattern(), TPZRefPatternTools::GenerateGMeshFromElementVec(), TPZGenGrid::GenerateNodes(), TPZGenSpecialGrid::GeneratePolygonalSphereFromOctahedron(), TPZGmshReader::GeometricGmshMesh3(), TPZGmshReader::GeometricGmshMesh4(), TPZAnalysisError::MathematicaPlot(), TPZGenGrid::MergeGeoMesh(), TPZRefPatternTools::ModifyElementsBasedOnRefpFound(), pzgeom::TPZChangeEl::NearestNode(), TPZRefPattern::NNodes(), TPZRefPattern::operator==(), TPZRefPatternTools::PairMeshesNodesMatchingCoordinates(), TPZVTKGeoMesh::PrintGMeshVTK(), TPZRefPattern::PrintVTK(), PYBIND11_MODULE(), TPZGenGrid::ReadAndMergeGeoMesh(), TPZAcademicGeoMesh::RedBlackPyramidalAndHexagonalMesh(), hdivCurvedJCompAppMath::RotateGeomesh(), and TPZHierarquicalGrid::TPZHierarquicalGrid().
int64_t TPZGeoMesh::NodeIndex | ( | TPZGeoNode * | nod | ) |
Returns the index of the given node into the fNodeVec.
Definition at line 1185 of file pzgmesh.cpp.
References TPZChunkVector< T, EXP >::NElements(), NodeVec(), and numel.
Referenced by Reference().
|
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().
|
inline |
Definition at line 142 of file pzgmesh.h.
References Area(), fNodeVec, ResetReference(), and RestoreReference().
TPZGeoMesh & TPZGeoMesh::operator= | ( | const TPZGeoMesh & | cp | ) |
Operator of copy.
Definition at line 62 of file pzgmesh.cpp.
References CleanUp(), fDim, fElementMaxId, fElementVec, fInterfaceMaterials, fName, fNodeMaxId, fNodeVec, fReference, TPZChunkVector< T, EXP >::NElements(), and TPZAdmChunkVector< T, EXP >::Resize().
Referenced by TPZGeoMesh().
|
virtual |
Print the information of the grid to an ostream.
Definition at line 130 of file pzgmesh.cpp.
References fElementVec, fInterfaceMaterials, fName, fNodeVec, m, TPZChunkVector< T, EXP >::NElements(), and TPZAdmChunkVector< T, EXP >::NFreeElements().
Referenced by TPZMultiphysicsCompMesh::AddElements(), TPZBuildMultiphysicsMesh::BuildHybridMesh(), TPZMHMixedMeshControl::CreateHDivPressureMHMMesh(), TPZMHMeshControl::CreateSkeletonElements(), TPZCompElDisc::Divide(), TCedricTest::InterpolationError(), TPZCheckGeom::main(), main(), MalhaCubo(), MalhaPredio(), TPZMHMixedMeshControl::Print(), TPZMHMeshControl::Print(), TPZExtendGridDimension::PrintGeneratedMesh(), TPZGMSHReadMesh::PrintGeoMesh(), TPZGeoMeshBuilder::PrintGeometry(), PYBIND11_MODULE(), Reference(), TCedricTest::Run(), TPZGeoElMapped< TBase >::SetFatherIndex(), TPZDohrStructMatrix::SubStructure(), TPZNonLinMultGridAnalysis::TwoGridAlgorithm(), and TPZGeoEl::WhichSubel().
|
virtual |
Definition at line 169 of file pzgmesh.cpp.
References fElementVec, fName, fNodeVec, TPZChunkVector< T, EXP >::NElements(), and TPZAdmChunkVector< T, EXP >::NFreeElements().
Referenced by TPZRefPattern::PrintMore(), and Reference().
|
overridevirtual |
read objects from the stream
Reimplemented from TPZSavable.
Definition at line 1487 of file pzgmesh.cpp.
References fDim, fElementMaxId, fElementVec, fInterfaceMaterials, fName, fNodeMaxId, fNodeVec, fReference, TPZPersistenceManager::GetInstance(), TPZAdmChunkVector< T, EXP >::Read(), TPZStream::Read(), and TPZStream::ReadPointers().
Referenced by main(), and TPZRefPattern::Read().
|
inline |
Definition at line 131 of file pzgmesh.h.
References TPZChunkVector< T, EXP >::NElements(), TPZAdmChunkVector< T, EXP >::NFreeElements(), and SetName().
|
inline |
Returns the currently loaded computational grid.
Definition at line 167 of file pzgmesh.h.
References AddInterfaceMaterial(), BuildConnectivity(), BuildConnectivityOld(), ClearInterfaceMaterialsMap(), co, CreateGeoBlendElement(), CreateGeoElement(), CreateGeoElementMapped(), DeleteElement(), ElementIndex(), ElementVec(), FindApproxElement(), FindCloseElement(), FindElement(), FindElementCaju(), FindNode(), FindSubElement(), fReference, GetBoundaryElements(), GetNodePtr(), InterfaceMaterial(), NodeIndex(), Print(), and PrintTopologicalInfo().
Referenced by TPZMHMixedHybridMeshControl::ApplyNeighbourBoundaryCondition(), TPZHybridizeHDiv::ComputePeriferalMaterialIds(), TPZGradientReconstruction::ProjectionL2GradientReconstructed(), and TPZCompMesh::~TPZCompMesh().
void TPZGeoMesh::ResetConnectivities | ( | ) |
Reset all connectivities.
Definition at line 1576 of file pzgmesh.cpp.
References ElementVec(), NElements(), TPZGeoEl::NSides(), SetName(), and TPZGeoEl::SetNeighbour().
Referenced by TPZGenSpecialGrid::GeneratePolygonalSphereFromOctahedron(), TPZGenGrid::MergeGeoMesh(), TPZRefPattern::PermuteMesh(), TPZGenGrid::Read(), TPZGenGrid::ReadAndMergeGeoMesh(), UniformRefinement(), and TPZGenSpecialGrid::UniformRefinement().
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().
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().
|
inline |
Set Dimension.
Definition at line 285 of file pzgmesh.h.
Referenced by CreateCompMesh(), TPZHierarquicalGrid::CreateGeometricElement(), Hdiv3dPaper201504::CreateOneCubo(), TPZExtendGridDimension::ExtendedMesh(), TPZGmshReader::GeometricGmshMesh3(), TPZGmshReader::GeometricGmshMesh4(), Hdiv2dPaper201504::GMesh(), Hdiv3dPaper201504::GMeshWithPrism(), TPZAcademicGeoMesh::HexahedralMesh(), TPZGmshReader::InsertElement(), Hdiv2dPaper201504::PrintErrors(), hdivCurvedJCompAppMath::PrintErrors(), Hdiv3dPaper201504::PrintErrors(), PYBIND11_MODULE(), TPZAcademicGeoMesh::PyramidalAndTetrahedralMesh(), TPZGenGrid::Read(), TPZRefPattern::ReadAndCreateRefinementPattern(), TPZAcademicGeoMesh::RedBlackPyramidalAndHexagonalMesh(), Hdiv2dPaper201504::Run(), hdivCurvedJCompAppMath::Run(), Hdiv3dPaper201504::Run(), TPZAcademicGeoMesh::TetrahedralMesh(), and TPZMHMeshControl::TPZMHMeshControl().
|
inline |
Indicates that an element with id was created.
Definition at line 111 of file pzgmesh.h.
References fElementMaxId.
Referenced by TPZGeoEl::TPZGeoEl().
|
inline |
Used in patch meshes.
Definition at line 123 of file pzgmesh.h.
References fElementMaxId.
Referenced by TPZHierarquicalGrid::ComputeExtrusion(), TPZGmshReader::GeometricGmshMesh3(), and TPZGmshReader::GeometricGmshMesh4().
|
inline |
Used in patch meshes.
Definition at line 120 of file pzgmesh.h.
References fNodeMaxId.
Referenced by TPZHierarquicalGrid::ComputeExtrusion(), TPZGmshReader::GeometricGmshMesh3(), TPZGmshReader::GeometricGmshMesh4(), Hdiv2dPaper201504::GMesh(), Hdiv3dPaper201504::GMeshWithPrism(), TPZGeoMeshBuilder::InsertNodes(), hdivCurvedJCompAppMath::MakeCircle(), hdivCurvedJCompAppMath::MakeSphereFromQuadrilateral(), and MalhaGeom().
void TPZGeoMesh::SetName | ( | const std::string & | nm | ) |
Definition at line 125 of file pzgmesh.cpp.
References fName.
Referenced by ReallyNEl(), ResetConnectivities(), and TPZNonLinMultGridAnalysis::TwoGridAlgorithm().
|
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().
|
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().
|
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().
|
protected |
dimension of the geometric domain
Definition at line 70 of file pzgmesh.h.
Referenced by Dimension(), operator=(), Read(), TPZGeoMesh(), and Write().
|
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().
|
protected |
List of pointers to finite elements.
Definition at line 58 of file pzgmesh.h.
Referenced by BuildConnectivity(), BuildConnectivityOld(), CleanUp(), DeleteElement(), ElementVec(), FindCloseElement(), FindElement(), GetBoundaryElements(), operator=(), Print(), PrintTopologicalInfo(), Read(), ResetReference(), and Write().
|
protected |
Datastructure which indicates the index of the interface material which needs to be created between two different materials.
Definition at line 78 of file pzgmesh.h.
Referenced by AddInterfaceMaterial(), ClearInterfaceMaterialsMap(), InterfaceMaterial(), operator=(), Print(), Read(), and Write().
|
protected |
TPZGeoMesh name for model identification.
Definition at line 52 of file pzgmesh.h.
Referenced by Name(), operator=(), Print(), PrintTopologicalInfo(), Read(), SetName(), and Write().
|
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().
|
protected |
List of nodes.
Definition at line 61 of file pzgmesh.h.
Referenced by CleanUp(), FindNode(), GetNodePtr(), NodeVec(), operator=(), Print(), PrintTopologicalInfo(), Read(), and Write().
|
protected |
Computational mesh associated.
Definition at line 55 of file pzgmesh.h.
Referenced by operator=(), Read(), Reference(), ResetReference(), RestoreReference(), TPZGeoMesh(), and Write().