分子物性(qc.prop)#
収束した波動関数は終わりではなく、解析の出発点です。原子電荷は?結合はどこにあり、どれだけ強いか?環は 芳香族か?求電子剤はどこを攻撃するか?qc-rs はこれらに、組み込みの大規模な分子物性スイート — Python を離れず に使える Multiwfn クラスの波動関数解析 — で答えます。この短いページはスイートの構成を説明します;続く各章が各 ファミリを扱います。
qc.prop.<group>.<leaf> 名前空間#
すべての物性は qc.prop.<group>.<leaf> にあり、14 のテーマ別グループに整理されています:
グループ |
内容 |
|---|---|
|
原子電荷(Mulliken, Löwdin, Hirshfeld, NPA, CM5, ADCH, MBIS, …) |
|
結合次数・原子価(Mayer, Wiberg, IBSI, fuzzy, multicenter) |
|
電気モーメント(双極子・四重極)と原子分極率 |
|
QTAIM(Bader)トポロジー、臨界点、ベイスン積分 |
|
ELF/LOL のベイスンとドメイン |
|
芳香族性指標(HOMA, BIRD, FLU, PDI, MCI, …) |
|
概念 DFT 反応性と Fukui 関数 |
|
軌道組成・局在化・指標 |
|
NBO / IAO / IBO 解析 |
|
スピン密度と ⟨S²⟩ |
|
表面上・核位置での静電ポテンシャル |
|
軌道 DOS、HOMO–LUMO ギャップ、バンド中心 |
|
グリッド上の実空間場(NCI, IGM, キューブ出力) |
|
幾何解析(RDF, 回転定数, 表面積) |
続く 6 章が最もよく使うファミリを辿ります:電荷と結合次数、 QTAIM と ELF、弱い相互作用、芳香族性、 概念 DFT 反応性、スペクトルと DOS。
等価な 2 つの形式#
すべての物性は関数形式とメソッド形式を持ち、これらは同一なので、コードで読みやすい方を使えます:
import qc
water = "O 0 0 0.117; H 0 0.757 -0.469; H 0 -0.757 -0.469"
m = qc.chk.new(atom=water, ao="cc-pvdz", unit="angstrom").scf(ref="r").run()
qc.prop.chrg.hirshfeld(m) # 関数形式
m.prop.chrg.hirshfeld() # メソッド形式 — 同じ結果
同じ値を返します(検証済み:どちらも O 電荷 −0.32191159)。
遅延評価・キャッシュ・一括計算#
物性は要求時に計算され、波動関数の内容ハッシュでキャッシュされます — 同じ物性を 2 度求めれば 2 度目は 無料で、密度を変える SCF を再実行するとキャッシュは自動的に無効化されます。これらの管理は不要です。
まとまった物性が欲しいと最初から分かっているなら、SCF に scf(prop=...) で一括に計算させます:
m = qc.chk.new(atom=water, ao="cc-pvdz", unit="angstrom").scf(ref="r", prop=True).run()
# prop=True は標準バンドルを計算;prop=<プリセット名> や prop=[<refs>] で計算対象を選ぶ
まず必要なもの#
ほぼすべての物性は収束した SCF(密度と軌道)を必要とします — なのでパターンは常に「.scf(...).run()
してから物性を求める」です。いくつかのグリッドベースの解析(QTAIM, ELF, 実空間場)は電荷より重いですが、
それでも 1 回の呼び出しで、ただ遅いだけです。では、最も一般的な問い — 電荷はどこにあるか
— から始めましょう。