NeoPZ
Public Member Functions | Protected Attributes | List of all members
TPZMultiphysicsCompEl< TGeometry > Class Template Reference

class to create a compute element multiphysics More...

#include <pzmultiphysicscompel.h>

Inheritance diagram for TPZMultiphysicsCompEl< TGeometry >:
[legend]
Collaboration diagram for TPZMultiphysicsCompEl< TGeometry >:
[legend]

Public Member Functions

 TPZMultiphysicsCompEl (TPZCompMesh &mesh, TPZGeoEl *gel, int64_t &index)
 Creates a multiphysic computational element within mesh. More...
 
 TPZMultiphysicsCompEl ()
 Default constructor. More...
 
 TPZMultiphysicsCompEl (TPZCompMesh &mesh, const TPZMultiphysicsCompEl< TGeometry > &copy)
 Put a copy of the element in the referred mesh. More...
 
 TPZMultiphysicsCompEl (TPZCompMesh &mesh, const TPZMultiphysicsCompEl< TGeometry > &copy, std::map< int64_t, int64_t > &gl2lcConMap, std::map< int64_t, int64_t > &gl2lcElMap)
 Constructor used to generate patch mesh... generates a map of connect index from global mesh to clone mesh. More...
 
virtual ~TPZMultiphysicsCompEl ()
 Default destructor. More...
 
virtual TPZManVector< TPZCompElSide, 5 > & ElementVec () override
 Returns a reference to the element pointers vector. More...
 
virtual void AffineTransform (TPZVec< TPZTransform<> > &trVec) const override
 Compute the map of a paramenter point in the multiphysic element to a parameter point in the super element. More...
 
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. More...
 
virtual void EvaluateError (TPZFunction< STATE > &func, TPZVec< STATE > &errors, bool store_error) override
 
void GetReferenceIndexVec (TPZManVector< TPZCompMesh *> cmeshVec, std::set< int64_t > &refIndexVec)
 Method to obtain an reference index set of multiphysics computational elements. 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...
 
virtual int NConnects () const override
 Returns the number of nodes of the element. More...
 
virtual int64_t NMeshes () override
 Return the number of meshes associated with the element. More...
 
virtual int64_t ConnectIndex (int i) const override
 Returns the index of the ith connectivity of the element. More...
 
virtual int64_t ConnectIndex (int elem, int connect) const
 
virtual int Dimension () const override
 Dimension of the element. More...
 
virtual void PolynomialOrder (TPZVec< int > &order) const override
 
virtual void Integrate (int variable, TPZVec< STATE > &value) override
 Post processing method which computes the solution for the var post processed variable. More...
 
virtual void ComputeRequiredData (TPZVec< REAL > &point, TPZVec< TPZTransform<> > &trvec, TPZVec< TPZMaterialData > &datavec)
 Compute and fill data with requested attributes for each of the compels in fElementVec. More...
 
virtual void ComputeRequiredData (TPZMaterialData &data, TPZVec< REAL > &point) override
 Compute and fill data with requested attributes. More...
 
virtual void Solution (TPZVec< REAL > &qsi, int var, TPZVec< STATE > &sol) override
 Post processing method which computes the solution for the var post processed variable. More...
 
virtual TPZVec< STATE > IntegrateSolution (int var) const override
 Compute the integral of a variable. More...
 
virtual void ComputeSolution (TPZVec< REAL > &qsi, TPZSolVec &sol, TPZGradSolVec &dsol, TPZFMatrix< REAL > &axes) override
 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) override
 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) override
 Computes solution and its derivatives in local coordinate qsi. More...
 
virtual void SetConnectIndex (int inode, int64_t index) override
 Set the index i to node inode. More...
 
virtual void SetCreateFunctions (TPZCompMesh *mesh) override
 Sets create function in TPZCompMesh to create elements of this type. More...
 
virtual void AddElement (TPZCompEl *cel, int64_t meshindex) override
 add an element to the datastructure More...
 
virtual void AddElement (const TPZCompElSide &celside, int64_t meshindex) override
 add an element to the datastructure More...
 
virtual TPZCompElElement (int64_t elindex) override
 
virtual TPZCompElReferredElement (int64_t mesh) override
 Returns referred element of this. More...
 
virtual void SetConnectIndexes (TPZVec< int64_t > &indexes) override
 Sets indexes of the connects of the element. More...
 
virtual void Print (std::ostream &out=std::cout) const override
 Prints element data. More...
 
