Serac  0.1
Serac is an implicit thermal strucural mechanics simulation code.
Classes | Namespaces | Functions
equation_solver.hpp File Reference

This file contains the declaration of an equation solver wrapper. More...

#include <memory>
#include <optional>
#include <variant>
#include "mfem.hpp"
#include "serac/infrastructure/input.hpp"
#include "serac/numerics/solver_config.hpp"
Include dependency graph for equation_solver.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  serac::EquationSolver
 This class manages the objects typically required to solve a nonlinear set of equations arising from discretization of a PDE of the form F(x) = 0. Specifically, it has. More...
 
class  serac::SuperLUSolver
 A wrapper class for using the MFEM SuperLU solver with a HypreParMatrix. More...
 
struct  FromInlet< serac::LinearSolverOptions >
 Prototype the specialization for Inlet parsing. More...
 
struct  FromInlet< serac::NonlinearSolverOptions >
 Prototype the specialization for Inlet parsing. More...
 
struct  FromInlet< serac::EquationSolver >
 Prototype the specialization for Inlet parsing. More...
 

Namespaces

 serac
 Accelerator functionality.
 

Functions

std::unique_ptr< mfem::NewtonSolver > serac::buildNonlinearSolver (NonlinearSolverOptions nonlinear_opts={}, MPI_Comm comm=MPI_COMM_WORLD)
 Build a nonlinear solver using the nonlinear option struct. More...
 
std::pair< std::unique_ptr< mfem::Solver >, std::unique_ptr< mfem::Solver > > serac::buildLinearSolverAndPreconditioner (LinearSolverOptions linear_opts={}, MPI_Comm comm=MPI_COMM_WORLD)
 Build the linear solver and its associated preconditioner given a linear options struct. More...
 
std::unique_ptr< mfem::Solver > serac::buildPreconditioner (Preconditioner preconditioner, int print_level=0,[[maybe_unused]] MPI_Comm comm=MPI_COMM_WORLD)
 Build a preconditioner from the available options. More...
 

Detailed Description

This file contains the declaration of an equation solver wrapper.

Definition in file equation_solver.hpp.