NeoPZ
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
TPZStructMatrixST Class Reference

It is responsible for a interface among Matrix and Finite Element classes. Structural Matrix. More...

#include <pzstrmatrixst.h>

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

Public Member Functions

 TPZStructMatrixST ()
 
 TPZStructMatrixST (TPZCompMesh *)
 
 TPZStructMatrixST (TPZAutoPointer< TPZCompMesh > cmesh)
 
 TPZStructMatrixST (const TPZStructMatrixST &copy)
 
virtual ~TPZStructMatrixST ()
 
virtual TPZMatrix< STATE > * Create () override
 
virtual TPZStructMatrixSTClone () override
 
virtual TPZMatrix< STATE > * CreateAssemble (TPZFMatrix< STATE > &rhs, TPZAutoPointer< TPZGuiInterface > guiInterface) override
 
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...
 
void SetEquationRange (int64_t mineq, int64_t maxeq) override
 Determine that the assembly refers to a range of equations. More...
 
virtual bool HasRange () const override
 Verify if a range has been specified. More...
 
TPZEquationFilterEquationFilter () override
 access method for the equation filter More...
 
int64_t NReducedEquations () const override
 number of equations after applying the filter More...
 
TPZCompMeshMesh () const override
 Access method for the mesh pointer. More...
 
virtual void FilterEquations (TPZVec< int64_t > &origindex, TPZVec< int64_t > &destindex) const override
 Filter out the equations which are out of the range. More...
 
void SetMaterialIds (const std::set< int > &materialids) override
 Set the set of material ids which will be considered when assembling the system. More...
 
bool ShouldCompute (int matid) const override
 Establish whether the element should be computed. More...
 
const std::set< int > & MaterialIds () override
 Returns the material ids. More...
 
- Public Member Functions inherited from TPZStructMatrixBase
virtual void SetMesh (TPZCompMesh *)
 
virtual void SetMesh (TPZAutoPointer< TPZCompMesh >)
 
virtual void SetNumThreads (int n)
 
virtual int GetNumThreads () const
 
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

