NeoPZ
Public Member Functions | Static Public Member Functions | Protected Attributes | Private Attributes | Static Private Attributes | List of all members

Defines the interface of a computational element. Computational Element. More...

#include <pzcompel.h>

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

Public Member Functions

virtual int ClassId () const override
 Define the class id associated with the class. More...
 
 TPZCompEl ()
 Simple Constructor. More...
 
virtual ~TPZCompEl ()
 Simple destructor. More...
 
virtual TPZCompElClone (TPZCompMesh &mesh) const =0
 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 =0
 Method for creating a copy of the element in a patch mesh. 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 void CalcStiff (TPZElementMatrix &ek, TPZElementMatrix &ef)
 Computes the element stifness matrix and right hand side. 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 EvaluateError (std::function< void(const TPZVec< REAL > &loc, TPZVec< STATE > &val, TPZFMatrix< STATE > &deriv)> func, TPZVec< REAL > &errors, bool store_error)
 Performs an error estimate on the elemen. More...
 
virtual void ComputeError (int errorid, TPZVec< REAL > &error)
 ComputeError computes the element error estimator. More...
 
virtual void CreateGraphicalElement (TPZGraphMesh &graphmesh, int dimension)
 Creates corresponding graphical element(s) if the dimension matches graphical elements are used to generate output files. 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 int NumberOfCompElementsInsideThisCompEl ()
 Return the size of the elementvec in multiphysics, if it is not multiphysics, just return 1. 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 void Solution (TPZVec< REAL > &qsi, int var, TPZVec< STATE > &sol)
 Calculates the solution - sol - for the variable var at point qsi, where qsi is expressed in terms of the master element coordinates. 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 BuildCornerConnectList (std::set< int64_t > &connectindexes) const =0
 adds the connect indexes associated with base shape functions to the set 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 SetConnectIndex (int inode, int64_t index)=0
 Set the index i to node inode. 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 int ComputeIntegrationOrder () const
 
virtual void SetIntegrationRule (TPZIntPoints *intrule)
 Method to set a dynamically allocated integration rule. More...
 
virtual void SetIntegrationRule (int order)
 
virtual const TPZIntPointsGetIntegrationRule () const
 
Access

Access to private data

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 NConnects () const =0
 Returns the number of nodes of the element. 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 int64_t ConnectIndex (int i) const =0
 Returns the index of the ith connectivity of the element. More...
 
virtual TPZConnectConnect (int i) const
 Returns a pointer to the ith node. More...
 
virtual int Dimension () const =0
 Dimension of the element. 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...
 
MODIFICATION_OF_PRIVATE_DATA

Methods that modify private data

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...
 
- 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
 

Static Public Member Functions

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)
 

Protected Attributes

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...
 

Private Attributes

int64_t fReferenceIndex
 Index of reference element. More...
 

Static Private Attributes

static int gOrder
 Default interpolation order. More...
 

Print methods

Methods for print data structure

virtual void Print (std::ostream &out=std::cout) const
 Prints element data. 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...
 
std::ostream & operator<< (std::ostream &s, TPZCompEl &el)
 Output device operator. More...
 

Detailed Description

Defines the interface of a computational element. Computational Element.

Definition at line 59 of file pzcompel.h.

Constructor & Destructor Documentation

◆ TPZCompEl() [1/5]

TPZCompEl::TPZCompEl ( )

Simple Constructor.

Definition at line 117 of file pzcompel.cpp.

◆ ~TPZCompEl()

TPZCompEl::~TPZCompEl ( )
virtual

◆ TPZCompEl() [2/5]

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

Put a copy of the element in the referred mesh.

Definition at line 128 of file pzcompel.cpp.

References TPZIntPoints::Clone(), TPZCompMesh::ElementVec(), fIndex, fIntegrationRule, fMesh, and fReferenceIndex.

◆ TPZCompEl() [3/5]

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

Put a copy of the element in the patch mesh.

Definition at line 150 of file pzcompel.cpp.

References TPZIntPoints::Clone(), DebugStop, TPZCompMesh::ElementVec(), fIndex, fIntegrationRule, fMesh, fReferenceIndex, and LOGPZ_ERROR.

◆ TPZCompEl() [4/5]

TPZCompEl::TPZCompEl ( TPZCompMesh mesh,
const TPZCompEl copy,
int64_t &  index 
)

Copy of the element in the new mesh returning allocated index.

Definition at line 139 of file pzcompel.cpp.

References TPZAdmChunkVector< T, EXP >::AllocateNewElement(), TPZIntPoints::Clone(), TPZCompMesh::ElementVec(), fIndex, fIntegrationRule, fMesh, and fReferenceIndex.

◆ TPZCompEl() [5/5]

TPZCompEl::TPZCompEl ( TPZCompMesh mesh,
TPZGeoEl gel,
int64_t &  index 
)

Creates a computational element within mesh. Inserts the element within the data structure of the mesh.

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

Definition at line 120 of file pzcompel.cpp.

References TPZAdmChunkVector< T, EXP >::AllocateNewElement(), TPZCompMesh::ElementVec(), fIndex, fMesh, fReferenceIndex, and TPZGeoEl::Index().

Member Function Documentation

◆ AddShapeRestraint()

virtual void TPZCompEl::AddShapeRestraint ( TPZOneShapeRestraint  restraint)
inlinevirtual

