カタバミさんのプログラミングノート

日曜プログラマーがプログラミング関係のメモを記録するブログです。

Rによる水素の線スペクトルの計算

水素の線スペクトルを計算するRのソースコードです。

R <- 1.097*10^7 #水素のリュードベリ定数R_H 
#水素原子の線スペクトル(波長λ)
#hydrogen spectral series
lambda <- function(m, n) {(m^2*n^2)/(R*(n^2-m^2))} #m<n
lambda.inf <- function(m) {m^2/R}
m2nm <- function(m) {m*10^9}
lambda.nm <- function(m, n) {m2nm(lambda(m, n))}
lambda.inf.nm <- function(m) {m2nm(lambda.inf(m))}
#ライマン系列の一部
lambda.nm(1,2)#121 電子の準位2→1 Lyman α
lambda.nm(1,3)#102 電子の準位3→1 Lyman β
lambda.nm(1,4)# 97 電子の準位4→1 Lyman γ
lambda.nm(1,5)# 94 電子の準位5→1
lambda.nm(1,6)# 93 電子の準位6→1
lambda.nm(1,7)# 93 電子の準位7→1
lambda.nm(1,8)# 93 電子の準位8→1
lambda.nm(1,9)# 92 電子の準位9→1
lambda.inf.nm(1)# 91.15 電子の準位∞→1
#バルマー系列の一部
lambda.nm(2,3)
lambda.nm(2,4)
lambda.nm(2,5)
#パッシェン系列の一部
lambda.nm(3,4)
lambda.nm(3,5)
lambda.nm(3,6)