libMesh::NonlinearImplicitSystem::ComputePostCheck Class Referenceabstract

#include <nonlinear_implicit_system.h>

Public Member Functions

virtual ~ComputePostCheck ()
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

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 187 of file nonlinear_implicit_system.h.

Constructor & Destructor Documentation

◆ ~ComputePostCheck()

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

Definition at line 190 of file nonlinear_implicit_system.h.

190 {}

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: