1#if defined(PETSC_HAVE_FORTRAN_TYPE_STAR) 2 Interface 3 subroutine DMDASNESSetFunctionLocal(dm,imode,func,ctx,ierr) 4 import tSNES,tDM,eInsertMode 5 DM, intent(in) :: dm 6 InsertMode, intent(in) :: imode 7 external :: func 8 type(*) :: ctx 9 PetscErrorCode, intent(out) :: ierr 10 end subroutine DMDASNESSetFunctionLocal 11 end Interface 12 13 Interface 14 subroutine DMSNESSetFunctionLocal(dm,func,ctx,ierr) 15 import tSNES,tDM 16 DM, intent(in) :: dm 17 external :: func 18 type(*) :: ctx 19 PetscErrorCode, intent(out) :: ierr 20 end subroutine DMSNESSetFunctionLocal 21 end Interface 22 23 interface SNESSetFunction 24 subroutine SNESSetFunction(a,b,c,d,z) 25 import tSNES, tVec 26 SNES a 27 Vec b 28 external c 29 type(*) d 30 PetscErrorCode z 31 end subroutine 32 end Interface 33 34 interface SNESSetJacobian 35 subroutine SNESSetJacobian(a,b,c,d,e,z) 36 import tSNES, tMat 37 SNES a 38 Mat b 39 Mat c 40 external d 41 type(*) e 42 PetscErrorCode z 43 end subroutine 44 end Interface 45 46 interface SNESGetJacobian 47 subroutine SNESGetJacobian(a,b,c,d,e,z) 48 import tSNES, tMat 49 SNES a 50 Mat b 51 Mat c 52 external d 53 type(*) e 54 PetscErrorCode z 55 end subroutine 56 end Interface 57 58 Interface 59 subroutine DMSNESSetJacobianLocal(dm,func,ctx,ierr) 60 import tSNES,tDM 61 DM, intent(in) :: dm 62 external :: func 63 type(*) :: ctx 64 PetscErrorCode, intent(out) :: ierr 65 end subroutine DMSNESSetJacobianLocal 66 end Interface 67 68 Interface 69 subroutine SNESSetConvergenceTest(snes,func,cctx,destroy,ierr) 70 import tSNES 71 SNES :: snes 72 external :: func 73 type(*) :: cctx 74 external :: destroy 75 PetscErrorCode, intent(out) :: ierr 76 end subroutine 77 end Interface 78#endif 79 80 Interface 81 subroutine SNESRestoreConvergenceHistory(snes,r,its,na,ierr) 82 import tSNES 83 SNES snes 84 PetscInt na 85 PetscReal, pointer :: r(:) 86 PetscInt, pointer :: its(:) 87 PetscErrorCode, intent(out) :: ierr 88 end subroutine 89 end Interface 90 91