Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

ProfileSPDLinDirectThreadSolver Class Reference

#include <ProfileSPDLinDirectThreadSolver.h>

Inheritance diagram for ProfileSPDLinDirectThreadSolver::

ProfileSPDLinSolver LinearSOESolver Solver List of all members.

Public Methods

 ProfileSPDLinDirectThreadSolver ()
 ProfileSPDLinDirectThreadSolver (int numProcessors, int blockSize, double tol)
virtual ~ProfileSPDLinDirectThreadSolver ()
virtual int solve (void)
virtual int setSize (void)
 virtual int setLinearSOE(LinearSOE &theSOE) =0;. More...

virtual int setProfileSOE (ProfileSPDLinSOE &theSOE)
int sendSelf (int commitTag, Channel &theChannel)
int recvSelf (int commitTag, Channel &theChannel, FEM_ObjectBroker &theBroker)

Protected Attributes

int NP
int running
double minDiagTol
int blockSize
int maxColHeight
int size
int* RowTop
double** topRowPtr
double * invD

Detailed Description

A ProfileSPDLinDirectThreadSolver object can be constructed to solve a ProfileSPDLinSOE object. It does this in parallel using threads by direct means, using the variation of the cholesky factorization. The matrx is factored one row block at a time using a left-looking approach. Within a row block the factorization is performed by threads. No BLAS or LAPACK routines are called for the factorization or subsequent substitution. \

{\bf Interface} \ Constructor \ {ProfileSPDLinDirectThreadSolver(int numThreads);} \ \ Destructor \ {\form#25ProfileSPDLinDirectThreadySolver();}\\ \ Public Methods \ {int solve(void);} \ {int setSize(void);} \ {int sendSelf(Channel &theChannel, FEM\_ObjectBroker &theBroker);} \ {int recvSelf(Channel &theChannel, FEM\_ObjectBroker &theBroker);} \

{\bf Constructor} \ {ProfileSPDLinDirectThreadSolver(int numThreads);} \ A unique class tag (defined in classTags.h\form#24) is passed to the ProfileSPDLinSolver constructor. \

{\bf Destructor} \ {\form#25ProfileSPDLinDirectThreadSolver();}\\ Does nothing. \

{\bf Public Member Functions } \ {int solve(void);} \ The solver first copies the B vector into X. FILL IN The solve process changes and . \

{int setSize(void);} \ Does nothing but return . \

{int sendSelf(Channel &theChannel, FEM\_ObjectBroker &theBroker);} \ Does nothing but return . \

{int recvSelf(Channel &theChannel, FEM\_ObjectBroker &theBroker);} \ Does nothing but return . \

Definition at line 104 of file ProfileSPDLinDirectThreadSolver.h.


Constructor & Destructor Documentation

ProfileSPDLinDirectThreadSolver::ProfileSPDLinDirectThreadSolver ( )
 

Definition at line 85 of file ProfileSPDLinDirectThreadSolver.cpp.

ProfileSPDLinDirectThreadSolver::ProfileSPDLinDirectThreadSolver ( int numProcessors,
int blockSize,
double tol )
 

Definition at line 95 of file ProfileSPDLinDirectThreadSolver.cpp.

ProfileSPDLinDirectThreadSolver::~ProfileSPDLinDirectThreadSolver ( ) [virtual]
 

Definition at line 105 of file ProfileSPDLinDirectThreadSolver.cpp.


Member Function Documentation

int ProfileSPDLinDirectThreadSolver::recvSelf ( int commitTag,
Channel & theChannel,
FEM_ObjectBroker & theBroker )
 

Definition at line 335 of file ProfileSPDLinDirectThreadSolver.cpp.

int ProfileSPDLinDirectThreadSolver::sendSelf ( int commitTag,
Channel & theChannel )
 

Definition at line 325 of file ProfileSPDLinDirectThreadSolver.cpp.

int ProfileSPDLinDirectThreadSolver::setProfileSOE ( ProfileSPDLinSOE & theSOE ) [virtual]
 

Definition at line 312 of file ProfileSPDLinDirectThreadSolver.cpp.

int ProfileSPDLinDirectThreadSolver::setSize ( void ) [virtual]
 

virtual int setLinearSOE(LinearSOE &theSOE) =0;.

Reimplemented from LinearSOESolver.

Definition at line 113 of file ProfileSPDLinDirectThreadSolver.cpp.

int ProfileSPDLinDirectThreadSolver::solve ( void ) [virtual]
 

Reimplemented from ProfileSPDLinSolver.

Definition at line 168 of file ProfileSPDLinDirectThreadSolver.cpp.


Member Data Documentation

int ProfileSPDLinDirectThreadSolver::NP [protected]
 

Definition at line 131 of file ProfileSPDLinDirectThreadSolver.h.

int * ProfileSPDLinDirectThreadSolver::RowTop [protected]
 

Definition at line 144 of file ProfileSPDLinDirectThreadSolver.h.

int ProfileSPDLinDirectThreadSolver::blockSize [protected]
 

Definition at line 138 of file ProfileSPDLinDirectThreadSolver.h.

double * ProfileSPDLinDirectThreadSolver::invD [protected]
 

Definition at line 146 of file ProfileSPDLinDirectThreadSolver.h.

int ProfileSPDLinDirectThreadSolver::maxColHeight [protected]
 

Definition at line 140 of file ProfileSPDLinDirectThreadSolver.h.

double ProfileSPDLinDirectThreadSolver::minDiagTol [protected]
 

Definition at line 136 of file ProfileSPDLinDirectThreadSolver.h.

int ProfileSPDLinDirectThreadSolver::running [protected]
 

Definition at line 133 of file ProfileSPDLinDirectThreadSolver.h.

int ProfileSPDLinDirectThreadSolver::size [protected]
 

Definition at line 142 of file ProfileSPDLinDirectThreadSolver.h.

double ** ProfileSPDLinDirectThreadSolver::topRowPtr [protected]
 

Definition at line 146 of file ProfileSPDLinDirectThreadSolver.h.


The documentation for this class was generated from the following files:
Copyright Contact Us