NeoPZ
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
TPZFrontStructMatrix< front > Class Template Reference

Responsible for a interface among Finite Element Package and Matrices package to frontal method. Structural Matrix Frontal. More...

#include <TPZFrontStructMatrix.h>

Inheritance diagram for TPZFrontStructMatrix< front >:
[legend]
Collaboration diagram for TPZFrontStructMatrix< front >:
[legend]

Public Member Functions

 TPZFrontStructMatrix (TPZCompMesh *)
 Class constructor < href="http://www.fec.unicamp.br/~longhin">link text < href="http://www.fec.unicamp.br/~phil">link text More...
 
 TPZFrontStructMatrix (const TPZFrontStructMatrix &copy)
 
virtual void SetDecomposeType (DecomposeType dectype)
 Set the decomposition type. More...
 
virtual ~TPZFrontStructMatrix ()
 Class destructor. More...
 
TPZMatrix< STATE > * Create ()
 Returns a pointer to TPZMatrix<STATE> More...
 
TPZStructMatrixClone ()
 Clones a TPZFrontStructMatrix. More...
 
void AssembleNew (TPZMatrix< STATE > &stiffness, TPZFMatrix< STATE > &rhs, TPZAutoPointer< TPZGuiInterface > guiInterface)
 Assemble a stiffness matrix according to rhs. More...
 
void Assemble (TPZMatrix< STATE > &stiffness, TPZFMatrix< STATE > &rhs, TPZAutoPointer< TPZGuiInterface > guiInterface)
 Assemble a stiffness matrix. More...
 
void AssembleElement (TPZCompEl *el, TPZElementMatrix &ek, TPZElementMatrix &ef, TPZMatrix< STATE > &stiffness, TPZFMatrix< STATE > &rhs)
 Computes element matrices. More...
 
TPZMatrix< STATE > * CreateAssemble (TPZFMatrix< STATE > &rhs, TPZAutoPointer< TPZGuiInterface > guiInterface)
 Returns a pointer to TPZMatrix. More...
 
void SetQuiet (int quiet)
 
- Public Member Functions inherited from TPZStructMatrixOR
 TPZStructMatrixOR ()
 
 TPZStructMatrixOR (TPZCompMesh *)
 
 TPZStructMatrixOR (TPZAutoPointer< TPZCompMesh > cmesh)
 
 TPZStructMatrixOR (const TPZStructMatrixOR &copy)
 
virtual ~TPZStructMatrixOR ()
 
virtual TPZMatrix< STATE > * CreateAssemble (TPZFMatrix< STATE > &rhs, TPZAutoPointer< TPZGuiInterface > guiInterface, unsigned numthreads_assemble, unsigned numthreads_decompose)
 
virtual void Assemble (TPZMatrix< STATE > &mat, TPZFMatrix< STATE > &rhs, TPZAutoPointer< TPZGuiInterface > guiInterface, unsigned numthreads_assemble, unsigned numthreads_decompose)
 
virtual void Assemble (TPZFMatrix< STATE > &rhs, TPZAutoPointer< TPZGuiInterface > guiInterface) override
 Assemble the global right hand side. More...
 
int ClassId () const override
 Define the class id associated with the class. More...
 
void Read (TPZStream &buf, void *context) override
 read objects from the stream More...
 
void Write (TPZStream &buf, int withclassid) const override
 Writes this object to the TPZStream buffer. Include the classid if withclassid = true. More...
 
- Public Member Functions inherited from TPZStructMatrixBase
virtual void SetMesh (TPZCompMesh *)
 
virtual void SetMesh (TPZAutoPointer< TPZCompMesh >)
 
virtual void FilterEquations (TPZVec< int64_t > &origindex, TPZVec< int64_t > &destindex) const
 Filter out the equations which are out of the range. More...
 
virtual void SetMaterialIds (const std::set< int > &materialids)
 Set the set of material ids which will be considered when assembling the system. More...
 
virtual void SetNumThreads (int n)
 
virtual int GetNumThreads () const
 
virtual void SetEquationRange (int64_t mineq, int64_t maxeq)
 
virtual bool HasRange () const
 Verify if a range has been specified. More...
 
virtual TPZEquationFilterEquationFilter ()
 access method for the equation filter More...
 
virtual int64_t NReducedEquations () const
 number of equations after applying the filter More...
 
virtual TPZCompMeshMesh () const
 Access method for the mesh pointer. More...
 
virtual bool ShouldCompute (int matid) const
 Establish whether the element should be computed. More...
 
virtual const std::set< int > & MaterialIds ()
 Returns the material ids. More...
 
int ClassId () const override
 Define the class id associated with the class. More...
 
