NeoPZ
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
TPZStructMatrixBase Class Referenceabstract

#include <TPZStructMatrixBase.h>

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

Public Member Functions

virtual void SetMesh (TPZCompMesh *)
 
virtual void SetMesh (TPZAutoPointer< TPZCompMesh >)
 
virtual TPZStructMatrixBaseClone ()=0
 
virtual TPZMatrix< STATE > * Create ()=0
 
virtual void Assemble (TPZMatrix< STATE > &stiffness, TPZFMatrix< STATE > &rhs, TPZAutoPointer< TPZGuiInterface > guiInterface)=0
 
virtual void Assemble (TPZFMatrix< STATE > &rhs, TPZAutoPointer< TPZGuiInterface > guiInterface)=0
 
virtual TPZMatrix< STATE > * CreateAssemble (TPZFMatrix< STATE > &rhs, TPZAutoPointer< TPZGuiInterface > guiInterface)
 
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
 

Protected Member Functions

 TPZStructMatrixBase ()
 
 TPZStructMatrixBase (const TPZStructMatrixBase &)
 
 TPZStructMatrixBase (TPZCompMesh *)
 
 TPZStructMatrixBase (TPZAutoPointer< TPZCompMesh >)
 

Protected Attributes

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

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)
 

Detailed Description

Definition at line 15 of file TPZStructMatrixBase.h.

Constructor & Destructor Documentation

◆ ~TPZStructMatrixBase()

virtual TPZStructMatrixBase::~TPZStructMatrixBase ( )
inlinevirtual

Definition at line 90 of file TPZStructMatrixBase.h.

References TPZStructMatrixBase().

◆ TPZStructMatrixBase() [1/4]

TPZStructMatrixBase::TPZStructMatrixBase ( )
protected

Definition at line 20 of file TPZStructMatrixBase.cpp.

References TPZThreadPool::globalInstance(), and SetNumThreads().

Referenced by ~TPZStructMatrixBase().

◆ TPZStructMatrixBase() [2/4]

TPZStructMatrixBase::TPZStructMatrixBase ( const TPZStructMatrixBase copy)
protected

Definition at line 36 of file TPZStructMatrixBase.cpp.

◆ TPZStructMatrixBase() [3/4]

TPZStructMatrixBase::TPZStructMatrixBase ( TPZCompMesh mesh)
protected

◆ TPZStructMatrixBase() [4/4]

TPZStructMatrixBase::TPZStructMatrixBase ( TPZAutoPointer< TPZCompMesh mesh)
protected

Member Function Documentation

◆ Assemble() [1/2]

virtual void TPZStructMatrixBase::Assemble ( TPZMatrix< STATE > &  stiffness,
TPZFMatrix< STATE > &  rhs,
TPZAutoPointer< TPZGuiInterface guiInterface 
)
pure virtual

◆ Assemble() [2/2]

virtual void TPZStructMatrixBase::Assemble ( TPZFMatrix< STATE > &  rhs,
TPZAutoPointer< TPZGuiInterface guiInterface 
)
pure virtual

◆ ClassId()

int TPZStructMatrixBase::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 132 of file TPZStructMatrixBase.cpp.

References Hash().

Referenced by TPZStructMatrixGCTP::ClassId(), TPZStructMatrixGC::ClassId(), TPZStructMatrixST::ClassId(), TPZStructMatrixCS::ClassId(), TPZStructMatrixTBBFlow::ClassId(), TPZStructMatrixOT::ClassId(), TPZStructMatrixOR::ClassId(), and MaterialIds().

◆ Clone()

virtual TPZStructMatrixBase* TPZStructMatrixBase::Clone ( )
pure virtual

◆ Create()

virtual TPZMatrix<STATE>* TPZStructMatrixBase::Create ( )
pure virtual

◆ CreateAssemble()

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

◆ EquationFilter()

virtual TPZEquationFilter& TPZStructMatrixBase::EquationFilter ( )
inlinevirtual

access method for the equation filter

Reimplemented in TPZStructMatrixST.

Definition at line 60 of file TPZStructMatrixBase.h.

References fEquationFilter.

Referenced by AssembleMatrices(), InitializeMatrices(), TPZStructMatrixGCTP::MultiThread_Assemble(), and TPZSubCompMesh::SetAnalysisSkyline().

◆ FilterEquations()

void TPZStructMatrixBase::FilterEquations ( TPZVec< int64_t > &  origindex,
TPZVec< int64_t > &  destindex 
) const
virtual

◆ GetNumThreads()

virtual int TPZStructMatrixBase::GetNumThreads ( ) const
inlinevirtual

◆ HasRange()

virtual bool TPZStructMatrixBase::HasRange ( ) const
inlinevirtual

Verify if a range has been specified.

Reimplemented in TPZStructMatrixST.

Definition at line 55 of file TPZStructMatrixBase.h.

References fEquationFilter, and TPZEquationFilter::IsActive().

Referenced by TPZStructMatrixOR::ThreadData::ThreadWork(), and TPZStructMatrixCS::ThreadData::ThreadWork().

◆ MaterialIds()

virtual const std::set<int>& TPZStructMatrixBase::MaterialIds ( )
inlinevirtual

Returns the material ids.

Reimplemented in TPZStructMatrixST, TPZStructMatrixOT, and TPZStructMatrixGCTP.

