NeoPZ
Public Types | Public Member Functions | Private Attributes | List of all members
TPZGeoElement< TGeo, TRef > Class Template Reference

Implements a generic geometric element with a uniform refinement pattern. Geometry. More...

#include <TPZGeoElement.h>

Inheritance diagram for TPZGeoElement< TGeo, TRef >:
[legend]
Collaboration diagram for TPZGeoElement< TGeo, TRef >:
[legend]

Public Types

typedef TGeo TGeoLoc
 

Public Member Functions

 TPZGeoElement ()
 Default constructor. More...
 
 TPZGeoElement (int64_t id, TPZVec< int64_t > &nodeindexes, int matind, TPZGeoMesh &mesh)
 Constructor from node indexes and id given. More...
 
 TPZGeoElement (TPZVec< int64_t > &nodeindices, int matind, TPZGeoMesh &mesh)
 Constructor from node indexes. More...
 
 TPZGeoElement (TGeo &geo, int matind, TPZGeoMesh &mesh)
 Constructor with topology given. More...
 
 TPZGeoElement (TPZVec< int64_t > &nodeindices, int matind, TPZGeoMesh &mesh, int64_t &index)
 Constructor from node indexes and return the index of the new geometric element. More...
 
 TPZGeoElement (TPZGeoMesh &DestMesh, const TPZGeoElement &cp)
 Copy constructor. More...
 
 TPZGeoElement (TPZGeoMesh &DestMesh, const TPZGeoElement &cp, std::map< int64_t, int64_t > &gl2lcNdIdx, std::map< int64_t, int64_t > &gl2lcElIdx)
 Clone constructor for patch meshes. More...
 
virtual ~TPZGeoElement ()
 Default destructor. More...
 
int ClassId () const override
 Define the class id associated with the class. More...
 
void Read (TPZStream &str, void *context) override
 read objects from the stream More...
 
void Write (TPZStream &str, int withclassid) const override
 Writes this object to the TPZStream buffer. Include the classid if withclassid = true. More...
 
virtual TPZGeoElClone (TPZGeoMesh &DestMesh) const override
 
virtual TPZGeoElClonePatchEl (TPZGeoMesh &DestMesh, std::map< int64_t, int64_t > &gl2lcNdIdx, std::map< int64_t, int64_t > &gl2lcElIdx) const override
 
int HasSubElement () const override
 Returns 1 if the element has subelements. More...
 
void SetSubElement (int id, TPZGeoEl *el) override
 Sets the subelement of index i. More...
 
REAL RefElVolume () override
 Volume of the master element. More...
 
void MidSideNodeIndex (int side, int64_t &index) const override
 Returns the midside node index along a side of the element. More...
 
int NSubElements () const override
 Returns the number of subelements of the element independent of the fact hether the element has already been refined or not. More...
 
int NSideSubElements (int side) const override
 Returns the number of subelements as returned by GetSubElements2(side) More...
 
TPZGeoElSubElement (int is) const override
 Returns a pointer to the subelement is. More...
 
TPZGeoElSide SideSubElement (int side, int position)
 Return a pointer and a side of the subelement of the element at the side and the indicated position. position = 0 indicate first subelement, ... More...
 
TPZTransform GetTransform (int side, int son) override
 
virtual int FatherSide (int side, int son) override
 
virtual void Divide (TPZVec< TPZGeoEl *> &pv) override
 Divides the element and puts the resulting elements in the vector. More...
 
virtual void GetSubElements2 (int side, TPZStack< TPZGeoElSide > &subel) const override
 This method will return a partition of the side of the current element
as the union of sub elements/side which are put in the stack. More...
 
virtual void ResetSubElements () override
 Reset all subelements to NULL. More...
 
virtual TPZGeoElCreateGeoElement (MElementType type, TPZVec< int64_t > &nodeindexes, int matid, int64_t &index) override
 Creates a geometric element according to the type of the father element. More...
 
