NeoPZ
Public Types | Public Member Functions | Static Public Member Functions | Static Protected Attributes | Friends | List of all members
pztopology::TPZQuadrilateral Class Reference

Defines the topology of a quadrilateral element. Topology Sides 0 to 3 are vertices, sides 4 to 7 are lines, side 8 is the quadrilateral. More...

#include <tpzquadrilateral.h>

Inheritance diagram for pztopology::TPZQuadrilateral:
[legend]
Collaboration diagram for pztopology::TPZQuadrilateral:
[legend]

Public Types

enum  {
  NSides, NCornerNodes, Dimension, NFaces,
  NPermutations
}
 Enumerate for topological characteristics. More...
 
enum  EHdivType { HdivConform, HdivFull }
 

Public Member Functions

int ClassId () const override
 Define the class id associated with the class. More...
 
void Read (TPZStream &buf, void *context) override
 read objects from the stream More...
 
void Write (TPZStream &buf, int withclassid) const override
 Writes this object to the TPZStream buffer. Include the classid if withclassid = true. More...
 
 TPZQuadrilateral ()
 Default constructor. More...
 
virtual ~TPZQuadrilateral ()
 Default destructor. 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 void GetSideHDivPermutation (int transformid, TPZVec< int > &permgather)
 Identifies the permutation of the nodes needed to make neighbouring elements compatible in terms of order of shape functions. More...
 
static constexpr REAL RefElVolume ()
 Volume of the master element (measure) More...
 
static void ComputeDirections (int is, TPZFMatrix< REAL > &gradx, TPZFMatrix< REAL > &directions, TPZVec< int > &sidevectors)
 
static void GetSideHDivDirections (TPZVec< int > &sides, TPZVec< int > &dir, TPZVec< int > &bilinearounao)
 
static void GetSideHDivDirections (TPZVec< int > &sides, TPZVec< int > &dir, TPZVec< int > &bilinearounao, TPZVec< int > &sidevectors)
 
template<class TVar >
static void ComputeHDivDirections (TPZFMatrix< TVar > &gradx, TPZFMatrix< TVar > &directions)
 Compute the directions of the HDiv vectors. More...
 
template<class TVar >
static void ComputeHCurlDirections (TPZFMatrix< TVar > &gradx, TPZFMatrix< TVar > &directions, const TPZVec< int > &transformationIds)
 
template<class TVar >
static void ComputeHCurlFaceDirections (TPZVec< TVar > &v1, TPZVec< TVar > &v2, int transformationId)
 
static int NBilinearSides ()
 
static void SetHdivType (EHdivType val)
 
About sides of the topological element
static int SideDimension (int side)
 returns the dimension of the side More...
 
static void LowerDimensionSides (int side, TPZStack< int > &smallsides)
 Get all sides with lower dimension on side. More...
 
static void LowerDimensionSides (int side, TPZStack< int > &smallsides, int DimTarget)
 Get all sides with lower dimension but equal to DimTarget on side. More...
 
static void HigherDimensionSides (int side, TPZStack< int > &high)
 returns all sides whose closure contains side More...
 
static int NSideNodes (int side)
 return the number of vertices (not connectivities) associated with a side More...
 
static int SideNodeLocId (int side, int node)
 returns the local node number of the node "node" along side "side" More...
 
static int NumSides ()
 Returns number of sides of the element (9) More...
 
static int NumSides (int dimension)
 return the number of sides of a given dimension More...
 
static int NContainedSides (int side)
 return the number of sides contained in the closure of a side More...
 
static int ContainedSideLocId (int side, int c)
 returns the local side number of the side "c" contained in the closure of side "side" More...
 
static void Shape (TPZVec< REAL > &loc, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi)
 Compute the shape being used to construct the x mapping from local parametric coordinates. More...
 
template<class T >
static void TShape (const TPZVec< T > &loc, TPZFMatrix< T > &phi, TPZFMatrix< T > &dphi)
 Compute the shape being used to construct the x mapping from local parametric coordinates. More...
 