Add a shape restraint (meant to fit the pyramid to restraint.

Reimplemented in TPZInterpolatedElement, TPZMultiphysicsElement, TPZCompElHDivBound2< TSHAPE >, and TPZCompElHDiv< TSHAPE >.

Definition at line 426 of file pzcompel.h.

References DebugStop.

Referenced by TPZCompMeshTools::ExpandHDivPyramidRestraints().

◆ Assemble()

void TPZCompEl::Assemble ( )
inlinevirtual

Computes the element stifness matrix and right hand side in an internal data structure. Used for initializing condensed element data structures.

Reimplemented in TPZSubCompMesh, and TPZCondensedCompEl.

Definition at line 790 of file pzcompel.h.

Referenced by NeedsComputing().

◆ BuildConnectList() [1/3]

void TPZCompEl::BuildConnectList ( std::set< int64_t > &  indepconnectlist,
std::set< int64_t > &  depconnectlist 
)
virtual

◆ BuildConnectList() [2/3]

void TPZCompEl::BuildConnectList ( TPZStack< int64_t > &  connectlist) const
virtual

Builds the list of all connectivities related to the element including the connects pointed to by dependent connects.

Parameters
connectliststack to receive the list
Note
Note : this method does not reset the stack to zero. The calling method should do this

Definition at line 452 of file pzcompel.cpp.

References TPZConnect::BuildConnectList(), Connect(), ConnectIndex(), TPZCompMesh::ConnectVec(), TPZConnect::TPZDepend::fDepConnectIndex, TPZConnect::FirstDepend(), TPZConnect::TPZDepend::fNext, GetShapeRestraints(), TPZConnect::HasDependency(), HasDependency(), Mesh(), NConnects(), TPZVec< T >::NElements(), TPZManVector< T, NumExtAlloc >::Resize(), and TPZVec< T >::size().

◆ BuildConnectList() [3/3]

void TPZCompEl::BuildConnectList ( std::set< int64_t > &  connectlist)
virtual

Builds the list of all connectivities related to the element including the connects pointed to by dependent connects.

Parameters
connectliststack to receive the list
Note
Note : this method ADDS connects to the set.

Definition at line 528 of file pzcompel.cpp.

References TPZConnect::BuildConnectList(), ConnectIndex(), TPZCompMesh::ConnectVec(), TPZConnect::TPZDepend::fDepConnectIndex, TPZConnect::FirstDepend(), GetShapeRestraints(), TPZConnect::HasDependency(), Mesh(), and NConnects().

◆ BuildCornerConnectList()

virtual void TPZCompEl::BuildCornerConnectList ( std::set< int64_t > &  connectindexes) const
pure virtual

◆ CalcBlockDiagonal()

void TPZCompEl::CalcBlockDiagonal ( TPZStack< int64_t > &  connectlist,
TPZBlockDiagonal< STATE > &  block 
)
virtual

Calculates the diagonal block.

Parameters
connectliststack list to calculates the diagonal block
blockobject to receive the diagonal block

Definition at line 51 of file pzcompel.cpp.

References TPZBlockDiagonal< TVar >::AddBlock(), TPZElementMatrix::ApplyConstraints(), TPZElementMatrix::EF, TPZElementMatrix::EK, TPZBlock< TVar >::fBlock, gOrder, TPZConnect::HasDependency(), TPZBlockDiagonal< TVar >::Initialize(), and TPZConnect::IsCondensed().

Referenced by TPZBlockDiagonalStructMatrix::AssembleBlockDiagonal(), and ReduceInternalNodes().

◆ CalcResidual()

void TPZCompEl::CalcResidual ( TPZElementMatrix ef)
virtual

◆ CalcStiff()

void TPZCompEl::CalcStiff ( TPZElementMatrix ek,
TPZElementMatrix ef 
)
inlinevirtual

Computes the element stifness matrix and right hand side.

Parameters
ekelement stiffness matrix
efelement load vector

Reimplemented in TPZMultiphysicsCompEl< TGeometry >, TPZSubCompMesh, TPZElementGroup, TPZInterfaceElement, TPZCondensedCompEl, TPZCompElLagrange, TPZInterpolationSpace, TPZAgglomerateElement, TPZMultiphysicsInterfaceElement, TPZMultiphysicsElement, and TPZSBFemElementGroup.

Definition at line 794 of file pzcompel.h.

Referenced by TPZFrontStructMatrix< front >::Assemble(), TPZFrontStructMatrix< front >::AssembleNew(), CalcResidual(), TPZCondensedCompEl::CalcStiff(), TPZElementGroup::CalcStiff(), TPZEulerAnalysis::CompareRhs(), TPZParFrontStructMatrix< front >::ElementAssemble(), TPZStructMatrixST::ExecuteAssemble(), TPZStructMatrixGCTP::MultiThread_Assemble(), NeedsComputing(), TPZStructMatrixCS::ThreadData::NextElement(), TPZGradientReconstruction::ProjectionL2GradientReconstructed(), parallel_assemble_task_t< TVar >::push_work_item(), TPZCondensedCompEl::Resequence(), parallel_assemble_task_t< TVar >::run_serial(), TPZStructMatrixGCTP::Serial_Assemble(), TPZStructMatrixGC::Serial_Assemble(), TPZStructMatrixCS::Serial_Assemble(), TPZStructMatrixOT::Serial_Assemble(), TPZStructMatrixOR::Serial_Assemble(), TPZPairStructMatrix::SerialAssemble(), TPZStructMatrixOR::ThreadData::ThreadWork(), TPZPairStructMatrix::ThreadData::ThreadWork(), TPZStructMatrixGC::ThreadData::ThreadWork(), TPZStructMatrixCS::ThreadData::ThreadWork(), TPZStructMatrixOT::ThreadData::ThreadWork(), and TPZStructMatrixTBBFlow::Write().

◆ Chebyshev()

static void TPZCompEl::Chebyshev ( REAL  x,
int  num,
TPZFMatrix< REAL > &  phi,
TPZFMatrix< REAL > &  dphi 
)
static

Implements of the orthogonal Chebyshev functions.

Parameters
xpoint where the Chebyshev function will be evaluated
numnumber of functions
phivalues of the function
dphivalues of derivative of the function

Referenced by NeedsComputing().

◆ ClassId()

int TPZCompEl::ClassId ( ) const
overridevirtual

◆ Clone()

virtual TPZCompEl* TPZCompEl::Clone ( TPZCompMesh mesh) const
pure virtual

◆ ClonePatchEl()

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

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

Implemented in TPZElementGroup, TPZReducedSpace, TPZInterfaceElement, TPZCompElDisc, TPZCondensedCompEl, TPZCompElLagrange, TPZSBFemVolume, TPZMultiphysicsCompEl< TGeometry >, TPZSubCompMesh, TPZMultiphysicsInterfaceElement, TPZCompElHDivPressureBound< TSHAPE >, TPZCompElHDivBound2< TSHAPE >, TPZCompElHDiv< TSHAPE >, TPZIntelGen< TSHAPE >, and TPZCompElHDivPressure< TSHAPE >.

Referenced by TPZCondensedCompEl::ClonePatchEl().

◆ CompareElement()

REAL TPZCompEl::CompareElement ( int  var,
char *  matname 
)
virtual

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.

Parameters
varstate variable number
matnameonly contribute to the norm if the material name matches the name of the material of the element

Reimplemented in TPZInterpolatedElement, and TPZSubCompMesh.

Definition at line 593 of file pzcompel.cpp.

References LOGPZ_WARN.

Referenced by TPZCompMesh::CompareMesh(), and VolumeOfEl().

◆ ComputeError()

virtual void TPZCompEl::ComputeError ( int  errorid,
TPZVec< REAL > &  error 
)
inlinevirtual

ComputeError computes the element error estimator.

Reimplemented in TPZInterpolationSpace.

Definition at line 353 of file pzcompel.h.

References CreateGraphicalElement(), dimension, and PZError.

Referenced by TPZCompMesh::AssembleError().

◆ ComputeIntegrationOrder()

int TPZCompEl::ComputeIntegrationOrder ( ) const
virtual

◆ ComputeSolution() [1/4]

virtual void TPZCompEl::ComputeSolution ( TPZVec< REAL > &  qsi,
TPZMaterialData data 
)
inlinevirtual

◆ ComputeSolution() [2/4]

void TPZCompEl::ComputeSolution ( TPZVec< REAL > &  qsi,
TPZSolVec sol,
TPZGradSolVec dsol,
TPZFMatrix< REAL > &  axes 
)
virtual

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 in TPZCompElDisc, TPZSubCompMesh, TPZSBFemVolume, TPZInterfaceElement, TPZCompElHDiv< TSHAPE >, TPZInterpolatedElement, TPZMultiphysicsCompEl< TGeometry >, TPZCondensedCompEl, and TPZCompElHDivPressure< TSHAPE >.

Definition at line 984 of file pzcompel.cpp.

References DebugStop.

◆ ComputeSolution() [3/4]

void TPZCompEl::ComputeSolution ( TPZVec< REAL > &  qsi,
TPZVec< REAL > &  normal,
TPZSolVec leftsol,
TPZGradSolVec dleftsol,
TPZFMatrix< REAL > &  leftaxes,
TPZSolVec rightsol,
TPZGradSolVec drightsol,
TPZFMatrix< REAL > &  rightaxes 
)
virtual

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 in TPZCompElDisc, TPZSubCompMesh, TPZInterfaceElement, TPZCompElHDiv< TSHAPE >, TPZInterpolatedElement, TPZCondensedCompEl, and TPZMultiphysicsCompEl< TGeometry >.

Definition at line 1003 of file pzcompel.cpp.

References DebugStop.

◆ ComputeSolution() [4/4]

void TPZCompEl::ComputeSolution ( TPZVec< REAL > &  qsi,
TPZFMatrix< REAL > &  phi,
TPZFMatrix< REAL > &  dphix,
const TPZFMatrix< REAL > &  axes,
TPZSolVec sol,
TPZGradSolVec dsol 
)
virtual

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 in TPZCompElDisc, TPZSubCompMesh, TPZInterfaceElement, TPZCompElHDiv< TSHAPE >, TPZInterpolatedElement, TPZCondensedCompEl, TPZMultiphysicsCompEl< TGeometry >, TPZCompElHDivPressure< TSHAPE >, and TPZReducedSpace.

Definition at line 1021 of file pzcompel.cpp.

References DebugStop.

◆ Connect()

TPZConnect & TPZCompEl::Connect ( int  i) const
virtual

Returns a pointer to the ith node.

Parameters
inode index

Definition at line 298 of file pzcompel.cpp.

References ConnectIndex(), TPZCompMesh::ConnectVec(), DebugStop, fMesh, LOGPZ_ERROR, LOGPZ_FATAL, Print(), TPZGeoEl::Print(), and Reference().

Referenced by TPZBuildMultiphysicsMesh::AddWrap(), TPZCompMeshTools::AdjustFluxPolynomialOrders(), TPZInterpolatedElement::AdjustPreferredSideOrder(), TPZPostProcAnalysis::AutoBuildDisc(), TPZMHMixedMeshChannelControl::BuildComputationalMesh(), BuildConnectList(), TPZCondensedCompEl::BuildCornerConnectList(), TPZBuildMultiphysicsMesh::BuildHybridMesh(), TPZInterpolationSpace::BuildTransferMatrix(), TPZInterpolatedElement::BuildTransferMatrix(), TPZCompElDisc::BuildTransferMatrix(), TPZInterpolatedElement::CalcIntegral(), TPZSBFemElementGroup::CalcStiff(), TPZAgglomerateElement::CalcStiff(), TPZCompElLagrange::CalcStiff(), TPZCondensedCompEl::CalcStiff(), TPZSubCompMesh::CalcStiff(), Hdiv2dPaper201504::ChangeExternalOrderConnects(), hdivCurvedJCompAppMath::ChangeExternalOrderConnects(), Hdiv3dPaper201504::ChangeExternalOrderConnects(), TPZCheckMesh::CheckConnectOrderConsistency(), TPZInterpolatedElement::CheckElementConsistency(), TPZCheckMesh::CheckElementShapeDimension(), TPZMHMixedHybridMeshControl::CheckMeshConsistency(), Hdiv2dPaper201504::CMeshMixed(), hdivCurvedJCompAppMath::CMeshMixed(), Hdiv3dPaper201504::CMeshMixed(), TPZInterpolatedElement::CompareShapeF(), TPZCompElHDiv< TSHAPE >::ComputeShapeIndex(), TPZReducedSpace::ComputeSolution(), TPZInterpolatedElement::ComputeSolution(), TPZCompElDisc::ComputeSolution(), TPZCompElHDiv< TSHAPE >::ComputeSolutionHDiv(), TPZCompElHDivPressure< TSHAPE >::ComputeSolutionPressureHDiv(), TPZCompElHDivBound2< TSHAPE >::ConnectOrder(), TPZIntelGen< TSHAPE >::ConnectOrder(), TPZCompElHDivPressureBound< TSHAPE >::ConnectOrder(), TPZCompElHDiv< TSHAPE >::ConnectOrder(), TPZCompMeshTools::CreatedCondensedElements(), TPZMHMeshControl::CreateLagrangeMultiplierMesh(), TPZMHMixedHybridMeshControl::CreateLowerDimensionPressureElements(), TPZInterpolatedElement::CreateMidSideConnect(), TPZMHMixedHybridMeshControl::CreatePressureInterfaces(), TPZMHMeshControl::CreateSkeleton(), TPZCompElDisc::Degree(), TPZIntelGen< TSHAPE >::EffectiveSideOrder(), TPZMGAnalysis::ElementError(), TPZCompElHDiv< TSHAPE >::FillOrder(), TPZIntelGen< TSHAPE >::GetInterpolationOrder(), HasDependency(), TPZHybridizeHDiv::HybridizeInternalSides(), TPZMHMixedMeshControl::HybridizeSkeleton(), TPZMHMeshControl::HybridizeSkeleton(), TPZDohrStructMatrix::IdentifyCornerNodes(), TPZElastoPlasticAnalysis::IdentifyEquationsToZero(), TPZInterpolatedElement::IdentifySideOrder(), TPZCompElHDiv< TSHAPE >::IndexShapeToVec2(), TPZSubCompMesh::InitializeEF(), TPZInterfaceElement::InitializeElementMatrix(), TPZReducedSpace::InitializeElementMatrix(), TPZMultiphysicsInterfaceElement::InitializeElementMatrix(), TPZInterpolationSpace::InitializeElementMatrix(), TPZCompElLagrange::InitializeElementMatrix(), TPZElementGroup::InitializeElementMatrix(), TPZMultiphysicsCompEl< TGeometry >::InitializeElementMatrix(), TPZCompElHDiv< TSHAPE >::InitMaterialData(), TPZInterpolationSpace::InterpolateSolution(), TCedricTest::LoadInterpolation(), TPZCompMeshTools::LoadSolution(), TPZCondensedCompEl::LoadSolution(), TPZSBFemElementGroup::LoadSolution(), TPZCreateApproximationSpace::MakeRaviartThomas(), TPZInterpolationSpace::MaxOrder(), TPZInterpolatedElement::MidSideConnect(), TPZReducedSpace::NConnectShapeF(), TPZCompElHDiv< TSHAPE >::NConnectShapeF(), TPZSBFemVolume::NConnectShapeF(), NeedsComputing(), NEquations(), TPZCompElHDiv< TSHAPE >::NFluxShapeF(), TPZReducedSpace::NShapeF(), TPZInterpolatedElement::NShapeF(), TPZSBFemVolume::NShapeF(), TPZInterpolatedElement::NSideShapeF(), TPZCompElHDiv< TSHAPE >::PRefine(), TPZInterpolatedElement::PRefine(), TPZInterpolatedElement::Print(), TPZSBFemVolume::Print(), TPZMHMixedHybridMeshControl::PrintFriendly(), TPZAnalysis::PrintVectorByElement(), TPZAgglomerateElement::ProjectSolution(), TPZCompMeshTools::PutinSubmeshes(), TPZInterpolatedElement::RemoveSideRestraintWithRespectTo(), TPZCondensedCompEl::Resequence(), ResequenceByGeometry(), TPZInterpolatedElement::RestrainSide(), TPZCompMesh::SaddlePermute(), TPZCompMesh::SaddlePermute2(), TPZSBFemVolume::SetElementGroupIndex(), TPZCompElHDivBound2< TSHAPE >::SetSideOrder(), TPZIntelGen< TSHAPE >::SetSideOrder(), TPZCompElHDivPressureBound< TSHAPE >::SetSideOrder(), TPZCompElHDiv< TSHAPE >::SetSideOrder(), hdivCurvedJCompAppMath::SetupDisconnectedHdivboud(), TPZIntelGen< TSHAPE >::Shape(), TPZCompElHDivBound2< TSHAPE >::Shape(), TPZInterpolationSpace::SideConnect(), TPZIntelGen< TSHAPE >::SideShapeFunction(), TPZCompElHDivBound2< TSHAPE >::SideShapeFunction(), TPZCompElHDiv< TSHAPE >::SideShapeFunction(), TPZCompElDisc::SolutionX(), TPZMHMeshControl::SubStructure(), TPZCheckRestraint::TPZCheckRestraint(), TPZGraphEl::TPZGraphEl(), TPZMultiphysicsElement::TransferMultiphysicsElementSolution(), TPZCreateApproximationSpace::UndoMakeRaviartThomas(), TPZCondensedCompEl::Unwrap(), TPZInterpolatedElement::VerifyConstraintConsistency(), TPZCompElHDiv< TSHAPE >::~TPZCompElHDiv(), TPZCompElHDivBound2< TSHAPE >::~TPZCompElHDivBound2(), and TPZMultiphysicsCompEl< TGeometry >::~TPZMultiphysicsCompEl().

◆ ConnectIndex()

virtual int64_t TPZCompEl::ConnectIndex ( int  i) const
pure virtual

Returns the index of the ith connectivity of the element.

Parameters
iconnectivity index who want knows

Implemented in TPZSubCompMesh, TPZCompElDisc, TPZInterfaceElement, TPZReducedSpace, TPZCompElLagrange, TPZMultiphysicsInterfaceElement, TPZSBFemVolume, TPZMultiphysicsCompEl< TGeometry >, TPZCompElHDiv< TSHAPE >, TPZElementGroup, TPZIntelGen< TSHAPE >, TPZCompElHDivPressure< TSHAPE >, and TPZCondensedCompEl.

Referenced by TPZBuildMultiphysicsMesh::AddConnects(), TPZMultiphysicsCompMesh::AddConnects(), TPZElementGroup::AddElement(), TPZSBFemElementGroup::AddElement(), TPZBuildMultiphysicsMesh::AddWrap(), TPZInterpolatedElement::AdjustPreferredSideOrder(), TPZBuildMultiphysicsMesh::AppendConnects(), TPZPostProcAnalysis::AutoBuildDisc(), TPZMHMixedMeshChannelControl::BuildComputationalMesh(), BuildConnectList(), TPZInterpolatedElement::BuildCornerConnectList(), TPZInterpolationSpace::BuildTransferMatrix(), TPZInterpolatedElement::BuildTransferMatrix(), TPZInterpolatedElement::CalcIntegral(), TPZElementGroup::CalcStiff(), Hdiv2dPaper201504::ChangeExternalOrderConnects(), hdivCurvedJCompAppMath::ChangeExternalOrderConnects(), Hdiv3dPaper201504::ChangeExternalOrderConnects(), TPZInterpolatedElement::CheckConstraintConsistency(), TPZCheckMesh::CheckConstraintDimension(), TPZCheckMesh::CheckElementShapeDimension(), TPZSBFemElementGroup::ComputeMatrices(), Connect(), TPZCondensedCompEl::ConnectIndex(), TPZSBFemVolume::ConnectIndex(), TPZInterfaceElement::ConnectIndex(), TPZCompElSide::ConnectIndex(), TPZMHMixedHybridMeshControl::CreateAxialFluxElement(), TPZMHMixedHybridMeshControl::CreateHDivWrappers(), TPZMHMeshControl::CreateInternalElements(), TPZInterpolatedElement::CreateMidSideConnect(), TPZCheckRestraint::Diagnose(), TPZCompElSide::Exists(), FillAtomic(), FindCapElement(), TPZInterpolatedElement::ForceSideOrder(), TPZInterfaceElement::GetConnects(), TPZMHMixedHybridMeshControl::GroupElements(), TPZGeoElSide::HigherDimensionElementList(), TPZMHMeshControl::HybridizeSkeleton(), TPZDohrStructMatrix::IdentifyCornerNodes(), TPZInterpolatedElement::IdentifySideOrder(), TPZInterpolationSpace::InitializeElementMatrix(), TPZInterpolationSpace::MaxOrder(), NeedsComputing(), PressureConnectIndex(), TPZCondensedCompEl::Print(), TPZInterpolatedElement::Print(), TPZSBFemElementGroup::Print(), Print(), TPZMHMixedHybridMeshControl::PrintFriendly(), TPZAnalysis::PrintVectorByElement(), TPZInterpolationSpace::ProjectFlux(), TPZCompElSide::RemoveConnectDuplicates(), TPZInterpolatedElement::RemoveSideRestraintWithRespectTo(), TPZInterpolatedElement::RestrainSide(), TPZSBFemVolume::SetElementGroupIndex(), TPZMultiphysicsInterfaceElement::SetLeftRightElementIndices(), TPZMHMeshControl::SetSubdomain(), TPZInterpolationSpace::SideConnectIndex(), TPZInterpolatedElement::SideConnectIndex(), TPZMHMixedHybridMeshControl::SplitFluxElementsAroundFractures(), TPZGenSubStruct::SubStructure(), TPZSubCompMesh::TransferElementFrom(), TPZSubCompMesh::TransferElementTo(), TPZBuildMultiphysicsMesh::TransferFromMeshes(), TPZMHMeshControl::TransferToMultiphysics(), TPZCheckMesh::VerifyConnect(), TPZMHMixedMeshChannelControl::WhichSubdomain(), and TPZMHMeshControl::WhichSubdomain().

◆ CreateGraphicalElement()

void TPZCompEl::CreateGraphicalElement ( TPZGraphMesh graphmesh,
int  dimension 
)
inlinevirtual

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 in TPZIntelGen< TSHAPE >, TPZSBFemVolume, TPZCompElDisc, TPZInterfaceElement, TPZMultiphysicsCompEl< TGeometry >, TPZSubCompMesh, TPZCompElHDiv< TSHAPE >, TPZMultiphysicsInterfaceElement, TPZCondensedCompEl, TPZElementGroup, TPZAgglomerateElement, TPZReducedSpace, TPZCompElLagrange, TPZCompElHDivPressure< TSHAPE >, TPZIntelGen< TSHAPE >, and TPZMultiphysicsElement.

Definition at line 785 of file pzcompel.h.

References Print().

Referenced by ComputeError(), TPZCondensedCompEl::CreateGraphicalElement(), TPZSubCompMesh::CreateGraphicalElement(), TPZGraphMesh::SetCompMesh(), and TPZGraphMesh::TPZGraphMesh().

◆ Dimension()

virtual int TPZCompEl::Dimension ( ) const
pure virtual

Dimension of the element.

Implemented in TPZCompElDisc, TPZSubCompMesh, TPZInterfaceElement, TPZAgglomerateElement, TPZReducedSpace, TPZCompElLagrange, TPZMultiphysicsInterfaceElement, TPZSBFemVolume, TPZInterpolatedElement, TPZMultiphysicsCompEl< TGeometry >, TPZCondensedCompEl, TPZCompElHDivPressureBound< TSHAPE >, TPZCompElHDiv< TSHAPE >, TPZCompElHDivBound2< TSHAPE >, TPZCompElHDivPressure< TSHAPE >, TPZIntelGen< TSHAPE >, and TPZElementGroup.

Referenced by TPZInterpolationSpace::BuildTransferMatrix(), TPZCompMesh::BuildTransferMatrix(), TPZCompMesh::BuildTransferMatrixDesc(), TPZInterpolationSpace::CalcResidual(), TPZInterfaceElement::CalcResidual(), TPZMultiphysicsInterfaceElement::CalcStiff(), TPZInterpolationSpace::CalcStiff(), TPZInterfaceElement::CalcStiff(), Hdiv2dPaper201504::ChangeExternalOrderConnects(), hdivCurvedJCompAppMath::ChangeExternalOrderConnects(), Hdiv3dPaper201504::ChangeExternalOrderConnects(), Hdiv2dPaper201504::CMeshMixed(), hdivCurvedJCompAppMath::CMeshMixed(), Hdiv3dPaper201504::CMeshMixed(), TPZInterpolationSpace::ComputeError(), TPZInterfaceElement::ComputeErrorFace(), TPZInterpolationSpace::ComputeRequiredData(), TPZAgglomerateElement::CreateAgglomerateMesh(), TPZMultiphysicsElement::CreateInterface(), TPZInterpolationSpace::CreateInterface(), TPZCondensedCompEl::Dimension(), TPZReducedSpace::Dimension(), TPZInterpolationSpace::EvaluateError(), TPZInterfaceElement::InitMaterialData(), TPZInterpolationSpace::InitMaterialData(), TPZInterpolationSpace::IntegrateSolution(), TPZInterpolationSpace::InterpolateSolution(), TPZAgglomerateElement::ListOfGroupings(), TPZInterpolationSpace::MinMaxSolutionValues(), NeedsComputing(), Print(), TPZInterpolationSpace::ProjectFlux(), TPZGradientReconstruction::ProjectionL2GradientReconstructed(), TPZCompMesh::ProjectSolution(), TPZGradientReconstruction::TPZGradientData::SetCel(), TPZInterfaceElement::SetLeftRightElements(), hdivCurvedJCompAppMath::SetupDisconnectedHdivboud(), TPZGenSubStruct::SubStructure(), TPZBuildMultiphysicsMesh::UniformRefineCompEl(), and TPZBuildMultiphysicsMesh::UniformRefineCompMesh().

◆ Divide()

void TPZCompEl::Divide ( int64_t  index,
TPZVec< int64_t > &  subindex,
int  interpolate = 0 
)
inlinevirtual

Divide the computational element. If interpolate = 1, the solution is interpolated to the sub elements.

Parameters
indexindex of the element which is being divided
subindexelement vector where will be created the divided elements
interpolateboolean variable to indicates if the solution will be interpolated to the sub elementsThis method needs to be implemented in the derived classes

Reimplemented in TPZInterpolatedElement, and TPZCompElDisc.

Definition at line 410 of file pzcompel.cpp.

References LOGPZ_WARN, and TPZVec< T >::Resize().

Referenced by TPZCompMesh::Divide(), TPZCompMeshReferred::DivideReferredEl(), NeedsComputing(), TPZBuildMultiphysicsMesh::UniformRefineCompEl(), and TPZBuildMultiphysicsMesh::UniformRefineCompMesh().

◆ EvaluateError()

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

◆ ForcePrepareIntPtIndices()

virtual void TPZCompEl::ForcePrepareIntPtIndices ( )
inlinevirtual

PrepareIntPtIndices initializes the material damage varibles memory in the proper material class.

Definition at line 400 of file pzcompel.h.

◆ GetgOrder()

int TPZCompEl::GetgOrder ( )
inlinestatic

Set the default value of the interpolation order.

Definition at line 830 of file pzcompel.h.

References gOrder.

Referenced by TPZDiffusionConsLaw::DeltaOtimo(), TPZGradientReconstruction::TPZGradientData::GetCenterPointAndCellAveraged(), and TPZCompMesh::TPZCompMesh().

◆ GetIntegrationRule()

virtual const TPZIntPoints& TPZCompEl::GetIntegrationRule ( ) const
inlinevirtual

◆ GetMemoryIndices()

virtual void TPZCompEl::GetMemoryIndices ( TPZVec< int64_t > &  indices) const
inlinevirtual

Get the indices of the vector of element memory associated with the integration points.

Will return an empty vector if no memory is associated with the integration point Is implemented in TPZCompElWithMem

Definition at line 376 of file pzcompel.h.

References TPZVec< T >::resize().

◆ GetRefElPatch()

TPZGeoEl * TPZCompEl::GetRefElPatch ( )

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.

Definition at line 615 of file pzcompel.cpp.

References TPZGeoElSide::EqualLevelCompElementList(), TPZGeoEl::Father(), Index(), LOGPZ_DEBUG, LOGPZ_ERROR, TPZVec< T >::NElements(), TPZGeoEl::NSides(), TPZStack< T, NumExtAlloc >::Pop(), Print(), TPZGeoEl::Print(), TPZStack< T, NumExtAlloc >::Push(), Reference(), pztopology::sidedimension, and TPZGeoEl::SideDimension().

Referenced by NeedsComputing().

◆ GetShapeRestraints()

virtual std::list<TPZOneShapeRestraint> TPZCompEl::GetShapeRestraints ( ) const
inlinevirtual

◆ HasDependency()

int TPZCompEl::HasDependency ( )
virtual

◆ HasMaterial()

bool TPZCompEl::HasMaterial ( const std::set< int > &  materialids) const
virtual

Verifies if the material associated with the element is contained in the set.

Verify if the material associated with the element is contained in the set

Reimplemented in TPZSubCompMesh, TPZElementGroup, and TPZCondensedCompEl.

Definition at line 968 of file pzcompel.cpp.

References TPZGeoEl::MaterialId(), and Reference().

Referenced by TPZCompMesh::ComputeElGraph(), TPZCondensedCompEl::HasMaterial(), TPZElementGroup::HasMaterial(), TPZSubCompMesh::HasMaterial(), and NeedsComputing().

◆ Index()

int64_t TPZCompEl::Index ( ) const
inline

Returns element index of the mesh fELementVec list.

Definition at line 821 of file pzcompel.h.

References fIndex.

Referenced by TPZElementGroup::AddElement(), TPZSubMeshAnalysis::Assemble(), TPZFrontStructMatrix< front >::AssembleElement(), TPZCompMesh::AssembleError(), AssembleMatrices(), TPZMHMixedMeshChannelControl::BuildComputationalMesh(), TPZSBFemElementGroup::CalcStiff(), TPZCondensedCompEl::CalcStiff(), TPZInterfaceElement::CalcStiff(), TPZElementGroup::CalcStiff(), TPZCheckMesh::CheckConstraintDimension(), TPZDohrStructMatrix::ClusterIslands(), Hdiv2dPaper201504::CMeshMixed(), hdivCurvedJCompAppMath::CMeshMixed(), Hdiv3dPaper201504::CMeshMixed(), ComputeError(), TPZSBFemElementGroup::ComputeMatrices(), TPZSubCompMesh::ComputePermutationInternalFirst(), TPZCompMesh::ConvertDiscontinuous2Continuous(), TPZDohrStructMatrix::CorrectNeighbourDomainIndex(), TPZDohrStructMatrix::Create(), TPZAgglomerateElement::CreateAgglomerateMesh(), TPZBuildSBFem::CreateElementGroups(), TPZMHMixedHybridMeshControl::CreateHDivWrappers(), TPZMHMeshControl::CreateInterfaceElements(), TPZMHMixedHybridMeshControl::CreateMultiPhysicsInterfaceElements(), TPZMHMixedMeshControl::CreateMultiPhysicsInterfaceElements(), TPZInterpolatedElement::Divide(), TPZCompMesh::Divide(), TPZCompMeshReferred::DivideReferredEl(), TPZMultiphysicsCompEl< TGeometry >::EvaluateError(), TPZInterpolationSpace::EvaluateError(), TPZSubCompMesh::EvaluateError(), TPZCompElHDivBound2< TSHAPE >::FirstShapeIndex(), TPZCompElHDiv< TSHAPE >::FirstShapeIndex(), GetRefElPatch(), TPZCompMeshTools::GroupElements(), TPZMHMixedHybridMeshControl::GroupElements(), TPZAnalysisError::HPAdapt(), TPZMHMeshControl::HybridizeSkeleton(), TPZAgglomerateElement::IndexesDiscSubEls(), TPZSubCompMesh::IsAllowedElement(), TPZCompMeshReferred::LoadReferred(), TPZCondensedCompEl::LoadSolution(), TPZMGAnalysis::MeshError(), TPZCompElHDivBound2< TSHAPE >::NCornerConnects(), TPZCompElHDivPressureBound< TSHAPE >::NCornerConnects(), NeedsComputing(), TPZGeoEl::NormalOrientation(), operator<<(), TPZCompMesh::Permute(), TPZCompElHDiv< TSHAPE >::PRefine(), TPZInterpolatedElement::PRefine(), TPZCondensedCompEl::Print(), TPZMultiphysicsInterfaceElement::Print(), TPZInterfaceElement::Print(), TPZGeoEl::Print(), TPZMHMeshControl::PrintBoundaryInfo(), TPZVTKGeoMesh::PrintCMeshVTK(), TPZMHMixedHybridMeshControl::PrintFriendly(), TPZMHMeshControl::PrintSubdomain(), TPZReducedSpace::ReferredIntel(), TPZMultiphysicsElement::RemoveInterface(), TPZInterpolationSpace::RemoveInterface(), TPZDohrStructMatrix::SeparateUnconnected(), TPZStructMatrixGCTP::Serial_Assemble(), TPZStructMatrixGC::Serial_Assemble(), TPZStructMatrixCS::Serial_Assemble(), TPZStructMatrixOT::Serial_Assemble(), TPZStructMatrixOR::Serial_Assemble(), TPZCompMeshTools::SetPressureOrders(), TPZCompElHDiv< TSHAPE >::SideOrient(), Solution(), TPZGenSubStruct::SubStructure(), TPZMHMeshControl::SubStructure(), TPZCompElHDivBound2< TSHAPE >::TPZCompElHDivBound2(), TPZCondensedCompEl::TPZCondensedCompEl(), TPZGraphEl::TPZGraphEl(), TPZInterfaceElement::TPZInterfaceElement(), TPZMultiphysicsInterfaceElement::TPZMultiphysicsInterfaceElement(), TPZPostProcAnalysis::TransferSolution(), TPZBuildMultiphysicsMesh::UniformRefineCompEl(), TPZBuildMultiphysicsMesh::UniformRefineCompMesh(), TPZInterfaceElement::Write(), TPZAnalysisError::ZoomInSingularity(), and ~TPZCompEl().

◆ InitializeIntegrationRule()

virtual void TPZCompEl::InitializeIntegrationRule ( )
inlinevirtual

◆ Integrate()

virtual void TPZCompEl::Integrate ( int  variable,
TPZVec< STATE > &  value 
)
inlinevirtual

Integrates a variable over the element.

Reimplemented in TPZInterfaceElement, TPZInterpolationSpace, TPZElementGroup, and TPZMultiphysicsCompEl< TGeometry >.

Definition at line 366 of file pzcompel.h.

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

◆ IntegrateSolution() [1/2]

TPZVec< STATE > TPZCompEl::IntegrateSolution ( int  var) const
virtual

◆ IntegrateSolution() [2/2]

TPZVec< STATE > TPZCompEl::IntegrateSolution ( const std::string &  varname,
const std::set< int > &  matids 
)
virtual

Compute the integral of a variable defined by the string if the material id is included in matids.

Compute the integral of a variable defined by the string.

Reimplemented in TPZSubCompMesh, TPZCondensedCompEl, and TPZElementGroup.

Definition at line 1089 of file pzcompel.cpp.

References DebugStop, TPZMaterial::Id(), IntegrateSolution(), Material(), and TPZMaterial::VariableIndex().

◆ IsInterface()

virtual int TPZCompEl::IsInterface ( )
inlinevirtual

◆ LesserEdgeOfEl()

REAL TPZCompEl::LesserEdgeOfEl ( )

Will return the smallest distance between two nodes of the reference element.

Definition at line 697 of file pzcompel.cpp.

References TPZGeoNode::Coord(), dist(), TPZGeoEl::Distance(), TPZGeoEl::NNodes(), TPZGeoEl::NodePtr(), and Reference().

Referenced by TPZCompMesh::LesserEdgeOfMesh(), and ReduceInternalNodes().

◆ LoadElementReference()

void TPZCompEl::LoadElementReference ( )
virtual

◆ LoadSolution()

void TPZCompEl::LoadSolution ( )
virtual

◆ Material()

TPZMaterial * TPZCompEl::Material ( ) const
virtual

Identify the material object associated with the element.

Identify the material object associated with the element

Definition at line 959 of file pzcompel.cpp.

References TPZCompMesh::FindMaterial(), fMesh, TPZGeoEl::MaterialId(), and Reference().

Referenced by TPZCompMesh::AdjustBoundaryElements(), TPZInterpolationSpace::AdjustIntegrationRule(), TPZInterpolatedElement::AdjustPreferredSideOrder(), TPZFrontStructMatrix< front >::Assemble(), TPZBuildMultiphysicsMesh::BuildHybridMesh(), TPZInterpolationSpace::BuildTransferMatrix(), TPZInterpolatedElement::BuildTransferMatrix(), TPZInterpolatedElement::CalcIntegral(), TPZCompElPostProc< TCOMPEL >::CalcResidual(), TPZInterpolationSpace::CalcResidual(), TPZInterfaceElement::CalcResidual(), TPZMultiphysicsCompEl< TGeometry >::CalcResidual(), TPZMultiphysicsInterfaceElement::CalcStiff(), TPZAgglomerateElement::CalcStiff(), TPZInterpolationSpace::CalcStiff(), TPZInterfaceElement::CalcStiff(), TPZMultiphysicsCompEl< TGeometry >::CalcStiff(), TPZGradientReconstruction::ChangeMaterialIdIntoCompElement(), TPZInterpolatedElement::CheckElementConsistency(), TPZInterpolatedElement::CompareElement(), TPZInterpolationSpace::ComputeError(), TPZInterfaceElement::ComputeErrorFace(), TPZInterfaceElement::ComputeNormal(), TPZMultiphysicsInterfaceElement::ComputeRequiredData(), TPZReducedSpace::ComputeSolution(), TPZInterpolatedElement::ComputeSolution(), TPZCompElDisc::ComputeSolution(), TPZCompElHDiv< TSHAPE >::ComputeSolutionHDiv(), TPZCompElHDivPressure< TSHAPE >::ComputeSolutionPressureHDiv(), TPZFlowCompMesh::ComputeTimeStep(), TPZGradientReconstruction::TPZGradientData::CreateGhostsNeighbors(), TPZCompElHDivPressure< TSHAPE >::CreateGraphicalElement(), TPZReducedSpace::CreateGraphicalElement(), TPZAgglomerateElement::CreateGraphicalElement(), TPZMultiphysicsInterfaceElement::CreateGraphicalElement(), TPZCompElHDiv< TSHAPE >::CreateGraphicalElement(), TPZMultiphysicsCompEl< TGeometry >::CreateGraphicalElement(), TPZCompElDisc::CreateGraphicalElement(), TPZMultiphysicsInterfaceElement::CreateIntegrationRule(), TPZMultiphysicsElement::CreateInterface(), TPZInterpolationSpace::CreateInterface(), TPZInterpolationSpace::CreateInterfaces(), TPZAnalysis::CreateListOfCompElsToComputeError(), TPZCompElDisc::CreateMidSideConnect(), TPZAgglomerateElement::CreateMidSideConnect(), TPZInterpolatedElement::CreateMidSideConnect(), TPZCompMesh::DeltaX(), TPZAgglomerateElement::Dimension(), TPZCompElDisc::Divide(), TPZMGAnalysis::ElementError(), TPZAnalysisError::EvaluateError(), TPZMultiphysicsCompEl< TGeometry >::EvaluateError(), TPZInterpolationSpace::EvaluateError(), TPZSBFemVolume::EvaluateError(), TPZCompMesh::EvaluateError(), TPZInterfaceElement::EvaluateInterfaceJump(), TPZCompElDisc::EvaluateSquareResidual2D(), TPZParFrontStructMatrix< front >::GlobalAssemble(), TPZPlacaOrthotropic::GradTensor(), TPZAnalysisError::HPAdapt(), TPZCreateApproximationSpace::Hybridize(), TPZPlacaOrthotropic::IdentifyCompEl(), TPZElastoPlasticAnalysis::IdentifyEquationsToZero(), TPZAgglomerateElement::InitializeElement(), TPZInterfaceElement::InitializeElementMatrix(), TPZReducedSpace::InitializeElementMatrix(), TPZMultiphysicsInterfaceElement::InitializeElementMatrix(), TPZInterpolationSpace::InitializeElementMatrix(), TPZCompElLagrange::InitializeElementMatrix(), TPZMultiphysicsCompEl< TGeometry >::InitializeElementMatrix(), TPZMultiphysicsCompEl< TGeometry >::InitializeIntegrationRule(), TPZInterfaceElement::InitMaterialData(), TPZSBFemVolume::InitMaterialData(), TPZReducedSpace::InitMaterialData(), TPZInterpolationSpace::InitMaterialData(), TPZMultiphysicsInterfaceElement::InitMaterialData(), TPZMultiphysicsCompEl< TGeometry >::InitMaterialData(), TPZMultiphysicsCompEl< TGeometry >::Integrate(), TPZInterfaceElement::Integrate(), TPZInterfaceElement::IntegrateInterface(), TPZMultiphysicsCompEl< TGeometry >::IntegrateSolution(), TPZInterpolationSpace::IntegrateSolution(), IntegrateSolution(), TPZInterpolationSpace::InterpolateSolution(), TCedricTest::InterpolationError(), TPZCompMesh::LesserEdgeOfMesh(), TPZInterfaceElement::main(), TPZCompMesh::MaximumRadiusOfMesh(), TPZFlowCompMesh::MaxVelocityOfMesh(), TPZInterpolatedElement::MeanSolution(), NeedsComputing(), TPZSubCompMesh::NeedsComputing(), TPZPairStructMatrix::ThreadData::NextElement(), TPZStructMatrixCS::ThreadData::NextElement(), TPZAnalysis::PostProcess(), TPZAnalysis::PostProcessErrorSerial(), TPZCompElWithMem< TBASE >::PrepareIntPtIndices(), TPZInterpolatedElement::Print(), TPZMultiphysicsInterfaceElement::Print(), Print(), TPZMultiphysicsCompEl< TGeometry >::Print(), PrintSolution(), PrintTitle(), TPZInterpolationSpace::ProjectFlux(), TPZGradientReconstruction::ProjectionL2GradientReconstructed(), TPZAgglomerateElement::ProjectSolution(), TPZMultiphysicsElement::RemoveInterfaces(), TPZInterpolationSpace::RemoveInterfaces(), TPZNonLinMultGridAnalysis::ResetReference(), TPZStructMatrixGCTP::Serial_Assemble(), TPZStructMatrixGC::Serial_Assemble(), TPZStructMatrixCS::Serial_Assemble(), TPZStructMatrixOT::Serial_Assemble(), TPZStructMatrixOR::Serial_Assemble(), TPZCompElDisc::SetDegree(), TPZCompElDisc::SetExternalShapeFunction(), TPZNonLinMultGridAnalysis::SetReference(), TPZCompElHDivBound2< TSHAPE >::SetSideOrder(), TPZIntelGen< TSHAPE >::SetSideOrder(), TPZCompElHDivPressureBound< TSHAPE >::SetSideOrder(), TPZCompElHDiv< TSHAPE >::SetSideOrder(), TPZCompElHDivPressure< TSHAPE >::Solution(), TPZMultiphysicsCompEl< TGeometry >::Solution(), TPZInterpolationSpace::Solution(), TPZCompElHDiv< TSHAPE >::Solution(), TPZMultiphysicsInterfaceElement::Solution(), TPZCompElDisc::SolutionX(), TPZPlacaOrthotropic::Tensor(), TPZCompElHDiv< TSHAPE >::TPZCompElHDiv(), TPZMultiphysicsCompEl< TGeometry >::TPZMultiphysicsCompEl(), TPZPairStructMatrix::TPZPairStructMatrix(), TPZPlacaOrthotropic::TPZPlacaOrthotropic(), TPZSubCompMesh::TransferElementFrom(), and TPZCompElDisc::Write().

◆ MaximumRadiusOfEl()

REAL TPZCompEl::MaximumRadiusOfEl ( )

Will return the maximum distance between the nodes of the reference element.

Definition at line 671 of file pzcompel.cpp.

References TPZGeoNode::Coord(), dist(), TPZGeoEl::Distance(), TPZGeoEl::NNodes(), TPZGeoEl::NodePtr(), and Reference().

Referenced by TPZCompMesh::MaximumRadiusOfMesh(), and ReduceInternalNodes().

◆ Mesh()

TPZCompMesh * TPZCompEl::Mesh ( ) const

Return a pointer to the grid of the element.

Definition at line 288 of file pzcompel.cpp.

References fMesh, and LOGPZ_WARN.

Referenced by TPZElementGroup::AddElement(), TPZSBFemElementGroup::AddElement(), TPZBuildMultiphysicsMesh::AddWrap(), TPZInterpolatedElement::AdjustPreferredSideOrder(), TPZBuildMultiphysicsMesh::AppendConnects(), TPZSubMeshAnalysis::Assemble(), BuildConnectList(), TPZSBFemVolume::BuildCornerConnectList(), TPZInterpolationSpace::BuildTransferMatrix(), TPZInterpolatedElement::BuildTransferMatrix(), TPZCompElDisc::BuildTransferMatrix(), TPZCompMesh::BuildTransferMatrix(), TPZInterpolatedElement::CalcIntegral(), TPZSBFemElementGroup::CalcResidual(), CalcResidual(), TPZSBFemElementGroup::CalcStiff(), TPZAgglomerateElement::CalcStiff(), TPZCompElLagrange::CalcStiff(), TPZCondensedCompEl::CalcStiff(), TPZSubCompMesh::CalcStiff(), TPZInterpolatedElement::CheckConstraintConsistency(), TPZInterpolatedElement::CheckElementConsistency(), ComputeError(), TPZSBFemVolume::ComputeKMatrices(), TPZSBFemElementGroup::ComputeMatrices(), TPZInterpolationSpace::ComputeNormal(), TPZReducedSpace::ComputeSolution(), TPZInterpolatedElement::ComputeSolution(), TPZSBFemVolume::ComputeSolution(), TPZCompElDisc::ComputeSolution(), TPZCompElHDiv< TSHAPE >::ComputeSolutionHDiv(), TPZCompElHDivPressure< TSHAPE >::ComputeSolutionPressureHDiv(), TPZInterfaceElement::ConnectIndex(), TPZMultiphysicsElement::CreateInterface(), TPZInterpolationSpace::CreateInterface(), TPZMultiphysicsElement::CreateInterfaces(), TPZCompElDisc::CreateMidSideConnect(), TPZAgglomerateElement::CreateMidSideConnect(), TPZInterpolatedElement::CreateMidSideConnect(), TPZCompElDisc::Divide(), TPZInterpolatedElement::Divide(), TPZMGAnalysis::ElementError(), TPZMultiphysicsCompEl< TGeometry >::EvaluateError(), TPZInterpolationSpace::EvaluateError(), TPZElementGroup::EvaluateError(), TPZSBFemVolume::EvaluateError(), TPZSubCompMesh::EvaluateError(), TPZCompElDisc::EvaluateSquareResidual2D(), TPZInterpolationSpace::ExpandShapeFunctions(), TPZSubCompMesh::FatherMesh(), FillAtomic(), TPZInterfaceElement::GetConnects(), TPZInterpolatedElement::IdentifySideOrder(), TPZSubCompMesh::InitializeEF(), TPZInterfaceElement::InitializeElementMatrix(), TPZMultiphysicsInterfaceElement::InitializeElementMatrix(), TPZInterpolationSpace::InitializeElementMatrix(), TPZCompElLagrange::InitializeElementMatrix(), TPZElementGroup::InitializeElementMatrix(), TPZMultiphysicsCompEl< TGeometry >::InitializeElementMatrix(), TPZInterpolationSpace::IntegrateSolution(), TPZInterpolationSpace::InterpolateSolution(), TPZCondensedCompEl::LoadSolution(), LoadSolution(), TPZSubCompMesh::LoadSolution(), TPZSubCompMesh::MakeInternalFast(), NeedsComputing(), NEquations(), TPZSBFemVolume::PRefine(), TPZCompElHDiv< TSHAPE >::PRefine(), TPZInterpolatedElement::PRefine(), TPZSBFemVolume::Print(), TPZGradientReconstruction::ProjectionL2GradientReconstructed(), TPZAgglomerateElement::ProjectSolution(), TPZAgglomerateElement::Read(), TPZSubCompMesh::Read(), TPZReducedSpace::ReferredIntel(), TPZGradientReconstruction::TPZGradientData::SetCel(), TPZCompElDisc::SetDegree(), TPZSBFemVolume::SetElementGroupIndex(), TPZCompElDisc::SetExternalShapeFunction(), TPZSBFemVolume::SetPreferredOrder(), TPZCompElHDivBound2< TSHAPE >::SetSideOrder(), TPZIntelGen< TSHAPE >::SetSideOrder(), TPZCompElHDivPressureBound< TSHAPE >::SetSideOrder(), TPZCompElHDiv< TSHAPE >::SetSideOrder(), TPZSBFemVolume::SetSkeleton(), TPZMHMeshControl::SetSubdomain(), TPZSBFemVolume::Shape(), TPZCompElDisc::SizeOfElement(), TPZSBFemVolume::Solution(), TPZCompElDisc::SolutionX(), TPZCheckRestraint::TPZCheckRestraint(), TPZCompElHDivBound2< TSHAPE >::TPZCompElHDivBound2(), TPZCondensedCompEl::TPZCondensedCompEl(), TPZInterfaceElement::TPZInterfaceElement(), TPZMultiphysicsElement::TransferMultiphysicsElementSolution(), TPZCondensedCompEl::Unwrap(), TPZElementGroup::Unwrap(), TPZMHMixedMeshChannelControl::WhichSubdomain(), TPZMHMeshControl::WhichSubdomain(), and TPZAgglomerateElement::Write().

◆ NConnects()

virtual int TPZCompEl::NConnects ( ) const
pure virtual

Returns the number of nodes of the element.

Implemented in TPZSubCompMesh, TPZCompElDisc, TPZInterfaceElement, TPZCompElLagrange, TPZInterpolatedElement, TPZMultiphysicsInterfaceElement, TPZSBFemVolume, TPZMultiphysicsCompEl< TGeometry >, TPZElementGroup, TPZCompElHDiv< TSHAPE >, TPZCompElHDivPressureBound< TSHAPE >, TPZCompElHDivBound2< TSHAPE >, TPZCompElHDivPressure< TSHAPE >, TPZCondensedCompEl, TPZIntelGen< TSHAPE >, and TPZReducedSpace.

Referenced by TPZBuildMultiphysicsMesh::AddConnects(), TPZMultiphysicsCompMesh::AddConnects(), TPZElementGroup::AddElement(), TPZSBFemElementGroup::AddElement(), TPZBuildMultiphysicsMesh::AddWrap(), TPZBuildMultiphysicsMesh::AppendConnects(), TPZPostProcAnalysis::AutoBuildDisc(), BuildConnectList(), TPZInterpolationSpace::BuildTransferMatrix(), TPZInterpolationSpace::CalcResidual(), TPZInterpolationSpace::CalcStiff(), TPZElementGroup::CalcStiff(), Hdiv2dPaper201504::ChangeExternalOrderConnects(), hdivCurvedJCompAppMath::ChangeExternalOrderConnects(), Hdiv3dPaper201504::ChangeExternalOrderConnects(), TPZCheckMesh::CheckConstraintDimension(), TPZMHMixedHybridMeshControl::CheckMeshConsistency(), TPZSBFemElementGroup::ComputeMatrices(), TPZMultiphysicsCompEl< TGeometry >::ConnectIndex(), TPZCompMeshTools::CreatedCondensedElements(), TPZHybridizeHDiv::CreateInterfaceElements(), TPZMHMixedHybridMeshControl::CreateLowerDimensionPressureElements(), TPZMHMixedHybridMeshControl::CreatePressureInterfaces(), TPZMHMeshControl::CreateSkeleton(), TPZCompElDisc::EvaluateSquareResidual2D(), FillAtomic(), TPZInterfaceElement::GetConnects(), TPZMHMixedHybridMeshControl::GroupElements(), HasDependency(), TPZHybridizeHDiv::HybridizeInternalSides(), TPZMHMeshControl::HybridizeSkeleton(), TPZDohrStructMatrix::IdentifyCornerNodes(), TPZElastoPlasticAnalysis::IdentifyEquationsToZero(), TPZInterpolationSpace::InitializeElementMatrix(), TPZInterpolationSpace::InterpolateSolution(), TPZInterpolationSpace::MaxOrder(), TPZCondensedCompEl::NConnects(), TPZSBFemVolume::NConnects(), NeedsComputing(), NEquations(), TPZInterfaceElement::NLeftConnects(), TPZInterfaceElement::NRightConnects(), PressureConnectIndex(), TPZCondensedCompEl::Print(), TPZSBFemElementGroup::Print(), Print(), TPZMHMixedHybridMeshControl::PrintFriendly(), TPZAnalysis::PrintVectorByElement(), TPZInterpolationSpace::ProjectFlux(), ResequenceByGeometry(), TPZCompMesh::SaddlePermute(), TPZCompMesh::SaddlePermute2(), TPZSBFemVolume::SetElementGroupIndex(), TPZMultiphysicsInterfaceElement::SetLeftRightElementIndices(), TPZMHMeshControl::SetSubdomain(), TPZCondensedCompEl::TPZCondensedCompEl(), TPZSubCompMesh::TransferElementFrom(), TPZSubCompMesh::TransferElementTo(), TPZBuildMultiphysicsMesh::TransferFromMeshes(), TPZMultiphysicsElement::TransferMultiphysicsElementSolution(), TPZCheckMesh::VerifyConnect(), TPZMHMixedMeshChannelControl::WhichSubdomain(), and TPZMHMeshControl::WhichSubdomain().

◆ NeedsComputing()

virtual bool TPZCompEl::NeedsComputing ( const std::set< int > &  materialids)
inlinevirtual

◆ NEquations()

int TPZCompEl::NEquations ( )
virtual

◆ NumberOfCompElementsInsideThisCompEl()

virtual int TPZCompEl::NumberOfCompElementsInsideThisCompEl ( )
inlinevirtual

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

Reimplemented in TPZMultiphysicsCompEl< TGeometry >, and TPZMultiphysicsInterfaceElement.

Definition at line 411 of file pzcompel.h.

◆ PrepareIntPtIndices()

virtual void TPZCompEl::PrepareIntPtIndices ( )
inlinevirtual

Prepare the vector of the material withmem with the correct integration point indexes.

Definition at line 395 of file pzcompel.h.

Referenced by TPZMultiphysicsCompMesh::BuildMultiphysicsSpaceWithMemory().

◆ PressureConnectIndex()

int TPZCompEl::PressureConnectIndex ( ) const
virtual

Returns the index of the pressure connect.

Note
Returns -1 if their is no pressure connect

Reimplemented in TPZCompElHDivPressure< TSHAPE >.

Definition at line 1032 of file pzcompel.cpp.

References ConnectIndex(), TPZCompMesh::ConnectVec(), DebugStop, fMesh, TPZConnect::IsCondensed(), TPZConnect::LagrangeMultiplier(), and NConnects().

Referenced by ComputeSolution().

◆ Print()

void TPZCompEl::Print ( std::ostream &  out = std::cout) const
virtual

◆ PrintCoordinate()

void TPZCompEl::PrintCoordinate ( TPZVec< REAL > &  point,
int  CoordinateIndex,
std::ostream &  out 
)
virtual

Prints one coordinate index corresponding to the point to the output stream.

Parameters
pointmaster element coordinate to print
CoordinateIndexindex of the coordinate corresponding to the point
outindicates the device where the data will be printed

Definition at line 380 of file pzcompel.cpp.

References TPZVec< T >::Fill(), LOGPZ_WARN, Reference(), and TPZGeoEl::X().

Referenced by NeedsComputing(), and TPZAnalysis::PrePostProcessTable().

◆ PrintSolution()

void TPZCompEl::PrintSolution ( TPZVec< REAL > &  point,
const char *  VarName,
std::ostream &  out 
)
virtual

Prints the solution - sol - for the variable "VarName" at point specified in terms of the master element coordinates.

Parameters
pointmaster element coordinate to print
VarNamename of variable to print
outindicates the device where the data will be printed

Definition at line 358 of file pzcompel.cpp.

References TPZVec< T >::Fill(), LOGPZ_WARN, Material(), TPZVec< T >::NElements(), TPZMaterial::NSolutionVariables(), Print(), Reference(), Solution(), and TPZMaterial::VariableIndex().

Referenced by NeedsComputing(), and TPZAnalysis::PostProcessTable().

◆ PrintTitle()

void TPZCompEl::PrintTitle ( const char *  VarName,
std::ostream &  out 
)
virtual

Prints the variables names associated with the element material.

Parameters
VarNamepointer to variable parameter wha want to print
outindicates the device where the data will be printed

Definition at line 392 of file pzcompel.cpp.

References LOGPZ_WARN, Material(), TPZMaterial::NSolutionVariables(), Reference(), and TPZMaterial::VariableIndex().

Referenced by NeedsComputing(), and TPZAnalysis::PrePostProcessTable().

◆ ProjectFlux()

void TPZCompEl::ProjectFlux ( TPZElementMatrix ek,
TPZElementMatrix ef 
)
inlinevirtual

Projects the flux function on the finite element space.

Parameters
ekelement stiffness matrix
efelement loads matrix

Reimplemented in TPZInterpolationSpace.

Definition at line 798 of file pzcompel.h.

Referenced by NeedsComputing().

◆ Read()

void TPZCompEl::Read ( TPZStream buf,
void *  context 
)
overridevirtual

◆ ReduceInternalNodes()

virtual void TPZCompEl::ReduceInternalNodes ( )
inlinevirtual

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.

Definition at line 554 of file pzcompel.h.

References CalcBlockDiagonal(), LesserEdgeOfEl(), MaximumRadiusOfEl(), Read(), SetConnectIndex(), and Write().

◆ Reference()

TPZGeoEl * TPZCompEl::Reference ( ) const

Return a pointer to the corresponding geometric element if such exists, return 0 otherwise.

Definition at line 1137 of file pzcompel.cpp.

References TPZGeoMesh::ElementVec(), fMesh, fReferenceIndex, and TPZCompMesh::Reference().

Referenced by TPZCompElDisc::AccumulateIntegrationRule(), TPZCompElDisc::AccumulateVertices(), TPZMHMeshControl::AddBoundaryInterfaceElements(), TPZMultiphysicsCompEl< TGeometry >::AddElement(), TPZMHMeshControl::AddElementBoundaries(), TPZBuildMultiphysicsMesh::AddElements(), TPZMultiphysicsCompMesh::AddElements(), TPZCompMeshTools::AddHDivPyramidRestraints(), TPZBuildMultiphysicsMesh::AddWrap(), TPZCompMesh::AdjustBoundaryElements(), TPZCompMeshTools::AdjustFluxPolynomialOrders(), TPZInterpolatedElement::AdjustPreferredSideOrder(), TPZMultiphysicsCompEl< TGeometry >::AffineTransform(), TPZMHMixedMeshChannelControl::BuildComputationalMesh(), BuildElementGroups(), TPZBuildMultiphysicsMesh::BuildHybridMesh(), TPZMHMixedMeshControl::BuildMultiPhysicsMesh(), TPZInterpolationSpace::BuildTransferMatrix(), TPZInterpolatedElement::BuildTransferMatrix(), TPZCompElDisc::BuildTransferMatrix(), TPZCompMesh::BuildTransferMatrix(), TPZInterpolatedElement::CalcIntegral(), TPZInterfaceElement::CalcResidual(), TPZMultiphysicsCompEl< TGeometry >::CalcResidual(), TPZMultiphysicsInterfaceElement::CalcStiff(), TPZAgglomerateElement::CalcStiff(), TPZInterpolationSpace::CalcStiff(), TPZInterfaceElement::CalcStiff(), TPZElementGroup::CalcStiff(), TPZMultiphysicsCompEl< TGeometry >::CalcStiff(), TPZCompElDisc::CenterPoint(), TPZGradientReconstruction::ChangeMaterialIdIntoCompElement(), TPZInterfaceElement::CheckConsistencyOfMappedQsi(), TPZInterpolatedElement::CheckConstraintConsistency(), TPZCheckMesh::CheckConstraintDimension(), TPZInterpolatedElement::CheckElementConsistency(), TPZMHMixedHybridMeshControl::CheckMeshConsistency(), TPZCheckRestraint::CheckRestraint(), TPZInterfaceElement::CloneInterface(), TPZDohrStructMatrix::ClusterIslands(), Hdiv2dPaper201504::CMeshMixed(), hdivCurvedJCompAppMath::CMeshMixed(), Hdiv3dPaper201504::CMeshMixed(), Hdiv2dPaper201504::CMeshPressure(), hdivCurvedJCompAppMath::CMeshPressure(), Hdiv3dPaper201504::CMeshPressure(), TPZCompMesh::Coarsen(), TPZInterpolatedElement::CompareElement(), TPZInterpolatedElement::CompareShapeF(), TPZInterfaceElement::ComputeCenterNormal(), TPZMultiphysicsInterfaceElement::ComputeCenterNormal(), TPZInterfaceElement::ComputeErrorFace(), TPZSBFemVolume::ComputeKMatrices(), TPZSBFemElementGroup::ComputeMatrices(), TPZInterfaceElement::ComputeNormal(), TPZInterpolationSpace::ComputeNormal(), TPZInterfaceElement::ComputeRequiredData(), TPZMultiphysicsElement::ComputeRequiredData(), TPZReducedSpace::ComputeRequiredData(), TPZMultiphysicsCompEl< TGeometry >::ComputeRequiredData(), TPZInterpolationSpace::ComputeRequiredData(), TPZCompElHDiv< TSHAPE >::ComputeRequiredData(), TPZMultiphysicsInterfaceElement::ComputeRequiredData(), TPZCompElHDivBound2< TSHAPE >::ComputeShape(), TPZInterpolationSpace::ComputeShape(), TPZCompElDisc::ComputeShape(), TPZSBFemVolume::ComputeShape(), TPZMultiphysicsInterfaceElement::ComputeSideTransform(), TPZInterfaceElement::ComputeSideTransform(), TPZCompElHDivPressure< TSHAPE >::ComputeSolution(), TPZInterpolatedElement::ComputeSolution(), TPZCompElHDiv< TSHAPE >::ComputeSolution(), TPZSBFemVolume::ComputeSolution(), TPZCompElDisc::ComputeSolution(), TPZFlowCompMesh::ComputeTimeStep(), Connect(), TPZCompMesh::ConvertDiscontinuous2Continuous(), TPZDohrStructMatrix::CorrectNeighbourDomainIndex(), TPZAgglomerateElement::CreateAgglomerateMesh(), TPZMHMixedHybridMeshControl::CreateAxialFluxElement(), TCedricTest::CreateCondensedElements(), TPZBuildSBFem::CreateElementGroups(), TPZGradientReconstruction::TPZGradientData::CreateGhostsNeighbors(), TPZReducedSpace::CreateGraphicalElement(), TPZAgglomerateElement::CreateGraphicalElement(), TPZMultiphysicsInterfaceElement::CreateGraphicalElement(), TPZMultiphysicsCompEl< TGeometry >::CreateGraphicalElement(), TPZCompElDisc::CreateGraphicalElement(), TPZSBFemVolume::CreateGraphicalElement(), TPZMHMixedMeshControl::CreateHDivMHMMesh(), TPZMHMixedHybridMeshControl::CreateHDivWrappers(), TPZCompElDisc::CreateIntegrationRule(), TPZMultiphysicsInterfaceElement::CreateIntegrationRule(), TPZMultiphysicsElement::CreateInterface(), TPZInterpolationSpace::CreateInterface(), TPZHybridizeHDiv::CreateInterfaceElements(), TPZMultiphysicsElement::CreateInterfaces(), TPZCreateApproximationSpace::CreateInterfaces(), TPZInterpolationSpace::CreateInterfaces(), TPZMHMixedHybridMeshControl::CreateInternalAxialFluxes(), TPZMHMixedHybridMeshControl::CreateLowerDimensionPressureElements(), TPZCompElDisc::CreateMidSideConnect(), TPZInterpolatedElement::CreateMidSideConnect(), TPZMHMixedHybridMeshControl::CreateMultiPhysicsInterfaceElements(), TPZMHMixedMeshControl::CreateMultiPhysicsInterfaceElements(), TPZMHMixedHybridMeshControl::CreatePressureInterfaces(), TPZMHMixedMeshControl::CreatePressureMHMMesh(), TPZMHMixedMeshControl::CreateRotationMesh(), TPZMHMixedMeshControl::CreateSkeleton(), TPZMHMixedHybridMeshControl::CreateSkeletonAxialFluxes(), TPZMHMeshControl::CreateSkeletonElements(), TPZCompMesh::DeltaX(), TPZSBFemVolume::Dimension(), TPZMultiphysicsInterfaceElement::Dimension(), TPZInterfaceElement::Dimension(), TPZCompElDisc::Dimension(), TPZCompMesh::Discontinuous2Continuous(), TPZCompElDisc::Divide(), TPZInterpolatedElement::Divide(), TPZIntelGen< TSHAPE >::EffectiveSideOrder(), TPZMGAnalysis::ElementError(), TPZCompElSide::EqualLevelElementList(), Hdiv2dPaper201504::ErrorH1(), hdivCurvedJCompAppMath::ErrorH1(), Hdiv3dPaper201504::ErrorH1(), Hdiv2dPaper201504::ErrorPrimalDual(), hdivCurvedJCompAppMath::ErrorPrimalDual(), Hdiv3dPaper201504::ErrorPrimalDual(), TPZMultiphysicsCompEl< TGeometry >::EvaluateError(), TPZInterpolationSpace::EvaluateError(), TPZSBFemVolume::EvaluateError(), TPZInterfaceElement::EvaluateInterfaceJump(), TPZCompElDisc::EvaluateSquareResidual2D(), TPZCompElSide::Exists(), TPZMultiphysicsElement::ExistsInterface(), TPZCompElSide::ExpandConnected(), TPZSBFemVolume::ExtendShapeFunctions(), TPZCheckMesh::FindElement(), TPZGraphMesh::FindFirstInterpolatedElement(), TPZInterpolatedElement::ForceSideOrder(), TPZInterfaceElement::FreeInterface(), TPZGradientReconstruction::TPZGradientData::GetCenterPointAndCellAveraged(), GetRefElPatch(), TPZMultiphysicsCompEl< TGeometry >::GetReferenceIndexVec(), TPZInterpolationSpace::GetSideOrient(), TPZCompMeshTools::GroupElements(), TPZMHMixedHybridMeshControl::GroupElements(), TPZAnalysisError::h_Parameter(), HasMaterial(), TPZMHMixedMeshChannelControl::HideTheElements(), TPZMHMixedMeshControl::HideTheElements(), TPZCompElSide::HigherDimensionElementList(), TPZCompElSide::HigherLevelElementList(), TPZAnalysisError::HPAdapt(), TPZCreateApproximationSpace::Hybridize(), TPZHybridizeHDiv::HybridizeInternalSides(), TPZMHMeshControl::HybridizeSkeleton(), TPZDohrStructMatrix::IdentifyCornerNodes(), TPZDohrStructMatrix::IdentifyExternalConnectIndexes(), TPZInterpolatedElement::IdentifySideOrder(), TPZCompElHDiv< TSHAPE >::IndexShapeToVec2(), TPZGradientReconstruction::TPZGradientData::InitializeGradData(), TPZInterfaceElement::InitializeIntegrationRule(), TPZSBFemVolume::InitializeIntegrationRule(), TPZMultiphysicsCompEl< TGeometry >::InitializeIntegrationRule(), TPZInterfaceElement::InitMaterialData(), TPZSBFemVolume::InitMaterialData(), TPZInterpolationSpace::InitMaterialData(), TPZCompElHDiv< TSHAPE >::InitMaterialData(), TPZMultiphysicsInterfaceElement::InitMaterialData(), TPZInterpolationSpace::InnerRadius(), TPZMultiphysicsCompEl< TGeometry >::Integrate(), TPZAnalysis::Integrate(), TPZCompMesh::Integrate(), TPZInterfaceElement::IntegrateInterface(), TPZMultiphysicsCompEl< TGeometry >::IntegrateSolution(), TPZInterpolationSpace::IntegrateSolution(), IntegrateSolution(), TPZInterpolationSpace::InterpolateSolution(), TCedricTest::InterpolationError(), IsInterface(), LesserEdgeOfEl(), TPZAgglomerateElement::ListOfGroupings(), LoadElementReference(), TPZCompMeshReferred::LoadReferred(), TPZCompMeshTools::LoadSolution(), TPZCompElSide::LowerLevelElementList(), TPZInterfaceElement::main(), TPZCreateApproximationSpace::MakeRaviartThomas(), Material(), MaximumRadiusOfEl(), TPZFlowCompMesh::MaxVelocityOfMesh(), TPZInterpolatedElement::MeanSolution(), TPZMGAnalysis::MeshError(), TPZCompElHDiv< TSHAPE >::NConnectShapeF(), TPZCompElDisc::NCornerConnects(), NeedsComputing(), TPZInterfaceElement::NeighbourSolution(), TPZStructMatrixCS::ThreadData::NextElement(), TPZInterfaceElement::Normal(), TPZCompElDisc::NormalizeConst(), TPZAgglomerateElement::NSides(), TPZCompElDisc::NSides(), TPZAnalysis::PostProcess(), TPZAnalysis::PostProcessErrorSerial(), TPZCompElHDiv< TSHAPE >::PRefine(), TPZInterpolatedElement::PRefine(), TPZCondensedCompEl::Print(), TPZInterpolatedElement::Print(), TPZMultiphysicsInterfaceElement::Print(), TPZCompElDisc::Print(), Print(), TPZMultiphysicsCompEl< TGeometry >::Print(), TPZCompMesh::Print(), TPZInterfaceElement::Print(), TPZMHMeshControl::PrintBoundaryInfo(), TPZVTKGeoMesh::PrintCMeshVTK(), PrintCoordinate(), TPZMHMixedHybridMeshControl::PrintFriendly(), TPZVTKGeoMesh::PrintPOrderPoints(), PrintSolution(), TPZMHMeshControl::PrintSubdomain(), PrintTitle(), TPZAnalysis::PrintVectorByElement(), TPZInterpolatedElement::RecomputeRestraints(), TPZMultiphysicsElement::RemoveInterfaces(), TPZInterpolationSpace::RemoveInterfaces(), TPZInterpolatedElement::RemoveSideRestraintsII(), TPZInterpolatedElement::RemoveSideRestraintWithRespectTo(), ResequenceByGeometry(), TPZNonLinMultGridAnalysis::ResetReference(), TPZGeoMesh::RestoreReference(), TPZInterpolatedElement::RestrainSide(), TPZHybridizeHDiv::RightElement(), TPZDohrStructMatrix::SeparateUnconnected(), TPZStructMatrixGCTP::Serial_Assemble(), TPZStructMatrixGC::Serial_Assemble(), TPZStructMatrixCS::Serial_Assemble(), TPZStructMatrixOT::Serial_Assemble(), TPZStructMatrixOR::Serial_Assemble(), TPZCompElDisc::SetFalseUseQsiEta(), TPZSBFemVolume::SetIntegrationRule(), TPZMultiphysicsCompEl< TGeometry >::SetIntegrationRule(), TPZCompMeshTools::SetPressureOrders(), TPZNonLinMultGridAnalysis::SetReference(), TPZIntelGen< TSHAPE >::SetSideOrder(), TPZMHMeshControl::SetSubdomain(), TPZCompElDisc::SetTrueUseQsiEta(), hdivCurvedJCompAppMath::SetupDisconnectedHdivboud(), TPZIntelGen< TSHAPE >::Shape(), TPZCompElHDivBound2< TSHAPE >::Shape(), TPZCompElDisc::Shape(), TPZCompElHDiv< TSHAPE >::Shape(), TPZSBFemVolume::Shape(), TPZInterpolatedElement::SideConnect(), SideIdf(), TPZIntelGen< TSHAPE >::SideShapeFunction(), TPZCompElHDivBound2< TSHAPE >::SideShapeFunction(), TPZInterpolationSpace::SideShapeFunction(), TPZCompElHDiv< TSHAPE >::SideShapeFunction(), TPZCompElDisc::SizeOfElement(), TPZCompElHDivPressure< TSHAPE >::Solution(), TPZMultiphysicsCompEl< TGeometry >::Solution(), TPZInterpolationSpace::Solution(), TPZSBFemVolume::Solution(), TPZHybridizeHDiv::SplitConnects(), TPZMHMixedHybridMeshControl::SplitFluxElementsAroundFractures(), TPZDohrStructMatrix::SubStructure(), SubStructure(), TPZMHMeshControl::SubStructure(), TPZStructMatrixOR::ThreadData::ThreadWork(), TPZStructMatrixGC::ThreadData::ThreadWork(), TPZStructMatrixCS::ThreadData::ThreadWork(), TPZStructMatrixGC::ThreadData::ThreadWorkResidual(), TPZCompElDisc::TPZCompElDisc(), TPZCompElHDiv< TSHAPE >::TPZCompElHDiv(), TPZCondensedCompEl::TPZCondensedCompEl(), TPZDXGraphMesh::TPZDXGraphMesh(), TPZGraphEl::TPZGraphEl(), TPZInterfaceElement::TPZInterfaceElement(), TPZSubCompMesh::TransferElementFrom(), TPZMHMeshControl::TransferToMultiphysics(), TPZCreateApproximationSpace::UndoMakeRaviartThomas(), TPZMGAnalysis::UniformlyRefineMesh(), TPZNonLinMultGridAnalysis::UniformlyRefineMesh(), TPZBuildMultiphysicsMesh::UniformRefineCompEl(), TPZBuildMultiphysicsMesh::UniformRefineCompMesh(), TPZCondensedCompEl::Unwrap(), TPZInterpolatedElement::VerifyConstraintConsistency(), TPZHybridizeHDiv::VerifySolutionConsistency(), VolumeOfEl(), TPZCompElDisc::VolumeOfEl(), TPZCompElDisc::Write(), ~TPZCompEl(), TPZCompElHDiv< TSHAPE >::~TPZCompElHDiv(), TPZCompElHDivBound2< TSHAPE >::~TPZCompElHDivBound2(), TPZCompElHDivPressure< TSHAPE >::~TPZCompElHDivPressure(), TPZIntelGen< TSHAPE >::~TPZIntelGen(), TPZMHMeshControl::~TPZMHMeshControl(), TPZMultiphysicsElement::~TPZMultiphysicsElement(), TPZMultiphysicsInterfaceElement::~TPZMultiphysicsInterfaceElement(), and TPZSBFemVolume::~TPZSBFemVolume().

◆ ResetShapeRestraints()

virtual void TPZCompEl::ResetShapeRestraints ( )
inlinevirtual

Return a list with the shape restraints.

Reimplemented in TPZCompElHDivBound2< TSHAPE >, and TPZCompElHDiv< TSHAPE >.

Definition at line 439 of file pzcompel.h.

References IntegrateSolution(), and Solution().

Referenced by TPZCompMeshTools::ExpandHDivPyramidRestraints().

◆ SetConnectIndex()

virtual void TPZCompEl::SetConnectIndex ( int  inode,
int64_t  index 
)
pure virtual

◆ SetCreateFunctions()

void TPZCompEl::SetCreateFunctions ( TPZCompMesh mesh)
virtual

◆ SetFreeIntPtIndices()

virtual void TPZCompEl::SetFreeIntPtIndices ( )
inlinevirtual

Frees the material damage varibles memory in the proper material class.

Definition at line 405 of file pzcompel.h.

◆ SetgOrder()

void TPZCompEl::SetgOrder ( int  order)
inlinestatic

Sets the value of the default interpolation order.

Definition at line 825 of file pzcompel.h.

References gOrder.

Referenced by TPZMHMeshControl::CreateInternalElements(), get_sky_matrices(), TCedricTest::InterpolationError(), main(), and MalhaComp().

◆ SetIndex()

void TPZCompEl::SetIndex ( int64_t  index)

Sets element index of the mesh fELementVec list.

Definition at line 577 of file pzcompel.cpp.

References fIndex.

Referenced by NeedsComputing(), TPZCondensedCompEl::TPZCondensedCompEl(), TPZSubCompMesh::TransferElementFrom(), and TPZSubCompMesh::TransferElementTo().

◆ SetIntegrationRule() [1/2]

void TPZCompEl::SetIntegrationRule ( TPZIntPoints intrule)
virtual

Method to set a dynamically allocated integration rule.

Definition at line 1116 of file pzcompel.cpp.

References fIntegrationRule.

Referenced by TPZPostProcAnalysis::AutoBuildDisc(), TPZInterfaceElement::InitializeIntegrationRule(), and InitializeIntegrationRule().

◆ SetIntegrationRule() [2/2]

virtual void TPZCompEl::SetIntegrationRule ( int  order)
inlinevirtual

◆ SetMemoryIndices()

virtual void TPZCompEl::SetMemoryIndices ( TPZVec< int64_t > &  indices)
inlinevirtual

Set the indices of the vector of element memory associated with the integration points.

Will return an empty vector if no memory is associated with the integration point Is implemented in TPZCompElWithMem

Definition at line 386 of file pzcompel.h.

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

◆ SetMesh()

void TPZCompEl::SetMesh ( TPZCompMesh mesh)

Sets the grid of the element.

Parameters
meshnew reference mesh

Definition at line 281 of file pzcompel.cpp.

References fMesh, and LOGPZ_ERROR.

Referenced by NeedsComputing(), TPZSubCompMesh::TransferElementFrom(), and TPZSubCompMesh::TransferElementTo().

◆ SetMultiphysicsElementSolution()

virtual void TPZCompEl::SetMultiphysicsElementSolution ( )
inlinevirtual

Definition at line 420 of file pzcompel.h.

References DebugStop.

◆ SetOrthogonalFunction()

void TPZCompEl::SetOrthogonalFunction ( void(*)(REAL x, int num, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi)  orthogonal)
static

Sets the orthogonal function which will be used throughout the program by default this function is the Chebyshev function.

Parameters
orthogonalpointer to a function which will be used to generate the shape functions

Definition at line 743 of file pzcompel.cpp.

References pzshape::TPZShapeLinear::fOrthogonal.

Referenced by NeedsComputing().

◆ SetReference()

void TPZCompEl::SetReference ( int64_t  referenceindex)
inline

◆ Solution()

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

◆ StaticClassId()

int TPZCompEl::StaticClassId ( )
static

Definition at line 1124 of file pzcompel.cpp.

References Hash().

Referenced by ClassId().

◆ TransferMultiphysicsElementSolution()

virtual void TPZCompEl::TransferMultiphysicsElementSolution ( )
inlinevirtual

◆ Type()

MElementType TPZCompEl::Type ( )
virtual

◆ VolumeOfEl()

virtual REAL TPZCompEl::VolumeOfEl ( )
inlinevirtual

Returns the volume of the geometric element associated.

Reimplemented in TPZCompElDisc, and TPZAgglomerateElement.

Definition at line 132 of file pzcompel.h.

References CompareElement(), LoadElementReference(), Reference(), Type(), and TPZGeoEl::Volume().

Referenced by TPZAgglomerateElement::VolumeOfEl().

◆ Write()

void TPZCompEl::Write ( TPZStream buf,
int  withclassid 
) const
overridevirtual

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  s,
TPZCompEl el 
)
friend

Output device operator.

Parameters
sIndicates the device where the data will be printed
elElement to print

Definition at line 353 of file pzcompel.cpp.

Referenced by NeedsComputing().

Member Data Documentation

◆ fIndex

int64_t TPZCompEl::fIndex
protected

◆ fIntegrationRule

TPZIntPoints* TPZCompEl::fIntegrationRule
protected

◆ fMesh

TPZCompMesh* TPZCompEl::fMesh
protected

◆ fReferenceIndex

int64_t TPZCompEl::fReferenceIndex
private

Index of reference element.

Definition at line 71 of file pzcompel.h.

Referenced by Print(), Read(), Reference(), TPZCompEl(), Write(), and ~TPZCompEl().

◆ gOrder

int TPZCompEl::gOrder
staticprivate

Default interpolation order.

Definition at line 585 of file pzcompel.h.

Referenced by CalcBlockDiagonal(), GetgOrder(), and SetgOrder().


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