NeoPZ
|
Refines geometrical mesh (all the elements) num times. More...
#include <pzstrmatrix.h>
Classes | |
struct | ThreadData |
Structure to manipulate thread to solve system equations. More... | |
Public Member Functions | |
TPZStructMatrixOR () | |
TPZStructMatrixOR (TPZCompMesh *) | |
TPZStructMatrixOR (TPZAutoPointer< TPZCompMesh > cmesh) | |
TPZStructMatrixOR (const TPZStructMatrixOR ©) | |
virtual | ~TPZStructMatrixOR () |
virtual TPZMatrix< STATE > * | Create () override |
virtual TPZStructMatrixOR * | Clone () 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... | |
Public Member Functions inherited from TPZStructMatrixBase | |
virtual void | SetMesh (TPZCompMesh *) |
virtual void | SetMesh (TPZAutoPointer< TPZCompMesh >) |
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 | |
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 >) | |
Friends | |
struct | ThreadData |
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) |
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... | |
Refines geometrical mesh (all the elements) num times.
It is responsible for a interface among Matrix and Finite Element classes. Structural Matrix
Definition at line 35 of file pzstrmatrix.h.
TPZStructMatrixOR::TPZStructMatrixOR | ( | ) |
Definition at line 50 of file pzstrmatrix.cpp.
TPZStructMatrixOR::TPZStructMatrixOR | ( | TPZCompMesh * | mesh | ) |
Definition at line 53 of file pzstrmatrix.cpp.
TPZStructMatrixOR::TPZStructMatrixOR | ( | TPZAutoPointer< TPZCompMesh > | cmesh | ) |
Definition at line 57 of file pzstrmatrix.cpp.
TPZStructMatrixOR::TPZStructMatrixOR | ( | const TPZStructMatrixOR & | copy | ) |
Definition at line 61 of file pzstrmatrix.cpp.
|
inlinevirtual |
Definition at line 92 of file pzstrmatrix.h.
References Clone(), Create(), and TPZStructMatrixBase::CreateAssemble().
|
overridevirtual |
Assemble the global system of equations into the matrix which has already been created.
Implements TPZStructMatrixBase.
Reimplemented in TPZFrontStructMatrix< front >, and TPZParFrontStructMatrix< front >.
Definition at line 80 of file pzstrmatrix.cpp.
References TPZMatrix< TVar >::Cols(), DebugStop, TPZStructMatrixBase::fEquationFilter, TPZStructMatrixBase::fNumThreads, TPZEquationFilter::IsActive(), MultiThread_Assemble(), TPZEquationFilter::NActiveEquations(), TPZMatrix< TVar >::Rows(), TPZEquationFilter::Scatter(), Serial_Assemble(), RunStatsTable::start(), and RunStatsTable::stop().
Referenced by TPZDohrStructMatrix::Assemble(), Assemble(), TPZPlasticDiagnostic::CheckGlobal(), TPZElastoPlasticAnalysis::ComputeTangent(), TPZSBandStructMatrix::CreateAssemble(), TPZBandStructMatrix::CreateAssemble(), TPZParSkylineStructMatrix::CreateAssemble(), CreateAssemble(), main(), and TPZElastoPlasticAnalysis::Residual().
|
inlinevirtual |
Reimplemented in TPZDohrStructMatrix.
Definition at line 110 of file pzstrmatrix.h.
References Assemble(), ClassId(), MultiThread_Assemble(), Read(), Serial_Assemble(), and Write().
|
overridevirtual |
Assemble the global right hand side.
Implements TPZStructMatrixBase.
Reimplemented in TPZDohrStructMatrix.
Definition at line 107 of file pzstrmatrix.cpp.
References DebugStop, TPZStructMatrixBase::fEquationFilter, TPZStructMatrixBase::fNumThreads, TPZEquationFilter::IsActive(), MultiThread_Assemble(), TPZEquationFilter::NActiveEquations(), TPZEquationFilter::NEqExpand(), Norm(), TPZMatrix< TVar >::Rows(), TPZEquationFilter::Scatter(), Serial_Assemble(), RunStatsTable::start(), and RunStatsTable::stop().
|
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.
Reimplemented in TPZSpStructMatrix, and TPBSpStructMatrix.
Definition at line 559 of file pzstrmatrix.cpp.
References TPZStructMatrixBase::ClassId(), and Hash().
Referenced by Assemble(), TPZBlockDiagonalStructMatrix::ClassId(), and TPZSpStructMatrix::ClassId().
|
overridevirtual |
Implements TPZStructMatrixBase.
Reimplemented in TPZFrontStructMatrix< front >, TPZDohrStructMatrix, TPZParFrontStructMatrix< front >, TPZBlockDiagonalStructMatrix, TPZSkylineStructMatrix, TPZParSkylineStructMatrix, TPZSymetricSpStructMatrix, TPZBandStructMatrix, TPZSpStructMatrix, TPZMatRedStructMatrix< TStructMatrix, TSparseMatrix >, TPBSpStructMatrix, TPZSkylineNSymStructMatrix, TPZFStructMatrix, TPZSBandStructMatrix, and TPZSparseBlockDiagonalStructMatrix.
Definition at line 70 of file pzstrmatrix.cpp.
References ass_rhs, ass_stiff, and DebugStop.
Referenced by TPZSparseBlockDiagonalStructMatrix::Clone(), TPZAnalysis::SetStructuralMatrix(), and ~TPZStructMatrixOR().
|
overridevirtual |
Implements TPZStructMatrixBase.
Reimplemented in TPZFrontStructMatrix< front >, TPZSkylineStructMatrix, TPZBlockDiagonalStructMatrix, TPZDohrStructMatrix, TPZMatRedStructMatrix< TStructMatrix, TSparseMatrix >, TPZParSkylineStructMatrix, TPZBandStructMatrix, TPZSymetricSpStructMatrix, TPZSpStructMatrix, TPZFStructMatrix, TPBSpStructMatrix, TPZSparseBlockDiagonalStructMatrix, and TPZSBandStructMatrix.
Definition at line 65 of file pzstrmatrix.cpp.
Referenced by TPZSubCompMesh::SetAnalysisSkyline(), and ~TPZStructMatrixOR().
|
inlinevirtual |
Reimplemented in TPZDohrStructMatrix.
Definition at line 100 of file pzstrmatrix.h.
References Assemble(), and TPZStructMatrixBase::SetNumThreads().
Referenced by TPZMGAnalysis::AppendMesh(), TPZSubCompMesh::CalcStiff(), TPZPlasticDiagnostic::CheckGlobal(), InitializeMatrices(), TPZFrontStructMatrix< front >::SetDecomposeType(), and TPZBandStructMatrix::TPZBandStructMatrix().
|
protectedvirtual |
Assemble the global right hand side.
Definition at line 504 of file pzstrmatrix.cpp.
References TPZGuiInterface::AmIKilled(), TPZStructMatrixBase::fMaterialIds, TPZStructMatrixBase::fNumThreads, substruct_tst14.test::numthreads, PZ_PTHREAD_CREATE, PZ_PTHREAD_JOIN, TPZStructMatrixOR::ThreadData::ThreadAssembly(), and TPZStructMatrixOR::ThreadData::ThreadWork().
Referenced by Assemble().
|
protectedvirtual |
Assemble the global system of equations into the matrix which has already been created.
Definition at line 472 of file pzstrmatrix.cpp.
References TPZGuiInterface::AmIKilled(), EMathematicaInput, TPZStructMatrixBase::fMaterialIds, TPZStructMatrixBase::fNumThreads, LOGPZ_DEBUG, substruct_tst14.test::numthreads, TPZMatrix< TVar >::Print(), PZ_PTHREAD_CREATE, PZ_PTHREAD_JOIN, TPZStructMatrixOR::ThreadData::ThreadAssembly(), and TPZStructMatrixOR::ThreadData::ThreadWork().
|
overridevirtual |
read objects from the stream
Reimplemented from TPZSavable.
Reimplemented in TPZDohrStructMatrix.
Definition at line 563 of file pzstrmatrix.cpp.
References TPZStructMatrixBase::Read().
Referenced by Assemble().
|
protectedvirtual |
Assemble the global system of equations into the matrix which has already been created.
Definition at line 132 of file pzstrmatrix.cpp.
References TPZFMatrix< TVar >::AddFel(), TPZMatrix< TVar >::AddKel(), TPZGuiInterface::AmIKilled(), TPZElementMatrix::ApplyConstraints(), TPZCompEl::CalcStiff(), TPZGeoEl::CenterPoint(), DebugStop, TPZGeoEl::Dimension(), TPZElementMatrix::EF, TPZElementMatrix::EK, TPZCompMesh::ElementVec(), EMathematicaInput, TPZElementMatrix::fConstrMat, TPZStructMatrixBase::fEquationFilter, TPZEquationFilter::Filter(), TPZElementMatrix::fMat, TPZStructMatrixBase::fMaterialIds, TPZStructMatrixBase::fMesh, TPZCompEl::Index(), TPZGeoEl::Index(), LOGPZ_DEBUG, LOGPZ_ERROR, TPZGeoEl::MaterialId(), TPZEquationFilter::NActiveEquations(), TPZCompEl::NeedsComputing(), TPZCompMesh::NElements(), Norm(), TPZGeoEl::NSides(), TPZElementMatrix::Print(), TPZMatrix< TVar >::Print(), TPZCompEl::Print(), TPZCompEl::Reference(), TPZElementMatrix::Reset(), TPZMatrix< TVar >::Rows(), TPZTimer::start(), TPZTimer::stop(), and TPZGeoEl::X().
Referenced by Assemble().
|
protectedvirtual |
Assemble the global right hand side.
Definition at line 374 of file pzstrmatrix.cpp.
References TPZFMatrix< TVar >::AddFel(), TPZElementMatrix::ApplyConstraints(), TPZCompEl::CalcResidual(), TPZGeoEl::CenterPoint(), TPZElementMatrix::ComputeDestinationIndices(), TPZGeoEl::Dimension(), TPZElementMatrix::EF, TPZCompMesh::ElementVec(), TPZElementMatrix::fConstrMat, TPZElementMatrix::fDestinationIndex, TPZStructMatrixBase::fEquationFilter, TPZEquationFilter::Filter(), TPZElementMatrix::fMat, TPZStructMatrixBase::fMaterialIds, TPZStructMatrixBase::fMesh, TPZElementMatrix::fSourceIndex, TPZElementMatrix::HasDependency(), TPZCompEl::Index(), TPZGeoEl::Index(), LOGPZ_DEBUG, TPZCompEl::Material(), TPZGeoEl::MaterialId(), TPZSubCompMesh::NeedsComputing(), TPZCompMesh::NElements(), TPZGeoEl::NSides(), TPZElementMatrix::Print(), TPZTimer::processName(), TPZCompEl::Reference(), TPZStructMatrixBase::ShouldCompute(), TPZTimer::start(), TPZTimer::stop(), and TPZGeoEl::X().
|
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 567 of file pzstrmatrix.cpp.
References TPZStructMatrixBase::Write().
Referenced by Assemble().
|
friend |
Definition at line 140 of file pzstrmatrix.h.