void Read (TPZStream &buf, void *context) override
 read objects from the stream More...
 
void Write (TPZStream &buf, int withclassid) const override
 Writes this object to the TPZStream buffer. Include the classid if withclassid = true. More...
 
virtual ~TPZStructMatrixBase ()
 
- 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 main ()
 
- 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 Member Functions

void GetNumElConnected (TPZVec< int > &numelconnected)
 Returns a vector containing all elements connected to a degree of freedom. More...
 
void OrderElement ()
 It is applied over fElementOrder putting it in the correct order. More...
 
void AdjustSequenceNumbering ()
 Resequence the connects according to the element order. More...
 
- Protected Member Functions inherited from TPZStructMatrixOR
virtual void Serial_Assemble (TPZMatrix< STATE > &mat, TPZFMatrix< STATE > &rhs, TPZAutoPointer< TPZGuiInterface > guiInterface)
 Assemble the global system of equations into the matrix which has already been created. More...
 
virtual void Serial_Assemble (TPZFMatrix< STATE > &rhs, TPZAutoPointer< TPZGuiInterface > guiInterface)
 Assemble the global right hand side. More...
 
virtual void MultiThread_Assemble (TPZFMatrix< STATE > &rhs, TPZAutoPointer< TPZGuiInterface > guiInterface)
 Assemble the global right hand side. More...
 
virtual void MultiThread_Assemble (TPZMatrix< STATE > &mat, TPZFMatrix< STATE > &rhs, TPZAutoPointer< TPZGuiInterface > guiInterface)
 Assemble the global system of equations into the matrix which has already been created. More...
 
- Protected Member Functions inherited from TPZStructMatrixBase
 TPZStructMatrixBase ()
 
 TPZStructMatrixBase (const TPZStructMatrixBase &)
 
 TPZStructMatrixBase (TPZCompMesh *)
 
 TPZStructMatrixBase (TPZAutoPointer< TPZCompMesh >)
 

Protected Attributes

TPZVec< int > fElementOrder
 This vector contains an ordered list. More...
 
int f_quiet
 
DecomposeType fDecomposeType
 Used Decomposition method. More...
 
- Protected Attributes inherited from TPZStructMatrixBase
TPZCompMeshfMesh
 Pointer to the computational mesh from which the matrix will be generated. More...
 
TPZAutoPointer< TPZCompMeshfCompMesh
 Autopointer control of the computational mesh. More...
 
TPZEquationFilter fEquationFilter
 Object which will determine which equations will be assembled. More...
 
std::set< int > fMaterialIds
 Set of material ids to be considered. It is a private attribute. More...
 
int fNumThreads
 Number of threads in Assemble process. More...
 

Private Member Functions

 TPZFrontStructMatrix ()
 

Private Attributes

friend TPZPersistenceManager
 

Detailed Description

template<class front>
class TPZFrontStructMatrix< front >

Responsible for a interface among Finite Element Package and Matrices package to frontal method. Structural Matrix Frontal.

Note
Type parameter for TPZFrontStructMatrix frontal matrix.
It can assume values TPZFrontSym and TPZFrontNonSym for symmetric and non symmetric matrices Prevents users from all the necessary information to work with all matrices classes
It facilitates considerably the use of TPZAnalysis

Definition at line 30 of file TPZFrontStructMatrix.h.

Constructor & Destructor Documentation

◆ TPZFrontStructMatrix() [1/3]

template<class front >
TPZFrontStructMatrix< front >::TPZFrontStructMatrix ( TPZCompMesh mesh)

Class constructor < href="http://www.fec.unicamp.br/~longhin">link text < href="http://www.fec.unicamp.br/~phil">link text

Definition at line 75 of file TPZFrontStructMatrix.cpp.

◆ TPZFrontStructMatrix() [2/3]

template<class front>
TPZFrontStructMatrix< front >::TPZFrontStructMatrix ( const TPZFrontStructMatrix< front > &  copy)
inline

Definition at line 62 of file TPZFrontStructMatrix.h.

◆ ~TPZFrontStructMatrix()

template<class front >
TPZFrontStructMatrix< front >::~TPZFrontStructMatrix ( )
virtual

Class destructor.

Definition at line 80 of file TPZFrontStructMatrix.cpp.

Referenced by TPZFrontStructMatrix< front >::SetDecomposeType().

◆ TPZFrontStructMatrix() [3/3]

template<class front >
TPZFrontStructMatrix< front >::TPZFrontStructMatrix ( )
private

Member Function Documentation

◆ AdjustSequenceNumbering()

template<class front >
void TPZFrontStructMatrix< front >::AdjustSequenceNumbering ( )
protected

◆ Assemble()