template<class T >
static void BlendFactorForSide (const int &side, const TPZVec< T > &xi, T &blendFactor, TPZVec< T > &corrFactorDxi)
 
About points at the parametric spaces
static void CenterPoint (int side, TPZVec< REAL > &center)
 returns the barycentric coordinates in the master element space of the original element More...
 
static bool IsInParametricDomain (const TPZVec< REAL > &pt, REAL tol=pztopology::gTolerance)
 Verifies if the parametric point pt is in the element parametric domain. More...
 
static void RandomPoint (TPZVec< REAL > &pt)
 Generates a random point in the master domain. More...
 
template<class T >
static bool CheckProjectionForSingularity (const int &side, const TPZVec< T > &xiInterior)
 
template<class T >
static void MapToSide (int side, TPZVec< T > &InternalPar, TPZVec< T > &SidePar, TPZFMatrix< T > &JacToSide)
 
static void ParametricDomainNodeCoord (int node, TPZVec< REAL > &nodeCoord)
 
About type of the topological element
static MElementType Type ()
 Returns the type of the element as specified in file pzeltype.h. More...
 
static MElementType Type (int side)
 Returns the type of the element side as specified in file pzeltype.h. More...
 
About Transformations
static TPZTransform SideToSideTransform (int sidefrom, int sideto)
 returns the transformation which takes a point from the side sidefrom to the side sideto More...
 
static TPZTransform TransformSideToElement (int side)
 Returns the transformation which transform a point from the side to the interior of the element. More...
 
static TPZTransform TransformElementToSide (int side)
 Returns the transformation which transform a point from the interior of the element to the side. More...
 
static int GetTransformId (TPZVec< int64_t > &id)
 Method which identifies the transformation based on the IDs of the corner nodes. More...
 
static int GetTransformId (int side, TPZVec< int64_t > &id)
 Method which identifies the transformation of a side based on the IDs of the corner nodes. More...
 
static void GetGatherPermute (int transformid, TPZVec< int > &permute)
 return the vector which permutes the connects according to the transformation id 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)
 

Static Protected Attributes

static int fPermutations [8][9]
 Valid permutations between nodes. More...
 
static REAL fTangentVectors [16][2]
 
static int FaceNodes [1][4]
 
static int SideNodes [4][2]
 

Friends

void pztopology::GetPermutation (const int permute, TPZVec< int > &permutation)
 

Methods related over numeric integration

typedef TPZIntQuad IntruleType
 Typedef to numerical integration rule. More...
 
typedef TPZGraphElQ2dd GraphElType
 Typedef to graphical element type. More...
 
static TPZIntPointsCreateSideIntegrationRule (int side, int order)
 Create an integration rule over side. More...
 

Detailed Description

Defines the topology of a quadrilateral element. Topology Sides 0 to 3 are vertices, sides 4 to 7 are lines, side 8 is the quadrilateral.

Author
Philippe R. B. Devloo

Definition at line 37 of file tpzquadrilateral.h.

Member Typedef Documentation

◆ GraphElType

Typedef to graphical element type.

Definition at line 231 of file tpzquadrilateral.h.

◆ IntruleType

Typedef to numerical integration rule.

Definition at line 229 of file tpzquadrilateral.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

Enumerate for topological characteristics.

Enumerator
NSides 
NCornerNodes 
Dimension 
NFaces 
NPermutations 

Definition at line 42 of file tpzquadrilateral.h.

◆ EHdivType

Enumerator
HdivConform 
HdivFull 

Definition at line 290 of file tpzquadrilateral.h.

Constructor & Destructor Documentation

◆ TPZQuadrilateral()

pztopology::TPZQuadrilateral::TPZQuadrilateral ( )
inline

Default constructor.

Definition at line 49 of file tpzquadrilateral.h.

◆ ~TPZQuadrilateral()

