1af0996ceSBarry Smith #include <petsc/private/linesearchimpl.h> /*I "petscsnes.h" I*/ 2bf7f4e0aSPeter Brune 38cc058d9SJed Brown PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_Basic(SNESLineSearch); 4a99ef635SJonas Heinzmann PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_Secant(SNESLineSearch); 58cc058d9SJed Brown PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_CP(SNESLineSearch); 68cc058d9SJed Brown PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_BT(SNESLineSearch); 7d4c6564cSPatrick Farrell PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_NLEQERR(SNESLineSearch); 88cc058d9SJed Brown PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_Shell(SNESLineSearch); 9b5badacbSBarry Smith PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_NCGLinear(SNESLineSearch); 10b9d635d7SJonas Heinzmann PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_Bisection(SNESLineSearch); 11bf7f4e0aSPeter Brune 12bf7f4e0aSPeter Brune /*@C 13f6dfbefdSBarry Smith SNESLineSearchRegisterAll - Registers all of the nonlinear solver methods in the `SNESLineSearch` package. 14bf7f4e0aSPeter Brune 15bf7f4e0aSPeter Brune Not Collective 16bf7f4e0aSPeter Brune 17bf7f4e0aSPeter Brune Level: advanced 18bf7f4e0aSPeter Brune 19420bcc1bSBarry Smith .seealso: [](ch_snes), `SNES`, `SNESLineSearch`, `SNESLineSearchRegister()`, `SNESLineSearchRegisterDestroy()` 20bf7f4e0aSPeter Brune @*/ 21d71ae5a4SJacob Faibussowitsch PetscErrorCode SNESLineSearchRegisterAll(void) 22d71ae5a4SJacob Faibussowitsch { 23bf7f4e0aSPeter Brune PetscFunctionBegin; 243ba16761SJacob Faibussowitsch if (SNESLineSearchRegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS); 25f1c6b773SPeter Brune SNESLineSearchRegisterAllCalled = PETSC_TRUE; 269566063dSJacob Faibussowitsch PetscCall(SNESLineSearchRegister(SNESLINESEARCHSHELL, SNESLineSearchCreate_Shell)); 279566063dSJacob Faibussowitsch PetscCall(SNESLineSearchRegister(SNESLINESEARCHBASIC, SNESLineSearchCreate_Basic)); 280b00b554SBarry Smith PetscCall(SNESLineSearchRegister(SNESLINESEARCHNONE, SNESLineSearchCreate_Basic)); 29a99ef635SJonas Heinzmann PetscCall(SNESLineSearchRegister(SNESLINESEARCHSECANT, SNESLineSearchCreate_Secant)); 30*392273beSMatthew G. Knepley // PETSC_DEPRECATED 3.24.0 This should eventually be removed 31*392273beSMatthew G. Knepley PetscCall(SNESLineSearchRegister("l2", SNESLineSearchCreate_Secant)); 329566063dSJacob Faibussowitsch PetscCall(SNESLineSearchRegister(SNESLINESEARCHBT, SNESLineSearchCreate_BT)); 339566063dSJacob Faibussowitsch PetscCall(SNESLineSearchRegister(SNESLINESEARCHNLEQERR, SNESLineSearchCreate_NLEQERR)); 349566063dSJacob Faibussowitsch PetscCall(SNESLineSearchRegister(SNESLINESEARCHCP, SNESLineSearchCreate_CP)); 359566063dSJacob Faibussowitsch PetscCall(SNESLineSearchRegister(SNESLINESEARCHNCGLINEAR, SNESLineSearchCreate_NCGLinear)); 36b9d635d7SJonas Heinzmann PetscCall(SNESLineSearchRegister(SNESLINESEARCHBISECTION, SNESLineSearchCreate_Bisection)); 373ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 38bf7f4e0aSPeter Brune } 39