ATAT3.52 pollmach + VASP6.5.1 GPU: bounded Slurm workflow

Fresh calculation: bash run.sh
Provided scientific outputs: bash analyze.sh
Fresh analysis again: bash analyze.sh work

Requires existing personal ATAT configuration, licensed Si PAW PBE potential
and VASP/V10016 Slurm permission. yskit atat-init creates missing personal
defaults while preserving existing configuration. No POTCAR, WAVECAR,
binaries, private configuration or full OUTCAR are included. Reference
scientific-output.txt contains only actual convergence, final force/stress
and normal-finish excerpts. Reference processing is not a new SCF.

One Slurm allocation, one GPU/CPU/rank/thread. runstruct_vasp -nr generates
inputs; the selected GPU binary executes; runstruct_vasp -ex extracts
results. The default atat-vasp CPU6.4.2 wrapper is not silently changed.

Three two-atom diamond Si cells a=5.40/5.43/5.46A, ENCUT400, EDIFF1e-6,
Gaussian .05eV, Gamma4x4x4. These are static SCFs, not a converged EOS or CE.

Native pollmach calculates two pending structures, clean stop preserves
the third wait, restart calculates it, and repeated completed waits launch
zero extra VASP calls. A structure lock refuses a duplicate worker.
pollmach success alone does not prove its child succeeded: inspect Slurm
and the real scientific output. The wrapper skips an existing energy;
verify that its associated output is complete before trusting that marker.

energy is the last OSZICAR F for the whole cell, not E0 or per atom.
stress.out is the symmetric VASP tensor in kbar; force.out is eV/A.
Independent parsing checks all transfers. Initial MPI binding failed
before any SCF; records are retained privately. --bind-to none now uses
the one-core Slurm cpuset with OMP1. No shared software or config changed.

Reference plots reproduce exactly; new SCFs must meet the unchanged
scientific/transfer gates and fresh plots need not match byte for byte.
