NeoPZ
|
Contains the implementation of the TPZDohrStructMatrix methods. More...
#include "pzdohrstructmatrix.h"
#include "tpzdohrmatrix.h"
#include "tpzdohrsubstructCondense.h"
#include "tpzdohrprecond.h"
#include "tpznodesetcompute.h"
#include "TPZRenumbering.h"
#include "pzmetis.h"
#include "pzskylstrmatrix.h"
#include "pzmatred.h"
#include "tpzmatredstructmatrix.h"
#include "tpzpairstructmatrix.h"
#include "pzfstrmatrix.h"
#include "pzsubcmesh.h"
#include "pzintel.h"
#include "TPZBoostGraph.h"
#include "pzsloan.h"
#include "pzvisualmatrix.h"
#include "TPZRefPatternTools.h"
#include "tpzverysparsematrix.h"
#include <sstream>
#include <map>
#include "pzlog.h"
#include "TPZfTime.h"
#include "TPZTimeTemp.h"
#include "TPZVTKGeoMesh.h"
#include <stdlib.h>
#include "pz_pthread.h"
#include "clock_timer.h"
#include "timing_analysis.h"
#include "arglib.h"
#include "run_stats_table.h"
#include <rcm.h>
Go to the source code of this file.
Classes | |
class | parallel_assemble_task_t< TVar > |
Iterações do laço podem ser executadas em paralelo. . More... | |
struct | parallel_assemble_task_t< TVar >::work_item_t< TTVar > |
struct | ThreadDohrmanAssemblyList_ThreadArgs_t< T > |
Functions | |
static int64_t | NSubMesh (TPZAutoPointer< TPZCompMesh > compmesh) |
Return the number of submeshes. More... | |
static TPZSubCompMesh * | SubMesh (TPZAutoPointer< TPZCompMesh > compmesh, int isub) |
return a pointer to the isub submesh More... | |
static void | AssembleMatrices (TPZSubCompMesh *submesh, TPZAutoPointer< TPZDohrSubstructCondense< STATE > > substruct, TPZAutoPointer< TPZDohrAssembly< STATE > > dohrassembly, pthread_mutex_t *TestThread) |
static void | DecomposeBig (TPZAutoPointer< TPZDohrSubstructCondense< STATE > > substruct, int numa_node) |
static void | DecomposeInternal (TPZAutoPointer< TPZDohrSubstructCondense< STATE > > substruct, int numa_node) |
Variables | |
RunStatsTable | dohr_ass ("-tpz_dohr_ass", "Raw data table statistics for TPZDohrStructMatrix::Assemble assemble (first)") |
Assemble the global system of equations into the matrix which has already been created. More... | |
RunStatsTable | dohr_dec ("-tpz_dohr_dec", "Raw data table statistics for TPZDohrStructMatrix::Assemble decompose (second)") |
clarg::argBool | naa ("-naDALora", "NUMA aware Dohrman Assembly List thread work objects re-allocation.", false) |
clarg::argInt | naat ("-naDALorat", "NUMA aware Dohrman Assembly List thread work objects re-allocation threshold.", 0) |
Contains the implementation of the TPZDohrStructMatrix methods.
Definition in file pzdohrstructmatrix.cpp.
|
static |
Definition at line 1234 of file pzdohrstructmatrix.cpp.
References TPZCompMesh::ComputeFillIn(), TPZCompMesh::ConnectVec(), TPZSkylineStructMatrix::Create(), ECholesky, ELDLt, TPZStructMatrixBase::EquationFilter(), stats::filename, TPZCompEl::Index(), TPZMatRed< TVar, TSideMatrix >::K00(), LOGPZ_DEBUG, naa, naat, TPZVec< T >::NElements(), TPZChunkVector< T, EXP >::NElements(), TPZSubCompMesh::NumInternalEquations(), TPZBFileStream::OpenWrite(), TPZCompMesh::Permute(), TPZSubCompMesh::PermuteInternalFirst(), PZ_PTHREAD_MUTEX_LOCK, PZ_PTHREAD_MUTEX_UNLOCK, TPZEquationFilter::Reset(), TPZStepSolver< TVar >::SetDirect(), TPZMatRed< TVar, TSideMatrix >::SetK00(), TPZMatrixSolver< TVar >::SetMatrix(), TPZMatRed< TVar, TSideMatrix >::SetReduced(), TPZMatRed< TVar, TSideMatrix >::SetSolver(), TPZMatRed< TVar, TSideMatrix >::SimetrizeMatRed(), and VisualMatrix().
Referenced by ThreadDohrmanAssembly< TVar >::AssembleMatrices(), ThreadDohrmanAssembly< TVar >::operator=(), parallel_assemble_task_t< TVar >::run_serial(), and par_assemble_task_t< TVar >::run_serial().
|
static |
Definition at line 1470 of file pzdohrstructmatrix.cpp.
References clarg::argT< T >::get_value(), and TPZAutoPointer< T >::ReallocForNuma().
Referenced by ThreadDohrmanAssembly< TVar >::AssembleMatrices(), and parallel_assemble_task_t< TVar >::run_serial().
|
static |
Definition at line 1488 of file pzdohrstructmatrix.cpp.
References clarg::argT< T >::get_value(), and TPZAutoPointer< T >::ReallocForNuma().
Referenced by ThreadDohrmanAssembly< TVar >::AssembleMatrices(), and parallel_assemble_task_t< TVar >::run_serial().
|
static |
Return the number of submeshes.
Definition at line 961 of file pzdohrstructmatrix.cpp.
References TPZCompMesh::ElementVec(), and TPZCompMesh::NElements().
Referenced by TPZDohrStructMatrix::Assemble(), TPZDohrStructMatrix::AssembleTBB(), TPZDohrStructMatrix::Create(), and only_assemble().
|
static |
return a pointer to the isub submesh
Definition at line 977 of file pzdohrstructmatrix.cpp.
References TPZCompMesh::ElementVec(), and TPZCompMesh::NElements().
Referenced by TPZDohrStructMatrix::Assemble(), ThreadDohrmanAssembly< TVar >::AssembleMatrices(), TPZDohrStructMatrix::AssembleTBB(), TPZDohrStructMatrix::Create(), main(), only_assemble(), parallel_assemble_task_t< TVar >::run_serial(), and par_assemble_task_t< TVar >::run_serial().
RunStatsTable dohr_ass("-tpz_dohr_ass", "Raw data table statistics for TPZDohrStructMatrix::Assemble assemble (first)") |
Assemble the global system of equations into the matrix which has already been created.
Jorge comments this code because is missing a file ARGLIB.CPP. This file is in PERFUTIL directory and must to be added to solve linking problems.
Referenced by TPZDohrStructMatrix::Assemble().
RunStatsTable dohr_dec("-tpz_dohr_dec", "Raw data table statistics for TPZDohrStructMatrix::Assemble decompose (second)") |
Referenced by TPZDohrStructMatrix::Assemble().
clarg::argBool naa("-naDALora", "NUMA aware Dohrman Assembly List thread work objects re-allocation.", false) |
Referenced by AssembleMatrices(), and main().
clarg::argInt naat("-naDALorat", "NUMA aware Dohrman Assembly List thread work objects re-allocation threshold.", 0) |
Referenced by AssembleMatrices().