NeoPZ
Public Member Functions | Protected Attributes | List of all members
TPZMultiphysicsInterfaceElement Class Reference

Computes the contribution over an interface between two discontinuous elements. Computational Element. More...

#include <TPZMultiphysicsInterfaceEl.h>

Inheritance diagram for TPZMultiphysicsInterfaceElement:
[legend]
Collaboration diagram for TPZMultiphysicsInterfaceElement:
[legend]

Public Member Functions

 TPZMultiphysicsInterfaceElement ()
 Default constructor. More...
 
 TPZMultiphysicsInterfaceElement (TPZCompMesh &mesh, TPZGeoEl *ref, int64_t &index, TPZCompElSide left, TPZCompElSide right)
 Constructor. More...
 
 TPZMultiphysicsInterfaceElement (TPZCompMesh &mesh, const TPZMultiphysicsInterfaceElement &copy)
 create a copy of the given element More...
 
 TPZMultiphysicsInterfaceElement (TPZCompMesh &mesh, const TPZMultiphysicsInterfaceElement &copy, std::map< int64_t, int64_t > &gl2lcConMap, std::map< int64_t, int64_t > &gl2lcElMap)
 create a copy of the given element using index mapping More...
 
virtual TPZCompElClone (TPZCompMesh &mesh) const override
 Method for creating a copy of the element. More...
 
virtual TPZCompElClonePatchEl (TPZCompMesh &mesh, std::map< int64_t, int64_t > &gl2lcConMap, std::map< int64_t, int64_t > &gl2lcElMap) const override
 Method for creating a copy of the element in a patch mesh. More...
 
void IncrementElConnected ()
 Informs the connect that this element is connected to it. More...
 
virtual ~TPZMultiphysicsInterfaceElement ()
 Default destructor. More...
 
void ComputeSideTransform (TPZManVector< TPZCompElSide > &Neighbor, TPZManVector< TPZTransform<> > &transf)
 Compute the transform of a paramenter point in the multiphysic interface element to a parameter point in the neighbor super element. More...
 
void MapQsi (TPZManVector< TPZCompElSide > &Neighbor, TPZVec< REAL > &qsi, TPZVec< REAL > &NeighIntPoint)
 Maps qsi coordinate at this master element to qsi coordinate at neighbor master element. More...
 
void SetLeftRightElement (const TPZCompElSide &leftel, const TPZCompElSide &rightel)
 
void SetLeftRightElementIndices (const TPZVec< int64_t > &lefindices, const TPZVec< int64_t > &rightindices)
 
void GetLeftRightElement (TPZCompElSide &leftel, TPZCompElSide &rightel)
 
virtual void SetConnectIndex (int inode, int64_t index) override
 Set the index i to node inode. More...
 
virtual int NConnects () const override
 Returns the number of nodes of the element. More...
 
virtual int64_t ConnectIndex (int i) const override
 Returns the index of the ith connectivity of the element. More...
 
virtual int Dimension () const override
 Dimension of the element. More...
 
void CalcStiff (TPZElementMatrix &ek, TPZElementMatrix &ef) override
 
void CalcStiff (TPZElementMatrix &ef)
 
void CreateIntegrationRule ()
 
const TPZIntPointsGetIntegrationRule () const override
 
virtual int ComputeIntegrationOrder () const override
 
virtual void ComputeRequiredData (TPZVec< REAL > &intpointtemp, TPZVec< TPZTransform<> > &trvec, TPZVec< TPZMaterialData > &datavec)
 Compute and fill data with requested attributes for each of the compels in fElementVec. More...
 
void InitializeElementMatrix (TPZElementMatrix &ek, TPZElementMatrix &ef)
 Initialize the structure of the stiffness matrix. More...
 
void InitializeElementMatrix (TPZElementMatrix &ef)
 Initialize the structure of the stiffness matrix. More...
 
TPZCompElSide Left () const
 access function to the left element More...
 
TPZCompElRightElement () const
 Returns the right element from the element interface. More...
 
TPZCompElLeftElement () const
 Returns the left element from the element interface. More...
 
void ComputeCenterNormal (TPZVec< REAL > &normal) const
 
virtual void Print (std::ostream &out=std::cout) const override
 Prints element data. More...
 
void InitMaterialData (TPZMaterialData &center_data, TPZVec< TPZMaterialData > &data_left, TPZVec< TPZMaterialData > &data_right)
 Initialize the material data structures. More...
 
void InitMaterialData (TPZMaterialData &data)
 initialize the material data for the geometric data More...
 
