Go to the documentation of this file.
30 #ifndef __PASO_OPTIONS_H__
31 #define __PASO_OPTIONS_H__
35 #include <boost/python/object.hpp>
38 #define PASO_DEFAULT 0
40 #define PASO_CHOLEVSKY 2
44 #define PASO_BICGSTAB 6
47 #define PASO_JACOBI 10
49 #define PASO_PRES20 12
51 #define PASO_UMFPACK 16
52 #define PASO_NO_REORDERING 17
53 #define PASO_MINIMUM_FILL_IN 18
54 #define PASO_NESTED_DISSECTION 19
55 #define PASO_ITERATIVE 20
58 #define PASO_REC_ILU 23
59 #define PASO_TRILINOS 24
60 #define PASO_NONLINEAR_GMRES 25
62 #define PASO_MINRES 27
63 #define PASO_GAUSS_SEIDEL 28
64 #define PASO_GS PASO_GAUSS_SEIDEL
66 #define PASO_DEFAULT_REORDERING 30
67 #define PASO_NO_PRECONDITIONER 36
68 #define PASO_CLASSIC_INTERPOLATION_WITH_FF_COUPLING 50
69 #define PASO_CLASSIC_INTERPOLATION 51
70 #define PASO_DIRECT_INTERPOLATION 52
71 #define PASO_LINEAR_CRANK_NICOLSON 66
72 #define PASO_CRANK_NICOLSON 67
73 #define PASO_BACKWARD_EULER 68
75 #define PASO_SMOOTHER 99999999
84 Options(
const boost::python::object& options);
93 void showDiagnostics()
const;
96 void updateEscriptDiagnostics(boost::python::object& options)
const;
99 static int mapEscriptOption(
int escriptOption);
101 static const char* name(
int key);
103 static int getPackage(
int solver,
int package,
bool symmetry,
107 static int getSolver(
int solver,
int package,
bool symmetry,
153 #endif // __PASO_OPTIONS_H__
double getDropTolerance() const
Definition: SolverOptions.cpp:650
void show() const
prints current option values
Definition: Options.cpp:121
@ SO_REORDERING_NONE
Definition: SolverOptions.h:141
Definition: SolverOptions.h:161
#define PASO_TRILINOS
Definition: Options.h:59
#define PASO_CR
Definition: Options.h:42
Options()
Definition: Options.h:81
#define PASO_DIRECT
Definition: Options.h:39
void setDefaults()
sets the default values for solver options
Definition: Options.cpp:61
#define PASO_DLL_API
Definition: paso/src/system_dep.h:29
dim_t num_level
Definition: Options.h:136
#define PASO_GAUSS_SEIDEL
Definition: Options.h:63
@ SO_METHOD_GMRES
Definition: SolverOptions.h:107
bool useLocalPreconditioner() const
Definition: SolverOptions.cpp:804
double preconditioner_size
Definition: Options.h:145
#define PASO_ILUT
Definition: Options.h:46
bool accept_failed_convergence
Definition: Options.h:128
int package
Definition: Options.h:111
#define PASO_DEFAULT
Definition: Options.h:38
double getTolerance() const
Definition: SolverOptions.cpp:614
@ SO_METHOD_DIRECT
Definition: SolverOptions.h:102
#define PASO_RILU
Definition: Options.h:65
static int getSolver(int solver, int package, bool symmetry, const escript::JMPI &mpi_info)
returns the solver to be used with given combination
Definition: Options.cpp:221
double getAbsoluteTolerance() const
Definition: SolverOptions.cpp:626
@ SO_ODESOLVER_BACKWARD_EULER
Definition: SolverOptions.h:129
int getTruncation() const
Definition: SolverOptions.cpp:566
void showDiagnostics() const
prints diagnostic data
Definition: Options.cpp:104
bool time_step_backtracking_used
Definition: Options.h:146
#define PASO_ILU0
Definition: Options.h:45
@ SO_PRECONDITIONER_ILU0
Definition: SolverOptions.h:121
#define PASO_ITERATIVE
Definition: Options.h:55
int getNumSweeps() const
Definition: SolverOptions.cpp:602
double time
Definition: Options.h:138
static int getPackage(int solver, int package, bool symmetry, const escript::JMPI &mpi_info)
Definition: Options.cpp:315
#define PASO_GMRES
Definition: Options.h:48
SolverOptions getSolverMethod() const
Definition: SolverOptions.cpp:441
double tolerance
Definition: Options.h:114
#define SET(__key__, __val__, __type__)
#define PASO_MINIMUM_FILL_IN
Definition: Options.h:53
int getNumRefinements() const
Definition: SolverOptions.cpp:834
static int mapEscriptOption(int escriptOption)
returns the corresponding paso option code for an escript option code
Definition: Options.cpp:360
#define PASO_CRANK_NICOLSON
Definition: Options.h:72
@ SO_ODESOLVER_LINEAR_CRANK_NICOLSON
Definition: SolverOptions.h:131
@ SO_PRECONDITIONER_REC_ILU
Definition: SolverOptions.h:125
@ SO_REORDERING_MINIMUM_FILL_IN
Definition: SolverOptions.h:139
dim_t num_coarse_unknowns
Definition: Options.h:148
#define PASO_PRES20
Definition: Options.h:49
bool hermitian
Definition: Options.h:113
@ SO_PRECONDITIONER_ILUT
Definition: SolverOptions.h:122
bool isHermitian() const
Definition: SolverOptions.cpp:712
double net_time
Definition: Options.h:142
@ SO_METHOD_NONLINEAR_GMRES
Definition: SolverOptions.h:112
#define PASO_MKL
Definition: Options.h:50
#define PASO_NO_REORDERING
Definition: Options.h:52
#define PASO_NO_PRECONDITIONER
Definition: Options.h:67
bool verbose
Definition: Options.h:118
#define PASO_DEFAULT_REORDERING
Definition: Options.h:66
int method
Definition: Options.h:110
bool isVerbose() const
Definition: SolverOptions.cpp:735
@ SO_PACKAGE_PASO
Definition: SolverOptions.h:91
#define PASO_PCG
Definition: Options.h:41
#define PASO_TFQMR
Definition: Options.h:61
@ SO_PACKAGE_MUMPS
Definition: SolverOptions.h:94
index_t truncation
Definition: Options.h:125
index_t dim_t
Definition: DataTypes.h:66
boost::shared_ptr< JMPI_ > JMPI
Definition: EsysMPI.h:74
@ SO_REORDERING_DEFAULT
Definition: SolverOptions.h:138
bool reordering
Definition: Options.h:119
bool acceptConvergenceFailure() const
Definition: SolverOptions.cpp:781
#define PASO_LINEAR_CRANK_NICOLSON
Definition: Options.h:71
bool symmetric
Definition: Options.h:112
double inner_tolerance
Definition: Options.h:116
dim_t refinements
Definition: Options.h:131
double getRelaxationFactor() const
Definition: SolverOptions.cpp:674
dim_t num_inner_iter
Definition: Options.h:137
int getInnerIterMax() const
Definition: SolverOptions.cpp:578
double getInnerTolerance() const
Definition: SolverOptions.cpp:638
int _getRestartForC() const
Definition: SolverOptions.cpp:551
@ SO_ODESOLVER_CRANK_NICOLSON
Definition: SolverOptions.h:130
double drop_storage
Definition: Options.h:124
#define PASO_NONLINEAR_GMRES
Definition: Options.h:60
dim_t iter_max
Definition: Options.h:121
@ SO_METHOD_CGS
Definition: SolverOptions.h:99
void updateEscriptDiagnostics(boost::python::object &options) const
updates SolverBuddy diagnostics from this
Definition: Options.cpp:441
bool converged
Definition: Options.h:144
bool use_local_preconditioner
Definition: Options.h:130
double relaxation_factor
Definition: Options.h:129
#define PASO_PASO
Definition: Options.h:56
double coarse_level_sparsity
Definition: Options.h:147
#define PASO_UMFPACK
Definition: Options.h:51
int getIterMax() const
Definition: SolverOptions.cpp:590
bool adapt_inner_tolerance
Definition: Options.h:117
@ SO_METHOD_ITERATIVE
Definition: SolverOptions.h:109
#define PASO_BICGSTAB
Definition: Options.h:44
SolverOptions getReordering() const
Definition: SolverOptions.cpp:533
bool isSymmetric() const
Definition: SolverOptions.cpp:689
double residual_norm
Definition: Options.h:143
@ SO_REORDERING_NESTED_DISSECTION
Definition: SolverOptions.h:140
@ SO_METHOD_BICGSTAB
Definition: SolverOptions.h:97
SolverOptions getPreconditioner() const
Definition: SolverOptions.cpp:358
int ode_solver
Definition: Options.h:132
double drop_tolerance
Definition: Options.h:123
PasoException exception class.
Definition: PasoException.h:34
#define PASO_MINRES
Definition: Options.h:62
int preconditioner
Definition: Options.h:120
@ SO_METHOD_MINRES
Definition: SolverOptions.h:111
#define PASO_JACOBI
Definition: Options.h:47
int index_t
type for array/matrix indices used both globally and on each rank
Definition: DataTypes.h:61
dim_t inner_iter_max
Definition: Options.h:122
#define PASO_CGS
Definition: Options.h:43
static const char * name(int key)
Definition: Options.cpp:149
@ SO_METHOD_CR
Definition: SolverOptions.h:101
double set_up_time
Definition: Options.h:139
int sweeps
Definition: Options.h:127
#define PASO_MUMPS
Definition: Options.h:57
@ SO_PRECONDITIONER_GAUSS_SEIDEL
Definition: SolverOptions.h:120
@ SO_DEFAULT
Definition: SolverOptions.h:83
@ SO_PRECONDITIONER_NONE
Definition: SolverOptions.h:124
double coarsening_selection_time
Definition: Options.h:140
#define PASO_REC_ILU
Definition: Options.h:58
#define PASO_BACKWARD_EULER
Definition: Options.h:73
#define PASO_NESTED_DISSECTION
Definition: Options.h:54
double absolute_tolerance
Definition: Options.h:115
@ SO_PRECONDITIONER_RILU
Definition: SolverOptions.h:126
@ SO_PACKAGE_TRILINOS
Definition: SolverOptions.h:92
bool adaptInnerTolerance() const
Definition: SolverOptions.cpp:758
Definition: BiCGStab.cpp:25
double coarsening_matrix_time
Definition: Options.h:141
@ SO_PACKAGE_MKL
Definition: SolverOptions.h:90
@ SO_PRECONDITIONER_JACOBI
Definition: SolverOptions.h:123
@ SO_METHOD_PRES20
Definition: SolverOptions.h:114
double getDropStorage() const
Definition: SolverOptions.cpp:662
@ SO_PACKAGE_UMFPACK
Definition: SolverOptions.h:93
@ SO_METHOD_TFQMR
Definition: SolverOptions.h:116
@ SO_METHOD_PCG
Definition: SolverOptions.h:113
SolverOptions getODESolver() const
Definition: SolverOptions.cpp:853
#define PASO_CHOLEVSKY
Definition: Options.h:40
dim_t num_iter
Definition: Options.h:135
index_t restart
Definition: Options.h:126
@ SO_METHOD_CHOLEVSKY
Definition: SolverOptions.h:100
Options(const boost::python::object &options)
constructor that fills values from an escript SolverBuddy instance