Definition at line 81 of file TPZStructMatrixBase.h.

References ClassId(), fMaterialIds, Read(), and Write().

Referenced by TPZPairStructMatrix::ThreadData::NextElement().

◆ Mesh()

virtual TPZCompMesh* TPZStructMatrixBase::Mesh ( ) const
inlinevirtual

◆ NReducedEquations()

virtual int64_t TPZStructMatrixBase::NReducedEquations ( ) const
inlinevirtual

number of equations after applying the filter

Reimplemented in TPZStructMatrixST.

Definition at line 65 of file TPZStructMatrixBase.h.

References fEquationFilter, and TPZEquationFilter::NActiveEquations().

◆ Read()

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

◆ SetEquationRange()

virtual void TPZStructMatrixBase::SetEquationRange ( int64_t  mineq,
int64_t  maxeq 
)
inlinevirtual

◆ SetMaterialIds()

void TPZStructMatrixBase::SetMaterialIds ( const std::set< int > &  materialids)
virtual

◆ SetMesh() [1/2]

void TPZStructMatrixBase::SetMesh ( TPZCompMesh mesh)
virtual

◆ SetMesh() [2/2]

void TPZStructMatrixBase::SetMesh ( TPZAutoPointer< TPZCompMesh mesh)
virtual

Definition at line 55 of file TPZStructMatrixBase.cpp.

References fCompMesh, and SetMesh().

◆ SetNumThreads()

virtual void TPZStructMatrixBase::SetNumThreads ( int  n)
inlinevirtual

◆ ShouldCompute()

virtual bool TPZStructMatrixBase::ShouldCompute ( int  matid) const
inlinevirtual

◆ Write()

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

Writes this object to the TPZStream buffer. Include the classid if withclassid = true.

Writes this object to the TPZStream buffer. Include the classid if withclassid = true

Reimplemented from TPZSavable.

Reimplemented in TPZDohrStructMatrix.

Definition at line 144 of file TPZStructMatrixBase.cpp.

References fCompMesh, fEquationFilter, fMaterialIds, fMesh, fNumThreads, TPZEquationFilter::Write(), TPZStream::Write(), and TPZPersistenceManager::WritePointer().

Referenced by MaterialIds(), TPZStructMatrixGCTP::Write(), TPZStructMatrixGC::Write(), TPZStructMatrixST::Write(), TPZStructMatrixCS::Write(), TPZStructMatrixTBBFlow::Write(), TPZStructMatrixOT::Write(), and TPZStructMatrixOR::Write().

Member Data Documentation

◆ fCompMesh

TPZAutoPointer<TPZCompMesh> TPZStructMatrixBase::fCompMesh
protected

Autopointer control of the computational mesh.

Definition at line 102 of file TPZStructMatrixBase.h.

Referenced by TPZDohrStructMatrix::Assemble(), TPZDohrStructMatrix::Create(), Read(), SetMesh(), and Write().

◆ fEquationFilter

TPZEquationFilter TPZStructMatrixBase::fEquationFilter
protected

◆ fMaterialIds

std::set<int> TPZStructMatrixBase::fMaterialIds
protected

◆ fMesh

TPZCompMesh* TPZStructMatrixBase::fMesh
protected

Pointer to the computational mesh from which the matrix will be generated.

Definition at line 100 of file TPZStructMatrixBase.h.

Referenced by TPZFrontStructMatrix< front >::AdjustSequenceNumbering(), TPZDohrStructMatrix::Assemble(), TPZParFrontStructMatrix< front >::Assemble(), TPZFrontStructMatrix< front >::Assemble(), TPZFrontStructMatrix< front >::AssembleNew(), TPZDohrStructMatrix::AssembleTBB(), TPZSBandStructMatrix::Create(), TPZBandStructMatrix::Create(), TPZParSkylineStructMatrix::Create(), TPZMatRedStructMatrix< TStructMatrix, TSparseMatrix >::Create(), TPZDohrStructMatrix::Create(), TPZSkylineStructMatrix::Create(), TPZFrontStructMatrix< front >::CreateAssemble(), TPZParFrontStructMatrix< front >::ElementAssemble(), TPZParFrontStructMatrix< front >::GlobalAssemble(), TPZDohrStructMatrix::IdentifyCornerNodes(), TPZDohrStructMatrix::IdentifyEqNumbers(), Mesh(), TPZStructMatrixCS::MultiThread_Assemble(), TPZStructMatrixOT::MultiThread_Assemble(), TPZStructMatrixOR::ThreadData::NextElement(), TPZStructMatrixCS::ThreadData::NextElement(), TPZFrontStructMatrix< front >::OrderElement(), Read(), TPZStructMatrixGCTP::Serial_Assemble(), TPZStructMatrixGC::Serial_Assemble(), TPZStructMatrixCS::Serial_Assemble(), TPZStructMatrixOT::Serial_Assemble(), TPZStructMatrixOR::Serial_Assemble(), SetMaterialIds(), SetMesh(), TPZDohrStructMatrix::SubStructure(), TPZStructMatrixOR::ThreadData::ThreadAssembly(), TPZStructMatrixOR::ThreadData::ThreadWork(), TPZStructMatrixCS::ThreadData::ThreadWork(), and Write().

◆ fNumThreads

int TPZStructMatrixBase::fNumThreads
protected

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