https://mooseframework.inl.gov
Public Member Functions | Private Types | Private Attributes | List of all members
NestedSolveInternal::DynamicMatrixEigenAdaptorFunctor< is_ad, R, J, store_residual_norm > Class Template Reference

Adaptor functor for Eigen::Matrix based residual and Jacobian types. More...

#include <NestedSolve.h>

Public Member Functions

 DynamicMatrixEigenAdaptorFunctor (R &residual_lambda, J &jacobian_lambda)
 
int operator() (V &guess, V &residual)
 
int df (V &guess, typename NestedSolveTempl< is_ad >::template CorrespondingJacobian< V > &jacobian)
 
const RealgetResidualNorm ()
 

Private Types

using V = typename NestedSolveTempl< is_ad >::DynamicVector
 

Private Attributes

R & _residual_lambda
 
J & _jacobian_lambda
 
Real _residual_norm
 

Detailed Description

template<bool is_ad, typename R, typename J, bool store_residual_norm>
class NestedSolveInternal::DynamicMatrixEigenAdaptorFunctor< is_ad, R, J, store_residual_norm >

Adaptor functor for Eigen::Matrix based residual and Jacobian types.

No type conversion required.

Definition at line 624 of file NestedSolve.h.

Member Typedef Documentation

◆ V

template<bool is_ad, typename R, typename J, bool store_residual_norm>
using NestedSolveInternal::DynamicMatrixEigenAdaptorFunctor< is_ad, R, J, store_residual_norm >::V = typename NestedSolveTempl<is_ad>::DynamicVector
private

Definition at line 626 of file NestedSolve.h.

Constructor & Destructor Documentation

◆ DynamicMatrixEigenAdaptorFunctor()

template<bool is_ad, typename R, typename J, bool store_residual_norm>
NestedSolveInternal::DynamicMatrixEigenAdaptorFunctor< is_ad, R, J, store_residual_norm >::DynamicMatrixEigenAdaptorFunctor ( R &  residual_lambda,
J &  jacobian_lambda 
)
inline

Definition at line 629 of file NestedSolve.h.

Member Function Documentation

◆ df()

template<bool is_ad, typename R, typename J, bool store_residual_norm>
int NestedSolveInternal::DynamicMatrixEigenAdaptorFunctor< is_ad, R, J, store_residual_norm >::df ( V guess,
typename NestedSolveTempl< is_ad >::template CorrespondingJacobian< V > &  jacobian 
)
inline

Definition at line 640 of file NestedSolve.h.

641  {
642  _jacobian_lambda(guess, jacobian);
643  return 0;
644  }

◆ getResidualNorm()

template<bool is_ad, typename R, typename J, bool store_residual_norm>
const Real& NestedSolveInternal::DynamicMatrixEigenAdaptorFunctor< is_ad, R, J, store_residual_norm >::getResidualNorm ( )
inline

Definition at line 646 of file NestedSolve.h.

647  {
648  if constexpr (store_residual_norm)
649  return _residual_norm;
650  }

◆ operator()()

template<bool is_ad, typename R, typename J, bool store_residual_norm>
int NestedSolveInternal::DynamicMatrixEigenAdaptorFunctor< is_ad, R, J, store_residual_norm >::operator() ( V guess,
V residual 
)
inline

Definition at line 633 of file NestedSolve.h.

634  {
635  _residual_lambda(guess, residual);
636  if constexpr (store_residual_norm)
638  return 0;
639  }
static Real normSquare(const V &v)
Compute squared norm of v (dropping derivatives as this is only for convergence checking) ...
Definition: NestedSolve.h:555

Member Data Documentation

◆ _jacobian_lambda

template<bool is_ad, typename R, typename J, bool store_residual_norm>
J& NestedSolveInternal::DynamicMatrixEigenAdaptorFunctor< is_ad, R, J, store_residual_norm >::_jacobian_lambda
private

◆ _residual_lambda

template<bool is_ad, typename R, typename J, bool store_residual_norm>
R& NestedSolveInternal::DynamicMatrixEigenAdaptorFunctor< is_ad, R, J, store_residual_norm >::_residual_lambda
private

◆ _residual_norm

template<bool is_ad, typename R, typename J, bool store_residual_norm>
Real NestedSolveInternal::DynamicMatrixEigenAdaptorFunctor< is_ad, R, J, store_residual_norm >::_residual_norm
private

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