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