Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members
ProfileSPDLinDirectSkypackSolver Class Reference#include <ProfileSPDLinDirectSkypackSolver.h>
Inheritance diagram for ProfileSPDLinDirectSkypackSolver::
List of all members.
Detailed Description
A ProfileSPDLinDirectSkypackSolver object can be constructed to solve a ProfileSPDLinSOE object. It does this by direct means using the routines supplied in the SKYPACK library, a library which uses the BLAS levels 1,2 and 3 for the factorization and substitution.
The routines in SKYPACK require a number of work areas: {int block[3]} and {double invD[size]}. In addition, to allow the use of the BLAS 2 and 3, work areas {double rw[mRows x mCols]}, {double tw[mRows x mRows]} and {int index[max(mCols,mRows)]} are created. \
{\bf Interface} \ Constructors \ {ProfileSPDLinDirectSkypackSolver();} \ {ProfileSPDLinDirectSkypackSolver(int mCols, mRows);} \ \ Destructor \ {\form#41ProfileSPDLinDirectSkypackSolver();}\\ \ Public Methods \ {int solve(void);} \ {int setSize(void);} \ {int sendSelf(int commitTag, Channel &theChannel);}\ {int recvSelf(int commitTag, Channel &theChannel, FEM\_ObjectBroker &theBroker);}\
{\bf Constructors} \ {ProfileSPDLinDirectSkypackSolver();} \ A unique class tag (defined in
classTags.h\form#24) is passed to the ProfileSPDLinSolver constructor. Sets {mCols} and {mRows} equal to
and does not try and allocate any memory for the work arrays.\
{ProfileSPDLinDirectSkypackSolver(int mCols, int mRows);} \ A unique class tag (defined in
classTags.h\form#24) is passed to the ProfileSPDLinSolver constructor. Sets {mCols} and {mRows} and allocates space in memory for the work arrays {rw}, {tw} and {index}. If not enough memory is available in memory, {mCols} and {mRows} is set equal to
and an error message is printed. \
{\bf Destructor} \ {\form#41ProfileSPDLinDirectSkypackSolver();}\\ Invokes delete on any work areas that have been constructed. \
{\bf Public Member Functions } \ {int solve(void);} \ The solver first copies the B vector into X and then solves the BandSPDLinSOE system. If the matrix has not been factored, the matrix is first factored using the SKYPACK routine {skysf2()}, if {mCols} and {mRows} equal
, or {skypf2()}. {skysf2()} is a routine which uses the BLAS level 1 routines, {skypf2()} is a routine which uses BLAS levels 2 and 3. If {skypf2()} has been called, {invD} is set up. Once the matrix has been factored, {skyss()} is called. If the solution is sucessfully obtained, i.e. the {skyss()} routine returns
in the INFO argument,
is returned, otherwise it prints a warning message and returns INFO. The solve process changes
and
. \
{int setSize(void);} \ Is responsible for setting the {block} information required by the SKYPACK routines (block[0]=1; block[1]=size, block[2]=1) and for creating space for the {invD} work array. Returns
if successfull, otherwise a warning message is printed and a
is returned. \
{int sendSelf(int commitTag, Channel &theChannel);} \ Does nothing but return
. \
{int recvSelf(int commitTag, Channel &theChannel, FEM\_ObjectBroker &theBroker);} \ Does nothing but return
. \
Definition at line 127 of file ProfileSPDLinDirectSkypackSolver.h.
Constructor & Destructor Documentation
ProfileSPDLinDirectSkypackSolver::ProfileSPDLinDirectSkypackSolver (
|
)
|
|
ProfileSPDLinDirectSkypackSolver::ProfileSPDLinDirectSkypackSolver (
|
int mCols,
|
|
int mRows )
|
|
ProfileSPDLinDirectSkypackSolver::~ProfileSPDLinDirectSkypackSolver (
|
) [virtual]
|
|
Member Function Documentation
int ProfileSPDLinDirectSkypackSolver::recvSelf (
|
int commitTag,
|
|
Channel & theChannel,
|
|
FEM_ObjectBroker & theBroker )
|
|
int ProfileSPDLinDirectSkypackSolver::sendSelf (
|
int commitTag,
|
|
Channel & theChannel )
|
|
int ProfileSPDLinDirectSkypackSolver::setProfileSOE (
|
ProfileSPDLinSOE & theSOE ) [virtual]
|
|
int ProfileSPDLinDirectSkypackSolver::setSize (
|
void ) [virtual]
|
|
int ProfileSPDLinDirectSkypackSolver::solve (
|
void ) [virtual]
|
|
The documentation for this class was generated from the following files:
|