NeoPZ
Public Types | Public Member Functions | Public Attributes | List of all members
TPZElementMatrix Struct Reference

This class associates an element matrix with the coeficients of its contribution in the global stiffness matrix. Aproximation space. More...

#include <pzelmat.h>

Collaboration diagram for TPZElementMatrix:
[legend]

Public Types

enum  MType { Unknown, EF, EK }
 

Public Member Functions

void Reset (TPZCompMesh *mesh=NULL, MType type=Unknown)
 Reset the data structure. More...
 
 TPZElementMatrix (TPZCompMesh *mesh, MType type)
 
 TPZElementMatrix ()
 
 TPZElementMatrix (const TPZElementMatrix &copy)
 
 ~TPZElementMatrix ()
 
int NConnects ()
 Returns the number of nodes of TElementMatrix. More...
 
int64_t ConnectIndex (int i) const
 Returns the pointer to the ith node of the element. More...
 
void Print (std::ostream &out)
 
void SetMatrixSize (short NumBli, short NumBlj, short BlSizei, short BlSizej)
 
void SetMatrixMinSize (short NumBli, short NumBlj, short BlMinSizei, short BlMinSizej)
 
void ComputeDestinationIndices ()
 
void PermuteGather (TPZVec< int64_t > &permute)
 permute the order of the connects More...
 
bool HasDependency ()
 Returns true if the element has at least one dependent node. Returns false otherwise. More...
 
void ApplyConstraints ()
 Apply the constraints applied to the nodes by transforming the tangent matrix and right hand side. More...
 
void ApplyOneShapeConstraints (int constraintindex)
 Apply the constraint of the one shape restraints. More...
 
void BuildDependencyOrder (TPZVec< int64_t > &connectlist, TPZVec< int > &DependenceOrder, TPZCompMesh &mesh)
 Compute the dependency order of the connects, considering the one shape restraints. More...
 

Public Attributes

MType fType
 
TPZCompMeshfMesh
 
TPZStack< int64_t > fConnect
 Vector of pointers to TPZConnect objects. More...
 
TPZFNMatrix< 1000, STATE > fMat
 Pointer to a blocked matrix object. More...
 
TPZBlock< STATE > fBlock
 Block structure associated with fMat. More...
 
TPZStack< int64_t > fConstrConnect
 Vector of all nodes connected to the element. More...
 
TPZFNMatrix< 1000, STATE > fConstrMat
 Pointer to the constrained matrix object. More...
 
TPZBlock< STATE > fConstrBlock
 Block structure associated with fConstrMat. More...
 
TPZManVector< int64_t > fDestinationIndex
 
TPZManVector< int64_t > fSourceIndex
 
std::list< TPZOneShapeRestraintfOneRestraints
 list of one degree of freedom restraints More...
 

Detailed Description

This class associates an element matrix with the coeficients of its contribution in the global stiffness matrix. Aproximation space.

This class groups all information associated with an element stiffness matrix so that it can be used independent of the element object itself Objects of this class provide storage as well for the constrained stiffness matrix, i.e. the stiffness matrix from which the constrained connects have been eliminated In future versions, the computation of the contraints will be incorporated in a method of this class

Definition at line 30 of file pzelmat.h.

Member Enumeration Documentation

◆ MType

Enumerator
Unknown 
EF 
EK 

Definition at line 32 of file pzelmat.h.

Constructor & Destructor Documentation

◆ TPZElementMatrix() [1/3]

TPZElementMatrix::TPZElementMatrix ( TPZCompMesh mesh,
MType  type 
)
inline

Definition at line 71 of file pzelmat.h.

References TPZBlock< TVar >::SetMatrix().

◆ TPZElementMatrix() [2/3]

TPZElementMatrix::TPZElementMatrix ( )
inline

Definition at line 77 of file pzelmat.h.

◆ TPZElementMatrix() [3/3]

TPZElementMatrix::TPZElementMatrix ( const TPZElementMatrix copy)

Definition at line 36 of file pzelmat.cpp.

References fBlock, fConstrBlock, fConstrMat, fMat, and TPZBlock< TVar >::SetMatrix().

◆ ~TPZElementMatrix()

TPZElementMatrix::~TPZElementMatrix ( )
inline

Definition at line 83 of file pzelmat.h.

Member Function Documentation

◆ ApplyConstraints()

void TPZElementMatrix::ApplyConstraints ( )

Apply the constraints applied to the nodes by transforming the tangent matrix and right hand side.

check whether the connect has a one shape restraint

Definition at line 186 of file pzelmat.cpp.

