NeoPZ
Public Member Functions | Static Public Member Functions | Protected Attributes | Static Protected Attributes | Friends | List of all members
TPZGeoEl Class Referenceabstract

Defines the behaviour of all geometric elements. GeometryTPZGeoEl is the common denominator for all geometric elements. More...

#include <pzgeoel.h>

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

Public Member Functions

TPZGeoElEldestAncestor () const
 
virtual void HDivDirectionsMaster (TPZFMatrix< REAL > &directions)=0
 
virtual void HDivDirections (TPZVec< REAL > &pt, TPZFMatrix< REAL > &directions, int RestrainedFace)=0
 
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...
 
virtual void GetPermutation (const int &i, TPZVec< int > &permutation) const =0
 
virtual TPZIntPointsCreateSideIntegrationRule (int side, int order)=0
 Creates an integration rule for the topology of the corresponding side and able to integrate a polynom of order exactly. 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 ()
 
virtual void Initialize ()
 
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 =0
 
void GetNodeIndices (TPZVec< int64_t > &nodeindices)
 
void GetNodeIndices (std::set< int64_t > &nodeindices)
 void More...
 
virtual TPZGeoElClonePatchEl (TPZGeoMesh &DestMesh, std::map< int64_t, int64_t > &gl2lcNdIdx, std::map< int64_t, int64_t > &gl2lcElIdx) const =0
 Creates a clone of this element into a new patch mesh. 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...
 
virtual TPZGeoElCreateGeoElement (MElementType type, TPZVec< int64_t > &nodeindexes, int matid, int64_t &index)=0
 Creates a geometric element according to the type of the father element. More...
 
virtual TPZGeoElCreateBCGeoEl (int side, int bc)=0
 Method which creates a geometric element on the side of an existing element. 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...
 
virtual void SetNodeIndex (int i, int64_t nodeindex)=0
 Initializes the node i of the element. More...
 
virtual void SetSideDefined (int side)=0
 Flags the side as defined, this means no neighbouring element was found. More...
 
virtual TPZGeoElSide Neighbour (int side)=0
 Returns a pointer to the neighbour and the neighbourside along side of the current element. More...
 
virtual int64_t NeighbourIndex (int side) const =0
 Returns the neighbour index for a given side. More...
 
virtual void SetNeighbour (int side, const TPZGeoElSide &neighbour)=0
 Fill in the data structure for the neighbouring information. More...
 
virtual void Print (std::ostream &out=std::cout)
 Print all relevant data of the element to cout. More...
 
virtual void PrintTopologicalInfo (std::ostream &out=std::cout)
 Prints the coordinates of all nodes (geometric) More...
 
void SetReference (TPZCompEl *elp)
 Make the current element reference to the computational element. More...
 
virtual void SetSubElement (int i, TPZGeoEl *gel)=0
 Sets the subelement of index i. 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 Divide (TPZVec< TPZGeoEl *> &pv)
 Divides the element and puts the resulting elements in the vector. More...
 
virtual void RandomPoint (TPZVec< REAL > &pt)=0
 Generates a random point in the master domain. More...
 
virtual int HasSubElement () const =0
 Return 1 if the element has subelements. More...
 
virtual TPZTransform< REAL > SideToSideTransform (int sidefrom, int sideto)=0
 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 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...
 
virtual TPZTransform< REAL > GetTransform (int side, int son)=0
 
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...
 
virtual TPZGeoElSubElement (int is) const =0
 Returns a pointer to the subelement is. More...
 
virtual void ResetSubElements ()=0
 Reset all subelements to NULL. More...
 
int Level ()
 Returns the number of ancestors. More...
 
virtual int SideDimension (int side) const =0
 Return the dimension of side. More...
 
virtual int Dimension () const =0
 Returns the dimension of the element. More...
 
virtual void AllHigherDimensionSides (int side, int targetdimension, TPZStack< TPZGeoElSide > &elsides)=0
 
virtual void LowerDimensionSides (int side, TPZStack< int > &smallsides) const =0
 
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...
 
virtual void X (TPZVec< REAL > &qsi, TPZVec< REAL > &result) const =0
 Return the coordinate in real space of the point coordinate in the master element space. More...
 
virtual void GradX (TPZVec< REAL > &qsi, TPZFMatrix< REAL > &gradx) const =0
 Return the gradient of the transformation at the given coordinate. More...
 
int ElementExists (TPZGeoEl *elem, int64_t id)
 To test continuity. More...
 
data access methods

Methods which allow to access the internal data structure of the element

TPZGeoMeshMesh () const
 Returns the mesh to which the element belongs. More...
 
int64_t Id () const
 Returns the Id of the element. More...
 
virtual int NNodes () const =0
 Returns the number of nodes of the element. More...
 
virtual int NCornerNodes () const =0
 Returns the number of corner nodes of the element. More...
 
virtual int NPermutations () const =0
 
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...
 
virtual int64_t NodeIndex (int i) const =0
 Returns the index of the ith node the index is the location of the node in the nodevector of the mesh. 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 MElementType Type () const =0
 Returns the element type acording to pzeltype.h. More...
 
virtual MElementType Type (int side) const =0
 Returns the element type of a side acording to pzeltype.h. More...
 
virtual std::string TypeName () const
 Returns the type of the element as a string. More...
 
virtual bool IsLinearMapping () const
 
virtual bool IsLinearMapping (int side) const =0
 
virtual bool IsGeoBlendEl () const
 
virtual bool IsGeoElMapped () const
 Returns if is a TPZGeoElMapped< T > element. More...
 
virtual int NSides () const =0
 Returns the number of connectivities of the element. More...
 
virtual int NSideNodes (int side) const =0
 Returns the number of nodes for a particular side. More...
 
virtual TPZGeoNodeSideNodePtr (int side, int nodenum) const
 Returns the pointer to the nodenum node of side. More...
 
virtual void MidSideNodeIndex (int side, int64_t &index) const =0
 Returns the midside node index along a side of the element. More...
 
virtual void MidSideNodeIndices (int side, TPZVec< int64_t > &indices) const
 Returns the midside node indices along a side of the element. More...
 
virtual int64_t SideNodeIndex (int side, int nodenum) const =0
 Returns the index of the nodenum node of side. More...
 
virtual int SideNodeLocIndex (int side, int nodenum) const =0
 Returns the local index of a node on a side. More...
 
virtual void HDivPermutation (int side, TPZVec< int > &permutegather)
 Computes the permutation for an HDiv side. More...
 
virtual int SideIsUndefined (int side)=0
 Returns 1 if the side has not been defined by buildconnectivity. More...
 
virtual int NSubElements () const =0
 Returns the number of subelements of the element independent of the fact
whether the element has already been refined or not. More...
 
virtual int NSideSubElements (int side) const =0
 Returns the number of subelements as returned by GetSubElements2(side) 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...
 
virtual bool ResetBlendConnectivity (const int64_t &side, const int64_t &index)=0
 
void SetNeighbourForBlending (int side)
 TPZGeoBlend need to find a non-linear neighbour. 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
 

Static Public Member Functions

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 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

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

static TPZFMatrix< REAL > gGlobalAxes
 3x3 unit matrix to be copied to the axes if the geometric element does not have a particular orientation More...
 

Friends

std::ostream & operator<< (std::ostream &s, TPZGeoEl &el)
 Equivalent to Print. More...
 

reftopology

Methods which will implement the declaration of a refinemnt topology

virtual TPZGeoElSide Father2 (int side) const
 Returns the father/side of the father which contains the side of the sub element. More...
 
virtual int FatherSide (int side, int son)
 
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 CenterPoint (int side, TPZVec< REAL > &masscent) const =0
 It returns the coordinates from the center of the side of the element in the element coordinate space. More...
 
virtual void GetSubElements2 (int side, TPZStack< TPZGeoElSide > &subel) 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...
 
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 RefElVolume ()=0
 Volume of the master 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...
 
virtual bool IsInParametricDomain (const TPZVec< REAL > &pt, REAL tol=1.e-2)=0
 Verifies if the parametric point pt is in the element parametric domain. More...
 
virtual int ProjectInParametricDomain (TPZVec< REAL > &qsi, TPZVec< REAL > &qsiInDomain)=0
 Ortogonal projection from given qsi to a qsiInDomain (all in the element parametric domain) More...
 
virtual int ProjectBissectionInParametricDomain (TPZVec< REAL > &qsi, TPZVec< REAL > &qsiInDomain)=0
 Projection from given qsi to a qsiInDomain (in the element boundary) using bissection method from given qsi to element center. More...
 
int64_t Index () const
 Returns the index of the element within the element vector of the mesh. 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)
 
void InitializeNeighbours ()
 To be used after the buid connectivity. If some neighbour isn't initialized. More...
 

Detailed Description

Defines the behaviour of all geometric elements. Geometry

TPZGeoEl is the common denominator for all geometric elements.

Definition at line 43 of file pzgeoel.h.

Constructor & Destructor Documentation

◆ TPZGeoEl() [1/7]

TPZGeoEl::TPZGeoEl ( int64_t  id,
int  materialindex,
TPZGeoMesh mesh 
)

Constructor.

Parameters
idis the number of the element
materialindexis the material index
meshis a pointer to the mesh to which the element belongs

Definition at line 80 of file pzgeoel.cpp.

References TPZRefPattern::fId, and TPZGeoMesh::SetElementIdUsed().

◆ TPZGeoEl() [2/7]

TPZGeoEl::TPZGeoEl ( int  materialindex,
TPZGeoMesh mesh 
)

This constructor generates a unique Id.

Parameters
materialindexis the material index
meshis a pointer to the mesh to which the element belongs

Definition at line 116 of file pzgeoel.cpp.

References TPZAdmChunkVector< T, EXP >::AllocateNewElement(), TPZGeoMesh::CreateUniqueElementId(), TPZGeoMesh::ElementVec(), fFatherIndex, fId, fIndex, fMatId, fMesh, fNumInterfaces, fReference, and Mesh().

◆ TPZGeoEl() [3/7]

TPZGeoEl::TPZGeoEl ( int  materialindex,
TPZGeoMesh mesh,
int64_t &  index 
)

This constructor generates a unique Id.

Parameters
materialindexis the material index
meshis a pointer to the mesh to which the element belongs
indexindex of the new element in the element vector

Definition at line 104 of file pzgeoel.cpp.

References TPZAdmChunkVector< T, EXP >::AllocateNewElement(), TPZGeoMesh::CreateUniqueElementId(), TPZGeoMesh::ElementVec(), fFatherIndex, fId, fIndex, fMatId, fMesh, fNumInterfaces, and fReference.

◆ TPZGeoEl() [4/7]

TPZGeoEl::TPZGeoEl ( const TPZGeoEl el)

◆ TPZGeoEl() [5/7]

TPZGeoEl::TPZGeoEl ( TPZGeoMesh DestMesh,
const TPZGeoEl cp 
)

Copy constructor with elements in different meshes.

Definition at line 1674 of file pzgeoel.cpp.

References TPZGeoMesh::ElementVec(), fFatherIndex, fId, fIndex, fMatId, fMesh, fNumInterfaces, and fReference.

◆ TPZGeoEl() [6/7]

TPZGeoEl::TPZGeoEl ( TPZGeoMesh DestMesh,
const TPZGeoEl cp,
std::map< int64_t, int64_t > &  org2clnMap 
)

Copy constructor to a patch mesh.

Definition at line 1685 of file pzgeoel.cpp.

References DebugStop, TPZGeoMesh::ElementVec(), fFatherIndex, fId, fIndex, fMatId, fMesh, fNumInterfaces, fReference, and LOGPZ_ERROR.

◆ TPZGeoEl() [7/7]

TPZGeoEl::TPZGeoEl ( )
inline

Definition at line 173 of file pzgeoel.h.

Referenced by DecrementNumInterfaces().

◆ ~TPZGeoEl()

TPZGeoEl::~TPZGeoEl ( )
virtual

Destructor.

Definition at line 49 of file pzgeoel.cpp.

References DebugStop, and TPZRefPattern::fId.

Referenced by Initialize().

Member Function Documentation

◆ AllHigherDimensionSides()

virtual void TPZGeoEl::AllHigherDimensionSides ( int  side,
int  targetdimension,
TPZStack< TPZGeoElSide > &  elsides 
)
pure virtual

◆ BuildBlendConnectivity()

void TPZGeoEl::BuildBlendConnectivity ( )

Set connectivity information elements with blend geometric map.

Definition at line 1959 of file pzgeoel.cpp.

References IsGeoBlendEl(), NNodes(), NSides(), and SetNeighbourForBlending().

Referenced by TPZGeoMesh::BuildConnectivity(), pzgeom::TPZChangeEl::ChangeToGeoBlend(), and FatherIndex().

◆ BuildTransform2()

TPZTransform TPZGeoEl::BuildTransform2 ( int  side,
TPZGeoEl father,
TPZTransform< REAL > &  t 
)
virtual

Returns the transformation which maps the parameter side of the element/side
into the parameter space of the father element/side.

Definition at line 386 of file pzgeoel.cpp.

References PZError.

Referenced by TPZMultiphysicsCompEl< TGeometry >::AffineTransform(), TPZCompMesh::BuildTransferMatrix(), TPZGeoElRefLess< TGeo >::BuildTransform2(), TPZCheckGeom::CheckSubFatherTransform(), TPZInterpolationSpace::InterpolateSolution(), IsSibling(), and TransformSonToFather().

◆ CenterPoint()

virtual void TPZGeoEl::CenterPoint ( int  side,
TPZVec< REAL > &  masscent 
) const
pure virtual

◆ CharacteristicSize()

REAL TPZGeoEl::CharacteristicSize ( )
virtual

Computes the set of normals for defining HDiv approximation spaces.

Parameters
normalsnormal associated with each side
vectorsidesside associated with each normal vector
Note
The normal vectors are initially ordered according to the return of LowerDimensionSides and then permuted according to the node id'sThis method will accumulate the normals for all the sides Computation of NormalVectors for curvilinear elements

Definition at line 604 of file pzgeoel.cpp.

References TPZGeoNode::GetCoordinates(), Max(), Min(), NNodes(), NodePtr(), sqrt, and rdt::values.

Referenced by ComputeXInverse(), and IsSibling().

◆ CheckSubelDataStructure()

void TPZGeoEl::CheckSubelDataStructure ( )

Checks the structure of the Father() and GetSubelement2()

