#include /*I "petscsnes.h" I*/ PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_Basic(SNESLineSearch); PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_L2(SNESLineSearch); PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_CP(SNESLineSearch); PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_BT(SNESLineSearch); PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_NLEQERR(SNESLineSearch); PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_Shell(SNESLineSearch); PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_NCGLinear(SNESLineSearch); /*@C SNESLineSearchRegisterAll - Registers all of the nonlinear solver methods in the SNESLineSearch package. Not Collective Level: advanced .seealso: SNESLineSearchRegisterDestroy() @*/ PetscErrorCode SNESLineSearchRegisterAll(void) { PetscFunctionBegin; if (SNESLineSearchRegisterAllCalled) PetscFunctionReturn(0); SNESLineSearchRegisterAllCalled = PETSC_TRUE; CHKERRQ(SNESLineSearchRegister(SNESLINESEARCHSHELL, SNESLineSearchCreate_Shell)); CHKERRQ(SNESLineSearchRegister(SNESLINESEARCHBASIC, SNESLineSearchCreate_Basic)); CHKERRQ(SNESLineSearchRegister(SNESLINESEARCHL2, SNESLineSearchCreate_L2)); CHKERRQ(SNESLineSearchRegister(SNESLINESEARCHBT, SNESLineSearchCreate_BT)); CHKERRQ(SNESLineSearchRegister(SNESLINESEARCHNLEQERR, SNESLineSearchCreate_NLEQERR)); CHKERRQ(SNESLineSearchRegister(SNESLINESEARCHCP, SNESLineSearchCreate_CP)); CHKERRQ(SNESLineSearchRegister(SNESLINESEARCHNCGLINEAR, SNESLineSearchCreate_NCGLinear)); PetscFunctionReturn(0); }