virtual void OnlyAssemble (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 OnlyAssemble (TPZFMatrix< STATE > *rhs, TPZAutoPointer< TPZGuiInterface > guiInterface)
 Assemble the global right hand side. More...
 
virtual void ExecuteAssemble (TPZMatrix< STATE > *fGlobMatrix, TPZFMatrix< STATE > *fGlobRhs, TPZAutoPointer< TPZGuiInterface > guiInterface)
 
- Protected Member Functions inherited from TPZStructMatrixBase
 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...
 
- 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...
 

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

It is responsible for a interface among Matrix and Finite Element classes. Structural Matrix.

Definition at line 30 of file pzstrmatrixst.h.

Constructor & Destructor Documentation

◆ TPZStructMatrixST() [1/4]

TPZStructMatrixST::TPZStructMatrixST ( )
inline

Definition at line 34 of file pzstrmatrixst.h.

◆ TPZStructMatrixST() [2/4]

TPZStructMatrixST::TPZStructMatrixST ( TPZCompMesh mesh)

Definition at line 49 of file pzstrmatrixst.cpp.

◆ TPZStructMatrixST() [3/4]

TPZStructMatrixST::TPZStructMatrixST ( TPZAutoPointer< TPZCompMesh cmesh)

Definition at line 53 of file pzstrmatrixst.cpp.

◆ TPZStructMatrixST() [4/4]

TPZStructMatrixST::TPZStructMatrixST ( const TPZStructMatrixST copy)

Definition at line 57 of file pzstrmatrixst.cpp.

◆ ~TPZStructMatrixST()

virtual TPZStructMatrixST::~TPZStructMatrixST ( )
inlinevirtual

Definition at line 42 of file pzstrmatrixst.h.

References Clone(), Create(), and CreateAssemble().

Member Function Documentation

◆ Assemble() [1/3]

void TPZStructMatrixST::Assemble ( TPZMatrix< STATE > &  mat,
TPZFMatrix< STATE > &  rhs,
TPZAutoPointer< TPZGuiInterface guiInterface 
)
overridevirtual

◆ Assemble() [2/3]

virtual void TPZStructMatrixST::Assemble ( TPZMatrix< STATE > &  mat,
TPZFMatrix< STATE > &  rhs,
TPZAutoPointer< TPZGuiInterface guiInterface,
unsigned  numthreads_assemble,
unsigned  numthreads_decompose 
)
inlinevirtual

Definition at line 64 of file pzstrmatrixst.h.

References Assemble(), ClassId(), ExecuteAssemble(), OnlyAssemble(), Read(), and Write().

◆ Assemble() [3/3]

void TPZStructMatrixST::Assemble ( TPZFMatrix< STATE > &  rhs,
TPZAutoPointer< TPZGuiInterface guiInterface 
)
overridevirtual

◆ ClassId()

int TPZStructMatrixST::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 224 of file pzstrmatrixst.cpp.

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

Referenced by Assemble().

◆ Clone()

TPZStructMatrixST * TPZStructMatrixST::Clone ( )
overridevirtual

Implements TPZStructMatrixBase.

Definition at line 66 of file pzstrmatrixst.cpp.

References ass_rhs, and ass_stiff.

Referenced by ~TPZStructMatrixST().

◆ Create()

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

Implements TPZStructMatrixBase.

Definition at line 61 of file pzstrmatrixst.cpp.

Referenced by CreateAssemble(), and ~TPZStructMatrixST().

◆ CreateAssemble() [1/2]

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

◆ CreateAssemble() [2/2]

virtual TPZMatrix<STATE>* TPZStructMatrixST::CreateAssemble ( TPZFMatrix< STATE > &  rhs,
TPZAutoPointer< TPZGuiInterface guiInterface,
unsigned  numthreads_assemble,
unsigned  numthreads_decompose 
)
inlinevirtual

◆ EquationFilter()

TPZEquationFilter& TPZStructMatrixST::EquationFilter ( )
inlineoverridevirtual

access method for the equation filter

Reimplemented from TPZStructMatrixBase.

Definition at line 105 of file pzstrmatrixst.h.

References fEquationFilter.

◆ ExecuteAssemble()

void TPZStructMatrixST::ExecuteAssemble ( TPZMatrix< STATE > *  fGlobMatrix,
TPZFMatrix< STATE > *  fGlobRhs,
TPZAutoPointer< TPZGuiInterface guiInterface 
)
protectedvirtual

◆ FilterEquations()

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

Filter out the equations which are out of the range.

Reimplemented from TPZStructMatrixBase.

Referenced by ExecuteAssemble(), and Mesh().

◆ HasRange()

virtual bool TPZStructMatrixST::HasRange ( ) const
inlineoverridevirtual

Verify if a range has been specified.

Reimplemented from TPZStructMatrixBase.

Definition at line 99 of file pzstrmatrixst.h.

References fEquationFilter, and TPZEquationFilter::IsActive().

◆ MaterialIds()

const std::set<int>& TPZStructMatrixST::MaterialIds ( )
inlineoverridevirtual

Returns the material ids.

Reimplemented from TPZStructMatrixBase.

Definition at line 135 of file pzstrmatrixst.h.

References fMaterialIds.

◆ Mesh()

TPZCompMesh* TPZStructMatrixST::Mesh ( ) const
inlineoverridevirtual

Access method for the mesh pointer.

Reimplemented from TPZStructMatrixBase.

Definition at line 117 of file pzstrmatrixst.h.

References FilterEquations(), fMesh, and SetMaterialIds().

◆ NReducedEquations()

int64_t TPZStructMatrixST::NReducedEquations ( ) const
inlineoverridevirtual

number of equations after applying the filter

Reimplemented from TPZStructMatrixBase.

Definition at line 111 of file pzstrmatrixst.h.

References fEquationFilter, and TPZEquationFilter::NActiveEquations().

◆ OnlyAssemble() [1/2]

void TPZStructMatrixST::OnlyAssemble ( TPZMatrix< STATE > *  mat,
TPZFMatrix< STATE > *  rhs,
TPZAutoPointer< TPZGuiInterface guiInterface 
)
protectedvirtual

Assemble the global system of equations into the matrix which has already been created.

Definition at line 191 of file pzstrmatrixst.cpp.

References TPZGuiInterface::AmIKilled(), and ExecuteAssemble().

Referenced by Assemble().

◆ OnlyAssemble() [2/2]

void TPZStructMatrixST::OnlyAssemble ( TPZFMatrix< STATE > *  rhs,
TPZAutoPointer< TPZGuiInterface guiInterface 
)
protectedvirtual

Assemble the global right hand side.

Definition at line 199 of file pzstrmatrixst.cpp.

References TPZGuiInterface::AmIKilled(), and ExecuteAssemble().

◆ Read()

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

read objects from the stream

Reimplemented from TPZSavable.

Definition at line 228 of file pzstrmatrixst.cpp.

References TPZStructMatrixBase::Read().

Referenced by Assemble().

◆ SetEquationRange()

void TPZStructMatrixST::SetEquationRange ( int64_t  mineq,
int64_t  maxeq 
)
inlineoverridevirtual

Determine that the assembly refers to a range of equations.

Reimplemented from TPZStructMatrixBase.

Definition at line 92 of file pzstrmatrixst.h.

References fEquationFilter, TPZEquationFilter::Reset(), and TPZEquationFilter::SetMinMaxEq().

◆ SetMaterialIds()

void TPZStructMatrixST::SetMaterialIds ( const std::set< int > &  materialids)
overridevirtual

Set the set of material ids which will be considered when assembling the system.

Reimplemented from TPZStructMatrixBase.

Referenced by Mesh().

◆ ShouldCompute()

bool TPZStructMatrixST::ShouldCompute ( int  matid) const
inlineoverridevirtual

Establish whether the element should be computed.

Reimplemented from TPZStructMatrixBase.

Definition at line 129 of file pzstrmatrixst.h.

References fMaterialIds.

◆ Write()

void TPZStructMatrixST::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.

Definition at line 232 of file pzstrmatrixst.cpp.

References TPZStructMatrixBase::Write().

Referenced by Assemble().

Member Data Documentation

◆ fCompMesh

TPZAutoPointer<TPZCompMesh> TPZStructMatrixST::fCompMesh
protected

Autopointer control of the computational mesh.

Definition at line 145 of file pzstrmatrixst.h.

◆ fEquationFilter

TPZEquationFilter TPZStructMatrixST::fEquationFilter
protected

Object which will determine which equations will be assembled.

Definition at line 147 of file pzstrmatrixst.h.

Referenced by Assemble(), CreateAssemble(), EquationFilter(), HasRange(), NReducedEquations(), and SetEquationRange().

◆ fMaterialIds

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

Set of material ids to be considered. It is a private attribute.

Use ShouldCompute method to know if element must be assembled or not

Definition at line 153 of file pzstrmatrixst.h.

Referenced by MaterialIds(), and ShouldCompute().

◆ fMesh

TPZCompMesh* TPZStructMatrixST::fMesh
protected

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

Definition at line 143 of file pzstrmatrixst.h.

Referenced by ExecuteAssemble(), and Mesh().

◆ fNumThreads

int TPZStructMatrixST::fNumThreads
protected

Number of threads in Assemble process.

Definition at line 156 of file pzstrmatrixst.h.


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