Configuration
ALF is primarily configured with JSON files.
Typical setup includes five files:
A master configuration
Builder configuration
Sampler configuration
ML configuration
QM configuration
How configuration is organized
The master configuration is the entry point. It defines where ALF should find the builder, sampler, ML, and QM configuration files, along with key paths and task definitions used at runtime.
Each stage-specific file then defines options for one part of the workflow:
Builders: initial structures and system construction behavior
Samplers: configuration-space exploration and sampling controls
ML: model training and retraining settings
QM: electronic structure calculation settings and interfaces
How ALF uses these files
When you run ALF with --master, ALF loads the master JSON first, then
loads the four stage-specific JSON files referenced by it. Those settings are
used to initialize tasks, queues, resource configs, and data paths.
In practice, this means most configuration changes can be made without editing Python source code.
Practical tips
Keep all JSON files for a run in one directory for reproducibility.
Use descriptive filenames so multiple runs are easier to track.
Validate each stage with ALF test flags before long production runs.