17 #ifndef __ESCRIPT_SOLVEROPTIONS_H__ 18 #define __ESCRIPT_SOLVEROPTIONS_H__ 20 #include <boost/python/dict.hpp> 21 #include <boost/python/object.hpp> 191 std::string getSummary()
const;
198 const char* getName(
int key)
const;
206 void resetDiagnostics(
bool all=
false);
216 void updateDiagnosticsPy(
const std::string& key,
217 const boost::python::object& value);
219 void updateDiagnostics(
const std::string& key,
bool value);
220 void updateDiagnostics(
const std::string& key,
int value);
221 void updateDiagnostics(
const std::string& key,
double value);
251 double getDiagnostics(
const std::string name)
const;
260 bool hasConverged()
const;
272 void setCoarsening(
int coarsening);
284 void setMinCoarseMatrixSize(
int size);
289 int getMinCoarseMatrixSize()
const;
305 void setPreconditioner(
int preconditioner);
322 void setSmoother(
int smoother);
349 void setSolverMethod(
int method);
366 void setSolverTarget(
int target);
385 void setPackage(
int package);
401 void setReordering(
int ordering);
416 void setRestart(
int restart);
422 int getRestart()
const;
428 int _getRestartForC()
const;
434 void setDiagonalDominanceThreshold(
double threshold);
440 double getDiagonalDominanceThreshold()
const;
447 void setTruncation(
int truncation);
453 int getTruncation()
const;
460 void setInnerIterMax(
int iter_max);
465 int getInnerIterMax()
const;
472 void setIterMax(
int iter_max);
477 int getIterMax()
const;
485 void setLevelMax(
int level_max);
491 int getLevelMax()
const;
499 void setCycleType(
int cycle_type);
505 int getCycleType()
const;
513 void setCoarseningThreshold(
double theta);
519 double getCoarseningThreshold()
const;
527 void setNumSweeps(
int sweeps);
533 int getNumSweeps()
const;
541 void setNumPreSweeps(
int sweeps);
547 int getNumPreSweeps()
const;
555 void setNumPostSweeps(
int sweeps);
561 int getNumPostSweeps()
const;
568 void setTolerance(
double rtol);
573 double getTolerance()
const;
580 void setAbsoluteTolerance(
double atol);
585 double getAbsoluteTolerance()
const;
593 void setInnerTolerance(
double rtol);
598 double getInnerTolerance()
const;
605 void setDropTolerance(
double drop_tol);
610 double getDropTolerance()
const;
619 void setDropStorage(
double drop);
624 double getDropStorage()
const;
633 void setRelaxationFactor(
double factor);
639 double getRelaxationFactor()
const;
646 bool isComplex()
const;
653 void setComplex(
bool complex);
660 bool isSymmetric()
const;
666 void setSymmetryOn();
671 void setSymmetryOff();
678 void setSymmetry(
bool symmetry);
685 bool isVerbose()
const;
690 void setVerbosityOn();
695 void setVerbosityOff();
702 void setVerbosity(
bool verbose);
711 bool adaptInnerTolerance()
const;
716 void setInnerToleranceAdaptionOn();
721 void setInnerToleranceAdaptionOff();
728 void setInnerToleranceAdaption(
bool adaption);
740 bool acceptConvergenceFailure()
const;
745 void setAcceptanceConvergenceFailureOn();
750 void setAcceptanceConvergenceFailureOff();
758 void setAcceptanceConvergenceFailure(
bool acceptance);
766 bool useLocalPreconditioner()
const;
771 void setLocalPreconditionerOn();
776 void setLocalPreconditionerOff();
784 void setLocalPreconditioner(
bool local);
792 void setMinCoarseMatrixSparsity(
double sparsity);
801 double getMinCoarseMatrixSparsity()
const;
809 void setNumRefinements(
int refinements);
815 int getNumRefinements()
const;
823 void setNumCoarseMatrixRefinements(
int refinements);
829 int getNumCoarseMatrixRefinements()
const;
836 bool usePanel()
const;
841 void setUsePanelOn();
846 void setUsePanelOff();
854 void setUsePanel(
bool use);
864 void setAMGInterpolation(
int interpolation);
878 void setODESolver(
int solver);
894 void setTrilinosParameter(
const std::string& name,
895 const boost::python::object& value);
901 boost::python::dict getTrilinosParameters()
const;
963 typedef boost::shared_ptr<SolverBuddy>
SB_ptr;
967 #endif // __ESCRIPT_SOLVEROPTIONS_H__ Definition: SolverOptions.h:153
Definition: SolverOptions.h:97
int refinements
Definition: SolverOptions.h:938
int restart
Definition: SolverOptions.h:928
boost::python::dict trilinosParams
Definition: SolverOptions.h:904
Definition: SolverOptions.h:182
Definition: SolverOptions.h:118
Definition: SolverOptions.h:101
bool adapt_inner_tolerance
Definition: SolverOptions.h:932
Definition: SolverOptions.h:160
double relaxation
Definition: SolverOptions.h:935
double tolerance
Definition: SolverOptions.h:920
SolverOptions package
Definition: SolverOptions.h:907
Definition: SolverOptions.h:145
SolverOptions
Definition: SolverOptions.h:91
Definition: SolverOptions.h:122
Definition: SolverOptions.h:130
SolverOptions smoother
Definition: SolverOptions.h:911
Definition: AbstractContinuousDomain.cpp:22
int level_max
Definition: SolverOptions.h:915
double cum_set_up_time
Definition: SolverOptions.h:959
Definition: SolverOptions.h:114
Definition: SolverOptions.h:134
int post_sweeps
Definition: SolverOptions.h:919
Definition: SolverOptions.h:137
Definition: SolverOptions.h:157
Definition: SolverOptions.h:110
boost::shared_ptr< SolverBuddy > SB_ptr
Definition: SolverOptions.h:963
double inner_tolerance
Definition: SolverOptions.h:922
Definition: SolverOptions.h:107
Definition: SolverOptions.h:147
int truncation
Definition: SolverOptions.h:927
double residual_norm
Definition: SolverOptions.h:950
Definition: SolverOptions.h:140
Definition: SolverOptions.h:155
int coarse_refinements
Definition: SolverOptions.h:939
Definition: SolverOptions.h:133
Definition: SolverOptions.h:152
Definition: SolverOptions.h:103
int min_coarse_matrix_size
Definition: SolverOptions.h:934
Definition: SolverOptions.h:135
double cum_net_time
Definition: SolverOptions.h:960
Definition: SolverOptions.h:163
Definition: SolverOptions.h:96
bool converged
Definition: SolverOptions.h:951
Definition: SolverOptions.h:162
int cum_num_iter
Definition: SolverOptions.h:957
Definition: SolverOptions.h:123
Definition: SolverOptions.h:111
Definition: SolverOptions.h:100
Definition: SolverOptions.h:108
Definition: SolverOptions.h:113
Definition: SolverOptions.h:136
int cum_num_inner_iter
Definition: SolverOptions.h:956
SolverOptions amg_interpolation_method
Definition: SolverOptions.h:914
Definition: SolverOptions.h:117
bool use_panel
Definition: SolverOptions.h:940
Definition: SolverOptions.h:129
bool is_complex
Definition: SolverOptions.h:929
int iter_max
Definition: SolverOptions.h:925
double coarse_level_sparsity
Definition: SolverOptions.h:954
Definition: SolverOptions.h:119
int num_coarse_unknowns
Definition: SolverOptions.h:955
Definition: SolverOptions.h:150
Definition: SolverOptions.h:131
bool symmetric
Definition: SolverOptions.h:930
bool accept_convergence_failure
Definition: SolverOptions.h:933
Definition: SolverOptions.h:125
bool time_step_backtracking_used
Definition: SolverOptions.h:953
Definition: SolverOptions.h:93
double cum_time
Definition: SolverOptions.h:958
double set_up_time
Definition: SolverOptions.h:948
Definition: SolverOptions.h:151
Definition: SolverOptions.h:141
SolverOptions reordering
Definition: SolverOptions.h:912
Definition: SolverOptions.h:109
int inner_iter_max
Definition: SolverOptions.h:926
Definition: SolverOptions.h:121
double absolute_tolerance
Definition: SolverOptions.h:921
Definition: SolverOptions.h:104
SolverOptions target
Definition: SolverOptions.h:906
double drop_storage
Definition: SolverOptions.h:924
SolverOptions coarsening
Definition: SolverOptions.h:913
int num_iter
Definition: SolverOptions.h:944
Definition: SolverOptions.h:112
Definition: SolverOptions.h:132
int num_inner_iter
Definition: SolverOptions.h:946
Definition: SolverOptions.h:102
Definition: SolverOptions.h:154
int pre_sweeps
Definition: SolverOptions.h:918
#define ESCRIPT_DLL_API
Definition: escriptcore/src/system_dep.h:29
double time
Definition: SolverOptions.h:947
bool verbose
Definition: SolverOptions.h:931
Definition: SolverOptions.h:158
Definition: SolverOptions.h:146
int sweeps
Definition: SolverOptions.h:917
SolverOptions preconditioner
Definition: SolverOptions.h:909
double diagonal_dominance_threshold
Definition: SolverOptions.h:941
Definition: SolverOptions.h:126
bool isDirectSolver(const SolverOptions &method)
returns true if the passed solver method refers to a direct solver type
Definition: SolverOptions.h:167
bool use_local_preconditioner
Definition: SolverOptions.h:936
Definition: SolverOptions.h:142
Definition: SolverOptions.h:124
double drop_tolerance
Definition: SolverOptions.h:923
double min_sparsity
Definition: SolverOptions.h:937
SolverOptions ode_solver
Definition: SolverOptions.h:910
Definition: SolverOptions.h:120
double coarsening_threshold
Definition: SolverOptions.h:916
Definition: SolverOptions.h:156
int preconditioner_size
Definition: SolverOptions.h:952
int num_level
Definition: SolverOptions.h:945
Definition: SolverOptions.h:161
double net_time
Definition: SolverOptions.h:949
Definition: SolverOptions.h:116
SolverOptions method
Definition: SolverOptions.h:908
Definition: SolverOptions.h:115
int cycle_type
Definition: SolverOptions.h:942