Definition at line 503 of file pzgeoel.cpp.

References Divide(), TPZGeoElSide::Element(), TPZRefPattern::Element(), Father2(), GetSubElements2(), Id(), TPZGeoElSide::Neighbour(), TPZVec< T >::NElements(), NSides(), and TPZGeoElSide::Side().

Referenced by IsSibling().

◆ ClassId()

int TPZGeoEl::ClassId ( ) const
overridevirtual

Define the class id associated with the class.

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

Implements TPZSavable.

Reimplemented in TPZGeoElRefPattern< TGeo >, TPZGeoElement< TGeo, TRef >, and TPZGeoElRefLess< TGeo >.

Definition at line 2562 of file pzgeoel.cpp.

References StaticClassId().

Referenced by TPZGeoElRefLess< TGeo >::ClassId(), and Initialize().

◆ Clone()

virtual TPZGeoEl* TPZGeoEl::Clone ( TPZGeoMesh DestMesh) const
pure virtual

◆ ClonePatchEl()

virtual TPZGeoEl* TPZGeoEl::ClonePatchEl ( TPZGeoMesh DestMesh,
std::map< int64_t, int64_t > &  gl2lcNdIdx,
std::map< int64_t, int64_t > &  gl2lcElIdx 
) const
pure virtual

Creates a clone of this element into a new patch mesh.

Parameters
DestMeshdestination patch mesh
gl2lcNdIdxmap between node indexes in original and patch mesh
gl2lcElIdxmap between element indexes in original and patch mesh This method differs from the above by the patch mesh does not include all elements and nodes.
Therefore, a map between node indexes in both meshes are required

Implemented in TPZGeoElRefPattern< TGeo >, TPZGeoElRefLess< TGeo >, and TPZGeoElement< TGeo, TRef >.

Referenced by TPZRefPatternTools::GenerateGMeshFromElementVec(), and Initialize().

◆ ComputeParamTrans()

TPZTransform TPZGeoEl::ComputeParamTrans ( TPZGeoEl fat,
int  fatside,
int  sideson 
)

para o canto do pai n�o existe transformac�o definida

basta repassar sendo ik>ij

o seguinte passo n�o � preciso dado que fat = elemento mestre

Definition at line 845 of file pzgeoel.cpp.

References TPZTransform< T >::Apply(), ComputeXInverse(), CreateSideIntegrationRule(), DebugStop, Dimension(), ELU, TPZIntPoints::NPoints(), NSides(), TPZIntPoints::Point(), PZError, TPZTransform< T >::SetMatrix(), TPZIntPoints::SetOrder(), SideDimension(), SideToSideTransform(), TPZMatrix< TVar >::SolveDirect(), X(), and ZeroTolerance().

Referenced by TPZCheckRestraint::CheckRestraint(), TPZCheckGeom::CheckSubFatherTransform(), and IsSibling().

◆ ComputePermutationNormals()

void TPZGeoEl::ComputePermutationNormals ( int  side,
TPZVec< int > &  indexfrom 
)

Compute the set of normals along a side for defining HDiv approximation spaces.

Parameters
side
normalsnormal associated with each side
vectorsidesside associated with each normal vector the normal vectors are initially ordered
according to the return of LowerDimensionSides and then permuted according to the node id's Compute the permutation needed to order the normal vectors in a consistent way $ normal(indexfrom[i]) = normal(i) $This permutation needs to be applied to the shape functions

Referenced by IsSibling().

◆ ComputeXInverse()

bool TPZGeoEl::ComputeXInverse ( TPZVec< REAL > &  XD,
TPZVec< REAL > &  ksi,
REAL  Tol 
)

◆ CreateBCCompEl()

TPZCompEl * TPZGeoEl::CreateBCCompEl ( int  side,
int  bc,
TPZCompMesh cmesh 
)
virtual

Method which creates a computational boundary condition element based on the current geometric element,
a side and a boundary condition number.

Definition at line 1092 of file pzgeoel.cpp.

References CreateBCGeoEl(), and TPZCompMesh::CreateCompEl().

Referenced by FatherIndex().

◆ CreateBCGeoEl()

virtual TPZGeoEl* TPZGeoEl::CreateBCGeoEl ( int  side,
int  bc 
)
pure virtual

◆ CreateGeoElement()

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

◆ CreateSideIntegrationRule()

virtual TPZIntPoints* TPZGeoEl::CreateSideIntegrationRule ( int  side,
int  order 
)
pure virtual

◆ DecrementNumInterfaces()

int TPZGeoEl::DecrementNumInterfaces ( )
inline

◆ Dimension()

virtual int TPZGeoEl::Dimension ( ) const
pure virtual

Returns the dimension of the element.

Implemented in TPZGeoElRefLess< TGeo >.

Referenced by TPZMHMeshControl::AddBoundaryElements(), TPZMHMeshControl::AddBoundaryInterfaceElements(), TPZMHMeshControl::AddElementBoundaries(), TPZBuildSBFem::AddSkeletonElements(), TPZBuildMultiphysicsMesh::AddWrap(), TPZMHMixedHybridMeshControl::AdjustBoundaryConditionsOfFractures(), TPZCompMeshTools::AdjustFluxPolynomialOrders(), TPZMultiphysicsCompEl< TGeometry >::AffineTransform(), TPZMHMixedHybridMeshControl::ApplyNeighbourBoundaryCondition(), TPZGeoMesh::Area(), TPZBuildSBFem::BuildComputationalMeshFromSkeleton(), TPZBuildSBFem::BuildComputationMesh(), BuildElementGroups(), TPZBuildMultiphysicsMesh::BuildHybridMesh(), TPZCreateApproximationSpace::BuildMesh(), TPZRefPattern::BuildSideMesh(), TPZMHMeshControl::BuildWrapMesh(), TPZMultiphysicsInterfaceElement::CalcStiff(), TPZCheckGeom::CheckInternalTransforms(), TPZMHMixedHybridMeshControl::CheckMeshConsistency(), TPZCheckGeom::CheckSideTransform(), TPZCheckGeom::CheckSubFatherTransform(), TPZDohrStructMatrix::ClusterIslands(), Hdiv2dPaper201504::CMeshPressure(), hdivCurvedJCompAppMath::CMeshPressure(), Hdiv3dPaper201504::CMeshPressure(), TPZMultiphysicsInterfaceElement::ComputeCenterNormal(), TPZSBFemVolume::ComputeKMatrices(), TPZInterfaceElement::ComputeNormal(), TPZInterpolationSpace::ComputeNormal(), ComputeParamTrans(), TPZRefPattern::ComputeParamTransform(), TPZMultiphysicsElement::ComputeRequiredData(), TPZReducedSpace::ComputeRequiredData(), TPZMultiphysicsCompEl< TGeometry >::ComputeRequiredData(), TPZInterpolationSpace::ComputeRequiredData(), TPZCompElHDivPressure< TSHAPE >::ComputeSolution(), TPZInterpolatedElement::ComputeSolution(), TPZCompElHDiv< TSHAPE >::ComputeSolution(), TPZSBFemVolume::ComputeSolution(), TPZCompElDisc::ComputeSolution(), TPZRefPattern::ComputeTransforms(), ComputeXInverse(), TPZBuildSBFem::Configure(), TPZMHMeshControl::ConnectedElements(), TPZCompMesh::ConvertDiscontinuous2Continuous(), TPZMHMixedHybridMeshControl::CreateAxialFluxElement(), TCedricTest::CreateCondensedElements(), TPZBuildSBFem::CreateElementCenterNodes(), TPZBuildSBFem::CreateElementGroups(), TPZMultiphysicsInterfaceElement::CreateGraphicalElement(), TPZMultiphysicsCompEl< TGeometry >::CreateGraphicalElement(), TPZSBFemVolume::CreateGraphicalElement(), TPZMHMixedMeshControl::CreateHDivMHMMesh(), TPZHybridizeHDiv::CreateInterfaceElements(), TPZMHMeshControl::CreateInterfaceElements(), TPZMHMixedHybridMeshControl::CreateInternalAxialFluxes(), TPZMHMixedHybridMeshControl::CreateInternalFluxElements(), TPZMHMeshControl::CreateLagrangeMultiplierMesh(), TPZMHMixedHybridMeshControl::CreateLowerDimensionPressureElements(), TPZRefPattern::CreateMidSideNodes(), TPZMHMixedHybridMeshControl::CreateMultiPhysicsInterfaceElements(), TPZMHMixedMeshControl::CreateMultiPhysicsInterfaceElements(), CreateNoElement(), TPZMHMixedMeshControl::CreatePressureMHMMesh(), TPZMHMixedMeshControl::CreateRotationMesh(), TPZMHMeshControl::CreateSkeletonElements(), TPZBuildSBFem::CreateVolumetricElements(), TPZBuildSBFem::CreateVolumetricElementsFromSkeleton(), TPZMHMeshControl::CriaMalhaTemporaria(), TPZMHMeshControl::DefinePartition(), TPZSBFemVolume::Dimension(), TPZMultiphysicsInterfaceElement::Dimension(), TPZInterfaceElement::Dimension(), TPZCompElDisc::Dimension(), TPZBuildSBFem::DivideSkeleton(), ElementRadius(), Hdiv2dPaper201504::ErrorH1(), hdivCurvedJCompAppMath::ErrorH1(), Hdiv3dPaper201504::ErrorH1(), Hdiv2dPaper201504::ErrorPrimalDual(), hdivCurvedJCompAppMath::ErrorPrimalDual(), Hdiv3dPaper201504::ErrorPrimalDual(), TPZElementGroup::EvaluateError(), TPZSBFemVolume::EvaluateError(), TPZCompElDisc::EvaluateSquareResidual2D(), TPZSBFemVolume::ExtendShapeFunctions(), TPZGeoMesh::FindApproxElement(), TPZMHMixedHybridMeshControl::FindConnectedElements(), TPZGeoMesh::FindElementCaju(), TPZGraphMesh::FindFirstInterpolatedElement(), TPZGeoMesh::FindSubElement(), TPZRefPattern::GeneratePermutations(), GetSubElements2(), TPZCompMeshTools::GroupElements(), TPZMHMixedHybridMeshControl::GroupElements(), TPZMHMeshControl::HasWrapNeighbour(), HDivPermutation(), TPZHybridizeHDiv::HybridizeInternalSides(), TPZDohrStructMatrix::IdentifyExternalConnectIndexes(), TPZMultiphysicsCompEl< TGeometry >::InitializeIntegrationRule(), TPZMultiphysicsInterfaceElement::InitMaterialData(), TPZMathTools::IntegrateFunction(), TPZInterfaceElement::IntegrateInterface(), TPZCompEl::IntegrateSolution(), TPZHyperPlaneIntersect::Intersect(), IsSibling(), TPZMathTools::JacobianConv(), ConvTest::JacobianConv(), TPZCompMeshTools::LoadSolution(), TPZCreateApproximationSpace::MakeRaviartThomas(), MalhaCubo(), TPZFlowCompMesh::MaxVelocityOfMesh(), TPZInterfaceElement::NeighbourSolution(), TPZGeoElSide::Normal(), NormalOrientation(), TPZRefPattern::operator==(), TPZRefPatternTools::PerfectMatchRefPattern(), TPZAnalysis::PostProcess(), TPZCondensedCompEl::Print(), TPZMultiphysicsInterfaceElement::Print(), TPZInterfaceElement::Print(), TPZMHMeshControl::PrintBoundaryInfo(), TPZMHMixedHybridMeshControl::PrintFriendly(), TPZVTKGeoMesh::PrintGMeshVTKmy_material(), TPZVTKGeoMesh::PrintPOrderPoints(), TPZAnalysis::PrintVectorByElement(), PYBIND11_MODULE(), TPZRefPattern::ReadAndCreateRefinementPattern(), RefinamentoUniforme(), TPZInterpolatedElement::RemoveSideRestraintsII(), TPZHybridizeHDiv::RightElement(), TPZStructMatrixGCTP::Serial_Assemble(), TPZStructMatrixGC::Serial_Assemble(), TPZStructMatrixCS::Serial_Assemble(), TPZStructMatrixOT::Serial_Assemble(), TPZStructMatrixOR::Serial_Assemble(), TPZSBFemVolume::SetIntegrationRule(), TPZMultiphysicsCompEl< TGeometry >::SetIntegrationRule(), TPZInterfaceElement::SetLeftRightElements(), TPZCompMeshTools::SetPressureOrders(), TPZRefPattern::SetRefPatternMeshToMasterDomain(), TPZCompElDisc::SetTrueUseQsiEta(), TPZInterpolationSpace::SideShapeFunction(), TPZCompElDisc::SizeOfElement(), TPZHybridizeHDiv::SplitConnects(), SubStructure(), TPZGeoElMapped< TBase >::TGradX(), TPZCompElHDiv< TSHAPE >::TPZCompElHDiv(), TPZCompElHDivPressureBound< TSHAPE >::TPZCompElHDivPressureBound(), TPZMeshSolution::TPZMeshSolution(), TPZRefPatternTools::TransformationTest(), TransformSonToFather(), TPZCreateApproximationSpace::UndoMakeRaviartThomas(), TPZGenSubStruct::UniformRefine(), UniformRefinement(), TPZGenSpecialGrid::UniformRefinement(), VerifyNodeCoordinates(), TPZHybridizeHDiv::VerifySolutionConsistency(), WhichSide(), TPZMHMeshControl::WrapMaterialId(), TPZCompElHDiv< TSHAPE >::~TPZCompElHDiv(), and TPZCompElHDivBound2< TSHAPE >::~TPZCompElHDivBound2().

◆ Distance()

REAL TPZGeoEl::Distance ( TPZVec< REAL > &  centel,
TPZVec< REAL > &  centface 
)
static

◆ Divide()

void TPZGeoEl::Divide ( TPZVec< TPZGeoEl *> &  pv)
inlinevirtual

◆ EldestAncestor()

TPZGeoEl * TPZGeoEl::EldestAncestor ( ) const

Returns the eldest ancestor of this geoel

Definition at line 1981 of file pzgeoel.cpp.

References Father().

◆ ElementExists()

int TPZGeoEl::ElementExists ( TPZGeoEl elem,
int64_t  id 
)

To test continuity.

Definition at line 361 of file pzgeoel.cpp.

References TPZGeoMesh::ElementVec(), fMesh, Id(), TPZChunkVector< T, EXP >::NElements(), and PZError.

