You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
"queue size" bug. Batch machines often have limits on the queue size (number of jobs that can be submitted to the queue at one time). Nexus users can set a queue size limit to match this behavior. The feature works fine if the Nexus script is run without interruption. However when rerunning post-interruption, Nexus (often/always?) stops submitting new jobs.
"bundle" bug. When using the bundle function (a simulation object wrapper around other simulation objects), sometimes the bundle simulation will not complete properly. When this happens (or sometimes without?), large swaths of other simulations in the workflow DAG will cease functioning. Might also interact with interrupts.
Documentation for all user-facing generate_* functions, both in the manual and as docstrings. Also settings, job, and ppset. This is likely the single most beneficial documentation task.
Many new user examples illustrating various features, input styles, and code interfaces. Organized in the examples directory, with README's, and described in the manual.
Documentation and examples for structure manipulation operations. Docstrings for the useful functions, examples of combined use to manipulate structures (file read/write, tiling, finding the "best" supercell, bounding box for molecules, molecular composition, distance/vector/neighbor tables, adding/removing layers, element labeling, creation and use of mask arrays for atomic selection and modification, etc).
Examples for simulation input read/manipulate/write
Examples for pseudopotential read/manipulate/write, including file format conversions
Examples for gaussian basisset read/manipulate/write, including file format conversions
Documentation and examples for other file I/O classes
Docstrings for other major functions, classes, and member functions. Classes: Settings, Job, Supercomputer (derived), Simulation (derived), ProjectManager
Dynamic workflows. Removes the DAG workflow constraint. Use native python code to create arbitrary workflows. Enables construction of true QMC algorithms built upon individual calculations (converge to target errorbar, pick the best Jastrow among independent runs, timesteps extrap, finite size extrap, SHDMC, etc). Also enables construction of recovery upon failure workflows.
New codes, e.g. ORCA
Slurm machine class. Enables job management on arbitrary Slurm machines. Obviates the need for many users to add custom classes for each machine they have access to.
Slurm job class. Similarly provides generic support for all flags/keys/etc relating to Slurm jobs.
Hunt for (will require digging!) and add other QMCPACK input parameters
Hardening status checks for completed runs. Carefully delineate between failure and success based on thorough checks. Also needed to enable dynamic workflows, which demand higher accuracy on this task (supports essential logic based on run failure/success).
Improvements to analyzer classes. Capture wider array of simulation outputs/products. Reduce nesting to simplify user access to these quantities.
Automatic pseudopotential download and use (e.g. ccECP, SSSP)
Automatic k-point grid selection
Automatic selection of supercell sequences
Automatic pw energy cutoff selection
Automatic meshfactor and hybrid rep setup
Automatic job design (essential for HPC machines). Node count, walker samples, walltime. Obeying machine-specific node/walltime limits. Compute resource constraints ("don't burn more than X node hours").
Models to estimate input samples required to produce target energy errorbar
Models to estimate runtime, etc, perhaps accomplished by exploratory short/small run for calibration. Supports automation of job design.
Automatic detection of anomalous events (e.g. population explosions, other energy instabilities)
Automatic recovery upon failure (e.g. for failed scf convergence, wavefunction optimization, dmc pop explosions, etc)
Algorithms: timestep extrapolation, finite size extrapolation, equation of state, high quality density estimation, U/exact exchange scans, etc. See dynamic workflows above.
Nexus bugs/docs/features with high benefit to fix/write/implement. The goal is to maximize the impact of expended developer time.
Bugs
Added by @jtkrogel
bundlefunction (a simulation object wrapper around other simulation objects), sometimes the bundle simulation will not complete properly. When this happens (or sometimes without?), large swaths of other simulations in the workflow DAG will cease functioning. Might also interact with interrupts.Documentation
Added by @jtkrogel
generate_*functions, both in the manual and as docstrings. Alsosettings,job, andppset. This is likely the single most beneficial documentation task.Structure,Crystal, and somegeneratefunctions. #6018examplesdirectory, withREADME's, and described in the manual.Structurefunctions. #5971Settings,Job,Supercomputer(derived),Simulation(derived),ProjectManagerNew Features
Added by @jtkrogel
Added by @brockdyer03
pseudopotential.pyuser interface to be more object-oriented.Other Developer Tasks
Added by @jtkrogel
Added by @brockdyer03
loggingandwarnings.warningslibrary #6007physical_system.pyto use a more minimal and obvious interface.physical_system.py#6010fileio.pyto make accidental opening without closing less likely.pathlib.Patheverywhere. (requires lengthy discussion and testing, may never happen)Automation Support (High value: reduces precious human time)
Added by @jtkrogel