| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
parent directory.. | ||||
runstruct_abacus is a lightweight interface script connecting ATAT (Alloy Theoretic Automated Toolkit) with ABACUS (Atomic-orbital Based Ab-initio Computation at UStc). It automatically converts ATAT's str.out structure files into ABACUS INPUT/STRU input files, runs the DFT calculation, and extracts results back into ATAT-compatible formats (energy, str_relax.out).
No installation is required. Simply place runstruct_abacus in your $PATH (or in the same directory as other ATAT runstruct_* scripts) and ensure it is executable:
chmod +x runstruct_abacusCreate this file in your home directory to tell the interface where ABACUS lives:
#!/bin/bash
ABACUSCMD="abacus" # or "mpirun -np 4 abacus"The script will auto-generate a template if this file does not exist.
abacus.wrap is almost a standard ABACUS INPUT file. The script copies nearly every line verbatim into INPUT, except for species lines which are consumed by the script to build the STRU file.
INPUT_PARAMETERS
calculation vc-relax
ecutwfc 50
basis_type lcao
kspacing 0.15
pseudo_dir /path/to/pseudopotentials
orbital_dir /path/to/numerical_orbitals
species Al 26.982 Al_ONCV_PBE-1.0.upf Al_gga_7au_60Ry_2s2p1d.orb
species Fe 55.845 Fe_ONCV_PBE-1.0.upf Fe_gga_8au_100Ry_2s2p2d1f.orbspecies <Element> <Mass> <PP_File> [<Orb_File>]| Field | Description |
|---|---|
| Element | Chemical symbol (e.g., Al, Fe) |
| Mass | Atomic mass. Use - to look up from the built-in table |
| PP_File | Pseudopotential filename. Use - to auto-search in pseudo_dir |
| Orb_File | Numerical orbital filename (required for LCAO). Use - to auto-search in orbital_dir |
If auto-search finds zero or more than one match for an element, the script aborts and prints a helpful message asking you to add an explicit species line.
runstruct_abacus [-w file] [-nr] [-ex] [-clean] [cmdprefix]| Command | Behavior |
|---|---|
| runstruct_abacus | Full pipeline: Generate INPUT + STRU → Run ABACUS → Extract energy, str_relax.out |
| runstruct_abacus -nr | No-Run: Generate INPUT + STRU only. Useful for manual inspection or external job schedulers. |
| runstruct_abacus -ex | Extract-Only: Skip generation and execution. Extract results from existing OUT.suffix/ directory. |
| runstruct_abacus -clean | Cleanup: Delete all output files (OUT.*/, running_*.log, energy, str_relax.out) and exit. |
The optional cmdprefix argument lets you prepend any launch command—most commonly MPI wrappers:
# Run with 4 MPI ranks
runstruct_abacus "mpirun -np 4"
# Run with srun (SLURM)
runstruct_abacus "srun -n 8"
# Run on a specific node (similar to Abinit's node-prefix syntax)
runstruct_abacus "ssh node02 mpirun -np 16"The prefix is inserted directly before $ABACUSCMD:
$CMDPREFIX $ABACUSCMD > log.out 2>&1runstruct_abacus -w my_custom.wrapIf the specified file is not found in the current directory, the script searches upward (../, ../../, ../../../) exactly like the default abacus.wrap.
# Inside a numbered ATAT subdirectory, e.g., 1/, 2/, ...
cd 1/
# 1. Generate inputs and run
runstruct_abacus
# 2. Or generate only, then submit to cluster manually
runstruct_abacus -nr
# ... user submits job via qsub/sbatch ...
runstruct_abacus -ex # extract after job finishes
# 3. Clean and restart if needed
runstruct_abacus -clean
runstruct_abacus| File | Description |
|---|---|
| INPUT | ABACUS control parameters (filtered from abacus.wrap) |
| STRU | ABACUS structure file (lattice, species, coordinates) |
| energy | Final total energy in eV (ATAT standard unit) |
| str_relax.out | Relaxed structure in ATAT str.out format |
| log.out | Raw ABACUS stdout/stderr |
Both abacus.wrap and str.out follow ATAT's upward-search convention:
| File | Search Order |
|---|---|
| abacus.wrap | ./ → ../ → ../../ → ../../../ |
| str.out | str_hint.out (preferred) → str.out |
This allows a single abacus.wrap (and optionally a shared ~/.abacus.rc) to serve an entire ATAT enumeration tree.
[Fill in according to your project license]
For issues related to the ABACUS engine itself, please visit:
| Back | FazBrowse Home | New Git URL |