- Public Member Functions inherited from TPZGeoElRefLess< TGeo >
virtual ~TPZGeoElRefLess ()
 
 TPZGeoElRefLess ()
 Contains the implementation of the TPZGeoElRefLess methods. More...
 
 TPZGeoElRefLess (const TPZGeoElRefLess &gel)
 Copy constructor. More...
 
 TPZGeoElRefLess (TPZGeoMesh &DestMesh, const TPZGeoElRefLess &cp)
 Copy constructor with elements in different meshes. More...
 
 TPZGeoElRefLess (TPZGeoMesh &DestMesh, const TPZGeoElRefLess &cp, std::map< int64_t, int64_t > &gl2lcNdMap, std::map< int64_t, int64_t > &gl2lcElMap)
 Copy constructor with elements in different meshes. The clone mesh is a patch mesh. More...
 
 TPZGeoElRefLess (int64_t id, TPZVec< int64_t > &nodeindexes, int matind, TPZGeoMesh &mesh)
 
 TPZGeoElRefLess (TGeo &Geo, int matind, TPZGeoMesh &mesh)
 
 TPZGeoElRefLess (TPZVec< int64_t > &nodeindices, int matind, TPZGeoMesh &mesh)
 
 TPZGeoElRefLess (TPZVec< int64_t > &nodeindices, int matind, TPZGeoMesh &mesh, int64_t &index)
 
virtual void Initialize () override
 
virtual void Divide (TPZVec< TPZGeoEl * > &pv) override
 Divides the element and puts the resulting elements in the vector. More...
 
virtual TPZGeoElSide Neighbour (int side) override
 Returns a pointer to the neighbour and the neighbourside along side of the current element. More...
 
virtual int64_t NeighbourIndex (int side) const override
 Returns the neighbour index for a given side. More...
 
virtual int64_t NodeIndex (int node) const override
 Returns the index of the ith node the index is the location of the node in the nodevector of the mesh. More...
 
void CornerCoordinates (TPZFMatrix< REAL > &coord) const
 Gets the corner node coordinates in coord. More...
 
virtual void HDivDirectionsMaster (TPZFMatrix< REAL > &directions) override
 
virtual void HDivDirections (TPZVec< REAL > &pt, TPZFMatrix< REAL > &directions, int ConstrainedFace=-1) override
 
virtual void HDivPermutation (int side, TPZVec< int > &permutegather) override
 Compute the permutation for an HDiv side. More...
 
virtual void SetNeighbour (int side, const TPZGeoElSide &neighbour) override
 Fill in the data structure for the neighbouring information. More...
 
virtual void Print (std::ostream &out) override
 Print all relevant data of the element to cout. More...
 
virtual void PrintTopologicalInfo (std::ostream &out) override
 Prints topological information of: TGeo (TPZGeoCube, TPZGeoPrism, TPZGeoQuad, ...) More...
 
virtual int64_t SideNodeIndex (int side, int node) const override
 Returns the index of the nodenum node of side. More...
 
virtual int SideNodeLocIndex (int side, int node) const override
 Returns the local index of a node on a side. More...
 
virtual void SetSideDefined (int side) override
 Flags the side as defined, this means no neighbouring element was found. More...
 
void GetPermutation (const int &i, TPZVec< int > &permutation) const override
 
virtual TPZIntPointsCreateSideIntegrationRule (int side, int order) override
 Creates an integration rule for the topology of the corresponding side and able to integrate a polynom of order exactly. More...
 
virtual MElementType Type () const override
 Returns the type of the element acording to the definition in pzeltype.h. More...
 
virtual MElementType Type (int side) const override
 Returns the type of the element acording to the definition in pzeltype.h. More...
 
virtual std::string TypeName () const override
 Returns the type of the element as a string. More...
 
virtual int NNodes () const override
 Returns the number of nodes of the element. More...
 
virtual int NCornerNodes () const override
 Returns the number of corner nodes of the element. More...
 
virtual int NSides () const override
 Returns the number of connectivities of the element. More...
 
virtual int NPermutations () const override
 
virtual int SideNodeLocId (int side, int node) const
 Returns the local node number of the node "node" along side "side". More...
 
virtual int NSideNodes (int side) const override
 Returns the number of nodes for a particular side. More...
 
virtual int SideIsUndefined (int side) override
 Returns 1 if the side has not been defined by buildconnectivity. More...
 
virtual TPZGeoElCreateBCGeoEl (int side, int bc) override
 Method which creates a computational boundary condition element based on the current geometric element, a side and a boundary condition number. More...
 
virtual TPZGeoElCreateBCGeoBlendEl (int side, int bc)
 Method which creates a blend geometrical boundary condition element based on the current geometric element, a side and a boundary condition index. More...
 
virtual void SetNodeIndex (int i, int64_t nodeindex) override
 Initializes the node i of the element. More...
 
