|
Smith
0.1
Smith is an implicit thermal structural mechanics simulation code.
|
Implementation of the DifferentiableSolver interface for the special case of linear solves with linear adjoint solves. More...
#include <differentiable_solver.hpp>

Public Member Functions | |
| LinearDifferentiableSolver (std::unique_ptr< mfem::Solver > s, std::unique_ptr< mfem::Solver > p) | |
| Construct from a linear solver and linear precondition which may also be used by a nonlinear solver. | |
| void | completeSetup (const smith::FiniteElementState &u) override |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| std::shared_ptr< smith::FiniteElementState > | solve (const smith::FiniteElementState &u_guess, std::function< mfem::Vector(const smith::FiniteElementState &)> equation, std::function< std::unique_ptr< mfem::HypreParMatrix >(const smith::FiniteElementState &)> jacobian) const override |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| std::shared_ptr< smith::FiniteElementState > | solveAdjoint (const smith::FiniteElementDual &u_bar, std::unique_ptr< mfem::HypreParMatrix > jacobian_transposed) const override |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
Public Member Functions inherited from smith::DifferentiableSolver | |
| virtual | ~DifferentiableSolver () |
| destructor | |
| virtual void | clearMemory () const |
| Interface option to clear memory between solves to avoid high-water mark memory usage. | |
Public Attributes | |
| std::unique_ptr< mfem::Solver > | mfem_solver |
| linear solver | |
| std::unique_ptr< mfem::Solver > | mfem_preconditioner |
| optionally used preconditioner | |
Implementation of the DifferentiableSolver interface for the special case of linear solves with linear adjoint solves.
Definition at line 68 of file differentiable_solver.hpp.