Referenced by IsSibling().

◆ ElementRadius()

REAL TPZGeoEl::ElementRadius ( )
virtual

◆ Father()

TPZGeoEl * TPZGeoEl::Father ( ) const

◆ Father2()

TPZGeoElSide TPZGeoEl::Father2 ( int  side) const
virtual

Returns the father/side of the father which contains the side of the sub element.

Reimplemented in TPZGeoElRefLess< TGeo >.

Definition at line 376 of file pzgeoel.cpp.

References PZError.

Referenced by CheckSubelDataStructure(), TPZCheckGeom::CheckSubFatherTransform(), TPZGeoMesh::FindElement(), IsSibling(), TPZGeoElSide::LowestFatherSide(), and TPZCheckRestraint::Print().

◆ FatherIndex()

int64_t TPZGeoEl::FatherIndex ( )
inline

◆ FatherSide()

int TPZGeoEl::FatherSide ( int  side,
int  son 
)
virtual

◆ GetAllSiblings()

void TPZGeoEl::GetAllSiblings ( TPZStack< TPZGeoEl *> &  unrefinedSons)
virtual

[deprecated] use YoungestChildren

Definition at line 410 of file pzgeoel.cpp.

References DebugStop, GetAllSiblings(), HasSubElement(), NSubElements(), TPZStack< T, NumExtAlloc >::Push(), PZError, and SubElement().

Referenced by TPZGeoMesh::FindSubElement(), GetAllSiblings(), and IsSibling().

◆ GetHigherSubElements()

void TPZGeoEl::GetHigherSubElements ( TPZVec< TPZGeoEl *> &  unrefinedSons)
virtual

◆ GetNodeIndices() [1/2]

void TPZGeoEl::GetNodeIndices ( TPZVec< int64_t > &  nodeindices)

Definition at line 2526 of file pzgeoel.cpp.

References NNodes(), NodeIndex(), and TPZVec< T >::Resize().

Referenced by Initialize().

◆ GetNodeIndices() [2/2]

void TPZGeoEl::GetNodeIndices ( std::set< int64_t > &  nodeindices)

void

Definition at line 2534 of file pzgeoel.cpp.

References NNodes(), and NodeIndex().

◆ GetPermutation()

virtual void TPZGeoEl::GetPermutation ( const int &  i,
TPZVec< int > &  permutation 
) const
pure virtual

This method gets the ith valid permutation of its topology

Parameters
inumber of the permutation to get
permutationvector contained the permuted sides

Implemented in TPZGeoElRefLess< TGeo >.

Referenced by DecrementNumInterfaces(), and TPZRefPattern::GeneratePermutations().

◆ GetRefPattern()

TPZAutoPointer< TPZRefPattern > TPZGeoEl::GetRefPattern ( ) const
virtual

◆ GetSubElements2() [1/2]

void TPZGeoEl::GetSubElements2 ( int  side,
TPZStack< TPZGeoElSide > &  subel 
) const
virtual

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 in TPZGeoElRefLess< TGeo >, TPZGeoElement< TGeo, TRef >, and TPZGeoElRefPattern< TGeo >.

Definition at line 392 of file pzgeoel.cpp.

References PZError.

Referenced by TPZCheckGeom::CheckRefinement(), CheckSubelDataStructure(), GetSubElements2(), InitializeNeighbours(), IsSibling(), and SetSubElementConnectivities().

◆ GetSubElements2() [2/2]

void TPZGeoEl::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.

Only element/sides of the given dimension are put on the stack

Definition at line 397 of file pzgeoel.cpp.

References Dimension(), GetSubElements2(), TPZVec< T >::NElements(), and TPZStack< T, NumExtAlloc >::Push().

◆ GetTransform()

virtual TPZTransform<REAL> TPZGeoEl::GetTransform ( int  side,
int  son 
)
pure virtual

◆ GetTransformId2dQ()

int TPZGeoEl::GetTransformId2dQ ( TPZVec< int > &  idfrom,
TPZVec< int > &  idto 
)

Get the transform id the face to face.

Definition at line 330 of file pzgeoel.cpp.

Referenced by SetId().

◆ GetTransformId2dT()

int TPZGeoEl::GetTransformId2dT ( TPZVec< int > &  idfrom,
TPZVec< int > &  idto 
)

Get the transform id the face to face.

Definition at line 347 of file pzgeoel.cpp.

Referenced by SetId().

◆ GradX()

virtual void TPZGeoEl::GradX ( TPZVec< REAL > &  qsi,
TPZFMatrix< REAL > &  gradx 
) const
pure virtual

Return the gradient of the transformation at the given coordinate.

Implemented in TPZGeoElRefLess< TGeo >.

Referenced by ComputeXInverse(), IsSibling(), Jacobian(), JacobianXYZ(), TPZGeoElMapped< TBase >::TGradX(), and Volume().

◆ HasSubElement()

virtual int TPZGeoEl::HasSubElement ( ) const
pure virtual

Return 1 if the element has subelements.

Implemented in TPZGeoElRefLess< TGeo >, TPZGeoElement< TGeo, TRef >, and TPZGeoElRefPattern< TGeo >.

Referenced by TPZMHMeshControl::AddBoundaryElements(), TPZMHMeshControl::AddBoundaryInterfaceElements(), TPZGeoMesh::Area(), TPZCompMesh::AutoBuildContDisc(), TPZPostProcAnalysis::AutoBuildDisc(), TPZCreateApproximationSpace::BuildMesh(), pzgeom::TPZChangeEl::ChangeToQuadratic(), TPZCheckGeom::CheckRefinement(), TPZGeoMesh::CleanUp(), TPZMHMeshControl::CreateInternalElements(), TPZMHMixedHybridMeshControl::CreateInternalFluxElements(), TPZMHMixedMeshControl::CreateInternalFluxElements(), TPZRefPattern::CreateNewNodes(), Hdiv3dPaper201504::CreateOneCubo(), TPZMHMixedHybridMeshControl::CreatePressureInterfaces(), TPZBuildSBFem::CreateVolumetricElements(), TPZBuildSBFem::CreateVolumetricElementsFromSkeleton(), TPZMHMeshControl::DefinePartition(), TPZGeoMesh::DeleteElement(), pzrefine::TPZRefPrism::Divide(), pzrefine::TPZRefTriangle::Divide(), pzrefine::TPZRefCube::Divide(), pzrefine::TPZRefPyramid::Divide(), pzrefine::TPZRefQuad::Divide(), pzrefine::TPZRefLinear::Divide(), pzrefine::TPZRefTetrahedra::Divide(), pzrefine::TPZRefPoint::Divide(), TPZMHMeshControl::DivideBoundarySkeletonElements(), TPZBuildSBFem::DivideSkeleton(), TPZExtendGridDimension::ExtendedMesh(), TPZGeoMesh::FindSubElement(), TPZGenSpecialGrid::GeneratePolygonalSphereFromOctahedron(), GetAllSiblings(), TPZRefPatternTools::GetCompatibleRefPatterns(), GetHigherSubElements(), pzrefine::TPZRefCube::GetSubElements(), pzrefine::TPZRefPrism::GetSubElements(), pzrefine::TPZRefTriangle::GetSubElements(), pzrefine::TPZRefLinear::GetSubElements(), pzrefine::TPZRefQuad::GetSubElements(), pzrefine::TPZRefPyramid::GetSubElements(), pzrefine::TPZRefTetrahedra::GetSubElements(), pzrefine::TPZRefPoint::GetSubElements(), Hdiv2dPaper201504::GMesh(), hdivCurvedJCompAppMath::GMeshCilindricalMesh(), Hdiv3dPaper201504::GMeshWithPrism(), InitializeNeighbours(), TPZHyperPlaneIntersect::Intersect(), hdivCurvedJCompAppMath::MakeCircle(), hdivCurvedJCompAppMath::MakeSphereFromQuadrilateral(), MalhaCubo(), pzrefine::TPZRefTriangle::MidSideNodeIndex(), pzrefine::TPZRefCube::MidSideNodeIndex(), pzrefine::TPZRefPrism::MidSideNodeIndex(), pzrefine::TPZRefLinear::MidSideNodeIndex(), pzrefine::TPZRefQuad::MidSideNodeIndex(), pzrefine::TPZRefPyramid::MidSideNodeIndex(), pzrefine::TPZRefTetrahedra::MidSideNodeIndex(), TPZVTKGeoMesh::PrintGMeshVTK(), TPZVTKGeoMesh::PrintGMeshVTKmy_material(), TPZVTKGeoMesh::PrintGMeshVTKneighbour_material(), TPZRefPatternTools::RefineDirectional(), ResetReference(), TPZGenGrid::SetBC(), TPZVTKGeoMesh::SetMaterialVTK(), TPZRefPatternTools::SidesToRefine(), TPZCheckGeom::UniformRefine(), TPZGenSubStruct::UniformRefine(), UniformRefinement(), TPZGenSpecialGrid::UniformRefinement(), and YoungestChildren().

◆ HDivDirections()

virtual void TPZGeoEl::HDivDirections ( TPZVec< REAL > &  pt,
TPZFMatrix< REAL > &  directions,
int  RestrainedFace 
)
pure virtual

Returns the directions of this geoel

Implemented in TPZGeoElRefLess< TGeo >.

Referenced by TPZCompElHDiv< TSHAPE >::ComputeRequiredData().

◆ HDivDirectionsMaster()

virtual void TPZGeoEl::HDivDirectionsMaster ( TPZFMatrix< REAL > &  directions)
pure virtual

Returns the directions of this geoel Returns the directions of master element

Implemented in TPZGeoElRefLess< TGeo >.

Referenced by TPZCompElHDiv< TSHAPE >::ComputeRequiredData().

◆ HDivPermutation()

void TPZGeoEl::HDivPermutation ( int  side,
TPZVec< int > &  permutegather 
)
virtual

Computes the permutation for an HDiv side.

Reimplemented in TPZGeoElRefLess< TGeo >.

Definition at line 2509 of file pzgeoel.cpp.

References DebugStop, dimension, Dimension(), LOGPZ_ERROR, pztopology::sidedimension, and SideDimension().

Referenced by TPZCompElHDiv< TSHAPE >::IndexShapeToVec2(), and IsGeoElMapped().

◆ Id()

int64_t TPZGeoEl::Id ( ) const
inline

◆ IncrementNumInterfaces()

int TPZGeoEl::IncrementNumInterfaces ( )
inline

Increments number of TPZInterfaceElement pointing to this.

Definition at line 99 of file pzgeoel.h.

References fNumInterfaces.

Referenced by TPZInterfaceElement::TPZInterfaceElement(), and TPZMultiphysicsInterfaceElement::TPZMultiphysicsInterfaceElement().

◆ Index()

int64_t TPZGeoEl::Index ( ) const
inline

Returns the index of the element within the element vector of the mesh.

Definition at line 730 of file pzgeoel.h.

References fIndex, and InitializeNeighbours().

Referenced by TPZMHMeshControl::AddElementBoundaries(), TPZBuildSBFem::AddSkeletonElements(), TPZGeoMesh::Area(), TPZMHMixedMeshControl::BuildMultiPhysicsMesh(), CompareFluxes(), TPZMHMeshControl::ConnectedElements(), TPZMHMixedHybridMeshControl::CreateAxialFluxElement(), TPZBuildSBFem::CreateElementGroups(), TPZMHMixedHybridMeshControl::CreateHDivWrappers(), TPZMHMeshControl::CreateInterfaceElements(), TPZMHMixedHybridMeshControl::CreateLowerDimensionPressureElements(), TPZMHMixedHybridMeshControl::CreatePressureInterfaces(), TPZMHMixedMeshControl::CreatePressureMHMMesh(), TPZMHMixedMeshControl::CreateRotationMesh(), TPZMHMixedHybridMeshControl::CreateSkeletonAxialFluxes(), TPZMHMeshControl::CreateSkeletonElements(), TPZMHMeshControl::DefinePartition(), TPZMHMeshControl::DefinePartitionbyCoarseIndices(), TPZGeoMesh::DeleteElement(), pzrefine::TPZRefPrism::Divide(), pzrefine::TPZRefTriangle::Divide(), pzrefine::TPZRefCube::Divide(), pzrefine::TPZRefPyramid::Divide(), pzrefine::TPZRefQuad::Divide(), pzrefine::TPZRefLinear::Divide(), pzrefine::TPZRefTetrahedra::Divide(), pzrefine::TPZRefPoint::Divide(), TPZGeoElRefPattern< TGeo >::Divide(), TPZInterpolatedElement::Divide(), TPZGeoMesh::ElementIndex(), TPZGeoMesh::FindApproxElement(), TPZGeoMesh::FindCloseElement(), TPZGeoMesh::FindElement(), TPZGeoMesh::FindElementCaju(), TPZGeoMesh::FindSubElement(), TPZRefPatternTools::GenerateGMeshFromElementVec(), TPZMultiphysicsCompEl< TGeometry >::GetReferenceIndexVec(), HasNeighbour(), TPZMHMixedMeshChannelControl::HideTheElements(), TPZMHMixedMeshControl::HideTheElements(), TPZMHMeshControl::HybridizeSkeleton(), TPZMHMeshControl::IsSibling(), NormalOrientation(), TPZRefPatternTools::PerfectMatchRefPattern(), TPZAnalysis::PostProcessErrorSerial(), TPZCompElHDiv< TSHAPE >::PRefine(), TPZInterpolatedElement::PRefine(), TPZElementGroup::Print(), TPZCondensedCompEl::Print(), TPZMultiphysicsInterfaceElement::Print(), TPZCompElDisc::Print(), TPZMultiphysicsCompEl< TGeometry >::Print(), TPZCompMesh::Print(), TPZInterfaceElement::Print(), Print(), TPZMHMeshControl::PrintBoundaryInfo(), TPZVTKGeoMesh::PrintCMeshVTK(), TPZVTKGeoMesh::PrintGMeshVTK(), TPZVTKGeoMesh::PrintGMeshVTKmy_material(), TPZVTKGeoMesh::PrintGMeshVTKneighbour_material(), TPZMHMeshControl::PrintSubdomain(), PrintTopologicalInfo(), TPZAnalysis::PrintVectorByElement(), TPZRefPattern::ReadAndCreateRefinementPattern(), TPZRefPatternTools::RefineDirectional(), TPZStructMatrixGCTP::Serial_Assemble(), TPZStructMatrixGC::Serial_Assemble(), TPZStructMatrixCS::Serial_Assemble(), TPZStructMatrixOT::Serial_Assemble(), TPZStructMatrixOR::Serial_Assemble(), TPZGeoElSideIndex::SetElement(), SetFather(), TPZMHMeshControl::SetSubdomain(), TPZGeoElRefPattern< TGeo >::SetSubElement(), TPZGeoElement< TGeo, TRef >::SetSubElement(), TPZHybridizeHDiv::SplitConnects(), TPZMHMixedHybridMeshControl::SplitFluxElementsAroundFractures(), TPZDohrStructMatrix::SubStructure(), SubStructure(), TPZMHMeshControl::SubStructure(), TPZCompEl::TPZCompEl(), TPZCondensedCompEl::TPZCondensedCompEl(), TPZGeoElRefLess< TGeo >::TPZGeoElRefLess(), and TPZGeoElSideIndex::TPZGeoElSideIndex().