virtual TPZTransform SideToSideTransform (int sidefrom, int sideto) override
 compute the transformation between the master element space of one side of an element to the master element space of a higher dimension side More...
 
virtual int SideDimension (int side) const override
 Return the dimension of side. More...
 
virtual int Dimension () const override
 Returns the dimension of the element. More...
 
virtual TPZGeoElSide HigherDimensionSides (int side, int targetdimension)
 
virtual void AllHigherDimensionSides (int side, int targetdimension, TPZStack< TPZGeoElSide > &elsides) override
 
virtual void LowerDimensionSides (int side, TPZStack< int > &smallsides) const override
 
virtual void BuildTransform (int side, TPZGeoEl *father, TPZTransform<> &t)
 Accumulates the transformation of the jacobian which maps the current master element space into the space of the master element of the father. More...
 
virtual TPZTransform BuildTransform2 (int side, TPZGeoEl *father, TPZTransform<> &t) override
 
virtual void X (TPZVec< REAL > &coordinate, TPZVec< REAL > &result) const override
 Returns the coordinate in real space of the point coordinate in the master element space. More...
 
virtual void GradX (TPZVec< REAL > &coordinate, TPZFMatrix< REAL > &gradx) const override
 Return the gradient of the transformation at the point. More...
 
virtual bool IsLinearMapping (int side) const override
 
virtual bool IsGeoBlendEl () const override
 
bool ResetBlendConnectivity (const int64_t &side, const int64_t &index) override
 
TGeo & Geom ()
 
virtual void CenterPoint (int side, TPZVec< REAL > &masscent) const override
 It returns the coordinates of the center of the side of the element. More...
 
virtual TPZGeoElSide Father2 (int side) const override
 Returns the father/side of the father which contains the side of the sub element. More...
 
virtual void SetNeighbourInfo (int side, TPZGeoElSide &neigh, TPZTransform<> &trans) override
 
virtual void RandomPoint (TPZVec< REAL > &pt) override
 Generates a random point in the master domain. More...
 
virtual bool IsInParametricDomain (const TPZVec< REAL > &pt, REAL tol=1e-6) override
 Verifies if the parametric point pt is in the element parametric domain. More...
 
virtual int ProjectInParametricDomain (TPZVec< REAL > &qsi, TPZVec< REAL > &qsiInDomain) override
 Ortogonal projection from given qsi to a qsiInDomain (all in the element parametric domain) More...
 
virtual int ProjectBissectionInParametricDomain (TPZVec< REAL > &qsi, TPZVec< REAL > &qsiInDomain) override
 Projection from given qsi to a qsiInDomain (in the element boundary) using bissection method from given qsi to element center. More...
 
- Public Member Functions inherited from TPZGeoEl
TPZGeoElEldestAncestor () const
 
virtual void SetNeighbourInfo (int side, TPZGeoElSide &neigh, TPZTransform< REAL > &trans)=0
 
int NumInterfaces ()
 Returns number of TPZInterfaceElement pointing to this. More...
 
int IncrementNumInterfaces ()
 Increments number of TPZInterfaceElement pointing to this. More...
 
int DecrementNumInterfaces ()
 Decrement number of TPZInterfaceElement pointing to this. More...
 
void Shape1d (REAL x, int num, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi)
 Computes the values of the "num" one dimensional shapefunctions and derivatives at point x, using lagrangian interpolation. More...
 
void ShapePhi1d (REAL x, int num, TPZFMatrix< REAL > &phi)
 Computes the values of the "num" one dimensional shapefunctions at point x, using lagrangian interpolation. More...
 
 TPZGeoEl (int64_t id, int materialindex, TPZGeoMesh &mesh)
 Constructor. More...
 
 TPZGeoEl (int materialindex, TPZGeoMesh &mesh)
 This constructor generates a unique Id. More...
 
 TPZGeoEl (int materialindex, TPZGeoMesh &mesh, int64_t &index)
 This constructor generates a unique Id. More...
 
 TPZGeoEl (const TPZGeoEl &el)
 Copy constructor. More...
 
 TPZGeoEl (TPZGeoMesh &DestMesh, const TPZGeoEl &cp)
 Copy constructor with elements in different meshes. More...
 
 TPZGeoEl (TPZGeoMesh &DestMesh, const TPZGeoEl &cp, std::map< int64_t, int64_t > &org2clnMap)
 Copy constructor to a patch mesh. More...
 
 TPZGeoEl ()
 
