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