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**

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**