virtual pztopology::TPZQuadrilateral::~TPZQuadrilateral ( )
inlinevirtual

Default destructor.

Definition at line 53 of file tpzquadrilateral.h.

References HigherDimensionSides(), LowerDimensionSides(), NSideNodes(), SideDimension(), and SideNodeLocId().

Member Function Documentation

◆ BlendFactorForSide()

template<class T >
template void pztopology::TPZQuadrilateral::BlendFactorForSide< REAL > ( const int &  side,
const TPZVec< T > &  xi,
T &  blendFactor,
TPZVec< T > &  corrFactorDxi 
)
static

This method calculates the influence (a.k.a. the blend function) of the side side regarding an interior point qsi. It is used by the TPZGeoBlend class.

Parameters
sidethe index of the side
xicoordinates of the interior point
blendFactorinfluence (0 <= blendFactor <= 1)
corrFactorDxiderivative of the blendFactor in respect to xi

Definition at line 226 of file tpzquadrilateral.cpp.

References DebugStop, pztopology::GetTolerance(), LOGPZ_FATAL, PZError, TPZVec< T >::Resize(), and pzgeom::tol.

Referenced by Shape().

◆ CenterPoint()

void pztopology::TPZQuadrilateral::CenterPoint ( int  side,
TPZVec< REAL > &  center 
)
static

returns the barycentric coordinates in the master element space of the original element

Definition at line 324 of file tpzquadrilateral.cpp.

References DebugStop, and TPZVec< T >::size().

Referenced by PYBIND11_MODULE(), and Shape().

◆ CheckProjectionForSingularity()

template<class T >
template bool pztopology::TPZQuadrilateral::CheckProjectionForSingularity< REAL > ( const int &  side,
const TPZVec< T > &  xiInterior 
)
static

This method will check if the projection to a certain side (MapToSide method) is regular, i.e., if the interior point in the parametric domain is not too close to the projection's singularity.

Parameters
sidethe index of the side upon which the interior point will be projected upon
xiInteriorcoordinates of the interior point
Returns
true if the interior point is far from the singularity

Definition at line 406 of file tpzquadrilateral.cpp.

Referenced by Shape().

◆ ClassId()

int pztopology::TPZQuadrilateral::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 pzgeom::TPZNodeRep< 8, pztopology::TPZQuadrilateral >, and pzgeom::TPZNodeRep< 4, pztopology::TPZQuadrilateral >.

Definition at line 1288 of file tpzquadrilateral.cpp.

References Hash().

◆ ComputeDirections()

void pztopology::TPZQuadrilateral::ComputeDirections ( int  is,
TPZFMatrix< REAL > &  gradx,
TPZFMatrix< REAL > &  directions,
TPZVec< int > &  sidevectors 
)
static

◆ ComputeHCurlDirections()

template<class TVar >
template void pztopology::TPZQuadrilateral::ComputeHCurlDirections< REAL > ( TPZFMatrix< TVar > &  gradx,
TPZFMatrix< TVar > &  directions,
const TPZVec< int > &  transformationIds 
)
static

Compute the directions of the HCurl vectors. These vectors are combined with H1 shape functions to create the HCurl shape functions. They must be computed in the following order:

  • $v^{e,a}$: vector associated with edge $e$. It is normal to the edge $\hat{e}$ adjacent to $e$e by the vertex $a$a.
  • $v^{e,T}$: vector associated with edge $e$. It is tangent to the edge $\hat{e}$.
  • $v^{F,e}$: vector associated with face $F$. It is normal to the face $\hat{F}$ adjacent to $F$e by the edge $e$a.
  • $v^{F,T}$: two orthornormal vectors associated with face $F$ and tangent to it.
  • $v^{F,\perp}$: outward normal vector associated with face $F$ (3D only)
  • $v^{K}$: set of orthonormal vectors associated with the volume of the element itself (3D only. In 2D $v^{F,T}$ does its job) The side ordering should be respected. In the definition of the $v^{e,a}$ and the $v^{F,e}$ vectors, the subsides are ordered as the return of LowerDimensionSides.
    Template Parameters
    TVarREAL or Fad<REAL>
    Parameters
    gradxthe gradient of the element mapping. if computing in normal element, gradx is the identity matrix.
    directionscomputed directions
    transformationIdstransformation Ids associated with each side of dim > 0

