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

Implements a generic geometric element which is refined according to a generic refinement pattern. Geometry. More...

#include <pzgmesh.h>

Inheritance diagram for TPZGeoElRefPattern< TGeo >:
[legend]
Collaboration diagram for TPZGeoElRefPattern< TGeo >:
[legend]

Public Types

typedef TGeo Geo
 

Public Member Functions

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

Private Attributes

TPZVec< int64_t > fSubEl
 
TPZAutoPointer< TPZRefPatternfRefPattern
 

Additional Inherited Members

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

Detailed Description

template<class TGeo>
class TPZGeoElRefPattern< TGeo >

Implements a generic geometric element which is refined according to a generic refinement pattern. Geometry.

Author
Edimar Cesar Rylo
Since
2003-12-23 Using this class it is possible to create inconsistent meshes.
The consistency of the h-refined mesh using generic refinement patterns is the responsability of the user of the class

Definition at line 35 of file pzgmesh.h.

Member Typedef Documentation

◆ Geo

template<class TGeo>
typedef TGeo TPZGeoElRefPattern< TGeo >::Geo

Definition at line 43 of file tpzgeoelrefpattern.h.

Constructor & Destructor Documentation

◆ TPZGeoElRefPattern() [1/6]

template<class TGeo >
TPZGeoElRefPattern< TGeo >::TPZGeoElRefPattern ( )

Default constructor.

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

Referenced by TPZGeoElRefPattern< TGeo >::GetRefPattern().

◆ ~TPZGeoElRefPattern()

template<class TGeo >
TPZGeoElRefPattern< TGeo >::~TPZGeoElRefPattern ( )

Default destructor.

Definition at line 54 of file tpzgeoelrefpattern.h.h.

◆ TPZGeoElRefPattern() [2/6]

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

Constructor from node indexes and id given.

Definition at line 70 of file tpzgeoelrefpattern.h.h.

◆ TPZGeoElRefPattern() [3/6]

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

Constructor from node indexes given.

Definition at line 60 of file tpzgeoelrefpattern.h.h.

◆ TPZGeoElRefPattern() [4/6]

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

Constructor from node indexes given and return the index of the new object.

Definition at line 64 of file tpzgeoelrefpattern.h.h.

◆ TPZGeoElRefPattern() [5/6]

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

Definition at line 76 of file tpzgeoelrefpattern.h.h.

References TPZGeoElRefPattern< TGeo >::fSubEl.

◆ TPZGeoElRefPattern() [6/6]

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

Clone constructor for patch meshes.

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

Definition at line 97 of file tpzgeoelrefpattern.h.h.

References DebugStop, TPZGeoElRefPattern< TGeo >::fSubEl, LOGPZ_ERROR, TPZVec< T >::NElements(), TPZVec< T >::Resize(), and TPZVec< T >::size().

Member Function Documentation

◆ ClassId()

template<class TGeo >
int TPZGeoElRefPattern< TGeo >::ClassId ( ) const
overridevirtual

Define the class id associated with the class.

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

Reimplemented from TPZGeoElRefLess< TGeo >.

Definition at line 147 of file tpzgeoelrefpattern.h.

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

Referenced by TPZGeoElRefPattern< TGeo >::GetRefPattern().

◆ Clone()

template<class TGeo >
TPZGeoEl * TPZGeoElRefPattern< TGeo >::Clone ( TPZGeoMesh DestMesh) const
overridevirtual

Reimplemented from TPZGeoElRefLess< TGeo >.

Definition at line 84 of file tpzgeoelrefpattern.h.h.

References TPZGeoEl::Mesh().

Referenced by TPZGeoElRefPattern< TGeo >::GetRefPattern().

◆ ClonePatchEl()

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

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

Reimplemented from TPZGeoElRefLess< TGeo >.

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

Referenced by TPZGeoElRefPattern< TGeo >::GetRefPattern().

◆ Divide()

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

◆ FatherSide()

template<class TGeo >
int TPZGeoElRefPattern< TGeo >::FatherSide ( int  side,
int  son 
)
overridevirtual

◆ GetRefPattern()

