@@ -50,3 +50,54 @@ lrdmc parameters
5050 "lrdmc_force_calc_flag", "bool", "False", "if True, compute energy and force, if False, compute only energy"
5151 "lrdmc_pw_regularization", "float", "0.0", "if it is > 0.0, the Pathak-Wager regularization is turned on."
5252 "lrdmc_maxtime", "int", "172000", "maximum time (sec.)"
53+
54+
55+ Description
56+ --------------------------------
57+
58+ In the :class: `LRDMC_workflow ` class, the LRDMC (Lattice Regularized
59+ Diffusion Monte Carlo) workflow is executed asynchronously (via
60+ :meth: `async_launch `). The workflow runs LRDMC in a continuation loop (up to
61+ :attr: `lrdmc_max_continuation ` runs). For each continuation index
62+ :math: `i_{\mathrm {cont}}`:
63+
64+ **test run (icont = 0) **
65+
66+ - Uses fixed trial steps (:attr: `lrdmc_trial_steps `) to produce energy and
67+ error-bar data. Optionally enforces a minimum trial length when
68+ :attr: `lrdmc_safe_trial_steps ` is :const: `True ` (40 blocks plus warmup).
69+ - No step estimation is performed.
70+ - Results are used by the next run to estimate required LRDMC steps.
71+
72+ **production run (icont ≥ 1) **
73+
74+ - Loads the previous run's results from the corresponding pkl file and reads
75+ the number of MCMC steps from ``fort.12 `` (with twist-averaging adjustment
76+ when :attr: `lrdmc_twist_average ` is enabled).
77+ - If the current error bar is below 1.1 × :attr: `lrdmc_target_error_bar `, the
78+ workflow exits early and returns the current energy and error (target
79+ achieved).
80+ - Otherwise, estimates the total steps required to reach
81+ :attr: `lrdmc_target_error_bar ` via
82+ :math: `N_{\mathrm {total}} \propto (\sigma / E_{\mathrm {target}})^2 `, then
83+ sets the *additional * steps for this run to
84+ :math: `\max (N_{\mathrm {total}} - N_{\mathrm {done}}, 1 )`.
85+ - Estimates runtime and builds a :class: `LRDMC_genius ` instance with the
86+ (additional) ``lrdmcsteps ``, generates input, and submits the job.
87+
88+ For each run, the workflow waits for job submission and completion (using
89+ :func: `asyncio.sleep `), fetches output files (e.g. ``fort.11 ``, ``fort.12 ``,
90+ ``out_fn_* ``, ``parminimized.d ``), computes energy and forces with the
91+ configured bin block and warmup blocks, stores results, and persists state
92+ in pkl files under the ``pkl `` directory.
93+
94+ If all continuation pkl files already exist and :attr: `lrdmc_rerun ` is
95+ :const: `False `, the calculation is skipped. On success, the method returns
96+ (status, list of output file paths, and an output-values dict containing
97+ ``"energy" `` and ``"error" ``).
98+
99+ See also
100+ --------------------------------
101+
102+ - :class: `turbogenius.lrdmc_genius.LRDMC_genius ` — LRDMC driver used for
103+ input generation and result handling.
0 commit comments