Molten Salts
The molten salt example demonstrates an ALF workflow for periodic ionic systems. It is intended for workflows where the builder constructs charge-balanced atomic systems and the QM stage labels selected configurations with VASP.
The files needed to run the example are located in examples/molten_salt.
Before You Run
This example is a template for a periodic VASP + HIPPYNN workflow. Before running it on a new machine:
Edit
parsl_configs.pyfor the target Slurm partition, account, QoS, walltime, worker initialization, and CPU/GPU resource requests. See Parsl And HPC Execution.Edit
vasp_config.jsonsoQM_run_commandand VASP input settings match the local installation and intended calculation.Edit
hippynn_config.jsonfor the elements, network size, training controls, and device settings for the run. See ML Interfaces.Confirm that the requested properties in
master_config.jsonmatch the VASP calculator results and HDF5 keys you want to train on.
Workflow Pattern
This example uses:
Stage |
Task |
|---|---|
Builder |
|
Sampler |
|
QM |
|
ML |
|
The builder reads builder_config.json and creates charge-neutral random
atomic systems from the configured atom_charges. The provided configuration
targets 100 atoms, enforces a minimum interatomic distance, and samples a box
length from box_length_range. This is the right builder family for molten
salts or other ionic atomic systems that are not assembled from molecular
fragments.
The sampler reads mlmd_config.json and runs ML-driven MD with a HIPPYNN ASE
calculator ensemble. In this example, density fluctuation fields are set to
null so the sampler does not rescale the box during sampling.
The QM stage uses ASE’s VASP calculator wrapper. This is the preferred path for periodic DFT engines that ASE already supports. See QM Interfaces for the generic ASE calculator pattern.
Recommended Bring-Up Commands
From examples/molten_salt:
python -m alframework --master master_config.json --test_builder
python -m alframework --master master_config.json --test_qm
python -m alframework --master master_config.json --test_ml
python -m alframework --master master_config.json --test_sampler
python -m alframework --master master_config.json
The test modes use parsl_debug_configuration from master_config.json.
Use them to verify the builder, VASP command, HIPPYNN environment, and sampler
resource mapping before launching a long active-learning run.
Expected Outputs
During a run, expect the usual ALF output structure:
Path |
Purpose |
|---|---|
|
Restart and progress state. |
|
VASP-labeled training batches. |
|
HIPPYNN model ensemble directories. |
|
Sampler metadata and uncertainty records. |
|
Per-structure VASP scratch and output directories. |
|
Optional progress plots from the configured plotting utility. |
Configuration Files
File |
Purpose |
|---|---|
|
Connects the builder, sampler, VASP QM task, HIPPYNN training task, output paths, queue-depth controls, and Parsl configs. |
|
Defines element charges, target atom count, minimum distance, and box length range for charge-neutral atomic systems. |
|
Defines MD time step, maximum time, uncertainty thresholds, temperature schedule, optional density schedule, metadata path, and ASE model loader. |
|
Defines the VASP command and ASE VASP calculator options. |
|
Defines HIPPYNN ensemble, network, species, optimizer, and training options. |
|
Generic CPU/GPU Slurm template copied from the water example. |
Environment setup for this example now lives in the command strings and worker
initialization hooks that users adapt in vasp_config.json and
parsl_configs.py.