References ApplyOneShapeConstraints(), TPZConnect::BuildConnectList(), BuildDependencyOrder(), TPZMatrix< TVar >::Cols(), TPZCompMesh::ConnectVec(), DebugStop, EF, EK, fBlock, fConnect, fConstrBlock, fConstrConnect, fConstrMat, TPZConnect::TPZDepend::fDepConnectIndex, TPZConnect::TPZDepend::fDepMatrix, TPZVec< T >::Fill(), TPZConnect::FirstDepend(), fMat, fMesh, TPZConnect::TPZDepend::fNext, fOneRestraints, fType, idf, LOGPZ_FATAL, LOGPZ_WARN, NConnects(), TPZConnect::NDof(), TPZVec< T >::NElements(), TPZConnect::NShape(), TPZConnect::NState(), TPZBlock< TVar >::Position(), TPZFMatrix< TVar >::Redim(), TPZBlock< TVar >::Resequence(), TPZManVector< T, NumExtAlloc >::Resize(), TPZVec< T >::resize(), TPZMatrix< TVar >::Rows(), TPZBlock< TVar >::Set(), TPZBlock< TVar >::SetMatrix(), TPZBlock< TVar >::SetNBlocks(), and TPZBlock< TVar >::Size().

Referenced by TPZFrontStructMatrix< front >::AssembleElement(), TPZGradientReconstruction::AssembleGlobalMatrix(), TPZFrontStructMatrix< front >::AssembleNew(), TPZCompEl::CalcBlockDiagonal(), ConnectIndex(), TPZStructMatrixST::ExecuteAssemble(), TPZStructMatrixGCTP::MultiThread_Assemble(), TPZStructMatrixCS::ThreadData::NextElement(), parallel_assemble_task_t< TVar >::push_work_item(), 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(), TPZStructMatrixGC::ThreadData::ThreadWorkResidual(), TPZStructMatrixOT::ThreadData::ThreadWorkResidual(), and TPZStructMatrixTBBFlow::Write().

◆ ApplyOneShapeConstraints()

void TPZElementMatrix::ApplyOneShapeConstraints ( int  constraintindex)

◆ BuildDependencyOrder()

void TPZElementMatrix::BuildDependencyOrder ( TPZVec< int64_t > &  connectlist,
TPZVec< int > &  DependenceOrder,
TPZCompMesh mesh 
)

Compute the dependency order of the connects, considering the one shape restraints.

Definition at line 551 of file pzelmat.cpp.

References TPZCompMesh::ConnectVec(), TPZVec< T >::Fill(), fOneRestraints, TPZConnect::HasDependency(), TPZVec< T >::NElements(), TPZVec< T >::Resize(), and TPZConnect::SetDependenceOrder().

Referenced by ApplyConstraints(), and ConnectIndex().

◆ ComputeDestinationIndices()

void TPZElementMatrix::ComputeDestinationIndices ( )

◆ ConnectIndex()

int64_t TPZElementMatrix::ConnectIndex ( int  i) const
inline

◆ HasDependency()

bool TPZElementMatrix::HasDependency ( )

◆ NConnects()

int TPZElementMatrix::NConnects ( )
inline

◆ PermuteGather()

void TPZElementMatrix::PermuteGather ( TPZVec< int64_t > &  permute)

◆ Print()

void TPZElementMatrix::Print ( std::ostream &  out)

◆ Reset()

void TPZElementMatrix::Reset ( TPZCompMesh mesh = NULL,
MType  type = Unknown 
)
inline

◆ SetMatrixMinSize()

void TPZElementMatrix::SetMatrixMinSize ( short  NumBli,
short  NumBlj,
short  BlMinSizei,
short  BlMinSizej 
)

Definition at line 27 of file pzelmat.cpp.

Referenced by ConnectIndex().

◆ SetMatrixSize()

void TPZElementMatrix::SetMatrixSize ( short  NumBli,
short  NumBlj,
short  BlSizei,
short  BlSizej 
)

Definition at line 18 of file pzelmat.cpp.

Referenced by ConnectIndex().

Member Data Documentation

◆ fBlock

TPZBlock<STATE> TPZElementMatrix::fBlock

◆ fConnect

TPZStack<int64_t> TPZElementMatrix::fConnect

◆ fConstrBlock

TPZBlock<STATE> TPZElementMatrix::fConstrBlock

Block structure associated with fConstrMat.

Definition at line 51 of file pzelmat.h.

Referenced by ApplyConstraints(), ApplyOneShapeConstraints(), and TPZElementMatrix().

