CONOPT
Loading...
Searching...
No Matches
Computing the second derivative on constraint in a direction

The modeler can tell CONOPT that second order directional derivatives are available by registering a 2DDir or 2DDirLagr callback routine using COIDEF_2DDir() or COIDEF_2DDirLagr().

2DDir – Second Derivatives of a Constraint in a Direction

This optional callback routine must be registered with COIDEF_2DDir(). It computes the directional second derivative for a single constraint as defined in the introduction to this section.

int COI_CALLCONV 2DDir( double* X, double* DX, double* D2G,
int* ROWNO, int* JCNM, int* NODRV, int* N,
int* NJ, int* THREAD, void* USRMEM );

where:


2DDirIni – Initialization of Second Derivatives of a Constraint in a Direction

This optional callback routine must be registered with COIDEF_2DDirIni(). If it is registered it is called by CONOPT before a sequence of 2DDir calls each time either the point or the direction changes. It can be used to initialize the 2DDir computations, for example to compute common terms.

int COI_CALLCONV 2DDirIni( double* X, double* DX, int* ROWLIST,
int* LISTSIZE, int* NUMTHREAD, int* NEWPT, int* NODRV,
int* N, void* USRMEM );

where:


2DDirEnd – Termination of Second Derivatives of a Constraint in a Direction

This optional callback routine must be registered with COIDEF_2DDirEnd(). If it is registered it is called by CONOPT after a sequence of 2DDir calls each time either the point or the direction changes. It can be used to perform cleanup tasks, including to report if anything went wrong.

int COI_CALLCONV 2DDirEnd( int* NODRV, void* USRMEM );

where: