|
FEI Package Browser (Single Doxygen Collection)
Version of the Day
|
Go to the documentation of this file.
43 #ifndef _fei_Aztec_LinSysCore_hpp_
44 #define _fei_Aztec_LinSysCore_hpp_
67 class AztecDMSR_Matrix;
68 class AztecDVBR_Matrix;
82 int parameters(
int numParams,
const char*
const * params);
93 const int*
const* connNodes) ;
98 const double *
const *
const *,
106 const double *
const *,
115 int* ptRowsPerBlkRow) ;
144 int numPtCols,
const int* ptCols,
145 int numBlkRows,
const int* blkRows,
146 int numBlkCols,
const int* blkCols,
147 const double*
const* values);
150 int numPtCols,
const int* ptCols,
151 const double*
const* values);
153 int numPtCols,
const int* ptCols,
154 const double*
const* values);
159 int len,
int& rowLength);
165 const double* values,
168 const double* values,
182 double* gamma,
int len);
185 double* alpha,
double* gamma,
189 int** colIndices,
int* colIndLen,
193 int** blkColInds,
int** blkColOffsets,
194 int* blkColLens,
double** remEssBCCoefs);
282 int** blkColIndices,
int* blkRowLengths,
283 int* ptRowsPerBlkRow);
289 AztecDMSR_Matrix* source);
293 int* ptRowsPerBlkRow);
296 int numBlkCols,
const int* blkCols,
297 const double*
const* values,
299 bool overwriteInsteadOfAccumulate);
302 int numBlkCols,
const int* blkCols,
303 const double*
const* values,
312 int getBlockRow(
int blkRow,
double*& val,
int& valLen,
313 int*& blkColInds,
int& blkColIndLen,
314 int& numNzBlks,
int& numNNZ);
322 int numPtCols,
const int* ptColIndices,
323 const double*
const* values,
324 bool overwriteInsteadOfAccumulate);
327 int blkCol,
int colOffset,
double value);
354 int blkRowEssBCMod(
int blkEqn,
int blkOffset,
double* val,
int* blkCols,
355 int numCols,
int numPtNNZ,
double alpha,
double gamma);
357 int blkColEssBCMod(
int blkRow,
int blkEqn,
int blkOffset,
double* val,
359 int numCols,
int numPtNNZ,
double alpha,
double gamma);
365 int writeA(
const char* name);
383 AztecDMSR_Matrix *
A_;
int parameters(int numParams, const char *const *params)
void checkForParam(const char *paramName, int numParams_, char **paramStrings, double ¶m)
void setDebugOutput(const char *path, const char *name)
bool tooLateToChooseBlock_
int destroyMatrixData(Data &data)
void setConvTest(const char *param)
void setOrthog(const char *param)
int resetRHSVector(double s)
int messageAbort(const char *msg) const
int putNodalFieldData(int, int, int *, int, const double *)
int getBlockSize(int blkInd)
Aztec_LinSysCore(MPI_Comm comm)
int writeSystem(const char *name)
int enforceBlkEssentialBC(int *blkEqn, int *blkOffset, double *alpha, double *gamma, int len)
int setLoadVectors(GlobalID, int, const GlobalID *, const double *const *, int, const int *const *)
int setGlobalOffsets(int len, int *nodeOffsets, int *eqnOffsets, int *blkEqnOffsets)
int createBlockMatrix(int **blkColIndices, int *blkRowLengths, int *ptRowsPerBlkRow)
int destroyVectorData(Data &data)
int MSRmatPlusScaledMat(AztecDMSR_Matrix *A, double scalar, AztecDMSR_Matrix *source)
virtual ~Aztec_LinSysCore()
void setSubdomainSolve(const char *name)
bool explicitDirichletBCs_
int setStiffnessMatrices(GlobalID, int, const GlobalID *, const double *const *const *, int, const int *const *)
int setMatrixType(const char *name)
int putInitialGuess(const int *eqnNumbers, const double *values, int len)
int resetMatrixAndVector(double s)
bool needNewPreconditioner_
int enforceRemoteEssBCs(int numEqns, int *globalEqns, int **colIndices, int *colIndLen, double **coefs)
int setNumRHSVectors(int numRHSs, const int *rhsIDs)
int putIntoSystemMatrix(int numPtRows, const int *ptRows, int numPtCols, const int *ptCols, const double *const *values)
void setOverlap(const char *param)
void checkForOption(const char *paramName, int numParams_, char **paramStrings, int ¶m)
int getMatrixPtr(Data &data)
void setTypeOverlap(const char *param)
void setScalingOption(const char *param)
int copyInRHSVector(double scalar, const Data &data)
int enforceEssentialBC(int *globalEqn, double *alpha, double *gamma, int len)
void setPreCalc(const char *param)
int copyBlockRow(int i, const int *blkRows, int numBlkCols, const int *blkCols, const double *const *values, double *coefs)
int getMatrixRowLength(int row, int &length)
int setMatrixStructure(int **ptColIndices, int *ptRowLengths, int **blkColIndices, int *blkRowLengths, int *ptRowsPerBlkRow)
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)
void setAZ_output(const char *param)
int copyInMatrix(double scalar, const Data &data)
int getMatrixOffset(int row, int col)
double * getMatrixBeginPointer()
int setMultCREqns(int, int, int, int **, int **, int *, int *)
int formResidual(double *values, int len)
int writeVec(Aztec_LSVector *v, const char *name)
int sumIntoPointRow(int numPtRows, const int *ptRows, int numPtCols, const int *ptColIndices, const double *const *values, bool overwriteInsteadOfAccumulate)
int setConnectivities(GlobalID elemBlock, int numElements, int numNodesPerElem, const GlobalID *elemIDs, const int *const *connNodes)
int getMatrixRow(int row, double *coefs, int *indices, int len, int &rowLength)
int getSolution(double *answers, int len)
AztecDVBR_Matrix * blkA_ptr_
fei::SharedPtr< Aztec_Map > map_
int copyOutMatrix(double scalar, Data &data)
int getFromRHSVector(int num, double *values, const int *indices)
int copyOutRHSVector(double scalar, Data &data)
int selectPreconditioner(const char *name)
bool BCenforcement_no_column_mod_
int writeA(const char *name)
int blkRowEssBCMod(int blkEqn, int blkOffset, double *val, int *blkCols, int numCols, int numPtNNZ, double alpha, double gamma)
int blkColEssBCMod(int blkRow, int blkEqn, int blkOffset, double *val, int *blkCols, int numCols, int numPtNNZ, double alpha, double gamma)
int VBRmatPlusScaledMat(AztecDVBR_Matrix *A, double scalar, AztecDVBR_Matrix *source)
int sumPointIntoBlockRow(int blkRow, int rowOffset, int blkCol, int colOffset, double value)
int setLookup(Lookup &lookup)
int resetMatrix(double s)
int launchSolver(int &solveStatus, int &iterations)
fei::SharedPtr< Aztec_BlockMap > blkMap_
std::map< std::string, unsigned > & named_solve_counter_
int sumInMatrix(double scalar, const Data &data)
int getBlkEqnsAndOffsets(int *ptEqns, int *blkEqns, int *blkOffsets, int numEqns)
int sumInRHSVector(double scalar, const Data &data)
int getBlockRow(int blkRow, double *&val, int &valLen, int *&blkColInds, int &blkColIndLen, int &numNzBlks, int &numNNZ)
int enforceBlkRemoteEssBCs(int numEqns, int *blkEqns, int **blkColInds, int **blkColOffsets, int *blkColLens, double **remEssBCCoefs)
int sumIntoRHSVector(int num, const double *values, const int *indices)
void debugOutput(const char *msg) const
int getRHSVectorPtr(Data &data)
LinearSystemCore * clone()
int setPenCREqns(int, int, int, int **, int **, int *)
AztecDMSR_Matrix * A_ptr_
int getSolnEntry(int eqnNumber, double &answer)
int allocateMatrix(int **ptColIndices, int *ptRowLengths, int **blkColIndices, int *blkRowLengths, int *ptRowsPerBlkRow)
int explicitlySetDirichletBCs()
int putIntoRHSVector(int num, const double *values, const int *indices)
int sumIntoBlockRow(int numBlkRows, const int *blkRows, int numBlkCols, const int *blkCols, const double *const *values, int numPtCols, bool overwriteInsteadOfAccumulate)
int selectSolver(const char *name)
void setAuxVec(const char *param)
int blockRowToPointRow(int blkRow)