20 #include "smith/numerics/block_preconditioner.hpp"
176 return "NewtonLineSearch";
178 return "TrustRegion";
180 return "KINFullStep";
182 return "KINBacktrackingLineSearch";
186 return "PetscNewton";
188 return "PetscNewtonBacktracking";
190 return "PetscNewtonCriticalPoint";
192 return "PetscTrustRegion";
303 return "JACOBI_ROWSUM";
305 return "JACOBI_ROWMAX";
360 return "HypreJacobi";
362 return "HypreL1Jacobi";
364 return "HypreGaussSeidel";
374 return "AMGFContact";
376 return "BlockDiagonal";
378 return "BlockTriangular";
459 WHEN_INDEFINITE_OR_BOUNDARY,
Accelerator functionality.
std::map< std::string, Preconditioner > preconditionerMap
string->value matching for optionally entering options as string in command line
std::string nonlinearName(const NonlinearSolver &s)
Convert nonlinear linear solver enums to their string names.
SubSpaceOptions
Enumerated options for when to use trust-region subspace solver.
std::map< std::string, LinearSolver > linearSolverMap
string->value matching for optionally entering options as string in command line
std::string linearName(const LinearSolver &s)
Convert linear solver enums to their string names.
LinearSolver
Linear solution method indicator.
Preconditioner
The type of preconditioner to be used.
std::map< std::string, NonlinearSolver > nonlinearSolverMap
string->value matching for optionally entering options as string in command line
std::ostream & operator<<(std::ostream &out, DoF dof)
stream output for DoF
SchurApproxType
Selects how the (1,1) Schur operator is approximated.
BlockTriangularType
Selects the block triangular sweep used by BlockTriangularPreconditioner.
BlockSchurType
Selects the block Schur preconditioner variant.
std::string petscPCName(const PetscPCType &s)
Convert Petsc preconditioner enums to their string names.
TimestepMethod
Timestep method of a solver.
PetscPCType
Preconditioner types supported by PETSc.
AMGXSolver
Solver types supported by AMGX.
NonlinearSolver
Nonlinear solver method indicator.
@ PetscNewtonBacktracking
@ PetscNewtonCriticalPoint
@ KINBacktrackingLineSearch
std::string preconditionerName(Preconditioner p)
Convert preconditioner enums to their string names.
DirichletEnforcementMethod
this enum describes which way to enforce the time-varying constraint u(t) == U(t)
Stores the information required to configure a NVIDIA AMGX preconditioner.
AMGXSolver solver
The solver algorithm.
bool verbose
Whether to display statistics from AMGX.
AMGXSolver smoother
The smoother algorithm.
Parameters for an iterative linear solution scheme.
int preconditioner_print_level
Debugging print level for the preconditioner.
int max_iterations
Maximum number of iterations.
double relative_tol
Relative tolerance.
int print_level
Debugging print level for the linear solver.
AMGFContactOptions amgfcontact_options
AMGFContact Options, used for Preconditioner::AMGFContact.
Preconditioner preconditioner
PreconditionerOptions selection.
SchurApproxType schur_approx_type
Schur approximation type.
PetscPCType petsc_preconditioner
PETSc preconditioner type.
std::vector< LinearSolverOptions > sub_block_linear_solver_options
Subblock linear solver options for block preconditioners.
BlockSchurType block_schur_type
Block Schur preconditioner factorization type.
double absolute_tol
Absolute tolerance.
AMGXOptions amgx_options
AMGX Options, used for Preconditioner::AMGX.
BlockTriangularType block_triangular_type
Block Triangular Preconditioner factorization type.
LinearSolver linear_solver
Linear solver selection.
Nonlinear solution scheme parameters.
int min_iterations
Minimum number of iterations.
int max_iterations
Maximum number of iterations.
double trust_region_scaling
Scaling for the initial trust region size.
int max_line_search_iterations
Maximum line search cutbacks.
double relative_tol
Relative tolerance.
int print_level
Debug print level.
int num_leftmost
Number of extra leftmost eigenvector to be stored between solves.
double absolute_tol
Absolute tolerance.
NonlinearSolver nonlin_solver
Nonlinear solver selection.
SubSpaceOptions subspace_option
Option for how when the subspace solver should be utilized within trust-region solver.
A timestep and boundary condition enforcement method for a dynamic solver.
TimestepMethod timestepper
The timestepping method to be applied.
DirichletEnforcementMethod enforcement_method
The essential boundary enforcement method to use.