NeoPZ
|
.. . Sub Structure More...
#include <tpzpairstructmatrix.h>
Classes | |
struct | ThreadData |
Contains the thread data for matrices divided in sub structures. More... | |
Public Member Functions | |
TPZPairStructMatrix (TPZCompMesh *mesh, TPZVec< int > &permutescatter) | |
~TPZPairStructMatrix () | |
void | SetNumThreads (int numthreads) |
void | SetMaterialIds (const std::set< int > &materialids) |
Set the set of material ids which will be considered when assembling the system. More... | |
void | Assemble (TPZMatrix< STATE > *first, TPZMatrix< STATE > *second, TPZFMatrix< STATE > &rhs) |
void | TBBAssemble (TPZMatrix< STATE > *first, TPZMatrix< STATE > *second, TPZFMatrix< STATE > &rhs) |
void | SerialAssemble (TPZMatrix< STATE > *first, TPZMatrix< STATE > *second, TPZFMatrix< STATE > &rhs) |
void | MultiThread_Assemble (TPZMatrix< STATE > *first, TPZMatrix< STATE > *second, TPZFMatrix< STATE > &rhs) |
Static Public Attributes | |
static int | gNumThreads |
Private Member Functions | |
void | PermuteScatter (TPZVec< int > &index) |
void | PermuteScatter (TPZVec< int64_t > &index) |
Private Attributes | |
TPZVec< int > | fPermuteScatter |
TPZStructMatrix | fStrMatrix |
.. . Sub Structure
Definition at line 24 of file tpzpairstructmatrix.h.
TPZPairStructMatrix::TPZPairStructMatrix | ( | TPZCompMesh * | mesh, |
TPZVec< int > & | permutescatter | ||
) |
Definition at line 33 of file tpzpairstructmatrix.cpp.
References TPZFMatrix< TVar >::AddFel(), TPZMatrix< TVar >::AddKel(), TPZElementMatrix::EF, TPZElementMatrix::EK, TPZCompMesh::ElementVec(), TPZElementMatrix::fConstrMat, TPZElementMatrix::fDestinationIndex, TPZStructMatrixBase::FilterEquations(), TPZElementMatrix::fMat, fPermuteScatter, TPZElementMatrix::fSourceIndex, fStrMatrix, gNumThreads, TPZElementMatrix::HasDependency(), TPZMaterial::Id(), TPZCompEl::Material(), TPZSubCompMesh::NeedsComputing(), TPZCompMesh::NElements(), TPZVec< T >::NElements(), PermuteScatter(), and TPZStructMatrixBase::SetNumThreads().
|
inline |
Definition at line 38 of file tpzpairstructmatrix.h.
void TPZPairStructMatrix::Assemble | ( | TPZMatrix< STATE > * | first, |
TPZMatrix< STATE > * | second, | ||
TPZFMatrix< STATE > & | rhs | ||
) |
"Fixme!!!" "Fixme!!!" "Fixme!!!" "Fixme!!!"
Definition at line 545 of file tpzpairstructmatrix.cpp.
References fStrMatrix, TPZStructMatrixBase::GetNumThreads(), MultiThread_Assemble(), substruct_tst14.test::numthreads, SerialAssemble(), and TBBAssemble().
Referenced by InitializeMatrices(), and SetNumThreads().
void TPZPairStructMatrix::MultiThread_Assemble | ( | TPZMatrix< STATE > * | first, |
TPZMatrix< STATE > * | second, | ||
TPZFMatrix< STATE > & | rhs | ||
) |
Definition at line 564 of file tpzpairstructmatrix.cpp.
References fPermuteScatter, TPZPairStructMatrix::ThreadData::fPermuteScatter, fStrMatrix, TPZStructMatrixBase::GetNumThreads(), substruct_tst14.test::numthreads, PZ_PTHREAD_CREATE, PZ_PTHREAD_JOIN, TPZPairStructMatrix::ThreadData::ThreadAssembly1(), TPZPairStructMatrix::ThreadData::ThreadAssembly2(), and TPZPairStructMatrix::ThreadData::ThreadWork().
Referenced by Assemble(), and SetNumThreads().
|
private |
Definition at line 535 of file tpzpairstructmatrix.cpp.
References fPermuteScatter, and TPZVec< T >::NElements().
Referenced by parallel_assemble_task_t< TVar >::push_work_item(), parallel_assemble_task_t< TVar >::run_serial(), SerialAssemble(), and TPZPairStructMatrix().
|
private |
Definition at line 526 of file tpzpairstructmatrix.cpp.
References fPermuteScatter, and TPZVec< T >::NElements().
void TPZPairStructMatrix::SerialAssemble | ( | TPZMatrix< STATE > * | first, |
TPZMatrix< STATE > * | second, | ||
TPZFMatrix< STATE > & | rhs | ||
) |
Definition at line 455 of file tpzpairstructmatrix.cpp.
References TPZFMatrix< TVar >::AddFel(), TPZMatrix< TVar >::AddKel(), TPZElementMatrix::ApplyConstraints(), TPZCompEl::CalcStiff(), TPZElementMatrix::EF, TPZElementMatrix::EK, TPZCompMesh::ElementVec(), TPZElementMatrix::fConstrMat, TPZStructMatrixBase::FilterEquations(), TPZElementMatrix::fMat, fStrMatrix, TPZCompEl::HasDependency(), LOGPZ_DEBUG, TPZStructMatrixBase::Mesh(), TPZCompMesh::NElements(), PermuteScatter(), TPZMatrix< TVar >::Print(), TPZTimer::processName(), TPZMatrix< TVar >::Rows(), TPZTimer::start(), and TPZTimer::stop().
Referenced by Assemble(), SetNumThreads(), and TBBAssemble().
void TPZPairStructMatrix::SetMaterialIds | ( | const std::set< int > & | materialids | ) |
Set the set of material ids which will be considered when assembling the system.
Definition at line 880 of file tpzpairstructmatrix.cpp.
References TPZPairStructMatrix::ThreadData::fStrMatrix, LOGPZ_DEBUG, and TPZStructMatrixBase::SetMaterialIds().
Referenced by SetNumThreads().
|
inline |
Definition at line 43 of file tpzpairstructmatrix.h.
References Assemble(), substruct_tst15.test::first, MultiThread_Assemble(), SerialAssemble(), SetMaterialIds(), TPZStructMatrixBase::SetNumThreads(), and TBBAssemble().
void TPZPairStructMatrix::TBBAssemble | ( | TPZMatrix< STATE > * | first, |
TPZMatrix< STATE > * | second, | ||
TPZFMatrix< STATE > & | rhs | ||
) |
Definition at line 419 of file tpzpairstructmatrix.cpp.
References TPZCompMesh::ElementVec(), fPermuteScatter, clarg::argT< T >::get_value(), TPZCompMesh::NElements(), and SerialAssemble().
Referenced by Assemble(), and SetNumThreads().
|
private |
Definition at line 26 of file tpzpairstructmatrix.h.
Referenced by MultiThread_Assemble(), PermuteScatter(), parallel_assemble_task_t< TVar >::PermuteScatter(), TBBAssemble(), and TPZPairStructMatrix().
|
private |
Definition at line 27 of file tpzpairstructmatrix.h.
Referenced by Assemble(), MultiThread_Assemble(), parallel_assemble_task_t< TVar >::run_serial(), SerialAssemble(), and TPZPairStructMatrix().
|
static |
Definition at line 34 of file tpzpairstructmatrix.h.
Referenced by main(), and TPZPairStructMatrix().