NeoPZ
|
Refines geometrical mesh (all the elements) num times. More...
#include <pzstrmatrixcs.h>
Classes | |
struct | ThreadData |
Structure to manipulate thread to solve system equations. More... | |
Public Member Functions | |
TPZStructMatrixCS () | |
TPZStructMatrixCS (TPZCompMesh *) | |
TPZStructMatrixCS (TPZAutoPointer< TPZCompMesh > cmesh) | |
TPZStructMatrixCS (const TPZStructMatrixCS ©) | |
virtual | ~TPZStructMatrixCS () |
virtual TPZMatrix< STATE > * | Create () override |
Sets number of threads in Assemble process. More... | |
virtual TPZMatrix< STATE > * | CreateAssemble (TPZFMatrix< STATE > &rhs, TPZAutoPointer< TPZGuiInterface > guiInterface, unsigned numthreads_assemble, unsigned numthreads_decompose) |
virtual TPZMatrix< STATE > * | CreateAssemble (TPZFMatrix< STATE > &rhs, TPZAutoPointer< TPZGuiInterface > guiInterface) override |
virtual TPZStructMatrixCS * | Clone () override |
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 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 39 of file pzstrmatrixcs.h.
|
inline |
Definition at line 43 of file pzstrmatrixcs.h.
TPZStructMatrixCS::TPZStructMatrixCS | ( | TPZCompMesh * | mesh | ) |
Definition at line 50 of file pzstrmatrixcs.cpp.
TPZStructMatrixCS::TPZStructMatrixCS | ( | TPZAutoPointer< TPZCompMesh > | cmesh | ) |
Definition at line 54 of file pzstrmatrixcs.cpp.
TPZStructMatrixCS::TPZStructMatrixCS | ( | const TPZStructMatrixCS & | copy | ) |
Definition at line 58 of file pzstrmatrixcs.cpp.
|
inlinevirtual |
Definition at line 51 of file pzstrmatrixcs.h.
References Create().
|
overridevirtual |
Assemble the global system of equations into the matrix which has already been created.
Implements TPZStructMatrixBase.
Definition at line 75 of file pzstrmatrixcs.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 Assemble(), and CreateAssemble().
|
inlinevirtual |
Definition at line 69 of file pzstrmatrixcs.h.
References Assemble(), ClassId(), MultiThread_Assemble(), Read(), Serial_Assemble(), and Write().
|
overridevirtual |
Assemble the global right hand side.
Implements TPZStructMatrixBase.
Definition at line 108 of file pzstrmatrixcs.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.
Definition at line 905 of file pzstrmatrixcs.cpp.
References TPZStructMatrixBase::ClassId(), and Hash().
Referenced by Assemble().
|
overridevirtual |
Implements TPZStructMatrixBase.
Definition at line 67 of file pzstrmatrixcs.cpp.
References ass_rhs, and ass_stiff.
Referenced by CreateAssemble().
|
overridevirtual |
Sets number of threads in Assemble process.
Implements TPZStructMatrixBase.
Definition at line 62 of file pzstrmatrixcs.cpp.
Referenced by CreateAssemble(), and ~TPZStructMatrixCS().
|
inlinevirtual |
Definition at line 57 of file pzstrmatrixcs.h.
References Assemble(), Clone(), and TPZStructMatrixBase::SetNumThreads().
|
overridevirtual |
Reimplemented from TPZStructMatrixBase.
Definition at line 394 of file pzstrmatrixcs.cpp.
References Assemble(), TPZMatrix< TVar >::Cols(), Create(), TPZStructMatrixBase::fEquationFilter, LOGPZ_DEBUG, MAX, TPZEquationFilter::NEqExpand(), TPZMatrix< TVar >::Print(), and TPZFMatrix< TVar >::Redim().
|
protectedvirtual |
Assemble the global right hand side.
Definition at line 458 of file pzstrmatrixcs.cpp.
References TPZGuiInterface::AmIKilled(), TPZStructMatrixBase::fMaterialIds, TPZStructMatrixBase::fMesh, TPZStructMatrixBase::fNumThreads, TPZCompMesh::NElements(), substruct_tst14.test::numthreads, pz::parallel_for(), PZ_PTHREAD_CREATE, PZ_PTHREAD_JOIN, and TPZStructMatrixCS::ThreadData::ThreadWork().
Referenced by Assemble().
|
protectedvirtual |
Assemble the global system of equations into the matrix which has already been created.
Definition at line 417 of file pzstrmatrixcs.cpp.
References TPZGuiInterface::AmIKilled(), EMathematicaInput, TPZStructMatrixBase::fMaterialIds, TPZStructMatrixBase::fMesh, TPZStructMatrixBase::fNumThreads, LOGPZ_DEBUG, TPZCompMesh::NElements(), substruct_tst14.test::numthreads, pz::parallel_for(), TPZMatrix< TVar >::Print(), PZ_PTHREAD_CREATE, PZ_PTHREAD_JOIN, and TPZStructMatrixCS::ThreadData::ThreadWork().
|
overridevirtual |
read objects from the stream
Reimplemented from TPZSavable.
Definition at line 909 of file pzstrmatrixcs.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 143 of file pzstrmatrixcs.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::HasDependency(), TPZMaterial::Id(), TPZCompEl::Index(), TPZGeoEl::Index(), LOGPZ_DEBUG, LOGPZ_ERROR, TPZCompEl::Material(), TPZEquationFilter::NActiveEquations(), TPZSubCompMesh::NeedsComputing(), TPZCompMesh::NElements(), TPZGeoEl::NSides(), TPZElementMatrix::Print(), TPZMatrix< TVar >::Print(), TPZCompEl::Reference(), TPZMatrix< TVar >::Rows(), TPZStructMatrixBase::ShouldCompute(), TPZTimer::start(), TPZTimer::stop(), and TPZGeoEl::X().
Referenced by Assemble().
|
protectedvirtual |
Assemble the global right hand side.
Definition at line 336 of file pzstrmatrixcs.cpp.
References TPZFMatrix< TVar >::AddFel(), TPZElementMatrix::ApplyConstraints(), TPZCompEl::CalcResidual(), TPZElementMatrix::ComputeDestinationIndices(), TPZElementMatrix::EF, TPZCompMesh::ElementVec(), TPZElementMatrix::fConstrMat, TPZElementMatrix::fDestinationIndex, TPZStructMatrixBase::fEquationFilter, TPZEquationFilter::Filter(), TPZElementMatrix::fMat, TPZStructMatrixBase::fMesh, TPZElementMatrix::fSourceIndex, TPZCompEl::HasDependency(), TPZMaterial::Id(), LOGPZ_DEBUG, TPZCompEl::Material(), TPZCompMesh::NElements(), TPZTimer::processName(), TPZStructMatrixBase::ShouldCompute(), TPZTimer::start(), and TPZTimer::stop().
|
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 914 of file pzstrmatrixcs.cpp.
References TPZStructMatrixBase::Write().
Referenced by Assemble().
|
friend |
Definition at line 147 of file pzstrmatrixcs.h.