void GetNodeIndices (TPZVec< int64_t > &nodeindices)
 
void GetNodeIndices (std::set< int64_t > &nodeindices)
 void More...
 
virtual ~TPZGeoEl ()
 Destructor. More...
 
void RemoveConnectivities ()
 It removes the connectivities of the element. More...
 
virtual TPZCompElCreateBCCompEl (int side, int bc, TPZCompMesh &cmesh)
 Method which creates a computational boundary condition element based on the current geometric element,
a side and a boundary condition number. More...
 
int WhichSide (TPZVec< int64_t > &SideNodeIds)
 Returns the side number which is connected to the SideNodes returns -1 if no side is found. More...
 
int NeighbourExists (int side, const TPZGeoElSide &gel)
 Returns 1 if gel is a neighbour of the element along side. More...
 
void SetMaterialId (int id)
 Sets the material index of the element. More...
 
void SetReference (TPZCompEl *elp)
 Make the current element reference to the computational element. More...
 
virtual void SetSubElementConnectivities ()
 Initializes the external connectivities of the subelements. More...
 
void ResetReference ()
 Reset the element referenced by the geometric element to NULL. More...
 
virtual void ProjectPoint (int sidefrom, TPZVec< REAL > &ptin, int sideto, TPZVec< REAL > &ptout)
 Project the point from one side to another. The dimension of the points needs to be configured properly. More...
 
TPZTransform< REAL > Projection (int side)
 Compute the projection of the point within the interior of the element to the side of the element. More...
 
void SetIndex (int64_t index)
 
void SetId (int64_t elId)
 
int GetTransformId2dQ (TPZVec< int > &idfrom, TPZVec< int > &idto)
 Get the transform id the face to face. More...
 
int GetTransformId2dT (TPZVec< int > &idfrom, TPZVec< int > &idto)
 Get the transform id the face to face. More...
 
void SetFather (TPZGeoEl *father)
 Sets the father element. More...
 
virtual void SetFatherIndex (int64_t fatherindex)
 Sets the father element index This method is not called SetFather in order to avoid implicit conversions from nullptr to int. More...
 
bool IsSibling (TPZGeoEl *gel)
 return true is gel is an ancestor of the current element More...
 
int Level ()
 Returns the number of ancestors. More...
 
void Jacobian (TPZVec< REAL > &qsi, TPZFMatrix< REAL > &jac, TPZFMatrix< REAL > &axes, REAL &detjac, TPZFMatrix< REAL > &jacinv) const
 Compute a decomposition of the gradient of the mapping function, as a rotation matrix (Jacobian) and orthonormal basis (axes) More...
 
void JacobianXYZ (TPZVec< REAL > &qsi, TPZFMatrix< REAL > &jac, TPZFMatrix< REAL > &axes, REAL &detjac, TPZFMatrix< REAL > &jacinv) const
 Compute a decomposition of the gradient of the mapping function, as a rotation matrix (Jacobian) and orthonormal basis (axes) More...
 
int ElementExists (TPZGeoEl *elem, int64_t id)
 To test continuity. More...
 
TPZGeoMeshMesh () const
 Returns the mesh to which the element belongs. More...
 
int64_t Id () const
 Returns the Id of the element. More...
 
TPZGeoNodeNodePtr (int i) const
 Returns a pointer to the ith node of the element. More...
 
TPZGeoNodeNode (int i) const
 Returns the ith node of the element. More...
 
int MaterialId () const
 Returns the material index of the element. More...
 
TPZCompElReference () const
 Return a pointer to the element referenced by the geometric element. More...
 
virtual void GetHigherSubElements (TPZVec< TPZGeoEl *> &unrefinedSons)
 
virtual bool IsLinearMapping () const
 
virtual bool IsGeoElMapped () const
 Returns if is a TPZGeoElMapped< T > element. More...
 
virtual TPZGeoNodeSideNodePtr (int side, int nodenum) const
 Returns the pointer to the nodenum node of side. More...
 
virtual void MidSideNodeIndices (int side, TPZVec< int64_t > &indices) const
 Returns the midside node indices along a side of the element. More...
 
TPZGeoElFather () const
 Computes the normal vectors needed for forming HDiv vector valued shape functions. More...
 
TPZGeoElLowestFather ()
 Returns a pointer to the higher level father. More...
 
int64_t FatherIndex ()
 