template<class front >
void TPZFrontStructMatrix< front >::Assemble ( TPZMatrix< STATE > &  stiffness,
TPZFMatrix< STATE > &  rhs,
TPZAutoPointer< TPZGuiInterface guiInterface 
)
virtual

◆ AssembleElement()

template<class front >
void TPZFrontStructMatrix< front >::AssembleElement ( TPZCompEl el,
TPZElementMatrix ek,
TPZElementMatrix ef,
TPZMatrix< STATE > &  stiffness,
TPZFMatrix< STATE > &  rhs 
)

Computes element matrices.

Parameters
elActual element being computed
ekFormed element matrix
efGlobal element load matrix
stiffnessGlobal stiffness matrix
rhsGlobal load matrix Each computed element matrices would then be added to Stiffness matrix

Definition at line 416 of file TPZFrontStructMatrix.cpp.

References TPZFMatrix< TVar >::AddFel(), TPZMatrix< TVar >::AddKel(), TPZElementMatrix::ApplyConstraints(), TPZElementMatrix::ComputeDestinationIndices(), TPZElementMatrix::fConstrMat, TPZElementMatrix::fDestinationIndex, TPZStructMatrixBase::FilterEquations(), TPZElementMatrix::fMat, TPZElementMatrix::fSourceIndex, TPZCompEl::HasDependency(), TPZCompEl::Index(), and LOGPZ_DEBUG.

Referenced by TPZFrontStructMatrix< front >::Assemble(), TPZParFrontStructMatrix< front >::GlobalAssemble(), and TPZFrontStructMatrix< front >::SetDecomposeType().

◆ AssembleNew()

template<class front >
void TPZFrontStructMatrix< front >::AssembleNew ( TPZMatrix< STATE > &  stiffness,
TPZFMatrix< STATE > &  rhs,
TPZAutoPointer< TPZGuiInterface guiInterface 
)

◆ Clone()

template<class front >
TPZStructMatrix * TPZFrontStructMatrix< front >::Clone ( )
virtual

Clones a TPZFrontStructMatrix.

Reimplemented from TPZStructMatrixOR.

Reimplemented in TPZParFrontStructMatrix< front >.

Definition at line 98 of file TPZFrontStructMatrix.cpp.

Referenced by TPZFrontStructMatrix< front >::SetDecomposeType().

◆ Create()

template<class front >
TPZMatrix< STATE > * TPZFrontStructMatrix< front >::Create ( )
virtual

Returns a pointer to TPZMatrix<STATE>

Reimplemented from TPZStructMatrixOR.

Definition at line 85 of file TPZFrontStructMatrix.cpp.

Referenced by TPZFrontStructMatrix< front >::SetDecomposeType().

◆ CreateAssemble()

template<class front >
TPZMatrix< STATE > * TPZFrontStructMatrix< front >::CreateAssemble ( TPZFMatrix< STATE > &  rhs,
TPZAutoPointer< TPZGuiInterface guiInterface 
)
virtual

◆ GetNumElConnected()

template<class front >
void TPZFrontStructMatrix< front >::GetNumElConnected ( TPZVec< int > &  numelconnected)
protected

Returns a vector containing all elements connected to a degree of freedom.

Parameters
numelconnectedVector containing the number of connections for every ith dof

Definition at line 42 of file TPZFrontStructMatrix.cpp.

References DebugStop, TPZConnect::HasDependency(), TPZConnect::IsCondensed(), TPZConnect::SequenceNumber(), and TPZVec< T >::size().

Referenced by TPZParFrontStructMatrix< front >::Assemble(), and TPZFrontStructMatrix< front >::CreateAssemble().

◆ main()

template<class front >
int TPZFrontStructMatrix< front >::main ( )
static

◆ OrderElement()

template<class front >
void TPZFrontStructMatrix< front >::OrderElement ( )
protected

◆ SetDecomposeType()

template<class front>
virtual void TPZFrontStructMatrix< front >::SetDecomposeType ( DecomposeType  dectype)
inlinevirtual

◆ SetQuiet()

template<class front >
void TPZFrontStructMatrix< front >::SetQuiet ( int  quiet)

Member Data Documentation

◆ f_quiet

template<class front>
int TPZFrontStructMatrix< front >::f_quiet
protected

◆ fDecomposeType

template<class front>
DecomposeType TPZFrontStructMatrix< front >::fDecomposeType
protected

◆ fElementOrder

template<class front>
TPZVec<int> TPZFrontStructMatrix< front >::fElementOrder
protected

◆ TPZPersistenceManager

template<class front>
friend TPZFrontStructMatrix< front >::TPZPersistenceManager
private

Definition at line 135 of file TPZFrontStructMatrix.h.


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