Running QMCPACK restarts#
Request a restart through a simulation dependency:
qmc2 = generate_qmcpack(
...,
dependencies = [(conv,'orbitals'),
(qmc1,'restart')],
)
The final QMC section in qmc1 must enable checkpointing. Nexus reads its
continuation XML and checks for both the walker and random-state HDF5 files.
Two directory layouts are supported:
Separate directories keep each simulation’s files isolated and make each run easier to inspect independently, but use more directories and relative paths to the checkpoint.
A shared directory preserves QMCPACK’s conventional continuous project series in one place, but co-locates the output and requires distinct Nexus identifiers to protect Nexus-managed files.
Separate directories#
Give the two simulations different paths. Nexus writes an mcwalkerset
with a relative path to the checkpoint and retains the project ID of qmc2.
See 05_diamond_dft_dmc_restart/diamond_lda_dmc_restart_separate_dirs.py
in examples/qmcpack/rsqmc_quantum_espresso for a complete workflow.
qmc1 = generate_qmcpack(identifier='dmc',path='diamond/dmc_initial',...)
qmc2 = generate_qmcpack(
identifier = 'dmc_restart',
path = 'diamond/dmc_restart',
dependencies = (qmc1,'restart'),
...,
)
Same directory#
Use distinct Nexus identifiers but the same path. Nexus continues the
QMCPACK project ID and series from the continuation XML, producing successive
files such as dmc.s001.* and dmc.s002.* without colliding Nexus input,
output, error, or analyzer files.
See 05_diamond_dft_dmc_restart/diamond_lda_dmc_restart_same_dir.py for a
complete workflow.
qmc1 = generate_qmcpack(identifier='dmc',path='diamond/dmc',...)
qmc2 = generate_qmcpack(
identifier = 'dmc_restart',
path = 'diamond/dmc',
dependencies = (qmc1,'restart'),
...,
)
Twist averaging#
The same patterns apply to twist-averaged calculations. The initial and
restarted simulations must have matching twist grids; Nexus pairs and checks
the checkpoint for each twist. Both directory layouts are demonstrated in
examples/qmcpack/rsqmc_quantum_espresso/06_diamond_dft_dmc_twistavg_restart.