NeoPZ
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
pzgeom::TPZGeoPoint Class Reference

Implements the geometry of a point element. Geometry. More...

#include <pzgeopoint.h>

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

Classes

struct  TMem
 Auxiliar structure to accellerate computations. More...
 

Public Types

enum  { NNodes }
 
typedef pztopology::TPZPoint Top
 
- Public Types inherited from pztopology::TPZPoint
enum  {
  NCornerNodes, NSides, Dimension, NFaces,
  NPermutations
}
 Enumerate for topological characteristics. More...
 
typedef TPZInt1Point IntruleType
 Typedef to numerical integration rule. More...
 

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...
 
 TPZGeoPoint (TPZVec< int64_t > &nodeindexes)
 Constructor with list of nodes. More...
 
 TPZGeoPoint ()
 Empty constructor. More...
 
 TPZGeoPoint (const TPZGeoPoint &cp, std::map< int64_t, int64_t > &gl2lcNdMap)
 Constructor with node map. More...
 
 TPZGeoPoint (const TPZGeoPoint &cp)
 Copy constructor. More...
 
 TPZGeoPoint (const TPZGeoPoint &cp, TPZGeoMesh &)
 Copy constructor with given mesh. More...
 
- Public Member Functions inherited from pzgeom::TPZNodeRep< 1, pztopology::TPZPoint >
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::TPZPoint > &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::TPZPoint
 TPZPoint ()
 Default constructor. More...
 
virtual ~TPZPoint ()
 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 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 > &result)
 
template<class T >
static void GradX (const TPZFMatrix< REAL > &nodes, TPZVec< T > &loc, TPZFMatrix< T > &gradx)
 
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::TPZPoint
static void Shape (TPZVec< REAL > &loc, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi)
 
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...
 
static void GetSideHDivPermutation (int transformationid, 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 of the element) More...
 
static void ComputeDirections (int side, 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...
 
static int NBilinearSides ()
 
template<class T >
static void BlendFactorForSide (const int &side, const TPZVec< T > &xi, T &blendFactor, TPZVec< T > &corrFactorDxi)
 
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 targetdim)
 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)
 Returns the number of nodes (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 connects of the element ??? More...
 
static int NumSides (int dimension)
 Returns the number of connects for a set dimension // Jorge ??? More...
 
static int NContainedSides (int side)
 Returns the number of nodes (not connectivities) associated with a side // Jorge - sides or nodes??? More...
 
static int ContainedSideLocId (int side, int c)
 Returns the local connect number of the connect "c" along side "side". More...
 
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=1e-6)
 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)
 
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 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)
 

Additional Inherited Members

- Public Attributes inherited from pzgeom::TPZNodeRep< 1, pztopology::TPZPoint >
int64_t fNodeIndexes [N]
 Node indexes of the element. More...
 
- Static Public Attributes inherited from pzgeom::TPZNodeRep< 1, pztopology::TPZPoint >
static const int NNodes
 
- Static Protected Attributes inherited from pztopology::TPZPoint
static int fPermutations [1][1]
 Valid permutations between nodes. More...
 

Detailed Description

Implements the geometry of a point element. Geometry.

Definition at line 39 of file pzgeopoint.h.

Member Typedef Documentation

◆ Top

Definition at line 53 of file pzgeopoint.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
NNodes 

Definition at line 42 of file pzgeopoint.h.

Constructor & Destructor Documentation

◆ TPZGeoPoint() [1/5]

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

Constructor with list of nodes.

Definition at line 56 of file pzgeopoint.h.

◆ TPZGeoPoint() [2/5]

pzgeom::TPZGeoPoint::TPZGeoPoint ( )
inline

Empty constructor.

Definition at line 62 of file pzgeopoint.h.

◆ TPZGeoPoint() [3/5]

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

Constructor with node map.

Definition at line 67 of file pzgeopoint.h.

◆ TPZGeoPoint() [4/5]

pzgeom::TPZGeoPoint::TPZGeoPoint ( const TPZGeoPoint cp)
inline

Copy constructor.

Definition at line 74 of file pzgeopoint.h.

◆ TPZGeoPoint() [5/5]

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

Copy constructor with given mesh.

Definition at line 80 of file pzgeopoint.h.

Member Function Documentation

◆ ClassId()

int pzgeom::TPZGeoPoint::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.

Definition at line 70 of file pzgeopoint.cpp.

References Hash().

◆ GradX()

template<class T >
void pzgeom::TPZGeoPoint::GradX ( const TPZFMatrix< REAL > &  nodes,
TPZVec< T > &  loc,
TPZFMatrix< T > &  gradx 
)
inlinestatic

Definition at line 125 of file pzgeopoint.h.

References TPZFMatrix< TVar >::Resize().

Referenced by TypeName().

◆ InsertExampleElement()

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

create an example element based on the topology

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

Definition at line 49 of file pzgeopoint.cpp.

References TPZAdmChunkVector< T, EXP >::AllocateNewElement(), co, TPZGeoMesh::CreateGeoElement(), EPoint, and TPZGeoMesh::NodeVec().

Referenced by TypeName().

◆ IsLinearMapping()

static bool pzgeom::TPZGeoPoint::IsLinearMapping ( int  side)
inlinestatic

Definition at line 85 of file pzgeopoint.h.

◆ Read()

void pzgeom::TPZGeoPoint::Read ( TPZStream buf,
void *  context 
)
overridevirtual

read objects from the stream

Reimplemented from TPZSavable.

Definition at line 74 of file pzgeopoint.cpp.

◆ TypeName()

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

Returns the type name of the element.

Definition at line 91 of file pzgeopoint.h.

References GradX(), InsertExampleElement(), and X().

◆ Write()

void pzgeom::TPZGeoPoint::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.

Definition at line 78 of file pzgeopoint.cpp.

◆ X()

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

Definition at line 118 of file pzgeopoint.h.

References TPZFMatrix< TVar >::GetVal(), and TPZMatrix< TVar >::Rows().

Referenced by TypeName().


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