Definition at line 1200 of file tpzquadrilateral.cpp.

References TPZMatrix< TVar >::Rows().

Referenced by RefElVolume().

◆ ComputeHCurlFaceDirections()

template<class TVar >
template void pztopology::TPZQuadrilateral::ComputeHCurlFaceDirections< REAL > ( TPZVec< TVar > &  v1,
TPZVec< TVar > &  v2,
int  transformationId 
)
static

For a given transformation id, the method will return the two $v^{F,T}$ vectors associated with the face

Template Parameters
TVarREAL or Fad<REAL>
Parameters
v1$v^{F,T}_1$
v2$v^{F,T}_2$
transformationIdThe id of the transformation (node ordering)

Definition at line 1246 of file tpzquadrilateral.cpp.

Referenced by RefElVolume().

◆ ComputeHDivDirections()

template<class TVar >
template void pztopology::TPZQuadrilateral::ComputeHDivDirections< REAL > ( TPZFMatrix< TVar > &  gradx,
TPZFMatrix< TVar > &  directions 
)
static

Compute the directions of the HDiv vectors.

Referenced by RefElVolume().

◆ ContainedSideLocId()

int pztopology::TPZQuadrilateral::ContainedSideLocId ( int  side,
int  c 
)
static

returns the local side number of the side "c" contained in the closure of side "side"

It do not verify the values of the c

Definition at line 565 of file tpzquadrilateral.cpp.

References PZError.

Referenced by NumSides().

◆ CreateSideIntegrationRule()

TPZIntPoints * pztopology::TPZQuadrilateral::CreateSideIntegrationRule ( int  side,
int  order 
)
static

Create an integration rule over side.

Parameters
sideSide to create integration rule
orderOrder of the integration rule to be created

Definition at line 334 of file tpzquadrilateral.cpp.

References PZError.

Referenced by PYBIND11_MODULE(), and Shape().

◆ GetGatherPermute()

void pztopology::TPZQuadrilateral::GetGatherPermute ( int  transformid,
TPZVec< int > &  permute 
)
static

return the vector which permutes the connects according to the transformation id

Definition at line 678 of file tpzquadrilateral.cpp.

References DebugStop, and TPZVec< T >::size().

Referenced by Shape().

◆ GetSideHDivDirections() [1/2]

void pztopology::TPZQuadrilateral::GetSideHDivDirections ( TPZVec< int > &  sides,
TPZVec< int > &  dir,
TPZVec< int > &  bilinearounao 
)
static

Definition at line 1254 of file tpzquadrilateral.cpp.

References TPZVec< T >::Resize().

Referenced by RefElVolume().

◆ GetSideHDivDirections() [2/2]

void pztopology::TPZQuadrilateral::GetSideHDivDirections ( TPZVec< int > &  sides,
TPZVec< int > &  dir,
TPZVec< int > &  bilinearounao,
TPZVec< int > &  sidevectors 
)
static

Definition at line 1269 of file tpzquadrilateral.cpp.

References TPZVec< T >::Resize().

◆ GetSideHDivPermutation()

void pztopology::TPZQuadrilateral::GetSideHDivPermutation ( int  transformationid,
TPZVec< int > &  permgather 
)
static

Identifies the permutation of the nodes needed to make neighbouring elements compatible in terms of order of shape functions.

Parameters
sideSide for which the permutation is needed
idIds of the corner nodes of the elements
permgatherPermutation vector in a gather order

Identifies the permutation of the nodes needed to make neighbouring elements compatible in terms of order of shape functions

