c----------------------------------------------------------------------- c these are the subroutines for the c c Problem HIRES c ODE of dimension 8 c c----------------------------------------------------------------------- subroutine feval(neqn,t,y,dy,ierr,rpar,ipar) integer neqn,ierr,ipar double precision t,y(neqn),dy(neqn),rpar dy(1) = -1.71d0*y(1)+0.43d0*y(2)+8.32d0*y(3)+0.0007d0 dy(2) = 1.71d0*y(1)-8.75d0*y(2) dy(3) = -10.03d0*y(3)+0.43d0*y(4)+0.035d0*y(5) dy(4) = 8.32d0*y(2)+1.71d0*y(3)-1.12d0*y(4) dy(5) = -1.745d0*y(5)+0.43d0*(y(6)+y(7)) dy(6) = -280d0*y(6)*y(8)+0.69d0*y(4)+1.71d0*y(5)-0.43d0*y(6)+ = 0.69d0*y(7) dy(7) = 280d0*y(6)*y(8)-1.81d0*y(7) dy(8) = -dy(7) return end c----------------------------------------------------------------------- subroutine init(neqn,y) integer neqn double precision y(neqn) y(1) = 1d0 y(2) = 0d0 y(3) = 0d0 y(4) = 0d0 y(5) = 0d0 y(6) = 0d0 y(7) = 0d0 y(8) = 0.0057d0 return end c----------------------------------------------------------------------- subroutine jeval(neqn,t,y,jac,ldim,ierr,rpar,ipar) integer neqn,ldim,ierr,ipar double precision t,y(neqn),jac(ldim,neqn),rpar integer i,j do 20 j=1,neqn do 10 i=1,neqn jac(i,j)=0d0 10 continue 20 continue jac(1,1) = -1.71d0 jac(1,2) = 0.43d0 jac(1,3) = 8.32d0 jac(2,1) = 1.71d0 jac(2,2) = -8.75d0 jac(3,3) = -10.03d0 jac(3,4) = 0.43d0 jac(3,5) = 0.035d0 jac(4,2) = 8.32d0 jac(4,3) = 1.71d0 jac(4,4) = -1.12d0 jac(5,5) = -1.745d0 jac(5,6) = 0.43d0 jac(5,7) = 0.43d0 jac(6,4) = 0.69d0 jac(6,5) = 1.71d0 jac(6,6) = -280d0*y(8)-0.43d0 jac(6,7) = 0.69d0 jac(6,8) = -280d0*y(6) jac(7,6) = 280d0*y(8) jac(7,7) = -1.81d0 jac(7,8) = 280d0*y(6) jac(8,6) = -280d0*y(8) jac(8,7) = 1.81 jac(8,8) = -280d0*y(6) return end c----------------------------------------------------------------------- subroutine prob(problm,neqn,ndisc,t,ijac,mljac,mujac) character*(*) problm integer neqn,ijac,mljac,mujac,ndisc double precision t(0:*) problm = 'hires' neqn = 8 t(0) = 0d0 t(1) = 321.8122d0 ijac = 1 mljac = neqn mujac = neqn return end c----------------------------------------------------------------------- subroutine solut(neqn,y) integer neqn double precision y(neqn) y(1) = .7371312573325668d-3 y(2) = .1442485726316185d-3 y(3) = .5888729740967575d-4 y(4) = .1175651343283149d-2 y(5) = .2386356198831331d-2 y(6) = .6238968252742796d-2 y(7) = .2849998395185769d-2 y(8) = .2850001604814231d-2 return end