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,
index_t dim_t
Definition: DataTypes.h:66
int index_t
type for array/matrix indices used both globally and on each rank
Definition: DataTypes.h:61
boost::shared_ptr< JMPI_ > JMPI
Definition: EsysMPI.h:74
Definition: BiCGStab.cpp:25
#define PASO_DLL_API
Definition: paso/src/system_dep.h:29
double absolute_tolerance
Definition: Options.h:115
dim_t inner_iter_max
Definition: Options.h:122
bool reordering
Definition: Options.h:119
dim_t num_iter
Definition: Options.h:135
dim_t num_inner_iter
Definition: Options.h:137
double coarsening_matrix_time
Definition: Options.h:141
Options()
Definition: Options.h:81
dim_t iter_max
Definition: Options.h:121
double relaxation_factor
Definition: Options.h:129
bool converged
Definition: Options.h:144
bool adapt_inner_tolerance
Definition: Options.h:117
double drop_tolerance
Definition: Options.h:123
bool verbose
Definition: Options.h:118
bool time_step_backtracking_used
Definition: Options.h:146
int preconditioner
Definition: Options.h:120
double set_up_time
Definition: Options.h:139
bool accept_failed_convergence
Definition: Options.h:128
double residual_norm
Definition: Options.h:143
int package
Definition: Options.h:111
double preconditioner_size
Definition: Options.h:145
double net_time
Definition: Options.h:142
index_t truncation
Definition: Options.h:125
double inner_tolerance
Definition: Options.h:116
double drop_storage
Definition: Options.h:124
double time
Definition: Options.h:138
double tolerance
Definition: Options.h:114
int method
Definition: Options.h:110
int sweeps
Definition: Options.h:127
dim_t refinements
Definition: Options.h:131
dim_t num_coarse_unknowns
Definition: Options.h:148
int ode_solver
Definition: Options.h:132
double coarse_level_sparsity
Definition: Options.h:147
bool use_local_preconditioner
Definition: Options.h:130
bool symmetric
Definition: Options.h:112
Options(const boost::python::object &options)
constructor that fills values from an escript SolverBuddy instance
dim_t num_level
Definition: Options.h:136
double coarsening_selection_time
Definition: Options.h:140
index_t restart
Definition: Options.h:126
bool hermitian
Definition: Options.h:113