void BuildBlendConnectivity ()
 Set connectivity information elements with blend geometric map. More...
 
void SetNeighbourForBlending (int side)
 TPZGeoBlend need to find a non-linear neighbour. More...
 
virtual TPZTransform< REAL > BuildTransform2 (int side, TPZGeoEl *father, TPZTransform< REAL > &t)
 Returns the transformation which maps the parameter side of the element/side
into the parameter space of the father element/side. More...
 
int WhichSide (TPZVec< REAL > &pt)
 Returns the side number which is connected to the point pt. More...
 
virtual void GetAllSiblings (TPZStack< TPZGeoEl *> &unrefinedSons)
 [deprecated] use YoungestChildren More...
 
virtual void YoungestChildren (TPZStack< TPZGeoEl *> &unrefinedSons)
 This method will return all children at the bottom of the refinement tree of the element. i.e. all children that have no subelements. More...
 
void GetSubElements2 (int side, TPZStack< TPZGeoElSide > &subel, int dimension) const
 This method will return a partition of the side of the current element
as the union of sub elements/side which are put in the stack. More...
 
int WhichSubel () const
 Returns the son number of the sub element gel. More...
 
void CheckSubelDataStructure ()
 Checks the structure of the Father() and GetSubelement2() More...
 
void NodesCoordinates (TPZFMatrix< REAL > &cooridnates)
 Computes nodes coordinates of the element. More...
 
bool ComputeXInverse (TPZVec< REAL > &XD, TPZVec< REAL > &ksi, REAL Tol)
 Computes the XInverse and returns true if ksi belongs to master element domain. More...
 
void TransformSonToFather (TPZGeoEl *ancestor, TPZVec< REAL > &ksiSon, TPZVec< REAL > &ksiAncestor)
 Compute the map of a paramenter point in the subelement to a parameter point in the super element. More...
 
TPZTransform< REAL > ComputeParamTrans (TPZGeoEl *fat, int fatside, int sideson)
 
REAL Volume ()
 Return the volume of the element. More...
 
virtual REAL SideArea (int side)
 Returns the area from the face. More...
 
virtual REAL ElementRadius ()
 
virtual REAL CharacteristicSize ()
 Computes the set of normals for defining HDiv approximation spaces. More...
 
virtual REAL SmallerEdge ()
 
void ComputePermutationNormals (int side, TPZVec< int > &indexfrom)
 Compute the set of normals along a side for defining HDiv approximation spaces. More...
 
int NormalOrientation (int side)
 Determine the orientation of the normal vector comparing the ids of the neighbouring elements. More...
 
virtual void SetRefPattern (TPZAutoPointer< TPZRefPattern >)
 Defines the refinement pattern. It's used only in TPZGeoElRefPattern objects. More...
 
virtual TPZAutoPointer< TPZRefPatternGetRefPattern () const
 Returns the refinement pattern associated with the element. More...
 
bool VerifyNodeCoordinates (REAL tol=1e-1)
 Verify coordinate of element nodes checking if they are coincident to the X mapping of the corner nodes of parametric elements. More...
 
int64_t Index () const
 Returns the index of the element within the element vector of the mesh. 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
 

Private Attributes

int64_t fSubEl [TRef::NSubEl]
 

Additional Inherited Members

- Static Public Member Functions inherited from TPZGeoElRefLess< TGeo >
static int main_refless ()
 
- Static Public Member Functions inherited from TPZGeoEl
static int StaticClassId ()
 
static void Jacobian (const TPZFMatrix< REAL > &gradx, TPZFMatrix< REAL > &jac, TPZFMatrix< REAL > &axes, REAL &detjac, TPZFMatrix< REAL > &jacinv)
 Compute a QR facotrization of the gradient of the mapping function, Q = Jacobian and R = axes. More...
 
static void JacobianXYZ (const TPZFMatrix< REAL > &gradx, TPZFMatrix< REAL > &jac, TPZFMatrix< REAL > &axesXYZ, REAL &detjac, TPZFMatrix< REAL > &jacinv)
 Compute Jacobian matrix for afine mappings. More...
 
static REAL QuadArea (TPZVec< TPZGeoNode *> &nodes)
 Returns the area from a quadrilateral face. More...
 
static REAL TriangleArea (TPZVec< TPZGeoNode *> &nodes)
 Returns the area from the triangular face. More...
 
