70 std::map<int64_t,int64_t> & gl2lcElMap);
93 virtual void Print(std::ostream &out = std::cout)
const override;
131 virtual int Dimension()
const override = 0;
137 virtual int NConnects()
const override = 0;
174 virtual void SetConnectIndex(
int i, int64_t connectindex)
override = 0;
177 std::cout <<
"TPZInterpolatedElement::SetIntegrationRule called\n";
318 void PRefine(
int order)
override;
void RecomputeRestraints(int side)
Will recompute the restraints of all connects which are restrained by this side.
void UpdateNeighbourSideOrder(int side, TPZVec< TPZCompElSide > &elvec)
Updates the interpolation order of all neighbouring elements along side to have side order equal to t...
virtual void SetConnectIndex(int i, int64_t connectindex) override=0
Sets the node pointer of node i to nod.
Implements computational element and a side. Computational Element.
Represents a set of shape functions associated with a computational element/side. Computational Eleme...
virtual void RestrainSide(int side, TPZInterpolatedElement *neighbour, int neighbourside)
Compute the shapefunction restraints which need to be applied to the shape functions on the side of t...
virtual int Dimension() const override=0
Returns the dimension of the element.
void Write(TPZStream &buf, int withclassid) const override
Saves the element data to a stream.
REAL MeanSolution(int var)
Returns total mass contained into the element.
Contains declaration of TPZCompEl class which defines the interface of a computational element...
int AdjustPreferredSideOrder(int side, int order)
Adjusts the preferredSideOrder for faces.
virtual void DeleteInterfaces()
virtual void Print(std::ostream &out=std::cout) const override
Prints the relevant data of the element to the output stream.
Contains declaration of TPZInterpolationSpace class which implements the interface for interpolated c...
virtual void RemoveSideRestraintsII(MInsertMode mode)
Delete the restraints on the nodes of the connected elements if necessary.
Definition of the retraint associated with the top of the pyramid.
virtual int64_t CreateMidSideConnect(int side)
Verify the neighbours of the element and create a node along this side.
virtual void ComputeSolution(TPZVec< REAL > &qsi, TPZSolVec &sol, TPZGradSolVec &dsol, TPZFMatrix< REAL > &axes) override
Computes solution and its derivatives in the local coordinate qsi.
virtual void BuildCornerConnectList(std::set< int64_t > &connectindexes) const override
adds the connect indexes associated with base shape functions to the set
Contains TPZBlockDiagonal class which defines block diagonal matrices.
virtual void ForceSideOrder(int side, int order)
Impose an interpolation order on a given side (without using computesideorder)
virtual int CanHaveInterface()
int NShapeF() const override
Returns the total number of shapefunctions.
void Read(TPZStream &buf, void *context) override
Reads the element data from a stream.
TPZConnect & SideConnect(int icon, int is)
Returns a pointer to the icon th connect object along side is.
void CalcIntegral(TPZElementMatrix &ef)
Computes the integral over the finite element.
virtual void SideShapeFunction(int side, TPZVec< REAL > &point, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi) override=0
Compute the values of the shape function along the side.
Abstract class defining integration rules. Numerical Integration.
virtual void IdentifySideOrder(int side)
Checks if the side order is consistent with the preferred side order and with the constraints and rec...
virtual ~TPZInterpolatedElement()
Destructor, does nothing.
virtual void GetInterpolationOrder(TPZVec< int > &ord)=0
Identifies the interpolation order of all connects of the element different from the corner connects...
void CheckConstraintConsistency()
Check the consistency of the constrained connects for all sides.
Defines the behaviour of all geometric elements. GeometryTPZGeoEl is the common denominator for all g...
virtual void AddShapeRestraint(TPZOneShapeRestraint restraint) override
Add a shape restraint (meant to fit the pyramid to restraint.
#define DebugStop()
Returns a message to user put a breakpoint in.
void Divide(int64_t index, TPZVec< int64_t > &sub, int interpolatesolution=0) override
Implement the refinement of an interpolated element.
virtual int SideConnectLocId(int icon, int is) const override=0
Returns the local node number of icon along is.
virtual TPZConnect & MidSideConnect(int is) const
Returns a reference to the connect in the middle of the side.
int CompareShapeF(int sides, int sidel, TPZFMatrix< REAL > &phis, TPZFMatrix< REAL > &dphis, TPZFMatrix< REAL > &phil, TPZFMatrix< REAL > &dphil, TPZTransform<> &transform)
Compare the shape functions of sides of an element.
bool VerifyConstraintConsistency(int side, TPZCompElSide large) const
return true if the connects associated with the side have dependency with large and if the dependency...
Contains declaration of TPZCompelDisc class which implements a computational element for discontinuou...
virtual int NConnects() const override=0
Returns the number of connect objects of the element.
virtual void SetInterface(int, int64_t)
To enable to work with discontinuous element that can have interface elements.
virtual int PreferredSideOrder(int iside)=0
Returns the preferred order of the polynomial along side iside.
virtual void SetCreateFunctions(TPZCompMesh *mesh) override
Set create function in TPZCompMesh to create elements of this type.
virtual int CheckElementConsistency()
Checks element data structure consistancy.
virtual void BuildTransferMatrix(TPZInterpolatedElement &coarsel, TPZTransform<> &t, TPZTransfer< STATE > &transfer)
Accumulates the transfer coefficients between the current element and the coarse element into the tra...
virtual TPZTransform TransformSideToElement(int side)=0
Returns the transformation which transform a point from the side to the interior of the element...
This class associates an element matrix with the coeficients of its contribution in the global stiffn...
Implements the interfaces for TPZCompElDisc, TPZInterfaceElement and TPZInterpolatedElement. Computational element.
virtual int EffectiveSideOrder(int side) const =0
Returns the actual interpolation order of the polynomial along the side.
virtual int NCornerConnects() const =0
Returns the number of corner connects of the element.
MInsertMode
Defines a flag indicating the state of creation/deletion of the element This has an impact on how con...
int NSideShapeF(int side) const
Returns the number of shape functions on a side.
virtual void SetPreferredOrder(int order) override=0
Sets the preferred interpolation order along a side.
virtual int NSideConnects(int iside) const override=0
Returns the number of dof nodes along side iside.
int64_t SideConnectIndex(int icon, int is) const
Returns the index of the c th connect object along side is.
Implements computational mesh. Computational Mesh.
virtual void RemoveSideRestraintWithRespectTo(int side, const TPZCompElSide &neighbour)
Removes the side restraints of the current element along side with respect to neighbour/side.
void PRefine(int order) override
Changes the interpolation order of a side. Updates all constraints and block sizes ...
virtual REAL CompareElement(int var, char *matname) override
Compare the L2 norm of the difference between the švarš solution of the current element with the švar...
Defines the interface for saving and reading data. Persistency.
virtual int Interface(int)
Implements rectangular matrix which extends a solution vector of the coarse mesh to a solution vector...
virtual void SetIntegrationRule(int order) override
int ClassId() const override
Define the class id associated with the class.
virtual void SetSideOrder(int side, int order)=0
Sets the interpolation order of side to order.
Implements computational element based on an interpolation space. Computational Element.
static int ComputeSideOrder(TPZVec< TPZCompElSide > &elementset)
Computes the minimum interpolation order of the elements contained in elementset this method is used ...
virtual int MidSideConnectLocId(int is) const
Returns the local id of the connect in the middle of the side.