[日本語](https://ohara-lab-su.github.io/aenet_env/ja/index.html) | [English](https://ohara-lab-su.github.io/aenet_env/en/index.html) | [GitHub](https://github.com/ohara-lab-su/aenet_env) # v0.0.3 ワークフロースクリプト `aenet_env` は汎用的な処理・環境構築のためのライブラリです。以下は **v0.0.3の利用例**であり、全工程を必ず実行する必要はありません。各スクリプトの冒頭にある設定値を編集し、`python スクリプト名.py` で実行します。`a00`、`a01`、`a02` 等は独立した構造生成方式であり、連続工程ではありません。**a系列の方式固有の手順はここでは解説しません。** ## b00 — `b00_make_poscar.py` `WORK_DIR`, `ELEMENTS`, `CELL` を設定し、`aenet_env.xyz.convert_xyz_tree(WORK_DIR, WORK_DIR, elements=ELEMENTS, cell=CELL)` を呼び出します。番号付き周期XYZを元素順に整列したVASP5 POSCARへ変換します。例は `SiO2`、`('Si','O')`、`CELL=None`。入力の周期セル・原子種・原子数・出力先を確認し、既存ファイルを保護してください。 ## b01 — `b01_stage_structures.py` `WORK_DIR` を設定し、`aenet_env.structures.discover_flat_cases(WORK_DIR)` で計算ケースを探索します。**提示されたv0.0.3スクリプトはPOSCARの存在確認と一覧表示のみで、構造のコピーや移動はしません。** ## b02 — `b02_prepare_vasp.py` `CALCULATIONS_DIR`, `POTCAR_ROOT`, `ELEMENTS`, `KPOINT_GRID`, `INCAR_TAGS` を編集します。`load_or_discover_cases` で対象を特定し、`vasp_inputs.prepare_vasp_inputs` でINCAR・KPOINTS・POTCARを準備します。例は `ENCUT=520 eV`, `EDIFF=1e-5`, `NSW=0`, `IBRION=-1`, `ISMEAR=0`, `SIGMA=0.1`, `ISPIN=1`, `KPOINT_GRID=(1,1,1)`。これは**単点DFTの例示設定**であり、材料・セル・PAWデータに対してENCUT、k点、スピン、収束性を再検討します。`POTCAR_ROOT=~/potpaw_PBE.64` は環境固有です。 ## b03 — `b03_submit_vasp_jobs.py` `WORK_DIR`, `CALCULATIONS_DIR`, `JOB_FILE`, `SUBMIT_COMMAND`, `SUBMIT` を編集します。全ケースのPOSCAR・INCAR・KPOINTS・POTCARの存在を確認し、ケース内の既存ジョブスクリプトを利用、または指定ファイルをコピーして投入します。例は `JOB_FILE=job_hpcs2024_node1.sh`, `SUBMIT_COMMAND=('qsub',)`, `SUBMIT=True`。**投入を伴うため、事前確認では `SUBMIT=False` に変更**し、ジョブファイル、投入先、キュー、計算資源、既存成果物の扱いを確認してください。計算機固有のジョブ管理は `src/aenet_env/` に置きません。 ## c00 — `c00_collect_references.py` `VASP_CASES_DIR`, `REFERENCES_DIR` を指定し、`aenet_env.references.collect_reference_xsf` を呼びます。`vasprun.xml` のセル・元素・座標・エネルギー・力から学習用XSFを収集します。単にジョブが終了しただけでは参照計算が妥当とは限りません。SCF収束、構造、元素順、エネルギー単位、力の符号と単位を確認し、欠損・失敗した計算を教師に混入させないでください。 ## c01 — `c01_train_ann.py` `REFERENCES=ROOT/'references'` の `*.xsf` を列挙し、`aenet_env.training` の関数を選んで実行します。**`main()` では一方式のみ有効化**します。v0.0.3の添付例は `fortran_normal(refs)` を選択しています。`fortran_legacy`(Fortran実行ファイル直接)、`fortran_normal`(aenet-pythonのFortran API)、`aenet_python_torch`(aenet-python Torch)、`separate_aenet_pytorch`(独立実装)は別経路です。設定の詳細は「学習パラメータ」を参照してください。 ## ステージ間の境界と検証 `b00 → b01 → b02 → b03 → c00 → c01` は**利用例としての順序**です。構造生成、DFT入力成立、計算完了、参照データ妥当性、ANN学習精度、RMC_POTでの有効性は別々に検証します。SiO₂のパスと設定はv0.0.3の計算例です。 関連資料: [v0.0.3 READMEに基づくプロジェクトガイド](project_readme.md)。