static REAL Distance (TPZVec< REAL > &centel, TPZVec< REAL > &centface)
 
- 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)
 
- Protected Attributes inherited from TPZGeoElRefLess< TGeo >
TGeo fGeo
 
TPZGeoElSideIndex fNeighbours [TGeo::NSides]
 
- Protected Attributes inherited from TPZGeoEl
TPZGeoMeshfMesh
 Pointer to the mesh to which the element belongs. More...
 
int64_t fId
 Traditional element number or element id. More...
 
int fMatId
 Material index. More...
 
TPZCompElfReference
 Reference to the element currently loaded. Pointer is given as this->Mesh()->Reference()->ElementVec()[fReference]. More...
 
int64_t fFatherIndex
 Index of the element from which the element is a subelement. More...
 
int64_t fIndex
 Index of the element in the element vector. More...
 
int fNumInterfaces
 A counter to indicate how many interface elements are pointing to it. More...
 
- Static Protected Attributes inherited from TPZGeoEl
static TPZFMatrix< REAL > gGlobalAxes
 3x3 unit matrix to be copied to the axes if the geometric element does not have a particular orientation More...
 

Detailed Description

template<class TGeo, class TRef>
class TPZGeoElement< TGeo, TRef >

Implements a generic geometric element with a uniform refinement pattern. Geometry.

Definition at line 22 of file TPZGeoElement.h.

Member Typedef Documentation

◆ TGeoLoc

template<class TGeo, class TRef>
typedef TGeo TPZGeoElement< TGeo, TRef >::TGeoLoc

Definition at line 26 of file TPZGeoElement.h.

Constructor & Destructor Documentation

◆ TPZGeoElement() [1/7]

template<class TGeo , class TRef >
TPZGeoElement< TGeo, TRef >::TPZGeoElement ( )

Default constructor.

Definition at line 42 of file TPZGeoElement.h.h.

References TPZGeoElement< TGeo, TRef >::fSubEl.

◆ TPZGeoElement() [2/7]

template<class TGeo , class TRef >
TPZGeoElement< TGeo, TRef >::TPZGeoElement ( int64_t  id,
TPZVec< int64_t > &  nodeindexes,
int  matind,
TPZGeoMesh mesh 
)

Constructor from node indexes and id given.

Definition at line 35 of file TPZGeoElement.h.h.

References TPZGeoElement< TGeo, TRef >::fSubEl.

◆ TPZGeoElement() [3/7]

template<class TGeo , class TRef >
TPZGeoElement< TGeo, TRef >::TPZGeoElement ( TPZVec< int64_t > &  nodeindices,
int  matind,
TPZGeoMesh mesh 
)

Constructor from node indexes.

Definition at line 14 of file TPZGeoElement.h.h.

References TPZGeoElement< TGeo, TRef >::fSubEl.

◆ TPZGeoElement() [4/7]

template<class TGeo , class TRef >
TPZGeoElement< TGeo, TRef >::TPZGeoElement ( TGeo &  geo,
int  matind,
TPZGeoMesh mesh 
)

Constructor with topology given.

Definition at line 28 of file TPZGeoElement.h.h.

References TPZGeoElement< TGeo, TRef >::fSubEl.

◆ TPZGeoElement() [5/7]

template<class TGeo , class TRef >
TPZGeoElement< TGeo, TRef >::TPZGeoElement ( TPZVec< int64_t > &  nodeindices,
int  matind,
TPZGeoMesh mesh,
int64_t &  index 
)

Constructor from node indexes and return the index of the new geometric element.

Definition at line 21 of file TPZGeoElement.h.h.

References TPZGeoElement< TGeo, TRef >::fSubEl.

◆ TPZGeoElement() [6/7]

template<class TGeo , class TRef >
TPZGeoElement< TGeo, TRef >::TPZGeoElement ( TPZGeoMesh DestMesh,
const TPZGeoElement< TGeo, TRef > &  cp 
)

Copy constructor.

Definition at line 171 of file TPZGeoElement.h.h.

References TPZGeoElement< TGeo, TRef >::fSubEl.

◆ TPZGeoElement() [7/7]

template<class TGeo , class TRef >
TPZGeoElement< TGeo, TRef >::TPZGeoElement ( TPZGeoMesh DestMesh,
const TPZGeoElement< TGeo, TRef > &  cp,
std::map< int64_t, int64_t > &  gl2lcNdIdx,
std::map< int64_t, int64_t > &  gl2lcElIdx 
)