◆ fConstrConnect

TPZStack<int64_t> TPZElementMatrix::fConstrConnect

Vector of all nodes connected to the element.

Definition at line 45 of file pzelmat.h.

Referenced by ApplyConstraints(), ApplyOneShapeConstraints(), ComputeDestinationIndices(), and Print().

◆ fConstrMat

TPZFNMatrix<1000, STATE> TPZElementMatrix::fConstrMat

◆ fDestinationIndex

TPZManVector<int64_t> TPZElementMatrix::fDestinationIndex

◆ fMat

TPZFNMatrix<1000, STATE> TPZElementMatrix::fMat

Pointer to a blocked matrix object.

Definition at line 41 of file pzelmat.h.

Referenced by TPZInterpolatedElement::AdjustPreferredSideOrder(), ApplyConstraints(), TPZFrontStructMatrix< front >::AssembleElement(), TPZGradientReconstruction::AssembleGlobalMatrix(), TPZFrontStructMatrix< front >::AssembleNew(), TPZInterpolatedElement::CalcIntegral(), TPZCompElPostProc< TCOMPEL >::CalcResidual(), TPZInterpolationSpace::CalcResidual(), TPZCondensedCompEl::CalcResidual(), TPZInterfaceElement::CalcResidual(), TPZSubCompMesh::CalcResidual(), TPZMultiphysicsCompEl< TGeometry >::CalcResidual(), TPZSBFemElementGroup::CalcStiff(), TPZMultiphysicsInterfaceElement::CalcStiff(), TPZAgglomerateElement::CalcStiff(), TPZInterpolationSpace::CalcStiff(), TPZCompElLagrange::CalcStiff(), TPZCondensedCompEl::CalcStiff(), TPZInterfaceElement::CalcStiff(), TPZElementGroup::CalcStiff(), TPZSubCompMesh::CalcStiff(), TPZMultiphysicsCompEl< TGeometry >::CalcStiff(), TPZEulerAnalysis::CompareRhs(), ComputeDestinationIndices(), TPZSBFemVolume::ComputeKMatrices(), TPZSBFemElementGroup::ComputeMassMatrix(), TPZSBFemElementGroup::ComputeMatrices(), TPZStructMatrixST::ExecuteAssemble(), TPZInterfaceElement::InitializeElementMatrix(), TPZReducedSpace::InitializeElementMatrix(), TPZMultiphysicsInterfaceElement::InitializeElementMatrix(), TPZInterpolationSpace::InitializeElementMatrix(), TPZCompElLagrange::InitializeElementMatrix(), TPZElementGroup::InitializeElementMatrix(), TPZMultiphysicsCompEl< TGeometry >::InitializeElementMatrix(), TPZStructMatrixGCTP::MultiThread_Assemble(), TPZStructMatrixCS::ThreadData::NextElement(), PermuteGather(), Print(), TPZInterpolationSpace::ProjectFlux(), parallel_assemble_task_t< TVar >::push_work_item(), TPZCondensedCompEl::Resequence(), TPZStructMatrixGCTP::Serial_Assemble(), TPZStructMatrixGC::Serial_Assemble(), TPZStructMatrixCS::Serial_Assemble(), TPZStructMatrixOT::Serial_Assemble(), TPZStructMatrixOR::Serial_Assemble(), TPZPairStructMatrix::SerialAssemble(), TPZStructMatrixOR::ThreadData::ThreadAssembly(), TPZPairStructMatrix::ThreadData::ThreadAssembly1(), TPZPairStructMatrix::ThreadData::ThreadAssembly2(), TPZStructMatrixOR::ThreadData::ThreadWork(), TPZPairStructMatrix::ThreadData::ThreadWork(), TPZStructMatrixGC::ThreadData::ThreadWork(), TPZStructMatrixCS::ThreadData::ThreadWork(), TPZStructMatrixOT::ThreadData::ThreadWork(), TPZStructMatrixGC::ThreadData::ThreadWorkResidual(), TPZStructMatrixOT::ThreadData::ThreadWorkResidual(), TPZElementMatrix(), TPZPairStructMatrix::TPZPairStructMatrix(), and TPZStructMatrixTBBFlow::Write().

◆ fMesh

TPZCompMesh* TPZElementMatrix::fMesh

◆ fOneRestraints

std::list<TPZOneShapeRestraint> TPZElementMatrix::fOneRestraints

◆ fSourceIndex

TPZManVector<int64_t> TPZElementMatrix::fSourceIndex

◆ fType

MType TPZElementMatrix::fType

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