virtual void CalcStiff (TPZElementMatrix &ek, TPZElementMatrix &ef) override
 Computes the element stiffness matrix and right hand side. More...
 
virtual void CalcResidual (TPZElementMatrix &ef) override
 Computes the element stiffness matrix and right hand side. More...
 
void InitializeElementMatrix (TPZElementMatrix &ek, TPZElementMatrix &ef)
 Initialize element matrix in which is computed CalcStiff. More...
 
void InitializeElementMatrix (TPZElementMatrix &ef)
 Initialize element matrix in which is computed CalcStiff. More...
 
void InitMaterialData (TPZVec< TPZMaterialData > &dataVec, TPZVec< int64_t > *indices=0) override
 Initialize a material data vector and its attributes based on element dimension, number of state variables and material definitions. 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 void SetIntegrationRule (int int_order) override
 
virtual void InitializeIntegrationRule () override
 After adding the elements initialize the integration rule. More...
 
virtual const TPZIntPointsGetIntegrationRule () const override
 Returns a reference to an integration rule suitable for integrating the interior of the element. More...
 
virtual TPZIntPointsGetIntegrationRule () override
 Returns a reference to an integration rule suitable for integrating the interior of the element. 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...
 
- Public Member Functions inherited from TPZMultiphysicsElement
 TPZMultiphysicsElement ()
 Default constructor. More...
 
 TPZMultiphysicsElement (TPZCompMesh &mesh, TPZGeoEl *ref, int64_t &index)
 Constructor. More...
 
 TPZMultiphysicsElement (TPZCompMesh &mesh, const TPZMultiphysicsElement &copy)
 Put a copy of the element in the referred mesh. More...
 
virtual ~TPZMultiphysicsElement ()
 Default destructor. More...
 
virtual void ComputeRequiredData (TPZVec< REAL > &point, TPZVec< TPZTransform<> > &trvec, TPZVec< TPZMaterialData > &datavec, TPZVec< int64_t > indices)
 
void CreateInterfaces ()
 
bool ExistsInterface (int side)
 
TPZMultiphysicsInterfaceElementCreateInterface (int side)
 
void RemoveInterfaces ()
 
void RemoveInterface (int side)
 
virtual int ComputeIntegrationOrder () const override
 
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 TransferMultiphysicsElementSolution () override
 
virtual void SetActiveApproxSpaces (TPZManVector< int, 5 > &active_approx_space)
 Set the active approximation spaces. More...
 
virtual TPZManVector< int, 5 > & GetActiveApproxSpaces ()
 Set the active approximation spaces. More...
 
virtual bool IsActiveApproxSpaces (int space_index)
 