◆ Initialize()

virtual void TPZGeoEl::Initialize ( )
inlinevirtual

◆ InitializeNeighbours()

void TPZGeoEl::InitializeNeighbours ( )
private

To be used after the buid connectivity. If some neighbour isn't initialized.

It will be initialized as the TPZGeoElSide (this, thisside)

Definition at line 1117 of file pzgeoel.cpp.

References TPZGeoElSide::Element(), GetSubElements2(), HasSubElement(), InitializeNeighbours(), Neighbour(), TPZVec< T >::NElements(), NSides(), SetNeighbour(), and TPZGeoElSide::Side().

Referenced by Index(), InitializeNeighbours(), and SetSubElementConnectivities().

◆ IsGeoBlendEl()

virtual bool TPZGeoEl::IsGeoBlendEl ( ) const
inlinevirtual

◆ IsGeoElMapped()

virtual bool TPZGeoEl::IsGeoElMapped ( ) const
inlinevirtual

Returns if is a TPZGeoElMapped< T > element.

It is necessary due to the lack of dynamic cast for these elements

Definition at line 282 of file pzgeoel.h.

References Father(), HDivPermutation(), MidSideNodeIndex(), MidSideNodeIndices(), NSideNodes(), NSides(), NSideSubElements(), NSubElements(), SideIsUndefined(), SideNodeIndex(), SideNodeLocIndex(), and SideNodePtr().

Referenced by SetNeighbourForBlending().

◆ IsInParametricDomain()

virtual bool TPZGeoEl::IsInParametricDomain ( const TPZVec< REAL > &  pt,
REAL  tol = 1.e-2 
)
pure virtual

Verifies if the parametric point pt is in the element parametric domain.

Implemented in TPZGeoElRefLess< TGeo >.

Referenced by ComputeXInverse(), and IsSibling().

◆ IsLinearMapping() [1/2]

virtual bool TPZGeoEl::IsLinearMapping ( ) const
inlinevirtual

◆ IsLinearMapping() [2/2]

virtual bool TPZGeoEl::IsLinearMapping ( int  side) const
pure virtual

Implemented in TPZGeoElRefLess< TGeo >.

◆ IsSibling()

bool TPZGeoEl::IsSibling ( TPZGeoEl gel)
inline

◆ Jacobian() [1/2]

void TPZGeoEl::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)

Definition at line 1144 of file pzgeoel.cpp.

References GradX(), LOGPZ_DEBUG, and TPZMatrix< TVar >::Print().

Referenced by TPZCompElDisc::AccumulateIntegrationRule(), TPZInterpolationSpace::BuildTransferMatrix(), TPZInterpolatedElement::BuildTransferMatrix(), TPZCompElDisc::BuildTransferMatrix(), TPZInterpolatedElement::CalcIntegral(), TPZMultiphysicsCompEl< TGeometry >::CalcResidual(), TPZInterfaceElement::CalcStiff(), TPZMultiphysicsCompEl< TGeometry >::CalcStiff(), CheckElement(), TPZInterpolatedElement::CompareElement(), TPZSBFemVolume::ComputeKMatrices(), TPZInterfaceElement::ComputeNormal(), TPZReducedSpace::ComputeRequiredData(), TPZMultiphysicsInterfaceElement::ComputeRequiredData(), TPZCompElHDivBound2< TSHAPE >::ComputeShape(), TPZInterpolationSpace::ComputeShape(), TPZCompElPostProc< TCOMPEL >::ComputeShape(), TPZCompElDisc::ComputeShape(), TPZSBFemVolume::ComputeShape(), TPZInterpolatedElement::ComputeSolution(), TPZSBFemVolume::ComputeSolution(), ComputeXInverse(), TPZMGAnalysis::ElementError(), TPZMultiphysicsCompEl< TGeometry >::EvaluateError(), TPZSBFemVolume::EvaluateError(), TPZInterfaceElement::EvaluateInterfaceJump(), TPZMathTools::IntegrateFunction(), TPZInterfaceElement::IntegrateInterface(), TPZMultiphysicsCompEl< TGeometry >::IntegrateSolution(), TPZInterpolationSpace::IntegrateSolution(), TPZCompEl::IntegrateSolution(), IsSibling(), TPZMathTools::JacobianConv(), ConvTest::JacobianConv(), TPZInterpolatedElement::MeanSolution(), TPZSBFemVolume::Shape(), TPZCompElHDivBound2< TSHAPE >::SideShapeFunction(), and Volume().

◆ Jacobian() [2/2]

void TPZGeoEl::Jacobian ( const TPZFMatrix< REAL > &  gradx,
TPZFMatrix< REAL > &  jac,
TPZFMatrix< REAL > &  axes,
REAL &  detjac,
TPZFMatrix< REAL > &  jacinv 
)
static

Compute a QR facotrization of the gradient of the mapping function, Q = Jacobian and R = axes.

Definitions: v1 -> is the xi_direction of the Gradient

Definitions: v1 -> is the xi_direction of the Gradient, v2 -> is the eta_direction of the Gradient

Definitions: v_1_til and v_2_til -> asscoiated orthonormal vectors to v_1 and v_2

Definition at line 1166 of file pzgeoel.cpp.

References TPZMatrix< TVar >::Cols(), DebugStop, TPZFMatrix< TVar >::GetVal(), IsZero(), LOGPZ_ERROR, TPZFMatrix< TVar >::Resize(), TPZMatrix< TVar >::Rows(), sqrt, TPZFMatrix< TVar >::Zero(), and ZeroTolerance().

◆ JacobianXYZ() [1/2]

void TPZGeoEl::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)

Definition at line 1159 of file pzgeoel.cpp.

References GradX().

Referenced by IsSibling().

◆ JacobianXYZ() [2/2]

void TPZGeoEl::JacobianXYZ ( const TPZFMatrix< REAL > &  gradx,
TPZFMatrix< REAL > &  jac,
TPZFMatrix< REAL > &  axesXYZ,
REAL &  detjac,
TPZFMatrix< REAL > &  jacinv 
)
static

◆ Level()

int TPZGeoEl::Level ( )

Returns the number of ancestors.

Definition at line 319 of file pzgeoel.cpp.

References Father().

Referenced by IsSibling(), TPZAgglomerateElement::ListOfGroupings(), TPZGenSubStruct::SubStructure(), and TPZGenSubStruct::UniformRefine().

◆ LowerDimensionSides()

virtual void TPZGeoEl::LowerDimensionSides ( int  side,
TPZStack< int > &  smallsides 
) const
pure virtual

◆ LowestFather()

TPZGeoEl* TPZGeoEl::LowestFather ( )
inline

Returns a pointer to the higher level father.

Definition at line 337 of file pzgeoel.h.

References Father().

Referenced by TPZGeoMesh::FindElementCaju().

◆ MaterialId()

int TPZGeoEl::MaterialId ( ) const
inline

Returns the material index of the element.

Definition at line 250 of file pzgeoel.h.

References fMatId, GetHigherSubElements(), Reference(), and Type().

Referenced by TPZMHMeshControl::AddBoundaryElements(), TPZMHMeshControl::AddBoundaryInterfaceElements(), TPZBuildMultiphysicsMesh::AddElements(), TPZMultiphysicsCompMesh::AddElements(), TPZMHMixedHybridMeshControl::AdjustBoundaryConditionsOfFractures(), TPZMHMixedHybridMeshControl::ApplyNeighbourBoundaryCondition(), TPZGeoMesh::Area(), TPZPostProcAnalysis::AutoBuildDisc(), TPZBuildSBFem::BuildComputationalMeshFromSkeleton(), TPZBuildSBFem::BuildComputationMesh(), BuildElementGroups(), TPZBuildMultiphysicsMesh::BuildHybridMesh(), TPZCreateApproximationSpace::BuildMesh(), TPZMHMixedMeshControl::BuildMultiPhysicsMesh(), TPZRefPattern::BuildSideMesh(), TPZMHMeshControl::BuildWrapMesh(), TPZInterpolationSpace::CalcStiff(), TPZElementGroup::CalcStiff(), pzgeom::TPZChangeEl::ChangeToGeoBlend(), pzgeom::TPZChangeEl::ChangeToQuadratic(), TPZMHMixedHybridMeshControl::CheckMeshConsistency(), Hdiv2dPaper201504::CMeshMixed(), hdivCurvedJCompAppMath::CMeshMixed(), Hdiv3dPaper201504::CMeshMixed(), TPZSBFemVolume::ComputeKMatrices(), TPZSBFemElementGroup::ComputeMatrices(), TPZInterfaceElement::ComputeNormal(), TPZInterpolationSpace::ComputeNormal(), TPZHybridizeHDiv::ComputePeriferalMaterialIds(), TPZSBFemVolume::ComputeSolution(), TPZMHMeshControl::ConnectedElements(), TPZMHMixedHybridMeshControl::CreateAxialFluxElement(), TPZMHMixedHybridMeshControl::CreateHDivWrappers(), TPZMHMeshControl::CreateInterfaceElements(), TPZCreateApproximationSpace::CreateInterfaces(), TPZMHMixedHybridMeshControl::CreateInternalAxialFluxes(), TPZMHMeshControl::CreateLagrangeMultiplierMesh(), TPZMHMixedHybridMeshControl::CreateLowerDimensionPressureElements(), TPZInterpolatedElement::CreateMidSideConnect(), TPZMHMixedHybridMeshControl::CreateMultiPhysicsInterfaceElements(), TPZMHMixedMeshControl::CreateMultiPhysicsInterfaceElements(), TPZMHMixedHybridMeshControl::CreatePressureInterfaces(), TPZMHMixedMeshControl::CreatePressureMHMMesh(), TPZMHMixedMeshControl::CreateRotationMesh(), TPZMHMixedHybridMeshControl::CreateSkeletonAxialFluxes(), TPZBuildSBFem::CreateVolumetricElements(), TPZBuildSBFem::CreateVolumetricElementsFromSkeleton(), TPZMHMeshControl::CreateWrap(), TPZMHMeshControl::CriaMalhaTemporaria(), TPZMHMeshControl::DefinePartition(), pzrefine::TPZRefPrism::Divide(), pzrefine::TPZRefTriangle::Divide(), pzrefine::TPZRefCube::Divide(), pzrefine::TPZRefLinear::Divide(), pzrefine::TPZRefPyramid::Divide(), pzrefine::TPZRefQuad::Divide(), pzrefine::TPZRefTetrahedra::Divide(), pzrefine::TPZRefPoint::Divide(), TPZGeoElRefPattern< TGeo >::Divide(), TPZBuildSBFem::DivideSkeleton(), TPZExtendGridDimension::ExtendedMesh(), TPZMHMixedHybridMeshControl::FindConnectedElements(), TPZRefPattern::GeneratePermutations(), TPZCompEl::HasMaterial(), HasNeighbour(), TPZMHMeshControl::HasWrapNeighbour(), TPZMHMixedMeshControl::HybridizeSkeleton(), TPZMHMeshControl::HybridizeSkeleton(), TPZAnalysis::Integrate(), TPZCompMesh::Integrate(), TPZCompEl::Material(), TPZAnalysisError::MathematicaPlot(), TPZGenGrid::MergeGeoMesh(), TPZCompEl::NeedsComputing(), TPZMHMixedHybridMeshControl::NeedsHDivWrapper(), TPZStructMatrixCS::ThreadData::NextElement(), TPZCondensedCompEl::Print(), TPZMultiphysicsInterfaceElement::Print(), TPZCompElDisc::Print(), TPZInterfaceElement::Print(), TPZMHMeshControl::PrintBoundaryInfo(), TPZVTKGeoMesh::PrintCMeshVTK(), TPZVTKGeoMesh::PrintGMeshVTK(), TPZVTKGeoMesh::PrintGMeshVTKmy_material(), TPZVTKGeoMesh::PrintGMeshVTKneighbour_material(), TPZMHMeshControl::PrintSubdomain(), TPZAnalysis::PrintVectorByElement(), TPZRefPattern::PrintVTK(), TPZGenGrid::ReadAndMergeGeoMesh(), TPZRefPatternTools::RefineDirectional(), TPZStructMatrixOR::Serial_Assemble(), hdivCurvedJCompAppMath::SetupDisconnectedHdivboud(), TPZSBFemVolume::Solution(), TPZMHMixedHybridMeshControl::SplitFluxElementsAroundFractures(), TPZStructMatrixOR::ThreadData::ThreadWork(), TPZStructMatrixGC::ThreadData::ThreadWork(), TPZStructMatrixCS::ThreadData::ThreadWork(), TPZStructMatrixGC::ThreadData::ThreadWorkResidual(), TPZIntelGen< TSHAPE >::TPZIntelGen(), TPZMultiphysicsInterfaceElement::TPZMultiphysicsInterfaceElement(), TPZGenSubStruct::UniformRefine(), UniformRefinement(), TPZGenSpecialGrid::UniformRefinement(), and TPZMHMeshControl::WrapMaterialId().

◆ Mesh()

TPZGeoMesh* TPZGeoEl::Mesh ( ) const
inline

Returns the mesh to which the element belongs.

Definition at line 220 of file pzgeoel.h.

References fMesh.