virtual void ComputeRequiredData (TPZMaterialData &data, TPZVec< REAL > &point)
 Compute the data needed to compute the stiffness matrix at the integration point. More...
 
void ComputeRequiredData (TPZVec< REAL > &point, TPZVec< TPZTransform<> > &trvec, TPZMultiphysicsElement *Neighbour, TPZVec< TPZMaterialData > &data)
 Compute the required data from the neighbouring elements. More...
 
void ComputeSideTransform (TPZCompElSide &Neighbor, TPZTransform<> &transf)
 
TPZCompElSide Right () const
 Access function to the right element. More...
 
virtual int nmeshes ()
 
virtual void BuildCornerConnectList (std::set< int64_t > &connectindexes) const override
 adds the connect indexes associated with base shape functions to the set More...
 
virtual void Solution (TPZVec< REAL > &qsi, int var, TPZVec< STATE > &sol) override
 Calculates the solution - sol - for the variable var at point qsi, where qsi is expressed in terms of the master element coordinates. More...
 
virtual void CreateGraphicalElement (TPZGraphMesh &grmesh, int dimension) override
 Creates corresponding graphical element(s) if the dimension matches graphical elements are used to generate output files. More...
 
virtual int NumberOfCompElementsInsideThisCompEl () override
 Return the size of the elementvec in multiphysics, if it is not multiphysics, just return 1. More...
 
virtual int ClassId () const override
 Define the class id associated with the class. More...
 
void EvaluateError (std::function< void(const TPZVec< REAL > &loc, TPZVec< STATE > &val, TPZFMatrix< STATE > &deriv)> fp, TPZVec< REAL > &, bool store_error) override
 Performs an error estimate on the elemen. More...
 
- Public Member Functions inherited from TPZCompEl
 TPZCompEl ()
 Simple Constructor. More...
 
virtual ~TPZCompEl ()
 Simple destructor. More...
 
 TPZCompEl (TPZCompMesh &mesh, const TPZCompEl &copy)
 Put a copy of the element in the referred mesh. More...
 
 TPZCompEl (TPZCompMesh &mesh, const TPZCompEl &copy, std::map< int64_t, int64_t > &gl2lcElMap)
 Put a copy of the element in the patch mesh. More...
 
 TPZCompEl (TPZCompMesh &mesh, const TPZCompEl &copy, int64_t &index)
 Copy of the element in the new mesh returning allocated index. More...
 
 TPZCompEl (TPZCompMesh &mesh, TPZGeoEl *gel, int64_t &index)
 Creates a computational element within mesh. Inserts the element within the data structure of the mesh. More...
 
virtual void SetCreateFunctions (TPZCompMesh *mesh)
 Sets create function in TPZCompMesh to create elements of this type. More...
 
virtual REAL VolumeOfEl ()
 Returns the volume of the geometric element associated. More...
 
virtual void LoadElementReference ()
 Loads the geometric element reference. More...
 
virtual REAL CompareElement (int var, char *matname)
 This method computes the norm of the difference of a post processed variable with @ the same post processed variable of the element pointed to by the geometric element. More...
 
virtual void Assemble ()
 Computes the element stifness matrix and right hand side in an internal data structure. Used for initializing condensed element data structures. More...
 
virtual bool HasMaterial (const std::set< int > &materialids) const
 Verifies if the material associated with the element is contained in the set. More...
 
virtual void CalcResidual (TPZElementMatrix &ef)
 Computes the element right hand side. More...
 
virtual void Divide (int64_t index, TPZVec< int64_t > &subindex, int interpolate=0)
 Divide the computational element. If interpolate = 1, the solution is interpolated to the sub elements. More...
 
virtual void ProjectFlux (TPZElementMatrix &ek, TPZElementMatrix &ef)
 Projects the flux function on the finite element space. More...
 
virtual void ComputeError (int errorid, TPZVec< REAL > &error)
 ComputeError computes the element error estimator. More...
 
virtual void Integrate (int variable, TPZVec< STATE > &value)
 Integrates a variable over the element. More...
 
virtual void GetMemoryIndices (TPZVec< int64_t > &indices) const
 Get the indices of the vector of element memory associated with the integration points. More...
 
virtual void SetMemoryIndices (TPZVec< int64_t > &indices)
 Set the indices of the vector of element memory associated with the integration points. More...
 
virtual void PrepareIntPtIndices ()
 Prepare the vector of the material withmem with the correct integration point indexes. More...
 
