Open this only when you need the exact published case record, hashes, historical commands, or replay boundary.
Inspect stored evidence or run a fresh calculation
Inspect stored evidence
This track reads the published, hash-bound case records and does not launch a new DFT calculation.
Reconstruct the stored public evidence
case_root=examples/cases/silicon-ground-state-electronic-structure
(cd "$case_root" && bash replay-derived.sh)
(cd "$case_root" && bash extract.sh)
(cd "$case_root" && bash check.sh)
Output policy: Rebuild only the case-derived tables, figures, manifest relationships, and isolated-copy checks from committed source/input/output records.
Audit
- Confirm that parsing starts from the declared stored raw outputs.
- Retain solver warnings and time-reversal-reduced sampling labels.
- Check artifact relationships and hashes without treating them as observable convergence.
Parse and plot boundary: These commands parse and plot the stored public record; they do not prove that a new DFT calculation ran.
Boundary: Stored reconstruction supports parser and artifact lineage only, not historical continuity, fresh execution, target-observable convergence, or scientific acceptance.
Run a fresh calculation
This track launches software in a caller-controlled runtime directory. Its new outputs do not rewrite the historical records published in the case bundle.
Run a fresh relaxation and static SCF, then stop
set -euo pipefail
case_root=examples/cases/silicon-ground-state-electronic-structure
prepared=/absolute/path/outside/the/repository/silicon-prepared
runtime=/absolute/path/outside/the/repository/silicon-fresh-reference
QE_PW=${QE_PW:?Set QE_PW to the absolute path to pw.x}
test -x "$QE_PW"; test -s "$prepared/pseudo/Si.pbe-n-rrkjus_psl.1.0.0.UPF"; test ! -e "$runtime"
printf '%s %s\n' 'ae3aefd0811f9499dbc4a72f1f9ae02ef4fc7f3568bf6f559b68668719c69e2b' "$prepared/pseudo/Si.pbe-n-rrkjus_psl.1.0.0.UPF" | sha256sum --check -
mkdir -p "$runtime/relax/out" "$runtime/relax/pseudo"
cp "$case_root/input/si-relax.in" "$runtime/relax/si-relax.in"; cp "$prepared/pseudo/Si.pbe-n-rrkjus_psl.1.0.0.UPF" "$runtime/relax/pseudo/"
(cd "$runtime/relax" && "$QE_PW" -in si-relax.in > si-relax.out 2> si-relax.err)
grep -Fqx ' JOB DONE.' "$runtime/relax/si-relax.out"; grep -F 'bfgs converged' "$runtime/relax/si-relax.out"
awk '/Forces acting on atoms/{block=$0 ORS; inside=1; next} inside{block=block $0 ORS} inside && /Total force =/{last=block; inside=0} END{if (last == "") exit 1; printf "%s", last}' "$runtime/relax/si-relax.out"
sed -n '/Begin final coordinates/,/End final coordinates/p' "$runtime/relax/si-relax.out"
ACCEPT_RELAX_GEOMETRY=${ACCEPT_RELAX_GEOMETRY:?After inspecting the final force block, criteria, constraints, and coordinates, set ACCEPT_RELAX_GEOMETRY=yes}
test "$ACCEPT_RELAX_GEOMETRY" = yes
mkdir -p "$runtime/reference/out" "$runtime/reference/pseudo"
awk '/^Begin final coordinates/{seen=1; next} seen && /^ATOMIC_POSITIONS/{print; getline; print; getline; print; exit}' "$runtime/relax/si-relax.out" > "$runtime/reference/final-positions.inc"
test "$(wc -l < "$runtime/reference/final-positions.inc" | tr -d '[:space:]')" = 3
awk 'FNR==NR {replacement[++n]=$0; next} /^ATOMIC_POSITIONS[[:space:]]/ {for (i=1; i<=n; i++) print replacement[i]; skip=2; next} skip {skip--; next} {print}' "$runtime/reference/final-positions.inc" "$case_root/input/scf.in" > "$runtime/reference/static-scf.in"
cp "$prepared/pseudo/Si.pbe-n-rrkjus_psl.1.0.0.UPF" "$runtime/reference/pseudo/"
diff -u "$case_root/input/scf.in" "$runtime/reference/static-scf.in" || test "$?" = 1
(cd "$runtime/reference" && "$QE_PW" -in static-scf.in > static-scf.out 2> static-scf.err)
grep -Fqx ' JOB DONE.' "$runtime/reference/static-scf.out"; grep -F 'convergence has been achieved' "$runtime/reference/static-scf.out"; test -d "$runtime/reference/out/si_cod9013102.save"
printf '%s\n' 'STOP: no fresh bands or DOS calculation is supplied here; inspect the stored branches separately.'
Output policy: Use one new caller-selected external directory for the fresh relax-to-static-SCF lineage; never overwrite committed evidence or reuse the older bands/DOS files as descendants.
Audit
- Record the shell exit and inspect every stdout and stderr independently.
- Check program termination separately from electronic SCF convergence.
- For relaxation, inspect ionic criteria, final coordinates, forces, and constraints rather than JOB DONE alone.
- Confirm every expected downstream artifact before parsing or interpretation.
- Test the selected target observable with its own numerical convergence protocol.
- State the scientific claim only after the evidence supports it.
Parse and plot boundary: No fresh bands or DOS parsing is attempted. The public stored bands, DOS, tables, and plots remain a separate historical evidence set.
Boundary: This present-day route creates a direct fresh relaxation-to-static-SCF lineage and stops there. The new static SCF is not the parent of the stored bands or DOS; a future compatible bands/NSCF/DOS branch must inherit this new prefix, outdir, and save tree and has not been prepared or run here.
Reproduce the exact published evidence
Use this section after understanding the scientific route. It retrieves the exact reviewed checkout and keeps new runtime evidence separate from the published case.
Repository: https://github.com/Maxwell3919/DFT-Research-Workflow.git
Source revision: 2ba561ac0937a938764bc283b25edb3a4700ece0
Working directory: repository-root
Case root: examples/cases/silicon-ground-state-electronic-structure
git clone https://github.com/Maxwell3919/DFT-Research-Workflow.git
cd DFT-Research-Workflow
git checkout --detach 2ba561ac0937a938764bc283b25edb3a4700ece0
test "$(git rev-parse HEAD)" = "2ba561ac0937a938764bc283b25edb3a4700ece0"
case_root=examples/cases/silicon-ground-state-electronic-structure
Open the Silicon source record before preparing a calculation
Run from: repository-root
case_root=examples/cases/silicon-ground-state-electronic-structure
sed -n '1,120p' "$case_root/source/silicon-cod-9013102.cif"
cat "$case_root/source/silicon-cod-9013102.sanitization.json"
cat "$case_root/source/pseudopotentials.json"
Boundary: This action exposes the downloaded structure, its representation receipt, and the pseudopotential identity record. It does not prepare or launch QE, accept the model, or establish numerical suitability.
Exact case bundle files
This page is a reader-facing entry point for the case directory. Inspect the files themselves for the exact source record, input, command scope, raw or sanitized output, checks, extraction, parser, derived data, and figure lineage.
Recorded commands and outputs
These records distinguish captured output, replay instructions, and unavailable historical shell details. Records may belong to different declared routes; adjacency on this page does not establish one continuous run. An exit is shown only when the manifest scopes where that value came from, and a QE terminal marker is not silently converted into a shell exit code.
Case-wide timing boundary: No case-wide start, completion, or exit is claimed. 2026-08-05T00:06:24+08:00 is only the latest QE-printed termination among separately recorded artifacts.
Assembled stored real QE 7.5 stages
Route ID: assembled-stored-output-set
Route timing: 2026-08-04T20:44:32+08:00 to 2026-08-05T00:06:24+08:00. Earliest and latest QE-printed timestamps across the assembled artifact set only; this is not a continuous case run or publication-completion window.
Exact historical command: Not captured for the historical stages. run.sh contains a present-day replay template, not the original launcher.
Exact historical exit: Shell exit codes were not retained. Each declared stdout has one QE JOB DONE marker; that marker is reported separately.
- The cutoff, relax/restart, electronic, DOS, Gamma-response, and nominal-grid outputs were recorded as separate stage groups.
- Inputs and outputs are hash-bound; cross-route scheduler records and save-tree payloads are absent.
- No single run.sh invocation is claimed for the historical artifact set.
Boundary: Assembled real stages do not establish one continuous historical execution, observable convergence, or a material-level scientific claim.
Stored nominal-8x8x8 bands route
Route ID: stored-260-point-time-reversal-reduced-bands
Route timing: 2026-08-04T22:26:20+08:00 to 2026-08-04T22:27:05+08:00. QE-printed timestamps for output/full-zone/scf.out, bands-pw.out, and bandsx.out only.
Exact historical command: Historical shell launcher not captured; replay commands and ordering are declared in run.sh.
Exact historical exit: Shell exit codes not captured; all three stdout files print JOB DONE and the three committed stderr files are empty.
- input/full-zone/scf.in -> output/full-zone/scf.out
- input/full-zone/bands.in declares the same prefix/outdir -> output/full-zone/bands-pw.out
- input/full-zone/bands.x.in -> output/full-zone/bandsx.out -> output/full-zone/si-fullzone.bands.dat
- nosym=.true. with no noinv=.true. retained time-reversal equivalence, producing 260 printed k points from the nominal 8x8x8 grid.
Boundary: The save-tree payload is not published; the hash-bound input/output declarations support stage ancestry, not a converged fundamental gap.
Optional native replay template
Route ID: native-replay-template
Route timing: start not recorded to completion not recorded. Not executed by this provenance edit; no Maxwell replay result is recorded.
Exact historical command: The caller-facing invocation and program order are in run.sh.
Exact historical exit: Not recorded for the updated template.
- prepare-replay.py binds the exact public CIF to the declared two-site primitive geometry and obtains only the pinned SSSP archive member after archive/member checks.
- A caller-supplied UPF must match the declared SHA-256 before any QE executable starts.
- run.sh creates a new caller-selected runtime directory and never supplies the missing historical save trees.
Boundary: The pinned archive/member route establishes exact replay-byte identity only. It does not establish pseudopotential transferability, numerical convergence, physical validity, or a material-level claim.
stored real QE stage set · exit not recorded
Route: assembled-stored-output-set
Record kind: recorded-output-only
Exact historical shell commands and launcher were not captured; inspect the hash-bound inputs and stdout records.
Evidence scope: Real QE 7.5 stdout is present for the declared stages; one historical continuous run is not claimed.
Exit scope: Shell exits not recorded; QE JOB DONE markers remain program-output evidence only.
Inputs: input/*.in -> input/full-zone/*.in
Outputs: output/*.out -> output/full-zone/*.out -> output/full-zone/si-fullzone.bands.dat
native replay template · exit not recorded
Route: native-replay-template
Record kind: replay-command-not-executed-by-this-edit
PSEUDO_DIR=/absolute/path/to/pseudo QE_PW=pw.x QE_BANDS=bands.x QE_DOS=dos.x QE_PH=ph.x QE_LAUNCHER='mpirun -np 4' bash run.sh
Evidence scope: Exact current replay invocation; not an assertion about the historical launcher.
Exit scope: No fresh replay exit is recorded.
Inputs: prepare-replay.py -> run.sh -> input/*.in -> input/full-zone/*.in -> source/pseudopotentials.json
Outputs: caller-selected external preparation and runtime directories (not committed)
rebuild derived artifacts from stored outputs · exit not recorded
Route: stored-output-postprocess
Record kind: available-command-not-rerun-by-this-edit
bash replay-derived.sh
Evidence scope: Operates on stored outputs only; it does not launch QE.
Exit scope: No fresh exit is recorded pending the later replay follow-up.
Declared parents: source/ -> input/ -> output/
Outputs: derived/ -> figures/ -> manifest.json
isolated case check · exit not recorded
Route: stored-output-postprocess
Record kind: isolated-copy-check-command-not-rerun-by-this-edit
bash check.sh
Evidence scope: check.sh copies the case to a temporary directory before parse.py materializes files.
Exit scope: No fresh exit is recorded pending the later replay follow-up.
Inputs: check.sh -> parse.py -> source/ -> input/ -> output/
Source-bound excerpt: source/output-excerpt.txt
SCF: Quantum ESPRESSO PWSCF v.7.5; 29 irreducible k points; 4 Kohn-Sham states.
SCF: convergence has been achieved in 10 iterations; JOB DONE.
bands: Quantum ESPRESSO PWSCF v.7.5; 260 time-reversal-reduced k points from a nominal 8x8x8 grid; 8 Kohn-Sham states.
bands: End of band structure calculation; JOB DONE.
bands.x: Quantum ESPRESSO BANDS v.7.5; JOB DONE.
All three captured stderr streams were empty.
Complete artifact appendix
Stage-scoped lists above identify only the artifacts critical for reading each stage. This appendix retains every artifact declared by the case manifest, including supporting inputs, outputs, checks, tables, and figures.
Show every manifest-bound artifact and checksum
- source/output-excerpt.txt — deterministic public output excerpt rendered by the Worked Workflow; SHA-256
26e8498be220c2c64e6c7996a47628f3f60a1cd9f3733e14c9da6331cbc3c1e6 - derived/convergence.csv — convergence_table; SHA-256
b9ad834441ec6f96c0871cdc6477d6f7d011ec401f3813d47bc01bd269a84c86 - derived/band-path.csv — band_path_table; SHA-256
5d140d9e2cf5ca039cd1d13e5dfd157aeabc2e969ca89f61fcefbc4e745a6841 - derived/full-zone-bands.csv — time_reversal_reduced_zone_table; SHA-256
5f181b3b664353a5a46bdd71a0841975f623d7eaf26aa21260266f90d65b53b9 - derived/dos.csv — dos_table; SHA-256
b2bbe7e1f52bfb71a212a8ae3682d143a9faa00adfb1a68cf849f0cfdd94b941 - derived/observables.json — observable_report; SHA-256
8f27a4cd306332ca21e9f16d89dc58b186665f759008c1de15e2e94cdcc6a5c6 - derived/full-zone-status.json — time_reversal_reduced_zone_result; SHA-256
4bafa7f633726f42f333d723e483e0d025c389c8cfece082f9f9fcd70fe5ca1a - output/full-zone/scf.out — full_zone_scf; SHA-256
e7e5d0a752d0b5940c04eac630dc925e4a98c7537010d3d2899a62e84f9797ef - output/full-zone/bands-pw.out — time_reversal_reduced_bands_pw; SHA-256
3c25f43a5e4eaa78e35eff57a300ab3c51bd8bb974e34e30c2a20375aad2da5b - output/full-zone/bandsx.out — time_reversal_reduced_bandsx; SHA-256
9d4deac9e49b3e33ff3e8bdcdcb4139122074217fd721de134ec1539039cb6e6 - output/full-zone/si-fullzone.bands.dat — time_reversal_reduced_band_data; SHA-256
46fc87a9741eb6abb6ec527e0374878b2efef191414027dab3d54b070b33fabc - figures/convergence-matrix.png — cutoff and k-mesh energy-difference plot; SHA-256
1fd386c9b80a8bc76d37ff7e9abb073aae65079f99b2696e01745e4c1d86e984 - figures/band-path.png — line-path band plot with solver warning retained; SHA-256
50108e1b6c391380d85f35bc8fae59fa747fee1f053ba4ffdfadbda62e1cdc0f - figures/full-zone-bands.png — full-zone occupied and empty band samples; SHA-256
b1fffd7acbe40d02c51b6ba3fe21489766aa1e9d130d1951995a7ceb955c29dd - figures/dos.png — tetrahedron density-of-states plot; SHA-256
33f2d775d055c51805eae489a0a1ff3f816e1059760ca42aeded51b1fb965494 - figures/gamma-response.png — Gamma-point phonon and electronic-response plot; SHA-256
10f3f85fb24856d21ed404bd648b4d3b95d32bb6b12292eecd55319e10bb5257
Evidence boundary
Evidence class: real-execution.
- Quantum ESPRESSO 7.5 (pw.x, bands.x, dos.x, ph.x recorded output)
- Python 3.12.11 (stored-output parser)
- pymatgen-core 2026.7.31 (manual CIF parsing and occupancy checks)
- spglib 2.7.0 (manual symmetry and primitive-cell checks)
Execution host: Recorded public QE output; no host-private path retained.
- Inputs and identity
- Recorded as passed within the stated scope. Stored source/input/output identities and generated artifact relationships carry the existing case PASS; the manual preparation source is hash-bound but this parser does not download or redistribute the UPF.
- Program completion
- Recorded as passed within the stated scope. Each declared stored QE 7.5 stdout has one JOB DONE marker; shell exit codes remain separately unrecorded.
- Electronic solver and ionic or structural checks
- Warnings or limitations are retained. SCF/relax/restart and Gamma response markers are present, but line-path bands retain c_bands eigenvalue-not-converged warnings
- Artifacts and stage ancestry
- Recorded as passed within the stated scope. The nominal 8x8x8 SCF, bands, bands.x and 260-point time-reversal-reduced eight-band data are hash-bound and directly parsed.
- Observable convergence
- Not established by this case. the 3 by 3 total-energy matrix has no accepted observable-specific stable-tail protocol; no DOS, phonon, dielectric, or band convergence evidence
- Claim boundary
- No material-level claim is made. no fundamental gap, physical stability, dielectric, phonon, or experimental-material conclusion is claimed
What this case supports
- An assembled set of hash-bound, separately recorded real QE 7.5 stage inputs, outputs, and derived plots.
- Direct parsing of the recorded 260-point, eight-band time-reversal-reduced sample from the nominal 8x8x8 grid.
- A fail-closed manual bridge from the exact public COD CIF to the declared two-site QE geometry and exact-hash SSSP archive member.
What this case does not support
- One continuous historical launcher, shell-exit transcript, case-wide execution interval, or cross-route save-tree ancestry.
- Pseudopotential transferability or scientific suitability beyond the exact archive/member identity checks.
- A transferable cutoff or k-mesh recommendation.
- A converged band gap, DOS, phonon, dielectric, structural-stability, physical-validity, or experimental-material conclusion.
Program completion, solver convergence, observable convergence, and physical interpretation are separate gates. The case check and parser report their tested scope; an absent gate is not implied by a passing earlier one.
Research-workflow context
Use this case together with Research Workflow for the A–E scientific map. The case illustrates one bounded case and its declared routes; it does not prescribe parameters or establish a general material conclusion.