Referenced by TPZGeoElement< TGeo, TRef >::Clone(), TPZGeoElRefPattern< TGeo >::Clone(), CompareFluxes(), TPZSBFemVolume::ComputeKMatrices(), TPZGeoElRefLess< TGeo >::CreateBCGeoBlendEl(), TPZGeoElRefLess< TGeo >::CreateBCGeoEl(), TPZGeoElement< TGeo, TRef >::CreateGeoElement(), TPZGeoElRefLess< TGeo >::CreateGeoElement(), TPZRefPattern::CreateMidSideNodes(), TPZMHMeshControl::CreateWrap(), pzrefine::TPZRefPrism::Divide(), pzrefine::TPZRefQuad::Divide(), pzrefine::TPZRefLinear::Divide(), pzrefine::TPZRefPoint::Divide(), Father(), TPZRefPattern::GeneratePermutations(), pzgeom::TPZGeoBlend< TGeo >::GradX(), pzgeom::TPZGeoBlend< TGeo >::Jacobian(), TPZGeoElRefPattern< TGeo >::MidSideNodeIndex(), TPZGeoElRefLess< TGeo >::Neighbour(), TPZGeoElRefLess< TGeo >::NeighbourIndex(), pzrefine::TPZRefPrism::NewMidSideNode(), pzrefine::TPZRefTriangle::NewMidSideNode(), pzrefine::TPZRefCube::NewMidSideNode(), pzrefine::TPZRefQuad::NewMidSideNode(), pzrefine::TPZRefPyramid::NewMidSideNode(), pzrefine::TPZRefLinear::NewMidSideNode(), pzrefine::TPZRefTetrahedra::NewMidSideNode(), TPZCompElDisc::NormalizeConst(), TPZRefPatternTools::PerfectMatchRefPattern(), TPZInterpolatedElement::PRefine(), TPZGeoElMapped< TBase >::SetFatherIndex(), TPZVTKGeoMesh::SetMaterialVTK(), SideArea(), SmallerEdge(), TPZGeoElRefPattern< TGeo >::SubElement(), TPZGeoElement< TGeo, TRef >::SubElement(), TPZGeoEl(), TPZGeoElRefLess< TGeo >::TPZGeoElRefLess(), WhichSubel(), TPZMHMeshControl::WrapMaterialId(), pzgeom::TPZGeoBlend< TGeo >::X(), and TPZInterfaceElement::~TPZInterfaceElement().

◆ MidSideNodeIndex()

virtual void TPZGeoEl::MidSideNodeIndex ( int  side,
int64_t &  index 
) const
pure virtual

◆ MidSideNodeIndices()

void TPZGeoEl::MidSideNodeIndices ( int  side,
TPZVec< int64_t > &  indices 
) const
virtual

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

THIS METHOD SHOULD SUBSTITUTE MidSideNodeIndex in the future as it is ready for Refinement patterns
whereas the former is not

Reimplemented in TPZGeoElRefPattern< TGeo >.

Definition at line 1137 of file pzgeoel.cpp.

References MidSideNodeIndex(), and TPZVec< T >::Resize().

Referenced by IsGeoElMapped().

◆ NCornerNodes()

virtual int TPZGeoEl::NCornerNodes ( ) const
pure virtual

Returns the number of corner nodes of the element.

Implemented in TPZGeoElRefLess< TGeo >.

Referenced by TPZCompMesh::AdjustBoundaryElements(), TPZGeoMesh::BuildConnectivity(), TPZRefPatternTools::BuildRefPatternModelName(), pzgeom::TPZChangeEl::ChangeToGeoBlend(), pzgeom::TPZChangeEl::ChangeToQuarterPoint(), TPZMHMixedHybridMeshControl::CheckMeshConsistency(), ComputeXInverse(), TPZBuildSBFem::CreateElementGroups(), TPZGradientReconstruction::TPZGradientData::CreateGhostsNeighbors(), TPZRefPattern::CreateNewNodes(), TPZGeoElRefPattern< TGeo >::Divide(), TPZGeoMesh::FindCloseElement(), TPZGeoMesh::FindElement(), TPZRefPatternTools::GenerateGMeshFromElementVec(), TPZRefPatternTools::GetCompatibleRefPatterns(), TPZInterpolationSpace::GetSideOrient(), TPZMHMixedHybridMeshControl::GroupElements(), TPZAnalysisError::h_Parameter(), TPZHybridizeHDiv::HybridizeInternalSides(), Id(), TPZDohrStructMatrix::IdentifyCornerNodes(), TPZGradientReconstruction::TPZGradientData::InitializeGradData(), pzgeom::TPZQuadraticPrism::InsertExampleElement(), pzgeom::TPZQuadraticPyramid::InsertExampleElement(), pzgeom::TPZQuadraticCube::InsertExampleElement(), pzgeom::TPZQuadraticTetra::InsertExampleElement(), pzgeom::TPZQuadraticTrig::InsertExampleElement(), pzgeom::TPZQuadraticQuad::InsertExampleElement(), TCedricTest::InterpolationError(), TPZHyperPlaneIntersect::Intersect(), TCedricTest::LoadInterpolation(), TPZCompMeshTools::LoadSolution(), TPZGradientReconstruction::TPZGradientData::NodeCloserCenterX(), TPZRefPatternTools::PerfectMatchRefPattern(), TPZInterpolatedElement::Print(), Print(), TPZMHMixedHybridMeshControl::PrintFriendly(), TPZVTKGeoMesh::PrintGMeshVTK(), TPZRefPatternTools::RefineDirectional(), Input::SetPointBC(), SetPointBC(), TPZGenGrid::SetPointBC(), SetSubElementConnectivities(), TPZCompElHDivBound2< TSHAPE >::SideShapeFunction(), TPZRefPatternTools::SidesToRefine(), TPZBuildMultiphysicsMesh::UniformRefineCompEl(), and VerifyNodeCoordinates().

◆ Neighbour()

virtual TPZGeoElSide TPZGeoEl::Neighbour ( int  side)
pure virtual

◆ NeighbourExists()

int TPZGeoEl::NeighbourExists ( int  side,
const TPZGeoElSide gel 
)

Returns 1 if gel is a neighbour of the element along side.

Definition at line 226 of file pzgeoel.cpp.

References TPZGeoElSide::Exists(), TPZGeoElSide::Neighbour(), and Neighbour().

Referenced by TPZCompMesh::AdjustBoundaryElements(), TPZGeoMesh::BuildConnectivityOld(), FatherIndex(), and SetSubElementConnectivities().

◆ NeighbourIndex()

virtual int64_t TPZGeoEl::NeighbourIndex ( int  side) const
pure virtual

Returns the neighbour index for a given side.

Implemented in TPZGeoElRefLess< TGeo >.

Referenced by SetMaterialId().

◆ NNodes()

virtual int TPZGeoEl::NNodes ( ) const
pure virtual

◆ Node()

TPZGeoNode & TPZGeoEl::Node ( int  i) const

◆ NodeIndex()

virtual int64_t TPZGeoEl::NodeIndex ( int  i) const
pure virtual

Returns the index of the ith node the index is the location of the node in the nodevector of the mesh.

Implemented in TPZGeoElRefLess< TGeo >.

Referenced by TPZGeoMesh::BuildConnectivity(), TPZGeoMesh::BuildConnectivityOld(), TPZGeoMesh::BuildElementsAroundNode(), pzgeom::TPZChangeEl::ChangeToGeoBlend(), pzgeom::TPZChangeEl::ChangeToQuadratic(), pzgeom::TPZChangeEl::ChangeToQuarterPoint(), TPZRefPatternTools::CompareTopologies(), TPZRefPattern::ComputePartition(), TPZBuildSBFem::CreateElementGroups(), Hdiv3dPaper201504::CreateOneCuboWithTetraedrons(), pzrefine::TPZRefTriangle::Divide(), pzrefine::TPZRefCube::Divide(), pzrefine::TPZRefPrism::Divide(), pzrefine::TPZRefPyramid::Divide(), pzrefine::TPZRefQuad::Divide(), pzrefine::TPZRefLinear::Divide(), pzrefine::TPZRefTetrahedra::Divide(), pzrefine::TPZRefPoint::Divide(), TPZGeoElRefPattern< TGeo >::Divide(), TPZExtendGridDimension::ExtendedMesh(), TPZRefPatternTools::GenerateGMeshFromElementVec(), TPZRefPattern::GeneratePermutations(), TPZRefPatternTools::GetGelPermutations(), GetNodeIndices(), Id(), TPZDohrStructMatrix::IdentifyCornerNodes(), pzgeom::TPZGeoBlend< TGeo >::InsertExampleElement(), malha_predio(), MalhaCubo(), Input::MalhaCubo(), MalhaPredio(), TPZGenGrid::MergeGeoMesh(), TPZGeoElRefPattern< TGeo >::MidSideNodeIndices(), pzgeom::TPZChangeEl::NearestNode(), pzrefine::TPZRefTriangle::NewMidSideNode(), pzrefine::TPZRefCube::NewMidSideNode(), pzrefine::TPZRefPrism::NewMidSideNode(), pzrefine::TPZRefPyramid::NewMidSideNode(), pzrefine::TPZRefQuad::NewMidSideNode(), pzrefine::TPZRefLinear::NewMidSideNode(), pzrefine::TPZRefTetrahedra::NewMidSideNode(), pzrefine::TPZRefPoint::NewMidSideNode(), Node(), NodePtr(), TPZCompElDisc::NormalizeConst(), TPZRefPattern::operator==(), TPZRefPattern::PermuteMesh(), Print(), TPZVTKGeoMesh::PrintCMeshVTK(), TPZVTKGeoMesh::PrintGMeshVTK(), TPZVTKGeoMesh::PrintGMeshVTKmy_material(), TPZVTKGeoMesh::PrintGMeshVTKneighbour_material(), TPZRefPattern::PrintVTK(), TPZGenGrid::ReadAndMergeGeoMesh(), TPZVTKGeoMesh::SetMaterialVTK(), and TPZCompElDisc::SizeOfElement().

◆ NodePtr()

TPZGeoNode * TPZGeoEl::NodePtr ( int  i) const

Returns a pointer to the ith node of the element.

Definition at line 2566 of file pzgeoel.cpp.

References fMesh, NodeIndex(), and TPZGeoMesh::NodeVec().

Referenced by TPZCompElDisc::AccumulateVertices(), CharacteristicSize(), ComputeXInverse(), TPZGeoElRefLess< TGeo >::CornerCoordinates(), TPZCompMesh::DeltaX(), TPZGeoMesh::FindApproxElement(), TPZGeoMesh::FindCloseElement(), TPZMHMixedHybridMeshControl::FindConnectedElements(), TPZRefPatternTools::GenerateGMeshFromElementVec(), TPZAnalysisError::h_Parameter(), TPZGeoElRefLess< TGeo >::HDivPermutation(), Id(), TPZCompElHDiv< TSHAPE >::IndexShapeToVec2(), pzgeom::TPZArc3D::Initialize(), TPZCompElHDiv< TSHAPE >::InitMaterialData(), pzgeom::TPZQuadraticPrism::InsertExampleElement(), pzgeom::TPZQuadraticPyramid::InsertExampleElement(), pzgeom::TPZQuadraticCube::InsertExampleElement(), pzgeom::TPZQuadraticTetra::InsertExampleElement(), pzgeom::TPZQuadraticLine::InsertExampleElement(), pzgeom::TPZQuadraticTrig::InsertExampleElement(), pzgeom::TPZQuadraticQuad::InsertExampleElement(), TCedricTest::InterpolationError(), TPZHyperPlaneIntersect::Intersect(), TPZCompEl::LesserEdgeOfEl(), TCedricTest::LoadInterpolation(), TPZCompMeshTools::LoadSolution(), TPZAnalysisError::MathematicaPlot(), TPZCompEl::MaximumRadiusOfEl(), TPZCompElHDiv< TSHAPE >::NConnectShapeF(), pzgeom::TPZChangeEl::NearestNode(), TPZInterpolatedElement::Print(), TPZGeoElRefLess< TGeo >::PrintTopologicalInfo(), PrintTopologicalInfo(), Input::SetPointBC(), SetPointBC(), TPZGenGrid::SetPointBC(), TPZIntelGen< TSHAPE >::Shape(), TPZCompElHDivBound2< TSHAPE >::Shape(), TPZCompElHDiv< TSHAPE >::Shape(), TPZIntelGen< TSHAPE >::SideShapeFunction(), VerifyNodeCoordinates(), and XMin().

◆ NodesCoordinates()

void TPZGeoEl::NodesCoordinates ( TPZFMatrix< REAL > &  cooridnates)

Computes nodes coordinates of the element.

void

Parameters
cooridnatesxyz coorinates of each node that belongs to element

Definition at line 2543 of file pzgeoel.cpp.

References co, TPZGeoNode::GetCoordinates(), NNodes(), Node(), TPZFMatrix< TVar >::Resize(), and TPZFMatrix< TVar >::Zero().

Referenced by IsSibling().

◆ NormalOrientation()

int TPZGeoEl::NormalOrientation ( int  side)

◆ NPermutations()

virtual int TPZGeoEl::NPermutations ( ) const
pure virtual

Get the number of valid permutations among the element nodes

Returns

Implemented in TPZGeoElRefLess< TGeo >.

Referenced by TPZRefPattern::GeneratePermutations(), and Id().

◆ NSideNodes()

virtual int TPZGeoEl::NSideNodes ( int  side) const
pure virtual

◆ NSides()

virtual int TPZGeoEl::NSides ( ) const
pure virtual

Returns the number of connectivities of the element.

Implemented in TPZGeoElRefLess< TGeo >.

