libMesh::NonlinearImplicitSystem::ComputeVectorSubspace Class Referenceabstract

#include <nonlinear_implicit_system.h>

Public Member Functions

virtual ~ComputeVectorSubspace ()
 
virtual void operator() (std::vector< NumericVector< Number > *> &sp, sys_type &s)=0
 

Detailed Description

Callable abstract base class to be used as a callback to provide the solver with a basis for the system's Jacobian's nullspace (the kernel or the "zero energy modes") or near-nullspace (the "low energy modes").

A nullspace can be used to solve a degenerate problem iteratively (e.g., with a Krylov subspace method). A near nullspace can be used by an Algebraic Multigrid (AMG) preconditioner to construct smoothed- aggregation-like coarse spaces.

Definition at line 147 of file nonlinear_implicit_system.h.

Constructor & Destructor Documentation

◆ ~ComputeVectorSubspace()

virtual libMesh::NonlinearImplicitSystem::ComputeVectorSubspace::~ComputeVectorSubspace ( )
inlinevirtual

Definition at line 150 of file nonlinear_implicit_system.h.

150 {}

Member Function Documentation

◆ operator()()

virtual void libMesh::NonlinearImplicitSystem::ComputeVectorSubspace::operator() ( std::vector< NumericVector< Number > *> &  sp,
sys_type s 
)
pure virtual

This function will be called to compute the subspace basis (e.g., nullspace or nearnullspace). It must be implemented by the user in a derived class.


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