template<class TGeo>
virtual TPZAutoPointer<TPZRefPattern> TPZGeoElRefPattern< TGeo >::GetRefPattern ( ) const
inlineoverridevirtual

◆ GetSubElements2()

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

◆ GetTransform()

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

◆ HasSubElement()

template<class TGeo>
int TPZGeoElRefPattern< TGeo >::HasSubElement ( ) const
inlineoverridevirtual

◆ MidSideNodeIndex()

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

◆ MidSideNodeIndices()

template<class TGeo >
void TPZGeoElRefPattern< TGeo >::MidSideNodeIndices ( int  side,
TPZVec< int64_t > &  indices 
) const
overridevirtual

◆ NSideSubElements()

template<class TGeo >
int TPZGeoElRefPattern< TGeo >::NSideSubElements ( int  side) const
overridevirtual

◆ NSubElements()

template<class TGeo >
int TPZGeoElRefPattern< TGeo >::NSubElements ( ) const
overridevirtual

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

Reimplemented from TPZGeoElRefLess< TGeo >.

Definition at line 253 of file tpzgeoelrefpattern.h.

References TPZGeoElRefPattern< TGeo >::fRefPattern, TPZGeoElRefPattern< TGeo >::GetRefPattern(), and TPZRefPattern::NSubElements().

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

◆ Print()

template<class TGeo >
void TPZGeoElRefPattern< TGeo >::Print ( std::ostream &  out)
overridevirtual

Print all relevant data of the element to cout.

Reimplemented from TPZGeoElRefLess< TGeo >.

Definition at line 543 of file tpzgeoelrefpattern.h.

References TPZGeoElRefPattern< TGeo >::fRefPattern, TPZGeoElRefLess< TGeo >::Print(), and TPZRefPattern::ShortPrint().

Referenced by TPZGeoElRefPattern< TGeo >::GetRefPattern().

◆ Read()

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

◆ RefElVolume()

template<class TGeo >
REAL TPZGeoElRefPattern< TGeo >::RefElVolume ( )
overridevirtual

Volume of the master element.

Reimplemented from TPZGeoElRefLess< TGeo >.

Definition at line 183 of file tpzgeoelrefpattern.h.

Referenced by TPZGeoElRefPattern< TGeo >::HasSubElement().

◆ ResetSubElements()

template<class TGeo >
void TPZGeoElRefPattern< TGeo >::ResetSubElements ( )
overridevirtual

◆ SetRefPattern()

template<class TGeo >
void TPZGeoElRefPattern< TGeo >::SetRefPattern ( TPZAutoPointer< TPZRefPattern refpat)
overridevirtual

◆ SetSubElement()

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

◆ SideSubElement()

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

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

Definition at line 295 of file tpzgeoelrefpattern.h.

References TPZGeoElRefPattern< TGeo >::fRefPattern, TPZGeoElRefPattern< TGeo >::fSubEl, TPZGeoElRefPattern< TGeo >::GetRefPattern(), TPZGeoElSide::Id(), PZError, TPZGeoElSide::Side(), TPZRefPattern::SideSubGeoElSide(), TPZGeoElRefPattern< TGeo >::SubElement(), and tmp.

Referenced by TPZGeoElRefPattern< TGeo >::HasSubElement().

◆ SubElement()

template<class TGeo >
TPZGeoEl * TPZGeoElRefPattern< TGeo >::SubElement ( int  is) const
overridevirtual

◆ Write()

template<class TGeo >
void TPZGeoElRefPattern< TGeo >::Write ( TPZStream buf,
int  withclassid 
) const
overridevirtual

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

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

Reimplemented from TPZGeoElRefLess< TGeo >.

Definition at line 39 of file tpzgeoelrefpattern.h.h.

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

Referenced by TPZGeoElRefPattern< TGeo >::GetRefPattern().

Member Data Documentation

◆ fRefPattern

template<class TGeo>
TPZAutoPointer<TPZRefPattern> TPZGeoElRefPattern< TGeo >::fRefPattern
private

◆ fSubEl

template<class TGeo>
TPZVec<int64_t> TPZGeoElRefPattern< TGeo >::fSubEl
private

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