Referenced by TPZCompElDisc::AccumulateIntegrationRule(), TCedricTest::AddBoundaryElements(), TPZAcademicGeoMesh::AddBoundaryElements(), TPZAcademicGeoMesh::AddBoundaryElementsByCoord(), TPZMHMeshControl::AddBoundaryInterfaceElements(), TPZMultiphysicsCompEl< TGeometry >::AddElement(), TPZMHMeshControl::AddElementBoundaries(), TPZBuildMultiphysicsMesh::AddElements(), TPZMultiphysicsCompMesh::AddElements(), TPZBuildSBFem::AddSkeletonElements(), TPZBuildMultiphysicsMesh::AddWrap(), TPZCompMesh::AdjustBoundaryElements(), TPZCompMeshTools::AdjustFluxPolynomialOrders(), TPZMultiphysicsCompEl< TGeometry >::AffineTransform(), TPZMHMixedHybridMeshControl::ApplyNeighbourBoundaryCondition(), TPZGeoMesh::Area(), BuildBlendConnectivity(), TPZGeoMesh::BuildConnectivity(), TPZGeoMesh::BuildConnectivityOld(), BuildElementGroups(), TPZGeoMesh::BuildElementsAroundNode(), TPZBuildMultiphysicsMesh::BuildHybridMesh(), TPZRefPatternTools::BuildRefPatternModelName(), TPZCompElDisc::BuildTransferMatrix(), TPZCompMesh::BuildTransferMatrix(), TPZMHMeshControl::BuildWrapMesh(), TPZMultiphysicsCompEl< TGeometry >::CalcResidual(), TPZMultiphysicsInterfaceElement::CalcStiff(), TPZInterfaceElement::CalcStiff(), TPZMultiphysicsCompEl< TGeometry >::CalcStiff(), TPZCompElDisc::CenterPoint(), pzgeom::TPZChangeEl::ChangeToGeoBlend(), pzgeom::TPZChangeEl::ChangeToQuadratic(), pzgeom::TPZChangeEl::ChangeToQuarterPoint(), TPZAcademicGeoMesh::CheckConsistency(), TCedricTest::CheckConsistency(), TPZInterpolatedElement::CheckConstraintConsistency(), TPZInterpolatedElement::CheckElementConsistency(), TPZCheckGeom::CheckInternalTransforms(), TPZCheckGeom::CheckNeighbourMap(), TPZCheckGeom::CheckRefinement(), TPZCheckGeom::CheckSideTransform(), CheckSubelDataStructure(), TPZCheckGeom::CheckSubFatherTransform(), TPZDohrStructMatrix::ClusterIslands(), Hdiv2dPaper201504::CMeshMixed(), hdivCurvedJCompAppMath::CMeshMixed(), Hdiv3dPaper201504::CMeshMixed(), CompareFluxes(), TPZRefPatternTools::CompareTopologies(), TPZInterfaceElement::ComputeCenterNormal(), TPZMultiphysicsInterfaceElement::ComputeCenterNormal(), TPZSBFemVolume::ComputeKMatrices(), TPZInterfaceElement::ComputeNormal(), TPZInterpolationSpace::ComputeNormal(), ComputeParamTrans(), TPZRefPattern::ComputeParamTransform(), TPZRefPattern::ComputePartition(), TPZMultiphysicsInterfaceElement::ComputeRequiredData(), TPZMultiphysicsInterfaceElement::ComputeSideTransform(), TPZInterfaceElement::ComputeSideTransform(), TPZFlowCompMesh::ComputeTimeStep(), TPZRefPattern::ComputeTransforms(), ComputeXInverse(), TPZMHMeshControl::ConnectedElements(), TPZDohrStructMatrix::CorrectNeighbourDomainIndex(), TPZAgglomerateElement::CreateAgglomerateMesh(), TPZMHMixedHybridMeshControl::CreateAxialFluxElement(), TPZGeoElRefLess< TGeo >::CreateBCGeoBlendEl(), TPZGeoElMapped< TBase >::CreateBCGeoEl(), TCedricTest::CreateCondensedElements(), TPZBuildSBFem::CreateElementCenterNodes(), TPZGradientReconstruction::TPZGradientData::CreateGhostsNeighbors(), TPZReducedSpace::CreateGraphicalElement(), TPZMultiphysicsInterfaceElement::CreateGraphicalElement(), TPZMultiphysicsCompEl< TGeometry >::CreateGraphicalElement(), TPZCompElDisc::CreateGraphicalElement(), TPZMHMixedMeshControl::CreateHDivMHMMesh(), TPZMHMixedHybridMeshControl::CreateHDivWrappers(), TPZCompElDisc::CreateIntegrationRule(), TPZMultiphysicsInterfaceElement::CreateIntegrationRule(), TPZHybridizeHDiv::CreateInterfaceElements(), TPZMHMeshControl::CreateInterfaceElements(), TPZMultiphysicsElement::CreateInterfaces(), TPZInterpolationSpace::CreateInterfaces(), TPZMHMixedHybridMeshControl::CreateInternalAxialFluxes(), TPZMHMixedHybridMeshControl::CreateLowerDimensionPressureElements(), TPZCompElDisc::CreateMidSideConnect(), TPZMHMixedHybridMeshControl::CreateMultiPhysicsInterfaceElements(), TPZMHMixedMeshControl::CreateMultiPhysicsInterfaceElements(), TPZRefPattern::CreateNewNodes(), TPZMHMixedHybridMeshControl::CreatePressureInterfaces(), TPZMHMixedMeshControl::CreateSkeleton(), TPZMHMeshControl::CreateSkeleton(), TPZMHMixedHybridMeshControl::CreateSkeletonAxialFluxes(), TPZBuildSBFem::CreateVolumetricElements(), TPZBuildSBFem::CreateVolumetricElementsFromSkeleton(), TPZMHMeshControl::CriaMalhaTemporaria(), TPZMHMeshControl::DefinePartition(), TPZGeoElRefPattern< TGeo >::Divide(), TPZInterpolatedElement::Divide(), TPZMHMeshControl::DivideWrap(), TPZRefPatternTools::DragModelPatNodes(), ElementRadius(), TPZSBFemVolume::EvaluateError(), TPZInterfaceElement::EvaluateInterfaceJump(), TPZGeoMesh::FindCloseElement(), TPZCheckMesh::FindElement(), TPZGeoMesh::FindElement(), TPZGeoMesh::FindElementCaju(), FindPressureSkeleton(), TPZInterfaceElement::FreeInterface(), TPZRefPattern::GeneratePermutations(), TPZRefPattern::GenerateSideRefPatterns(), TPZGradientReconstruction::TPZGradientData::GetCenterPointAndCellAveraged(), TPZRefPatternTools::GetCompatibleRefPatterns(), TPZCompEl::GetRefElPatch(), TPZMultiphysicsCompEl< TGeometry >::GetReferenceIndexVec(), TPZInterpolationSpace::GetSideOrient(), TPZCompMeshTools::GroupElements(), TPZMHMixedHybridMeshControl::GroupElements(), TPZAnalysisError::HPAdapt(), TPZCreateApproximationSpace::Hybridize(), TPZHybridizeHDiv::HybridizeInternalSides(), TPZMHMixedMeshControl::HybridizeSkeleton(), TPZMHMeshControl::HybridizeSkeleton(), TPZDohrStructMatrix::IdentifyExternalConnectIndexes(), TPZIdentifyRefPattern::IdentifySide(), TPZGradientReconstruction::TPZGradientData::InitializeGradData(), TPZInterfaceElement::InitializeIntegrationRule(), TPZSBFemVolume::InitializeIntegrationRule(), InitializeNeighbours(), TPZInterfaceElement::InitMaterialData(), TPZMultiphysicsInterfaceElement::InitMaterialData(), pzgeom::TPZQuadraticPrism::InsertExampleElement(), pzgeom::TPZQuadraticPyramid::InsertExampleElement(), pzgeom::TPZQuadraticCube::InsertExampleElement(), pzgeom::TPZQuadraticTetra::InsertExampleElement(), pzgeom::TPZQuadraticLine::InsertExampleElement(), pzgeom::TPZQuadraticTrig::InsertExampleElement(), pzgeom::TPZQuadraticQuad::InsertExampleElement(), TPZMathTools::IntegrateFunction(), TPZInterfaceElement::IntegrateInterface(), TPZMultiphysicsCompEl< TGeometry >::IntegrateSolution(), TPZInterpolationSpace::IntegrateSolution(), TPZCompEl::IntegrateSolution(), TPZInterpolationSpace::InterpolateSolution(), TPZHyperPlaneIntersect::Intersect(), IsGeoElMapped(), IsLinearMapping(), TPZInterfaceElement::main(), TPZCreateApproximationSpace::MakeRaviartThomas(), TPZFlowCompMesh::MaxVelocityOfMesh(), TPZRefPatternTools::ModelRefPattern(), TPZMHMixedHybridMeshControl::NeedsHDivWrapper(), TPZGeoElSide::Normal(), TPZAgglomerateElement::NSides(), TPZCompElDisc::NSides(), TPZRefPatternTools::PerfectMatchRefPattern(), TPZCondensedCompEl::Print(), TPZInterpolatedElement::Print(), Print(), TPZMHMeshControl::PrintBoundaryInfo(), TPZVTKGeoMesh::PrintGMeshVTKneighbour_material(), TPZVTKGeoMesh::PrintGMeshVTKneighbourhood(), TPZVTKGeoMesh::PrintPOrderPoints(), TPZAnalysis::PrintVectorByElement(), Projection(), PYBIND11_MODULE(), TPZCompElDisc::Read(), TPZRefPatternTools::RefineDirectional(), TPZRefPatternTools::RefineUniformIfNeighMat(), RemoveConnectivities(), TPZMultiphysicsElement::RemoveInterfaces(), TPZInterpolationSpace::RemoveInterfaces(), TPZInterpolatedElement::RemoveSideRestraintsII(), TPZGeoMesh::ResetConnectivities(), TPZDohrStructMatrix::SeparateUnconnected(), TPZStructMatrixGCTP::Serial_Assemble(), TPZStructMatrixGC::Serial_Assemble(), TPZStructMatrixCS::Serial_Assemble(), TPZStructMatrixOT::Serial_Assemble(), TPZStructMatrixOR::Serial_Assemble(), TPZGeoElMapped< TBase >::SetFatherIndex(), TPZCompMeshTools::SetPressureOrders(), SetSubElementConnectivities(), TPZCompElDisc::SetTrueUseQsiEta(), hdivCurvedJCompAppMath::SetupDisconnectedHdivboud(), TPZRefPattern::ShortPrint(), SideArea(), TPZInterpolationSpace::SideShapeFunction(), TPZRefPatternTools::SidesToRefine(), TPZCompElDisc::SizeOfElement(), SmallerEdge(), TPZHybridizeHDiv::SplitConnects(), TPZMHMixedHybridMeshControl::SplitFluxElementsAroundFractures(), SubStructure(), TPZGenSubStruct::SubStructure(), TPZGeoElSide::TPZGeoElSide(), TPZGraphEl::TPZGraphEl(), TPZMHMeshControl::TransferToMultiphysics(), TPZRefPattern::Transform(), TPZRefPatternTools::TransformationTest(), TransformSonToFather(), TPZCreateApproximationSpace::UndoMakeRaviartThomas(), TPZBuildMultiphysicsMesh::UniformRefineCompEl(), TPZHybridizeHDiv::VerifySolutionConsistency(), Volume(), WhichSide(), and TPZRefPattern::WritePattern().

◆ NSideSubElements()

virtual int TPZGeoEl::NSideSubElements ( int  side) const
pure virtual

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

Implemented in TPZGeoElRefLess< TGeo >, TPZGeoElement< TGeo, TRef >, and TPZGeoElRefPattern< TGeo >.

Referenced by IsGeoElMapped(), TPZRefPatternTools::SidesToRefine(), and TPZGeoElSide::StrictFather().

◆ NSubElements()

virtual int TPZGeoEl::NSubElements ( ) const
pure virtual

◆ NumInterfaces()

int TPZGeoEl::NumInterfaces ( )
inline

◆ Print()

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

◆ PrintTopologicalInfo()

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

Prints the coordinates of all nodes (geometric)

Parameters
outIndicates the device where the coordinates will be printed

Reimplemented in TPZGeoElRefLess< TGeo >.

Definition at line 300 of file pzgeoel.cpp.

References TPZGeoNode::Coord(), Index(), NNodes(), and NodePtr().

Referenced by SetMaterialId().

◆ ProjectBissectionInParametricDomain()

virtual int TPZGeoEl::ProjectBissectionInParametricDomain ( TPZVec< REAL > &  qsi,
TPZVec< REAL > &  qsiInDomain 
)
pure virtual

Projection from given qsi to a qsiInDomain (in the element boundary) using bissection method from given qsi to element center.

Returns
Returns the side where the point was projected.
Note
Observe that if the point is already in the parametric domain, the method will return $ NSides() - 1 $

Implemented in TPZGeoElRefLess< TGeo >.

Referenced by TPZGeoMesh::FindElementCaju(), and IsSibling().

◆ ProjectInParametricDomain()

virtual int TPZGeoEl::ProjectInParametricDomain ( TPZVec< REAL > &  qsi,
TPZVec< REAL > &  qsiInDomain 
)
pure virtual

Ortogonal projection from given qsi to a qsiInDomain (all in the element parametric domain)

Returns
Returns the side where the point was projected.
Note
If ortogonal projection to any sides of element results in a qsi outside domain, this method will returns the nearest node side.
Observe that if the point is already in the parametric domain, the method will return $ NSides() - 1 $

Implemented in TPZGeoElRefLess< TGeo >.

Referenced by TPZGeoMesh::FindApproxElement(), TPZGeoMesh::FindElementCaju(), TPZGeoMesh::FindSubElement(), IsSibling(), and TPZRefPattern::SetRefPatternMeshToMasterDomain().

◆ Projection()

TPZTransform TPZGeoEl::Projection ( int  side)

Compute the projection of the point within the interior of the element to the side of the element.

Definition at line 1970 of file pzgeoel.cpp.

References TPZTransform< T >::Multiply(), NSides(), and SideToSideTransform().

Referenced by ProjectPoint(), and TPZGeoElMapped< TBase >::SetFatherIndex().

◆ ProjectPoint()

virtual void TPZGeoEl::ProjectPoint ( int  sidefrom,
TPZVec< REAL > &  ptin,
int  sideto,
TPZVec< REAL > &  ptout 
)
inlinevirtual

Project the point from one side to another. The dimension of the points needs to be configured properly.

Definition at line 453 of file pzgeoel.h.

References TPZTransform< T >::Apply(), Projection(), and SideToSideTransform().

Referenced by TPZInterpolationSpace::SideShapeFunction().

◆ QuadArea()

REAL TPZGeoEl::QuadArea ( TPZVec< TPZGeoNode *> &  nodes)
static

Returns the area from a quadrilateral face.

Definition at line 1032 of file pzgeoel.cpp.

References TPZVec< T >::NElements(), PZError, TPZVec< T >::Resize(), and TriangleArea().

Referenced by IsSibling(), and SideArea().

◆ RandomPoint()

virtual void TPZGeoEl::RandomPoint ( TPZVec< REAL > &  pt)
pure virtual

Generates a random point in the master domain.

Implemented in TPZGeoElRefLess< TGeo >.

Referenced by ResetReference().

◆ Read()

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

◆ RefElVolume()