Parameters
side: side for which the permutation is needed
id: ids of the corner nodes of the elements
permgather: permutation vector in a gather order

Definition at line 752 of file tpzquadrilateral.cpp.

References pztopology::computedirectionsq(), DebugStop, and TPZVec< T >::size().

Referenced by TPZGeoElRefLess< TGeo >::HDivPermutation(), and TPZCompElHDiv< TSHAPE >::SideShapeFunction().

◆ GetTransformId() [1/2]

int pztopology::TPZQuadrilateral::GetTransformId ( TPZVec< int64_t > &  id)
static

Method which identifies the transformation based on the IDs of the corner nodes.

Parameters
idIndexes of the corner nodes
Returns
Index of the transformation of the point corresponding to the topology

Method which identifies the transformation based on the IDs of the corner nodes

Parameters
idindexes of the corner nodes
Returns
index of the transformation of the point corresponding to the topology

Definition at line 646 of file tpzquadrilateral.cpp.

Referenced by pztopology::TPZCube::GetTransformId(), pztopology::TPZPrism::GetTransformId(), pztopology::TPZPyramid::GetTransformId(), TPZGeoElRefLess< TGeo >::HDivPermutation(), Shape(), and TPZCompElHDiv< TSHAPE >::SideShapeFunction().

◆ GetTransformId() [2/2]

int pztopology::TPZQuadrilateral::GetTransformId ( int  side,
TPZVec< int64_t > &  id 
)
static

Method which identifies the transformation of a side based on the IDs of the corner nodes.

Parameters
sideIndex of side
idIds of the corner nodes
Returns
Index of the transformation of the point corresponding to the topology

Method which identifies the transformation of a side based on the IDs of the corner nodes

Parameters
idindexes of the corner nodes
Returns
index of the transformation of the point corresponding to the topology

Definition at line 713 of file tpzquadrilateral.cpp.

References LOGPZ_ERROR.

◆ HigherDimensionSides()

void pztopology::TPZQuadrilateral::HigherDimensionSides ( int  side,
TPZStack< int > &  high 
)
static

returns all sides whose closure contains side

Parameters
sidesmaller dimension side
highvector which will contain all sides whose closure contain sidefrom

Definition at line 314 of file tpzquadrilateral.cpp.

References TPZStack< T, NumExtAlloc >::Push(), and PZError.

Referenced by PYBIND11_MODULE(), and ~TPZQuadrilateral().

◆ IsInParametricDomain()

bool pztopology::TPZQuadrilateral::IsInParametricDomain ( const TPZVec< REAL > &  pt,
REAL  tol = pztopology::gTolerance 
)
static

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

Definition at line 384 of file tpzquadrilateral.cpp.

References fabs.

Referenced by IsInSideParametricDomain(), PYBIND11_MODULE(), and Shape().

◆ LowerDimensionSides() [1/2]

void pztopology::TPZQuadrilateral::LowerDimensionSides ( int  side,
TPZStack< int > &  smallsides 
)
static

Get all sides with lower dimension on side.

Definition at line 296 of file tpzquadrilateral.cpp.

References TPZStack< T, NumExtAlloc >::Push(), and TPZManVector< T, NumExtAlloc >::Resize().

Referenced by PYBIND11_MODULE(), and ~TPZQuadrilateral().

◆ LowerDimensionSides() [2/2]

void pztopology::TPZQuadrilateral::LowerDimensionSides ( int  side,
TPZStack< int > &  smallsides,
int  DimTarget 
)
static

Get all sides with lower dimension but equal to DimTarget on side.

Definition at line 305 of file tpzquadrilateral.cpp.

References TPZStack< T, NumExtAlloc >::Push(), and TPZManVector< T, NumExtAlloc >::Resize().

◆ MapToSide()

template<class T >
template void pztopology::TPZQuadrilateral::MapToSide< REAL > ( int  side,
TPZVec< T > &  InternalPar,
TPZVec< T > &  SidePar,
TPZFMatrix< T > &  JacToSide 
)
static

