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

BandGenLinLapackSolver Class Reference

#include <BandGenLinLapackSolver.h>

Inheritance diagram for BandGenLinLapackSolver::

BandGenLinSolver LinearSOESolver Solver List of all members.

Public Methods

 BandGenLinLapackSolver ()
 ~BandGenLinLapackSolver ()
int solve (void)
int setSize (void)
 virtual int setLinearSOE(LinearSOE &theSOE) =0;. More...

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

Detailed Description

A BandGenLinLapackSolver object can be constructed to solve a BandGenLinSOE object. It obtains the solution by making calls on the the LAPACK library. The class is defined to be a friend of the BandGenLinSOE class (see BandGenLinSOE.h\form#24). \

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

{\bf Constructor} \ {BandGenLinLapackSolver();} \ A unique class tag (defined in classTags.h\form#24) is passed to the BandGenLinSolver constructor. Sets the size of {iPiv} to , {iPiv} being an integer array needed by the LAPACK routines. \

{\bf Destructor} \ {\form#25BandGenLinLapackSolver();}\\ Invokes delete on {iPiv} to free the memory allocated to store the array. \

{\bf Public Methods } \ {virtual int solve(void);} \ The solver first copies the B vector into X and then solves the BandGenLinSOE system by calling the LAPACK routines {dgbsv()}, if the system is marked as not having been factored, and {dgbtrs()} if system is marked as having been factored. If the solution is successfully obtained, i.e. the LAPACK routines return in the INFO argument, it marks the system has having been factored and returns , otherwise it prints a warning message and returns INFO. The solve process changes and . \

{int setSize(void);} \ Is used to construct a 1d integer array, {iPiv} that is needed by the LAPACK solvers. It checks to see if current size of {iPiv} is large enough, if not it deletes the cold and creates a larger array. Returns if sucessfull, prints a warning message and returns a if not enough memory is available for this new array. \

{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 102 of file BandGenLinLapackSolver.h.


Constructor & Destructor Documentation

BandGenLinLapackSolver::BandGenLinLapackSolver ( )
 

Definition at line 44 of file BandGenLinLapackSolver.cpp.

BandGenLinLapackSolver::~BandGenLinLapackSolver ( )
 

Definition at line 51 of file BandGenLinLapackSolver.cpp.


Member Function Documentation

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

Definition at line 173 of file BandGenLinLapackSolver.cpp.

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

Definition at line 167 of file BandGenLinLapackSolver.cpp.

int BandGenLinLapackSolver::setSize ( void ) [virtual]
 

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

Reimplemented from LinearSOESolver.

Definition at line 146 of file BandGenLinLapackSolver.cpp.

int BandGenLinLapackSolver::solve ( void ) [virtual]
 

Reimplemented from BandGenLinSolver.

Definition at line 79 of file BandGenLinLapackSolver.cpp.


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