Smoke Test — Minimal Fast Run
Purpose
Quickly test installation and pipeline functionality with reduced computational cost.
This example: - Uses smaller supercell - Uses small topk - Uses top-N filtering - Can stop early
Run only steps 00–04:
dopingflow run-all -c input.toml --start 0 --stop 4
Example input.toml
[structure]
outdir = "random_structures"
[references]
reference_mode = "metal"
host = "SnO2"
host_dir = "reference_structures/"
supercell = [ 5, 2, 1]
metals_ref = [ "Ti","Zr","Nb","Sb","Sn"]
oxides_dir = "reference_structures/"
fmax = 0.02
skip_if_done = false
[generate]
poscar_order = ["Ti","Zr","Nb","Sb","Sn","O"]
seed_base = 2026
clean_outdir = true
[scan]
poscar_in = "POSCAR"
topk = 10
symprec = 1e-3
max_enum = 10
n_workers = 4
chunksize = 10
anion_species = ["O"]
max_unique = 50000
skip_if_done = false
mode = "auto"
sample_budget = 5000
sample_batch_size = 64
sample_patience = 1000
sample_seed = 42
sample_max_saved = 10000
device = "cpu"
[doping]
mode = "explicit"
host_species = "Sn"
compositions = [
{ Sb = 5.0, Ti = 5.0 },
{ Sb = 5.0, Zr = 5.0 },
{ Sb = 10.0, Nb = 5.0 }
]
[relax]
fmax = 0.05
n_workers = 4
tf_threads = 1
omp_threads = 1
skip_if_done = true
skip_candidate_if_done = true
device = "cpu"
[filter]
mode = "window"
window_meV = 50.0
max_candidates = 12
skip_if_done = false
[bandgap]
skip_if_done = false
cutoff = 8.0
max_neighbors = 12
n_workers = 4
device = "cpu"
[formation]
skip_if_done = true
normalize = "per_dopant"
[database]
Expected Result
You should obtain:
random_structures/<composition>/
ranking_scan.csv
ranking_relax.csv
ranking_relax_filtered.csv
This confirms: - generation works - scan works - relaxation works - filtering works