17 #ifndef __ESCRIPT_SOLVEROPTIONS_H__ 18 #define __ESCRIPT_SOLVEROPTIONS_H__ 20 #include <boost/python/dict.hpp> 21 #include <boost/python/object.hpp> 166 std::string getSummary()
const;
173 const char* getName(
int key)
const;
181 void resetDiagnostics(
bool all=
false);
191 void updateDiagnosticsPy(
const std::string& key,
192 const boost::python::object& value);
194 void updateDiagnostics(
const std::string& key,
bool value);
195 void updateDiagnostics(
const std::string& key,
int value);
196 void updateDiagnostics(
const std::string& key,
double value);
226 double getDiagnostics(
const std::string name)
const;
235 bool hasConverged()
const;
251 void setPreconditioner(
int preconditioner);
278 void setSolverMethod(
int method);
297 void setPackage(
int package);
313 void setReordering(
int ordering);
328 void setRestart(
int restart);
334 int getRestart()
const;
340 int _getRestartForC()
const;
347 void setTruncation(
int truncation);
353 int getTruncation()
const;
360 void setInnerIterMax(
int iter_max);
365 int getInnerIterMax()
const;
372 void setIterMax(
int iter_max);
377 int getIterMax()
const;
385 void setNumSweeps(
int sweeps);
391 int getNumSweeps()
const;
398 void setTolerance(
double rtol);
403 double getTolerance()
const;
410 void setAbsoluteTolerance(
double atol);
415 double getAbsoluteTolerance()
const;
423 void setInnerTolerance(
double rtol);
428 double getInnerTolerance()
const;
435 void setDropTolerance(
double drop_tol);
440 double getDropTolerance()
const;
449 void setDropStorage(
double drop);
454 double getDropStorage()
const;
463 void setRelaxationFactor(
double factor);
469 double getRelaxationFactor()
const;
476 bool isComplex()
const;
483 void setComplex(
bool complex);
490 bool isSymmetric()
const;
496 void setSymmetryOn();
501 void setSymmetryOff();
508 void setSymmetry(
bool symmetry);
515 bool isHermitian()
const;
521 void setHermitianOn();
526 void setHermitianOff();
540 bool isVerbose()
const;
545 void setVerbosityOn();
550 void setVerbosityOff();
557 void setVerbosity(
bool verbose);
566 bool adaptInnerTolerance()
const;
571 void setInnerToleranceAdaptionOn();
576 void setInnerToleranceAdaptionOff();
583 void setInnerToleranceAdaption(
bool adaption);
595 bool acceptConvergenceFailure()
const;
600 void setAcceptanceConvergenceFailureOn();
605 void setAcceptanceConvergenceFailureOff();
613 void setAcceptanceConvergenceFailure(
bool acceptance);
621 bool useLocalPreconditioner()
const;
626 void setLocalPreconditionerOn();
631 void setLocalPreconditionerOff();
639 void setLocalPreconditioner(
bool local);
647 void setNumRefinements(
int refinements);
653 int getNumRefinements()
const;
662 void setODESolver(
int solver);
678 void setTrilinosParameter(
const std::string& name,
679 const boost::python::object& value);
685 boost::python::dict getTrilinosParameters()
const;
690 void setDim(
int dim);
700 bool using_default_method()
const;
754 typedef boost::shared_ptr<SolverBuddy>
SB_ptr;
758 #endif // __ESCRIPT_SOLVEROPTIONS_H__ Definition: SolverOptions.h:85
int refinements
Definition: SolverOptions.h:730
int restart
Definition: SolverOptions.h:721
boost::python::dict trilinosParams
Definition: SolverOptions.h:704
Definition: SolverOptions.h:157
Definition: SolverOptions.h:105
Definition: SolverOptions.h:88
bool adapt_inner_tolerance
Definition: SolverOptions.h:726
Definition: SolverOptions.h:135
double relaxation
Definition: SolverOptions.h:728
double tolerance
Definition: SolverOptions.h:713
int dim
Definition: SolverOptions.h:731
SolverOptions package
Definition: SolverOptions.h:707
Definition: SolverOptions.h:131
SolverOptions
Definition: SolverOptions.h:79
Definition: SolverOptions.h:109
Definition: AbstractContinuousDomain.cpp:22
double cum_set_up_time
Definition: SolverOptions.h:748
Definition: SolverOptions.h:101
Definition: SolverOptions.h:120
Definition: SolverOptions.h:123
Definition: SolverOptions.h:97
boost::shared_ptr< SolverBuddy > SB_ptr
Definition: SolverOptions.h:754
double inner_tolerance
Definition: SolverOptions.h:715
Definition: SolverOptions.h:94
Definition: SolverOptions.h:133
int truncation
Definition: SolverOptions.h:720
double residual_norm
Definition: SolverOptions.h:739
Definition: SolverOptions.h:126
Definition: SolverOptions.h:119
bool using_default_solver_method
Definition: SolverOptions.h:751
Definition: SolverOptions.h:90
Definition: SolverOptions.h:121
double cum_net_time
Definition: SolverOptions.h:749
Definition: SolverOptions.h:138
Definition: SolverOptions.h:84
bool converged
Definition: SolverOptions.h:740
Definition: SolverOptions.h:137
int cum_num_iter
Definition: SolverOptions.h:746
Definition: SolverOptions.h:110
Definition: SolverOptions.h:98
Definition: SolverOptions.h:95
Definition: SolverOptions.h:100
Definition: SolverOptions.h:122
int cum_num_inner_iter
Definition: SolverOptions.h:745
Definition: SolverOptions.h:104
Definition: SolverOptions.h:116
bool is_complex
Definition: SolverOptions.h:722
int iter_max
Definition: SolverOptions.h:718
double coarse_level_sparsity
Definition: SolverOptions.h:743
Definition: SolverOptions.h:106
int num_coarse_unknowns
Definition: SolverOptions.h:744
Definition: SolverOptions.h:117
bool symmetric
Definition: SolverOptions.h:723
bool accept_convergence_failure
Definition: SolverOptions.h:727
Definition: SolverOptions.h:112
void hermitian(const DataTypes::CplxVectorType &in, const DataTypes::ShapeType &inShape, DataTypes::CplxVectorType::size_type inOffset, DataTypes::CplxVectorType &ev, const DataTypes::ShapeType &evShape, DataTypes::CplxVectorType::size_type evOffset)
computes an hermitian matrix from your square matrix A: (A + adjoint(A)) / 2
Definition: DataVectorOps.cpp:915
bool time_step_backtracking_used
Definition: SolverOptions.h:742
Definition: SolverOptions.h:81
double cum_time
Definition: SolverOptions.h:747
double set_up_time
Definition: SolverOptions.h:737
Definition: SolverOptions.h:127
bool hermitian
Definition: SolverOptions.h:724
SolverOptions reordering
Definition: SolverOptions.h:711
Definition: SolverOptions.h:96
int inner_iter_max
Definition: SolverOptions.h:719
Definition: SolverOptions.h:108
double absolute_tolerance
Definition: SolverOptions.h:714
Definition: SolverOptions.h:91
SolverOptions target
Definition: SolverOptions.h:706
double drop_storage
Definition: SolverOptions.h:717
int num_iter
Definition: SolverOptions.h:733
Definition: SolverOptions.h:99
Definition: SolverOptions.h:118
int num_inner_iter
Definition: SolverOptions.h:735
Definition: SolverOptions.h:89
#define ESCRIPT_DLL_API
Definition: escriptcore/src/system_dep.h:29
double time
Definition: SolverOptions.h:736
bool verbose
Definition: SolverOptions.h:725
Definition: SolverOptions.h:132
int sweeps
Definition: SolverOptions.h:712
SolverOptions preconditioner
Definition: SolverOptions.h:709
Definition: SolverOptions.h:113
bool isDirectSolver(const SolverOptions &method)
returns true if the passed solver method refers to a direct solver type
Definition: SolverOptions.h:142
bool use_local_preconditioner
Definition: SolverOptions.h:729
Definition: SolverOptions.h:128
Definition: SolverOptions.h:111
double drop_tolerance
Definition: SolverOptions.h:716
SolverOptions ode_solver
Definition: SolverOptions.h:710
Definition: SolverOptions.h:107
int preconditioner_size
Definition: SolverOptions.h:741
int num_level
Definition: SolverOptions.h:734
Definition: SolverOptions.h:136
double net_time
Definition: SolverOptions.h:738
Definition: SolverOptions.h:103
SolverOptions method
Definition: SolverOptions.h:708
Definition: SolverOptions.h:102