virtual void ForcePrepareIntPtIndices ()
 PrepareIntPtIndices initializes the material damage varibles memory in the proper material class. More...
 
virtual void SetFreeIntPtIndices ()
 Frees the material damage varibles memory in the proper material class. More...
 
virtual void TransferMultiphysicsElementSolution ()
 
virtual void SetMultiphysicsElementSolution ()
 
virtual void AddShapeRestraint (TPZOneShapeRestraint restraint)
 Add a shape restraint (meant to fit the pyramid to restraint. More...
 
virtual std::list< TPZOneShapeRestraintGetShapeRestraints () const
 Return a list with the shape restraints. More...
 
virtual void ResetShapeRestraints ()
 Return a list with the shape restraints. More...
 
virtual TPZVec< STATE > IntegrateSolution (int var) const
 Compute the integral of a variable. More...
 
virtual TPZVec< STATE > IntegrateSolution (const std::string &varname, const std::set< int > &matids)
 Compute the integral of a variable defined by the string if the material id is included in matids. More...
 
virtual void ComputeSolution (TPZVec< REAL > &qsi, TPZMaterialData &data)
 
virtual void ComputeSolution (TPZVec< REAL > &qsi, TPZSolVec &sol, TPZGradSolVec &dsol, TPZFMatrix< REAL > &axes)
 Computes solution and its derivatives in the local coordinate qsi. More...
 
virtual void ComputeSolution (TPZVec< REAL > &qsi, TPZVec< REAL > &normal, TPZSolVec &leftsol, TPZGradSolVec &dleftsol, TPZFMatrix< REAL > &leftaxes, TPZSolVec &rightsol, TPZGradSolVec &drightsol, TPZFMatrix< REAL > &rightaxes)
 Computes solution and its derivatives in the local coordinate qsi.
This method will function for both volumetric and interface elements. More...
 
virtual void ComputeSolution (TPZVec< REAL > &qsi, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphix, const TPZFMatrix< REAL > &axes, TPZSolVec &sol, TPZGradSolVec &dsol)
 Computes solution and its derivatives in local coordinate qsi. More...
 
virtual void BuildConnectList (std::set< int64_t > &indepconnectlist, std::set< int64_t > &depconnectlist)
 Builds the list of all connectivities related to the element including the connects pointed to by dependent connects. More...
 
virtual void BuildConnectList (TPZStack< int64_t > &connectlist) const
 Builds the list of all connectivities related to the element including the connects pointed to by dependent connects. More...
 
virtual void BuildConnectList (std::set< int64_t > &connectlist)
 Builds the list of all connectivities related to the element including the connects pointed to by dependent connects. More...
 
virtual int HasDependency ()
 Returns 1 if the element has at least one dependent node. Returns 0 otherwise. More...
 
virtual int PressureConnectIndex () const
 Returns the index of the pressure connect. More...
 
virtual void ReduceInternalNodes ()
 Domain Decomposition.
This method will eliminate the nodes which are internal to the element from the datastructure of the grid
After calling this method, the superelement will statically condense the internal equations. More...
 
virtual void CalcBlockDiagonal (TPZStack< int64_t > &connectlist, TPZBlockDiagonal< STATE > &block)
 Calculates the diagonal block. More...
 
REAL MaximumRadiusOfEl ()
 Will return the maximum distance between the nodes of the reference element. More...
 
REAL LesserEdgeOfEl ()
 Will return the smallest distance between two nodes of the reference element. More...
 
void Write (TPZStream &buf, int withclassid) const override
 Save the element data to a stream. More...
 
void Read (TPZStream &buf, void *context) override
 Read the element data from a stream. More...
 
virtual void InitializeIntegrationRule ()
 
virtual void SetIntegrationRule (TPZIntPoints *intrule)
 Method to set a dynamically allocated integration rule. More...
 
virtual void SetIntegrationRule (int order)
 
virtual MElementType Type ()
 Return the type of the element. More...
 
virtual int IsInterface ()
 
TPZGeoElReference () const
 Return a pointer to the corresponding geometric element if such exists, return 0 otherwise. More...
 
void SetReference (int64_t referenceindex)
 
virtual bool NeedsComputing (const std::set< int > &materialids)
 return true if the element has a variational statement associated with the material ids More...
 
virtual int NEquations ()
 Returns the number of equations of the element. More...
 
int64_t Index () const
 Returns element index of the mesh fELementVec list. More...
 
void SetIndex (int64_t index)
 Sets element index of the mesh fELementVec list. More...
 
virtual TPZConnectConnect (int i) const
 Returns a pointer to the ith node. More...
 
virtual TPZMaterialMaterial () const
 Identify the material object associated with the element. More...
 
TPZGeoElGetRefElPatch ()
 Returns the reference geometric element patch.
Look for a geometric element which refers to a computational element and is neighbour of the current element AND is larger than the current element. More...
 
virtual void LoadSolution ()
 Loads the solution within the internal data structure of the element. More...
 
void SetMesh (TPZCompMesh *mesh)
 Sets the grid of the element. More...
 
TPZCompMeshMesh () const
 Return a pointer to the grid of the element. More...
 
virtual void PrintSolution (TPZVec< REAL > &point, const char *VarName, std::ostream &out)
 Prints the solution - sol - for the variable "VarName" at point specified in terms of the master element coordinates. More...
 
virtual void PrintCoordinate (TPZVec< REAL > &point, int CoordinateIndex, std::ostream &out)
 Prints one coordinate index corresponding to the point to the output stream. More...
 
virtual void PrintTitle (const char *VarName, std::ostream &out)
 Prints the variables names associated with the element material. More...
 
- Public Member Functions inherited from TPZSavable
 TPZSavable ()
 
virtual ~TPZSavable ()
 
virtual std::list< std::map< std::string, uint64_t > > VersionHistory () const
 
virtual std::pair< std::string, uint64_t > Version () const
 
virtual bool Compare (TPZSavable *copy, bool override=false)
 Compares the object for identity with the object pointed to, eventually copy the object. More...
 
virtual bool Compare (TPZSavable *copy, bool override=false) const
 Compares the object for identity with the object pointed to, eventually copy the object. More...
 
- Public Member Functions inherited from TPZRegisterClassId
template<typename T >
 TPZRegisterClassId (int(T::*)() const)
 
 TPZRegisterClassId ()=default
 

Protected Attributes

TPZCompElSide fLeftElSide
 Element vector the left of the normal a interface. More...
 
TPZCompElSide fRightElSide
 Element vector the right of the normal a interface. More...
 
TPZManVector< int64_t, 20 > fConnectIndexes
 indexes of the connects More...
 
TPZManVector< int64_t, 3 > fLeftElIndices
 indices of the Left Element Vector More...
 
TPZManVector< int64_t, 3 > fRightElIndices
 indices of the Right Element Vector More...
 
- Protected Attributes inherited from TPZCompEl
TPZCompMeshfMesh
 Computational mesh to which the element belongs. More...
 
int64_t fIndex
 Element index into mesh element vector. More...
 
TPZIntPointsfIntegrationRule
 Integration rule established by the user. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from TPZCompEl
static int StaticClassId ()
 
static void SetgOrder (int order)
 Sets the value of the default interpolation order. More...
 
static int GetgOrder ()
 Set the default value of the interpolation order. More...
 
static void SetOrthogonalFunction (void(*orthogonal)(REAL x, int num, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi))
 Sets the orthogonal function which will be used throughout the program by default this function is the Chebyshev function. More...
 
static void Chebyshev (REAL x, int num, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi)
 Implements of the orthogonal Chebyshev functions. More...
 
- Static Public Member Functions inherited from TPZSavable
static std::set< TPZRestoreClassBase * > & RestoreClassSet ()
 This static function guarantees that the gMap object is available when needed. More...
 
static std::map< int, TPZRestore_t > & ClassIdMap ()
 This static function guarantees that the gMap object is available when needed. More...
 
static std::pair< std::string, uint64_t > NeoPZVersion ()
 
static void Register (TPZRestoreClassBase *restore)
 
static void RegisterClassId (int classid, TPZRestore_t fun)
 
static TPZSavableCreateInstance (const int &classId)
 

Detailed Description

Computes the contribution over an interface between two discontinuous elements. Computational Element.

Definition at line 21 of file TPZMultiphysicsInterfaceEl.h.

Constructor & Destructor Documentation

◆ TPZMultiphysicsInterfaceElement() [1/4]

TPZMultiphysicsInterfaceElement::TPZMultiphysicsInterfaceElement ( )

Default constructor.

Definition at line 34 of file TPZMultiphysicsInterfaceEl.cpp.

Referenced by Clone(), and ClonePatchEl().

◆ TPZMultiphysicsInterfaceElement() [2/4]

TPZMultiphysicsInterfaceElement::TPZMultiphysicsInterfaceElement ( TPZCompMesh mesh,
TPZGeoEl ref,
int64_t &  index,
TPZCompElSide  left,
TPZCompElSide  right 
)

◆ TPZMultiphysicsInterfaceElement() [3/4]

TPZMultiphysicsInterfaceElement::TPZMultiphysicsInterfaceElement ( TPZCompMesh mesh,
const TPZMultiphysicsInterfaceElement copy 
)

◆ TPZMultiphysicsInterfaceElement() [4/4]

TPZMultiphysicsInterfaceElement::TPZMultiphysicsInterfaceElement ( TPZCompMesh mesh,
const TPZMultiphysicsInterfaceElement copy,
std::map< int64_t, int64_t > &  gl2lcConMap,
std::map< int64_t, int64_t > &  gl2lcElMap 
)

create a copy of the given element using index mapping

constructor not implemented right

Definition at line 113 of file TPZMultiphysicsInterfaceEl.cpp.

References DebugStop, TPZCompElSide::Element(), TPZCompMesh::ElementVec(), TPZCompEl::Index(), Left(), Right(), SetLeftRightElement(), and TPZCompElSide::Side().

◆ ~TPZMultiphysicsInterfaceElement()

TPZMultiphysicsInterfaceElement::~TPZMultiphysicsInterfaceElement ( )
virtual

Default destructor.

Definition at line 143 of file TPZMultiphysicsInterfaceEl.cpp.

References TPZCompEl::Reference(), and TPZGeoEl::ResetReference().

Referenced by ClonePatchEl().

Member Function Documentation

◆ BuildCornerConnectList()

virtual void TPZMultiphysicsInterfaceElement::BuildCornerConnectList ( std::set< int64_t > &  connectindexes) const
inlineoverridevirtual

adds the connect indexes associated with base shape functions to the set

Implements TPZCompEl.

Definition at line 238 of file TPZMultiphysicsInterfaceEl.h.

References TPZCompEl::BuildCornerConnectList(), CreateGraphicalElement(), dimension, TPZCompElSide::Element(), and Solution().

◆ CalcStiff() [1/2]

void TPZMultiphysicsInterfaceElement::CalcStiff ( TPZElementMatrix ek,
TPZElementMatrix ef 
)
overridevirtual

◆ CalcStiff() [2/2]

void TPZMultiphysicsInterfaceElement::CalcStiff ( TPZElementMatrix ef)

◆ ClassId()

int TPZMultiphysicsInterfaceElement::ClassId ( ) const
overridevirtual

Define the class id associated with the class.

This id has to be unique for all classes A non unique id is flagged at the startup of the program

Reimplemented from TPZCompEl.

Definition at line 919 of file TPZMultiphysicsInterfaceEl.cpp.

References TPZCompEl::ClassId(), and Hash().

Referenced by NumberOfCompElementsInsideThisCompEl().

◆ Clone()

virtual TPZCompEl* TPZMultiphysicsInterfaceElement::Clone ( TPZCompMesh mesh) const
inlineoverridevirtual

Method for creating a copy of the element.

Implements TPZCompEl.

Definition at line 56 of file TPZMultiphysicsInterfaceEl.h.

References TPZMultiphysicsInterfaceElement().

◆ ClonePatchEl()

virtual TPZCompEl* TPZMultiphysicsInterfaceElement::ClonePatchEl ( TPZCompMesh mesh,
std::map< int64_t, int64_t > &  gl2lcConMap,
std::map< int64_t, int64_t > &  gl2lcElMap 
) const
inlineoverridevirtual

Method for creating a copy of the element in a patch mesh.

Parameters
meshPatch clone mesh
gl2lcConMapmap the connects indexes from global element (original) to the local copy.
gl2lcElMapmap the computational elements Otherwise of the previous clone function, this method don't copy entire mesh. Therefore it needs to map the connect index from the both meshes - original and patch

Implements TPZCompEl.

Definition at line 72 of file TPZMultiphysicsInterfaceEl.h.

References ComputeSideTransform(), GetLeftRightElement(), IncrementElConnected(), MapQsi(), SetLeftRightElement(), SetLeftRightElementIndices(), TPZMultiphysicsInterfaceElement(), and ~TPZMultiphysicsInterfaceElement().

◆ ComputeCenterNormal()

void TPZMultiphysicsInterfaceElement::ComputeCenterNormal ( TPZVec< REAL > &  normal) const

◆ ComputeIntegrationOrder()

int TPZMultiphysicsInterfaceElement::ComputeIntegrationOrder ( ) const
overridevirtual

◆ ComputeRequiredData() [1/3]

void TPZMultiphysicsInterfaceElement::ComputeRequiredData ( TPZVec< REAL > &  intpointtemp,
TPZVec< TPZTransform<> > &  trvec,
TPZVec< TPZMaterialData > &  datavec 
)
virtual

Compute and fill data with requested attributes for each of the compels in fElementVec.

Definition at line 539 of file TPZMultiphysicsInterfaceEl.cpp.

References DebugStop.

Referenced by CalcStiff(), Dimension(), and LeftElement().

◆ ComputeRequiredData() [2/3]

void TPZMultiphysicsInterfaceElement::ComputeRequiredData ( TPZMaterialData data,
TPZVec< REAL > &  point 
)
virtual

◆ ComputeRequiredData() [3/3]

void TPZMultiphysicsInterfaceElement::ComputeRequiredData ( TPZVec< REAL > &  point,
TPZVec< TPZTransform<> > &  trvec,
TPZMultiphysicsElement Neighbour,
TPZVec< TPZMaterialData > &  data 
)

Compute the required data from the neighbouring elements.

◆ ComputeSideTransform() [1/2]

void TPZMultiphysicsInterfaceElement::ComputeSideTransform ( TPZManVector< TPZCompElSide > &  Neighbor,
TPZManVector< TPZTransform<> > &  transf 
)

Compute the transform of a paramenter point in the multiphysic interface element to a parameter point in the neighbor super element.

Parameters
Neighbor[in] may be this->LeftElementSide() or this->RightElementSide()
transf[out] vector of Transforms

Definition at line 149 of file TPZMultiphysicsInterfaceEl.cpp.

References DebugStop, TPZGeoElSide::Dimension(), TPZGeoElSide::NeighbourExists(), TPZGeoEl::NSides(), TPZCompEl::Reference(), TPZGeoElSide::SideTransform3(), and TPZVec< T >::size().

Referenced by ClonePatchEl(), LeftElement(), and Solution().

◆ ComputeSideTransform() [2/2]

void TPZMultiphysicsInterfaceElement::ComputeSideTransform ( TPZCompElSide Neighbor,
TPZTransform<> &  transf 
)

◆ ConnectIndex()

int64_t TPZMultiphysicsInterfaceElement::ConnectIndex ( int  i) const
overridevirtual

Returns the index of the ith connectivity of the element.

Parameters
iconnectivity index who want knows

Implements TPZCompEl.

Definition at line 300 of file TPZMultiphysicsInterfaceEl.cpp.

References DebugStop, fConnectIndexes, and TPZVec< T >::size().

Referenced by IncrementElConnected(), InitializeElementMatrix(), and SetConnectIndex().

◆ CreateGraphicalElement()

void TPZMultiphysicsInterfaceElement::CreateGraphicalElement ( TPZGraphMesh graphmesh,
int  dimension 
)
overridevirtual

Creates corresponding graphical element(s) if the dimension matches graphical elements are used to generate output files.

Parameters
graphmeshgraphical mesh where the element will be created
dimensiontarget dimension of the graphical element

Reimplemented from TPZCompEl.

Definition at line 795 of file TPZMultiphysicsInterfaceEl.cpp.

References dimension, TPZGeoEl::Dimension(), TPZMaterial::Id(), TPZCompEl::Material(), TPZGraphMesh::Material_Is_PostProcessed(), TPZGeoEl::NSides(), TPZCompEl::Reference(), TPZGraphMesh::ScalarNames(), TPZVec< T >::size(), TPZMaterial::VariableIndex(), and TPZGraphMesh::VecNames().

Referenced by BuildCornerConnectList().

◆ CreateIntegrationRule()

void TPZMultiphysicsInterfaceElement::CreateIntegrationRule ( )

◆ Dimension()

virtual int TPZMultiphysicsInterfaceElement::Dimension ( ) const
inlineoverridevirtual

◆ EvaluateError()

void TPZMultiphysicsInterfaceElement::EvaluateError ( std::function< void(const TPZVec< REAL > &loc, TPZVec< STATE > &val, TPZFMatrix< STATE > &deriv)>  func,
TPZVec< REAL > &  errors,
bool  store_error 
)
inlineoverridevirtual

Performs an error estimate on the elemen.

Parameters
fpfunction pointer which computes the exact solution
errors[out] the L2 norm of the error of the solution
flux[in] value of the interpolated flux values

Reimplemented from TPZCompEl.

Definition at line 281 of file TPZMultiphysicsInterfaceEl.h.

◆ GetIntegrationRule()

const TPZIntPoints & TPZMultiphysicsInterfaceElement::GetIntegrationRule ( ) const
overridevirtual

Return max integration rule of this interface element

Reimplemented from TPZCompEl.

Definition at line 483 of file TPZMultiphysicsInterfaceEl.cpp.

References DebugStop, and TPZCompEl::fIntegrationRule.

Referenced by Dimension().

◆ GetLeftRightElement()

void TPZMultiphysicsInterfaceElement::GetLeftRightElement ( TPZCompElSide leftel,
TPZCompElSide rightel 
)

Get left and right elements

Definition at line 284 of file TPZMultiphysicsInterfaceEl.cpp.

References fLeftElSide, and fRightElSide.

Referenced by ClonePatchEl(), and Solution().

◆ IncrementElConnected()

void TPZMultiphysicsInterfaceElement::IncrementElConnected ( )

Informs the connect that this element is connected to it.

Definition at line 81 of file TPZMultiphysicsInterfaceEl.cpp.

References ConnectIndex(), TPZCompMesh::ConnectVec(), TPZCompEl::fMesh, and NConnects().

Referenced by ClonePatchEl(), and TPZMultiphysicsInterfaceElement().

◆ InitializeElementMatrix() [1/2]

void TPZMultiphysicsInterfaceElement::InitializeElementMatrix ( TPZElementMatrix ek,
TPZElementMatrix ef 
)

◆ InitializeElementMatrix() [2/2]

void TPZMultiphysicsInterfaceElement::InitializeElementMatrix ( TPZElementMatrix ef)

◆ InitMaterialData() [1/2]

void TPZMultiphysicsInterfaceElement::InitMaterialData ( TPZMaterialData center_data,
TPZVec< TPZMaterialData > &  data_left,
TPZVec< TPZMaterialData > &  data_right 
)

Initialize the material data structures.

Initialize the material data for the neighbouring element.

Initialize the material data structures

Definition at line 708 of file TPZMultiphysicsInterfaceEl.cpp.

References TPZCompElSide::Element(), TPZMaterial::FillDataRequirementsInterface(), fLeftElIndices, fLeftElSide, fRightElIndices, fRightElSide, TPZMultiphysicsElement::InitMaterialData(), TPZCompEl::Material(), TPZMultiphysicsElement::NMeshes(), TPZVec< T >::resize(), and TPZVec< T >::size().

Referenced by CalcStiff(), LeftElement(), and Solution().

◆ InitMaterialData() [2/2]

void TPZMultiphysicsInterfaceElement::InitMaterialData ( TPZMaterialData data)

◆ Left()

TPZCompElSide TPZMultiphysicsInterfaceElement::Left ( ) const
inline

access function to the left element

Definition at line 174 of file TPZMultiphysicsInterfaceEl.h.

References fLeftElSide.

Referenced by TPZMultiphysicsElement::ExistsInterface(), SetLeftRightElementIndices(), and TPZMultiphysicsInterfaceElement().

◆ LeftElement()

TPZCompEl* TPZMultiphysicsInterfaceElement::LeftElement ( ) const
inline

◆ MapQsi()

void TPZMultiphysicsInterfaceElement::MapQsi ( TPZManVector< TPZCompElSide > &  Neighbor,
TPZVec< REAL > &  qsi,
TPZVec< REAL > &  NeighIntPoint 
)

Maps qsi coordinate at this master element to qsi coordinate at neighbor master element.

Parameters
Neighbor[in] may be this->LeftElementSide() or this->RightElementSide()
qsi[in] is the point at this element master
NeighIntPoint[out] is the point at neighbor element master. X[qsi] is equal to X[NeighIntPoint]

Referenced by ClonePatchEl().

◆ NConnects()

int TPZMultiphysicsInterfaceElement::NConnects ( ) const
overridevirtual

Returns the number of nodes of the element.

Implements TPZCompEl.

Definition at line 291 of file TPZMultiphysicsInterfaceEl.cpp.

References fConnectIndexes, and TPZVec< T >::size().

Referenced by CalcStiff(), IncrementElConnected(), InitializeElementMatrix(), SetConnectIndex(), and Solution().

◆ nmeshes()

virtual int TPZMultiphysicsInterfaceElement::nmeshes ( )
inlinevirtual

◆ NumberOfCompElementsInsideThisCompEl()

virtual int TPZMultiphysicsInterfaceElement::NumberOfCompElementsInsideThisCompEl ( )
inlineoverridevirtual

Return the size of the elementvec in multiphysics, if it is not multiphysics, just return 1.

Reimplemented from TPZCompEl.

Definition at line 259 of file TPZMultiphysicsInterfaceEl.h.

References ClassId(), TPZCompElSide::Element(), and TPZMultiphysicsElement::NMeshes().

◆ Print()

void TPZMultiphysicsInterfaceElement::Print ( std::ostream &  out = std::cout) const
overridevirtual

◆ Right()

TPZCompElSide TPZMultiphysicsInterfaceElement::Right ( ) const
inline

Access function to the right element.

Definition at line 214 of file TPZMultiphysicsInterfaceEl.h.

References fRightElSide.

Referenced by TPZMultiphysicsElement::ExistsInterface(), SetLeftRightElementIndices(), and TPZMultiphysicsInterfaceElement().

◆ RightElement()

TPZCompEl* TPZMultiphysicsInterfaceElement::RightElement ( ) const
inline

Returns the right element from the element interface.

Definition at line 180 of file TPZMultiphysicsInterfaceEl.h.

References TPZCompElSide::Element().

Referenced by TPZMHMixedHybridMeshControl::GroupElements(), Print(), and TPZSubCompMesh::TransferElementFrom().

◆ SetConnectIndex()

virtual void TPZMultiphysicsInterfaceElement::SetConnectIndex ( int  inode,
int64_t  index 
)
inlineoverridevirtual

Set the index i to node inode.

Parameters
inodenode to set index
indexindex to be seted

Implements TPZCompEl.

Definition at line 120 of file TPZMultiphysicsInterfaceEl.h.

References ConnectIndex(), and NConnects().

◆ SetLeftRightElement()

void TPZMultiphysicsInterfaceElement::SetLeftRightElement ( const TPZCompElSide leftel,
const TPZCompElSide rightel 
)

Add elements to the list of left and right elements

Definition at line 170 of file TPZMultiphysicsInterfaceEl.cpp.

References fLeftElIndices, fLeftElSide, fRightElIndices, fRightElSide, and SetLeftRightElementIndices().

Referenced by ClonePatchEl(), and TPZMultiphysicsInterfaceElement().

◆ SetLeftRightElementIndices()

void TPZMultiphysicsInterfaceElement::SetLeftRightElementIndices ( const TPZVec< int64_t > &  leftindices,
const TPZVec< int64_t > &  rightindices 
)

◆ Solution()

void TPZMultiphysicsInterfaceElement::Solution ( TPZVec< REAL > &  qsi,
int  var,
TPZVec< STATE > &  sol 
)
overridevirtual

Calculates the solution - sol - for the variable var at point qsi, where qsi is expressed in terms of the master element coordinates.

Parameters
qsimaster element coordinate
varvariable name
solvetor for the solution

Reimplemented from TPZCompEl.

Definition at line 857 of file TPZMultiphysicsInterfaceEl.cpp.

References TPZMultiphysicsElement::AffineTransform(), TPZTransform< T >::Apply(), TPZMultiphysicsElement::ComputeRequiredData(), ComputeSideTransform(), TPZCompElSide::Element(), fLeftElIndices, fRightElIndices, GetLeftRightElement(), InitMaterialData(), TPZCompEl::Material(), NConnects(), TPZVec< T >::Resize(), TPZVec< T >::resize(), TPZVec< T >::size(), TPZMaterial::Solution(), and TPZCompEl::Solution().

Referenced by BuildCornerConnectList().

Member Data Documentation

◆ fConnectIndexes

TPZManVector<int64_t,20> TPZMultiphysicsInterfaceElement::fConnectIndexes
protected

indexes of the connects

Definition at line 32 of file TPZMultiphysicsInterfaceEl.h.

Referenced by ConnectIndex(), NConnects(), and SetLeftRightElementIndices().

◆ fLeftElIndices

TPZManVector<int64_t,3> TPZMultiphysicsInterfaceElement::fLeftElIndices
protected

◆ fLeftElSide

TPZCompElSide TPZMultiphysicsInterfaceElement::fLeftElSide
protected

◆ fRightElIndices

TPZManVector<int64_t,3> TPZMultiphysicsInterfaceElement::fRightElIndices
protected

◆ fRightElSide

TPZCompElSide TPZMultiphysicsInterfaceElement::fRightElSide
protected

The documentation for this class was generated from the following files: