40 cornerindexes[0]=np[0];
50 for(sub=0;sub<NSubEl;sub++) {
52 SubElVec[sub]->SetFather(geo);
53 SubElVec[sub]->SetFatherIndex(geo->
Index());
58 void TPZRefPoint::MidSideNodeIndex(
const TPZGeoEl *gel,
int side,int64_t &index){
61 PZError <<
"TPZRefCube::MidSideNodeIndex. Bad parameter side = " << side << endl;
66 index = (gel)->NodeIndex(side);
77 void TPZRefPoint::NewMidSideNode(
TPZGeoEl *gel,
int side,int64_t &index) {
79 MidSideNodeIndex(gel,side,index);
83 while(gelside.
Element() != gel) {
108 PZError <<
"TPZRefPoint::GetSubElements called with bad arguments\n";
111 int nsub = NSideSubElements(side);
112 for(
int i=0;i<
nsub;i++)
116 int TPZRefPoint::NSideSubElements(
int side) {
117 if(side<0 || side>1){
118 PZError <<
"TPZRefPoint::NSideSubelements called with error arguments\n";
121 return nsubeldata[side];
128 int TPZRefPoint::FatherSide(
int side,
int whichsubel) {
129 if(side<0 || side>1){
130 PZError <<
"TPZRefPoint::FatherSide called error" << endl;
136 int TPZRefPoint::ClassId()
const{
137 return Hash(
"TPZRefPoint");
int MaterialId() const
Returns the material index of the element.
virtual TPZGeoEl * CreateGeoElement(MElementType type, TPZVec< int64_t > &cornerindexes, int matid, int64_t &index, int reftype=1)
Generic method for creating a geometric element. Putting this method centrally facilitates the modifi...
clarg::argInt nsub("-nsub", "number of substructs", 4)
Utility class which represents an element with its side. The Geometric approximation classes Geometry...
This class implements a simple vector storage scheme for a templated class T. Utility.
TPZGeoElSide Neighbour() const
TPZGeoMesh * Mesh() const
Returns the mesh to which the element belongs.
virtual int64_t NodeIndex(int i) const =0
Returns the index of the ith node the index is the location of the node in the nodevector of the mesh...
Contains TPZShapeLinear class which implements the shape functions of a linear one-dimensional elemen...
virtual TPZGeoEl * SubElement(int is) const =0
Returns a pointer to the subelement is.
virtual void Resize(const int64_t newsize, const T &object)
Resizes the vector object reallocating the necessary storage, copying the existing objects to the new...
Contains declaration of TPZMesh class which defines a geometrical mesh and contains a corresponding l...
void Push(const T object)
Pushes a copy of the object on the stack.
Defines the behaviour of all geometric elements. GeometryTPZGeoEl is the common denominator for all g...
int64_t Index() const
Returns the index of the element within the element vector of the mesh.
static int subeldata[1][1][2]
Groups all classes which model the h refinement These classes are used as template arguments of...
virtual TPZGeoElSide Neighbour(int side)=0
Returns a pointer to the neighbour and the neighbourside along side of the current element...
int32_t Hash(std::string str)
Contains the TPZGeoPoint class which implements the geometry of a point element or 0-D element...
virtual void SetSubElement(int i, TPZGeoEl *gel)=0
Sets the subelement of index i.
virtual int HasSubElement() const =0
Return 1 if the element has subelements.
TPZGeoEl * Element() const
This class implements a stack object. Utility.
Contains declaration of TPZGeoElement class which implements a generic geometric element with a unifo...
virtual void SetSubElementConnectivities()
Initializes the external connectivities of the subelements.
Contains the TPZRefPoint class which implements the uniform refinement of a geometric point element...
#define PZError
Defines the output device to error messages and the DebugStop() function.
virtual void MidSideNodeIndex(int side, int64_t &index) const =0
Returns the midside node index along a side of the element.