libMesh
Public Member Functions | List of all members
libMesh::NonlinearImplicitSystem::ComputePostCheck Class Referenceabstract

Abstract base class to be used for applying user modifications to the solution vector and/or Newton update step after each nonlinear step. More...

#include <nonlinear_implicit_system.h>

Inheritance diagram for libMesh::NonlinearImplicitSystem::ComputePostCheck:
[legend]

Public Member Functions

virtual ~ComputePostCheck ()=default
 
virtual void postcheck (const NumericVector< Number > &old_soln, NumericVector< Number > &search_direction, NumericVector< Number > &new_soln, bool &changed_search_direction, bool &changed_new_soln, sys_type &S)=0
 This interface, which is inspired by PETSc's, passes the user: .) A constant reference to the "old" solution vector (previous Newton iterate), .) A pointer to the search direction (update) vector, and .) The "proposed" new solution vector. More...
 

Detailed Description

Abstract base class to be used for applying user modifications to the solution vector and/or Newton update step after each nonlinear step.

A user should inherit from this class and define a custom version of the postcheck() function.

Definition at line 192 of file nonlinear_implicit_system.h.

Constructor & Destructor Documentation

◆ ~ComputePostCheck()

virtual libMesh::NonlinearImplicitSystem::ComputePostCheck::~ComputePostCheck ( )
virtualdefault

Member Function Documentation

◆ postcheck()

virtual void libMesh::NonlinearImplicitSystem::ComputePostCheck::postcheck ( const NumericVector< Number > &  old_soln,
NumericVector< Number > &  search_direction,
NumericVector< Number > &  new_soln,
bool &  changed_search_direction,
bool &  changed_new_soln,
sys_type S 
)
pure virtual

This interface, which is inspired by PETSc's, passes the user: .) A constant reference to the "old" solution vector (previous Newton iterate), .) A pointer to the search direction (update) vector, and .) The "proposed" new solution vector.

The user can then modify either the search direction or the new solution vector according to their own application-specific criteria. If they do, they must set the associated boolean references appropriately.

Referenced by libMesh::libmesh_petsc_snes_postcheck().


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