NeoPZ
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
TPZSpStructMatrix Class Reference

Implements Sparse Structural Matrices. Structural Matrix. More...

#include <TPZSpStructMatrix.h>

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

Public Member Functions

 TPZSpStructMatrix (TPZCompMesh *)
 
virtual TPZMatrix< STATE > * Create () override
 
virtual TPZMatrix< STATE > * CreateAssemble (TPZFMatrix< STATE > &rhs, TPZAutoPointer< TPZGuiInterface > guiInterface) override
 
virtual TPZStructMatrix * Clone () override
 
int ClassId () const override
 Define the class id associated with the class. More...
 
- 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...
 
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 TPZEquationFilter & EquationFilter ()
 access method for the equation filter More...
 
virtual int64_t NReducedEquations () const
 number of equations after applying the filter More...
 
virtual TPZCompMesh * Mesh () 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 TPZSavable * CreateInstance (const int &classId)
 

Private Member Functions

 TPZSpStructMatrix ()
 

Private Attributes

friend TPZPersistenceManager
 

Additional Inherited Members

- 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
TPZCompMesh * fMesh
 Pointer to the computational mesh from which the matrix will be generated. More...
 
TPZAutoPointer< TPZCompMesh > fCompMesh
 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 Sparse Structural Matrices. Structural Matrix.

Definition at line 23 of file TPZSpStructMatrix.h.

Constructor & Destructor Documentation

◆ TPZSpStructMatrix() [1/2]

TPZSpStructMatrix::TPZSpStructMatrix ( TPZCompMesh *  mesh)

Definition at line 261 of file TPZSpStructMatrix.cpp.

◆ TPZSpStructMatrix() [2/2]

TPZSpStructMatrix::TPZSpStructMatrix ( )
private

Definition at line 258 of file TPZSpStructMatrix.cpp.

Member Function Documentation

◆ ClassId()

int TPZSpStructMatrix::ClassId ( ) const
overridevirtual

Define the class id associated with the class.

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

Reimplemented from TPZStructMatrixOR.

Definition at line 264 of file TPZSpStructMatrix.cpp.

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

Referenced by TPBSpStructMatrix::ClassId().

◆ Clone()

TPZStructMatrix * TPZSpStructMatrix::Clone ( )
overridevirtual

Reimplemented from TPZStructMatrixOR.

Reimplemented in TPBSpStructMatrix.

Definition at line 34 of file TPZSpStructMatrix.cpp.

◆ Create()

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

Longhin implementation

Creates a element graph

converts an element graph structure into a node graph structure those vectors have size ZERO !!!

vector sizes

Reimplemented from TPZStructMatrixOR.

Reimplemented in TPBSpStructMatrix.

Definition at line 75 of file TPZSpStructMatrix.cpp.

References TPZRenumbering::ConvertGraph(), DebugStop, LOGPZ_DEBUG, TPZVec< T >::NElements(), TPZFYsmpMatrix< TVar >::SetData(), TPZRenumbering::SetElementGraph(), TPZRenumbering::SetElementsNodes(), and TPZVec< T >::size().

Referenced by TPZEulerAnalysis::SetGMResBlock(), and TPZEulerAnalysis::SetGMResFront().

◆ CreateAssemble()

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

Reimplemented from TPZStructMatrixBase.

Reimplemented in TPBSpStructMatrix.

Definition at line 37 of file TPZSpStructMatrix.cpp.

References LOGPZ_DEBUG, TPZFMatrix< TVar >::Redim(), TPZTimer::start(), and TPZTimer::stop().

◆ main()

int TPZSpStructMatrix::main ( )
static

Member Data Documentation

◆ TPZPersistenceManager

friend TPZSpStructMatrix::TPZPersistenceManager
private

Definition at line 44 of file TPZSpStructMatrix.h.


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