#include <Prometheus_LinSysCore.h>
Inheritance diagram for Prometheus_LinSysCore:


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 () |
| PromVector * | getRHS () |
| PromVector * | getSolution () |
| 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 | |
| Prometheus * | prom_ |
| 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 | |
| PromMatrix * | C_ |
| int * | Ctnnz_ |
| PromMap * | lmap_ |
| PromMap * | proj_lmap_ |
| PromVector ** | bVecArr_ |
| PromVector * | xVec_ |
| PromVector * | work_ |
| PromVector * | init_guess_ |
| PromVector * | gamma_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_ |
| PromComm * | Comm_ |
| 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_ |
class Prometheus_LinSysCore: top linear solver object
1.3.7