17 #ifndef __ESCRIPT_SOLVEROPTIONS_H__ 18 #define __ESCRIPT_SOLVEROPTIONS_H__ 20 #include <boost/python/dict.hpp> 21 #include <boost/python/object.hpp> 193 std::string getSummary()
const;
200 const char* getName(
int key)
const;
208 void resetDiagnostics(
bool all=
false);
218 void updateDiagnosticsPy(
const std::string& key,
219 const boost::python::object& value);
221 void updateDiagnostics(
const std::string& key,
bool value);
222 void updateDiagnostics(
const std::string& key,
int value);
223 void updateDiagnostics(
const std::string& key,
double value);
253 double getDiagnostics(
const std::string name)
const;
262 bool hasConverged()
const;
275 void setCoarsening(
int coarsening);
288 void setMinCoarseMatrixSize(
int size);
293 int getMinCoarseMatrixSize()
const;
309 void setPreconditioner(
int preconditioner);
326 void setSmoother(
int smoother);
353 void setSolverMethod(
int method);
370 void setSolverTarget(
int target);
389 void setPackage(
int package);
405 void setReordering(
int ordering);
420 void setRestart(
int restart);
426 int getRestart()
const;
432 int _getRestartForC()
const;
438 void setDiagonalDominanceThreshold(
double threshold);
444 double getDiagonalDominanceThreshold()
const;
451 void setTruncation(
int truncation);
457 int getTruncation()
const;
464 void setInnerIterMax(
int iter_max);
469 int getInnerIterMax()
const;
476 void setIterMax(
int iter_max);
481 int getIterMax()
const;
489 void setLevelMax(
int level_max);
495 int getLevelMax()
const;
503 void setCycleType(
int cycle_type);
509 int getCycleType()
const;
517 void setCoarseningThreshold(
double theta);
523 double getCoarseningThreshold()
const;
531 void setNumSweeps(
int sweeps);
537 int getNumSweeps()
const;
545 void setNumPreSweeps(
int sweeps);
551 int getNumPreSweeps()
const;
559 void setNumPostSweeps(
int sweeps);
565 int getNumPostSweeps()
const;
572 void setTolerance(
double rtol);
577 double getTolerance()
const;
584 void setAbsoluteTolerance(
double atol);
589 double getAbsoluteTolerance()
const;
597 void setInnerTolerance(
double rtol);
602 double getInnerTolerance()
const;
609 void setDropTolerance(
double drop_tol);
614 double getDropTolerance()
const;
623 void setDropStorage(
double drop);
628 double getDropStorage()
const;
637 void setRelaxationFactor(
double factor);
643 double getRelaxationFactor()
const;
650 bool isComplex()
const;
657 void setComplex(
bool complex);
664 bool isSymmetric()
const;
670 void setSymmetryOn();
675 void setSymmetryOff();
682 void setSymmetry(
bool symmetry);
689 bool isVerbose()
const;
694 void setVerbosityOn();
699 void setVerbosityOff();
706 void setVerbosity(
bool verbose);
715 bool adaptInnerTolerance()
const;
720 void setInnerToleranceAdaptionOn();
725 void setInnerToleranceAdaptionOff();
732 void setInnerToleranceAdaption(
bool adaption);
744 bool acceptConvergenceFailure()
const;
749 void setAcceptanceConvergenceFailureOn();
754 void setAcceptanceConvergenceFailureOff();
762 void setAcceptanceConvergenceFailure(
bool acceptance);
770 bool useLocalPreconditioner()
const;
775 void setLocalPreconditionerOn();
780 void setLocalPreconditionerOff();
788 void setLocalPreconditioner(
bool local);
796 void setMinCoarseMatrixSparsity(
double sparsity);
805 double getMinCoarseMatrixSparsity()
const;
813 void setNumRefinements(
int refinements);
819 int getNumRefinements()
const;
827 void setNumCoarseMatrixRefinements(
int refinements);
833 int getNumCoarseMatrixRefinements()
const;
840 bool usePanel()
const;
845 void setUsePanelOn();
850 void setUsePanelOff();
858 void setUsePanel(
bool use);
868 void setAMGInterpolation(
int interpolation);
882 void setODESolver(
int solver);
898 void setTrilinosParameter(
const std::string& name,
899 const boost::python::object& value);
905 boost::python::dict getTrilinosParameters()
const;
967 typedef boost::shared_ptr<SolverBuddy>
SB_ptr;
971 #endif // __ESCRIPT_SOLVEROPTIONS_H__ Definition: SolverOptions.h:155
Definition: SolverOptions.h:98
int refinements
Definition: SolverOptions.h:942
int restart
Definition: SolverOptions.h:932
boost::python::dict trilinosParams
Definition: SolverOptions.h:908
Definition: SolverOptions.h:184
Definition: SolverOptions.h:119
Definition: SolverOptions.h:102
bool adapt_inner_tolerance
Definition: SolverOptions.h:936
Definition: SolverOptions.h:162
double relaxation
Definition: SolverOptions.h:939
double tolerance
Definition: SolverOptions.h:924
SolverOptions package
Definition: SolverOptions.h:911
Definition: SolverOptions.h:147
SolverOptions
Definition: SolverOptions.h:92
Definition: SolverOptions.h:123
Definition: SolverOptions.h:131
SolverOptions smoother
Definition: SolverOptions.h:915
Definition: AbstractContinuousDomain.cpp:22
int level_max
Definition: SolverOptions.h:919
double cum_set_up_time
Definition: SolverOptions.h:963
Definition: SolverOptions.h:115
Definition: SolverOptions.h:136
int post_sweeps
Definition: SolverOptions.h:923
Definition: SolverOptions.h:139
Definition: SolverOptions.h:159
Definition: SolverOptions.h:111
boost::shared_ptr< SolverBuddy > SB_ptr
Definition: SolverOptions.h:967
double inner_tolerance
Definition: SolverOptions.h:926
Definition: SolverOptions.h:108
Definition: SolverOptions.h:149
int truncation
Definition: SolverOptions.h:931
double residual_norm
Definition: SolverOptions.h:954
Definition: SolverOptions.h:142
Definition: SolverOptions.h:157
int coarse_refinements
Definition: SolverOptions.h:943
Definition: SolverOptions.h:135
Definition: SolverOptions.h:154
Definition: SolverOptions.h:104
int min_coarse_matrix_size
Definition: SolverOptions.h:938
Definition: SolverOptions.h:137
double cum_net_time
Definition: SolverOptions.h:964
Definition: SolverOptions.h:165
Definition: SolverOptions.h:97
bool converged
Definition: SolverOptions.h:955
Definition: SolverOptions.h:164
int cum_num_iter
Definition: SolverOptions.h:961
Definition: SolverOptions.h:124
Definition: SolverOptions.h:112
Definition: SolverOptions.h:101
Definition: SolverOptions.h:109
Definition: SolverOptions.h:114
Definition: SolverOptions.h:138
int cum_num_inner_iter
Definition: SolverOptions.h:960
SolverOptions amg_interpolation_method
Definition: SolverOptions.h:918
Definition: SolverOptions.h:118
bool use_panel
Definition: SolverOptions.h:944
Definition: SolverOptions.h:130
bool is_complex
Definition: SolverOptions.h:933
int iter_max
Definition: SolverOptions.h:929
double coarse_level_sparsity
Definition: SolverOptions.h:958
Definition: SolverOptions.h:120
int num_coarse_unknowns
Definition: SolverOptions.h:959
Definition: SolverOptions.h:152
Definition: SolverOptions.h:133
bool symmetric
Definition: SolverOptions.h:934
bool accept_convergence_failure
Definition: SolverOptions.h:937
Definition: SolverOptions.h:132
Definition: SolverOptions.h:126
bool time_step_backtracking_used
Definition: SolverOptions.h:957
Definition: SolverOptions.h:94
double cum_time
Definition: SolverOptions.h:962
double set_up_time
Definition: SolverOptions.h:952
Definition: SolverOptions.h:153
Definition: SolverOptions.h:143
SolverOptions reordering
Definition: SolverOptions.h:916
Definition: SolverOptions.h:110
int inner_iter_max
Definition: SolverOptions.h:930
Definition: SolverOptions.h:122
double absolute_tolerance
Definition: SolverOptions.h:925
Definition: SolverOptions.h:105
SolverOptions target
Definition: SolverOptions.h:910
double drop_storage
Definition: SolverOptions.h:928
SolverOptions coarsening
Definition: SolverOptions.h:917
int num_iter
Definition: SolverOptions.h:948
Definition: SolverOptions.h:113
Definition: SolverOptions.h:134
int num_inner_iter
Definition: SolverOptions.h:950
Definition: SolverOptions.h:103
Definition: SolverOptions.h:156
int pre_sweeps
Definition: SolverOptions.h:922
#define ESCRIPT_DLL_API
Definition: escriptcore/src/system_dep.h:29
double time
Definition: SolverOptions.h:951
bool verbose
Definition: SolverOptions.h:935
Definition: SolverOptions.h:160
Definition: SolverOptions.h:148
int sweeps
Definition: SolverOptions.h:921
SolverOptions preconditioner
Definition: SolverOptions.h:913
double diagonal_dominance_threshold
Definition: SolverOptions.h:945
Definition: SolverOptions.h:127
bool isDirectSolver(const SolverOptions &method)
returns true if the passed solver method refers to a direct solver type
Definition: SolverOptions.h:169
bool use_local_preconditioner
Definition: SolverOptions.h:940
Definition: SolverOptions.h:144
Definition: SolverOptions.h:125
double drop_tolerance
Definition: SolverOptions.h:927
double min_sparsity
Definition: SolverOptions.h:941
SolverOptions ode_solver
Definition: SolverOptions.h:914
Definition: SolverOptions.h:121
double coarsening_threshold
Definition: SolverOptions.h:920
Definition: SolverOptions.h:158
int preconditioner_size
Definition: SolverOptions.h:956
int num_level
Definition: SolverOptions.h:949
Definition: SolverOptions.h:163
double net_time
Definition: SolverOptions.h:953
Definition: SolverOptions.h:117
SolverOptions method
Definition: SolverOptions.h:912
Definition: SolverOptions.h:116
int cycle_type
Definition: SolverOptions.h:946