Go to the documentation of this file.
18 #ifndef __SPECKLEY_SPECKLEY_H__
19 #define __SPECKLEY_SPECKLEY_H__
26 #include <speckley/system_dep.h>
28 #include <escript/EsysMPI.h>
30 #include <boost/shared_ptr.hpp>
46 typedef std::map<std::string,int>
TagMap;
48 #define SPECKLEY_DEGREES_OF_FREEDOM 1
49 #define SPECKLEY_NODES 3
50 #define SPECKLEY_ELEMENTS 4
51 #define SPECKLEY_FACE_ELEMENTS 5
52 #define SPECKLEY_POINTS 6
53 #define SPECKLEY_REDUCED_DEGREES_OF_FREEDOM 2
54 #define SPECKLEY_REDUCED_NODES 14
55 #define SPECKLEY_REDUCED_ELEMENTS 10
56 #define SPECKLEY_REDUCED_FACE_ELEMENTS 11
73 {0.0, 0.27639320225, 0.72360679775, 1.0},
74 {0.0, 0.172673164646, 0.5, 0.827326835354, 1.0},
75 {0.0, 0.117472338035, 0.35738424176, 0.64261575824, 0.882527661965, 1.0},
76 {0.0, 0.0848880518607, 0.265575603265, 0.5, 0.734424396735, 0.915111948139, 1.0},
77 {0.0, 0.0641299257452, 0.204149909283, 0.395350391049, 0.604649608951, 0.795850090717, 0.935870074255, 1.0},
78 {0.0, 0.0501210022943, 0.161406860245, 0.318441268087, 0.5, 0.681558731913, 0.838593139755, 0.949878997706, 1.0},
79 {0.0, 0.0402330459168, 0.130613067447, 0.261037525095, 0.417360521167, 0.582639478833, 0.738962474905, 0.869386932553, 0.959766954083, 1.0},
80 {0.0, 0.032999284796, 0.107758263168, 0.217382336502, 0.352120932207, 0.5, 0.647879067793, 0.782617663498, 0.892241736832, 0.967000715204, 1.0}};
#define MATRIX_FORMAT_BLK1
Definition: Paso.h:63
std::map< std::string, int > TagMap
Definition: Speckley.h:46
#define SPECKLEY_POINTS
Definition: Speckley.h:52
static dim_t N
Definition: SparseMatrix_saveHB.cpp:37
void SparseMatrix_MatrixVector_CSR_OFFSET0_stripe(double alpha, dim_t nRows, dim_t row_block_size, dim_t col_block_size, const index_t *ptr, const index_t *index, const double *val, const double *in, double beta, double *out)
Definition: SparseMatrix_MatrixVector.cpp:243
double real_t
type of all real-valued scalars in escript
Definition: DataTypes.h:52
std::vector< real_t > DoubleVector
Definition: Speckley.h:45
boost::shared_ptr< SparseMatrix< T > > SparseMatrix_ptr
Definition: SparseMatrix.h:37
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
void nullifyRows_CSR_BLK1(const double *mask_row, double main_diagonal_value)
void SparseMatrix_MatrixMatrix_DB(SparseMatrix_ptr< double > C, const_SparseMatrix_ptr< double > A, const_SparseMatrix_ptr< double > B)
Definition: SparseMatrix_MatrixMatrix.cpp:404
#define MATRIX_FORMAT_CSC
Definition: Paso.h:62
@ ReducedDegreesOfFreedom
Definition: Speckley.h:60
void SparseMatrix_MatrixMatrixTranspose_BD(SparseMatrix_ptr< double > C, const_SparseMatrix_ptr< double > A, const_SparseMatrix_ptr< double > B, const_SparseMatrix_ptr< double > T)
Definition: SparseMatrix_MatrixMatrixTranspose.cpp:729
SparseMatrix_ptr< double > getSubmatrix(dim_t n_row_sub, dim_t n_col_sub, const index_t *row_list, const index_t *new_col_index) const
@ ReducedFaceElements
Definition: Speckley.h:66
void SparseMatrix_MatrixMatrix_BD(SparseMatrix_ptr< double > C, const_SparseMatrix_ptr< double > A, const_SparseMatrix_ptr< double > B)
Definition: SparseMatrix_MatrixMatrix.cpp:640
SparseMatrix_ptr< double > getBlock(int blockid) const
void SparseMatrix_MatrixMatrixTranspose_DD(SparseMatrix_ptr< double > C, const_SparseMatrix_ptr< double > A, const_SparseMatrix_ptr< double > B, const_SparseMatrix_ptr< double > T)
Definition: SparseMatrix_MatrixMatrixTranspose.cpp:1010
void SparseMatrix_MatrixMatrix_BB(SparseMatrix_ptr< double > C, const_SparseMatrix_ptr< double > A, const_SparseMatrix_ptr< double > B)
Definition: SparseMatrix_MatrixMatrix.cpp:98
#define SPECKLEY_ELEMENTS
Definition: Speckley.h:50
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
#define MATRIX_FORMAT_OFFSET1
Definition: Paso.h:64
Definition: AbstractAssembler.cpp:19
void SparseMatrix_MatrixMatrix_DD(SparseMatrix_ptr< double > C, const_SparseMatrix_ptr< double > A, const_SparseMatrix_ptr< double > B)
Definition: SparseMatrix_MatrixMatrix.cpp:873
static dim_t nz
Definition: SparseMatrix_saveHB.cpp:37
boost::shared_ptr< const SparseMatrix< T > > const_SparseMatrix_ptr
Definition: SparseMatrix.h:38
int comparIndex(const void *index1, const void *index2)
this int-comparison function is used by qsort/bsearch in various places
Definition: PasoUtil.cpp:25
index_t dim_t
Definition: DataTypes.h:66
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
void SparseMatrix_MatrixMatrixTranspose_DB(SparseMatrix_ptr< double > C, const_SparseMatrix_ptr< double > A, const_SparseMatrix_ptr< double > B, const_SparseMatrix_ptr< double > T)
Definition: SparseMatrix_MatrixMatrixTranspose.cpp:448
void saveHB_CSC(const char *filename) const
std::pair< index_t, index_t > IndexPair
Definition: Speckley.h:43
@ ReducedElements
Definition: Speckley.h:64
int SparseMatrixType
Definition: SparseMatrix.h:40
@ FaceElements
Definition: Speckley.h:65
#define SPECKLEY_REDUCED_ELEMENTS
Definition: Speckley.h:55
#define SPECKLEY_REDUCED_FACE_ELEMENTS
Definition: Speckley.h:56
#define SPECKLEY_NODES
Definition: Speckley.h:49
@ DegreesOfFreedom
Definition: Speckley.h:59
#define SPECKLEY_REDUCED_NODES
Definition: Speckley.h:54
@ Elements
Definition: Speckley.h:63
static void generate_HB(std::ofstream &, dim_t *, dim_t *, const double *)
Definition: SparseMatrix_saveHB.cpp:132
@ ReducedNodes
Definition: Speckley.h:62
static int calc_digits(int)
Definition: SparseMatrix_saveHB.cpp:45
void BlockOps_Cpy_N(dim_t N, double *R, const double *V)
Definition: BlockOps.h:40
PasoException exception class.
Definition: PasoException.h:34
static void print_data(std::ofstream &, int, int, int, char *, const void *, int, int)
Definition: SparseMatrix_saveHB.cpp:86
#define SPECKLEY_FACE_ELEMENTS
Definition: Speckley.h:51
int index_t
type for array/matrix indices used both globally and on each rank
Definition: DataTypes.h:61
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
#define SPECKLEY_DEGREES_OF_FREEDOM
Definition: Speckley.h:48
void nullifyRows_CSR(const double *mask_row, double main_diagonal_value)
static dim_t M
Definition: SparseMatrix_saveHB.cpp:37
@ Points
Definition: Speckley.h:67
boost::shared_ptr< Pattern > Pattern_ptr
Definition: Pattern.h:39
SparseMatrix_ptr< double > SparseMatrix_MatrixMatrix(const_SparseMatrix_ptr< double > A, const_SparseMatrix_ptr< double > B)
Definition: SparseMatrix_MatrixMatrix.cpp:44
std::vector< index_t > IndexVector
Definition: Speckley.h:44
static void fmt_str(int, int, int *, int *, int *, char *, char *)
Definition: SparseMatrix_saveHB.cpp:59
SparseMatrix_ptr< double > SparseMatrix_MatrixMatrixTranspose(const_SparseMatrix_ptr< double > A, const_SparseMatrix_ptr< double > B, const_SparseMatrix_ptr< double > T)
Definition: SparseMatrix_MatrixMatrixTranspose.cpp:52
#define SPECKLEY_REDUCED_DEGREES_OF_FREEDOM
Definition: Speckley.h:53
Definition: BiCGStab.cpp:25
std::complex< real_t > cplx_t
complex data type
Definition: DataTypes.h:55
Definition: SparseMatrix.h:45
const double point_locations[][11]
Definition: Speckley.h:71
#define MATRIX_FORMAT_DEFAULT
Definition: Paso.h:61
#define MATRIX_FORMAT_DIAGONAL_BLOCK
Definition: Paso.h:65
void SparseMatrix_MatrixMatrixTranspose_BB(SparseMatrix_ptr< double > C, const_SparseMatrix_ptr< double > A, const_SparseMatrix_ptr< double > B, const_SparseMatrix_ptr< double > T)
Definition: SparseMatrix_MatrixMatrixTranspose.cpp:104
@ Nodes
Definition: Speckley.h:61