Go to the documentation of this file.
18 #ifndef __ESYS_INDEX_H__
19 #define __ESYS_INDEX_H__
23 #define INDEX2(_X1_,_X2_,_N1_) ((_X1_)+(_N1_)*(_X2_))
25 #define INDEX3(_X1_,_X2_,_X3_,_N1_,_N2_) ((_X1_)+(_N1_)*INDEX2(_X2_,_X3_,_N2_))
27 #define INDEX4(_X1_,_X2_,_X3_,_X4_,_N1_,_N2_,_N3_) ((_X1_)+(_N1_)*INDEX3(_X2_,_X3_,_X4_,_N2_,_N3_))
29 #define INDEX5(_X1_,_X2_,_X3_,_X4_,_X5_,_N1_,_N2_,_N3_,_N4_) ((_X1_)+(_N1_)*INDEX4(_X2_,_X3_,_X4_,_X5_,_N2_,_N3_,_N4_))
31 #define INDEX6(_X1_,_X2_,_X3_,_X4_,_X5_,_X6_,_N1_,_N2_,_N3_,_N4_,_N5_) ((_X1_)+(_N1_)*INDEX5(_X2_,_X3_,_X4_,_X5_,_X6_,_N2_,_N3_,_N4_,_N5_))
33 #endif // __ESYS_INDEX_H__
#define PASO_ONE
Definition: Paso.h:68
boost::shared_ptr< SparseMatrix< T > > SparseMatrix_ptr
Definition: SparseMatrix.h:37
SolverResult derivative(double *J0w, const double *w, const double *f0, const double *x0, double *setoff, Performance *pp)
Definition: Functions.cpp:32
#define INDEX2(_X1_, _X2_, _N1_)
Definition: index.h:23
#define MPI_SUM
Definition: EsysMPI.h:54
ILU preconditioner.
Definition: Preconditioner.h:106
@ InputError
Definition: Paso.h:47
escript::DataTypes::real_t fabs(const escript::DataTypes::cplx_t c)
Definition: ArrayOps.h:643
boost::shared_ptr< SystemMatrix< T > > SystemMatrix_ptr
Definition: SystemMatrix.h:42
SolverResult Solver_GMRES2(Function *F, const double *f0, const double *x0, double *dx, dim_t *iter, double *tolerance, Performance *pp)
Definition: GMRES2.cpp:24
void applyGivensRotations(dim_t n, double *v, const double *c, const double *s)
Definition: PasoUtil.cpp:536
@ Breakdown
Definition: Paso.h:49
void update(dim_t n, double a, double *x, double b, const double *y)
Definition: PasoUtil.cpp:339
double l2(dim_t n, const double *x, escript::JMPI mpiinfo)
returns the global L2 norm of x
Definition: PasoUtil.cpp:501
index_t dim_t
Definition: DataTypes.h:66
Definition: Functions.h:29
SolverResult
Definition: Paso.h:44
@ MaxIterReached
Definition: Paso.h:46
void Solver_ILU_free(Solver_ILU *in)
Definition: ILU.cpp:35
#define MPI_DOUBLE
Definition: EsysMPI.h:49
PasoException exception class.
Definition: PasoException.h:34
double gettime()
returns the current ticks for timing
Definition: EsysMPI.h:192
void Solver_solveILU(SparseMatrix_ptr< double > A, Solver_ILU *ilu, double *x, const double *b)
Definition: ILU.cpp:316
int index_t
type for array/matrix indices used both globally and on each rank
Definition: DataTypes.h:61
SolverResult Solver_GMRES(SystemMatrix_ptr< double > A, double *r, double *x, dim_t *iter, double *tolerance, dim_t Length_of_recursion, dim_t restart, Performance *pp)
Definition: GMRES.cpp:68
void zeroes(dim_t n, double *x)
fills array x with zeroes
Definition: PasoUtil.cpp:319
Solver_ILU * Solver_getILU(SparseMatrix_ptr< double > A, bool verbose)
constructs the incomplete block factorization
Definition: ILU.cpp:44
double * factors
Definition: Preconditioner.h:107
virtual dim_t getLen()=0
returns the length of the vectors used by this function
const escript::JMPI mpi_info
Definition: Functions.h:44
Definition: BiCGStab.cpp:25
@ NoError
Definition: Paso.h:45
double innerProduct(dim_t n, const double *x, const double *y, escript::JMPI mpiinfo)
returns the inner product of global arrays x and y
Definition: PasoUtil.cpp:428
#define PASO_ZERO
Definition: Paso.h:69