class ProfileSPDLinDirectThreadSolver : public ProfileSPDLinSolver


Inheritance:


Public Methods

ProfileSPDLinDirectThreadSolver()
ProfileSPDLinDirectThreadSolver(int numProcessors, int blockSize, double tol)
virtual ~ProfileSPDLinDirectThreadSolver()
virtual int solve(void)
virtual int setSize(void)
virtual int setProfileSOE(ProfileSPDLinSOE &theSOE)
int sendSelf(int commitTag, Channel &theChannel)
int recvSelf(int commitTag, Channel &theChannel, FEM_ObjectBroker &theBroker)

Protected Fields

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

Inherited from ProfileSPDLinSolver:

Public Methods

virtual int setLinearSOE(ProfileSPDLinSOE &theSOE)

Protected Fields

ProfileSPDLinSOE* theSOE

Inherited from LinearSOESolver:


Inherited from Solver:


Inherited from MovableObject:

Public Methods

int getClassTag(void) const
int getDbTag(void) const
void setDbTag(int dbTag)

Documentation

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

ProfileSPDLinDirectThreadSolver()

ProfileSPDLinDirectThreadSolver(int numProcessors, int blockSize, double tol)

A unique class tag (defined in <classTags.h>) is passed to the ProfileSPDLinSolver constructor.

virtual ~ProfileSPDLinDirectThreadSolver()

Does nothing

virtual int solve(void)

The solver first copies the B vector into X. FILL IN The solve process changes A and X.

virtual int setSize(void)

Does nothing but return 0

virtual int setProfileSOE(ProfileSPDLinSOE &theSOE)

int sendSelf(int commitTag, Channel &theChannel)

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

int NP

int running

double minDiagTol

int blockSize

int maxColHeight

int size

int* RowTop

double** topRowPtr


This class has no child classes.

alphabetic index Contents

this page has been generated automatically by a slightly modified version of doc++ for OpenSees

Copyright Contact Us