◆ NBilinearSides()

int pztopology::TPZQuadrilateral::NBilinearSides ( )
static

Returns the number of bilinear sides to this shape. Needed to compute the number shapefunctions( NConnectShapeF )

Definition at line 281 of file tpzquadrilateral.cpp.

Referenced by RefElVolume().

◆ NContainedSides()

int pztopology::TPZQuadrilateral::NContainedSides ( int  side)
static

return the number of sides contained in the closure of a side

Definition at line 541 of file tpzquadrilateral.cpp.

References PZError.

Referenced by NumSides().

◆ NSideNodes()

int pztopology::TPZQuadrilateral::NSideNodes ( int  side)
static

return the number of vertices (not connectivities) associated with a side

Definition at line 38 of file tpzquadrilateral.cpp.

Referenced by PYBIND11_MODULE(), and ~TPZQuadrilateral().

◆ NumSides() [1/2]

static int pztopology::TPZQuadrilateral::NumSides ( )
inlinestatic

Returns number of sides of the element (9)

Definition at line 80 of file tpzquadrilateral.h.

References ContainedSideLocId(), dimension, NContainedSides(), and NSides.

Referenced by PYBIND11_MODULE().

◆ NumSides() [2/2]

int pztopology::TPZQuadrilateral::NumSides ( int  dimension)
static

return the number of sides of a given dimension

Definition at line 551 of file tpzquadrilateral.cpp.

References PZError.

◆ ParametricDomainNodeCoord()

void pztopology::TPZQuadrilateral::ParametricDomainNodeCoord ( int  node,
TPZVec< REAL > &  nodeCoord 
)
static

Definition at line 427 of file tpzquadrilateral.cpp.

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

Referenced by Shape().

◆ RandomPoint()

void pztopology::TPZQuadrilateral::RandomPoint ( TPZVec< REAL > &  pt)
static

Generates a random point in the master domain.

Definition at line 396 of file tpzquadrilateral.cpp.

References val().

Referenced by Shape().

◆ Read()

void pztopology::TPZQuadrilateral::Read ( TPZStream buf,
void *  context 
)
overridevirtual

read objects from the stream

Reimplemented from TPZSavable.

Reimplemented in pzgeom::TPZNodeRep< 8, pztopology::TPZQuadrilateral >, and pzgeom::TPZNodeRep< 4, pztopology::TPZQuadrilateral >.

Definition at line 1292 of file tpzquadrilateral.cpp.

◆ RefElVolume()

static constexpr REAL pztopology::TPZQuadrilateral::RefElVolume ( )
inlinestatic

◆ SetHdivType()

void pztopology::TPZQuadrilateral::SetHdivType ( EHdivType  val)
static

Definition at line 153 of file tpzquadrilateral.cpp.

References DebugStop.

◆ Shape()

static void pztopology::TPZQuadrilateral::Shape ( TPZVec< REAL > &  loc,
TPZFMatrix< REAL > &  phi,
TPZFMatrix< REAL > &  dphi 
)
inlinestatic

◆ SideDimension()

int pztopology::TPZQuadrilateral::SideDimension ( int  side)
static

returns the dimension of the side

Definition at line 533 of file tpzquadrilateral.cpp.

References PZError.

Referenced by pzrefine::TPZRefQuad::GetTransform(), PYBIND11_MODULE(), and ~TPZQuadrilateral().

◆ SideNodeLocId()

int pztopology::TPZQuadrilateral::SideNodeLocId ( int  side,
int  node 
)
static

returns the local node number of the node "node" along side "side"

Definition at line 286 of file tpzquadrilateral.cpp.

References PZError.

Referenced by PYBIND11_MODULE(), and ~TPZQuadrilateral().

◆ SideToSideTransform()

TPZTransform pztopology::TPZQuadrilateral::SideToSideTransform ( int  sidefrom,
int  sideto 
)
static

