7 #ifndef ELEMINTERFACEHH 8 #define ELEMINTERFACEHH 144 std::map<int64_t,int64_t> &gl2lcConIdx,
145 std::map<int64_t,int64_t> &gl2lcElIdx);
317 void Print(std::ostream &out = std::cout)
const override;
375 virtual int ClassId()
const override;
378 virtual void Write(
TPZStream &buf,
int withclassid)
const override;
Represents a graphical mesh used for post processing purposes. Post processing.
bool CheckConsistencyOfMappedQsi(TPZCompElSide &Neighbor, TPZVec< REAL > &qsi, TPZVec< REAL > &NeighIntPoint)
Check consistency of mapped qsi performed by method TPZInterfaceElement::MapQsi by comparing the X co...
int64_t ConnectIndex(int i) const override
Its return the connects of the left and right element associates.
virtual void Write(TPZStream &buf, int withclassid) const override
Saves the element data to a stream.
void Normal(TPZFMatrix< REAL > &axes, TPZVec< REAL > &normal)
Returns normal based on already computed axes matrix.
Implements computational element and a side. Computational Element.
virtual void CreateGraphicalElement(TPZGraphMesh &graphmesh, int dimension) override
Interface elements does not have graphical representation.
TPZManVector< REAL, 3 > fCenterNormal
Normal to the face element.
TPZCompElSide fRightElSide
Element the right of the normal a interface.
clarg::argInt dimension("-d", "Matrices dimension M x M", 1000)
void GetConnects(TPZCompElSide &elside, TPZVec< TPZConnect *> &connects, TPZVec< int64_t > &connectindex)
Extract connects from element el.
Contains declaration of TPZCompEl class which defines the interface of a computational element...
Templated vector implementation.
void ComputeSideTransform(TPZCompElSide &Neighbor, TPZTransform<> &transf)
Contains declaration of TPZInterpolationSpace class which implements the interface for interpolated c...
void SetLeftRightElements(TPZCompElSide &left, TPZCompElSide &right)
Set neighbors.
TPZCompEl * CloneInterface(TPZCompMesh &aggmesh, int64_t &index, TPZCompElSide &left, TPZCompElSide &right) const
Method used in TPZAgglomerateElement::CreateAgglomerateMesh.
virtual void Integrate(int variable, TPZVec< STATE > &value) override
Integrate a variable over the element.
virtual void CalcStiff(TPZElementMatrix &ek, TPZElementMatrix &ef) override
CalcStiff computes the element stiffness matrix and right hand side.
REAL val(STATE &number)
Returns value of the variable.
static int ExistInterfaces(TPZCompElSide &comp)
Verifies the existence of interfaces associates with the side of an element.
TPZCompElSide fLeftElSide
Element the left of the normal a interface.
virtual void Read(TPZStream &buf, void *context) override
Reads the element data from a stream.
void Print(std::ostream &out=std::cout) const override
Prints attributes of the object.
void VetorialProd(TPZVec< REAL > &ivet, TPZVec< REAL > &jvet, TPZVec< REAL > &kvet)
virtual void LoadSolution() override
Loads the solution within the internal data structure of the element.
virtual void InitializeIntegrationRule() override
Pointer to the integration rule.
virtual int IsInterface() override
TPZInterfaceElement()
Empty constructor.
void NeighbourSolution(TPZCompElSide &Neighbor, TPZVec< REAL > &qsi, TPZSolVec &sol, TPZGradSolVec &dsol, TPZFMatrix< REAL > &NeighborAxes)
Compute solution at neighbour element in a given master coordinate qsi. It returns the axes at which ...
int NRightConnects() const
Returns the number from connectivities of the element related to right neighbour. ...
~TPZInterfaceElement()
Destructor.
virtual int ClassId() const override
virtual void ComputeErrorFace(int errorid, TPZVec< STATE > &errorL, TPZVec< STATE > &errorR)
ComputeError computes the element error estimator.
Defines the behaviour of all geometric elements. GeometryTPZGeoEl is the common denominator for all g...
virtual void CalcResidual(TPZElementMatrix &ef) override
CalcResidual only computes the element residual.
int Dimension() const override
Returns the dimension from the element interface.
Contains TPZMatrixclass which implements full matrix (using column major representation).
#define DebugStop()
Returns a message to user put a breakpoint in.
TPZCompElSide & LeftElementSide()
Returns left neighbor.
virtual TPZCompEl * Clone(TPZCompMesh &mesh) const override
Makes a clone of this.
virtual TPZCompEl * ClonePatchEl(TPZCompMesh &mesh, std::map< int64_t, int64_t > &gl2lcConMap, std::map< int64_t, int64_t > &gl2lcElMap) const override
void IntegrateInterface(int variable, TPZVec< REAL > &value)
int NLeftConnects() const
Returns the number from connectivities of the element related to left neighbour.
void CenterNormal(TPZVec< REAL > &CenterNormal) const
Returns the normal of this interface which goes from left to right neighbors.
void DecreaseElConnected()
Informs the connects that this element is no longer connected to it.
void InitializeElementMatrix(TPZElementMatrix &ef)
TPZCompElSide & RightElementSide()
Returns right neighbor.
Contains declaration of TPZCompelDisc class which implements a computational element for discontinuou...
Contains the TPZMaterialData class which implements an interface between TPZCompEl::CalcStiff and TPZ...
virtual void ComputeRequiredData(TPZVec< REAL > &intpointtemp, TPZVec< TPZTransform<> > &trvec, TPZVec< TPZMaterialData > &datavec)
void ComputeRequiredData(TPZMaterialData &data, TPZInterpolationSpace *elem, TPZVec< REAL > &IntPoint)
Compute and fill data with requested attributes for neighbouring element.
void ComputeCenterNormal(TPZVec< REAL > &normal)
Computes normal for linear geometric elements.
Contains declaration of TPZCompMesh class which is a repository for computational elements...
Computes the contribution over an interface between two discontinuous elements. Computational Element...
void VolumeEls(TPZCompEl &thirdel)
Identifies the elements of left and right volume of the interface.
void SetCenterNormal(const TPZVec< REAL > &CenterNormal)
Set the normal to the given vector.
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 void ComputeSolution(TPZVec< REAL > &qsi, TPZVec< REAL > &normal, TPZSolVec &leftsol, TPZGradSolVec &dleftsol, TPZFMatrix< REAL > &leftaxes, TPZSolVec &rightsol, TPZGradSolVec &drightsol, TPZFMatrix< REAL > &rightaxes) override
Computes solution and its derivatives in the local coordinate qsi.
virtual int Dimension() const =0
Returns the dimension of the element.
TPZCompEl * Element() const
Gives a pointer to the reference computational element.
TPZGeoEl * Reference() const
Return a pointer to the corresponding geometric element if such exists, return 0 otherwise.
void IncrementElConnected()
Informs the connects that this element is connected to it.
TPZCompEl * LeftElement() const
Returns the left element from the element interface.
static int main(TPZCompMesh &cmesh)
void ComputeNormal(TPZVec< REAL > &qsi, TPZVec< REAL > &normal)
Computes normal at qsi point.
virtual int NConnects() const override
Returns the number from connectivities of the element.
MElementType
Define the element types.
Implements computational mesh. Computational Mesh.
Defines the interface for saving and reading data. Persistency.
TPZCompEl * RightElement() const
Returns the right element from the element interface.
Contains the declaration of TPZFlopCounter class and TPZCounter struct.
int ComputeIntegrationOrder() const override
Returns the unique identifier for reading/writing objects to streams.
virtual void EvaluateError(std::function< void(const TPZVec< REAL > &loc, TPZVec< STATE > &val, TPZFMatrix< STATE > &deriv)> func, TPZVec< REAL > &errors, bool store_error) override
Performs an error estimate on the elemen.
static int FreeInterface(TPZCompMesh &cmesh)
void EvaluateInterfaceJump(TPZSolVec &jump, int opt)
MElementType Type() override
Type of the element.
Defines the interface of a computational element. Computational Element.
void SetConnectIndex(int node, int64_t index) override
This function should not be called.
virtual void BuildCornerConnectList(std::set< int64_t > &connectindexes) const override
adds the connect indexes associated with base shape functions to the set
void InitMaterialData(TPZMaterialData &data, TPZInterpolationSpace *left)
Initialize a material data and its attributes based on element dimension, number of state variables a...
void MapQsi(TPZCompElSide &Neighbor, TPZVec< REAL > &qsi, TPZVec< REAL > &NeighIntPoint)
Maps qsi coordinate at this master element to qsi coordinate at neighbor master element.