Qn-Util — Qnネットワーク解析とRMC制約生成
Qn-Util は VASP の POSCAR/CONTCAR 構造と JSON 設定を入力として、Qn ネットワークの構築・解析および RMC_POT 用の制約ファイル生成を行う Python ライブラリです。Qn 分布、ネットワーク結合、解析レポートを出力します。
主な構成
VaspStructure:POSCAR の読込、周期境界条件下の距離・角度計算。QnNetworkAnalysis:JSON 設定に基づくネットワーク構築、Qn 集計、結合情報と解析結果の出力。RmcConstraintWriter:RMC_POT 用 FNC=3 制約ファイル、ユニットおよびネットワーク topology の出力。QnNetworkBuilder:既存の呼び出しを維持する facade。解析と出力機能をまとめて利用できます。ConfigError:設定・入力の検証に関する例外。
入力と出力
入力は POSCAR/CONTCAR 形式の構造ファイルと JSON 設定です。出力には *_qn.csv、*_network_bonds.csv、*_report.txt、*_rmc_fnc3.fnc、*_rmc_unit.top などがあります。必要な設定値と制約の意味はチュートリアルを参照してください。
Python API の例
from qn_util.qn_network_builder import QnNetworkBuilder
builder = QnNetworkBuilder.from_poscar("POSCAR", "qn_config.json")
print(builder.get_qn_counts())
builder.write_analysis("sample")
builder.write_all("sample")
write_all は解析結果と RMC 入力ファイルを生成します。具体的な設定例は example/ を参照してください。
インストール
pip install qn-util
ドキュメント
チュートリアルでは Qn ネットワーク、FNC、topology、JSON 設定、今後の展開を説明します。API Reference はソースの docstring から生成します。
目次
- チュートリアル
- README0
- RMC Topology / FNC Generator
- 設計方針
- クラス構成
- 本ライブラリの特徴
- RMC_POT における FNC と Topology
- Qn ネットワーク解析
- ネットワークモデル
- Qn の定義
- 解析手順
- 1. 原子種抽出
- 2. Central–Bridge 探索
- 3. Bridge–Second 探索
- 4. Bridge 判定
- 5. Qn 判定
- 解析結果
- FNC (Fixed Neighbour Constraint)
- RMC_POT における FNC の位置付け
- FNC の考え方
- 本ライブラリでの FNC 生成
- FNC Type
- FNC Pair
- FNC ファイル構成
- Pair の対称性
- Type 管理
- FNC の特徴
- 本ライブラリでの位置付け
- Topology (
*.top) - FNC との違い
- RMC_POT における Bonded Potential
- Topology の構成
- 本ライブラリでの考え方
- Bond の生成
- Angle の生成
- Bond Parameter
- Angle Parameter
- Atom 情報
- Unit Topology
- Network Topology
- Unit Topology と Network Topology の違い
- SiO₂ 実装との関係
- RmcConstraintWriter の役割
- JSON 設定ファイル
- 設定の流れ
- network
- Neighbor 探索
- second_use_first_network
- Bond Parameter
- Angle Parameter
- Atom 情報
- FNC Type
- JSON の役割
- SiO₂ に依存する設定
- 他材料への適用
- 適用が難しい材料
- 設計思想
- SiO₂ 実装と他材料への展開
- SiO₂ 固有となる部分
- 1. Qn の定義
- 2. SiO4 四面体
- 3. Bond Parameter
- 4. Angle Parameter
- 汎用化されている部分
- どの材料まで利用できるか
- qn_util