xref: /petsc/src/snes/ftn-mod/petscsnes.h90 (revision 02c639afa00e507649aa5bac9084590bf17c181c)
16dd63270SBarry Smith#if defined(PETSC_HAVE_FORTRAN_TYPE_STAR)
2*02c639afSMartin Diehl      interface
36dd63270SBarry Smith        subroutine DMDASNESSetFunctionLocal(dm, imode, func, ctx, ierr)
4fe66ebccSMartin 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
12*02c639afSMartin Diehl      end interface
136dd63270SBarry Smith
14*02c639afSMartin Diehl      interface
156dd63270SBarry Smith        subroutine DMSNESSetFunctionLocal(dm, func, ctx, ierr)
16fe66ebccSMartin 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
23*02c639afSMartin Diehl      end interface
246dd63270SBarry Smith
256dd63270SBarry Smith      interface SNESSetFunction
266dd63270SBarry Smith        subroutine SNESSetFunction(a, b, c, d, z)
27fe66ebccSMartin 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
35*02c639afSMartin Diehl      end interface
366dd63270SBarry Smith
376dd63270SBarry Smith      interface SNESSetJacobian
386dd63270SBarry Smith        subroutine SNESSetJacobian(a, b, c, d, e, z)
39fe66ebccSMartin 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
48*02c639afSMartin Diehl      end interface
496dd63270SBarry Smith
506dd63270SBarry Smith      interface SNESGetJacobian
516dd63270SBarry Smith        subroutine SNESGetJacobian(a, b, c, d, e, z)
52fe66ebccSMartin 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
61*02c639afSMartin Diehl      end interface
626dd63270SBarry Smith
63*02c639afSMartin Diehl      interface
646dd63270SBarry Smith        subroutine DMSNESSetJacobianLocal(dm, func, ctx, ierr)
65fe66ebccSMartin 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
72*02c639afSMartin Diehl      end interface
736dd63270SBarry Smith
74*02c639afSMartin Diehl      interface
756dd63270SBarry Smith        subroutine SNESSetConvergenceTest(snes, func, cctx, destroy, ierr)
76fe66ebccSMartin 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
84*02c639afSMartin Diehl      end interface
856dd63270SBarry Smith#endif
866dd63270SBarry Smith
87*02c639afSMartin Diehl      interface
886dd63270SBarry Smith        subroutine SNESRestoreConvergenceHistory(snes, r, its, na, ierr)
89fe66ebccSMartin 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
97*02c639afSMartin Diehl      end interface
98