Clone constructor for patch meshes.

Parameters
DestMeshdestination patch mesh
cpelement to be copied
gl2lcNdIdxmap between the original node indexes and patch node indexes
gl2lcElIdxmap between the original element indexes and patch element index

Definition at line 181 of file TPZGeoElement.h.h.

References TPZGeoElement< TGeo, TRef >::fSubEl, and LOGPZ_ERROR.

◆ ~TPZGeoElement()

template<class TGeo, class TRef>
virtual TPZGeoElement< TGeo, TRef >::~TPZGeoElement ( )
inlinevirtual

Member Function Documentation

◆ ClassId()

template<class TGeo , class TRef >
int TPZGeoElement< TGeo, TRef >::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

Reimplemented from TPZGeoElRefLess< TGeo >.

Definition at line 126 of file TPZGeoElement.h.

References TPZGeoElRefLess< TGeo >::ClassId(), and Hash().

Referenced by TPZGeoElement< TGeo, TRef >::~TPZGeoElement().

◆ Clone()

template<class TGeo , class TRef >
TPZGeoEl * TPZGeoElement< TGeo, TRef >::Clone ( TPZGeoMesh DestMesh) const
overridevirtual

Reimplemented from TPZGeoElRefLess< TGeo >.

Definition at line 151 of file TPZGeoElement.h.h.

References TPZGeoEl::Mesh().

Referenced by TPZGeoElement< TGeo, TRef >::~TPZGeoElement().

◆ ClonePatchEl()

template<class TGeo , class TRef >
TPZGeoEl * TPZGeoElement< TGeo, TRef >::ClonePatchEl ( TPZGeoMesh DestMesh,
std::map< int64_t, int64_t > &  gl2lcNdIdx,
std::map< int64_t, int64_t > &  gl2lcElIdx 
) const
overridevirtual
See also
class TPZGeoEl

Reimplemented from TPZGeoElRefLess< TGeo >.

Definition at line 163 of file TPZGeoElement.h.h.

Referenced by TPZGeoElement< TGeo, TRef >::~TPZGeoElement().

◆ CreateGeoElement()

template<class TGeo, class TRef>
virtual TPZGeoEl* TPZGeoElement< TGeo, TRef >::CreateGeoElement ( MElementType  type,
TPZVec< int64_t > &  nodeindexes,
int  matid,
int64_t &  index 
)
inlineoverridevirtual

Creates a geometric element according to the type of the father element.

Reimplemented from TPZGeoElRefLess< TGeo >.

Definition at line 113 of file TPZGeoElement.h.

References TPZGeoMesh::CreateGeoElement(), and TPZGeoEl::Mesh().

◆ Divide()

template<class TGeo , class TRef >
void TPZGeoElement< TGeo, TRef >::Divide ( TPZVec< TPZGeoEl *> &  pv)
overridevirtual

Divides the element and puts the resulting elements in the vector.

Reimplemented from TPZGeoEl.

Definition at line 126 of file TPZGeoElement.h.h.

Referenced by TPZGeoElement< TGeo, TRef >::FatherSide().

◆ FatherSide()

template<class TGeo, class TRef>
virtual int TPZGeoElement< TGeo, TRef >::FatherSide ( int  side,
int  son 
)
inlineoverridevirtual

◆ GetSubElements2()

template<class TGeo , class TRef >
void TPZGeoElement< TGeo, TRef >::GetSubElements2 ( int  side,
TPZStack< TPZGeoElSide > &  subel 
) const
overridevirtual

This method will return a partition of the side of the current element
as the union of sub elements/side which are put in the stack.

Reimplemented from TPZGeoElRefLess< TGeo >.

Definition at line 132 of file TPZGeoElement.h.h.

Referenced by TPZGeoElement< TGeo, TRef >::FatherSide().

◆ GetTransform()

template<class TGeo , class TRef >
TPZTransform TPZGeoElement< TGeo, TRef >::GetTransform ( int  side,
int  son 
)
overridevirtual

Reimplemented from TPZGeoElRefLess< TGeo >.

Definition at line 121 of file TPZGeoElement.h.h.

Referenced by TPZGeoElement< TGeo, TRef >::HasSubElement().

◆ HasSubElement()

template<class TGeo, class TRef>
int TPZGeoElement< TGeo, TRef >::HasSubElement ( ) const
inlineoverridevirtual

