1*55a74a43SLisandro Dalcin! -*- f90 -*- 2*55a74a43SLisandro Dalcin 3*55a74a43SLisandro Dalcinpython module Bratu2D 4*55a74a43SLisandro Dalcin 5*55a74a43SLisandro Dalcinusercode ''' 6*55a74a43SLisandro Dalcin#include "Bratu2Dmodule.h" 7*55a74a43SLisandro Dalcin''' 8*55a74a43SLisandro Dalcin 9*55a74a43SLisandro Dalcininterface 10*55a74a43SLisandro Dalcin 11*55a74a43SLisandro Dalcin subroutine FormInitGuess(dm, x, param, ierr) 12*55a74a43SLisandro Dalcin !integer, parameter :: HANDLE_KIND=4 13*55a74a43SLisandro Dalcin integer(kind=HANDLE_KIND) dm ! DM 14*55a74a43SLisandro Dalcin integer(kind=HANDLE_KIND) x ! Vec 15*55a74a43SLisandro Dalcin real(kind=8) param 16*55a74a43SLisandro Dalcin integer, intent(out) :: ierr 17*55a74a43SLisandro Dalcin end subroutine FormInitGuess 18*55a74a43SLisandro Dalcin 19*55a74a43SLisandro Dalcin subroutine FormFunction(dm, x, f, param, ierr) 20*55a74a43SLisandro Dalcin !integer, parameter :: HANDLE_KIND=4 21*55a74a43SLisandro Dalcin integer(kind=HANDLE_KIND) dm ! DM 22*55a74a43SLisandro Dalcin integer(kind=HANDLE_KIND) x ! Vec 23*55a74a43SLisandro Dalcin integer(kind=HANDLE_KIND) f ! Vec 24*55a74a43SLisandro Dalcin real(kind=8) param 25*55a74a43SLisandro Dalcin integer, intent(out) :: ierr 26*55a74a43SLisandro Dalcin end subroutine FormFunction 27*55a74a43SLisandro Dalcin 28*55a74a43SLisandro Dalcin subroutine FormJacobian(dm, x, J, param, ierr) 29*55a74a43SLisandro Dalcin !integer, parameter :: HANDLE_KIND=4 30*55a74a43SLisandro Dalcin integer(kind=HANDLE_KIND) dm ! DM 31*55a74a43SLisandro Dalcin integer(kind=HANDLE_KIND) x ! Vec 32*55a74a43SLisandro Dalcin integer(kind=HANDLE_KIND) J ! Vec 33*55a74a43SLisandro Dalcin real(kind=8) param 34*55a74a43SLisandro Dalcin integer, intent(out) :: ierr 35*55a74a43SLisandro Dalcin end subroutine FormJacobian 36*55a74a43SLisandro Dalcin 37*55a74a43SLisandro Dalcinend interface 38*55a74a43SLisandro Dalcin 39*55a74a43SLisandro Dalcinend python module Bratu2D 40