Physics Forums

Physics Forums (http://www.physicsforums.com/index.php)
-   Programming & Computer Science (http://www.physicsforums.com/forumdisplay.php?f=165)
-   -   Need in solving a programm in FOTRAN (http://www.physicsforums.com/showthread.php?t=576581)

Sampath Emani Feb11-12 01:04 PM

Need in solving a programm in FOTRAN
 
Friends,
i have written a program in FOTRAN for solving a equation [f(x0,y0)= 2*(y**2)+5]
I'm in the learning stage of FOTRAN. So please don't mind if my program has got any silly mistakes.
Please help in executing the program.

program rungekutta


print *,' DIFFERENTIAL EQUATION WITH 1 VARIABLE OF ORDER 1'

print*,"enter the value of x0"
read*,x

print*,"enter the value of y0"
read*,y

print*,"enter the value of step size"
read*,h

print*,"solution for the equation is",rk(x0,y0,h)


call runge(m,f1,n,h,x1)

end

function rk(y) result(r)

!Example: y'=(2*y^2+5)

real y,r

r = (2*(y**2)+5)
end function rk(y)

Subroutine runge(m,f1,n,h,x1)

integer f1,i,j,m,n,h

real x,w1,w2,w3,w4,x0,y;

do i=1, m
ni = (i - 1) * f1 - 1
do j=1, f1
x = x1 + h * (n + j)
w1 = h * f(x0,y0)
w2 = h * f(x0+h/2, y0+w1/2)
w3 = h * f(x0+h/2, y0+w2/2)
w4 = h * f(x0+h, y0+w3)
x = x0 + h

x = y + (w1 + w2 + w2 + w3 + w3 + w4) / 6

end do

end do

end

gsal Feb11-12 04:17 PM

Re: Need in solving a programm in FOTRAN
 
what does the subroutine runge do for you? it is not being used anywhere.

why if function rk is declared with 1 argument, you pass 3 to it?

Sampath Emani Feb11-12 10:55 PM

Re: Need in solving a programm in FOTRAN
 
yes sir,
i do agree. but I'm not able not correct that .
Can u help me in writing the correct step.
I took an equation (2*(y**2)+5)
i want to solve this using Runge kutta.
Thanks in advance

Louisa Mar15-12 06:12 AM

Re: Need in solving a programm in FOTRAN
 
Quote:

Quote by Sampath Emani (Post 3758398)
Friends,
i have written a program in FOTRAN for solving a equation [f(x0,y0)= 2*(y**2)+5]
I'm in the learning stage of FOTRAN. So please don't mind if my program has got any silly mistakes.
Please help in executing the program.

program rungekutta


print *,' DIFFERENTIAL EQUATION WITH 1 VARIABLE OF ORDER 1'

print*,"enter the value of x0"
read*,x

print*,"enter the value of y0"
read*,y

print*,"enter the value of step size"
read*,h

print*,"solution for the equation is",rk(x0,y0,h)


call runge(m,f1,n,h,x1)

end

function rk(y) result(r)

!Example: y'=(2*y^2+5)

real y,r

r = (2*(y**2)+5)
end function rk(y)

Subroutine runge(m,f1,n,h,x1)

integer f1,i,j,m,n,h

real x,w1,w2,w3,w4,x0,y;

do i=1, m
ni = (i - 1) * f1 - 1
do j=1, f1
x = x1 + h * (n + j)
w1 = h * f(x0,y0)
w2 = h * f(x0+h/2, y0+w1/2)
w3 = h * f(x0+h/2, y0+w2/2)
w4 = h * f(x0+h, y0+w3)
x = x0 + h

x = y + (w1 + w2 + w2 + w3 + w3 + w4) / 6

end do

end do

end

There are at least several problems that you need to rectify.
(In future, include all the error messages with your post, along with the
source.)

1. You need "IMPLICIT NONE" in the program and in each subroutine
and function.

2. What is "f"?

3. when you invoke rk, it is with 3 arguments.
Yet the function is defined with only one dummy argument.

4. You requested the input of "x0", but you read the value into "x", etc.


All times are GMT -5. The time now is 09:15 PM.

Powered by vBulletin Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
© 2014 Physics Forums