◆ MidSideNodeIndex()

template<class TGeo , class TRef >
void TPZGeoElement< TGeo, TRef >::MidSideNodeIndex ( int  side,
int64_t &  index 
) const
overridevirtual

Returns the midside node index along a side of the element.

Reimplemented from TPZGeoElRefLess< TGeo >.

Definition at line 72 of file TPZGeoElement.h.h.

Referenced by TPZGeoElement< TGeo, TRef >::HasSubElement().

◆ NSideSubElements()

template<class TGeo , class TRef >
int TPZGeoElement< TGeo, TRef >::NSideSubElements ( int  side) const
overridevirtual

Returns the number of subelements as returned by GetSubElements2(side)

Reimplemented from TPZGeoElRefLess< TGeo >.

Definition at line 85 of file TPZGeoElement.h.h.

Referenced by TPZGeoElement< TGeo, TRef >::HasSubElement().

◆ NSubElements()

template<class TGeo , class TRef >
int TPZGeoElement< TGeo, TRef >::NSubElements ( ) const
overridevirtual

Returns the number of subelements of the element independent of the fact hether the element has already been refined or not.

Reimplemented from TPZGeoElRefLess< TGeo >.

Definition at line 79 of file TPZGeoElement.h.h.

Referenced by TPZGeoElement< TGeo, TRef >::HasSubElement(), and TPZGeoElement< TGeo, TRef >::ResetSubElements().

◆ Read()

template<class TGeo , class TRef >
void TPZGeoElement< TGeo, TRef >::Read ( TPZStream buf,
void *  context 
)
overridevirtual

read objects from the stream

Reimplemented from TPZGeoElRefLess< TGeo >.

Definition at line 139 of file TPZGeoElement.h.h.

References TPZGeoElement< TGeo, TRef >::fSubEl, TPZGeoElRefLess< TGeo >::Read(), and TPZStream::Read().

Referenced by TPZGeoElement< TGeo, TRef >::~TPZGeoElement().

◆ RefElVolume()

template<class TGeo , class TRef >
REAL TPZGeoElement< TGeo, TRef >::RefElVolume ( )
overridevirtual

Volume of the master element.

Reimplemented from TPZGeoElRefLess< TGeo >.

Definition at line 67 of file TPZGeoElement.h.h.

Referenced by TPZGeoElement< TGeo, TRef >::HasSubElement().

◆ ResetSubElements()

template<class TGeo , class TRef >
void TPZGeoElement< TGeo, TRef >::ResetSubElements ( )
overridevirtual

◆ SetSubElement()

template<class TGeo , class TRef >
void TPZGeoElement< TGeo, TRef >::SetSubElement ( int  i,
TPZGeoEl gel 
)
overridevirtual

Sets the subelement of index i.

Reimplemented from TPZGeoElRefLess< TGeo >.

Definition at line 48 of file TPZGeoElement.h.h.

References TPZGeoElement< TGeo, TRef >::fSubEl, TPZGeoEl::Index(), and PZError.

Referenced by TPZGeoElement< TGeo, TRef >::HasSubElement().

◆ SideSubElement()

template<class TGeo , class TRef >
TPZGeoElSide TPZGeoElement< TGeo, TRef >::SideSubElement ( int  side,
int  position 
)

Return a pointer and a side of the subelement of the element at the side and the indicated position. position = 0 indicate first subelement, ...

Definition at line 114 of file TPZGeoElement.h.h.

References substruct_tst14.test::subs.

Referenced by TPZGeoElement< TGeo, TRef >::HasSubElement().

◆ SubElement()

template<class TGeo , class TRef >
TPZGeoEl * TPZGeoElement< TGeo, TRef >::SubElement ( int  is) const
overridevirtual

◆ Write()

template<class TGeo , class TRef >
void TPZGeoElement< TGeo, TRef >::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 TPZGeoElRefLess< TGeo >.

Definition at line 145 of file TPZGeoElement.h.h.

References TPZGeoElement< TGeo, TRef >::fSubEl, TPZStream::Write(), and TPZGeoElRefLess< TGeo >::Write().

Referenced by TPZGeoElement< TGeo, TRef >::~TPZGeoElement().

Member Data Documentation

◆ fSubEl

template<class TGeo, class TRef>
int64_t TPZGeoElement< TGeo, TRef >::fSubEl[TRef::NSubEl]
private

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