NeoPZ
|
It is responsible for a interface among Matrix and Finite Element classes. Structural Matrix. More...
#include <pzstrmatrixst.h>
Public Member Functions | |
TPZStructMatrixST () | |
TPZStructMatrixST (TPZCompMesh *) | |
TPZStructMatrixST (TPZAutoPointer< TPZCompMesh > cmesh) | |
TPZStructMatrixST (const TPZStructMatrixST ©) | |
virtual | ~TPZStructMatrixST () |
virtual TPZMatrix< STATE > * | Create () override |
virtual TPZStructMatrixST * | Clone () 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... | |
TPZEquationFilter & | EquationFilter () override |
access method for the equation filter More... | |
int64_t | NReducedEquations () const override |
number of equations after applying the filter More... | |
TPZCompMesh * | Mesh () 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 | |
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... | |
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... | |
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) |
It is responsible for a interface among Matrix and Finite Element classes. Structural Matrix.
Definition at line 30 of file pzstrmatrixst.h.
|
inline |
Definition at line 34 of file pzstrmatrixst.h.
TPZStructMatrixST::TPZStructMatrixST | ( | TPZCompMesh * | mesh | ) |
Definition at line 49 of file pzstrmatrixst.cpp.
TPZStructMatrixST::TPZStructMatrixST | ( | TPZAutoPointer< TPZCompMesh > | cmesh | ) |
Definition at line 53 of file pzstrmatrixst.cpp.
TPZStructMatrixST::TPZStructMatrixST | ( | const TPZStructMatrixST & | copy | ) |
Definition at line 57 of file pzstrmatrixst.cpp.
|
inlinevirtual |
Definition at line 42 of file pzstrmatrixst.h.
References Clone(), Create(), and CreateAssemble().
|
overridevirtual |
Assemble the global system of equations into the matrix which has already been created.
Implements TPZStructMatrixBase.
Definition at line 75 of file pzstrmatrixst.cpp.
References TPZMatrix< TVar >::Cols(), DebugStop, fEquationFilter, TPZEquationFilter::IsActive(), TPZEquationFilter::NActiveEquations(), OnlyAssemble(), TPZMatrix< TVar >::Rows(), TPZEquationFilter::Scatter(), RunStatsTable::start(), and RunStatsTable::stop().
Referenced by Assemble(), and CreateAssemble().
|
inlinevirtual |
Definition at line 64 of file pzstrmatrixst.h.
References Assemble(), ClassId(), ExecuteAssemble(), OnlyAssemble(), Read(), and Write().
|
overridevirtual |
Assemble the global right hand side.
Implements TPZStructMatrixBase.
Definition at line 97 of file pzstrmatrixst.cpp.
References DebugStop, fEquationFilter, TPZEquationFilter::IsActive(), TPZEquationFilter::NActiveEquations(), TPZEquationFilter::NEqExpand(), Norm(), OnlyAssemble(), TPZMatrix< TVar >::Rows(), TPZEquationFilter::Scatter(), 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 224 of file pzstrmatrixst.cpp.
References TPZStructMatrixBase::ClassId(), and Hash().
Referenced by Assemble().
|
overridevirtual |
Implements TPZStructMatrixBase.
Definition at line 66 of file pzstrmatrixst.cpp.
References ass_rhs, and ass_stiff.
Referenced by ~TPZStructMatrixST().
|
overridevirtual |
Implements TPZStructMatrixBase.
Definition at line 61 of file pzstrmatrixst.cpp.
Referenced by CreateAssemble(), and ~TPZStructMatrixST().
|
overridevirtual |
Reimplemented from TPZStructMatrixBase.
Definition at line 207 of file pzstrmatrixst.cpp.
References Assemble(), TPZMatrix< TVar >::Cols(), Create(), fEquationFilter, LOGPZ_DEBUG, MAX, TPZEquationFilter::NEqExpand(), TPZMatrix< TVar >::Print(), and TPZFMatrix< TVar >::Redim().
Referenced by CreateAssemble(), and ~TPZStructMatrixST().
|
inlinevirtual |
Definition at line 54 of file pzstrmatrixst.h.
References Assemble(), CreateAssemble(), and TPZStructMatrixBase::SetNumThreads().
|
inlineoverridevirtual |
access method for the equation filter
Reimplemented from TPZStructMatrixBase.
Definition at line 105 of file pzstrmatrixst.h.
References fEquationFilter.
|
protectedvirtual |
Definition at line 121 of file pzstrmatrixst.cpp.
References TPZFMatrix< TVar >::AddFel(), TPZMatrix< TVar >::AddKel(), TPZElementMatrix::ApplyConstraints(), TPZCompEl::CalcResidual(), TPZCompEl::CalcStiff(), TPZElementMatrix::ComputeDestinationIndices(), TPZElementMatrix::EF, TPZElementMatrix::EK, TPZCompMesh::ElementVec(), TPZElementMatrix::fConstrMat, TPZElementMatrix::fDestinationIndex, FilterEquations(), TPZElementMatrix::fMat, fMesh, TPZElementMatrix::fSourceIndex, TPZElementMatrix::HasDependency(), TPZCompEl::HasDependency(), and TPZCompMesh::NElements().
Referenced by Assemble(), and OnlyAssemble().
|
overridevirtual |
Filter out the equations which are out of the range.
Reimplemented from TPZStructMatrixBase.
Referenced by ExecuteAssemble(), and Mesh().
|
inlineoverridevirtual |
Verify if a range has been specified.
Reimplemented from TPZStructMatrixBase.
Definition at line 99 of file pzstrmatrixst.h.
References fEquationFilter, and TPZEquationFilter::IsActive().
|
inlineoverridevirtual |
Returns the material ids.
Reimplemented from TPZStructMatrixBase.
Definition at line 135 of file pzstrmatrixst.h.
References fMaterialIds.
|
inlineoverridevirtual |
Access method for the mesh pointer.
Reimplemented from TPZStructMatrixBase.
Definition at line 117 of file pzstrmatrixst.h.
References FilterEquations(), fMesh, and SetMaterialIds().
|
inlineoverridevirtual |
number of equations after applying the filter
Reimplemented from TPZStructMatrixBase.
Definition at line 111 of file pzstrmatrixst.h.
References fEquationFilter, and TPZEquationFilter::NActiveEquations().
|
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().
|
protectedvirtual |
Assemble the global right hand side.
Definition at line 199 of file pzstrmatrixst.cpp.
References TPZGuiInterface::AmIKilled(), and ExecuteAssemble().
|
overridevirtual |
read objects from the stream
Reimplemented from TPZSavable.
Definition at line 228 of file pzstrmatrixst.cpp.
References TPZStructMatrixBase::Read().
Referenced by Assemble().
|
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().
|
overridevirtual |
Set the set of material ids which will be considered when assembling the system.
Reimplemented from TPZStructMatrixBase.
Referenced by Mesh().
|
inlineoverridevirtual |
Establish whether the element should be computed.
Reimplemented from TPZStructMatrixBase.
Definition at line 129 of file pzstrmatrixst.h.
References fMaterialIds.
|
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().
|
protected |
Autopointer control of the computational mesh.
Definition at line 145 of file pzstrmatrixst.h.
|
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().
|
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().
|
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().
|
protected |
Number of threads in Assemble process.
Definition at line 156 of file pzstrmatrixst.h.