|
本帖最后由 Kieran 于 2020-9-15 06:46 编辑
大家好,
我写了一个费米狄拉克统计分布函数(Fermi-Dirac Distribution Function)对能量的导数函数的FROTRAN程序。
费米狄拉克统计分布函数(Fermi-Dirac Distribution Function)如下:
f_{(E)} =\frac{1}{e^{\frac{E-E_f}{k_BT}}+1}
其中,E和T是变量,E_f和k_B是常量。
这个函数对变量E的偏导数函数如下:
\frac{\partial f_{(E)}}{\partial E} =\frac{1}{k_BT}\frac{e^{\frac{E-E_f}{k_BT}}}{(e^{\frac{E-E_f}{k_BT}}+1)^2}
我把这个对能量E的偏导数函数写成了FORTRAN程序,但运行一组变量后的结果中却出现NAN符号。
运行后得到的结果如下:
t=0.0d0 ef = 0.5 e=0.1 NaN
t=0.0d0 ef = 0.5 e=-0.5 NaN
t=0.0d0 ef = 0.5 e=0.5 NaN
t=0.0d0 ef = 0.5 e=1.0 NaN
t=0.0d0 ef = 0.5 e=5.0 NaN
t=5.0d0 ef = 0.5 e=0.1 0.000000000000000E+000
t=5.0d0 ef = 0.5 e=-0.5 0.000000000000000E+000
t=5.0d0 ef = 0.5 e=0.5 -3.621485258019960E+021
t=5.0d0 ef = 0.5 e=1.0 NaN
t=5.0d0 ef = 0.5 e=5.0 NaN
这里的t,ef和e分别对应于公式中的T,E_f和E。
我一时找不到代码里的错误。我把我的代码上传到附件里了。麻烦大家帮我看下,是哪里出错了,给些建议吧。
谢谢大家。
|
-
-
t.f90
1.32 KB, 下载次数: 14
程序代码
|