virtual REAL TPZGeoEl::RefElVolume ( )
pure virtual

◆ Reference()

TPZCompEl * TPZGeoEl::Reference ( ) const
inline

Return a pointer to the element referenced by the geometric element.

Definition at line 750 of file pzgeoel.h.

References fReference.

Referenced by TPZBuildMultiphysicsMesh::AddElements(), TPZMultiphysicsCompMesh::AddElements(), TPZPostProcAnalysis::AutoBuildDisc(), TPZBuildMultiphysicsMesh::BuildHybridMesh(), TPZCreateApproximationSpace::BuildMesh(), TPZCompMesh::BuildTransferMatrix(), Hdiv2dPaper201504::CMeshMixed(), hdivCurvedJCompAppMath::CMeshMixed(), Hdiv3dPaper201504::CMeshMixed(), TPZInterpolatedElement::CompareElement(), TPZGradientReconstruction::TPZGradientData::ComputeWeights(), TPZDohrStructMatrix::CorrectNeighbourDomainIndex(), CreateCubeEl(), TPZPostProcAnalysis::CreateCubeEl(), CreateCubeElWithMem(), TPZCompElDisc::CreateDisc(), TPZBuildSBFem::CreateElementGroups(), TPZHybridizeHDiv::CreateInterfaceElements(), TPZMHMeshControl::CreateInterfaceElements(), CreateLinearEl(), TPZPostProcAnalysis::CreateLinearEl(), CreateLinearElWithMem(), TPZMHMixedHybridMeshControl::CreateMultiPhysicsInterfaceElements(), TPZMHMixedMeshControl::CreateMultiPhysicsInterfaceElements(), CreatePointEl(), TPZPostProcAnalysis::CreatePointEl(), CreatePointElWithMem(), CreatePrismEl(), TPZPostProcAnalysis::CreatePrismEl(), CreatePrismElWithMem(), CreatePyramEl(), TPZPostProcAnalysis::CreatePyramEl(), CreatePyramElWithMem(), CreateQuadEl(), TPZPostProcAnalysis::CreateQuadEl(), CreateQuadElWithMem(), TPZMHMeshControl::CreateSkeletonElements(), CreateTetraEl(), TPZPostProcAnalysis::CreateTetraEl(), CreateTetraElWithMem(), CreateTriangleEl(), TPZPostProcAnalysis::CreateTriangleEl(), CreateTriangleElWithMem(), TPZBuildSBFem::CreateVolumetricElements(), TPZBuildSBFem::CreateVolumetricElementsFromSkeleton(), TPZAnalysis::DefineElementTable(), TPZCompMesh::Discontinuous2Continuous(), TPZMeshSolution::Execute(), FindCapElement(), TPZMHMixedHybridMeshControl::GroupElements(), TPZMHMixedMeshControl::HybridizeSkeleton(), TPZMHMeshControl::HybridizeSkeleton(), TCedricTest::LoadInterpolation(), TPZCompMeshReferred::LoadReferred(), MaterialId(), TPZAnalysisError::MathematicaPlot(), TPZGradientReconstruction::TPZGradientData::NodeCloserCenterX(), NormalOrientation(), Print(), TPZVTKGeoMesh::PrintCMeshVTK(), TPZVTKGeoMesh::PrintGMeshVTK(), TPZMultiphysicsElement::RemoveInterface(), TPZInterpolationSpace::RemoveInterface(), TPZInterpolatedElement::RemoveSideRestraintsII(), TPZNonLinMultGridAnalysis::ResetReference(), TPZDohrStructMatrix::SeparateUnconnected(), TPZCompMeshTools::SetPressureOrders(), TPZPlacaOrthotropic::TPZPlacaOrthotropic(), TPZMHMeshControl::TransferToMultiphysics(), TPZCompEl::~TPZCompEl(), TPZCompElDisc::~TPZCompElDisc(), TPZCompElHDiv< TSHAPE >::~TPZCompElHDiv(), TPZCompElHDivBound2< TSHAPE >::~TPZCompElHDivBound2(), TPZCompElHDivPressure< TSHAPE >::~TPZCompElHDivPressure(), and TPZIntelGen< TSHAPE >::~TPZIntelGen().

◆ RemoveConnectivities()

void TPZGeoEl::RemoveConnectivities ( )

◆ ResetBlendConnectivity()

virtual bool TPZGeoEl::ResetBlendConnectivity ( const int64_t &  side,
const int64_t &  index 
)
pure virtual

If the element is a TPZGeoBlend element, this method will ensure that if the side side is connected to the element with index index, its blend connectivity is erased (for instance, this element may have been deleted). If it is not a TPZGeoBlend element, the method will just return false.

Parameters
sideside in which to seek for connectivities
indexindex of the element that will be disconnected from this
Returns
true if the element is a TPZGeoBlend element.

Implemented in TPZGeoElRefLess< TGeo >.

Referenced by FatherIndex().

◆ ResetReference()

void TPZGeoEl::ResetReference ( )
inline

◆ ResetSubElements()

virtual void TPZGeoEl::ResetSubElements ( )
pure virtual

◆ SetFather()

void TPZGeoEl::SetFather ( TPZGeoEl father)
inline

◆ SetFatherIndex()

virtual void TPZGeoEl::SetFatherIndex ( int64_t  fatherindex)
inlinevirtual

◆ SetId()

void TPZGeoEl::SetId ( int64_t  elId)
inline

Definition at line 467 of file pzgeoel.h.

References GetTransform(), GetTransformId2dQ(), and GetTransformId2dT().

◆ SetIndex()

void TPZGeoEl::SetIndex ( int64_t  index)
inline

Definition at line 462 of file pzgeoel.h.

◆ SetMaterialId()

void TPZGeoEl::SetMaterialId ( int  id)
inline

◆ SetNeighbour()

virtual void TPZGeoEl::SetNeighbour ( int  side,
const TPZGeoElSide neighbour 
)
pure virtual

◆ SetNeighbourForBlending()

void TPZGeoEl::SetNeighbourForBlending ( int  side)

TPZGeoBlend need to find a non-linear neighbour.

Although TPZGeoElMapped have non-linear mapping they are less suitable than self non-linear elements

Definition at line 1913 of file pzgeoel.cpp.

References TPZGeoElSide::Dimension(), TPZGeoElSide::Element(), TPZGeoElSide::Exists(), IsGeoBlendEl(), IsGeoElMapped(), IsLinearMapping(), TPZGeoElSide::IsRelative(), TPZGeoElSide::Neighbour(), SetNeighbourInfo(), and TPZGeoElSide::SideTransform3().

Referenced by BuildBlendConnectivity(), FatherIndex(), and RemoveConnectivities().

◆ SetNeighbourInfo()

virtual void TPZGeoEl::SetNeighbourInfo ( int  side,
TPZGeoElSide neigh,
TPZTransform< REAL > &  trans 
)
pure virtual

Returns the eldest ancestor of this geoel

Referenced by SetNeighbourForBlending().

◆ SetNodeIndex()

virtual void TPZGeoEl::SetNodeIndex ( int  i,
int64_t  nodeindex 
)
pure virtual

◆ SetReference()

void TPZGeoEl::SetReference ( TPZCompEl elp)
inline

◆ SetRefPattern()

void TPZGeoEl::SetRefPattern ( TPZAutoPointer< TPZRefPattern )
virtual

Defines the refinement pattern. It's used only in TPZGeoElRefPattern objects.

Defines the refinement pattern. It's used only in TPZGeoElRefPattern objects.

Reimplemented in TPZGeoElRefPattern< TGeo >.

Definition at line 1647 of file pzgeoel.cpp.

References DebugStop, and PZError.

Referenced by TPZMHMeshControl::DivideSkeletonElements(), TPZMHMeshControl::DivideWrap(), IsSibling(), TPZRefPatternTools::RefineDirectional(), and TPZRefPatternTools::RefineUniformIfNeighMat().

◆ SetSideDefined()

virtual void TPZGeoEl::SetSideDefined ( int  side)
pure virtual

◆ SetSubElement()

virtual void TPZGeoEl::SetSubElement ( int  i,
TPZGeoEl gel 
)
pure virtual

◆ SetSubElementConnectivities()

void TPZGeoEl::SetSubElementConnectivities ( )
virtual

◆ Shape1d()

void TPZGeoEl::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.

Parameters
xpoint at which the shapefunction is computed
numnumber of shapefunctions
phivalues of the shapefunctions
dphivalues of the derivatives of the shapefunctions

Definition at line 128 of file pzgeoel.cpp.

References PZError.

Referenced by DecrementNumInterfaces().

◆ ShapePhi1d()

void TPZGeoEl::ShapePhi1d ( REAL  x,
int  num,
TPZFMatrix< REAL > &  phi 
)

Computes the values of the "num" one dimensional shapefunctions at point x, using lagrangian interpolation.

Parameters
xpoint at which the shapefunction is computed
numnumber of shapefunctions
phivalues of the shapefunctions

Definition at line 149 of file pzgeoel.cpp.

References PZError.

Referenced by DecrementNumInterfaces().

◆ SideArea()

REAL TPZGeoEl::SideArea ( int  side)
virtual

◆ SideDimension()

virtual int TPZGeoEl::SideDimension ( int  side) const
pure virtual

Return the dimension of side.

Implemented in TPZGeoElRefLess< TGeo >.

Referenced by TPZMHMeshControl::AddElementBoundaries(), TPZBuildSBFem::AddSkeletonElements(), TPZBuildMultiphysicsMesh::AddWrap(), TPZCompMesh::AdjustBoundaryElements(), TPZInterpolatedElement::AdjustPreferredSideOrder(), BuildElementGroups(), TPZBuildMultiphysicsMesh::BuildHybridMesh(), TPZMHMeshControl::BuildWrapMesh(), TPZCheckGeom::CheckInternalTransforms(), TPZCheckGeom::CheckNeighbourMap(), TPZCheckRestraint::CheckRestraint(), TPZCheckGeom::CheckSideTransform(), TPZCheckGeom::CheckSubFatherTransform(), TPZDohrStructMatrix::ClusterIslands(), TPZInterpolatedElement::CompareShapeF(), TPZSBFemVolume::ComputeKMatrices(), ComputeParamTrans(), TPZRefPattern::ComputeParamTransform(), TPZRefPattern::ComputePartition(), ConjugateSide(), TPZMHMixedHybridMeshControl::CreateAxialFluxElement(), TCedricTest::CreateCondensedElements(), TPZMHMixedHybridMeshControl::CreateHDivWrappers(), TPZMultiphysicsElement::CreateInterfaces(), TPZInterpolationSpace::CreateInterfaces(), TPZBuildSBFem::CreateVolumetricElements(), TPZMHMeshControl::CriaMalhaTemporaria(), TPZRefPattern::GenerateSideRefPatterns(), TPZCompEl::GetRefElPatch(), HDivPermutation(), TPZHybridizeHDiv::HybridizeInternalSides(), TPZIdentifyRefPattern::IdentifySide(), TPZInterpolatedElement::IdentifySideOrder(), TPZHyperPlaneIntersect::Intersect(), IsSibling(), TPZInterfaceElement::main(), TPZCreateApproximationSpace::MakeRaviartThomas(), NormalOrientation(), TPZVTKGeoMesh::PrintPOrderPoints(), PYBIND11_MODULE(), TPZRefPatternTools::RefineDirectional(), TPZInterpolatedElement::RemoveSideRestraintWithRespectTo(), TPZDohrStructMatrix::SeparateUnconnected(), TPZRefPattern::ShortPrint(), SideArea(), TPZCompElHDivBound2< TSHAPE >::SideShapeFunction(), TPZCompElHDiv< TSHAPE >::SideShapeFunction(), TPZMHMixedHybridMeshControl::SplitFluxElementsAroundFractures(), TPZRefPatternTools::TransformationTest(), TPZCreateApproximationSpace::UndoMakeRaviartThomas(), TPZHybridizeHDiv::VerifySolutionConsistency(), WhichSide(), and TPZCompElHDiv< TSHAPE >::~TPZCompElHDiv().

◆ SideIsUndefined()

virtual int TPZGeoEl::SideIsUndefined ( int  side)
pure virtual

Returns 1 if the side has not been defined by buildconnectivity.

After construction the side is undefined. The buildconnectivity method loops over all elements
and tries to identify neighbours along their uninitialized sides

Implemented in TPZGeoElRefLess< TGeo >.

Referenced by TPZGeoMesh::BuildConnectivity(), TPZGeoMesh::BuildConnectivityOld(), pzgeom::TPZGeoBlend< TGeo >::Initialize(), IsGeoElMapped(), and TPZGeoElBC::TPZGeoElBC().

◆ SideNodeIndex()

virtual int64_t TPZGeoEl::SideNodeIndex ( int  side,
int  nodenum 
) const
pure virtual

◆ SideNodeLocIndex()

virtual int TPZGeoEl::SideNodeLocIndex ( int  side,
int  nodenum 
) const
pure virtual

Returns the local index of a node on a side.

Implemented in TPZGeoElRefLess< TGeo >.

Referenced by IsGeoElMapped(), and TPZRefPatternTools::RefineDirectional().

◆ SideNodePtr()

TPZGeoNode * TPZGeoEl::SideNodePtr ( int  side,
int  nodenum 
) const
virtual

Returns the pointer to the nodenum node of side.

Definition at line 2578 of file pzgeoel.cpp.

References fMesh, TPZGeoMesh::NodeVec(), and SideNodeIndex().

Referenced by GetGeoNodeIds(), and IsGeoElMapped().

◆ SideToSideTransform()

virtual TPZTransform<REAL> TPZGeoEl::SideToSideTransform ( int  sidefrom,
int  sideto 
)
pure virtual

◆ SmallerEdge()

REAL TPZGeoEl::SmallerEdge ( )
virtual

◆ StaticClassId()

int TPZGeoEl::StaticClassId ( )
static

Definition at line 2558 of file pzgeoel.cpp.

References Hash().

Referenced by ClassId(), and Initialize().

◆ SubElement()

virtual TPZGeoEl* TPZGeoEl::SubElement ( int  is) const
pure virtual

Returns a pointer to the subelement is.

Implemented in TPZGeoElRefLess< TGeo >, TPZGeoElement< TGeo, TRef >, and TPZGeoElRefPattern< TGeo >.

