NeoPZ
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
pzgeom::TPZQuadTorus Class Reference

#include <TPZQuadTorus.h>

Inheritance diagram for pzgeom::TPZQuadTorus:
[legend]
Collaboration diagram for pzgeom::TPZQuadTorus:
[legend]

Public Member Functions

int ClassId () const override
 Creates a geometric element according to the type of the father element. More...
 
 TPZQuadTorus (TPZVec< int64_t > &nodeindexes)
 Constructor with list of nodes. More...
 
 TPZQuadTorus ()
 Empty constructor. More...
 
 TPZQuadTorus (const TPZQuadTorus &cp, std::map< int64_t, int64_t > &gl2lcNdMap)
 Constructor with node map. More...
 
 TPZQuadTorus (const TPZQuadTorus &cp)
 Copy constructor. More...
 
 TPZQuadTorus (const TPZQuadTorus &cp, TPZGeoMesh &)
 Copy constructor. More...
 
TPZQuadTorusoperator= (const TPZQuadTorus &cp)
 
void SetDataPhiTheta (const TPZFMatrix< REAL > &phitheta)
 
void SetDataRadius (const REAL &R, const REAL &r)
 
void SetOrigin (TPZVec< REAL > &origin)
 
template<class T >
void GradX (TPZFMatrix< REAL > &cornerco, TPZVec< T > &par, TPZFMatrix< T > &gradx) const
 
template<class T >
void X (const TPZFMatrix< REAL > &nodes, TPZVec< T > &loc, TPZVec< T > &result) const
 
void Read (TPZStream &buf, void *context) override
 Creates a geometric element according to the type of the father element. More...
 
void Write (TPZStream &buf, int withclassid) const override
 Writes this object to the TPZStream buffer. Include the classid if withclassid = true. More...
 
- Public Member Functions inherited from pzgeom::TPZGeoQuad
 TPZGeoQuad (TPZVec< int64_t > &nodeindexes)
 Constructor with list of nodes. More...
 
 TPZGeoQuad ()
 Empty constructor. More...
 
 TPZGeoQuad (const TPZGeoQuad &cp, std::map< int64_t, int64_t > &gl2lcNdMap)
 Constructor with node map. More...
 
 TPZGeoQuad (const TPZGeoQuad &cp)
 Copy constructor. More...
 
 TPZGeoQuad (const TPZGeoQuad &cp, TPZGeoMesh &)
 Copy constructor. More...
 
- Public Member Functions inherited from pzgeom::TPZNodeRep< 4, pztopology::TPZQuadrilateral >
virtual void SetNeighbourInfo (int side, TPZGeoElSide &neigh, TPZTransform<> &trans)
 
bool IsLinearMapping () const
 
bool IsGeoBlendEl () const
 
bool ResetBlendConnectivity (const int64_t &side, const int64_t &index)
 
 TPZNodeRep (TPZVec< int64_t > &nodeindexes)
 Constructor with list of nodes. More...
 
 TPZNodeRep ()
 Empty constructor. More...
 
 TPZNodeRep (const TPZNodeRep &cp, std::map< int64_t, int64_t > &gl2lcNdMap)
 Constructor with node map. More...
 
 TPZNodeRep (const TPZNodeRep< N, pztopology::TPZQuadrilateral > &cp)
 Copy constructor. More...
 
void Read (TPZStream &buf, void *context) override
 
void Write (TPZStream &buf, int withclassid) const override
 
void Initialize (TPZVec< int64_t > &nodeindexes)
 
void Initialize (TPZGeoEl *)
 
void Print (std::ostream &out) const
 
int ClassId () const override
 
- Public Member Functions inherited from pztopology::TPZQuadrilateral
 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 std::string TypeName ()
 Returns the type name of the element. More...
 
static void InsertExampleElement (TPZGeoMesh &gmesh, int matid, TPZVec< REAL > &lowercorner, TPZVec< REAL > &size)
 
- Static Public Member Functions inherited from pzgeom::TPZGeoQuad
static bool IsLinearMapping (int side)
 
static std::string TypeName ()
 Returns the type name of the element. More...
 
