Actual source code: linesearchregi.c

petsc-3.3-p7 2013-05-11
  1: #include <petsc-private/linesearchimpl.h>     /*I  "petscsnes.h"  I*/

  3: EXTERN_C_BEGIN
  4: extern PetscErrorCode  SNESLineSearchCreate_Basic(SNESLineSearch);
  5: extern PetscErrorCode  SNESLineSearchCreate_L2(SNESLineSearch);
  6: extern PetscErrorCode  SNESLineSearchCreate_CP(SNESLineSearch);
  7: extern PetscErrorCode  SNESLineSearchCreate_BT(SNESLineSearch);
  8: extern PetscErrorCode  SNESLineSearchCreate_Shell(SNESLineSearch);
  9: EXTERN_C_END

 11: /*
 12: extern PetscErrorCode  SNESLineSearchCreate_Cubic(SNESLineSearch);
 13: extern PetscErrorCode  SNESLineSearchCreate_Quadratic(SNESLineSearch);
 14: extern PetscErrorCode  SNESLineSearchCreate_BasicNoNorms(SNESLineSearch);
 15: extern PetscErrorCode  SNESLineSearchCreate_QuadraticSecant(SNESLineSearch);
 16: extern PetscErrorCode  SNESLineSearchCreate_CriticalSecant(SNESLineSearch);
 17:  */


 22: /*@C
 23:    SNESLineSearchRegisterAll - Registers all of the nonlinear solver methods in the SNESLineSearch package.

 25:    Not Collective

 27:    Level: advanced

 29: .keywords: SNESLineSearch, register, all

 31: .seealso:  SNESLineSearchRegisterDestroy()
 32: @*/
 33: PetscErrorCode SNESLineSearchRegisterAll(const char path[])
 34: {

 38:   SNESLineSearchRegisterAllCalled = PETSC_TRUE;
 39:   /*
 40:   SNESLineSearchRegisterDynamic(LINESEARCHCUBIC,             path,"SNESLineSearchCreate_Cubic",             SNESLineSearchCreate_Cubic);

 42:   SNESLineSearchRegisterDynamic(LINESEARCHQUADRATIC,         path,"SNESLineSearchCreate_Quadratic",         SNESLineSearchCreate_Quadratic);
 43:   SNESLineSearchRegisterDynamic(LINESEARCHCRITICALSECANT,    path,"SNESLineSearchCreate_CriticalSecant",    SNESLineSearchCreate_CriticalSecant);

 45:    */
 46:   SNESLineSearchRegisterDynamic(SNESLINESEARCHSHELL,             path,"SNESLineSearchCreate_Shell",             SNESLineSearchCreate_Shell);
 47:   SNESLineSearchRegisterDynamic(SNESLINESEARCHBASIC,             path,"SNESLineSearchCreate_Basic",             SNESLineSearchCreate_Basic);
 48:   SNESLineSearchRegisterDynamic(SNESLINESEARCHL2,                path,"SNESLineSearchCreate_L2",                SNESLineSearchCreate_L2);
 49:   SNESLineSearchRegisterDynamic(SNESLINESEARCHBT,                path,"SNESLineSearchCreate_BT",                SNESLineSearchCreate_BT);
 50:   SNESLineSearchRegisterDynamic(SNESLINESEARCHCP,                path,"SNESLineSearchCreate_CP",                SNESLineSearchCreate_CP);

 52:   return(0);
 53: }

 57: PetscErrorCode  SNESLineSearchRegisterDestroy(void)
 58: {

 62:   PetscFListDestroy(&SNESLineSearchList);
 63:   SNESLineSearchRegisterAllCalled = PETSC_FALSE;
 64:   return(0);
 65: }