virtual void AddShapeRestraint (TPZOneShapeRestraint restraint) override
 Add a shape restraint (meant to fit the pyramid to restraint. More...
 
virtual std::list< TPZOneShapeRestraintGetShapeRestraints () const override
 Return a list with the shape restraints. 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 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 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 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 SetMultiphysicsElementSolution ()
 
virtual void ResetShapeRestraints ()
 Return a list with the shape restraints. 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 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 SetIntegrationRule (TPZIntPoints *intrule)
 Method to set a dynamically allocated integration rule. More...
 
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

TPZManVector< TPZCompElSide,5 > fElementVec
 List of pointers to computational elements. More...
 
TPZVec< int64_t > fConnectIndexes
 Indexes of the connects of the element. More...
 
TGeometry::IntruleType fIntRule
 Integration rule associated with the element. More...
 
- Protected Attributes inherited from TPZMultiphysicsElement
std::list< TPZOneShapeRestraintfRestraints
 list of restraints applied to one shape function More...
 
TPZManVector< int, 5 > fActiveApproxSpace
 List of active approximation spaces. 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

template<class TGeometry>
class TPZMultiphysicsCompEl< TGeometry >

class to create a compute element multiphysics

Definition at line 22 of file pzmultiphysicscompel.h.

Constructor & Destructor Documentation

◆ TPZMultiphysicsCompEl() [1/4]

template<class TGeometry >
TPZMultiphysicsCompEl< TGeometry >::TPZMultiphysicsCompEl ( TPZCompMesh mesh,
TPZGeoEl gel,
int64_t &  index 
)

Creates a multiphysic computational element within mesh.

Parameters
meshmesh multiphysic where will be created the element
gelgeometric element for which the computational element will be created
indexnew elemen index

Definition at line 71 of file pzmultiphysicscompel.cpp.

◆ TPZMultiphysicsCompEl() [2/4]

template<class TGeometry >
TPZMultiphysicsCompEl< TGeometry >::TPZMultiphysicsCompEl ( )

Default constructor.

Definition at line 41 of file pzmultiphysicscompel.cpp.

◆ TPZMultiphysicsCompEl() [3/4]

template<class TGeometry >
TPZMultiphysicsCompEl< TGeometry >::TPZMultiphysicsCompEl ( TPZCompMesh mesh,
const TPZMultiphysicsCompEl< TGeometry > &  copy 
)

Put a copy of the element in the referred mesh.

Definition at line 46 of file pzmultiphysicscompel.cpp.

References TPZCompEl::Material(), and PZError.

◆ TPZMultiphysicsCompEl() [4/4]

template<class TGeometry >
TPZMultiphysicsCompEl< TGeometry >::TPZMultiphysicsCompEl ( TPZCompMesh mesh,
const TPZMultiphysicsCompEl< TGeometry > &  copy,
std::map< int64_t, int64_t > &  gl2lcConMap,
std::map< int64_t, int64_t > &  gl2lcElMap 
)

Constructor used to generate patch mesh... generates a map of connect index from global mesh to clone mesh.

Definition at line 61 of file pzmultiphysicscompel.cpp.

References DebugStop.

◆ ~TPZMultiphysicsCompEl()

template<class TGeometry >
TPZMultiphysicsCompEl< TGeometry >::~TPZMultiphysicsCompEl ( )
virtual

Member Function Documentation

◆ AddElement() [1/2]

template<class TGeometry>
virtual void TPZMultiphysicsCompEl< TGeometry >::AddElement ( TPZCompEl cel,
int64_t  meshindex 
)
inlineoverridevirtual

◆ AddElement() [2/2]

template<class TGeometry>
virtual void TPZMultiphysicsCompEl< TGeometry >::AddElement ( const TPZCompElSide celside,
int64_t  meshindex 
)
inlineoverridevirtual

◆ AffineTransform()

template<class TGeometry >
void TPZMultiphysicsCompEl< TGeometry >::AffineTransform ( TPZVec< TPZTransform<> > &  trVec) const
overridevirtual

◆ CalcResidual()

template<class TGeometry >
void TPZMultiphysicsCompEl< TGeometry >::CalcResidual ( TPZElementMatrix ef)
overridevirtual

◆ CalcStiff()

template<class TGeometry >
void TPZMultiphysicsCompEl< TGeometry >::CalcStiff ( TPZElementMatrix ek,
TPZElementMatrix ef 
)
overridevirtual

◆ ClassId()

template<class TGeometry >
int TPZMultiphysicsCompEl< TGeometry >::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 1288 of file pzmultiphysicscompel.cpp.

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

Referenced by TPZMultiphysicsCompEl< TGeometry >::NumberOfCompElementsInsideThisCompEl().

◆ Clone()

template<class TGeometry >
TPZCompEl * TPZMultiphysicsCompEl< TGeometry >::Clone ( TPZCompMesh mesh) const
overridevirtual

Method for creating a copy of the element.

Implements TPZCompEl.

Definition at line 299 of file pzmultiphysicscompel.cpp.

References DebugStop, and PZError.

Referenced by TPZMultiphysicsCompEl< TGeometry >::ElementVec().

◆ ClonePatchEl()

template<class TGeometry >
TPZCompEl * TPZMultiphysicsCompEl< TGeometry >::ClonePatchEl ( TPZCompMesh mesh,
std::map< int64_t, int64_t > &  gl2lcConMap,
std::map< int64_t, int64_t > &  gl2lcElMap 
) const
overridevirtual

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 307 of file pzmultiphysicscompel.cpp.

References DebugStop, and PZError.

Referenced by TPZMultiphysicsCompEl< TGeometry >::ElementVec().

◆ ComputeRequiredData() [1/2]

template<class TGeometry >
void TPZMultiphysicsCompEl< TGeometry >::ComputeRequiredData ( TPZVec< REAL > &  point,
TPZVec< TPZTransform<> > &  trvec,
TPZVec< TPZMaterialData > &  datavec 
)
virtual

◆ ComputeRequiredData() [2/2]

template<class TGeometry>
virtual void TPZMultiphysicsCompEl< TGeometry >::ComputeRequiredData ( TPZMaterialData data,
TPZVec< REAL > &  qsi 
)
inlineoverridevirtual

◆ ComputeSolution() [1/3]

template<class TGeometry >
void TPZMultiphysicsCompEl< TGeometry >::ComputeSolution ( TPZVec< REAL > &  qsi,
TPZSolVec sol,
TPZGradSolVec dsol,
TPZFMatrix< REAL > &  axes 
)
overridevirtual

Computes solution and its derivatives in the local coordinate qsi.

Parameters
qsimaster element coordinate
solfinite element solution
dsolsolution derivatives
axesaxes associated with the derivative of the solution

Reimplemented from TPZCompEl.

Definition at line 474 of file pzmultiphysicscompel.cpp.

References DebugStop, and PZError.

Referenced by TPZMultiphysicsCompEl< TGeometry >::ComputeRequiredData().

◆ ComputeSolution() [2/3]

template<class TGeometry >
void TPZMultiphysicsCompEl< TGeometry >::ComputeSolution ( TPZVec< REAL > &  qsi,
TPZVec< REAL > &  normal,
TPZSolVec leftsol,
TPZGradSolVec dleftsol,
TPZFMatrix< REAL > &  leftaxes,
TPZSolVec rightsol,
TPZGradSolVec drightsol,
TPZFMatrix< REAL > &  rightaxes 
)
overridevirtual

Computes solution and its derivatives in the local coordinate qsi.
This method will function for both volumetric and interface elements.

Parameters
qsimaster element coordinate of the interface element
normalvector
leftsolfinite element solution
dleftsolsolution derivatives
leftaxesaxes associated with the left solution
rightsolfinite element solution
drightsolsolution derivatives
rightaxesaxes associated with the right solution

Reimplemented from TPZCompEl.

Definition at line 481 of file pzmultiphysicscompel.cpp.

References DebugStop, and PZError.

◆ ComputeSolution() [3/3]

template<class TGeometry >
void TPZMultiphysicsCompEl< TGeometry >::ComputeSolution ( TPZVec< REAL > &  qsi,
TPZFMatrix< REAL > &  phi,
TPZFMatrix< REAL > &  dphix,
const TPZFMatrix< REAL > &  axes,
TPZSolVec sol,
TPZGradSolVec dsol 
)
overridevirtual

Computes solution and its derivatives in local coordinate qsi.

Parameters
qsimaster element coordinate
phimatrix containing shape functions compute in qsi point
dphixmatrix containing the derivatives of shape functions in the direction of the axes
axes[in] axes indicating the direction of the derivatives
solfinite element solution
dsolsolution derivatives

Reimplemented from TPZCompEl.

Definition at line 490 of file pzmultiphysicscompel.cpp.

References DebugStop, and PZError.

◆ ConnectIndex() [1/2]

template<class TGeometry >
int64_t TPZMultiphysicsCompEl< TGeometry >::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 321 of file pzmultiphysicscompel.cpp.

References TPZMultiphysicsCompEl< TGeometry >::fConnectIndexes.

Referenced by TPZMultiphysicsCompEl< TGeometry >::InitializeElementMatrix(), TPZMultiphysicsCompEl< TGeometry >::NMeshes(), and TPZMultiphysicsCompEl< TGeometry >::Print().

◆ ConnectIndex() [2/2]

template<class TGeometry >
int64_t TPZMultiphysicsCompEl< TGeometry >::ConnectIndex ( int  elem,
int  connect 
) const
virtual

◆ CreateGraphicalElement()

template<class TGeometry >
void TPZMultiphysicsCompEl< TGeometry >::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

Implements TPZMultiphysicsElement.

Definition at line 1308 of file pzmultiphysicscompel.cpp.

References dimension, TPZGeoEl::Dimension(), TPZMaterial::Id(), TPZCompEl::Material(), TPZGraphMesh::Material_Is_PostProcessed(), TPZGeoEl::NSides(), and TPZCompEl::Reference().

Referenced by TPZMultiphysicsCompEl< TGeometry >::SetConnectIndexes().

◆ Dimension()

template<class TGeometry >
int TPZMultiphysicsCompEl< TGeometry >::Dimension ( ) const
overridevirtual

◆ Element()

template<class TGeometry>
virtual TPZCompEl* TPZMultiphysicsCompEl< TGeometry >::Element ( int64_t  elindex)
inlineoverridevirtual

Implements TPZMultiphysicsElement.

Definition at line 248 of file pzmultiphysicscompel.h.

◆ ElementVec()

template<class TGeometry>
virtual TPZManVector<TPZCompElSide,5>& TPZMultiphysicsCompEl< TGeometry >::ElementVec ( )
inlineoverridevirtual

◆ EvaluateError() [1/2]

template<class TGeometry >
void TPZMultiphysicsCompEl< TGeometry >::EvaluateError ( std::function< void(const TPZVec< REAL > &loc, TPZVec< STATE > &val, TPZFMatrix< STATE > &deriv)>  func,
TPZVec< REAL > &  errors,
bool  store_error 
)
overridevirtual

◆ EvaluateError() [2/2]

template<class TGeometry >
void TPZMultiphysicsCompEl< TGeometry >::EvaluateError ( TPZFunction< STATE > &  func,
TPZVec< STATE > &  errors,
bool  store_error 
)
overridevirtual

◆ GetIntegrationRule() [1/2]

template<class TGeometry >
const TPZIntPoints & TPZMultiphysicsCompEl< TGeometry >::GetIntegrationRule ( ) const
overridevirtual

Returns a reference to an integration rule suitable for integrating the interior of the element.

Implements TPZMultiphysicsElement.

Definition at line 1019 of file pzmultiphysicscompel.cpp.

References TPZCompEl::fIntegrationRule, and TPZMultiphysicsCompEl< TGeometry >::fIntRule.

Referenced by TPZMultiphysicsCompEl< TGeometry >::EvaluateError(), TPZMultiphysicsCompEl< TGeometry >::Print(), and TPZMultiphysicsCompEl< TGeometry >::SetConnectIndexes().

◆ GetIntegrationRule() [2/2]

template<class TGeometry >
TPZIntPoints & TPZMultiphysicsCompEl< TGeometry >::GetIntegrationRule ( )
overridevirtual

Returns a reference to an integration rule suitable for integrating the interior of the element.

Implements TPZMultiphysicsElement.

Definition at line 1010 of file pzmultiphysicscompel.cpp.

References TPZCompEl::fIntegrationRule, and TPZMultiphysicsCompEl< TGeometry >::fIntRule.

◆ GetReferenceIndexVec()

template<class TGeometry >
void TPZMultiphysicsCompEl< TGeometry >::GetReferenceIndexVec ( TPZManVector< TPZCompMesh *>  cmeshVec,
std::set< int64_t > &  refIndexVec 
)

Method to obtain an reference index set of multiphysics computational elements.

Parameters
cmeshVecVector of computational meshes
refIndexVec

Definition at line 128 of file pzmultiphysicscompel.cpp.

References DebugStop, TPZGeoElSide::HigherLevelCompElementList2(), TPZGeoEl::Index(), LOGPZ_DEBUG, TPZVec< T >::NElements(), TPZGeoEl::NSides(), PZError, TPZCompEl::Reference(), TPZCompMesh::Reference(), TPZGeoMesh::ResetReference(), and TPZManVector< T, NumExtAlloc >::Resize().

Referenced by TPZMultiphysicsCompEl< TGeometry >::ElementVec().

◆ InitializeElementMatrix() [1/2]

template<class TGeometry >
void TPZMultiphysicsCompEl< TGeometry >::InitializeElementMatrix ( TPZElementMatrix ek,
TPZElementMatrix ef 
)

◆ InitializeElementMatrix() [2/2]

template<class TGeometry >
void TPZMultiphysicsCompEl< TGeometry >::InitializeElementMatrix ( TPZElementMatrix ef)

◆ InitializeIntegrationRule()

template<class TGeometry >
void TPZMultiphysicsCompEl< TGeometry >::InitializeIntegrationRule ( )
overridevirtual

◆ InitMaterialData()

template<class TGeometry >
void TPZMultiphysicsCompEl< TGeometry >::InitMaterialData ( TPZVec< TPZMaterialData > &  dataVec,
TPZVec< int64_t > *  indices = 0 
)
overridevirtual

◆ Integrate()

template<class TGeometry >
void TPZMultiphysicsCompEl< TGeometry >::Integrate ( int  variable,
TPZVec< STATE > &  value 
)
overridevirtual

Post processing method which computes the solution for the var post processed variable.

Parameters
qsicoordinate of the point in master element space where the solution will be evaluated
varvariable which will be computed
sol(output) solution computed at the given point
See also
TPZMaterial::VariableIndex
TPZMaterial::NSolutionVariables
TPZMaterial::SolutionThe var index is obtained by calling the TPZMaterial::VariableIndex method with a The Post Processing classes. processing name

Reimplemented from TPZCompEl.

Definition at line 354 of file pzmultiphysicscompel.cpp.

References DebugStop, TPZMultiphysicsCompEl< TGeometry >::fElementVec, TPZVec< T >::Fill(), TPZInterpolationSpace::InitMaterialData(), TPZCompEl::Material(), PZError, TPZCompEl::Reference(), TPZVec< T >::resize(), and TPZVec< T >::size().

Referenced by TPZMultiphysicsCompEl< TGeometry >::NMeshes().

◆ IntegrateSolution()

template<class TGeometry >
TPZVec< STATE > TPZMultiphysicsCompEl< TGeometry >::IntegrateSolution ( int  var) const
overridevirtual

◆ NConnects()

template<class TGeometry >
int TPZMultiphysicsCompEl< TGeometry >::NConnects ( ) const
overridevirtual

◆ NMeshes()

template<class TGeometry>
virtual int64_t TPZMultiphysicsCompEl< TGeometry >::NMeshes ( )
inlineoverridevirtual

◆ NumberOfCompElementsInsideThisCompEl()

template<class TGeometry>
virtual int TPZMultiphysicsCompEl< TGeometry >::NumberOfCompElementsInsideThisCompEl ( )
inlineoverridevirtual

◆ PolynomialOrder()

template<class TGeometry >
void TPZMultiphysicsCompEl< TGeometry >::PolynomialOrder ( TPZVec< int > &  order) const
overridevirtual

Returns the maximum interpolation order of all connected elements

Implements TPZMultiphysicsElement.

Definition at line 1267 of file pzmultiphysicscompel.cpp.

References TPZMultiphysicsCompEl< TGeometry >::fElementVec, TPZInterpolationSpace::MaxOrder(), TPZVec< T >::resize(), and TPZVec< T >::size().

Referenced by TPZMultiphysicsCompEl< TGeometry >::NMeshes().

◆ Print()

template<class TGeometry >
void TPZMultiphysicsCompEl< TGeometry >::Print ( std::ostream &  out = std::cout) const
overridevirtual

◆ ReferredElement()

template<class TGeometry>
virtual TPZCompEl* TPZMultiphysicsCompEl< TGeometry >::ReferredElement ( int64_t  mesh)
inlineoverridevirtual

Returns referred element of this.

Implements TPZMultiphysicsElement.

Definition at line 254 of file pzmultiphysicscompel.h.

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

◆ SetConnectIndex()

template<class TGeometry >
void TPZMultiphysicsCompEl< TGeometry >::SetConnectIndex ( int  inode,
int64_t  index 
)
overridevirtual

Set the index i to node inode.

Parameters
inodenode to set index
indexindex to be seted

Implements TPZCompEl.

Definition at line 497 of file pzmultiphysicscompel.cpp.

References TPZMultiphysicsCompEl< TGeometry >::fConnectIndexes.

Referenced by TPZMultiphysicsCompEl< TGeometry >::ComputeRequiredData().

◆ SetConnectIndexes()

template<class TGeometry>
virtual void TPZMultiphysicsCompEl< TGeometry >::SetConnectIndexes ( TPZVec< int64_t > &  indexes)
inlineoverridevirtual

◆ SetCreateFunctions()

template<class TGeometry >
void TPZMultiphysicsCompEl< TGeometry >::SetCreateFunctions ( TPZCompMesh mesh)
overridevirtual

Sets create function in TPZCompMesh to create elements of this type.

Reimplemented from TPZCompEl.

Definition at line 387 of file pzmultiphysicscompel.h.

References TPZCompMesh::SetAllCreateFunctionsMultiphysicElem().

Referenced by TPZMultiphysicsCompEl< TGeometry >::ComputeRequiredData().

◆ SetIntegrationRule()

template<class TGeometry >
void TPZMultiphysicsCompEl< TGeometry >::SetIntegrationRule ( int  int_order)
overridevirtual

◆ Solution()

template<class TGeometry >
void TPZMultiphysicsCompEl< TGeometry >::Solution ( TPZVec< REAL > &  qsi,
int  var,
TPZVec< STATE > &  sol 
)
overridevirtual

Member Data Documentation

◆ fConnectIndexes

template<class TGeometry>
TPZVec<int64_t> TPZMultiphysicsCompEl< TGeometry >::fConnectIndexes
protected

◆ fElementVec

template<class TGeometry>
TPZManVector<TPZCompElSide ,5> TPZMultiphysicsCompEl< TGeometry >::fElementVec
protected

◆ fIntRule

template<class TGeometry>
TGeometry::IntruleType TPZMultiphysicsCompEl< TGeometry >::fIntRule
protected

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