1*b45d2f2cSJed Brown #include <petsc-private/linesearchimpl.h> /*I "petscsnes.h" I*/ 2bf7f4e0aSPeter Brune 3bf7f4e0aSPeter Brune EXTERN_C_BEGIN 4f1c6b773SPeter Brune extern PetscErrorCode SNESLineSearchCreate_Basic(SNESLineSearch); 5f1c6b773SPeter Brune extern PetscErrorCode SNESLineSearchCreate_L2(SNESLineSearch); 6f1c6b773SPeter Brune extern PetscErrorCode SNESLineSearchCreate_CP(SNESLineSearch); 7f1c6b773SPeter Brune extern PetscErrorCode SNESLineSearchCreate_BT(SNESLineSearch); 8f1c6b773SPeter Brune extern PetscErrorCode SNESLineSearchCreate_Shell(SNESLineSearch); 9bf7f4e0aSPeter Brune EXTERN_C_END 10bf7f4e0aSPeter Brune 11bf7f4e0aSPeter Brune /* 12f1c6b773SPeter Brune extern PetscErrorCode SNESLineSearchCreate_Cubic(SNESLineSearch); 13f1c6b773SPeter Brune extern PetscErrorCode SNESLineSearchCreate_Quadratic(SNESLineSearch); 14f1c6b773SPeter Brune extern PetscErrorCode SNESLineSearchCreate_BasicNoNorms(SNESLineSearch); 15f1c6b773SPeter Brune extern PetscErrorCode SNESLineSearchCreate_QuadraticSecant(SNESLineSearch); 16f1c6b773SPeter Brune extern PetscErrorCode SNESLineSearchCreate_CriticalSecant(SNESLineSearch); 17bf7f4e0aSPeter Brune */ 18bf7f4e0aSPeter Brune 19bf7f4e0aSPeter Brune 20bf7f4e0aSPeter Brune #undef __FUNCT__ 21f1c6b773SPeter Brune #define __FUNCT__ "SNESLineSearchRegisterAll" 22bf7f4e0aSPeter Brune /*@C 23f1c6b773SPeter Brune SNESLineSearchRegisterAll - Registers all of the nonlinear solver methods in the SNESLineSearch package. 24bf7f4e0aSPeter Brune 25bf7f4e0aSPeter Brune Not Collective 26bf7f4e0aSPeter Brune 27bf7f4e0aSPeter Brune Level: advanced 28bf7f4e0aSPeter Brune 29f1c6b773SPeter Brune .keywords: SNESLineSearch, register, all 30bf7f4e0aSPeter Brune 31f1c6b773SPeter Brune .seealso: SNESLineSearchRegisterDestroy() 32bf7f4e0aSPeter Brune @*/ 33f1c6b773SPeter Brune PetscErrorCode SNESLineSearchRegisterAll(const char path[]) 34bf7f4e0aSPeter Brune { 35bf7f4e0aSPeter Brune PetscErrorCode ierr; 36bf7f4e0aSPeter Brune 37bf7f4e0aSPeter Brune PetscFunctionBegin; 38f1c6b773SPeter Brune SNESLineSearchRegisterAllCalled = PETSC_TRUE; 39bf7f4e0aSPeter Brune /* 40f1c6b773SPeter Brune ierr = SNESLineSearchRegisterDynamic(LINESEARCHCUBIC, path,"SNESLineSearchCreate_Cubic", SNESLineSearchCreate_Cubic);CHKERRQ(ierr); 41bf7f4e0aSPeter Brune 42f1c6b773SPeter Brune ierr = SNESLineSearchRegisterDynamic(LINESEARCHQUADRATIC, path,"SNESLineSearchCreate_Quadratic", SNESLineSearchCreate_Quadratic);CHKERRQ(ierr); 43f1c6b773SPeter Brune ierr = SNESLineSearchRegisterDynamic(LINESEARCHCRITICALSECANT, path,"SNESLineSearchCreate_CriticalSecant", SNESLineSearchCreate_CriticalSecant);CHKERRQ(ierr); 44bf7f4e0aSPeter Brune 45bf7f4e0aSPeter Brune */ 46f1c6b773SPeter Brune ierr = SNESLineSearchRegisterDynamic(SNES_LINESEARCH_SHELL, path,"SNESLineSearchCreate_Shell", SNESLineSearchCreate_Shell);CHKERRQ(ierr); 47f1c6b773SPeter Brune ierr = SNESLineSearchRegisterDynamic(SNES_LINESEARCH_BASIC, path,"SNESLineSearchCreate_Basic", SNESLineSearchCreate_Basic);CHKERRQ(ierr); 48f1c6b773SPeter Brune ierr = SNESLineSearchRegisterDynamic(SNES_LINESEARCH_L2, path,"SNESLineSearchCreate_L2", SNESLineSearchCreate_L2);CHKERRQ(ierr); 49f1c6b773SPeter Brune ierr = SNESLineSearchRegisterDynamic(SNES_LINESEARCH_BT, path,"SNESLineSearchCreate_BT", SNESLineSearchCreate_BT);CHKERRQ(ierr); 50f1c6b773SPeter Brune ierr = SNESLineSearchRegisterDynamic(SNES_LINESEARCH_CP, path,"SNESLineSearchCreate_CP", SNESLineSearchCreate_CP);CHKERRQ(ierr); 51bf7f4e0aSPeter Brune 52bf7f4e0aSPeter Brune PetscFunctionReturn(0); 53bf7f4e0aSPeter Brune } 54bf7f4e0aSPeter Brune 55bf7f4e0aSPeter Brune #undef __FUNCT__ 56f1c6b773SPeter Brune #define __FUNCT__ "SNESLineSearchRegisterDestroy" 57f1c6b773SPeter Brune PetscErrorCode SNESLineSearchRegisterDestroy(void) 58bf7f4e0aSPeter Brune { 59bf7f4e0aSPeter Brune PetscErrorCode ierr; 60bf7f4e0aSPeter Brune 61bf7f4e0aSPeter Brune PetscFunctionBegin; 62f1c6b773SPeter Brune ierr = PetscFListDestroy(&SNESLineSearchList);CHKERRQ(ierr); 63f1c6b773SPeter Brune SNESLineSearchRegisterAllCalled = PETSC_FALSE; 64bf7f4e0aSPeter Brune PetscFunctionReturn(0); 65bf7f4e0aSPeter Brune } 66