NeoPZ
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
TPZDohrThreadMultList< TVar, TSubStruct > Struct Template Reference

.. . Sub structure More...

#include <tpzdohrmatrix.h>

Collaboration diagram for TPZDohrThreadMultList< TVar, TSubStruct >:
[legend]

Public Member Functions

 TPZDohrThreadMultList (const TPZFMatrix< TVar > &x, TVar alpha, TPZAutoPointer< TPZDohrAssembly< TVar > > assembly, TPZAutoPointer< TPZDohrAssembleList< TVar > > &assemblestruct)
 
 ~TPZDohrThreadMultList ()
 
void AddItem (TPZDohrThreadMultData< TSubStruct > &data)
 Interface to add items in a thread safe way. More...
 
TPZDohrThreadMultData< TSubStruct > PopItem ()
 Interface to pop an item in a thread safe way. More...
 

Static Public Member Functions

static void * ThreadWork (void *voidptr)
 The procedure which executes the lengthy process. More...
 

Public Attributes

const TPZFMatrix< TVar > * fInput
 The vector with which we will multiply. More...
 
TVar fAlpha
 Scalar multiplication factor. More...
 
pthread_mutex_t fAccessLock
 Mutex which will enable the access protection of the list. More...
 
TPZAutoPointer< TPZDohrAssembly< TVar > > fAssembly
 The data structure which defines the assemble destinations. More...
 
std::list< TPZDohrThreadMultData< TSubStruct > > fWork
 The list of data objects which need to treated by the threads. More...
 
TPZAutoPointer< TPZDohrAssembleList< TVar > > fAssemblyStructure
 The local contribution to the v2 vector. More...
 

Detailed Description

template<class TVar, class TSubStruct>
struct TPZDohrThreadMultList< TVar, TSubStruct >

.. . Sub structure

Definition at line 202 of file tpzdohrmatrix.h.

Constructor & Destructor Documentation

◆ TPZDohrThreadMultList()

template<class TVar, class TSubStruct>
TPZDohrThreadMultList< TVar, TSubStruct >::TPZDohrThreadMultList ( const TPZFMatrix< TVar > &  x,
TVar  alpha,
TPZAutoPointer< TPZDohrAssembly< TVar > >  assembly,
TPZAutoPointer< TPZDohrAssembleList< TVar > > &  assemblestruct 
)
inline

Definition at line 217 of file tpzdohrmatrix.h.

References PZ_PTHREAD_MUTEX_INIT.

◆ ~TPZDohrThreadMultList()

template<class TVar, class TSubStruct>
TPZDohrThreadMultList< TVar, TSubStruct >::~TPZDohrThreadMultList ( )
inline

Definition at line 222 of file tpzdohrmatrix.h.

References PZ_PTHREAD_MUTEX_DESTROY.

Member Function Documentation

◆ AddItem()

template<class TVar, class TSubStruct>
void TPZDohrThreadMultList< TVar, TSubStruct >::AddItem ( TPZDohrThreadMultData< TSubStruct > &  data)
inline

Interface to add items in a thread safe way.

Definition at line 230 of file tpzdohrmatrix.h.

References PZ_PTHREAD_MUTEX_LOCK, and PZ_PTHREAD_MUTEX_UNLOCK.

◆ PopItem()

template<class TVar, class TSubStruct>
TPZDohrThreadMultData<TSubStruct> TPZDohrThreadMultList< TVar, TSubStruct >::PopItem ( )
inline

Interface to pop an item in a thread safe way.

Definition at line 237 of file tpzdohrmatrix.h.

References PZ_PTHREAD_MUTEX_LOCK, and PZ_PTHREAD_MUTEX_UNLOCK.

Referenced by TPZDohrThreadMultList< TVar, TSubStruct >::ThreadWork().

◆ ThreadWork()

template<class TVar , class TSubStruct >
void * TPZDohrThreadMultList< TVar, TSubStruct >::ThreadWork ( void *  voidptr)
static

Member Data Documentation

◆ fAccessLock

template<class TVar, class TSubStruct>
pthread_mutex_t TPZDohrThreadMultList< TVar, TSubStruct >::fAccessLock

Mutex which will enable the access protection of the list.

Definition at line 209 of file tpzdohrmatrix.h.

◆ fAlpha

template<class TVar, class TSubStruct>
TVar TPZDohrThreadMultList< TVar, TSubStruct >::fAlpha

Scalar multiplication factor.

Definition at line 207 of file tpzdohrmatrix.h.

Referenced by TPZDohrThreadMultList< TVar, TSubStruct >::ThreadWork().

◆ fAssembly

template<class TVar, class TSubStruct>
TPZAutoPointer<TPZDohrAssembly<TVar> > TPZDohrThreadMultList< TVar, TSubStruct >::fAssembly

The data structure which defines the assemble destinations.

Definition at line 211 of file tpzdohrmatrix.h.

Referenced by TPZDohrThreadMultList< TVar, TSubStruct >::ThreadWork().

◆ fAssemblyStructure

template<class TVar, class TSubStruct>
TPZAutoPointer<TPZDohrAssembleList<TVar> > TPZDohrThreadMultList< TVar, TSubStruct >::fAssemblyStructure

The local contribution to the v2 vector.

Definition at line 215 of file tpzdohrmatrix.h.

Referenced by TPZDohrThreadMultList< TVar, TSubStruct >::ThreadWork().

◆ fInput

template<class TVar, class TSubStruct>
const TPZFMatrix<TVar>* TPZDohrThreadMultList< TVar, TSubStruct >::fInput

The vector with which we will multiply.

Definition at line 205 of file tpzdohrmatrix.h.

Referenced by TPZDohrThreadMultList< TVar, TSubStruct >::ThreadWork().

◆ fWork

template<class TVar, class TSubStruct>
std::list<TPZDohrThreadMultData<TSubStruct> > TPZDohrThreadMultList< TVar, TSubStruct >::fWork

The list of data objects which need to treated by the threads.

Definition at line 213 of file tpzdohrmatrix.h.


The documentation for this struct was generated from the following files: