PISM, A Parallel Ice Sheet Model  stable v2.1-1-g6902d5502 committed by Ed Bueler on 2023-12-20 08:38:27 -0800
Static Public Member Functions | Static Protected Member Functions | List of all members
pism::taoutil::TaoGradientCallback< Problem > Class Template Reference

Adaptor to connect a TAO objective gradient callback to a C++ object method. More...

#include <TaoUtil.hh>

Static Public Member Functions

static void connect (Tao tao, Problem &p)
 

Static Protected Member Functions

static PetscErrorCode callback (Tao tao, Vec x, Vec gradient, void *ctx)
 

Detailed Description

template<class Problem>
class pism::taoutil::TaoGradientCallback< Problem >

Adaptor to connect a TAO objective gradient callback to a C++ object method.

The TAO library interfaces with user code via C-style callback functions. This class makes it convenient to associate a TAO Objective Gradient callback with a C++ object method. To assign

void MyObject::evaluateGradient(Tao tao,Vec x, Vec gradient);

as the objective function to a Tao tao,

MyObject obj;
static void connect(Tao tao, Problem &p)
Definition: TaoUtil.hh:320

The method name evaluateGradient for the callback is hard-coded. See TaoObjGradCallback for a technique to allow the method name to be specified (at the expense of a little more cumbersome code).

Definition at line 318 of file TaoUtil.hh.


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