Smith  0.1
Smith is an implicit thermal structural mechanics simulation code.
Public Member Functions | Public Attributes | List of all members
smith::LinearDifferentiableSolver Class Reference

Implementation of the DifferentiableSolver interface for the special case of linear solves with linear adjoint solves. More...

#include <differentiable_solver.hpp>

Collaboration diagram for smith::LinearDifferentiableSolver:
Collaboration graph
[legend]

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::FiniteElementStatesolve (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::FiniteElementStatesolveAdjoint (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
 

Detailed Description

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.


The documentation for this class was generated from the following files: