escript  Revision_
SystemMatrixException.h
Go to the documentation of this file.
1 
2 /*****************************************************************************
3 *
4 * Copyright (c) 2003-2020 by The University of Queensland
5 * http://www.uq.edu.au
6 *
7 * Primary Business: Queensland, Australia
8 * Licensed under the Apache License, version 2.0
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12 * Development 2012-2013 by School of Earth Sciences
13 * Development from 2014-2017 by Centre for Geoscience Computing (GeoComp)
14 * Development from 2019 by School of Earth and Environmental Sciences
15 **
16 *****************************************************************************/
17 
18 
19 #if !defined escript_SystemMatrixException_20040608_H
20 #define escript_SystemMatrixException_20040608_H
21 
22 #include "system_dep.h"
23 #include "EsysException.h"
24 
25 namespace escript
26 {
36 {
37 public:
38  SystemMatrixException(const std::string& str) : EsysException(str) {}
39 
41  virtual ~SystemMatrixException() throw() {}
42 };
43 
44 } // end of namespace
45 
46 #endif
47 
MATRIX_FORMAT_BLK1
#define MATRIX_FORMAT_BLK1
Definition: Paso.h:63
paso::SystemMatrix::mergeMainAndCouple_CSR_OFFSET0
void mergeMainAndCouple_CSR_OFFSET0(index_t **p_ptr, index_t **p_idx, double **p_val) const
mm_read_mtx_crd_size
int mm_read_mtx_crd_size(std::istream &f, int *M, int *N, int *nz)
Definition: mmio.cpp:181
paso::N
static dim_t N
Definition: SparseMatrix_saveHB.cpp:37
paso::SystemMatrix::mergeMainAndCouple_CSR_OFFSET0_Block
void mergeMainAndCouple_CSR_OFFSET0_Block(index_t **p_ptr, index_t **p_idx, double **p_val) const
escript::EsysException
The base class for escript exceptions.
Definition: EsysException.h:31
paso::SparseMatrix_MatrixVector_CSC_OFFSET1
void SparseMatrix_MatrixVector_CSC_OFFSET1(const double alpha, const_SparseMatrix_ptr< double > A, const double *in, const double beta, double *out)
Definition: SparseMatrix_MatrixVector.cpp:119
paso::SystemMatrix
this class holds a (distributed) stiffness matrix
Definition: SystemMatrix.h:50
escript::Distribution_ptr
boost::shared_ptr< Distribution > Distribution_ptr
Definition: Distribution.h:25
MATRIX_FORMAT_CSC
#define MATRIX_FORMAT_CSC
Definition: Paso.h:62
paso::RHS_loadMM_toCSR
void RHS_loadMM_toCSR(const char *filename, double *b, dim_t size)
Definition: SystemMatrix_loadMM.cpp:301
paso::SystemMatrix::loadMM_toCSC
static SystemMatrix_ptr< double > loadMM_toCSC(const char *filename)
paso::Coupler
Definition: Coupler.h:100
paso::SystemMatrixPattern_ptr
boost::shared_ptr< SystemMatrixPattern > SystemMatrixPattern_ptr
Definition: SystemMatrixPattern.h:40
mmio.h
mm_read_mtx_array_size
int mm_read_mtx_array_size(std::istream &f, int *M, int *N)
Definition: mmio.cpp:210
mm_is_general
#define mm_is_general(typecode)
Definition: mmio.h:63
paso::SharedComponents
Definition: SharedComponents.h:41
paso::SystemMatrix::copyRemoteCoupleBlock
void copyRemoteCoupleBlock(bool recreatePattern)
escript::SystemMatrixException::SystemMatrixException
SystemMatrixException(const std::string &str)
Definition: SystemMatrixException.h:38
paso::SparseMatrix_MatrixVector_CSC_OFFSET0
void SparseMatrix_MatrixVector_CSC_OFFSET0(const double alpha, const_SparseMatrix_ptr< double > A, const double *in, const double beta, double *out)
Definition: SparseMatrix_MatrixVector.cpp:43
escript::FunctionSpace
Definition: FunctionSpace.h:36
paso::Connector
Definition: Coupler.h:47
escript::makeInfo
JMPI makeInfo(MPI_Comm comm, bool owncom)
Definition: EsysMPI.cpp:29
MATRIX_FORMAT_OFFSET1
#define MATRIX_FORMAT_OFFSET1
Definition: Paso.h:64
escript::Distribution
Definition: Distribution.h:33
MPI_INT
#define MPI_INT
Definition: EsysMPI.h:48
paso::SystemMatrix_ptr
boost::shared_ptr< SystemMatrix< T > > SystemMatrix_ptr
Definition: SystemMatrix.h:42
paso::Pattern
Definition: Pattern.h:44
MPI_COMM_WORLD
#define MPI_COMM_WORLD
Definition: EsysMPI.h:50
paso::nz
static dim_t nz
Definition: SparseMatrix_saveHB.cpp:37
paso::util::comparIndex
int comparIndex(const void *index1, const void *index2)
this int-comparison function is used by qsort/bsearch in various places
Definition: PasoUtil.cpp:25
escript::DataTypes::dim_t
index_t dim_t
Definition: DataTypes.h:66
escript::JMPI
boost::shared_ptr< JMPI_ > JMPI
Definition: EsysMPI.h:74
paso::SparseMatrix_MatrixVector_CSR_OFFSET0_DIAG
void SparseMatrix_MatrixVector_CSR_OFFSET0_DIAG(const double alpha, const_SparseMatrix_ptr< double > A, const double *in, const double beta, double *out)
Definition: SparseMatrix_MatrixVector.cpp:338
paso::Coupler_ptr
boost::shared_ptr< Coupler< T > > Coupler_ptr
Definition: Coupler.h:43
paso::SystemMatrix::loadMM_toCSR
static SystemMatrix_ptr< double > loadMM_toCSR(const char *filename)
MM_typecode
char MM_typecode[4]
Definition: mmio.h:35
paso::swap
void swap(index_t *r, index_t *c, double *v, int left, int right)
Definition: SparseMatrix.cpp:57
paso::SystemMatrixPattern
Definition: SystemMatrixPattern.h:45
escript::SystemMatrixException
SystemMatrixException exception class.
Definition: SystemMatrixException.h:36
SystemMatrix.h
paso::SystemMatrix::MatrixVector
void MatrixVector(double alpha, const T *in, double beta, T *out) const
escript::SystemMatrixException::~SystemMatrixException
virtual ~SystemMatrixException()
Destructor.
Definition: SystemMatrixException.h:41
paso::SharedComponents_ptr
boost::shared_ptr< SharedComponents > SharedComponents_ptr
Definition: SharedComponents.h:36
paso::SystemMatrix::mergeMainAndCouple_CSC_OFFSET1
void mergeMainAndCouple_CSC_OFFSET1(index_t **p_ptr, index_t **p_idx, double **p_val) const
MPI_DOUBLE
#define MPI_DOUBLE
Definition: EsysMPI.h:49
paso::PasoException
PasoException exception class.
Definition: PasoException.h:34
escript::DataTypes::index_t
int index_t
type for array/matrix indices used both globally and on each rank
Definition: DataTypes.h:61
mm_is_real
#define mm_is_real(typecode)
Definition: mmio.h:58
EsysException.h
escript
Definition: AbstractContinuousDomain.cpp:23
mm_read_banner
int mm_read_banner(std::istream &f, MM_typecode *matcode)
Definition: mmio.cpp:103
paso::SparseMatrix_MatrixVector_CSR_OFFSET0
void SparseMatrix_MatrixVector_CSR_OFFSET0(const double alpha, const_SparseMatrix_ptr< double > A, const double *in, const double beta, double *out)
Definition: SparseMatrix_MatrixVector.cpp:191
PasoUtil.h
paso::SystemMatrix::mergeMainAndCouple
void mergeMainAndCouple(index_t **p_ptr, index_t **p_idx, double **p_val) const
paso::M
static dim_t M
Definition: SparseMatrix_saveHB.cpp:37
paso::Connector_ptr
boost::shared_ptr< Connector > Connector_ptr
Definition: Coupler.h:38
paso::Pattern_ptr
boost::shared_ptr< Pattern > Pattern_ptr
Definition: Pattern.h:39
paso::SystemMatrix::extendedRowsForST
void extendedRowsForST(dim_t *degree_ST, index_t *offset_ST, index_t *ST)
paso::SystemMatrix::fillWithGlobalCoordinates
void fillWithGlobalCoordinates(double f1)
system_dep.h
paso::SystemMatrix::print
void print() const
paso
Definition: BiCGStab.cpp:25
escript::DataTypes::cplx_t
std::complex< real_t > cplx_t
complex data type
Definition: DataTypes.h:55
paso::SystemMatrix::MatrixVector_CSR_OFFSET0
void MatrixVector_CSR_OFFSET0(double alpha, const double *in, double beta, double *out) const
paso::SparseMatrix
Definition: SparseMatrix.h:45
paso::q_sort
void q_sort(index_t *row, index_t *col, double *val, int begin, int end, int N)
Definition: SparseMatrix.cpp:75
MATRIX_FORMAT_DEFAULT
#define MATRIX_FORMAT_DEFAULT
Definition: Paso.h:61
MATRIX_FORMAT_DIAGONAL_BLOCK
#define MATRIX_FORMAT_DIAGONAL_BLOCK
Definition: Paso.h:65
mm_is_array
#define mm_is_array(typecode)
Definition: mmio.h:55
mm_is_sparse
#define mm_is_sparse(typecode)
Definition: mmio.h:52