Main Page | Class Hierarchy | Class List | File List | Class Members

PromMatrix Class Reference

class PromMatrix More...

#include <prom_petsc.hh>

Inheritance diagram for PromMatrix:

Inheritance graph
[legend]
Collaboration diagram for PromMatrix:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 PromMatrix (const PromGrid *grid, int nA, int *pnA, int nB, int *pnB, int fact=1)
 matrix

 PromMatrix (const PromMap &map, int nA, int *pnA, int nB, int *pnB, int lcols=-1, int gcols=-1, int fact=1)
 matrix

virtual int SetUp (int nA, int *pnA, int nB, int *pnB, int lcols, int gcols, int fact=1)
 common constructor

 PromMatrix (const PromMatrix_base *B)
 Copy constructor.

 PromMatrix (const PromMap &cmap, Mat a)
 shell constructor

virtual int Transpose (const PromMap &cmap, PromMatrix_base **out) const
 Transpose constructor.

virtual ~PromMatrix ()
 destructor

virtual int ConvertToSymm ()
 matrix type methods

virtual int ConvertFromSymm ()
virtual int ConvertToSuperLU ()
virtual bool isSuperLU () const
int GetLocalNodeRow (const int brow, const int len, int &ncols, int adjacs[], double **Aij=NULL) const
 methods

int GetDiagonal (PromVector_base *work) const
virtual int MultTranspose (const PromVector_base *const X, PromVector_base *const Y) const
 y := A'x

virtual int MultTransposeAdd (const PromVector_base *const W, const PromVector_base *const X, PromVector_base *const Y) const
 y := x + A'w

virtual int Mult (const PromVector_base *const X, PromVector_base *const Y) const
 y := Ax

virtual int KSPMult (const PromVector_base *const x, PromVector_base *const b) const
 y := Ax

virtual int MultAdd (const PromVector_base *const X, const PromVector_base *const Y, PromVector_base *const W) const
 Computes v3 = v2 + A * v1.

virtual int GetOwnershipRange (int *first, int *end) const
int GetRow (int row, int *ncols, int **colpp=NULL, double **arrdat=NULL) const
int RestoreRow (int row, int *ncols, int **colpp=NULL, double **arrdat=NULL) const
int SetValues (const int nrow, int *pgeqi, const int ncol, int *pcol, double *vals, const int add_type)
int SetValuesBlocked (const int nrow, int *pgidi, const int ncol, int *pcol, double *vals, const int add_type)
int ZeroRows (PromIS is, double diag=0.0)
virtual int ZeroEntries ()
int Assembly ()
int FlushAssembly ()
int Shift (double val)
int Scale (const PromVector_base *const L, const PromVector_base *const R)
int Scale (double val)
int NormFrob (double *const norm) const
int NormInf (double *const norm) const
int AXPY (double val, const PromMatrix_base *const A)
 AXPY w/ same nnz pattern.

int SetOption (int opt)
virtual int getN () const
virtual int getn () const
virtual int getM () const
virtual int getm () const
int getMNodes () const
int getLocalNNZ () const
int getGlobalNNZ () const
MPI_Comm MPIComm () const
 get MPI communicator

virtual bool isSymmetricValued () const
 has symmetic values?

virtual bool isSymmetricMatrix () const
 has symmetic storage?

int GetGArray (int **garr, int *nghosts) const
 get array of global IDs for ghost nodes. size=num ghosts. gid=garr[i]

int RestoreGArray (int **arr) const
bool isOK () const
virtual bool isAssembled () const
int Print (char *str=NULL, FILE *ifile=stderr) const
 Print.


Static Public Member Functions

int getLidWithLBid (const int blid, const int bs, const int nloc, const int lid_leq[])

Public Attributes

double * varray_
PromTable< int > * ghostGID_BID_
PromTable< int > * ghostGID_ndf_
PromTable< int > * ghostBID_GID_
int varr_sz_

Protected Attributes

Mat mat_
 data

Mat full_mat_
int * array_

Private Member Functions

int GetNodeScalarRow_PETSc (const int row, const int len, int &ncols, int Brp[], double **Bap) const
int GetLocal_constBlk_NodeRow (const int brow, const int len, int &ncols, int adjacs[], double **Aij=NULL) const
int GetSymmetricLocal_constBlk_NodeRow (const int brow, const int len, int &ncols, int adjacs[], double **Aij=NULL) const
int GetLocalVBRNodeRow (const int brow, const int len, int &ncols, int adjacs[], double **Aij=NULL) const

Detailed Description

class PromMatrix


The documentation for this class was generated from the following files:
Generated on Fri May 21 14:18:10 2004 by doxygen 1.3.7