16dd63270SBarry Smith#if defined(PETSC_HAVE_FORTRAN_TYPE_STAR) 26dd63270SBarry Smith Interface 36dd63270SBarry Smith subroutine DMDASNESSetFunctionLocal(dm,imode,func,ctx,ierr) 4*fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 56dd63270SBarry Smith import tSNES,tDM,eInsertMode 66dd63270SBarry Smith DM, intent(in) :: dm 76dd63270SBarry Smith InsertMode, intent(in) :: imode 86dd63270SBarry Smith external :: func 96dd63270SBarry Smith type(*) :: ctx 106dd63270SBarry Smith PetscErrorCode, intent(out) :: ierr 116dd63270SBarry Smith end subroutine DMDASNESSetFunctionLocal 126dd63270SBarry Smith end Interface 136dd63270SBarry Smith 146dd63270SBarry Smith Interface 156dd63270SBarry Smith subroutine DMSNESSetFunctionLocal(dm,func,ctx,ierr) 16*fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 176dd63270SBarry Smith import tSNES,tDM 186dd63270SBarry Smith DM, intent(in) :: dm 196dd63270SBarry Smith external :: func 206dd63270SBarry Smith type(*) :: ctx 216dd63270SBarry Smith PetscErrorCode, intent(out) :: ierr 226dd63270SBarry Smith end subroutine DMSNESSetFunctionLocal 236dd63270SBarry Smith end Interface 246dd63270SBarry Smith 256dd63270SBarry Smith interface SNESSetFunction 266dd63270SBarry Smith subroutine SNESSetFunction(a,b,c,d,z) 27*fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 286dd63270SBarry Smith import tSNES, tVec 296dd63270SBarry Smith SNES a 306dd63270SBarry Smith Vec b 316dd63270SBarry Smith external c 326dd63270SBarry Smith type(*) d 336dd63270SBarry Smith PetscErrorCode z 346dd63270SBarry Smith end subroutine 356dd63270SBarry Smith end Interface 366dd63270SBarry Smith 376dd63270SBarry Smith interface SNESSetJacobian 386dd63270SBarry Smith subroutine SNESSetJacobian(a,b,c,d,e,z) 39*fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 406dd63270SBarry Smith import tSNES, tMat 416dd63270SBarry Smith SNES a 426dd63270SBarry Smith Mat b 436dd63270SBarry Smith Mat c 446dd63270SBarry Smith external d 456dd63270SBarry Smith type(*) e 466dd63270SBarry Smith PetscErrorCode z 476dd63270SBarry Smith end subroutine 486dd63270SBarry Smith end Interface 496dd63270SBarry Smith 506dd63270SBarry Smith interface SNESGetJacobian 516dd63270SBarry Smith subroutine SNESGetJacobian(a,b,c,d,e,z) 52*fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 536dd63270SBarry Smith import tSNES, tMat 546dd63270SBarry Smith SNES a 556dd63270SBarry Smith Mat b 566dd63270SBarry Smith Mat c 576dd63270SBarry Smith external d 586dd63270SBarry Smith type(*) e 596dd63270SBarry Smith PetscErrorCode z 606dd63270SBarry Smith end subroutine 616dd63270SBarry Smith end Interface 626dd63270SBarry Smith 636dd63270SBarry Smith Interface 646dd63270SBarry Smith subroutine DMSNESSetJacobianLocal(dm,func,ctx,ierr) 65*fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 666dd63270SBarry Smith import tSNES,tDM 676dd63270SBarry Smith DM, intent(in) :: dm 686dd63270SBarry Smith external :: func 696dd63270SBarry Smith type(*) :: ctx 706dd63270SBarry Smith PetscErrorCode, intent(out) :: ierr 716dd63270SBarry Smith end subroutine DMSNESSetJacobianLocal 726dd63270SBarry Smith end Interface 736dd63270SBarry Smith 746dd63270SBarry Smith Interface 756dd63270SBarry Smith subroutine SNESSetConvergenceTest(snes,func,cctx,destroy,ierr) 76*fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 776dd63270SBarry Smith import tSNES 786dd63270SBarry Smith SNES :: snes 796dd63270SBarry Smith external :: func 806dd63270SBarry Smith type(*) :: cctx 816dd63270SBarry Smith external :: destroy 826dd63270SBarry Smith PetscErrorCode, intent(out) :: ierr 836dd63270SBarry Smith end subroutine 846dd63270SBarry Smith end Interface 856dd63270SBarry Smith#endif 866dd63270SBarry Smith 876dd63270SBarry Smith Interface 886dd63270SBarry Smith subroutine SNESRestoreConvergenceHistory(snes,r,its,na,ierr) 89*fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 906dd63270SBarry Smith import tSNES 916dd63270SBarry Smith SNES snes 926dd63270SBarry Smith PetscInt na 936dd63270SBarry Smith PetscReal, pointer :: r(:) 946dd63270SBarry Smith PetscInt, pointer :: its(:) 956dd63270SBarry Smith PetscErrorCode, intent(out) :: ierr 966dd63270SBarry Smith end subroutine 976dd63270SBarry Smith end Interface 986dd63270SBarry Smith 99