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 TPZStructMatrixBase * Clone ()=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 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
 

Protected Member Functions

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

Protected Attributes

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

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 TPZSavable * CreateInstance (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: