我需要创建一个脚本来计算两个1s轨道的重叠轨道。给出的积分
我试着用代码计算这个值,但我的答案与S=(1+R+R^2/3)exp(-R)
的分析结果很不接近。有人能帮我找出我哪里出了问题吗?
代码:
import Foundation
var sum: Double = 0.0 //The integral result
var step_size: Double = 0.0000025
var a: Double = 0.0
var R: Double = 5.0
var next_point: Double = 0.0
var midpoint: Double = 0.0
var height: Double = 0.0
var r_val: Double = 0.0
func psi_func(r_val: Double) -> Double {
return exp(-r_val)
}
//Integration
while next_point < R {
next_point = a + step_size
midpoint = a + step_size/2
height = psi_func(r_val: midpoint)
sum += psi_func(r_val: midpoint)*step_size
a = a + step_size
}
print("S = ", 2*3.14159*3.14159*sum) // This is a 3-D orbital, so I multiply by 2*pi*pi
对于R = 5.0
我的答覆: 19.61
解析答案: 0.097
发布于 2017-02-12 00:13:13
我能看到两个问题:
尝试做一个适当的三维积分与正确的被积。
https://stackoverflow.com/questions/42183402
复制相似问题