fermi Function

public elemental function fermi(x, beta, limit)

Arguments

Type IntentOptional Attributes Name
real(kind=8), intent(in) :: x
real(kind=8), intent(in) :: beta
real(kind=8), intent(in), optional :: limit

Return Value real(kind=8)


Source Code

  elemental function fermi(x,beta,limit)
    real(8),intent(in)          :: x, beta
    real(8),optional,intent(in) :: limit
    real(8)                     :: fermi,arg,limit_
    limit_ = 200d0 ; if(present(limit))limit_=abs(limit)
    arg = x*beta
    if(arg < -limit_)then
       fermi = 1d0
    elseif(arg > limit_)then
       fermi = 0d0
    else
       fermi = 1d0/(1d0+exp(arg))
    endif
  end function fermi