Ionic Liquids

The ionic liquid example demonstrates a molecular condensed-phase ALF workflow with a richer fragment library than the simple water example. It is intended as a starting point for mixtures containing solvent molecules, cations, anions, and small organic fragments.

The files needed to run the example are located in examples/IL.

Before You Run

This example is a template, not a ready-to-run cluster job.

  • Edit parsl_configs.py for the target Slurm partitions, accounts, QoS, walltimes, worker initialization commands, and GPU resource requests.

  • Edit orca_config.json so QM_run_command points to the local ORCA executable and requested output includes the properties in properties_list.

  • Edit hippynn_config.json for the desired species, network, training, and device settings.

  • Review builder_config.json before changing the fragment library. The builder expects fragment names to match files in fragment_library.

Workflow Pattern

Stage

Task

Builder

alframework.builders.builders.simple_condensed_phase_builder_task

Sampler

alframework.samplers.mlmd_sampling.simple_mlmd_sampling_task

QM

alframework.qm_interfaces.orca5_interface.orca_double_calculator_task

ML

alframework.ml_interfaces.hippynn_interface.train_HIPPYNN_ensemble_task

The builder assembles systems from fragment_library using solute_molecule_options and solvent_molecules. This is useful when the active-learning space includes multiple possible cation/anion combinations or solvent environments.

The sampler uses HIPPYNN models through HIPNN_ASE_load_ensemble. Unlike the simple water example, this sampler config includes temperature and density fluctuation ranges, so ALF can explore both thermal and box-size variation during MLMD.

The QM task uses the ORCA double-check interface, which is useful when the workflow should validate a first calculation with a second ORCA input before accepting the label.

Configuration Files

File

Purpose

master_config.json

Connects the condensed-phase builder, MLMD sampler, ORCA double-check task, HIPPYNN training task, queue controls, outputs, and Parsl configs.

builder_config.json

Defines fragment-library choices, solvent probabilities, cell ranges, radius scaling, minimum distance, maximum atom count, and coordinate shaking.

mlmd_config.json

Defines MD time step, maximum time, uncertainty thresholds, temperature and density schedules, trajectory output, and ML calculator options.

orca_config.json

Defines ORCA commands and input blocks.

hippynn_config.json

Defines HIPPYNN ensemble and training settings.

parsl_configs.py

Generic CPU/GPU Slurm template copied from the water example.

Expected Outputs

The run writes the standard ALF outputs: status.txt, h5store/data-*.h5, models/model-*, sampling/metadata-*.p, ORCA scratch directories under QM_scratch_dir, and optional status_plots/ output.

See Builders for condensed-phase builder settings, Samplers for MLMD and density fluctuation controls, and Parsl And HPC Execution for adapting the copied Parsl template.