Ask Question

Name:
Title:
Your Question:

Answer Question

Name:
Your Answer:
User Submitted Source Code!


Description:
  F4.f90
Language: FORTRAN
Code:
implicit none

double precision::y(2),yp(2), tout, relerr, abserr, Dt

double precision:: work(200), t  !need to make 'work(100+21*neqn)

double precision:: tstart, tend


integer::neqn, iwork(5),n, i, iflag



external f

n=1000

relerr = 10.0d-10

abserr = 10.0d-10

tstart = 0.0d0

tend = 1.0d0

iflag=1      
! code initializer

t=1.0d0       
! independent variable

neqn=2      
! test number

Dt=-(tstart-tend)/dble(n)

y(1)=5.0d0

y(2)=0.0d0


do i=1, n

tout= tstart + dble(i)*Dt

call ode(f,neqn, y, t, tout, relerr, abserr, iflag, work, iwork)

print *, t,y(1)


end do

stop

end



subroutine f(t,y,yp)

implicit none 

double precision:: y(2), yp(2), t

 

yp(1) = y(2)

 yp(2) =  -(67.08204125369254d0 - 500*t**2)*y(1)




return
 
end          
Comments: