70 static std::string
TypeName() {
return "Prism";}
120 int space = nodes.
Rows();
122 for(
int i = 0; i < space; i++) {
124 for(
int j = 0; j < 6; j++) {
125 x[i] += phi(j,0)*nodes.
GetVal(i,j);
136 int nrow = nodes.
Rows();
137 int ncol = nodes.
Cols();
139 if(nrow != 3 || ncol != 6){
140 std::cout <<
"Objects of incompatible lengths, gradient cannot be computed." << std::endl;
141 std::cout <<
"nodes matrix must be 3x6." << std::endl;
149 for(
int i = 0; i < 6; i++)
151 for(
int j = 0; j < 3; j++)
153 gradx(j,0) += nodes.
GetVal(j,i)*dphi(0,i);
154 gradx(j,1) += nodes.
GetVal(j,i)*dphi(1,i);
155 gradx(j,2) += nodes.
GetVal(j,i)*dphi(2,i);
int ClassId() const override
Method which creates a geometric boundary condition element based on the current geometric element...
TPZGeoPrism(const TPZGeoPrism &cp)
Copy constructor.
static void X(const TPZFMatrix< REAL > &nodes, TPZVec< T > &loc, TPZVec< T > &x)
Compute x mapping from element nodes and local parametric coordinates.
Templated vector implementation.
static std::string TypeName()
Returns the type name of the element.
Defines enum MElementType and contains the implementation of MElementType_NNodes(...) functions.
static bool IsLinearMapping(int side)
TPZGeoPrism(const TPZGeoPrism &cp, std::map< int64_t, int64_t > &gl2lcNdMap)
Constructor with node map.
int Zero() override
Makes Zero all the elements.
void Write(TPZStream &buf, int withclassid) const override
Writes this object to the TPZStream buffer. Include the classid if withclassid = true.
Groups all classes defining the structure of the master element.
Defines the behaviour of all geometric elements. GeometryTPZGeoEl is the common denominator for all g...
static void InsertExampleElement(TPZGeoMesh &gmesh, int matid, TPZVec< REAL > &lowercorner, TPZVec< REAL > &size)
create an example element based on the topology
TPZGeoPrism(const TPZGeoPrism &cp, TPZGeoMesh &)
Copy constructor.
Contains TPZMatrixclass which implements full matrix (using column major representation).
#define DebugStop()
Returns a message to user put a breakpoint in.
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.
int64_t Rows() const
Returns number of rows.
Contains the TPZNodeRep class which implements ... Clase intermediaria que guarda.
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.
Defines the topology of a Prism. Topology Sides 0 to 7 are vertices, sides 7 to 14 are lines...
Implements ... Geometry Topology.
TPZGeoPrism(TPZVec< int64_t > &nodeindexes)
Constructor with list of nodes.
void Read(TPZStream &buf, void *context) override
read objects from the stream
This class implements a geometric mesh for the pz environment. Geometry.
Implements the geometry of a prism element. Geometry.
int64_t Cols() const
Returns number of cols.
int Resize(const int64_t newRows, const int64_t wCols) override
Redimension a matrix, but maintain your elements.
Defines the interface for saving and reading data. Persistency.
Groups all classes which model the geometry.
TPZGeoPrism()
Empty constructor.
Contains the TPZPrism class which defines the topology of a Prism.
const TVar & GetVal(const int64_t row, const int64_t col) const override
Get values without bounds checking This method is faster than "Get" if DEBUG is defined.
Non abstract class which implements full matrices with preallocated storage with (N+1) entries...
TPZPrism()
Default constructor.