NeoPZ
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
TPZBlockDiagonalStructMatrix Class Reference

Implements Block Diagonal Structural Matrices. Structural Matrix. More...

#include <pzbdstrmatrix.h>

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

Public Types

enum  MBlockStructure { ENodeBased, EVertexBased, EElementBased }
 

Public Member Functions

int ClassId () const override
 Define the class id associated with the class. More...
 
 TPZBlockDiagonalStructMatrix (TPZCompMesh *)
 
 ~TPZBlockDiagonalStructMatrix ()
 
 TPZBlockDiagonalStructMatrix (const TPZBlockDiagonalStructMatrix &copy)
 
virtual TPZMatrix< STATE > * Create () override
 Creates a sparse blockdiagonal matrix, overlapping should be assumed. More...
 
virtual TPZMatrix< STATE > * CreateAssemble (TPZFMatrix< STATE > &rhs, TPZAutoPointer< TPZGuiInterface > guiInterface) override
 
virtual TPZStructMatrixClone () override
 
void AssembleBlockDiagonal (TPZBlockDiagonal< STATE > &block)
 
- 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) override
 Assemble the global system of equations into the matrix which has already been created. More...
 
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
 

Private Member Functions

 TPZBlockDiagonalStructMatrix ()
 
void BlockSizes (TPZVec< int > &blocksizes)
 

Private Attributes

friend TPZPersistenceManager
 
MBlockStructure fBlockStructure
 
int fOverlap
 

Additional Inherited Members

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

Detailed Description

Implements Block Diagonal Structural Matrices. Structural Matrix.

Definition at line 21 of file pzbdstrmatrix.h.

Member Enumeration Documentation

◆ MBlockStructure

Enumerator
ENodeBased 
EVertexBased 
EElementBased 

Definition at line 26 of file pzbdstrmatrix.h.

Constructor & Destructor Documentation

◆ TPZBlockDiagonalStructMatrix() [1/3]

TPZBlockDiagonalStructMatrix::TPZBlockDiagonalStructMatrix ( TPZCompMesh mesh)

Definition at line 123 of file pzbdstrmatrix.cpp.

◆ ~TPZBlockDiagonalStructMatrix()

TPZBlockDiagonalStructMatrix::~TPZBlockDiagonalStructMatrix ( )

Definition at line 20 of file pzbdstrmatrix.cpp.

◆ TPZBlockDiagonalStructMatrix() [2/3]

TPZBlockDiagonalStructMatrix::TPZBlockDiagonalStructMatrix ( const TPZBlockDiagonalStructMatrix copy)
inline

◆ TPZBlockDiagonalStructMatrix() [3/3]

TPZBlockDiagonalStructMatrix::TPZBlockDiagonalStructMatrix ( )
private

Definition at line 128 of file pzbdstrmatrix.cpp.

Referenced by TPZBlockDiagonalStructMatrix().

Member Function Documentation

◆ AssembleBlockDiagonal()

void TPZBlockDiagonalStructMatrix::AssembleBlockDiagonal ( TPZBlockDiagonal< STATE > &  block)

◆ BlockSizes()

void TPZBlockDiagonalStructMatrix::BlockSizes ( TPZVec< int > &  blocksizes)
private

◆ ClassId()

int TPZBlockDiagonalStructMatrix::ClassId ( ) const
overridevirtual

Define the class id associated with the class.

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

Implements TPZSavable.

Definition at line 133 of file pzbdstrmatrix.cpp.

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

◆ Clone()

TPZStructMatrix * TPZBlockDiagonalStructMatrix::Clone ( )
overridevirtual

Reimplemented from TPZStructMatrixOR.

Definition at line 107 of file pzbdstrmatrix.cpp.

Referenced by TPZBlockDiagonalStructMatrix().

◆ Create()

TPZMatrix< STATE > * TPZBlockDiagonalStructMatrix::Create ( )
overridevirtual

Creates a sparse blockdiagonal matrix, overlapping should be assumed.

Reimplemented from TPZStructMatrixOR.

Definition at line 118 of file pzbdstrmatrix.cpp.

Referenced by TPZMGAnalysis::AppendMesh(), and TPZBlockDiagonalStructMatrix().

◆ CreateAssemble()

TPZMatrix< STATE > * TPZBlockDiagonalStructMatrix::CreateAssemble ( TPZFMatrix< STATE > &  rhs,
TPZAutoPointer< TPZGuiInterface guiInterface 
)
overridevirtual

Reimplemented from TPZStructMatrixBase.

Definition at line 110 of file pzbdstrmatrix.cpp.

References TPZFMatrix< TVar >::Redim().

Referenced by TPZBlockDiagonalStructMatrix().

Member Data Documentation

◆ fBlockStructure

MBlockStructure TPZBlockDiagonalStructMatrix::fBlockStructure
private

Definition at line 55 of file pzbdstrmatrix.h.

◆ fOverlap

int TPZBlockDiagonalStructMatrix::fOverlap
private

Definition at line 56 of file pzbdstrmatrix.h.

◆ TPZPersistenceManager

friend TPZBlockDiagonalStructMatrix::TPZPersistenceManager
private

Definition at line 53 of file pzbdstrmatrix.h.


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