1b45d2f2cSJed Brown #include <petsc-private/linesearchimpl.h> /*I "petscsnes.h" I*/ 2bf7f4e0aSPeter Brune 3*8cc058d9SJed Brown PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_Basic(SNESLineSearch); 4*8cc058d9SJed Brown PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_L2(SNESLineSearch); 5*8cc058d9SJed Brown PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_CP(SNESLineSearch); 6*8cc058d9SJed Brown PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_BT(SNESLineSearch); 7*8cc058d9SJed Brown PETSC_EXTERN PetscErrorCode SNESLineSearchCreate_Shell(SNESLineSearch); 8bf7f4e0aSPeter Brune 9bf7f4e0aSPeter Brune 10bf7f4e0aSPeter Brune #undef __FUNCT__ 11f1c6b773SPeter Brune #define __FUNCT__ "SNESLineSearchRegisterAll" 12bf7f4e0aSPeter Brune /*@C 13f1c6b773SPeter Brune 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 19f1c6b773SPeter Brune .keywords: SNESLineSearch, register, all 20bf7f4e0aSPeter Brune 21f1c6b773SPeter Brune .seealso: SNESLineSearchRegisterDestroy() 22bf7f4e0aSPeter Brune @*/ 23f1c6b773SPeter Brune PetscErrorCode SNESLineSearchRegisterAll(const char path[]) 24bf7f4e0aSPeter Brune { 25bf7f4e0aSPeter Brune PetscErrorCode ierr; 26bf7f4e0aSPeter Brune 27bf7f4e0aSPeter Brune PetscFunctionBegin; 28f1c6b773SPeter Brune SNESLineSearchRegisterAllCalled = PETSC_TRUE; 291a4f838cSPeter Brune ierr = SNESLineSearchRegisterDynamic(SNESLINESEARCHSHELL, path,"SNESLineSearchCreate_Shell", SNESLineSearchCreate_Shell);CHKERRQ(ierr); 301a4f838cSPeter Brune ierr = SNESLineSearchRegisterDynamic(SNESLINESEARCHBASIC, path,"SNESLineSearchCreate_Basic", SNESLineSearchCreate_Basic);CHKERRQ(ierr); 311a4f838cSPeter Brune ierr = SNESLineSearchRegisterDynamic(SNESLINESEARCHL2, path,"SNESLineSearchCreate_L2", SNESLineSearchCreate_L2);CHKERRQ(ierr); 321a4f838cSPeter Brune ierr = SNESLineSearchRegisterDynamic(SNESLINESEARCHBT, path,"SNESLineSearchCreate_BT", SNESLineSearchCreate_BT);CHKERRQ(ierr); 331a4f838cSPeter Brune ierr = SNESLineSearchRegisterDynamic(SNESLINESEARCHCP, path,"SNESLineSearchCreate_CP", SNESLineSearchCreate_CP);CHKERRQ(ierr); 34bf7f4e0aSPeter Brune PetscFunctionReturn(0); 35bf7f4e0aSPeter Brune } 36bf7f4e0aSPeter Brune 37bf7f4e0aSPeter Brune #undef __FUNCT__ 38f1c6b773SPeter Brune #define __FUNCT__ "SNESLineSearchRegisterDestroy" 39f1c6b773SPeter Brune PetscErrorCode SNESLineSearchRegisterDestroy(void) 40bf7f4e0aSPeter Brune { 41bf7f4e0aSPeter Brune PetscErrorCode ierr; 42bf7f4e0aSPeter Brune 43bf7f4e0aSPeter Brune PetscFunctionBegin; 44140e18c1SBarry Smith ierr = PetscFunctionListDestroy(&SNESLineSearchList);CHKERRQ(ierr); 45f5af7f23SKarl Rupp 46f1c6b773SPeter Brune SNESLineSearchRegisterAllCalled = PETSC_FALSE; 47bf7f4e0aSPeter Brune PetscFunctionReturn(0); 48bf7f4e0aSPeter Brune } 49