xref: /petsc/src/snes/ftn-mod/petscsnes.h90 (revision 3d1372b23971def3aed7e3dc12090948688700a0)
102c639afSMartin Diehlinterface
26dd63270SBarry Smith  subroutine DMDASNESSetFunctionLocal(dm, imode, func, ctx, ierr)
3fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
46dd63270SBarry Smith    import tSNES, tDM, eInsertMode
56dd63270SBarry Smith    DM, intent(in) :: dm
66dd63270SBarry Smith    InsertMode, intent(in) :: imode
76dd63270SBarry Smith    external :: func
86dd63270SBarry Smith    type(*) :: ctx
96dd63270SBarry Smith    PetscErrorCode, intent(out) :: ierr
10*3d1372b2SMartin Diehl  end subroutine
116dd63270SBarry Smith
126dd63270SBarry Smith  subroutine DMSNESSetFunctionLocal(dm, func, ctx, ierr)
13fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
146dd63270SBarry Smith    import tSNES, tDM
156dd63270SBarry Smith    DM, intent(in) :: dm
166dd63270SBarry Smith    external :: func
176dd63270SBarry Smith    type(*)  :: ctx
186dd63270SBarry Smith    PetscErrorCode, intent(out) :: ierr
19*3d1372b2SMartin Diehl  end subroutine
206dd63270SBarry Smith
216dd63270SBarry Smith  subroutine SNESSetFunction(a, b, c, d, z)
22fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
236dd63270SBarry Smith    import tSNES, tVec
246dd63270SBarry Smith    SNES a
256dd63270SBarry Smith    Vec b
266dd63270SBarry Smith    external c
276dd63270SBarry Smith    type(*) d
286dd63270SBarry Smith    PetscErrorCode z
296dd63270SBarry Smith  end subroutine
306dd63270SBarry Smith
316dd63270SBarry Smith  subroutine SNESSetJacobian(a, b, c, d, e, z)
32fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
336dd63270SBarry Smith    import tSNES, tMat
346dd63270SBarry Smith    SNES a
356dd63270SBarry Smith    Mat b
366dd63270SBarry Smith    Mat c
376dd63270SBarry Smith    external d
386dd63270SBarry Smith    type(*) e
396dd63270SBarry Smith    PetscErrorCode z
406dd63270SBarry Smith  end subroutine
416dd63270SBarry Smith
426dd63270SBarry Smith  subroutine SNESGetJacobian(a, b, c, d, e, z)
43fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
446dd63270SBarry Smith    import tSNES, tMat
456dd63270SBarry Smith    SNES a
466dd63270SBarry Smith    Mat b
476dd63270SBarry Smith    Mat c
486dd63270SBarry Smith    external d
496dd63270SBarry Smith    type(*) e
506dd63270SBarry Smith    PetscErrorCode z
516dd63270SBarry Smith  end subroutine
526dd63270SBarry Smith
536dd63270SBarry Smith  subroutine DMSNESSetJacobianLocal(dm, func, ctx, ierr)
54fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
556dd63270SBarry Smith    import tSNES, tDM
566dd63270SBarry Smith    DM, intent(in) :: dm
576dd63270SBarry Smith    external :: func
586dd63270SBarry Smith    type(*)  :: ctx
596dd63270SBarry Smith    PetscErrorCode, intent(out) :: ierr
60*3d1372b2SMartin Diehl  end subroutine
616dd63270SBarry Smith
626dd63270SBarry Smith  subroutine SNESSetConvergenceTest(snes, func, cctx, destroy, ierr)
63fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
646dd63270SBarry Smith    import tSNES
656dd63270SBarry Smith    SNES :: snes
666dd63270SBarry Smith    external :: func
676dd63270SBarry Smith    type(*) :: cctx
686dd63270SBarry Smith    external :: destroy
696dd63270SBarry Smith    PetscErrorCode, intent(out) :: ierr
706dd63270SBarry Smith  end subroutine
716dd63270SBarry Smith
726dd63270SBarry Smith  subroutine SNESRestoreConvergenceHistory(snes, r, its, na, ierr)
73fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
746dd63270SBarry Smith    import tSNES
756dd63270SBarry Smith    SNES snes
766dd63270SBarry Smith    PetscInt na
776dd63270SBarry Smith    PetscReal, pointer :: r(:)
786dd63270SBarry Smith    PetscInt, pointer :: its(:)
796dd63270SBarry Smith    PetscErrorCode, intent(out) :: ierr
806dd63270SBarry Smith  end subroutine
8102c639afSMartin Diehlend interface
82*3d1372b2SMartin Diehl
83*3d1372b2SMartin Diehl#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
84*3d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::DMDASNESSetFunctionLocal
85*3d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::DMSNESSetFunctionLocal
86*3d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::SNESSetFunction
87*3d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::SNESSetJacobian
88*3d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::SNESGetJacobian
89*3d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::DMSNESSetJacobianLocal
90*3d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::SNESSetConvergenceTest
91*3d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::SNESRestoreConvergenceHistory
92*3d1372b2SMartin Diehl#endif
93