Smith  0.1
Smith is an implicit thermal structural mechanics simulation code.
Classes | Namespaces | Enumerations | Functions | Variables
solver_config.hpp File Reference

This file contains enumerations and record types for physics solver configuration. More...

#include <variant>
#include "mfem.hpp"
#include "axom/fmt.hpp"
Include dependency graph for solver_config.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  smith::TimesteppingOptions
 A timestep and boundary condition enforcement method for a dynamic solver. More...
 
struct  smith::AMGXOptions
 Stores the information required to configure a NVIDIA AMGX preconditioner. More...
 
struct  smith::LinearSolverOptions
 Parameters for an iterative linear solution scheme. More...
 
struct  smith::NonlinearSolverOptions
 Nonlinear solution scheme parameters. More...
 
struct  axom::fmt::formatter< smith::NonlinearSolver >
 
struct  axom::fmt::formatter< smith::LinearSolver >
 
struct  axom::fmt::formatter< smith::Preconditioner >
 
struct  axom::fmt::formatter< smith::PetscPCType >
 

Namespaces

 smith
 Accelerator functionality.
 

Enumerations

enum class  smith::TimestepMethod {
  smith::QuasiStatic , smith::BackwardEuler , smith::SDIRK33 , smith::ForwardEuler ,
  smith::RK2 , smith::RK3SSP , smith::RK4 , smith::GeneralizedAlpha ,
  smith::ImplicitMidpoint , smith::SDIRK23 , smith::SDIRK34 , smith::Newmark ,
  smith::HHTAlpha , smith::WBZAlpha , smith::AverageAcceleration , smith::LinearAcceleration ,
  smith::CentralDifference , smith::FoxGoodwin
}
 Timestep method of a solver. More...
 
enum class  smith::DirichletEnforcementMethod { smith::DirectControl , smith::RateControl , smith::FullControl }
 this enum describes which way to enforce the time-varying constraint u(t) == U(t) More...
 
enum class  smith::LinearSolver {
  smith::CG , smith::GMRES , smith::SuperLU , smith::Strumpack ,
  smith::PetscCG , smith::PetscGMRES
}
 Linear solution method indicator. More...
 
enum class  smith::NonlinearSolver {
  smith::Newton , smith::LBFGS , smith::NewtonLineSearch , smith::TrustRegion ,
  smith::KINFullStep , smith::KINBacktrackingLineSearch , smith::KINPicard , smith::PetscNewton ,
  smith::PetscNewtonBacktracking , smith::PetscNewtonCriticalPoint , smith::PetscTrustRegion
}
 Nonlinear solver method indicator. More...
 
enum class  smith::AMGXSolver {
  smith::AMG , smith::PCGF , smith::CG , smith::PCG ,
  smith::PBICGSTAB , smith::BICGSTAB , smith::FGMRES , smith::JACOBI_L1 ,
  smith::GS , smith::POLYNOMIAL , smith::KPZ_POLYNOMIAL , smith::BLOCK_JACOBI ,
  smith::MULTICOLOR_GS , smith::MULTICOLOR_DILU
}
 Solver types supported by AMGX. More...
 
enum class  smith::PetscPCType {
  smith::JACOBI , smith::JACOBI_L1 , smith::JACOBI_ROWSUM , smith::JACOBI_ROWMAX ,
  smith::PBJACOBI , smith::BJACOBI , smith::LU , smith::ILU ,
  smith::CHOLESKY , smith::SVD , smith::ASM , smith::GASM ,
  smith::GAMG , smith::HMG , smith::NONE
}
 Preconditioner types supported by PETSc. More...
 
enum class  smith::Preconditioner {
  smith::HypreJacobi , smith::HypreL1Jacobi , smith::HypreGaussSeidel , smith::HypreAMG ,
  smith::HypreILU , smith::AMGX , smith::Petsc , smith::None
}
 The type of preconditioner to be used. More...
 
enum  smith::SubSpaceOptions { NEVER , WHEN_INDEFINITE , WHEN_INDEFINITE_OR_BOUNDARY , ALWAYS }
 Enumerated options for when to use trust-region subspace solver.
 

Functions

std::string smith::linearName (const LinearSolver &s)
 Convert linear solver enums to their string names.
 
std::ostream & smith::operator<< (std::ostream &os, LinearSolver s)
 output linear solver string representation to a stream
 
std::string smith::nonlinearName (const NonlinearSolver &s)
 Convert nonlinear linear solver enums to their string names.
 
std::ostream & smith::operator<< (std::ostream &os, NonlinearSolver s)
 output nonlinear solver string representation to a stream
 
std::string smith::petscPCName (const PetscPCType &s)
 Convert Petsc preconditioner enums to their string names.
 
std::ostream & smith::operator<< (std::ostream &os, PetscPCType s)
 output PETSc preconditioner string representation to a stream
 
std::string smith::preconditionerName (Preconditioner p)
 Convert preconditioner enums to their string names.
 
std::ostream & smith::operator<< (std::ostream &os, Preconditioner p)
 output preconditioner string representation to a stream
 

Variables

std::map< std::string, LinearSolver > smith::linearSolverMap
 string->value matching for optionally entering options as string in command line More...
 
std::map< std::string, NonlinearSolver > smith::nonlinearSolverMap
 string->value matching for optionally entering options as string in command line More...
 
std::map< std::string, Preconditioner > smith::preconditionerMap
 string->value matching for optionally entering options as string in command line More...
 

Detailed Description

This file contains enumerations and record types for physics solver configuration.

Definition in file solver_config.hpp.