xref: /petsc/src/snes/ftn-mod/petscsnes.h90 (revision 7f296bb328fcd4c99f2da7bfe8ba7ed8a4ebceee)
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