24 #define GMESHNOMATERIAL -9999 133 void SetName(
const std::string &nm);
148 REAL
Area(
int matid);
151 REAL
Area(std::set<int> &matids);
170 virtual void Print(std::ostream & out = std::cout)
const;
300 void FindElement(std::map<int64_t,TPZGeoEl *> &elmap,int64_t currentnode,
TPZGeoEl* &candidate,
int &candidateside);
void GetNodePtr(TPZVec< int64_t > &nos, TPZVec< TPZGeoNode *> &nodep)
Fills the nodep vector with pointers to the nodes identified by their indexes.
int fDim
dimension of the geometric domain
Contains declaration of the TPZSavable class which defines the interface to save and restore objects ...
void SetMaxElementId(int64_t id)
Used in patch meshes.
TPZCompMesh * Reference() const
Returns the currently loaded computational grid.
int64_t CreateUniqueNodeId()
Returns ++fNodeMaxId.
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 q...
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.
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 modifi...
TPZAdmChunkVector< TPZGeoEl * > fElementVec
List of pointers to finite elements.
Contains declaration of TPZGeoNode class which defines a geometrical node.
void CleanUp()
Deletes all items in the TPZGeoMesh.
void Write(TPZStream &buf, int withclassid) const override
Writes this object to the TPZStream buffer. Include the classid if withclassid = true.
int64_t NElements() const
Number of elements of the mesh.
int64_t fNodeMaxId
Maximum id used by all nodes of this mesh.
Declarates the TPZBlock<REAL>class which implements block matrices.
int64_t fElementMaxId
Maximum id used by all elements of this mesh.
InterfaceMaterialsMap fInterfaceMaterials
Datastructure which indicates the index of the interface material which needs to be created between t...
Defines enum MElementType and contains the implementation of MElementType_NNodes(...) functions.
This class implements a simple vector storage scheme for a templated class T. Utility.
int64_t NElements() const
Access method to query the number of elements of the vector.
Implements a chunk vector with free store administration. Utility.
int ClassId() const override
Define the class id associated with the class.
void SetDimension(int dim)
Set Dimension.
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...
const TPZAdmChunkVector< TPZGeoEl * > & ElementVec() const
void Read(TPZStream &buf, void *context) override
read objects from the stream
void SetElementIdUsed(int64_t id)
Indicates that an element with id was created.
int64_t NodeIndex(TPZGeoNode *nod)
Returns the index of the given node into the fNodeVec.
TPZGeoNode * FindNode(TPZVec< REAL > &co)
Returns the nearest node to the coordinate. This method is VERY INEFFICIENT.
const TPZAdmChunkVector< TPZGeoNode > & NodeVec() const
void RestoreReference(TPZCompMesh *cmesh)
Restore all reference in elements from computational mesh criated from current geometrical mesh previ...
This abstract class defines the behaviour which each derived class needs to implement.
std::map< std::pair< int, int >, int > InterfaceMaterialsMap
void ClearInterfaceMaterialsMap()
Delete all interface materials in map.
Defines data base of patterns. Refine.
int64_t CreateUniqueElementId()
Returns ++fElementMaxId.
void SetMaxNodeId(int64_t id)
Used in patch meshes.
std::string fName
TPZGeoMesh name for model identification.
void BuildConnectivityOld()
Alternative method for computing the connectivity.
virtual void Print(std::ostream &out=std::cout) const
Print the information of the grid to an ostream.
Implements a generic geometric element which is refined according to a generic refinement pattern...
Defines the behaviour of all geometric elements. GeometryTPZGeoEl is the common denominator for all g...
TPZGeoEl * Element(int64_t iel)
int64_t NNodes() const
Number of nodes of the mesh.
int64_t NFreeElements() const
Access method to return the number of free elements.
TPZAdmChunkVector< TPZGeoNode > & NodeVec()
TPZCompMesh * fReference
Computational mesh associated.
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...
virtual void PrintTopologicalInfo(std::ostream &out=std::cout) const
Contains declaration of the TPZAutoPointer class which has Increment and Decrement actions are mutexe...
REAL co[8][3]
Coordinates of the eight nodes.
TPZGeoMesh()
Constructors and destructor.
TPZGeoMesh & operator=(const TPZGeoMesh &cp)
Operator of copy.
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...
void BuildConnectivity()
Build the connectivity of the grid.
void DeleteElement(TPZGeoEl *gel, int64_t index=-1)
Centralized method to delete elements.
void SetNodeIdUsed(int64_t id)
Indicates that a node with id was created.
Defines the topology of the current refinement pattern to a mesh. Refine.
int AddInterfaceMaterial(int leftmaterial, int rightmaterial, int interfacematerial)
Add an interface material associated to left and right element materials.
int Dimension()
Get Dimension.
Implements a geometric node in the pz environment. Geometry.
This class implements a geometric mesh for the pz environment. Geometry.
MElementType
Define the element types.
This class implements a stack object. Utility.
Implements computational mesh. Computational Mesh.
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 modifi...
REAL Area()
Compute the area of the domain.
void ResetConnectivities()
Reset all connectivities.
void SetReference(TPZCompMesh *ref)
Sets the reference of the geometric grid to ref.
virtual ~TPZGeoMesh()
Destructor.
int InterfaceMaterial(int leftmaterial, int rightmaterial)
Returns the interface material associated to left and right element materials. If no interface materi...
Defines the interface for saving and reading data. Persistency.
Contains the declaration of TPZFlopCounter class and TPZCounter struct.
TPZGeoEl * FindApproxElement(TPZVec< REAL > &x, TPZVec< REAL > &qsi, int64_t &InitialElIndex, int targetDim) const
find an element/parameter close to the point
TPZGeoEl * FindCloseElement(TPZVec< REAL > &x, int64_t &InitialElIndex, int targetDim) const
Returns the element that is close to the given point x.
TPZAdmChunkVector< TPZGeoNode > fNodeVec
List of nodes.
void ResetReference()
Resets all load references in elements and nodes.
This class defines the interface to save and restore objects from TPZStream objects. Persistency.
int64_t ElementIndex(TPZGeoEl *gel)
Returns the index of the given element into the fElementVec.
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...
void SetName(const std::string &nm)
TPZAdmChunkVector< TPZGeoEl * > & ElementVec()
Methods for handling pzlists.