NeoPZ
tpzquadratictetra.h
Go to the documentation of this file.
1 
6 #ifndef TPZQUADRATICTETRA_H
7 #define TPZQUADRATICTETRA_H
8 
9 #include "pzgeotetrahedra.h"
10 #include "pzgeoel.h"
11 #include "pznoderep.h"
12 
13 #include <iostream>
14 
15 namespace pzgeom {
16 
23  class TPZQuadraticTetra : public pzgeom::TPZNodeRep<10,pztopology::TPZTetrahedron> {
24 
25  public:
28  enum {NNodes = 10};
29 
30  public:
31 int ClassId() const override;
32 
33 
34  //virtual void ParametricDomainNodeCoord(int node, TPZVec<REAL> &nodeCoord);
35 
37  static bool IsLinearMapping(int side)
38  {
39  return false;
40  }
45  }
49  }
51  TPZQuadraticTetra(const TPZQuadraticTetra &cp,std::map<int64_t,int64_t> & gl2lcNdMap) : TPZRegisterClassId(&TPZQuadraticTetra::ClassId),
53  }
58  }
62  }
64  virtual ~TPZQuadraticTetra();
65 
67  static std::string TypeName() {
68  return "Tetra";
69  }
70 
76  // static TPZGeoEl * CreateBCGeoEl(TPZGeoEl *orig,int side,int bc);
77 
79  static void Shape(TPZVec<REAL> &loc,TPZFMatrix<REAL> &phi,TPZFMatrix<REAL> &dphi){
80  TShape(loc, phi, dphi);
81  }
82 
83 
84  template<class T>
85  static void TShape(const TPZVec<T> &param,TPZFMatrix<T> &phi,TPZFMatrix<T> &dphi);
86 
87  template<class T>
88  static void X(const TPZFMatrix<REAL> &coord, TPZVec<T> &par, TPZVec< T > &result);
89 
91  template<class T>
92  static void GradX(const TPZFMatrix<REAL> &nodes,TPZVec<T> &loc, TPZFMatrix<T> &gradx);
93 
94  public:
96  // static TPZGeoEl *CreateGeoElement(TPZGeoMesh &mesh, MElementType type,
97  // TPZVec<int64_t>& nodeindexes,
98  // int matid,
99  // int64_t& index);
100  static void InsertExampleElement(TPZGeoMesh &gmesh, int matid, TPZVec<REAL> &lowercorner, TPZVec<REAL> &size);
101  };
102 
103 };
104 
105 #endif
virtual ~TPZQuadraticTetra()
Destructor.
static bool IsLinearMapping(int side)
It is quadratic mapping.
static void X(const TPZFMatrix< REAL > &coord, TPZVec< T > &par, TPZVec< T > &result)
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.
TPZQuadraticTetra(const TPZQuadraticTetra &cp, TPZGeoMesh &)
Copy constructor.
int ClassId() const override
Define the class id associated with the class.
static void TShape(const TPZVec< T > &param, TPZFMatrix< T > &phi, TPZFMatrix< T > &dphi)
TPZQuadraticTetra(const TPZQuadraticTetra &cp)
Copy constructor.
Groups all classes defining the structure of the master element.
Definition: PrismExtend.cpp:15
pztopology::TPZTetrahedron Top
Contains the TPZGeoTetrahedra class which implements the geometry of a tetrahedral element...
Defines a tetrahedral geometric element with quadratic map. Geometry.
Contains the TPZNodeRep class which implements ... Clase intermediaria que guarda.
static std::string TypeName()
Returns the type name of the element.
Implements ... Geometry Topology.
Definition: pznoderep.h:40
TPZQuadraticTetra(const TPZQuadraticTetra &cp, std::map< int64_t, int64_t > &gl2lcNdMap)
Constructor for node map given.
static void InsertExampleElement(TPZGeoMesh &gmesh, int matid, TPZVec< REAL > &lowercorner, TPZVec< REAL > &size)
Creates a geometric element according to the type of the father element.
TPZQuadraticTetra(TPZVec< int64_t > &nodeindexes)
Constructor for node indexes given.
Defines the topology of the tetrahedron element. Topology Sides 0 to 3 are vertices, sides 4 to 9 are lines, sides 10 to 13 are triangles and side 14 is the tetrahedra.
This class implements a geometric mesh for the pz environment. Geometry.
Definition: pzgmesh.h:48
TPZQuadraticTetra()
Default constructor.
Groups all classes which model the geometry.
Definition: pzgeopoint.cpp:18
TPZTetrahedron()
Default constructor.
static void Shape(TPZVec< REAL > &loc, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi)
Method which creates a geometric boundary condition element based on the current geometric element...