波数(cm-1)について
波数(ウェーブナンバー)は「カイザー」とも呼ばれ、1センチメートルあたりの波の数であるが、ここでは特に物質波(ド・ブロイ波)の振動数を考えている。振動数$\nu$は量子化されたエネルギーに対応しており、プランクによって与えられた波数とエネルギーの換算式$$E=h \nu$$によってエネルギーに変換することができる($h$はプランク定数)。そのため、cm-1は便宜的にエネルギーの単位として利用される。
※粒子と波動の二重性については「プランクの量子仮説」なども参照のこと。
波数(cm-1)をkJ/molに変換する
1カイザーは「波数が1センチメートルにつき1回の電磁波が持つエネルギー」として解釈される。電磁波の速度は光速$c$であるため、1センチメートルあたりの振動数は$c$を$0.01$メートルで割った値となる。故に、$1 \ \mathrm{[cm^{-1}]}$は$$10^2 \ [\text{m}^{-1}] \times h \times c$$のエネルギーに相当し、およそ $1.9864… \times 10^{-23} \ \mathrm{[J]}$ となる。
光速$c$、プランク定数$h$が既知であればSI単位系(ジュール)に変換でき、これにアボガドロ定数$N_A$を乗じることでkJ/molに変換できる。以下はPythonのスクリプトである。
AVOGADRO_CONSTANT = 6.02214076e23 # 1 / mol PLANCK_CONSTANT = 6.62606957e-34 # J * s SPEED_OF_LIGHT = 2.99792458e8 # m / s print(PLANCK_CONSTANT * 100.0 * SPEED_OF_LIGHT) # 1 [cm-1] ~ 1.986445683269303e-23 [J] print(PLANCK_CONSTANT * 100.0 * SPEED_OF_LIGHT * 0.001 * AVOGADRO_CONSTANT) # 1 [cm-1] ~ 1.1962656986711926e-2 [kJ/mol]
※なお、これらの定数は scipy.constants モジュールによって取得できる。