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

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

#include <differentiable_solver.hpp>

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

Public Member Functions

 NonlinearDifferentiableSolver (std::unique_ptr< EquationSolver > s)
 Consruct from a smith nonlinear EquationSolver.
 
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.
 
void clearMemory () 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
 

Public Attributes

std::unique_ptr< mfem::HypreParMatrix > J_
 stored linearized Jacobian matrix for memory reuse
 
std::unique_ptr< EquationSolvernonlinear_solver_
 the nonlinear equation solver used for the forward pass
 

Detailed Description

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

Definition at line 91 of file differentiable_solver.hpp.


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