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

Prometheus_LinSysCore Class Reference

class Prometheus_LinSysCore: More...

#include <Prometheus_LinSysCore.h>

Inheritance diagram for Prometheus_LinSysCore:

Inheritance graph
[legend]
Collaboration diagram for Prometheus_LinSysCore:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Prometheus_LinSysCore (MPI_Comm comm)
int Init (const PromComm &comm, PromOptions &opts, PromPerfMonitor &perf)
LinearSystemCore * clone ()
int parameters (int numParams, char **params)
int setLookup (Lookup &lookup)
int setGlobalOffsets (int len, int *nodeOffsets, int *eqnOffsets, int *blkEqnOffsets)
int setConnectivities (GlobalID elemBlock, int numElements, int numNodesPerElem, const GlobalID *elemIDs, const int *const *connNodes)
int setStiffnessMatrices (GlobalID elemBlock, int numElems, const GlobalID *elemIDs, const double *const *const *stiff, int numEqnsPerElem, const int *const *eqnIndices)
int setLoadVectors (GlobalID elemBlock, int numElems, const GlobalID *elemIDs, const double *const *load, int numEqnsPerElem, const int *const *eqnIndices)
int setMultCREqns (int multCRSetID, int numCRs, int numNodesPerCR, int **nodeNumbers, int **eqnNumbers, int *fieldIDs, int *multiplierEqnNumbers)
int setPenCREqns (int penCRSetID, int numCRs, int numNodesPerCR, int **nodeNumbers, int **eqnNumbers, int *fieldIDs)
int setMatrixStructure (int **ptColIndices, int *ptRowLengths, int **blkColIndices, int *blkRowLengths, int *ptRowsPerBlkRow)
int resetMatrixAndVector (double s)
int resetMatrix (double s)
int resetRHSVector (double s)
int sumIntoSystemMatrix (int numPtRows, const int *ptRows, int numPtCols, const int *ptCols, int numBlkRows, const int *blkRows, int numBlkCols, const int *blkCols, const double *const *values)
int sumIntoSystemMatrix (int numPtRows, const int *ptRows, int numPtCols, const int *ptCols, const double *const *values)
int putIntoSystemMatrix (int numPtRows, const int *ptRows, int numPtCols, const int *ptCols, const double *const *values)
int sumIntoSystemMatrix_private (int numPtRows, const int *ptRows, int numPtCols, const int *ptCols, const double *const *values, const int add_type, const bool image)
int getMatrixRowLength (int row, int &length)
int getMatrixRow (int row, double *coefs, int *indices, int len, int &rowLength)
int sumIntoRHSVector (int num, const double *values, const int *indices)
int putIntoRHSVector (int num, const double *values, const int *indices)
int sumIntoRHSVector_private (const int num, const double *values, const int *indices, const int add_type, const bool image)
int accessRHSVector_private (const int num, double *values, int *indices, const int add_type, const bool image)
int getFromRHSVector (int num, double *values, const int *indices)
int matrixLoadComplete ()
int putNodalFieldData (int fieldID, int fieldSize, int *nodeNumbers, int numNodes, const double *data)
int enforceEssentialBC (int *globalEqn, double *alpha, double *gamma, int len)
int enforceRemoteEssBCs (int numEqns, int *globalEqns, int **colIndices, int *colIndLen, double **coefs)
int enforceOtherBC (int *globalEqn, double *alpha, double *beta, double *gamma, int len)
int getMatrixPtr (Data &data)
int copyInMatrix (double scalar, const Data &data)
int copyOutMatrix (double scalar, Data &data)
int sumInMatrix (double scalar, const Data &data)
int getRHSVectorPtr (Data &data)
int copyInRHSVector (double scalar, const Data &data)
int copyOutRHSVector (double scalar, Data &data)
int sumInRHSVector (double scalar, const Data &data)
int destroyMatrixData (Data &data)
int destroyVectorData (Data &data)
int setNumRHSVectors (int numRHSs, const int *rhsIDs)
int setRHSID (int rhsID)
int putInitialGuess (const int *eqnNumbers, const double *values, int len)
int getSolution (double *answers, int len)
int getSolnEntry (int eqnNumber, double &answer)
int formResidual (double *values, int len)
int launchSolver (int &solveStatus, int &iterations)
int writeSystem (const char *name)
int resetConstraints (double s)
int constraintsLoadComplete ()
int setMultCRComplete ()
int CreateKKTObs (PromGrid *const grid)
int RemoveCRfromAllGrids ()
PromVectorgetRHS ()
PromVectorgetSolution ()
int SetRTol (float tol)
int setMatrixStructure (const PromTable< int > &gid_ghostLid, const int ndf)
int SetGlobalResTol (double tol)
int setUseComplex (bool b=true)
int sumIntoSystemMatrix_i (int numPtRows, const int *ptRows, int numPtCols, const int *ptCols, int numBlkRows, const int *blkRows, int numBlkCols, const int *blkCols, const double *const *values)
int sumIntoSystemMatrix_i (int numPtRows, const int *ptRows, int numPtCols, const int *ptCols, const double *const *values)
int sumIntoRHSVector_i (int num, const double *values, const int *indices)
int getFromRHSVector_i (int num, double *values, const int *indices)
int putIntoRHSVector_i (int num, const double *values, const int *indices)
int getSolution_i (double *answers, int len)
int getSolnEntry_i (int eqnNumber, double &answer)
int getSolution_private (double *answers, int len, const bool image)
int sumIntoSystemMatrix_private (int numPtRows, const int *ptRows, int numPtCols, const int *ptCols, int numBlkRows, const int *blkRows, int numBlkCols, const int *blkCols, const double *const *values, const bool image)
int formResidual_i (double *values, int len)
int formResidual_private (double *values, int len, const bool image)