Referenced by TPZMHMixedHybridMeshControl::ApplyNeighbourBoundaryCondition(), pzgeom::TPZChangeEl::ChangeToQuadratic(), TPZCheckGeom::CheckRefinement(), TPZMHMeshControl::ConnectedElements(), TPZGeoMesh::DeleteElement(), pzrefine::TPZRefCube::Divide(), pzrefine::TPZRefPrism::Divide(), pzrefine::TPZRefTriangle::Divide(), pzrefine::TPZRefLinear::Divide(), pzrefine::TPZRefPyramid::Divide(), pzrefine::TPZRefQuad::Divide(), pzrefine::TPZRefTetrahedra::Divide(), pzrefine::TPZRefPoint::Divide(), GetAllSiblings(), GetHigherSubElements(), pzrefine::TPZRefCube::GetSubElements(), pzrefine::TPZRefPrism::GetSubElements(), pzrefine::TPZRefTriangle::GetSubElements(), pzrefine::TPZRefLinear::GetSubElements(), pzrefine::TPZRefPyramid::GetSubElements(), pzrefine::TPZRefQuad::GetSubElements(), pzrefine::TPZRefTetrahedra::GetSubElements(), pzrefine::TPZRefPoint::GetSubElements(), IsSibling(), pzrefine::TPZRefCube::MidSideNodeIndex(), pzrefine::TPZRefPrism::MidSideNodeIndex(), pzrefine::TPZRefTriangle::MidSideNodeIndex(), pzrefine::TPZRefPyramid::MidSideNodeIndex(), pzrefine::TPZRefLinear::MidSideNodeIndex(), pzrefine::TPZRefQuad::MidSideNodeIndex(), pzrefine::TPZRefTetrahedra::MidSideNodeIndex(), TPZMHMixedHybridMeshControl::NeedsHDivWrapper(), Print(), TPZVTKGeoMesh::SetMaterialVTK(), SetSubElementConnectivities(), SetSubMatid(), WhichSubel(), and YoungestChildren().

◆ TransformSonToFather()

void TPZGeoEl::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.

Parameters
ancestorancestor element of subelement
ksiSonparamenter point in the subelement
ksiAncestorreceives the paramenter point in the ancestor element

Definition at line 816 of file pzgeoel.cpp.

References TPZTransform< T >::Apply(), BuildTransform2(), ComputeXInverse(), DebugStop, Dimension(), Father(), TPZVec< T >::NElements(), NSides(), PZError, TPZVec< T >::Resize(), X(), and ZeroTolerance().

Referenced by IsSibling().

◆ TriangleArea()

REAL TPZGeoEl::TriangleArea ( TPZVec< TPZGeoNode *> &  nodes)
static

Returns the area from the triangular face.

Definition at line 1009 of file pzgeoel.cpp.

References TPZVec< T >::NElements(), PZError, TPZVec< T >::Resize(), and sqrt.

Referenced by IsSibling(), QuadArea(), and SideArea().

◆ Type() [1/2]

virtual MElementType TPZGeoEl::Type ( ) const
pure virtual

Returns the element type acording to pzeltype.h.

Implemented in TPZGeoElRefLess< TGeo >.

Referenced by TPZBuildMultiphysicsMesh::AddWrap(), TPZRefPattern::BuildSideMesh(), pzgeom::TPZChangeEl::ChangeToGeoBlend(), pzgeom::TPZChangeEl::ChangeToQuadratic(), pzgeom::TPZChangeEl::ChangeToQuarterPoint(), TPZRefPatternTools::CompareTopologies(), TPZCreateApproximationSpace::CreateCompEl(), TPZBuildSBFem::CreateElementGroups(), TPZHierarquicalGrid::CreateGeometricElement(), TPZSBFemVolume::CreateGraphicalElement(), TPZRefPattern::CreateRefinementPattern(), TPZExtendGridDimension::ExtendedMesh(), TPZRefPattern::GeneratePermutations(), TPZRefPatternTools::GetCompatibleRefPatterns(), TPZRefPatternTools::GetGelPermutations(), TPZIdentifyRefPattern::GetRefPattern(), TPZInterpolationSpace::GetSideOrient(), TPZIdentifyRefPattern::GetSideRefPattern(), TPZIdentifyRefPattern::GetUniform(), TPZVTKGeoMesh::GetVTK_ElType(), TPZRefPattern::InsertPermuted(), TPZRefPatternDataBase::InsertRefPattern(), TPZCompMeshTools::LoadSolution(), MaterialId(), TPZGenGrid::MergeGeoMesh(), TPZRefPatternTools::ModelRefPattern(), TPZRefPattern::operator==(), TPZVTKGeoMesh::PrintCMeshVTK(), TPZVTKGeoMesh::PrintGMeshVTK(), TPZVTKGeoMesh::PrintGMeshVTKmy_material(), TPZVTKGeoMesh::PrintGMeshVTKneighbour_material(), TPZRefPattern::PrintVTK(), TPZGenGrid::ReadAndMergeGeoMesh(), TPZRefPatternDataBase::ReadRefPatternDBase(), TPZRefPatternTools::RefineDirectional(), TPZRefPatternTools::RefineUniformIfNeighMat(), and TPZRefPattern::Type().

◆ Type() [2/2]

virtual MElementType TPZGeoEl::Type ( int  side) const
pure virtual

Returns the element type of a side acording to pzeltype.h.

Implemented in TPZGeoElRefLess< TGeo >.

◆ TypeName()

virtual std::string TPZGeoEl::TypeName ( ) const
inlinevirtual

◆ VerifyNodeCoordinates()

bool TPZGeoEl::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.

Returns
true if everything OK else false

Definition at line 1722 of file pzgeoel.cpp.

References CenterPoint(), ConjugateSide(), TPZGeoNode::Coord(), DebugStop, Dimension(), error(), LOGPZ_ERROR, NCornerNodes(), NodePtr(), Normalize(), NormalVector(), Print(), PZError, sqrt, and X().

Referenced by TPZGeoMesh::BuildConnectivity(), and IsSibling().

◆ Volume()

REAL TPZGeoEl::Volume ( )

Return the volume of the element.

Definition at line 1052 of file pzgeoel.cpp.

References CenterPoint(), GradX(), Jacobian(), NSides(), and RefElVolume().

Referenced by IsSibling(), UniformRefinement(), TPZCompEl::VolumeOfEl(), and TPZCompElDisc::VolumeOfEl().

◆ WhichSide() [1/2]

int TPZGeoEl::WhichSide ( TPZVec< int64_t > &  SideNodeIds)

◆ WhichSide() [2/2]

int TPZGeoEl::WhichSide ( TPZVec< REAL > &  pt)

Returns the side number which is connected to the point pt.

Parameters
ptcoordinates of the point in parameter space
Returns
lowest dimension side which contains the point, -1 if no side is found

Definition at line 478 of file pzgeoel.cpp.

References TPZTransform< T >::Apply(), Dimension(), NSides(), SideDimension(), SideToSideTransform(), sqrt, and pzgeom::tol.

◆ WhichSubel()

int TPZGeoEl::WhichSubel ( ) const

◆ Write()

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

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

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

Reimplemented from TPZSavable.

Reimplemented in TPZGeoElRefPattern< TGeo >, TPZGeoElRefLess< TGeo >, and TPZGeoElement< TGeo, TRef >.

Definition at line 1663 of file pzgeoel.cpp.

References fFatherIndex, fId, fIndex, fMatId, fMesh, fNumInterfaces, fReference, gGlobalAxes, TPZStream::Write(), TPZFMatrix< TVar >::Write(), and TPZPersistenceManager::WritePointer().

Referenced by Initialize(), and TPZGeoElRefLess< TGeo >::Write().

◆ X()

virtual void TPZGeoEl::X ( TPZVec< REAL > &  qsi,
TPZVec< REAL > &  result 
) const
pure virtual

Return the coordinate in real space of the point coordinate in the master element space.

Implemented in TPZGeoElRefLess< TGeo >.

Referenced by TPZCompElDisc::AccumulateIntegrationRule(), TPZInterpolationSpace::BuildTransferMatrix(), TPZInterpolatedElement::BuildTransferMatrix(), TPZCompElDisc::BuildTransferMatrix(), TPZInterpolatedElement::CalcIntegral(), TPZInterfaceElement::CheckConsistencyOfMappedQsi(), TPZCheckGeom::CheckSideTransform(), TPZCheckGeom::CheckSubFatherTransform(), TPZSBFemVolume::ComputeKMatrices(), TPZInterfaceElement::ComputeNormal(), TPZInterpolationSpace::ComputeNormal(), ComputeParamTrans(), TPZRefPattern::ComputeParamTransform(), TPZReducedSpace::ComputeRequiredData(), TPZInterpolationSpace::ComputeRequiredData(), TPZCompElPostProc< TCOMPEL >::ComputeShape(), TPZCompElDisc::ComputeShape(), TPZRefPattern::ComputeTransforms(), ComputeXInverse(), TPZAgglomerateElement::CreateAgglomerateMesh(), TPZBuildSBFem::CreateElementCenterNodes(), TPZRefPattern::CreateMidSideNodes(), TPZMGAnalysis::ElementError(), ElementRadius(), TPZInterpolationSpace::EvaluateError(), TPZSBFemVolume::EvaluateError(), TPZInterfaceElement::EvaluateInterfaceJump(), TPZGeoMesh::FindApproxElement(), TPZGeoMesh::FindElement(), TPZGenSpecialGrid::GeneratePolygonalSphereFromOctahedron(), TPZGradientReconstruction::TPZGradientData::GetCenterPointAndCellAveraged(), TPZAnalysisError::HPAdapt(), TPZInterfaceElement::InitMaterialData(), TPZMathTools::IntegrateFunction(), IsSibling(), TPZMathTools::JacobianConv(), ConvTest::JacobianConv(), pzrefine::TPZRefPrism::NewMidSideNode(), pzrefine::TPZRefTriangle::NewMidSideNode(), pzrefine::TPZRefCube::NewMidSideNode(), pzrefine::TPZRefQuad::NewMidSideNode(), pzrefine::TPZRefPyramid::NewMidSideNode(), pzrefine::TPZRefLinear::NewMidSideNode(), pzrefine::TPZRefTetrahedra::NewMidSideNode(), TPZGeoElSide::Normal(), TPZCondensedCompEl::Print(), TPZCompElDisc::Print(), TPZCompEl::Print(), TPZMultiphysicsCompEl< TGeometry >::Print(), TPZCompEl::PrintCoordinate(), TPZVTKGeoMesh::PrintPOrderPoints(), TPZAnalysis::PrintVectorByElement(), TPZStructMatrixGCTP::Serial_Assemble(), TPZStructMatrixGC::Serial_Assemble(), TPZStructMatrixCS::Serial_Assemble(), TPZStructMatrixOT::Serial_Assemble(), TPZStructMatrixOR::Serial_Assemble(), TPZCompElDisc::SetFalseUseQsiEta(), TPZGeoElMapped< TBase >::SetFatherIndex(), TPZCompElDisc::Shape(), TPZCompElHDivPressure< TSHAPE >::Solution(), TPZMultiphysicsCompEl< TGeometry >::Solution(), TPZInterpolationSpace::Solution(), TPZSBFemVolume::Solution(), SubStructure(), TPZRefPatternTools::TransformationTest(), TransformSonToFather(), TPZGeoElMapped< TBase >::TX(), and VerifyNodeCoordinates().

◆ YoungestChildren()

void TPZGeoEl::YoungestChildren ( TPZStack< TPZGeoEl *> &  unrefinedSons)
virtual

This method will return all children at the bottom of the refinement tree of the element. i.e. all children that have no subelements.

Definition at line 431 of file pzgeoel.cpp.

References HasSubElement(), NSubElements(), TPZStack< T, NumExtAlloc >::Push(), SubElement(), and YoungestChildren().

Referenced by IsSibling(), and YoungestChildren().

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  s,
TPZGeoEl el 
)
friend

Equivalent to Print.

Note
Overload operator << to print geometric element data

Definition at line 314 of file pzgeoel.cpp.

Referenced by ResetReference().

Member Data Documentation

◆ fFatherIndex

int64_t TPZGeoEl::fFatherIndex
protected

Index of the element from which the element is a subelement.

Definition at line 60 of file pzgeoel.h.

Referenced by Father(), FatherIndex(), Read(), TPZGeoEl(), WhichSubel(), and Write().

◆ fId

int64_t TPZGeoEl::fId
protected

Traditional element number or element id.

Definition at line 51 of file pzgeoel.h.

Referenced by Id(), Print(), TPZGeoElRefLess< TGeo >::PrintTopologicalInfo(), Read(), TPZGeoEl(), and Write().

◆ fIndex

int64_t TPZGeoEl::fIndex
protected

Index of the element in the element vector.

Definition at line 63 of file pzgeoel.h.

Referenced by ComputeXInverse(), TPZGeoElRefPattern< TGeo >::Divide(), Index(), Print(), Read(), RemoveConnectivities(), TPZGeoEl(), and Write().

◆ fMatId

int TPZGeoEl::fMatId
protected

Material index.

Definition at line 54 of file pzgeoel.h.

Referenced by MaterialId(), Print(), Read(), TPZGeoEl(), and Write().

◆ fMesh

TPZGeoMesh* TPZGeoEl::fMesh
protected

Pointer to the mesh to which the element belongs.

Definition at line 48 of file pzgeoel.h.

Referenced by ElementExists(), IsSibling(), Mesh(), Node(), NodePtr(), Read(), SideNodePtr(), TPZGeoEl(), and Write().

◆ fNumInterfaces

int TPZGeoEl::fNumInterfaces
protected

A counter to indicate how many interface elements are pointing to it.

Definition at line 69 of file pzgeoel.h.

Referenced by DecrementNumInterfaces(), IncrementNumInterfaces(), NumInterfaces(), Print(), Read(), TPZGeoEl(), and Write().

◆ fReference

TPZCompEl* TPZGeoEl::fReference
protected

Reference to the element currently loaded. Pointer is given as this->Mesh()->Reference()->ElementVec()[fReference].

Definition at line 57 of file pzgeoel.h.

Referenced by Print(), Read(), Reference(), SetReference(), TPZGeoEl(), and Write().

◆ gGlobalAxes

TPZFMatrix< REAL > TPZGeoEl::gGlobalAxes
staticprotected

3x3 unit matrix to be copied to the axes if the geometric element does not have a particular orientation

Definition at line 66 of file pzgeoel.h.

Referenced by Read(), and Write().


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