template<class T >
static void X (const TPZFMatrix< REAL > &nodes, TPZVec< T > &loc, TPZVec< T > &x)
 Compute x mapping from element nodes and local parametric coordinates. More...
 
template<class T >
static void GradX (const TPZFMatrix< REAL > &nodes, TPZVec< T > &loc, TPZFMatrix< T > &gradx)
 Compute gradient of x mapping from element nodes and local parametric coordinates. More...
 
static void VectorialProduct (TPZVec< REAL > &v1, TPZVec< REAL > &v2, TPZVec< REAL > &result)
 Method which creates a geometric boundary condition element based on the current geometric element,
a side and a boundary condition number. More...
 
static void ComputeNormal (TPZVec< REAL > &p1, TPZVec< REAL > &p2, TPZVec< REAL > &p3, TPZVec< REAL > &result)
 Computes normal vector to plane determinated by three points. More...
 
static void InsertExampleElement (TPZGeoMesh &gmesh, int matid, TPZVec< REAL > &lowercorner, TPZVec< REAL > &size)
 create an example element based on the topology More...
 
- Static Public Member Functions inherited from pztopology::TPZQuadrilateral
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)
 
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)
 
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)
 
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...
 
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 TPZIntPointsCreateSideIntegrationRule (int side, int order)
 Create an integration rule over side. 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)
 

Private Attributes

REAL fR
 
REAL fr
 
TPZManVector< REAL > fOrigin
 
TPZFNMatrix< 12, REAL > fPhiTheta
 

Additional Inherited Members

- Public Types inherited from pzgeom::TPZGeoQuad
enum  { NNodes }
 Number of corner nodes. More...
 
typedef pztopology::TPZQuadrilateral Top
 
- Public Types inherited from pztopology::TPZQuadrilateral
enum  {
  NSides, NCornerNodes, Dimension, NFaces,
  NPermutations
}
 Enumerate for topological characteristics. More...
 
enum  EHdivType { HdivConform, HdivFull }
 
typedef TPZIntQuad IntruleType
 Typedef to numerical integration rule. More...
 
typedef TPZGraphElQ2dd GraphElType
 Typedef to graphical element type. More...
 
- Public Attributes inherited from pzgeom::TPZNodeRep< 4, pztopology::TPZQuadrilateral >
int64_t fNodeIndexes [N]
 Node indexes of the element. More...
 
- Static Public Attributes inherited from pzgeom::TPZNodeRep< 4, pztopology::TPZQuadrilateral >
static const int NNodes
 
- Static Protected Attributes inherited from pztopology::TPZQuadrilateral
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]
 

Detailed Description

Definition at line 17 of file TPZQuadTorus.h.

Constructor & Destructor Documentation

◆ TPZQuadTorus() [1/5]

pzgeom::TPZQuadTorus::TPZQuadTorus ( TPZVec< int64_t > &  nodeindexes)
inline

Constructor with list of nodes.

Definition at line 34 of file TPZQuadTorus.h.

◆ TPZQuadTorus() [2/5]

pzgeom::TPZQuadTorus::TPZQuadTorus ( )
inline

Empty constructor.

Definition at line 39 of file TPZQuadTorus.h.

◆ TPZQuadTorus() [3/5]

pzgeom::TPZQuadTorus::TPZQuadTorus ( const TPZQuadTorus cp,
std::map< int64_t, int64_t > &  gl2lcNdMap 
)
inline

Constructor with node map.

Definition at line 44 of file TPZQuadTorus.h.

◆ TPZQuadTorus() [4/5]

pzgeom::TPZQuadTorus::TPZQuadTorus ( const TPZQuadTorus cp)
inline

Copy constructor.

Definition at line 50 of file TPZQuadTorus.h.

◆ TPZQuadTorus() [5/5]

pzgeom::TPZQuadTorus::TPZQuadTorus ( const TPZQuadTorus cp,
TPZGeoMesh  
)
inline

Copy constructor.

Definition at line 55 of file TPZQuadTorus.h.

Member Function Documentation

◆ ClassId()