Public Attributes

Prometheusprom_
bool use_complex_
MPI_Comm MPIComm_

Static Public Attributes

const char version_no_ [32] = "petra.1.7.2"

Private Member Functions

int putCoords_private (int fieldID, int fieldSize, int *nodeNumbers, int numNodes, const double *data)
int AggregateCRs (PromList< PromAList< int > * > &aggs, const PromMatrix *const Ti, const double tol2=0.2, const bool do_glob=(1==1), const bool set_with_local=(1==0)) const
int MakeCRProlMap (PromList< PromAList< int > * > &aggs, const PromGrid *const grid, PromMap **clm_out, PromMatrix **prol_D_out) const
int MoveAggs (const PromMap &map, PromList< PromAList< int > * > &aggs, const int nextFactor, const PromMap *const CP_colMap, const PromMatrix *const CP) const
int SetBCforCRTable (const PromMatrix *const CC, const PromMatrix *const projC)
int GetBCSends ()
int AggregateCRs2 (PromList< PromAList< int > * > &aggs, const PromMatrix *const Ti, const double tol1, const double tol2, const bool do_glob, const bool set_with_local=(1==0)) const
int MIS_CRs (int &ndone, const int nadj[], PromList< PromAList< int > * > &aggs, const PromMatrix *const Ti, const double tol2, const bool do_glob, PromAList< int > **lid_aggList, PromTable< PromAList< int > * > &ghost_list, PromTable< PromAList< int > * > &listID_list, int &locAggID, PromAList< int > *const dummy) const
int GlobalizeAggs (const PromMap &map, PromList< PromAList< int > * > &aggs, PromAList< int > **lid_aggList, PromTable< PromAList< int > * > &ghost_list, PromTable< PromAList< int > * > &listID_list, PromAList< int > *const dummy) const
int setMatrixStructure_private (const PromTable< int > &gid_ghostLid, const int ndf)
int eq_map_private (const int geq, int *myeq, bool *prim, int *proc) const
int id_map_private (const int gid, int *myid, bool *prim, int *proc) const
int primGEq_lid_private (const int geq, int *lid_out) const
int id_proc_private (const int gid, int &proc) const
int collectBCs ()
int assembleCRs (PromTable< int > *projCREqs)
int applyBCs (PromMatrix *projC)
int enforceEssentialBC_private (int *globalEqn, double *alpha, double *gamma, int len, PromVector *bmod)
int enforceOtherBC_private (int *globalEqn, double *alpha, double *beta, double *gamma, int len)
int constructPrometheus (const PromTable< int > &gid_ghostLid, const int ndf)
int ExtendElemList ()
int addextraGhostsParents (PromGrid *lastg, PromGrid *nextg)
int ReFactorSolver ()
int SymbolicSetUp ()
int MakeSolver (const PromMap *const p_map)
int FactorKKT (PromCRMatrix *KK, PromGrid *grid, PromPC *pc, const PromCRVector *const xx)
int LSC_Residual (PromMatrix *KK, const PromVector *const BB, PromVector *const XX, PromVector *const YY)

Static Private Member Functions

int Mult (const PromMatrix *const AA, const PromMatrix *const BB, PromMatrix **C_out)
int TransMult (const PromMatrix *const AA, const PromMatrix *const BB, const PromMap *const mp, PromMatrix **, const PromMap *const mpt=NULL, PromMatrix **t=NULL)

Private Attributes

PromMatrixC_
int * Ctnnz_
PromMaplmap_
PromMapproj_lmap_
PromVector ** bVecArr_
PromVectorxVec_
PromVectorwork_
PromVectorinit_guess_
PromVectorgamma_alpha_
void * zeroIS_
int * rhsIDs_
int * proc_gnode_
int * proc_globalEq_
int * proc_lmEq_
int * proc_primEq_
int * lid_primLEq_
PromList< int * > * elemList_
PromTable< double > * geq_fixity_
PromTable< PromTable< int > * > * proc_ghostCRIDs_
PromTable< PromCR * > * CR_id_
PromTable< PromCR * > * projCR_id_
Prometheus_EssBCData * essbcdata_
Prometheus_OthBCData * othbcdata_
Prometheus_ZeroEquations * zeroEqs_
PromCRCache * CRCache_
PromCRCache * projCRCache_
PromCommComm_
PromOptions * options_
PromPerfMonitor * perf_mon_
float normRTol_
char root_ [128]
int numGlobalRows_
int numGlobalRowsLm_
int numGlobalRowsPrim_
short int currentRHS_
short int dirty_guess_
short int mg_levels_
short int numRHSs_
short int verbose_
short int mype_
short int npe_
short int num_matrices_
short int projNdLimit_
short int nSolves_
bool use_uzawa_
bool matrix_setup_reuse_factor_
bool rhs_res_scale_

Detailed Description

class Prometheus_LinSysCore:

class Prometheus_LinSysCore: top linear solver object


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