[日本語](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 workflow scripts `aenet_env` provides reusable APIs and environment/workflow utilities, a set of composable stages. The following scripts are **v0.0.3 examples**. Edit the constants at the top of each script and run `python script.py`. The structure-generation scripts provide alternative methods selected for the calculation under study. ## b00 — `b00_make_poscar.py` Set `WORK_DIR`, `ELEMENTS`, and optional `CELL`. The script calls `aenet_env.xyz.convert_xyz_tree(WORK_DIR, WORK_DIR, elements=ELEMENTS, cell=CELL)` to convert numbered periodic XYZ structures to VASP5 POSCAR files with grouped elements. The supplied example uses `SiO2`, `('Si','O')`, and `CELL=None`. Check periodic cells, element order, and output paths before running. ## b01 — `b01_stage_structures.py` Set `WORK_DIR`. `aenet_env.structures.discover_flat_cases` discovers and reports calculation cases and checks for POSCAR files. **The supplied v0.0.3 script only inspects cases; it does not copy or relocate structures.** ## b02 — `b02_prepare_vasp.py` Set `CALCULATIONS_DIR`, `POTCAR_ROOT`, `ELEMENTS`, `KPOINT_GRID`, and `INCAR_TAGS`. `load_or_discover_cases` finds cases, and `vasp_inputs.prepare_vasp_inputs` prepares INCAR, KPOINTS, and POTCAR. The example uses `ENCUT=520 eV`, `EDIFF=1e-5`, `NSW=0`, `IBRION=-1`, `ISMEAR=0`, `SIGMA=0.1`, `ISPIN=1`, and a Gamma-only `(1,1,1)` mesh. These are **example single-point settings**, not converged settings for all materials. Verify PAW datasets, cutoff, k-mesh, spin, and convergence. The example `~/potpaw_PBE.64` is site-specific. ## b03 — `b03_submit_vasp_jobs.py` Set `WORK_DIR`, `CALCULATIONS_DIR`, `JOB_FILE`, `SUBMIT_COMMAND`, and `SUBMIT`. The script verifies POSCAR, INCAR, KPOINTS, and POTCAR, reuses or copies a job script, and optionally submits each case. The example uses `job_hpcs2024_node1.sh`, `('qsub',)`, and `SUBMIT=True`. **Set `SUBMIT=False` for a preliminary check**; inspect queue settings, resource requests, and existing outputs. Site-specific scheduler logic belongs in the example script, not the reusable package. ## c00 — `c00_collect_references.py` Set `VASP_CASES_DIR` and `REFERENCES_DIR`. `aenet_env.references.collect_reference_xsf` collects training XSF references from VASP results (`vasprun.xml`). Verify SCF convergence, cells, element ordering, energies, forces, units, and missing/failed jobs before accepting references. ## c01 — `c01_train_ann.py` The script collects `*.xsf` under `REFERENCES=ROOT/'references'` and delegates to `aenet_env.training`. Enable **exactly one** of `fortran_legacy`, `fortran_normal`, `aenet_python_torch`, and `separate_aenet_pytorch` in `main()`. The attached v0.0.3 example enables `fortran_normal(refs)`. See Training parameters for configuration and model-specific caveats. ## Stage boundaries `b00 → b01 → b02 → b03 → c00 → c01` is a representative workflow, not a required package execution order. Validate structure construction, DFT input validity, completed calculations, reference labels, ML accuracy, and any RMC_POT application **separately**. SiO₂ paths and constants correspond to the v0.0.3 example. Related: [v0.0.3 project guide based on the current README](project_readme.md).