int pzgeom::TPZQuadTorus::ClassId ( ) const
overridevirtual

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

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

Reimplemented from pzgeom::TPZGeoQuad.

Definition at line 131 of file TPZQuadTorus.cpp.

References pzgeom::TPZGeoQuad::ClassId(), and Hash().

◆ GradX()

template<class T >
void pzgeom::TPZQuadTorus::GradX ( TPZFMatrix< REAL > &  cornerco,
TPZVec< T > &  par,
TPZFMatrix< T > &  gradx 
) const
inline

Definition at line 102 of file TPZQuadTorus.h.

References cos(), pzgeom::TPZGeoQuad::GradX(), sin, and pzgeom::TPZGeoQuad::X().

◆ InsertExampleElement()

void pzgeom::TPZQuadTorus::InsertExampleElement ( TPZGeoMesh gmesh,
int  matid,
TPZVec< REAL > &  lowercorner,
TPZVec< REAL > &  size 
)
static

◆ operator=()

TPZQuadTorus& pzgeom::TPZQuadTorus::operator= ( const TPZQuadTorus cp)
inline

Definition at line 59 of file TPZQuadTorus.h.

References fOrigin, fPhiTheta, fR, and fr.

◆ Read()

void pzgeom::TPZQuadTorus::Read ( TPZStream buf,
void *  context 
)
inlineoverridevirtual

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

Reimplemented from pzgeom::TPZGeoQuad.

Definition at line 145 of file TPZQuadTorus.h.

References pzgeom::TPZGeoQuad::Read().

◆ SetDataPhiTheta()

void pzgeom::TPZQuadTorus::SetDataPhiTheta ( const TPZFMatrix< REAL > &  phitheta)
inline

Definition at line 69 of file TPZQuadTorus.h.

References TPZMatrix< TVar >::Cols(), DebugStop, and TPZMatrix< TVar >::Rows().

Referenced by InsertExampleElement().

◆ SetDataRadius()

void pzgeom::TPZQuadTorus::SetDataRadius ( const REAL &  R,
const REAL &  r 
)
inline

Definition at line 79 of file TPZQuadTorus.h.

References DebugStop.

Referenced by InsertExampleElement().

◆ SetOrigin()

void pzgeom::TPZQuadTorus::SetOrigin ( TPZVec< REAL > &  origin)
inline

Definition at line 91 of file TPZQuadTorus.h.

Referenced by InsertExampleElement().

◆ TypeName()

static std::string pzgeom::TPZQuadTorus::TypeName ( )
inlinestatic

Returns the type name of the element.

Definition at line 97 of file TPZQuadTorus.h.

◆ Write()

void pzgeom::TPZQuadTorus::Write ( TPZStream buf,
int  withclassid 
) const
inlineoverridevirtual

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 pzgeom::TPZGeoQuad.

Definition at line 150 of file TPZQuadTorus.h.

References InsertExampleElement(), and pzgeom::TPZGeoQuad::Write().

◆ X()

template<class T >
void pzgeom::TPZQuadTorus::X ( const TPZFMatrix< REAL > &  nodes,
TPZVec< T > &  loc,
TPZVec< T > &  result 
) const
inline

Definition at line 125 of file TPZQuadTorus.h.

References cos(), sin, and pzgeom::TPZGeoQuad::X().

Referenced by InsertExampleElement().

Member Data Documentation

◆ fOrigin

TPZManVector<REAL> pzgeom::TPZQuadTorus::fOrigin
private

Definition at line 24 of file TPZQuadTorus.h.

Referenced by operator=().

◆ fPhiTheta

TPZFNMatrix<12,REAL> pzgeom::TPZQuadTorus::fPhiTheta
private

Definition at line 26 of file TPZQuadTorus.h.

Referenced by operator=().

◆ fR

REAL pzgeom::TPZQuadTorus::fR
private

Definition at line 21 of file TPZQuadTorus.h.

Referenced by operator=().

◆ fr

REAL pzgeom::TPZQuadTorus::fr
private

Definition at line 22 of file TPZQuadTorus.h.

Referenced by operator=().


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