NeoPZ
|
Implements Sparse Structural Matrices. Structural Matrix. More...
#include <TPZSpStructMatrix.h>
Public Member Functions | |
TPZSpStructMatrix (TPZCompMesh *) | |
virtual TPZMatrix< STATE > * | Create () override |
virtual TPZMatrix< STATE > * | CreateAssemble (TPZFMatrix< STATE > &rhs, TPZAutoPointer< TPZGuiInterface > guiInterface) override |
virtual TPZStructMatrix * | Clone () override |
int | ClassId () const override |
Define the class id associated with the class. More... | |
Public Member Functions inherited from TPZStructMatrixOR | |
TPZStructMatrixOR () | |
TPZStructMatrixOR (TPZCompMesh *) | |
TPZStructMatrixOR (TPZAutoPointer< TPZCompMesh > cmesh) | |
TPZStructMatrixOR (const TPZStructMatrixOR ©) | |
virtual | ~TPZStructMatrixOR () |
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... | |
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 | |
Static Public Member Functions | |
static int | main () |
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) |
Private Member Functions | |
TPZSpStructMatrix () | |
Private Attributes | |
friend | TPZPersistenceManager |
Additional Inherited Members | |
Protected Member Functions inherited from TPZStructMatrixOR | |
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 >) | |
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... | |
Implements Sparse Structural Matrices. Structural Matrix.
Definition at line 23 of file TPZSpStructMatrix.h.
TPZSpStructMatrix::TPZSpStructMatrix | ( | TPZCompMesh * | mesh | ) |
Definition at line 261 of file TPZSpStructMatrix.cpp.
|
private |
Definition at line 258 of file TPZSpStructMatrix.cpp.
|
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
Reimplemented from TPZStructMatrixOR.
Definition at line 264 of file TPZSpStructMatrix.cpp.
References TPZStructMatrixOR::ClassId(), and Hash().
Referenced by TPBSpStructMatrix::ClassId().
|
overridevirtual |
Reimplemented from TPZStructMatrixOR.
Reimplemented in TPBSpStructMatrix.
Definition at line 34 of file TPZSpStructMatrix.cpp.
|
overridevirtual |
Longhin implementation
Creates a element graph
converts an element graph structure into a node graph structure those vectors have size ZERO !!!
vector sizes
Reimplemented from TPZStructMatrixOR.
Reimplemented in TPBSpStructMatrix.
Definition at line 75 of file TPZSpStructMatrix.cpp.
References TPZRenumbering::ConvertGraph(), DebugStop, LOGPZ_DEBUG, TPZVec< T >::NElements(), TPZFYsmpMatrix< TVar >::SetData(), TPZRenumbering::SetElementGraph(), TPZRenumbering::SetElementsNodes(), and TPZVec< T >::size().
Referenced by TPZEulerAnalysis::SetGMResBlock(), and TPZEulerAnalysis::SetGMResFront().
|
overridevirtual |
Reimplemented from TPZStructMatrixBase.
Reimplemented in TPBSpStructMatrix.
Definition at line 37 of file TPZSpStructMatrix.cpp.
References LOGPZ_DEBUG, TPZFMatrix< TVar >::Redim(), TPZTimer::start(), and TPZTimer::stop().
|
static |
Used only for testing
Definition at line 271 of file TPZSpStructMatrix.cpp.
References TPZAdmChunkVector< T, EXP >::AllocateNewElement(), TPZCompMesh::AutoBuild(), TPZGeoMesh::BuildConnectivity(), TPZMaterial::CreateBC(), TPZGeoMesh::CreateGeoElement(), DebugStop, EQuadrilateral, TPZCompMesh::InitializeBlock(), TPZCompMesh::InsertMaterialObject(), TPZCompMesh::NEquations(), TPZGeoMesh::NodeVec(), TPZAnalysis::Run(), TPZCompMesh::SetDefaultOrder(), TPZStepSolver< TVar >::SetJacobi(), TPZMat2dLin::SetMaterial(), TPZAnalysis::SetSolver(), and TPZAnalysis::SetStructuralMatrix().
|
private |
Definition at line 44 of file TPZSpStructMatrix.h.