Hello, I have the following doubt, maybe someone can help me with this.(adsbygoogle = window.adsbygoogle || []).push({});

Suppose I have a general purpose routine that finds the zero of a function f(x), something like

subroutine fzero( func, x1, x2, xzero )

implicit none

real, intent(in) :: x1, x2 ! Upper and lower bounds where the zero lies

real, intent(out) :: xzero ! zero of the function here

interface

real function func(x)

implicit none

real, INTENT(in) :: x

end function func

end interface

...

f = func( x )

...

end subroutine fzero

My problem is the following. The function I want to find the zero depends on some parameter, say alpha, so it would be something like function(x,alpha)

Now, to use the previous general purpose routine I need to input the alpha in some other way. One possibility is to put "alpha" in a module, something like

module parameter

implicit none

real :: alpha

end module parameter

and then define the function

real func( x )

use parameter

...

end func

That would work. But do you know of any other way of doing the same thing?

Thanks for your help!

**Physics Forums | Science Articles, Homework Help, Discussion**

Dismiss Notice

Join Physics Forums Today!

The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

# Fortran 90/95 : passing parameters to functions

**Physics Forums | Science Articles, Homework Help, Discussion**