NeoPZ
|
#include <TPZStructMatrixBase.h>
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) |
Definition at line 15 of file TPZStructMatrixBase.h.
|
inlinevirtual |
Definition at line 90 of file TPZStructMatrixBase.h.
References TPZStructMatrixBase().
|
protected |
Definition at line 20 of file TPZStructMatrixBase.cpp.
References TPZThreadPool::globalInstance(), and SetNumThreads().
Referenced by ~TPZStructMatrixBase().
|
protected |
Definition at line 36 of file TPZStructMatrixBase.cpp.
|
protected |
Definition at line 24 of file TPZStructMatrixBase.cpp.
References TPZThreadPool::globalInstance(), SetMesh(), and SetNumThreads().
|
protected |
Definition at line 30 of file TPZStructMatrixBase.cpp.
References TPZThreadPool::globalInstance(), SetMesh(), and SetNumThreads().
|
pure virtual |
Implemented in TPZStructMatrixOR, TPZFrontStructMatrix< front >, TPZParFrontStructMatrix< front >, TPZStructMatrixOT, TPZStructMatrixCS, TPZStructMatrixTBBFlow, TPZStructMatrixGC, TPZStructMatrixST, and TPZStructMatrixGCTP.
Referenced by CreateAssemble().
|
pure virtual |
|
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().
|
pure virtual |
Implemented in TPZStructMatrixOR, TPZFrontStructMatrix< front >, TPZDohrStructMatrix, TPZStructMatrixOT, TPZStructMatrixCS, TPZStructMatrixTBBFlow, TPZStructMatrixGC, TPZStructMatrixGCTP, TPZParFrontStructMatrix< front >, TPZStructMatrixST, TPZBlockDiagonalStructMatrix, TPZSkylineStructMatrix, TPZParSkylineStructMatrix, TPZSymetricSpStructMatrix, TPZBandStructMatrix, TPZSpStructMatrix, TPZMatRedStructMatrix< TStructMatrix, TSparseMatrix >, TPBSpStructMatrix, TPZSkylineNSymStructMatrix, TPZFStructMatrix, TPZSBandStructMatrix, and TPZSparseBlockDiagonalStructMatrix.
|
pure virtual |
Implemented in TPZStructMatrixOR, TPZFrontStructMatrix< front >, TPZStructMatrixOT, TPZStructMatrixCS, TPZStructMatrixTBBFlow, TPZStructMatrixGC, TPZStructMatrixST, TPZStructMatrixGCTP, TPZSkylineStructMatrix, TPZBlockDiagonalStructMatrix, TPZDohrStructMatrix, TPZMatRedStructMatrix< TStructMatrix, TSparseMatrix >, TPZParSkylineStructMatrix, TPZBandStructMatrix, TPZSymetricSpStructMatrix, TPZSpStructMatrix, TPZFStructMatrix, TPBSpStructMatrix, TPZSparseBlockDiagonalStructMatrix, and TPZSBandStructMatrix.
Referenced by CreateAssemble().
|
virtual |
Reimplemented in TPZFrontStructMatrix< front >, TPZParFrontStructMatrix< front >, TPZStructMatrixOT, TPZStructMatrixCS, TPZStructMatrixTBBFlow, TPZStructMatrixGC, TPZStructMatrixGCTP, TPZStructMatrixST, TPZBlockDiagonalStructMatrix, TPZParSkylineStructMatrix, TPZSymetricSpStructMatrix, TPZBandStructMatrix, TPZSpStructMatrix, TPBSpStructMatrix, and TPZSBandStructMatrix.
Definition at line 60 of file TPZStructMatrixBase.cpp.
References Assemble(), TPZMatrix< TVar >::Cols(), Create(), fEquationFilter, LOGPZ_DEBUG, MAX, TPZEquationFilter::NEqExpand(), TPZMatrix< TVar >::Print(), and TPZFMatrix< TVar >::Redim().
Referenced by TPZStructMatrixOR::~TPZStructMatrixOR().
|
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().
|
virtual |
Filter out the equations which are out of the range.
Reimplemented in TPZStructMatrixST, and TPZStructMatrixOT.
Definition at line 79 of file TPZStructMatrixBase.cpp.
References fEquationFilter, and TPZEquationFilter::Filter().
Referenced by TPZFrontStructMatrix< front >::AssembleElement(), TPZFrontStructMatrix< front >::AssembleNew(), TPZStructMatrixGCTP::MultiThread_Assemble(), parallel_assemble_task_t< TVar >::push_work_item(), parallel_assemble_task_t< TVar >::run_serial(), TPZPairStructMatrix::SerialAssemble(), TPZStructMatrixOR::ThreadData::ThreadWork(), TPZPairStructMatrix::ThreadData::ThreadWork(), TPZStructMatrixGC::ThreadData::ThreadWork(), TPZStructMatrixCS::ThreadData::ThreadWork(), TPZStructMatrixGC::ThreadData::ThreadWorkResidual(), and TPZPairStructMatrix::TPZPairStructMatrix().
|
inlinevirtual |
Definition at line 45 of file TPZStructMatrixBase.h.
References fNumThreads.
Referenced by TPZPairStructMatrix::Assemble(), TPZPairStructMatrix::MultiThread_Assemble(), TPZStructMatrixOT::ThreadData::ThreadWork(), and TPZStructMatrixOT::ThreadData::ThreadWorkResidual().
|
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().
|
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().
|
inlinevirtual |
Access method for the mesh pointer.
Reimplemented in TPZStructMatrixST.
Definition at line 70 of file TPZStructMatrixBase.h.
References fMesh.
Referenced by TPZStructMatrixGCTP::MultiThread_Assemble(), TPZPairStructMatrix::ThreadData::NextElement(), parallel_assemble_task_t< TVar >::run_serial(), TPZStructMatrixOT::Serial_Assemble(), TPZPairStructMatrix::SerialAssemble(), TPZPairStructMatrix::ThreadData::ThreadAssembly1(), TPZPairStructMatrix::ThreadData::ThreadAssembly2(), TPZPairStructMatrix::ThreadData::ThreadWork(), TPZStructMatrixGC::ThreadData::ThreadWork(), TPZStructMatrixOT::ThreadData::ThreadWork(), TPZStructMatrixGC::ThreadData::ThreadWorkResidual(), TPZStructMatrixOT::ThreadData::ThreadWorkResidual(), TPZStructMatrixGC::TPZStructMatrixGC(), TPZStructMatrixGCTP::TPZStructMatrixGCTP(), TPZStructMatrixOT::TPZStructMatrixOT(), and TPZStructMatrixTBBFlow::Write().
|
inlinevirtual |
number of equations after applying the filter
Reimplemented in TPZStructMatrixST.
Definition at line 65 of file TPZStructMatrixBase.h.
References fEquationFilter, and TPZEquationFilter::NActiveEquations().
|
overridevirtual |
read objects from the stream
Reimplemented from TPZSavable.
Reimplemented in TPZDohrStructMatrix.
Definition at line 136 of file TPZStructMatrixBase.cpp.
References fCompMesh, fEquationFilter, fMaterialIds, fMesh, fNumThreads, TPZPersistenceManager::GetAutoPointer(), TPZPersistenceManager::GetInstance(), TPZEquationFilter::Read(), and TPZStream::Read().
Referenced by MaterialIds(), TPZStructMatrixGCTP::Read(), TPZStructMatrixGC::Read(), TPZStructMatrixST::Read(), TPZStructMatrixCS::Read(), TPZStructMatrixTBBFlow::Read(), TPZStructMatrixOT::Read(), and TPZStructMatrixOR::Read().
|
inlinevirtual |
Reimplemented in TPZStructMatrixST.
Definition at line 49 of file TPZStructMatrixBase.h.
References fEquationFilter, TPZEquationFilter::Reset(), and TPZEquationFilter::SetMinMaxEq().
Referenced by InitializeMatrices(), and parallel_assemble_task_t< TVar >::parallel_assemble_task_t().
|
virtual |
Set the set of material ids which will be considered when assembling the system.
Reimplemented in TPZStructMatrixST, and TPZStructMatrixOT.
Definition at line 86 of file TPZStructMatrixBase.cpp.
References TPZSubCompMesh::Analysis(), DebugStop, TPZCompMesh::ElementVec(), fMaterialIds, fMesh, LOGPZ_DEBUG, LOGPZ_ERROR, LOGPZ_WARN, TPZChunkVector< T, EXP >::NElements(), SetMaterialIds(), and TPZAnalysis::StructMatrix().
Referenced by SetMaterialIds(), and TPZPairStructMatrix::SetMaterialIds().
|
virtual |
Reimplemented in TPZMatRedStructMatrix< TStructMatrix, TSparseMatrix >.
Definition at line 42 of file TPZStructMatrixBase.cpp.
References TPZCheckMesh::CheckConnectSeqNumberConsistency(), DebugStop, fEquationFilter, fMesh, TPZCompMesh::NEquations(), and TPZEquationFilter::SetNumEq().
Referenced by SetMesh(), TPZMatRedStructMatrix< TStructMatrix, TSparseMatrix >::SetMesh(), and TPZStructMatrixBase().
|
virtual |
Definition at line 55 of file TPZStructMatrixBase.cpp.
|
inlinevirtual |
Definition at line 41 of file TPZStructMatrixBase.h.
References fNumThreads.
Referenced by TPZStructMatrixGCTP::CreateAssemble(), TPZStructMatrixGC::CreateAssemble(), TPZStructMatrixST::CreateAssemble(), TPZStructMatrixTBBFlow::CreateAssemble(), TPZStructMatrixCS::CreateAssemble(), TPZStructMatrixOT::CreateAssemble(), TPZStructMatrixOR::CreateAssemble(), TPZParFrontStructMatrix< front >::main(), main(), PYBIND11_MODULE(), TCedricTest::Run(), TPZSubCompMesh::SetAnalysisFrontal(), TPZSubCompMesh::SetAnalysisSkyline(), TPZPairStructMatrix::SetNumThreads(), Hdiv2dPaper201504::SolveSyst(), hdivCurvedJCompAppMath::SolveSyst(), Hdiv3dPaper201504::SolveSyst(), TPZPairStructMatrix::TPZPairStructMatrix(), TPZParFrontStructMatrix< front >::TPZParFrontStructMatrix(), TPZStructMatrixBase(), and TPZStructMatrixTBBFlow::TPZStructMatrixTBBFlow().
|
inlinevirtual |
Establish whether the element should be computed.
Reimplemented in TPZStructMatrixST, TPZStructMatrixOT, and TPZStructMatrixGCTP.
Definition at line 75 of file TPZStructMatrixBase.h.
References fMaterialIds.
Referenced by TPZFrontStructMatrix< front >::Assemble(), TPZParFrontStructMatrix< front >::GlobalAssemble(), TPZStructMatrixGC::Serial_Assemble(), TPZStructMatrixCS::Serial_Assemble(), TPZStructMatrixOR::Serial_Assemble(), TPZStructMatrixOR::ThreadData::ShouldCompute(), TPZPairStructMatrix::ThreadData::ShouldCompute(), TPZStructMatrixGC::ThreadData::ShouldCompute(), and TPZStructMatrixCS::ThreadData::ShouldCompute().
|
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().
|
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().
|
protected |
Object which will determine which equations will be assembled.
Definition at line 104 of file TPZStructMatrixBase.h.
Referenced by TPZStructMatrixGCTP::Assemble(), TPZStructMatrixGC::Assemble(), TPZStructMatrixCS::Assemble(), TPZStructMatrixOT::Assemble(), TPZStructMatrixOR::Assemble(), TPZSBandStructMatrix::Create(), TPZBandStructMatrix::Create(), TPZParSkylineStructMatrix::Create(), TPZSkylineStructMatrix::Create(), CreateAssemble(), TPZStructMatrixGCTP::CreateAssemble(), TPZStructMatrixGC::CreateAssemble(), TPZStructMatrixCS::CreateAssemble(), TPZStructMatrixOT::CreateAssemble(), TPZParFrontStructMatrix< front >::CreateAssemble(), TPZFrontStructMatrix< front >::CreateAssemble(), EquationFilter(), FilterEquations(), HasRange(), NReducedEquations(), Read(), TPZStructMatrixGCTP::Serial_Assemble(), TPZStructMatrixGC::Serial_Assemble(), TPZStructMatrixCS::Serial_Assemble(), TPZStructMatrixOT::Serial_Assemble(), TPZStructMatrixOR::Serial_Assemble(), SetEquationRange(), SetMesh(), TPZStructMatrixOT::TPZStructMatrixOT(), and Write().
|
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 108 of file TPZStructMatrixBase.h.
Referenced by MaterialIds(), TPZStructMatrixGCTP::MaterialIds(), TPZStructMatrixOT::MaterialIds(), TPZStructMatrixGC::MultiThread_Assemble(), TPZStructMatrixCS::MultiThread_Assemble(), TPZStructMatrixOT::MultiThread_Assemble(), TPZStructMatrixOR::MultiThread_Assemble(), TPZStructMatrixOR::ThreadData::NextElement(), TPZStructMatrixCS::ThreadData::NextElement(), Read(), TPZStructMatrixGCTP::Serial_Assemble(), TPZStructMatrixGC::Serial_Assemble(), TPZStructMatrixCS::Serial_Assemble(), TPZStructMatrixOT::Serial_Assemble(), TPZStructMatrixOR::Serial_Assemble(), SetMaterialIds(), ShouldCompute(), TPZStructMatrixGCTP::ShouldCompute(), TPZStructMatrixOT::ShouldCompute(), and Write().
|
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().
|
protected |
Number of threads in Assemble process.
Definition at line 110 of file TPZStructMatrixBase.h.
Referenced by TPZStructMatrixGCTP::Assemble(), TPZDohrStructMatrix::Assemble(), TPZStructMatrixGC::Assemble(), TPZStructMatrixCS::Assemble(), TPZStructMatrixOT::Assemble(), TPZParFrontStructMatrix< front >::Assemble(), TPZStructMatrixOR::Assemble(), GetNumThreads(), TPZStructMatrixGCTP::MultiThread_Assemble(), TPZStructMatrixGC::MultiThread_Assemble(), TPZStructMatrixCS::MultiThread_Assemble(), TPZStructMatrixOT::MultiThread_Assemble(), TPZStructMatrixOR::MultiThread_Assemble(), Read(), SetNumThreads(), and Write().