NeoPZ
|
Implements a generic geometric element which is refined according to a generic refinement pattern. Geometry. More...
#include <pzgmesh.h>
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... | |
TPZGeoEl * | SubElement (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< TPZRefPattern > | GetRefPattern () 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 TPZGeoEl * | ClonePatchEl (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 TPZGeoEl * | Clone (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 TPZIntPoints * | CreateSideIntegrationRule (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 TPZGeoEl * | CreateBCGeoEl (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 TPZGeoEl * | CreateBCGeoBlendEl (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 TPZGeoEl * | CreateGeoElement (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 | |
TPZGeoEl * | EldestAncestor () 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 TPZCompEl * | CreateBCCompEl (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... | |
TPZGeoMesh * | Mesh () const |
Returns the mesh to which the element belongs. More... | |
int64_t | Id () const |
Returns the Id of the element. More... | |
TPZGeoNode * | NodePtr (int i) const |
Returns a pointer to the ith node of the element. More... | |
TPZGeoNode & | Node (int i) const |
Returns the ith node of the element. More... | |
int | MaterialId () const |
Returns the material index of the element. More... | |
TPZCompEl * | Reference () 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 TPZGeoNode * | SideNodePtr (int side, int nodenum) const |
Returns the pointer to the nodenum node of side. More... | |
TPZGeoEl * | Father () const |
Computes the normal vectors needed for forming HDiv vector valued shape functions. More... | |
TPZGeoEl * | LowestFather () |
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< TPZRefPattern > | fRefPattern |
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 > ¢el, TPZVec< REAL > ¢face) |
Static Public Member Functions inherited from TPZSavable | |
static std::set< TPZRestoreClassBase * > & | RestoreClassSet () |
This static function guarantees that the gMap object is available when needed. More... | |
static std::map< int, TPZRestore_t > & | ClassIdMap () |
This static function guarantees that the gMap object is available when needed. More... | |
static std::pair< std::string, uint64_t > | NeoPZVersion () |
static void | Register (TPZRestoreClassBase *restore) |
static void | RegisterClassId (int classid, TPZRestore_t fun) |
static TPZSavable * | CreateInstance (const int &classId) |
Protected Attributes inherited from TPZGeoElRefLess< TGeo > | |
TGeo | fGeo |
TPZGeoElSideIndex | fNeighbours [TGeo::NSides] |
Protected Attributes inherited from TPZGeoEl | |
TPZGeoMesh * | fMesh |
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... | |
TPZCompEl * | fReference |
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... | |
Implements a generic geometric element which is refined according to a generic refinement pattern. Geometry.
typedef TGeo TPZGeoElRefPattern< TGeo >::Geo |
Definition at line 43 of file tpzgeoelrefpattern.h.
TPZGeoElRefPattern< TGeo >::TPZGeoElRefPattern | ( | ) |
Default constructor.
Definition at line 48 of file tpzgeoelrefpattern.h.h.
Referenced by TPZGeoElRefPattern< TGeo >::GetRefPattern().
TPZGeoElRefPattern< TGeo >::~TPZGeoElRefPattern | ( | ) |
Default destructor.
Definition at line 54 of file tpzgeoelrefpattern.h.h.
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< 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< 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< TGeo >::TPZGeoElRefPattern | ( | TPZGeoMesh & | DestMesh, |
const TPZGeoElRefPattern< TGeo > & | cp | ||
) |
Definition at line 76 of file tpzgeoelrefpattern.h.h.
References TPZGeoElRefPattern< TGeo >::fSubEl.
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.
DestMesh | destination patch mesh |
cp | element to be copied |
gl2lcNdIdx | map between the original node indexes and patch node indexes |
gl2lcElIdx | map 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().
|
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().
|
overridevirtual |
Reimplemented from TPZGeoElRefLess< TGeo >.
Definition at line 84 of file tpzgeoelrefpattern.h.h.
References TPZGeoEl::Mesh().
Referenced by TPZGeoElRefPattern< TGeo >::GetRefPattern().
|
overridevirtual |
Creates a clone of this element into a new patch mesh.
DestMesh | destination patch mesh |
gl2lcNdIdx | map between node indexes in original and patch mesh |
gl2lcElIdx | map 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().
|
overridevirtual |
Divides the element and puts the resulting elements in the vector.
Reimplemented from TPZGeoEl.
Definition at line 357 of file tpzgeoelrefpattern.h.
References TPZGeoElRefLess< TGeo >::CreateGeoElement(), TPZRefPattern::CreateNewNodes(), TPZGeoElSide::Element(), TPZRefPattern::Element(), EPoint, TPZGeoElSide::Exists(), TPZGeoEl::fIndex, TPZGeoElRefPattern< TGeo >::fRefPattern, TPZRefPatternTools::GetCompatibleRefPatterns(), TPZGeoElRefPattern< TGeo >::GetRefPattern(), TPZRefPatternDataBase::GetUniformRefPattern(), gRefDBase, TPZGeoElRefPattern< TGeo >::HasSubElement(), TPZGeoEl::Index(), TPZRefPatternDataBase::InitializeUniformRefPattern(), LOGPZ_DEBUG, LOGPZ_WARN, TPZGeoEl::MaterialId(), TPZGeoElRefLess< TGeo >::NCornerNodes(), TPZGeoEl::NCornerNodes(), TPZGeoEl::Neighbour(), TPZRefPattern::NNodes(), TPZGeoElRefLess< TGeo >::NodeIndex(), TPZGeoEl::NodeIndex(), TPZGeoEl::NSides(), TPZRefPattern::NSubElements(), PZError, TPZVec< T >::Resize(), TPZGeoEl::SetNeighbour(), TPZGeoElRefPattern< TGeo >::SetRefPattern(), TPZGeoElRefPattern< TGeo >::SetSubElement(), TPZGeoEl::SetSubElementConnectivities(), TPZGeoElSide::Side(), TPZGeoElRefPattern< TGeo >::SubElement(), and TPZGeoElRefLess< TGeo >::Type().
Referenced by TPZGeoElRefPattern< TGeo >::HasSubElement().
|
overridevirtual |
Reimplemented from TPZGeoElRefLess< TGeo >.
Definition at line 483 of file tpzgeoelrefpattern.h.
References TPZRefPattern::FatherSide(), TPZGeoElRefPattern< TGeo >::fRefPattern, TPZGeoElRefPattern< TGeo >::GetRefPattern(), and test::res.
Referenced by TPZGeoElRefPattern< TGeo >::HasSubElement().
|
inlineoverridevirtual |
Returns the refinement pattern associated with the element.
Reimplemented from TPZGeoEl.
Definition at line 102 of file tpzgeoelrefpattern.h.
References TPZGeoElRefPattern< TGeo >::ClassId(), TPZGeoElRefPattern< TGeo >::Clone(), TPZGeoElRefPattern< TGeo >::ClonePatchEl(), TPZGeoElRefPattern< TGeo >::fRefPattern, TPZGeoElRefPattern< TGeo >::Print(), TPZGeoElRefPattern< TGeo >::Read(), TPZGeoElRefPattern< TGeo >::ResetSubElements(), TPZGeoElRefPattern< TGeo >::TPZGeoElRefPattern(), and TPZGeoElRefPattern< TGeo >::Write().
Referenced by TPZGeoElRefPattern< TGeo >::Divide(), TPZGeoElRefPattern< TGeo >::FatherSide(), TPZGeoElRefPattern< TGeo >::GetSubElements2(), TPZGeoElRefPattern< TGeo >::GetTransform(), TPZGeoElRefPattern< TGeo >::MidSideNodeIndices(), TPZGeoElRefPattern< TGeo >::NSideSubElements(), TPZGeoElRefPattern< TGeo >::NSubElements(), TPZGeoElRefPattern< TGeo >::SetSubElement(), TPZGeoElRefPattern< TGeo >::SideSubElement(), and TPZGeoElRefPattern< TGeo >::SubElement().
|
overridevirtual |
This method will return a partition of the side of the current element
as the union of sub elements/side which are put in the stack.
Reimplemented from TPZGeoElRefLess< TGeo >.
Definition at line 316 of file tpzgeoelrefpattern.h.
References DebugStop, TPZGeoElSide::Element(), TPZRefPattern::Element(), TPZGeoElSide::Exists(), TPZGeoEl::Father(), TPZGeoElRefPattern< TGeo >::fRefPattern, TPZGeoElRefPattern< TGeo >::GetRefPattern(), TPZGeoEl::Id(), TPZRefPattern::InternalSidesIndexes(), TPZGeoElRefLess< TGeo >::NCornerNodes(), TPZGeoElSide::Neighbour(), TPZVec< T >::NElements(), TPZStack< T, NumExtAlloc >::Push(), TPZGeoElSide::Side(), and TPZGeoElRefPattern< TGeo >::SubElement().
Referenced by TPZGeoElRefPattern< TGeo >::HasSubElement(), and TPZGeoElRefPattern< TGeo >::MidSideNodeIndex().
|
overridevirtual |
Reimplemented from TPZGeoElRefLess< TGeo >.
Definition at line 309 of file tpzgeoelrefpattern.h.
References TPZGeoElRefPattern< TGeo >::fRefPattern, TPZGeoElRefPattern< TGeo >::GetRefPattern(), and TPZRefPattern::Transform().
Referenced by TPZGeoElRefPattern< TGeo >::HasSubElement().
|
inlineoverridevirtual |
Returns 1 if the element has subelements along side.
Reimplemented from TPZGeoElRefLess< TGeo >.
Definition at line 57 of file tpzgeoelrefpattern.h.
References TPZGeoElRefPattern< TGeo >::Divide(), TPZGeoElRefPattern< TGeo >::FatherSide(), TPZGeoElRefPattern< TGeo >::GetSubElements2(), TPZGeoElRefPattern< TGeo >::GetTransform(), TPZGeoElRefPattern< TGeo >::MidSideNodeIndex(), TPZGeoElRefPattern< TGeo >::MidSideNodeIndices(), TPZVec< T >::NElements(), TPZGeoElRefPattern< TGeo >::NSideSubElements(), TPZGeoElRefPattern< TGeo >::NSubElements(), TPZGeoElRefPattern< TGeo >::RefElVolume(), TPZGeoElRefPattern< TGeo >::SetRefPattern(), TPZGeoElRefPattern< TGeo >::SetSubElement(), TPZGeoElRefPattern< TGeo >::SideSubElement(), and TPZGeoElRefPattern< TGeo >::SubElement().
Referenced by TPZGeoElRefPattern< TGeo >::Divide(), TPZGeoElRefPattern< TGeo >::MidSideNodeIndex(), TPZGeoElRefPattern< TGeo >::MidSideNodeIndices(), and TPZGeoElRefPattern< TGeo >::SetRefPattern().
|
overridevirtual |
Returns the midside node index along a side of the element.
Reimplemented from TPZGeoElRefLess< TGeo >.
Definition at line 188 of file tpzgeoelrefpattern.h.
References TPZGeoElRefLess< TGeo >::CenterPoint(), TPZGeoElRefLess< TGeo >::Dimension(), TPZGeoElRefPattern< TGeo >::GetSubElements2(), TPZGeoElRefPattern< TGeo >::HasSubElement(), TPZGeoEl::Mesh(), TPZGeoElRefLess< TGeo >::NCornerNodes(), TPZVec< T >::NElements(), TPZGeoElRefLess< TGeo >::NodeIndex(), TPZGeoMesh::NodeVec(), TPZGeoElRefLess< TGeo >::NSides(), TPZGeoElRefPattern< TGeo >::NSideSubElements(), TPZStack< T, NumExtAlloc >::Push(), PZError, and TPZGeoElRefLess< TGeo >::X().
Referenced by TPZGeoElRefPattern< TGeo >::HasSubElement().
|
overridevirtual |
Returns the midside node indices along a side of the element.
Reimplemented from TPZGeoEl.
Definition at line 491 of file tpzgeoelrefpattern.h.
References TPZGeoElRefPattern< TGeo >::fRefPattern, TPZGeoElRefPattern< TGeo >::GetRefPattern(), TPZGeoElRefPattern< TGeo >::HasSubElement(), TPZRefPattern::InternalNodesIndexes(), TPZGeoElRefLess< TGeo >::NCornerNodes(), TPZVec< T >::NElements(), TPZGeoEl::NodeIndex(), nsub, TPZVec< T >::Resize(), and TPZGeoElRefPattern< TGeo >::SubElement().
Referenced by TPZGeoElRefPattern< TGeo >::HasSubElement().
|
overridevirtual |
Returns the number of subelements as returned by GetSubElements(side)
Reimplemented from TPZGeoElRefLess< TGeo >.
Definition at line 278 of file tpzgeoelrefpattern.h.
References TPZGeoElRefPattern< TGeo >::fRefPattern, TPZGeoElRefPattern< TGeo >::GetRefPattern(), and TPZRefPattern::NSideSubGeoElSides().
Referenced by TPZGeoElRefPattern< TGeo >::HasSubElement(), and TPZGeoElRefPattern< TGeo >::MidSideNodeIndex().
|
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().
|
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().
|
overridevirtual |
read objects from the stream
Reimplemented from TPZGeoElRefLess< TGeo >.
Definition at line 15 of file tpzgeoelrefpattern.h.h.
References DebugStop, gRefDBase, TPZGeoElRefLess< TGeo >::Read(), TPZStream::Read(), and TPZRefPatternDataBase::RefPatternList().
Referenced by TPZGeoElRefPattern< TGeo >::GetRefPattern().
|
overridevirtual |
Volume of the master element.
Reimplemented from TPZGeoElRefLess< TGeo >.
Definition at line 183 of file tpzgeoelrefpattern.h.
Referenced by TPZGeoElRefPattern< TGeo >::HasSubElement().
|
overridevirtual |
Reset all subelements to NULL.
Reimplemented from TPZGeoElRefLess< TGeo >.
Definition at line 259 of file tpzgeoelrefpattern.h.
References TPZGeoElRefPattern< TGeo >::fRefPattern, TPZGeoElRefPattern< TGeo >::fSubEl, TPZGeoElRefPattern< TGeo >::NSubElements(), TPZGeoEl::SetFatherIndex(), and TPZGeoElRefPattern< TGeo >::SubElement().
Referenced by TPZGeoElRefPattern< TGeo >::GetRefPattern().
|
overridevirtual |
Defines the refinement pattern. It's used only in TPZGeoElRefPattern objects.
Defines the element refinement pattern
Reimplemented from TPZGeoEl.
Definition at line 515 of file tpzgeoelrefpattern.h.
References TPZGeoElRefPattern< TGeo >::fRefPattern, TPZGeoElRefPattern< TGeo >::fSubEl, TPZGeoElRefPattern< TGeo >::HasSubElement(), LOGPZ_ERROR, TPZRefPattern::NSubElements(), PZError, and TPZVec< T >::Resize().
Referenced by TPZGeoElRefPattern< TGeo >::Divide(), and TPZGeoElRefPattern< TGeo >::HasSubElement().
|
overridevirtual |
Sets the subelement of index i.
Reimplemented from TPZGeoElRefLess< TGeo >.
Definition at line 161 of file tpzgeoelrefpattern.h.
References TPZGeoElRefPattern< TGeo >::fRefPattern, TPZGeoElRefPattern< TGeo >::fSubEl, TPZGeoElRefPattern< TGeo >::GetRefPattern(), TPZGeoEl::Index(), TPZRefPattern::NSubElements(), and PZError.
Referenced by TPZGeoElRefPattern< TGeo >::Divide(), and TPZGeoElRefPattern< TGeo >::HasSubElement().
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().
|
overridevirtual |
Returns a pointer to the subelement is.
Reimplemented from TPZGeoElRefLess< TGeo >.
Definition at line 284 of file tpzgeoelrefpattern.h.
References DebugStop, TPZGeoMesh::ElementVec(), TPZGeoElRefPattern< TGeo >::fRefPattern, TPZGeoElRefPattern< TGeo >::fSubEl, TPZGeoElRefPattern< TGeo >::GetRefPattern(), TPZGeoEl::Mesh(), and TPZRefPattern::NSubElements().
Referenced by TPZGeoElRefPattern< TGeo >::Divide(), TPZGeoElRefPattern< TGeo >::GetSubElements2(), TPZGeoElRefPattern< TGeo >::HasSubElement(), TPZGeoElRefPattern< TGeo >::MidSideNodeIndices(), TPZGeoElRefPattern< TGeo >::ResetSubElements(), and TPZGeoElRefPattern< TGeo >::SideSubElement().
|
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().
|
private |
Definition at line 40 of file tpzgeoelrefpattern.h.
Referenced by TPZGeoElRefPattern< TGeo >::Divide(), TPZGeoElRefPattern< TGeo >::FatherSide(), TPZGeoElRefPattern< TGeo >::GetRefPattern(), TPZGeoElRefPattern< TGeo >::GetSubElements2(), TPZGeoElRefPattern< TGeo >::GetTransform(), TPZGeoElRefPattern< TGeo >::MidSideNodeIndices(), TPZGeoElRefPattern< TGeo >::NSideSubElements(), TPZGeoElRefPattern< TGeo >::NSubElements(), TPZGeoElRefPattern< TGeo >::Print(), TPZGeoElRefPattern< TGeo >::ResetSubElements(), TPZGeoElRefPattern< TGeo >::SetRefPattern(), TPZGeoElRefPattern< TGeo >::SetSubElement(), TPZGeoElRefPattern< TGeo >::SideSubElement(), and TPZGeoElRefPattern< TGeo >::SubElement().
|
private |
Definition at line 39 of file tpzgeoelrefpattern.h.
Referenced by TPZGeoElRefPattern< TGeo >::ResetSubElements(), TPZGeoElRefPattern< TGeo >::SetRefPattern(), TPZGeoElRefPattern< TGeo >::SetSubElement(), TPZGeoElRefPattern< TGeo >::SideSubElement(), TPZGeoElRefPattern< TGeo >::SubElement(), and TPZGeoElRefPattern< TGeo >::TPZGeoElRefPattern().