Go to the documentation of this file.
19 #if !defined escript_SystemMatrixException_20040608_H
20 #define escript_SystemMatrixException_20040608_H
#define MATRIX_FORMAT_BLK1
Definition: Paso.h:64
void SparseMatrix_MatrixVector_CSC_OFFSET1(const double alpha, const_SparseMatrix_ptr A, const double *in, const double beta, double *out)
Definition: SparseMatrix_MatrixVector.cpp:120
int mm_read_mtx_crd_size(std::istream &f, int *M, int *N, int *nz)
Definition: mmio.cpp:182
static dim_t N
Definition: SparseMatrix_saveHB.cpp:38
static SystemMatrix_ptr loadMM_toCSC(const char *filename)
Definition: SystemMatrix_loadMM.cpp:201
escript::JMPI mpi_info
Definition: SystemMatrix.h:322
The base class for escript exceptions.
Definition: EsysException.h:30
bool is_balanced
Definition: SystemMatrix.h:336
boost::shared_ptr< Distribution > Distribution_ptr
Definition: Distribution.h:25
escript::Distribution_ptr col_distribution
Definition: SystemMatrix.h:321
#define MATRIX_FORMAT_CSC
Definition: Paso.h:63
void RHS_loadMM_toCSR(const char *filename, double *b, dim_t size)
Definition: SystemMatrix_loadMM.cpp:300
void print() const
Definition: SystemMatrix_debug.cpp:101
void mergeMainAndCouple_CSR_OFFSET0(index_t **p_ptr, index_t **p_idx, double **p_val) const
Definition: SystemMatrix_mergeMainAndCouple.cpp:57
Definition: Coupler.h:101
void mergeMainAndCouple_CSC_OFFSET1(index_t **p_ptr, index_t **p_idx, double **p_val) const
Definition: SystemMatrix_mergeMainAndCouple.cpp:277
boost::shared_ptr< SystemMatrix > SystemMatrix_ptr
Definition: SystemMatrix.h:41
boost::shared_ptr< SystemMatrixPattern > SystemMatrixPattern_ptr
Definition: SystemMatrixPattern.h:40
void mergeMainAndCouple_CSR_OFFSET0_Block(index_t **p_ptr, index_t **p_idx, double **p_val) const
Definition: SystemMatrix_mergeMainAndCouple.cpp:169
int mm_read_mtx_array_size(std::istream &f, int *M, int *N)
Definition: mmio.cpp:211
#define mm_is_general(typecode)
Definition: mmio.h:63
Definition: SharedComponents.h:42
SystemMatrixException(const std::string &str)
Definition: SystemMatrixException.h:38
void copyRemoteCoupleBlock(bool recreatePattern)
Definition: SystemMatrix_copyRemoteCoupleBlock.cpp:40
Definition: FunctionSpace.h:36
JMPI makeInfo(MPI_Comm comm, bool owncom)
Definition: EsysMPI.cpp:29
void SparseMatrix_MatrixVector_CSR_OFFSET1(const double alpha, const_SparseMatrix_ptr A, const double *in, const double beta, double *out)
Definition: SparseMatrix_MatrixVector.cpp:192
#define MATRIX_FORMAT_OFFSET1
Definition: Paso.h:65
double * finishCollect() const
Definition: SystemMatrix.h:160
void startCollect(const double *in) const
Definition: SystemMatrix.h:155
Definition: Distribution.h:33
#define MPI_INT
Definition: EsysMPI.h:46
void SparseMatrix_MatrixVector_CSR_OFFSET0_DIAG(const double alpha, const_SparseMatrix_ptr A, const double *in, const double beta, double *out)
Definition: SparseMatrix_MatrixVector.cpp:427
#define MPI_COMM_WORLD
Definition: EsysMPI.h:48
static dim_t nz
Definition: SparseMatrix_saveHB.cpp:38
int comparIndex(const void *index1, const void *index2)
this int-comparison function is used by qsort/bsearch in various places
Definition: PasoUtil.cpp:26
index_t dim_t
Definition: DataTypes.h:65
boost::shared_ptr< JMPI_ > JMPI
Definition: EsysMPI.h:72
SystemMatrixType type
Definition: SystemMatrix.h:310
Coupler_ptr< real_t > col_coupler
Definition: SystemMatrix.h:324
SparseMatrix_ptr mainBlock
main block
Definition: SystemMatrix.h:328
boost::shared_ptr< Coupler< T > > Coupler_ptr
Definition: Coupler.h:43
char MM_typecode[4]
Definition: mmio.h:35
void swap(index_t *r, index_t *c, double *v, int left, int right)
Definition: SparseMatrix.cpp:57
Definition: SystemMatrixPattern.h:46
index_t * global_id
stores the global ids for all cols in col_coupleBlock
Definition: SystemMatrix.h:346
SystemMatrixException exception class.
Definition: SystemMatrixException.h:36
Coupler_ptr< real_t > row_coupler
Definition: SystemMatrix.h:325
SparseMatrix_ptr row_coupleBlock
coupling to neighbouring processors (col - row)
Definition: SystemMatrix.h:332
dim_t col_block_size
Definition: SystemMatrix.h:317
virtual ~SystemMatrixException()
Destructor.
Definition: SystemMatrixException.h:41
void extendedRowsForST(dim_t *degree_ST, index_t *offset_ST, index_t *ST)
Definition: SystemMatrix_extendedRows.cpp:42
boost::shared_ptr< SharedComponents > SharedComponents_ptr
Definition: SharedComponents.h:36
dim_t row_block_size
Definition: SystemMatrix.h:316
SystemMatrixPattern_ptr pattern
Definition: SystemMatrix.h:311
#define MPI_DOUBLE
Definition: EsysMPI.h:47
void fillWithGlobalCoordinates(double f1)
Definition: SystemMatrix_debug.cpp:38
PasoException exception class.
Definition: PasoException.h:34
dim_t getNumCols() const
Definition: SystemMatrix.h:190
SparseMatrix_ptr remote_coupleBlock
coupling of rows-cols on neighbouring processors (may not be valid)
Definition: SystemMatrix.h:334
int index_t
type for array/matrix indices used both globally and on each rank
Definition: DataTypes.h:60
#define mm_is_real(typecode)
Definition: mmio.h:58
Definition: AbstractContinuousDomain.cpp:23
int mm_read_banner(std::istream &f, MM_typecode *matcode)
Definition: mmio.cpp:104
void mergeMainAndCouple(index_t **p_ptr, index_t **p_idx, double **p_val) const
Definition: SystemMatrix_mergeMainAndCouple.cpp:41
dim_t getNumRows() const
Definition: SystemMatrix.h:185
void SparseMatrix_MatrixVector_CSR_OFFSET0(const double alpha, const_SparseMatrix_ptr A, const double *in, const double beta, double *out)
Definition: SparseMatrix_MatrixVector.cpp:280
static dim_t M
Definition: SparseMatrix_saveHB.cpp:38
boost::shared_ptr< Connector > Connector_ptr
Definition: Coupler.h:38
boost::shared_ptr< Pattern > Pattern_ptr
Definition: Pattern.h:38
void SparseMatrix_MatrixVector_CSC_OFFSET0(const double alpha, const_SparseMatrix_ptr A, const double *in, const double beta, double *out)
Definition: SparseMatrix_MatrixVector.cpp:44
SystemMatrix()
default constructor - throws exception.
Definition: SystemMatrix.cpp:42
void MatrixVector(double alpha, const double *in, double beta, double *out) const
Definition: SystemMatrix_MatrixVector.cpp:35
static SystemMatrix_ptr loadMM_toCSR(const char *filename)
Definition: SystemMatrix_loadMM.cpp:101
dim_t block_size
Definition: SystemMatrix.h:318
Definition: BiCGStab.cpp:26
void MatrixVector_CSR_OFFSET0(double alpha, const double *in, double beta, double *out) const
Definition: SystemMatrix_MatrixVector.cpp:64
Definition: SparseMatrix.h:44
void q_sort(index_t *row, index_t *col, double *val, int begin, int end, int N)
Definition: SparseMatrix.cpp:75
#define MATRIX_FORMAT_DEFAULT
Definition: Paso.h:62
#define MATRIX_FORMAT_DIAGONAL_BLOCK
Definition: Paso.h:66
escript::Distribution_ptr row_distribution
Definition: SystemMatrix.h:320
#define mm_is_array(typecode)
Definition: mmio.h:55
#define mm_is_sparse(typecode)
Definition: mmio.h:52
SparseMatrix_ptr col_coupleBlock
coupling to neighbouring processors (row - col)
Definition: SystemMatrix.h:330