1 #include <petsc/private/linesearchimpl.h> /*I "petscsnes.h" I*/ 2 3 PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_Basic(SNESLineSearch); 4 PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_L2(SNESLineSearch); 5 PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_CP(SNESLineSearch); 6 PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_BT(SNESLineSearch); 7 PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_NLEQERR(SNESLineSearch); 8 PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_Shell(SNESLineSearch); 9 PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_NCGLinear(SNESLineSearch); 10 11 12 /*@C 13 SNESLineSearchRegisterAll - Registers all of the nonlinear solver methods in the SNESLineSearch package. 14 15 Not Collective 16 17 Level: advanced 18 19 .seealso: SNESLineSearchRegisterDestroy() 20 @*/ 21 PetscErrorCode SNESLineSearchRegisterAll(void) 22 { 23 PetscErrorCode ierr; 24 25 PetscFunctionBegin; 26 if (SNESLineSearchRegisterAllCalled) PetscFunctionReturn(0); 27 SNESLineSearchRegisterAllCalled = PETSC_TRUE; 28 ierr = SNESLineSearchRegister(SNESLINESEARCHSHELL, SNESLineSearchCreate_Shell);CHKERRQ(ierr); 29 ierr = SNESLineSearchRegister(SNESLINESEARCHBASIC, SNESLineSearchCreate_Basic);CHKERRQ(ierr); 30 ierr = SNESLineSearchRegister(SNESLINESEARCHL2, SNESLineSearchCreate_L2);CHKERRQ(ierr); 31 ierr = SNESLineSearchRegister(SNESLINESEARCHBT, SNESLineSearchCreate_BT);CHKERRQ(ierr); 32 ierr = SNESLineSearchRegister(SNESLINESEARCHNLEQERR, SNESLineSearchCreate_NLEQERR);CHKERRQ(ierr); 33 ierr = SNESLineSearchRegister(SNESLINESEARCHCP, SNESLineSearchCreate_CP);CHKERRQ(ierr); 34 ierr = SNESLineSearchRegister(SNESLINESEARCHNCGLINEAR, SNESLineSearchCreate_NCGLinear);CHKERRQ(ierr); 35 PetscFunctionReturn(0); 36 } 37 38