returns the transformation which takes a point from the side sidefrom to the side sideto

Parameters
sidefromside where the point resides
sidetoside whose closure contains sidefrom
See also
the class TPZTransform

Definition at line 492 of file tpzquadrilateral.cpp.

References TPZTransform< T >::Mult(), PZError, and TPZTransform< T >::Sum().

Referenced by MapToSide(), PYBIND11_MODULE(), and Shape().

◆ TransformElementToSide()

TPZTransform pztopology::TPZQuadrilateral::TransformElementToSide ( int  side)
static

Returns the transformation which transform a point from the interior of the element to the side.

Parameters
sideSide to which the point will be tranformed (0<=side<=8)
Returns
TPZTransform<> object

Definition at line 346 of file tpzquadrilateral.cpp.

References TPZTransform< T >::Mult(), PZError, TPZTransform< T >::Sum(), and TPZFMatrix< TVar >::Zero().

Referenced by PYBIND11_MODULE(), and Shape().

◆ TransformSideToElement()

TPZTransform pztopology::TPZQuadrilateral::TransformSideToElement ( int  side)
static

Returns the transformation which transform a point from the side to the interior of the element.

Parameters
sideSide from which the point will be tranformed (0<=side<=2)
Returns
TPZTransform<> object

Definition at line 588 of file tpzquadrilateral.cpp.

References TPZTransform< T >::Mult(), PZError, TPZTransform< T >::Sum(), and TPZFMatrix< TVar >::Zero().

Referenced by PYBIND11_MODULE(), and Shape().

◆ TShape()

template<class T >
template void pztopology::TPZQuadrilateral::TShape< REAL > ( const TPZVec< T > &  loc,
TPZFMatrix< T > &  phi,
TPZFMatrix< T > &  dphi 
)
inlinestatic

Compute the shape being used to construct the x mapping from local parametric coordinates.

Definition at line 202 of file tpzquadrilateral.cpp.

Referenced by GetSideShapeFunction(), pzgeom::TPZGeoQuad::GradX(), ProjectBissectionInParametricDomain(), Shape(), and pzgeom::TPZGeoQuad::X().

◆ Type() [1/2]

MElementType pztopology::TPZQuadrilateral::Type ( )
static

Returns the type of the element as specified in file pzeltype.h.

Definition at line 467 of file tpzquadrilateral.cpp.

References EQuadrilateral.

Referenced by Shape().

◆ Type() [2/2]

MElementType pztopology::TPZQuadrilateral::Type ( int  side)
static

Returns the type of the element side as specified in file pzeltype.h.

Definition at line 472 of file tpzquadrilateral.cpp.

References ENoType, EOned, EPoint, and EQuadrilateral.

◆ Write()

void pztopology::TPZQuadrilateral::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 pzgeom::TPZNodeRep< 8, pztopology::TPZQuadrilateral >, and pzgeom::TPZNodeRep< 4, pztopology::TPZQuadrilateral >.

Definition at line 1296 of file tpzquadrilateral.cpp.

Friends And Related Function Documentation

◆ pztopology::GetPermutation

void pztopology::GetPermutation ( const int  permute,
TPZVec< int > &  permutation 
)
friend

Member Data Documentation

◆ FaceNodes

int pztopology::TPZQuadrilateral::FaceNodes
staticprotected

Definition at line 297 of file tpzquadrilateral.h.

◆ fPermutations

int pztopology::TPZQuadrilateral::fPermutations
staticprotected

Valid permutations between nodes.

Definition at line 295 of file tpzquadrilateral.h.

◆ fTangentVectors

REAL pztopology::TPZQuadrilateral::fTangentVectors
staticprotected

Definition at line 296 of file tpzquadrilateral.h.

◆ SideNodes

int pztopology::TPZQuadrilateral::SideNodes
staticprotected

Definition at line 298 of file tpzquadrilateral.h.


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