!%f90 -*- f90 -*- ! Modified by Simon Lacoste-Julien 2002-8-29: ! -> added definitions of res, jac & g plus added intent everywhere ! will take the convention that: ! - ipar[0] = dimension of y ! - ipar[1] = dimension of ipar (>= 3) ! - ipar[2] = dimension of rpar python module ddasrt__user__routines interface ddasrt_user_interface subroutine res(t,y,yprime,delta,ires,rpar,ipar) double precision intent(in) :: t double precision dimension(ipar[0]), depend(ipar), intent(in) :: y double precision dimension(ipar[0]), depend(ipar), intent(in) :: yprime double precision dimension(ipar[0]), depend(ipar), intent(inout) :: delta integer intent(inout) :: ires double precision dimension(ipar[2]), depend(ipar), intent(in) :: rpar integer dimension(ipar[1]), intent(in) :: ipar end subroutine res subroutine jac(t,y,yprime,pd,cj,rpar,ipar) double precision intent(in) :: t double precision dimension(ipar[0]), depend(ipar), intent(in) :: y double precision dimension(ipar[0]), depend(ipar), intent(in) :: yprime double precision dimension(ipar[0],ipar[0]), depend(ipar), intent(inout) :: pd double precision intent(in) :: cj double precision dimension(ipar[2]), depend(ipar) intent(in) :: rpar integer dimension(ipar[1]), intent(in) :: ipar end subroutine jac subroutine g(neq,t,y,ng,gout,rpar,ipar) integer intent(in) :: neq double precision intent(in) :: t double precision dimension(neq), depend(neq), intent(in) :: y integer intent(in) :: ng double precision dimension(ng), depend(ng), intent(inout) :: gout double precision dimension(ipar[2]), depend(ipar), intent(in) :: rpar integer dimension(ipar[1]), intent(in) :: ipar end subroutine g end interface ddasrt_user_interface end python module ddasrt__user__routines python module ddasrt ! in interface ! in :ddasrt subroutine ddasrt(res,neq,t,y,yprime,tout,info,rtol,atol,idid,rwork,lrw,iwork,liw,rpar,ipar,jac,g,ng,jroot) ! in :ddasrt:ddasrt.f use ddasrt__user__routines external res integer intent(in) :: neq double precision intent(inout) :: t double precision dimension(*), intent(inout) :: y double precision dimension(*), intent(inout) :: yprime double precision intent(in) :: tout integer dimension(15), intent(in) :: info double precision dimension(*), intent(inout) :: rtol double precision dimension(*), intent(inout) :: atol integer intent(inout) :: idid double precision dimension(*), intent(inout) :: rwork integer intent(in) :: lrw integer dimension(*), intent(inout) :: iwork integer intent(in) :: liw double precision dimension(*), intent(in) :: rpar integer dimension(*), intent(in) :: ipar external jac external g integer intent(in) :: ng integer dimension(ng+1), depend(ng), intent(out):: jroot ! will make ddasrt returns an array of size ng+1 [the + 1 is so that it doesn't bug when we put ng = 0] end subroutine ddasrt end interface end python module ddasrt ! This file was auto-generated with f2py (version:2.13.175-1250). ! See http://cens.ioc.ee/projects/f2py2e/