今回は化合物の光の吸収波長と吸収強度(振動子強度)の計算事例について紹介したいと思います。
まずはライブラリーのインポートですが、今回はTD計算を実施する必要があるため、「tdscf_excitations」をインポートしています。計算ターゲットですが今回もアセトニトリルです。
後の計算でも使用するようオプションでJK オブジェクトを保存する設定にしています(Psi4のチュートリアルから引用していますので、後のどの処理に必要なのかは不明ですが)。その後、エネルギー計算とTD計算(得られたデータは「res」に格納されるよう設定)の設定を行っています(計算する励起エネルギーレベルの数はstateで設定できます)。
続いてTD計算で得られた結果「res」から、エネルギー値と振動子強度をリスト型で取り出し、numpyのアレイ型のデータとしています。エネルギー値は数値処理により波長に換算し、「arraynm」としています。最後にnumpyのreshape を使ってリストの順序を入れ替えています。
上記は計算結果の表示です。numpyのアレイデータをまとめた後、最終的にpandas のデータフレームを作成、表示させています。
アセトニトリルの計算結果は上記の通りです。設定した10のレベルの励起エネルギーと波長、振動子強度が表示されています。
次回は得られた結果を用いたスペクトル表示について紹介したいと思います。