escript  Revision_
SolverOptions.h
Go to the documentation of this file.
1 
2 /******************************************************************************
3 *
4 * Copyright (c) 2003-2020 by The University of Queensland
5 * http://www.uq.edu.au
6 *
7 * Primary Business: Queensland, Australia
8 * Licensed under the Apache License, version 2.0
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12 * Development 2012-2013 by School of Earth Sciences
13 * Development from 2014-2017 by Centre for Geoscience Computing (GeoComp)
14 * Development from 2019 by School of Earth and Environmental Sciences
15 **
16 *****************************************************************************/
17 
18 #ifndef __ESCRIPT_SOLVEROPTIONS_H__
19 #define __ESCRIPT_SOLVEROPTIONS_H__
20 
21 #include <boost/python/dict.hpp>
22 #include <boost/python/object.hpp>
23 #include "system_dep.h"
24 
25 namespace escript {
26 
81 {
83 
84  // Solver targets
87 
88  // Solver packages
93 
94  // Solver methods
115 
116  // Preconditioners
125 
126  // ODE solvers
130 
131  // Interpolation methods
135 
140 };
141 
143 inline bool isDirectSolver(const SolverOptions& method)
144 {
145  switch (method) {
146  case SO_METHOD_DIRECT:
151  return true;
152  default:
153  break;
154  }
155  return false;
156 }
157 
159 {
160 public:
161  SolverBuddy();
162  ~SolverBuddy();
163 
167  std::string getSummary() const;
168 
174  const char* getName(int key) const;
175 
182  void resetDiagnostics(bool all=false);
183 
192  void updateDiagnosticsPy(const std::string& key,
193  const boost::python::object& value);
194 
195  void updateDiagnostics(const std::string& key, bool value);
196  void updateDiagnostics(const std::string& key, int value);
197  void updateDiagnostics(const std::string& key, double value);
198 
227  double getDiagnostics(const std::string name) const;
228 
236  bool hasConverged() const;
237 
252  void setPreconditioner(int preconditioner);
253 
257  SolverOptions getPreconditioner() const;
258 
279  void setSolverMethod(int method);
280 
284  SolverOptions getSolverMethod() const;
285 
298  void setPackage(int package);
299 
303  SolverOptions getPackage() const;
304 
314  void setReordering(int ordering);
315 
320  SolverOptions getReordering() const;
321 
329  void setRestart(int restart);
330 
335  int getRestart() const;
336 
341  int _getRestartForC() const;
342 
348  void setTruncation(int truncation);
349 
354  int getTruncation() const;
355 
361  void setInnerIterMax(int iter_max);
362 
366  int getInnerIterMax() const;
367 
373  void setIterMax(int iter_max);
374 
378  int getIterMax() const;
379 
386  void setNumSweeps(int sweeps);
387 
392  int getNumSweeps() const;
393 
399  void setTolerance(double rtol);
400 
404  double getTolerance() const;
405 
411  void setAbsoluteTolerance(double atol);
412 
416  double getAbsoluteTolerance() const;
417 
424  void setInnerTolerance(double rtol);
425 
429  double getInnerTolerance() const;
430 
436  void setDropTolerance(double drop_tol);
437 
441  double getDropTolerance() const;
442 
450  void setDropStorage(double drop);
451 
455  double getDropStorage() const;
456 
464  void setRelaxationFactor(double factor);
465 
470  double getRelaxationFactor() const;
471 
477  bool isComplex() const;
478 
484  void setComplex(bool complex);
485 
491  bool isSymmetric() const;
492 
497  void setSymmetryOn();
498 
502  void setSymmetryOff();
503 
509  void setSymmetry(bool symmetry);
510 
516  bool isHermitian() const;
517 
522  void setHermitianOn();
523 
527  void setHermitianOff();
528 
534  void setHermitian(bool hermitian);
535 
541  bool isVerbose() const;
542 
546  void setVerbosityOn();
547 
551  void setVerbosityOff();
552 
558  void setVerbosity(bool verbose);
559 
567  bool adaptInnerTolerance() const;
568 
572  void setInnerToleranceAdaptionOn();
573 
577  void setInnerToleranceAdaptionOff();
578 
584  void setInnerToleranceAdaption(bool adaption);
585 
596  bool acceptConvergenceFailure() const;
597 
601  void setAcceptanceConvergenceFailureOn();
602 
606  void setAcceptanceConvergenceFailureOff();
607 
614  void setAcceptanceConvergenceFailure(bool acceptance);
615 
622  bool useLocalPreconditioner() const;
623 
627  void setLocalPreconditionerOn();
628 
632  void setLocalPreconditionerOff();
633 
640  void setLocalPreconditioner(bool local);
641 
648  void setNumRefinements(int refinements);
649 
654  int getNumRefinements() const;
655 
663  void setODESolver(int solver);
664 
668  SolverOptions getODESolver() const;
669 
679  void setTrilinosParameter(const std::string& name,
680  const boost::python::object& value);
681 
686  boost::python::dict getTrilinosParameters() const;
687 
691  void setDim(int dim);
692 
696  int getDim();
697 
701  bool using_default_method() const;
702 
703 
704 protected:
705  boost::python::dict trilinosParams;
706 
713  int sweeps;
714  double tolerance;
718  double drop_storage;
719  int iter_max;
722  int restart; //0 will have to be None in python, will get tricky
724  bool symmetric;
725  bool hermitian;
726  bool verbose;
729  double relaxation;
732  int dim; // Dimension of the problem, either 2 or 3. Used internally
733 
734  int num_iter;
737  double time;
738  double set_up_time;
739  double net_time;
741  bool converged;
748  double cum_time;
750  double cum_net_time;
751 
753 };
754 
755 typedef boost::shared_ptr<SolverBuddy> SB_ptr;
756 
757 } // namespace escript
758 
759 #endif // __ESCRIPT_SOLVEROPTIONS_H__
760 
escript::SolverBuddy::setAcceptanceConvergenceFailure
void setAcceptanceConvergenceFailure(bool acceptance)
Definition: SolverOptions.cpp:755
escript::SO_INTERPOLATION_CLASSIC_WITH_FF_COUPLING
@ SO_INTERPOLATION_CLASSIC_WITH_FF_COUPLING
Definition: SolverOptions.h:133
escript::SolverBuddy::getDropTolerance
double getDropTolerance() const
Definition: SolverOptions.cpp:609
escript::SolverOptions
SolverOptions
Definition: SolverOptions.h:81
escript::SO_REORDERING_NONE
@ SO_REORDERING_NONE
Definition: SolverOptions.h:139
ESCRIPT_DLL_API
#define ESCRIPT_DLL_API
Definition: escriptcore/src/system_dep.h:30
escript::SolverBuddy::iter_max
int iter_max
Definition: SolverOptions.h:719
escript::SolverBuddy
Definition: SolverOptions.h:159
PASO_ONE
#define PASO_ONE
Definition: Paso.h:68
escript::SolverBuddy::setInnerToleranceAdaptionOff
void setInnerToleranceAdaptionOff()
Definition: SolverOptions.cpp:727
escript::SolverBuddy::setDropStorage
void setDropStorage(double drop)
Definition: SolverOptions.cpp:614
escript::SolverBuddy::reordering
SolverOptions reordering
Definition: SolverOptions.h:712
escript::SO_METHOD_GMRES
@ SO_METHOD_GMRES
Definition: SolverOptions.h:105
escript::SolverBuddy::set_up_time
double set_up_time
Definition: SolverOptions.h:738
escript::SolverBuddy::accept_convergence_failure
bool accept_convergence_failure
Definition: SolverOptions.h:728
escript::SolverBuddy::hasConverged
bool hasConverged() const
Definition: SolverOptions.cpp:326
escript::SolverBuddy::getDiagnostics
double getDiagnostics(const std::string name) const
Definition: SolverOptions.cpp:306
escript::SolverBuddy::useLocalPreconditioner
bool useLocalPreconditioner() const
Definition: SolverOptions.cpp:763
escript::SolverBuddy::updateDiagnostics
void updateDiagnostics(const std::string &key, bool value)
Definition: SolverOptions.cpp:204
escript::SO_METHOD_DIRECT_TRILINOS
@ SO_METHOD_DIRECT_TRILINOS
Definition: SolverOptions.h:104
escript::SO_METHOD_HRZ_LUMPING
@ SO_METHOD_HRZ_LUMPING
Definition: SolverOptions.h:106
escript::SolverBuddy::getDim
int getDim()
Definition: SolverOptions.cpp:837
escript::SolverBuddy::setTruncation
void setTruncation(int truncation)
Definition: SolverOptions.cpp:518
escript::SolverBuddy::inner_iter_max
int inner_iter_max
Definition: SolverOptions.h:720
escript::SO_METHOD_LSQR
@ SO_METHOD_LSQR
Definition: SolverOptions.h:108
escript::SolverBuddy::setVerbosityOff
void setVerbosityOff()
Definition: SolverOptions.cpp:704
escript::SolverBuddy::getTolerance
double getTolerance() const
Definition: SolverOptions.cpp:573
escript::SolverBuddy::sweeps
int sweeps
Definition: SolverOptions.h:713
escript::SO_METHOD_DIRECT_SUPERLU
@ SO_METHOD_DIRECT_SUPERLU
Definition: SolverOptions.h:103
escript::SolverBuddy::target
SolverOptions target
Definition: SolverOptions.h:707
escript::SolverBuddy::drop_storage
double drop_storage
Definition: SolverOptions.h:718
escript::SO_METHOD_DIRECT
@ SO_METHOD_DIRECT
Definition: SolverOptions.h:100
escript::SolverBuddy::getSummary
std::string getSummary() const
Definition: SolverOptions.cpp:75
escript::SolverBuddy::time
double time
Definition: SolverOptions.h:737
escript::SolverBuddy::getAbsoluteTolerance
double getAbsoluteTolerance() const
Definition: SolverOptions.cpp:585
escript::SolverBuddy::num_coarse_unknowns
int num_coarse_unknowns
Definition: SolverOptions.h:745
escript::SO_ODESOLVER_BACKWARD_EULER
@ SO_ODESOLVER_BACKWARD_EULER
Definition: SolverOptions.h:127
escript::SolverBuddy::setAcceptanceConvergenceFailureOn
void setAcceptanceConvergenceFailureOn()
Definition: SolverOptions.cpp:745
paso::LinearSystem::n
dim_t n
Definition: Functions.h:59
escript::SolverBuddy::getTruncation
int getTruncation() const
Definition: SolverOptions.cpp:525
escript::SolverBuddy::symmetric
bool symmetric
Definition: SolverOptions.h:724
escript::SO_PRECONDITIONER_ILU0
@ SO_PRECONDITIONER_ILU0
Definition: SolverOptions.h:119
escript::SolverBuddy::~SolverBuddy
~SolverBuddy()
Definition: SolverOptions.cpp:70
escript::SolverBuddy::getPackage
SolverOptions getPackage() const
Definition: SolverOptions.cpp:472
escript::SolverBuddy::resetDiagnostics
void resetDiagnostics(bool all=false)
Definition: SolverOptions.cpp:181
escript::SolverBuddy::getNumSweeps
int getNumSweeps() const
Definition: SolverOptions.cpp:561
escript::SolverBuddy::setReordering
void setReordering(int ordering)
Definition: SolverOptions.cpp:477
escript::symmetric
void symmetric(const VEC &in, const DataTypes::ShapeType &inShape, typename VEC::size_type inOffset, VEC &ev, const DataTypes::ShapeType &evShape, typename VEC::size_type evOffset)
computes a symmetric matrix from your square matrix A: (A + transpose(A)) / 2
Definition: DataVectorOps.h:103
escript::SolverBuddy::time_step_backtracking_used
bool time_step_backtracking_used
Definition: SolverOptions.h:743
paso::SystemMatrix_ptr
boost::shared_ptr< SystemMatrix > SystemMatrix_ptr
Definition: SystemMatrix.h:41
escript::SolverBuddy::setSymmetryOn
void setSymmetryOn()
Definition: SolverOptions.cpp:653
escript::SolverBuddy::num_iter
int num_iter
Definition: SolverOptions.h:734
escript::SolverBuddy::getSolverMethod
SolverOptions getSolverMethod() const
Definition: SolverOptions.cpp:409
escript::SolverBuddy::absolute_tolerance
double absolute_tolerance
Definition: SolverOptions.h:715
convert
bool convert(bp::object bpo, R &result)
Definition: SolverOptions.cpp:26
escript::SolverBuddy::cum_time
double cum_time
Definition: SolverOptions.h:748
escript::SolverBuddy::getNumRefinements
int getNumRefinements() const
Definition: SolverOptions.cpp:793
escript::SolverBuddy::num_inner_iter
int num_inner_iter
Definition: SolverOptions.h:736
escript::SolverBuddy::setRestart
void setRestart(int restart)
Definition: SolverOptions.cpp:497
escript::SO_ODESOLVER_LINEAR_CRANK_NICOLSON
@ SO_ODESOLVER_LINEAR_CRANK_NICOLSON
Definition: SolverOptions.h:129
escript::SolverBuddy::use_local_preconditioner
bool use_local_preconditioner
Definition: SolverOptions.h:730
escript::SolverBuddy::setSymmetryOff
void setSymmetryOff()
Definition: SolverOptions.cpp:658
escript::SO_PRECONDITIONER_REC_ILU
@ SO_PRECONDITIONER_REC_ILU
Definition: SolverOptions.h:123
escript::SO_REORDERING_MINIMUM_FILL_IN
@ SO_REORDERING_MINIMUM_FILL_IN
Definition: SolverOptions.h:137
escript::SB_ptr
boost::shared_ptr< SolverBuddy > SB_ptr
Definition: SolverOptions.h:755
escript::SolverBuddy::hermitian
bool hermitian
Definition: SolverOptions.h:725
paso::LinearSystem::tmp
double * tmp
Definition: Functions.h:57
escript::SO_PRECONDITIONER_ILUT
@ SO_PRECONDITIONER_ILUT
Definition: SolverOptions.h:120
escript::SolverBuddy::isHermitian
bool isHermitian() const
Definition: SolverOptions.cpp:671
escript::SolverBuddy::isComplex
bool isComplex() const
Definition: SolverOptions.cpp:638
escript::SolverBuddy::setHermitianOn
void setHermitianOn()
Definition: SolverOptions.cpp:676
escript::SolverBuddy::num_level
int num_level
Definition: SolverOptions.h:735
escript::SolverBuddy::updateDiagnosticsPy
void updateDiagnosticsPy(const std::string &key, const boost::python::object &value)
Definition: SolverOptions.cpp:247
escript::SolverBuddy::preconditioner
SolverOptions preconditioner
Definition: SolverOptions.h:710
escript::SO_METHOD_NONLINEAR_GMRES
@ SO_METHOD_NONLINEAR_GMRES
Definition: SolverOptions.h:110
escript::SolverBuddy::verbose
bool verbose
Definition: SolverOptions.h:726
escript::SO_INTERPOLATION_DIRECT
@ SO_INTERPOLATION_DIRECT
Definition: SolverOptions.h:134
escript::SolverBuddy::setIterMax
void setIterMax(int iter_max)
Definition: SolverOptions.cpp:542
escript::SolverBuddy::setNumSweeps
void setNumSweeps(int sweeps)
Definition: SolverOptions.cpp:554
escript::SolverBuddy::setNumRefinements
void setNumRefinements(int refinements)
Definition: SolverOptions.cpp:786
escript::SolverBuddy::setDim
void setDim(int dim)
Definition: SolverOptions.cpp:830
escript::SolverBuddy::setAbsoluteTolerance
void setAbsoluteTolerance(double atol)
Definition: SolverOptions.cpp:578
escript::SolverBuddy::setLocalPreconditioner
void setLocalPreconditioner(bool local)
Definition: SolverOptions.cpp:778
escript::SolverBuddy::isVerbose
bool isVerbose() const
Definition: SolverOptions.cpp:694
escript::SolverBuddy::refinements
int refinements
Definition: SolverOptions.h:731
escript::SolverBuddy::restart
int restart
Definition: SolverOptions.h:722
escript::SO_PACKAGE_PASO
@ SO_PACKAGE_PASO
Definition: SolverOptions.h:90
Solver.h
paso::util::copy
void copy(dim_t N, double *out, const double *in)
out = in
Definition: PasoUtil.h:88
escript::SolverBuddy::setRelaxationFactor
void setRelaxationFactor(double factor)
Definition: SolverOptions.cpp:626
escript::SolverBuddy::net_time
double net_time
Definition: SolverOptions.h:739
escript::SolverBuddy::ode_solver
SolverOptions ode_solver
Definition: SolverOptions.h:711
escript::SolverBuddy::adapt_inner_tolerance
bool adapt_inner_tolerance
Definition: SolverOptions.h:727
escript::hermitian
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:916
paso::LinearSystem::mat
SystemMatrix_ptr mat
Definition: Functions.h:56
paso::Function
Definition: Functions.h:29
escript::SO_REORDERING_DEFAULT
@ SO_REORDERING_DEFAULT
Definition: SolverOptions.h:136
escript::SolverBuddy::acceptConvergenceFailure
bool acceptConvergenceFailure() const
Definition: SolverOptions.cpp:740
escript::SolverBuddy::setComplex
void setComplex(bool complex)
Definition: SolverOptions.cpp:643
escript::SolverBuddy::relaxation
double relaxation
Definition: SolverOptions.h:729
escript::SolverBuddy::drop_tolerance
double drop_tolerance
Definition: SolverOptions.h:717
escript::SolverBuddy::package
SolverOptions package
Definition: SolverOptions.h:708
escript::SolverBuddy::getRelaxationFactor
double getRelaxationFactor() const
Definition: SolverOptions.cpp:633
escript::SolverBuddy::getInnerIterMax
int getInnerIterMax() const
Definition: SolverOptions.cpp:537
paso::SolverResult
SolverResult
Definition: Paso.h:43
escript::SolverBuddy::getInnerTolerance
double getInnerTolerance() const
Definition: SolverOptions.cpp:597
escript::SolverBuddy::setTolerance
void setTolerance(double rtol)
Definition: SolverOptions.cpp:566
escript::SolverBuddy::_getRestartForC
int _getRestartForC() const
Definition: SolverOptions.cpp:510
escript::SO_ODESOLVER_CRANK_NICOLSON
@ SO_ODESOLVER_CRANK_NICOLSON
Definition: SolverOptions.h:128
paso::LinearSystem::~LinearSystem
virtual ~LinearSystem()
Definition: Solver_Function.cpp:37
escript::SolverBuddy::method
SolverOptions method
Definition: SolverOptions.h:709
escript::SolverBuddy::getName
const char * getName(int key) const
Definition: SolverOptions.cpp:119
escript::SO_METHOD_CGS
@ SO_METHOD_CGS
Definition: SolverOptions.h:97
SolverOptions.h
escript::SolverBuddy::preconditioner_size
int preconditioner_size
Definition: SolverOptions.h:742
escript::SO_METHOD_CGLS
@ SO_METHOD_CGLS
Definition: SolverOptions.h:96
escript::SolverBuddy::dim
int dim
Definition: SolverOptions.h:732
escript::SolverBuddy::trilinosParams
boost::python::dict trilinosParams
Definition: SolverOptions.h:705
escript::SolverBuddy::setPackage
void setPackage(int package)
Definition: SolverOptions.cpp:414
escript::SolverBuddy::inner_tolerance
double inner_tolerance
Definition: SolverOptions.h:716
escript::SolverBuddy::getIterMax
int getIterMax() const
Definition: SolverOptions.cpp:549
escript::SO_METHOD_ROWSUM_LUMPING
@ SO_METHOD_ROWSUM_LUMPING
Definition: SolverOptions.h:113
escript::SO_PRECONDITIONER_AMG
@ SO_PRECONDITIONER_AMG
Definition: SolverOptions.h:117
escript::SolverBuddy::truncation
int truncation
Definition: SolverOptions.h:721
escript::SO_METHOD_ITERATIVE
@ SO_METHOD_ITERATIVE
Definition: SolverOptions.h:107
escript::SolverBuddy::setInnerToleranceAdaption
void setInnerToleranceAdaption(bool adaption)
Definition: SolverOptions.cpp:732
escript::SolverBuddy::tolerance
double tolerance
Definition: SolverOptions.h:714
escript::SolverBuddy::using_default_method
bool using_default_method() const
Definition: SolverOptions.cpp:842
escript::SolverBuddy::getReordering
SolverOptions getReordering() const
Definition: SolverOptions.cpp:492
escript::SolverBuddy::isSymmetric
bool isSymmetric() const
Definition: SolverOptions.cpp:648
escript::SO_REORDERING_NESTED_DISSECTION
@ SO_REORDERING_NESTED_DISSECTION
Definition: SolverOptions.h:138
escript::SO_METHOD_BICGSTAB
@ SO_METHOD_BICGSTAB
Definition: SolverOptions.h:95
escript::SolverBuddy::getPreconditioner
SolverOptions getPreconditioner() const
Definition: SolverOptions.cpp:353
escript::isDirectSolver
bool isDirectSolver(const SolverOptions &method)
returns true if the passed solver method refers to a direct solver type
Definition: SolverOptions.h:143
escript::SolverBuddy::setHermitianOff
void setHermitianOff()
Definition: SolverOptions.cpp:681
escript::SolverBuddy::SolverBuddy
SolverBuddy()
Definition: SolverOptions.cpp:36
escript::SolverBuddy::setInnerIterMax
void setInnerIterMax(int iter_max)
Definition: SolverOptions.cpp:530
escript::SolverBuddy::setInnerToleranceAdaptionOn
void setInnerToleranceAdaptionOn()
Definition: SolverOptions.cpp:722
paso::LinearSystem::call
virtual SolverResult call(double *value, const double *arg, Performance *pp)
sets value=F(arg)
Definition: Solver_Function.cpp:45
escript::SO_TARGET_CPU
@ SO_TARGET_CPU
Definition: SolverOptions.h:85
escript::SO_METHOD_MINRES
@ SO_METHOD_MINRES
Definition: SolverOptions.h:109
paso::LinearSystem::b
double * b
Definition: Functions.h:58
escript::SolverBuddy::setVerbosityOn
void setVerbosityOn()
Definition: SolverOptions.cpp:699
EsysException.h
escript::SO_METHOD_DIRECT_PARDISO
@ SO_METHOD_DIRECT_PARDISO
Definition: SolverOptions.h:102
escript::SolverBuddy::setSolverMethod
void setSolverMethod(int method)
Definition: SolverOptions.cpp:358
escript
Definition: AbstractContinuousDomain.cpp:23
escript::SO_METHOD_CR
@ SO_METHOD_CR
Definition: SolverOptions.h:99
escript::SolverBuddy::setPreconditioner
void setPreconditioner(int preconditioner)
Definition: SolverOptions.cpp:331
escript::SO_METHOD_DIRECT_MUMPS
@ SO_METHOD_DIRECT_MUMPS
Definition: SolverOptions.h:101
escript::SolverBuddy::setSymmetry
void setSymmetry(bool symmetry)
Definition: SolverOptions.cpp:663
escript::SO_PRECONDITIONER_GAUSS_SEIDEL
@ SO_PRECONDITIONER_GAUSS_SEIDEL
Definition: SolverOptions.h:118
escript::SO_DEFAULT
@ SO_DEFAULT
Definition: SolverOptions.h:82
PasoUtil.h
escript::SO_PRECONDITIONER_NONE
@ SO_PRECONDITIONER_NONE
Definition: SolverOptions.h:122
escript::SolverBuddy::is_complex
bool is_complex
Definition: SolverOptions.h:723
escript::SolverBuddy::setDropTolerance
void setDropTolerance(double drop_tol)
Definition: SolverOptions.cpp:602
escript::SolverBuddy::cum_set_up_time
double cum_set_up_time
Definition: SolverOptions.h:749
escript::SolverBuddy::setVerbosity
void setVerbosity(bool verbose)
Definition: SolverOptions.cpp:709
escript::SolverBuddy::setODESolver
void setODESolver(int solver)
Definition: SolverOptions.cpp:798
escript::SolverBuddy::coarse_level_sparsity
double coarse_level_sparsity
Definition: SolverOptions.h:744
paso::LinearSystem::LinearSystem
LinearSystem(SystemMatrix_ptr A, double *b, Options *options)
Definition: Solver_Function.cpp:27
escript::SolverBuddy::setHermitian
void setHermitian(bool hermitian)
Definition: SolverOptions.cpp:686
Functions.h
escript::SolverBuddy::setAcceptanceConvergenceFailureOff
void setAcceptanceConvergenceFailureOff()
Definition: SolverOptions.cpp:750
escript::SolverBuddy::setInnerTolerance
void setInnerTolerance(double rtol)
Definition: SolverOptions.cpp:590
escript::SO_TARGET_GPU
@ SO_TARGET_GPU
Definition: SolverOptions.h:86
escript::SO_PRECONDITIONER_RILU
@ SO_PRECONDITIONER_RILU
Definition: SolverOptions.h:124
escript::SO_PACKAGE_TRILINOS
@ SO_PACKAGE_TRILINOS
Definition: SolverOptions.h:91
escript::SolverBuddy::setTrilinosParameter
void setTrilinosParameter(const std::string &name, const boost::python::object &value)
Definition: SolverOptions.cpp:817
system_dep.h
escript::SolverBuddy::adaptInnerTolerance
bool adaptInnerTolerance() const
Definition: SolverOptions.cpp:717
paso
Definition: BiCGStab.cpp:26
escript::SO_PACKAGE_MKL
@ SO_PACKAGE_MKL
Definition: SolverOptions.h:89
escript::SO_PRECONDITIONER_JACOBI
@ SO_PRECONDITIONER_JACOBI
Definition: SolverOptions.h:121
escript::SolverBuddy::residual_norm
double residual_norm
Definition: SolverOptions.h:740
escript::SolverBuddy::setLocalPreconditionerOn
void setLocalPreconditionerOn()
Definition: SolverOptions.cpp:768
escript::SO_METHOD_PRES20
@ SO_METHOD_PRES20
Definition: SolverOptions.h:112
paso::NoError
@ NoError
Definition: Paso.h:44
escript::SolverBuddy::getDropStorage
double getDropStorage() const
Definition: SolverOptions.cpp:621
escript::SO_PACKAGE_UMFPACK
@ SO_PACKAGE_UMFPACK
Definition: SolverOptions.h:92
escript::SolverBuddy::setLocalPreconditionerOff
void setLocalPreconditionerOff()
Definition: SolverOptions.cpp:773
escript::SO_METHOD_TFQMR
@ SO_METHOD_TFQMR
Definition: SolverOptions.h:114
escript::SolverBuddy::converged
bool converged
Definition: SolverOptions.h:741
escript::SO_METHOD_PCG
@ SO_METHOD_PCG
Definition: SolverOptions.h:111
escript::ValueError
An exception class that signals an invalid argument value.
Definition: EsysException.h:90
escript::SolverBuddy::cum_num_iter
int cum_num_iter
Definition: SolverOptions.h:747
escript::SolverBuddy::getTrilinosParameters
boost::python::dict getTrilinosParameters() const
Definition: SolverOptions.cpp:825
paso::Options
Definition: Options.h:79
paso::Performance
Definition: performance.h:56
escript::SolverBuddy::getODESolver
SolverOptions getODESolver() const
Definition: SolverOptions.cpp:812
escript::SolverBuddy::cum_net_time
double cum_net_time
Definition: SolverOptions.h:750
escript::SO_METHOD_CHOLEVSKY
@ SO_METHOD_CHOLEVSKY
Definition: SolverOptions.h:98
escript::SolverBuddy::getRestart
int getRestart() const
Definition: SolverOptions.cpp:505
escript::SolverBuddy::cum_num_inner_iter
int cum_num_inner_iter
Definition: SolverOptions.h:746
escript::SolverBuddy::using_default_solver_method
bool using_default_solver_method
Definition: SolverOptions.h:752
escript::SO_INTERPOLATION_CLASSIC
@ SO_INTERPOLATION_CLASSIC
Definition: SolverOptions.h:132