6 #ifndef PZTOPOLOGYTPZPYRAMID_H 7 #define PZTOPOLOGYTPZPYRAMID_H 37 friend void pztopology::GetPermutation<TPZPyramid>(
const int permute,
TPZVec<int> &permutation);
120 for(
int i = 0; i < pt.
size(); i++) xi[i]= pt[i].
val();
235 template <
class TVar>
239 template <
class TVar>
static int FaceNodes[5][4]
Nodes over quadrilateral sides (2d - faces).
Defines the topology of a Pyramid element. Topology Sides 0 to 4 are vertices, sides 5 to 12 are line...
TPZPyramid()
Default constructor.
static void GetSideHDivDirections(TPZVec< int > &sides, TPZVec< int > &dir, TPZVec< int > &bilinearounao)
static int bilinearounao[81]
static int fPermutations[8][19]
Valid permutations between nodes.
static TPZTransform SideToSideTransform(int sidefrom, int sideto)
Returns the transformation which takes a point from the side sidefrom to the side sideto...
Contains the TPZInt1d, TPZIntTriang, TPZIntQuad, TPZIntCube3D, TPZIntTetra3D, TPZIntPyram3D and TPZIn...
static int ShapeFaceId[5][4]
Ids of the shape face.
static int ContainedSideLocId(int side, int c)
Returns the local connect number of the connect "c" along side "side".
static bool IsInParametricDomain(const TPZVec< REAL > &pt, REAL tol=pztopology::gTolerance)
Verifies if the parametric point pt is in the element parametric domain.
static constexpr REAL RefElVolume()
Volume of the master element.
clarg::argInt dimension("-d", "Matrices dimension M x M", 1000)
static void BlendFactorForSide(const int &side, const TPZVec< T > &xi, T &blendFactor, TPZVec< T > &corrFactorDxi)
static int NSideNodes(int side)
Returns the number of nodes (not connectivities) associated with a side.
static void HigherDimensionSides(int side, TPZStack< int > &high)
Returns all sides whose closure contains side.
static void LowerDimensionSides(int side, TPZStack< int > &smallsides)
Get all sides with lower dimension on side.
static void MapToSide(int side, TPZVec< T > &InternalPar, TPZVec< T > &SidePar, TPZFMatrix< T > &JacToSide)
void Read(TPZStream &buf, void *context) override
read objects from the stream
Implements the graphical element for a pyramid using a map to the cube element. Post processing...
Defines enum MElementType and contains the implementation of MElementType_NNodes(...) functions.
REAL val(STATE &number)
Returns value of the variable.
Handles the numerical integration for three-dimensional problems using pyramid elements. Numerical Integration.
static void RandomPoint(TPZVec< REAL > &pt)
Generates a random point in the master domain.
Abstract class defining integration rules. Numerical Integration.
int64_t size() const
Returns the number of elements of the vector.
static void ParametricDomainNodeCoord(int node, TPZVec< REAL > &nodeCoord)
Groups all classes defining the structure of the master element.
void Write(TPZStream &buf, int withclassid) const override
Writes this object to the TPZStream buffer. Include the classid if withclassid = true.
static void AdjustTopDirections(int ConstrainedFace, TPZFMatrix< TVar > &gradx, TPZFMatrix< TVar > &directions)
Adjust the directions associated with the tip of the pyramid, considering that one of the faces is co...
static bool CheckProjectionForSingularity(const int &side, const TPZVec< T > &xiInterior)
Defines the behaviour of all geometric elements. GeometryTPZGeoEl is the common denominator for all g...
Contains TPZMatrixclass which implements full matrix (using column major representation).
#define DebugStop()
Returns a message to user put a breakpoint in.
static void CornerShape(const TPZVec< REAL > &pt, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi)
Computes the corner shape functions of the element.
virtual ~TPZPyramid()
Default destructor.
static int SideDimension(int side)
Returns the dimension of the side.
int ClassId() const override
Define the class id associated with the class.
static int SideNodes[8][2]
Nodes over lines sides (1d)
static int NContainedSides(int side)
Returns the number of nodes (not connectivities) associated with a side.
static int GetTransformId(TPZVec< int64_t > &id)
Method which identifies the transformation based on the IDs of the corner nodes.
static void CenterPoint(int side, TPZVec< REAL > ¢er)
Returns the barycentric coordinates in the master element space of the original element.
static int NBilinearSides()
static MElementType Type()
Returns the type of the element as specified in file pzeltype.h.
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.
static int SideNodeLocId(int side, int node)
Returns the local node number of the node "node" along side "side".
static void ComputeHDivDirections(TPZFMatrix< TVar > &gradx, TPZFMatrix< TVar > &directions)
Compute the directions of the HDiv vectors.
MElementType
Define the element types.
static TPZIntPoints * CreateSideIntegrationRule(int side, int order)
Create an integration rule over side.
static TPZTransform TransformElementToSide(int side)
Returns the transformation which projects a point from the interior of the element to the side...
Implements computational mesh. Computational Mesh.
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.
TPZIntPyram3D IntruleType
Typedef to numerical integration rule.
Defines the interface for saving and reading data. Persistency.
TPZGraphElPyramidMapped GraphElType
Typedef to graphical element type.
static int NumSides()
Number of connects of the element (21)
static TPZTransform TransformSideToElement(int side)
Returns the transformation which transform a point from the side to the interior of the element...
This class defines the interface to save and restore objects from TPZStream objects. Persistency.
Defines the interface of a computational element. Computational Element.
static void ComputeDirections(int side, TPZFMatrix< REAL > &gradx, TPZFMatrix< REAL > &directions, TPZVec< int > &sidevectors)
static void GetSideHDivPermutation(int transformationid, TPZVec< int > &permgather)
Identifies the permutation of the nodes needed to make neighbouring elements compatible in terms of o...