escript
Revision_
|
#include <SolverOptions.h>
References absolute_tolerance, accept_convergence_failure, adapt_inner_tolerance, amg_interpolation_method, coarse_refinements, coarsening, coarsening_threshold, cycle_type, diagonal_dominance_threshold, drop_storage, drop_tolerance, escript::ESCRIPT_DEFAULT, escript::ESCRIPT_DEFAULT_REORDERING, escript::ESCRIPT_DIRECT_INTERPOLATION, escript::ESCRIPT_GAUSS_SEIDEL, escript::ESCRIPT_JACOBI, escript::ESCRIPT_LINEAR_CRANK_NICOLSON, inner_iter_max, inner_tolerance, iter_max, level_max, method, min_sparsity, MinCoarseMatrixSize, ode_solver, post_sweeps, pre_sweeps, preconditioner, refinements, relaxation, reordering, resetDiagnostics(), restart, smoother, sweeps, symmetric, tolerance, truncation, use_local_preconditioner, use_panel, and verbose.
int escript::SolverBuddy::_getRestartForC | ( | ) | const |
Returns the number of iterations steps after which GMRES performs a restart. If -1 is returned no restart is performed.
References getRestart().
Referenced by paso::SystemMatrixAdapter::escriptToPasoOptions().
bool escript::SolverBuddy::acceptConvergenceFailure | ( | ) | const |
Returns ``true`` if a failure to meet the stopping criteria within the given number of iteration steps is not raising in exception. This is useful if a solver is used in a non-linear context where the non-linear solver can continue even if the returned the solution does not necessarily meet the stopping criteria. One can use the `hasConverged` method to check if the last call to the solver was successful.
References accept_convergence_failure.
Referenced by BOOST_PYTHON_MODULE(), paso::SystemMatrixAdapter::escriptToPasoOptions(), and getSummary().
bool escript::SolverBuddy::adaptInnerTolerance | ( | ) | const |
Returns ``true`` if the tolerance of the inner solver is selected automatically. Otherwise the inner tolerance set by `setInnerTolerance` is used.
References adapt_inner_tolerance.
Referenced by BOOST_PYTHON_MODULE(), paso::SystemMatrixAdapter::escriptToPasoOptions(), and getSummary().
double escript::SolverBuddy::getAbsoluteTolerance | ( | ) | const |
Returns the absolute tolerance for the solver
References absolute_tolerance.
Referenced by BOOST_PYTHON_MODULE(), paso::SystemMatrixAdapter::escriptToPasoOptions(), and getSummary().
Returns key of the interpolation method for the SAMG preconditioner
References amg_interpolation_method.
Referenced by BOOST_PYTHON_MODULE(), paso::SystemMatrixAdapter::escriptToPasoOptions(), and getSummary().
Returns the key of the coarsening algorithm to be applied AMG, AMLI or BoomerAMG
References coarsening.
Referenced by BOOST_PYTHON_MODULE(), paso::SystemMatrixAdapter::escriptToPasoOptions(), and getSummary().
double escript::SolverBuddy::getCoarseningThreshold | ( | ) | const |
Returns the threshold for coarsening in the algebraic multi level solver or preconditioner
References coarsening_threshold.
Referenced by BOOST_PYTHON_MODULE(), paso::SystemMatrixAdapter::escriptToPasoOptions(), and getSummary().
int escript::SolverBuddy::getCycleType | ( | ) | const |
Returns the cycle type (V- or W-cycle) to be used in an algebraic multi level solver or preconditioner
References cycle_type.
Referenced by BOOST_PYTHON_MODULE(), and getSummary().
double escript::SolverBuddy::getDiagnostics | ( | std::string | name | ) | const |
Returns the diagnostic information for the given ``name``. Possible values are:
name | name of diagnostic information to return |
References coarse_level_sparsity, converged, cum_net_time, cum_num_inner_iter, cum_num_iter, cum_set_up_time, cum_time, net_time, num_coarse_unknowns, num_inner_iter, num_iter, num_level, preconditioner_size, residual_norm, set_up_time, time, and time_step_backtracking_used.
Referenced by BOOST_PYTHON_MODULE().
double escript::SolverBuddy::getDiagonalDominanceThreshold | ( | ) | const |
Returns the threshold for diagonal dominant rows which are eliminated during AMG coarsening.
References diagonal_dominance_threshold.
Referenced by BOOST_PYTHON_MODULE(), paso::SystemMatrixAdapter::escriptToPasoOptions(), and getSummary().
double escript::SolverBuddy::getDropStorage | ( | ) | const |
Returns the maximum allowed increase in storage for ILUT
References drop_storage.
Referenced by BOOST_PYTHON_MODULE(), paso::SystemMatrixAdapter::escriptToPasoOptions(), and getSummary().
double escript::SolverBuddy::getDropTolerance | ( | ) | const |
Returns the relative drop tolerance in ILUT
References drop_tolerance.
Referenced by BOOST_PYTHON_MODULE(), paso::SystemMatrixAdapter::escriptToPasoOptions(), and getSummary().
int escript::SolverBuddy::getInnerIterMax | ( | ) | const |
Returns maximum number of inner iteration steps
References inner_iter_max.
Referenced by BOOST_PYTHON_MODULE(), and paso::SystemMatrixAdapter::escriptToPasoOptions().
double escript::SolverBuddy::getInnerTolerance | ( | ) | const |
Returns the relative tolerance for an inner iteration scheme
References inner_tolerance.
Referenced by BOOST_PYTHON_MODULE(), paso::SystemMatrixAdapter::escriptToPasoOptions(), and getSummary().
int escript::SolverBuddy::getIterMax | ( | ) | const |
Returns maximum number of iteration steps
References iter_max.
Referenced by BOOST_PYTHON_MODULE(), paso::SystemMatrixAdapter::escriptToPasoOptions(), and getSummary().
int escript::SolverBuddy::getLevelMax | ( | ) | const |
Returns the maximum number of coarsening levels to be used in an algebraic multi level solver or preconditioner
References level_max.
Referenced by BOOST_PYTHON_MODULE(), paso::SystemMatrixAdapter::escriptToPasoOptions(), and getSummary().
int escript::SolverBuddy::getMinCoarseMatrixSize | ( | ) | const |
Returns the minimum size of the coarsest level matrix in AMG or AMLI
References MinCoarseMatrixSize.
Referenced by BOOST_PYTHON_MODULE(), paso::SystemMatrixAdapter::escriptToPasoOptions(), and getSummary().
double escript::SolverBuddy::getMinCoarseMatrixSparsity | ( | ) | const |
Returns the minimum sparsity on the coarsest level. Typically a direct solver is used when the sparsity becomes bigger than the set limit.
References min_sparsity.
Referenced by BOOST_PYTHON_MODULE(), paso::SystemMatrixAdapter::escriptToPasoOptions(), and getSummary().
const char * escript::SolverBuddy::getName | ( | int | key | ) | const |
Returns the name of a given key
key | a valid key from SolverOptions |
References escript::ESCRIPT_AGGREGATION_COARSENING, escript::ESCRIPT_AMG, escript::ESCRIPT_AMLI, escript::ESCRIPT_BACKWARD_EULER, escript::ESCRIPT_BICGSTAB, escript::ESCRIPT_BOOMERAMG, escript::ESCRIPT_CGS, escript::ESCRIPT_CHOLEVSKY, escript::ESCRIPT_CIJP_COARSENING, escript::ESCRIPT_CIJP_FIXED_RANDOM_COARSENING, escript::ESCRIPT_CLASSIC_INTERPOLATION, escript::ESCRIPT_CLASSIC_INTERPOLATION_WITH_FF_COUPLING, escript::ESCRIPT_CR, escript::ESCRIPT_CRANK_NICOLSON, escript::ESCRIPT_DEFAULT, escript::ESCRIPT_DEFAULT_REORDERING, escript::ESCRIPT_DIRECT, escript::ESCRIPT_DIRECT_INTERPOLATION, escript::ESCRIPT_FALGOUT_COARSENING, escript::ESCRIPT_GAUSS_SEIDEL, escript::ESCRIPT_GMRES, escript::ESCRIPT_HMIS_COARSENING, escript::ESCRIPT_HRZ_LUMPING, escript::ESCRIPT_ILU0, escript::ESCRIPT_ILUT, escript::ESCRIPT_ITERATIVE, escript::ESCRIPT_JACOBI, escript::ESCRIPT_LINEAR_CRANK_NICOLSON, escript::ESCRIPT_MINIMUM_FILL_IN, escript::ESCRIPT_MINRES, escript::ESCRIPT_MKL, escript::ESCRIPT_NESTED_DISSECTION, escript::ESCRIPT_NO_PRECONDITIONER, escript::ESCRIPT_NO_REORDERING, escript::ESCRIPT_NONLINEAR_GMRES, escript::ESCRIPT_PASO, escript::ESCRIPT_PASTIX, escript::ESCRIPT_PCG, escript::ESCRIPT_PMIS_COARSENING, escript::ESCRIPT_PRES20, escript::ESCRIPT_REC_ILU, escript::ESCRIPT_RILU, escript::ESCRIPT_ROWSUM_LUMPING, escript::ESCRIPT_RUGE_STUEBEN_COARSENING, escript::ESCRIPT_STANDARD_COARSENING, escript::ESCRIPT_SUPER_LU, escript::ESCRIPT_TFQMR, escript::ESCRIPT_TRILINOS, escript::ESCRIPT_UMFPACK, and escript::ESCRIPT_YAIR_SHAPIRA_COARSENING.
Referenced by BOOST_PYTHON_MODULE(), and getSummary().
int escript::SolverBuddy::getNumCoarseMatrixRefinements | ( | ) | const |
Returns the number of refinement steps to refine the solution on the coarsest level when a direct solver is applied.
References coarse_refinements.
Referenced by BOOST_PYTHON_MODULE(), paso::SystemMatrixAdapter::escriptToPasoOptions(), and getSummary().
int escript::SolverBuddy::getNumPostSweeps | ( | ) | const |
Returns the number of sweeps in the post-smoothing step of a multi level solver or preconditioner
References post_sweeps.
Referenced by BOOST_PYTHON_MODULE(), paso::SystemMatrixAdapter::escriptToPasoOptions(), and getSummary().
int escript::SolverBuddy::getNumPreSweeps | ( | ) | const |
Returns he number of sweeps in the pre-smoothing step of a multi level solver or preconditioner
References pre_sweeps.
Referenced by BOOST_PYTHON_MODULE(), paso::SystemMatrixAdapter::escriptToPasoOptions(), and getSummary().
int escript::SolverBuddy::getNumRefinements | ( | ) | const |
Returns the number of refinement steps to refine the solution when a direct solver is applied.
References refinements.
Referenced by BOOST_PYTHON_MODULE(), and paso::SystemMatrixAdapter::escriptToPasoOptions().
int escript::SolverBuddy::getNumSweeps | ( | ) | const |
Returns the number of sweeps in a Jacobi or Gauss-Seidel/SOR preconditioner.
References sweeps.
Referenced by BOOST_PYTHON_MODULE(), paso::SystemMatrixAdapter::escriptToPasoOptions(), and getSummary().
Returns key of the solver method for ODEs.
References ode_solver.
Referenced by BOOST_PYTHON_MODULE(), paso::SystemMatrixAdapter::escriptToPasoOptions(), and getSummary().
Returns the solver package key
References package.
Referenced by BOOST_PYTHON_MODULE(), paso::SystemMatrixAdapter::escriptToPasoOptions(), and getSummary().
Returns the key of the preconditioner to be used.
References preconditioner.
Referenced by BOOST_PYTHON_MODULE(), paso::SystemMatrixAdapter::escriptToPasoOptions(), and getSummary().
double escript::SolverBuddy::getRelaxationFactor | ( | ) | const |
Returns the relaxation factor used to add dropped elements in RILU to the main diagonal.
References relaxation.
Referenced by BOOST_PYTHON_MODULE(), paso::SystemMatrixAdapter::escriptToPasoOptions(), and getSummary().
Returns the key of the reordering method to be applied if supported by the solver.
References reordering.
Referenced by BOOST_PYTHON_MODULE(), and paso::SystemMatrixAdapter::escriptToPasoOptions().
int escript::SolverBuddy::getRestart | ( | ) | const |
Returns the number of iterations steps after which GMRES performs a restart. If 0 is returned no restart is performed.
References restart.
Referenced by _getRestartForC(), BOOST_PYTHON_MODULE(), and getSummary().
Returns key of the smoother to be used.
References smoother.
Referenced by BOOST_PYTHON_MODULE(), paso::SystemMatrixAdapter::escriptToPasoOptions(), and getSummary().
Returns key of the solver method to be used.
References method.
Referenced by BOOST_PYTHON_MODULE(), paso::SystemMatrixAdapter::escriptToPasoOptions(), and getSummary().
std::string escript::SolverBuddy::getSummary | ( | ) | const |
Returns a string reporting the current settings
References acceptConvergenceFailure(), adaptInnerTolerance(), escript::ESCRIPT_AMG, escript::ESCRIPT_AMLI, escript::ESCRIPT_BOOMERAMG, escript::ESCRIPT_DEFAULT, escript::ESCRIPT_GAUSS_SEIDEL, escript::ESCRIPT_GMRES, escript::ESCRIPT_ILUT, escript::ESCRIPT_PASO, escript::ESCRIPT_RILU, getAbsoluteTolerance(), getAMGInterpolation(), getCoarsening(), getCoarseningThreshold(), getCycleType(), getDiagonalDominanceThreshold(), getDropStorage(), getDropTolerance(), getInnerTolerance(), getIterMax(), getLevelMax(), getMinCoarseMatrixSize(), getMinCoarseMatrixSparsity(), getName(), getNumCoarseMatrixRefinements(), getNumPostSweeps(), getNumPreSweeps(), getNumSweeps(), getODESolver(), getPackage(), getPreconditioner(), getRelaxationFactor(), getRestart(), getSmoother(), getSolverMethod(), getTolerance(), getTruncation(), isSymmetric(), isVerbose(), useLocalPreconditioner(), and usePanel().
Referenced by BOOST_PYTHON_MODULE().
double escript::SolverBuddy::getTolerance | ( | ) | const |
Returns the relative tolerance for the solver
References tolerance.
Referenced by BOOST_PYTHON_MODULE(), paso::SystemMatrixAdapter::escriptToPasoOptions(), and getSummary().
int escript::SolverBuddy::getTruncation | ( | ) | const |
Returns the number of residuals in GMRES to be stored for orthogonalization
References truncation.
Referenced by BOOST_PYTHON_MODULE(), paso::SystemMatrixAdapter::escriptToPasoOptions(), and getSummary().
bool escript::SolverBuddy::hasConverged | ( | ) | const |
Returns ``true`` if the last solver call has been finalized successfully.
References converged.
Referenced by BOOST_PYTHON_MODULE().
bool escript::SolverBuddy::isSymmetric | ( | ) | const |
Checks if symmetry of the coefficient matrix is indicated.
References symmetric.
Referenced by BOOST_PYTHON_MODULE(), paso::SystemMatrixAdapter::escriptToPasoOptions(), and getSummary().
bool escript::SolverBuddy::isVerbose | ( | ) | const |
Returns ``true`` if the solver is expected to be verbose.
References verbose.
Referenced by BOOST_PYTHON_MODULE(), paso::SystemMatrixAdapter::escriptToPasoOptions(), and getSummary().
void escript::SolverBuddy::resetDiagnostics | ( | bool | all = false | ) |
Resets the diagnostics
all | if ``all`` is ``true`` all diagnostics including accumulative counters are reset. |
References converged, cum_net_time, cum_num_inner_iter, cum_num_iter, cum_set_up_time, cum_time, net_time, num_inner_iter, num_iter, num_level, preconditioner_size, residual_norm, set_up_time, time, and time_step_backtracking_used.
Referenced by BOOST_PYTHON_MODULE(), and SolverBuddy().
void escript::SolverBuddy::setAbsoluteTolerance | ( | double | atol | ) |
Sets the absolute tolerance for the solver
atol | absolute tolerance |
References absolute_tolerance.
Referenced by BOOST_PYTHON_MODULE().
void escript::SolverBuddy::setAcceptanceConvergenceFailure | ( | bool | acceptance | ) |
Sets the flag to indicate the acceptance of a failure of convergence.
accept | If ``true``, any failure to achieve convergence is accepted. |
References setAcceptanceConvergenceFailureOff(), and setAcceptanceConvergenceFailureOn().
Referenced by BOOST_PYTHON_MODULE().
Switches the acceptance of a failure of convergence off.
References accept_convergence_failure.
Referenced by BOOST_PYTHON_MODULE(), and setAcceptanceConvergenceFailure().
Switches the acceptance of a failure of convergence on
References accept_convergence_failure.
Referenced by BOOST_PYTHON_MODULE(), and setAcceptanceConvergenceFailure().
void escript::SolverBuddy::setAMGInterpolation | ( | int | interpolation | ) |
Set the interpolation method for the AMG preconditioner.
method | key of the interpolation method to be used, should be in `ESCRIPT_CLASSIC_INTERPOLATION_WITH_FF_COUPLING`, `ESCRIPT_CLASSIC_INTERPOLATION`, `ESCRIPT_DIRECT_INTERPOLATION` |
References amg_interpolation_method, escript::ESCRIPT_CLASSIC_INTERPOLATION, escript::ESCRIPT_CLASSIC_INTERPOLATION_WITH_FF_COUPLING, escript::ESCRIPT_DIRECT_INTERPOLATION, and method.
Referenced by BOOST_PYTHON_MODULE().
void escript::SolverBuddy::setCoarsening | ( | int | coarsening | ) |
Sets the key of the coarsening method to be applied in AMG or AMLI or BoomerAMG
coarsening | selects the coarsening method, should be in `ESCRIPT_DEFAULT`, `ESCRIPT_YAIR_SHAPIRA_COARSENING`, `ESCRIPT_RUGE_STUEBEN_COARSENING`, `ESCRIPT_AGGREGATION_COARSENING`, `ESCRIPT_CIJP_FIXED_RANDOM_COARSENING`, `ESCRIPT_CIJP_COARSENING`, `ESCRIPT_FALGOUT_COARSENING`, `ESCRIPT_PMIS_COARSENING`, `ESCRIPT_HMIS_COARSENING` |
References coarsening, escript::ESCRIPT_AGGREGATION_COARSENING, escript::ESCRIPT_CIJP_COARSENING, escript::ESCRIPT_CIJP_FIXED_RANDOM_COARSENING, escript::ESCRIPT_DEFAULT, escript::ESCRIPT_FALGOUT_COARSENING, escript::ESCRIPT_HMIS_COARSENING, escript::ESCRIPT_PMIS_COARSENING, escript::ESCRIPT_RUGE_STUEBEN_COARSENING, escript::ESCRIPT_STANDARD_COARSENING, escript::ESCRIPT_YAIR_SHAPIRA_COARSENING, and method.
Referenced by BOOST_PYTHON_MODULE().
void escript::SolverBuddy::setCoarseningThreshold | ( | double | theta | ) |
Sets the threshold for coarsening in the algebraic multi level solver or preconditioner
theta | threshold for coarsening |
References coarsening_threshold.
Referenced by BOOST_PYTHON_MODULE().
void escript::SolverBuddy::setCycleType | ( | int | cycle_type | ) |
Sets the cycle type (V-cycle or W-cycle) to be used in an algebraic multi level solver or preconditioner
cycle_type | the type of cycle |
References cycle_type.
Referenced by BOOST_PYTHON_MODULE().
void escript::SolverBuddy::setDiagonalDominanceThreshold | ( | double | threshold | ) |
Sets the threshold for diagonal dominant rows which are eliminated during AMG coarsening.
References diagonal_dominance_threshold.
Referenced by BOOST_PYTHON_MODULE().
void escript::SolverBuddy::setDropStorage | ( | double | drop | ) |
Sets the maximum allowed increase in storage for ILUT. An increase of 2 would mean that a doubling of the storage needed for the coefficient matrix is allowed during ILUT factorization.
storage | allowed storage increase |
References drop_storage.
Referenced by BOOST_PYTHON_MODULE().
void escript::SolverBuddy::setDropTolerance | ( | double | drop_tol | ) |
Sets the relative drop tolerance in ILUT
drop_tol | drop tolerance |
References drop_tolerance.
Referenced by BOOST_PYTHON_MODULE().
void escript::SolverBuddy::setInnerIterMax | ( | int | iter_max | ) |
Sets the maximum number of iteration steps for the inner iteration.
iter_max | maximum number of inner iterations |
References inner_iter_max, and iter_max.
Referenced by BOOST_PYTHON_MODULE().
void escript::SolverBuddy::setInnerTolerance | ( | double | rtol | ) |
Sets the relative tolerance for an inner iteration scheme for instance on the coarsest level in a multi-level scheme.
rtol | inner relative tolerance |
References inner_tolerance.
Referenced by BOOST_PYTHON_MODULE().
void escript::SolverBuddy::setInnerToleranceAdaption | ( | bool | adaption | ) |
Sets the flag to indicate automatic selection of the inner tolerance.
adapt | If ``true``, the inner tolerance is selected automatically. |
References setInnerToleranceAdaptionOff(), and setInnerToleranceAdaptionOn().
Referenced by BOOST_PYTHON_MODULE().
Switches the automatic selection of inner tolerance off.
References adapt_inner_tolerance.
Referenced by BOOST_PYTHON_MODULE(), and setInnerToleranceAdaption().
Switches the automatic selection of inner tolerance on
References adapt_inner_tolerance.
Referenced by BOOST_PYTHON_MODULE(), and setInnerToleranceAdaption().
void escript::SolverBuddy::setIterMax | ( | int | iter_max | ) |
Sets the maximum number of iteration steps
iter_max | maximum number of iteration steps |
References iter_max.
Referenced by BOOST_PYTHON_MODULE().
void escript::SolverBuddy::setLevelMax | ( | int | level_max | ) |
Sets the maximum number of coarsening levels to be used in an algebraic multi level solver or preconditioner
level_max | maximum number of levels |
References level_max.
Referenced by BOOST_PYTHON_MODULE().
void escript::SolverBuddy::setLocalPreconditioner | ( | bool | local | ) |
Sets the flag to use local preconditioning
use | If ``true``, local proconditioning on each MPI rank is applied |
References setLocalPreconditionerOff(), and setLocalPreconditionerOn().
Referenced by BOOST_PYTHON_MODULE().
Sets the flag to use local preconditioning to off
References use_local_preconditioner.
Referenced by BOOST_PYTHON_MODULE(), and setLocalPreconditioner().
Sets the flag to use local preconditioning to on
References use_local_preconditioner.
Referenced by BOOST_PYTHON_MODULE(), and setLocalPreconditioner().
void escript::SolverBuddy::setMinCoarseMatrixSize | ( | int | size | ) |
Sets the minimum size of the coarsest level matrix in AMG or AMLI
size | minimum size of the coarsest level matrix . |
References MinCoarseMatrixSize.
Referenced by BOOST_PYTHON_MODULE().
void escript::SolverBuddy::setMinCoarseMatrixSparsity | ( | double | sparsity | ) |
Sets the minimum sparsity at the coarsest level. Typically a direct solver is used when the sparsity becomes bigger than the set limit.
sparsity | minimal sparsity |
References min_sparsity.
Referenced by BOOST_PYTHON_MODULE().
void escript::SolverBuddy::setNumCoarseMatrixRefinements | ( | int | refinements | ) |
Sets the number of refinement steps to refine the solution on the coarsest level when a direct solver is applied.
refinements | number of refinements |
References coarse_refinements, and refinements.
Referenced by BOOST_PYTHON_MODULE().
void escript::SolverBuddy::setNumPostSweeps | ( | int | sweeps | ) |
Sets the number of sweeps in the post-smoothing step of a multi level solver or preconditioner
sweeps | number of sweeps |
References post_sweeps, and sweeps.
Referenced by BOOST_PYTHON_MODULE().
void escript::SolverBuddy::setNumPreSweeps | ( | int | sweeps | ) |
Sets the number of sweeps in the pre-smoothing step of a multi level solver or preconditioner
sweeps | number of sweeps |
References pre_sweeps, and sweeps.
Referenced by BOOST_PYTHON_MODULE().
void escript::SolverBuddy::setNumRefinements | ( | int | refinements | ) |
Sets the number of refinement steps to refine the solution when a direct solver is applied.
refinements | number of refinements |
References refinements.
Referenced by BOOST_PYTHON_MODULE().
void escript::SolverBuddy::setNumSweeps | ( | int | sweeps | ) |
Sets the number of sweeps in a Jacobi or Gauss-Seidel/SOR preconditioner.
sweeps | number of sweeps |
References sweeps.
Referenced by BOOST_PYTHON_MODULE().
void escript::SolverBuddy::setODESolver | ( | int | solver | ) |
Set the solver method for ODEs.
method | key of the ODE solver method to be used, should be in `ESCRIPT_CRANK_NICOLSON`, `ESCRIPT_BACKWARD_EULER`, `ESCRIPT_LINEAR_CRANK_NICOLSON` |
References escript::ESCRIPT_BACKWARD_EULER, escript::ESCRIPT_CRANK_NICOLSON, escript::ESCRIPT_LINEAR_CRANK_NICOLSON, method, and ode_solver.
Referenced by BOOST_PYTHON_MODULE().
void escript::SolverBuddy::setPackage | ( | int | package | ) |
Sets the solver package to be used as a solver.
package | key of the solver package to be used, should be in `ESCRIPT_DEFAULT`, `ESCRIPT_PASO`, `ESCRIPT_SUPER_LU`, `ESCRIPT_PASTIX`, `ESCRIPT_MKL`, `ESCRIPT_UMFPACK`, `ESCRIPT_TRILINOS` |
References escript::ESCRIPT_DEFAULT, escript::ESCRIPT_MKL, escript::ESCRIPT_PASO, escript::ESCRIPT_PASTIX, escript::ESCRIPT_SUPER_LU, escript::ESCRIPT_TRILINOS, escript::ESCRIPT_UMFPACK, and package.
Referenced by BOOST_PYTHON_MODULE().
void escript::SolverBuddy::setPreconditioner | ( | int | preconditioner | ) |
Sets the preconditioner to be used.
preconditioner | key of the preconditioner to be used, should be in `ESCRIPT_ILU0`, `ESCRIPT_ILUT`, `ESCRIPT_JACOBI`, `ESCRIPT_AMG`, `ESCRIPT_AMLI`, `ESCRIPT_REC_ILU`, `ESCRIPT_GAUSS_SEIDEL`, `ESCRIPT_RILU`, `ESCRIPT_BOOMERAMG`, `ESCRIPT_NO_PRECONDITIONER` |
References escript::ESCRIPT_AMG, escript::ESCRIPT_AMLI, escript::ESCRIPT_BOOMERAMG, escript::ESCRIPT_GAUSS_SEIDEL, escript::ESCRIPT_ILU0, escript::ESCRIPT_ILUT, escript::ESCRIPT_JACOBI, escript::ESCRIPT_NO_PRECONDITIONER, escript::ESCRIPT_REC_ILU, escript::ESCRIPT_RILU, and preconditioner.
Referenced by BOOST_PYTHON_MODULE().
void escript::SolverBuddy::setRelaxationFactor | ( | double | factor | ) |
Sets the relaxation factor used to add dropped elements in RILU to the main diagonal.
factor | relaxation factor |
References relaxation.
Referenced by BOOST_PYTHON_MODULE().
void escript::SolverBuddy::setReordering | ( | int | ordering | ) |
Sets the key of the reordering method to be applied if supported by the solver. Some direct solvers support reordering to optimize compute time and storage use during elimination.
ordering | selects the reordering strategy, should be in 'ESCRIPT_NO_REORDERING', 'ESCRIPT_MINIMUM_FILL_IN', 'ESCRIPT_NESTED_DISSECTION', 'ESCRIPT_DEFAULT_REORDERING' |
References escript::ESCRIPT_DEFAULT_REORDERING, escript::ESCRIPT_MINIMUM_FILL_IN, escript::ESCRIPT_NESTED_DISSECTION, escript::ESCRIPT_NO_REORDERING, and reordering.
Referenced by BOOST_PYTHON_MODULE().
void escript::SolverBuddy::setRestart | ( | int | restart | ) |
Sets the number of iterations steps after which GMRES performs a restart.
restart | number of iteration steps after which to perform a restart. If 0 no restart is performed. |
References restart.
Referenced by BOOST_PYTHON_MODULE().
void escript::SolverBuddy::setSmoother | ( | int | smoother | ) |
Sets the smoother to be used.
smoother | key of the smoother to be used, should be in `ESCRIPT_JACOBI`, `ESCRIPT_GAUSS_SEIDEL` |
References escript::ESCRIPT_GAUSS_SEIDEL, escript::ESCRIPT_JACOBI, and smoother.
Referenced by BOOST_PYTHON_MODULE().
void escript::SolverBuddy::setSolverMethod | ( | int | method | ) |
Sets the solver method to be used. Use ``method``=``ESCRIPT_DIRECT`` to indicate that a direct rather than an iterative solver should be used and use ``method``=``ESCRIPT_ITERATIVE`` to indicate that an iterative rather than a direct solver should be used.
method | key of the solver method to be used, should be in `ESCRIPT_DEFAULT`, `ESCRIPT_DIRECT`, `ESCRIPT_CHOLEVSKY`, `ESCRIPT_PCG`, `ESCRIPT_CR`, `ESCRIPT_CGS`, `ESCRIPT_BICGSTAB`, `ESCRIPT_GMRES`, `ESCRIPT_PRES20`, `ROWSUM_ESCRIPT_LUMPING`, `HRZ_ESCRIPT_LUMPING`, `ESCRIPT_ITERATIVE`, `ESCRIPT_NONLINEAR_GMRES`, `ESCRIPT_TFQMR`, `ESCRIPT_MINRES` |
References escript::ESCRIPT_BICGSTAB, escript::ESCRIPT_CGS, escript::ESCRIPT_CHOLEVSKY, escript::ESCRIPT_CR, escript::ESCRIPT_DEFAULT, escript::ESCRIPT_DIRECT, escript::ESCRIPT_GMRES, escript::ESCRIPT_HRZ_LUMPING, escript::ESCRIPT_ITERATIVE, escript::ESCRIPT_MINRES, escript::ESCRIPT_NONLINEAR_GMRES, escript::ESCRIPT_PCG, escript::ESCRIPT_PRES20, escript::ESCRIPT_ROWSUM_LUMPING, escript::ESCRIPT_TFQMR, and method.
Referenced by BOOST_PYTHON_MODULE().
void escript::SolverBuddy::setSymmetry | ( | bool | symmetry | ) |
Sets the symmetry flag for the coefficient matrix to ``flag``.
flag | If true, the symmetry flag is set otherwise reset. |
References setSymmetryOff(), and setSymmetryOn().
Referenced by BOOST_PYTHON_MODULE().
void escript::SolverBuddy::setSymmetryOff | ( | ) |
Clears the symmetry flag for the coefficient matrix.
References symmetric.
Referenced by BOOST_PYTHON_MODULE(), and setSymmetry().
void escript::SolverBuddy::setSymmetryOn | ( | ) |
Sets the symmetry flag to indicate that the coefficient matrix is symmetric.
References symmetric.
Referenced by BOOST_PYTHON_MODULE(), and setSymmetry().
void escript::SolverBuddy::setTolerance | ( | double | rtol | ) |
Sets the relative tolerance for the solver
rtol | relative tolerance |
References tolerance.
Referenced by BOOST_PYTHON_MODULE().
void escript::SolverBuddy::setTruncation | ( | int | truncation | ) |
Sets the number of residuals in GMRES to be stored for orthogonalization. The more residuals are stored the faster GMRES converged but
References truncation.
Referenced by BOOST_PYTHON_MODULE().
void escript::SolverBuddy::setUsePanel | ( | bool | use | ) |
Sets the flag to use a panel to find unknowns in AMG coarsening
use | If ``true``,a panel is used to find unknowns in AMG coarsening |
References setUsePanelOff(), and setUsePanelOn().
Referenced by BOOST_PYTHON_MODULE().
void escript::SolverBuddy::setUsePanelOff | ( | ) |
Sets the flag to use a panel to find unknowns in AMG coarsening to off
References use_panel.
Referenced by BOOST_PYTHON_MODULE(), and setUsePanel().
void escript::SolverBuddy::setUsePanelOn | ( | ) |
Sets the flag to use a panel to find unknowns in AMG coarsening
References use_panel.
Referenced by BOOST_PYTHON_MODULE(), and setUsePanel().
void escript::SolverBuddy::setVerbosity | ( | bool | verbosity | ) |
Sets the verbosity flag for the solver to ``flag``.
verbose | If ``true``, the verbosity of the solver is switched on. |
References setVerbosityOff(), and setVerbosityOn().
Referenced by BOOST_PYTHON_MODULE().
Switches the verbosity of the solver off.
References verbose.
Referenced by BOOST_PYTHON_MODULE(), and setVerbosity().
void escript::SolverBuddy::setVerbosityOn | ( | ) |
Switches the verbosity of the solver on.
References verbose.
Referenced by BOOST_PYTHON_MODULE(), and setVerbosity().
void escript::SolverBuddy::updateDiagnostics | ( | std::string | key, |
boost::python::object | value | ||
) |
Updates diagnostic information
key | name of diagnostic (a python string in the list "num_iter", "num_level", "num_inner_iter", "time", "set_up_time", "net_time", "residual_norm", "converged"). |
value | new value of the diagnostic information |
References coarse_level_sparsity, converged, cum_net_time, cum_num_inner_iter, cum_num_iter, cum_set_up_time, cum_time, net_time, num_coarse_unknowns, num_inner_iter, num_iter, num_level, residual_norm, set_up_time, time, and time_step_backtracking_used.
Referenced by BOOST_PYTHON_MODULE().
bool escript::SolverBuddy::useLocalPreconditioner | ( | ) | const |
Returns ``true`` if the preconditoner is applied locally on each MPI. This reduces communication costs and speeds up the application of the preconditioner but at the costs of more iteration steps. This can be an advantage on clusters with slower interconnects.
References use_local_preconditioner.
Referenced by BOOST_PYTHON_MODULE(), paso::SystemMatrixAdapter::escriptToPasoOptions(), and getSummary().
bool escript::SolverBuddy::usePanel | ( | ) | const |
Returns ``true`` if a panel is used to search for unknown in the AMG coarsening, The panel approach is normally faster but can lead to larger coarse level systems.
References use_panel.
Referenced by BOOST_PYTHON_MODULE(), paso::SystemMatrixAdapter::escriptToPasoOptions(), and getSummary().
double escript::SolverBuddy::absolute_tolerance [protected] |
Referenced by getAbsoluteTolerance(), setAbsoluteTolerance(), and SolverBuddy().
bool escript::SolverBuddy::accept_convergence_failure [protected] |
bool escript::SolverBuddy::adapt_inner_tolerance [protected] |
Referenced by adaptInnerTolerance(), setInnerToleranceAdaptionOff(), setInnerToleranceAdaptionOn(), and SolverBuddy().
Referenced by getAMGInterpolation(), setAMGInterpolation(), and SolverBuddy().
double escript::SolverBuddy::coarse_level_sparsity [protected] |
Referenced by getDiagnostics(), and updateDiagnostics().
int escript::SolverBuddy::coarse_refinements [protected] |
Referenced by getNumCoarseMatrixRefinements(), setNumCoarseMatrixRefinements(), and SolverBuddy().
SolverOptions escript::SolverBuddy::coarsening [protected] |
Referenced by getCoarsening(), setCoarsening(), and SolverBuddy().
double escript::SolverBuddy::coarsening_threshold [protected] |
Referenced by getCoarseningThreshold(), setCoarseningThreshold(), and SolverBuddy().
bool escript::SolverBuddy::converged [protected] |
Referenced by getDiagnostics(), hasConverged(), resetDiagnostics(), and updateDiagnostics().
double escript::SolverBuddy::cum_net_time [protected] |
Referenced by getDiagnostics(), resetDiagnostics(), and updateDiagnostics().
int escript::SolverBuddy::cum_num_inner_iter [protected] |
Referenced by getDiagnostics(), resetDiagnostics(), and updateDiagnostics().
int escript::SolverBuddy::cum_num_iter [protected] |
Referenced by getDiagnostics(), resetDiagnostics(), and updateDiagnostics().
double escript::SolverBuddy::cum_set_up_time [protected] |
Referenced by getDiagnostics(), resetDiagnostics(), and updateDiagnostics().
double escript::SolverBuddy::cum_time [protected] |
Referenced by getDiagnostics(), resetDiagnostics(), and updateDiagnostics().
int escript::SolverBuddy::cycle_type [protected] |
Referenced by getCycleType(), setCycleType(), and SolverBuddy().
double escript::SolverBuddy::diagonal_dominance_threshold [protected] |
Referenced by getDiagonalDominanceThreshold(), setDiagonalDominanceThreshold(), and SolverBuddy().
double escript::SolverBuddy::drop_storage [protected] |
Referenced by getDropStorage(), setDropStorage(), and SolverBuddy().
double escript::SolverBuddy::drop_tolerance [protected] |
Referenced by getDropTolerance(), setDropTolerance(), and SolverBuddy().
int escript::SolverBuddy::inner_iter_max [protected] |
Referenced by getInnerIterMax(), setInnerIterMax(), and SolverBuddy().
double escript::SolverBuddy::inner_tolerance [protected] |
Referenced by getInnerTolerance(), setInnerTolerance(), and SolverBuddy().
int escript::SolverBuddy::iter_max [protected] |
Referenced by getIterMax(), setInnerIterMax(), setIterMax(), and SolverBuddy().
int escript::SolverBuddy::level_max [protected] |
Referenced by getLevelMax(), setLevelMax(), and SolverBuddy().
SolverOptions escript::SolverBuddy::method [protected] |
Referenced by getSolverMethod(), setAMGInterpolation(), setCoarsening(), setODESolver(), setSolverMethod(), and SolverBuddy().
double escript::SolverBuddy::min_sparsity [protected] |
Referenced by getMinCoarseMatrixSparsity(), setMinCoarseMatrixSparsity(), and SolverBuddy().
int escript::SolverBuddy::MinCoarseMatrixSize [protected] |
Referenced by getMinCoarseMatrixSize(), setMinCoarseMatrixSize(), and SolverBuddy().
double escript::SolverBuddy::net_time [protected] |
Referenced by getDiagnostics(), resetDiagnostics(), and updateDiagnostics().
int escript::SolverBuddy::num_coarse_unknowns [protected] |
Referenced by getDiagnostics(), and updateDiagnostics().
int escript::SolverBuddy::num_inner_iter [protected] |
Referenced by getDiagnostics(), resetDiagnostics(), and updateDiagnostics().
int escript::SolverBuddy::num_iter [protected] |
Referenced by getDiagnostics(), resetDiagnostics(), and updateDiagnostics().
int escript::SolverBuddy::num_level [protected] |
Referenced by getDiagnostics(), resetDiagnostics(), and updateDiagnostics().
SolverOptions escript::SolverBuddy::ode_solver [protected] |
Referenced by getODESolver(), setODESolver(), and SolverBuddy().
SolverOptions escript::SolverBuddy::package [protected] |
Referenced by getPackage(), and setPackage().
int escript::SolverBuddy::post_sweeps [protected] |
Referenced by getNumPostSweeps(), setNumPostSweeps(), and SolverBuddy().
int escript::SolverBuddy::pre_sweeps [protected] |
Referenced by getNumPreSweeps(), setNumPreSweeps(), and SolverBuddy().
SolverOptions escript::SolverBuddy::preconditioner [protected] |
Referenced by getPreconditioner(), setPreconditioner(), and SolverBuddy().
int escript::SolverBuddy::preconditioner_size [protected] |
Referenced by getDiagnostics(), and resetDiagnostics().
int escript::SolverBuddy::refinements [protected] |
Referenced by getNumRefinements(), setNumCoarseMatrixRefinements(), setNumRefinements(), and SolverBuddy().
double escript::SolverBuddy::relaxation [protected] |
Referenced by getRelaxationFactor(), setRelaxationFactor(), and SolverBuddy().
SolverOptions escript::SolverBuddy::reordering [protected] |
Referenced by getReordering(), setReordering(), and SolverBuddy().
double escript::SolverBuddy::residual_norm [protected] |
Referenced by getDiagnostics(), resetDiagnostics(), and updateDiagnostics().
int escript::SolverBuddy::restart [protected] |
Referenced by getRestart(), setRestart(), and SolverBuddy().
double escript::SolverBuddy::set_up_time [protected] |
Referenced by getDiagnostics(), resetDiagnostics(), and updateDiagnostics().
SolverOptions escript::SolverBuddy::smoother [protected] |
Referenced by getSmoother(), setSmoother(), and SolverBuddy().
int escript::SolverBuddy::sweeps [protected] |
Referenced by getNumSweeps(), setNumPostSweeps(), setNumPreSweeps(), setNumSweeps(), and SolverBuddy().
bool escript::SolverBuddy::symmetric [protected] |
Referenced by isSymmetric(), setSymmetryOff(), setSymmetryOn(), and SolverBuddy().
double escript::SolverBuddy::time [protected] |
Referenced by getDiagnostics(), resetDiagnostics(), and updateDiagnostics().
bool escript::SolverBuddy::time_step_backtracking_used [protected] |
Referenced by getDiagnostics(), resetDiagnostics(), and updateDiagnostics().
double escript::SolverBuddy::tolerance [protected] |
Referenced by getTolerance(), setTolerance(), and SolverBuddy().
int escript::SolverBuddy::truncation [protected] |
Referenced by getTruncation(), setTruncation(), and SolverBuddy().
bool escript::SolverBuddy::use_local_preconditioner [protected] |
Referenced by setLocalPreconditionerOff(), setLocalPreconditionerOn(), SolverBuddy(), and useLocalPreconditioner().
bool escript::SolverBuddy::use_panel [protected] |
Referenced by setUsePanelOff(), setUsePanelOn(), SolverBuddy(), and usePanel().
bool escript::SolverBuddy::verbose [protected] |
Referenced by isVerbose(), setVerbosityOff(), setVerbosityOn(), and SolverBuddy().