[][src]Module lumol::input

This module provide a way to build a Lumol simulation using input files.

Instead of building the System and Simulation objects by hand before being able to use them, this module provides a way to describe the simulation and the system in a TOML input file, using a simpler syntax.

The main entry point is the Input struct, which allow to read a whole simulation configuration. The easiest way to run a simulation using Lumol is then:

use lumol::input::Input;

fn main() {
    let input = Input::new("simulation.toml").unwrap();
    let mut config = input.read().unwrap();

    config.simulation.run(&mut config.system, config.nsteps);

This crate also provide an InteractionsInput for reading interactions from a TOML file. It can be used to set the interactions in a system:

use lumol::System;
use lumol::input::InteractionsInput;

fn main() {
    let mut system = System::new();

    // ... Build the system by hand

    // Read the interactions
    let input = InteractionsInput::new("potentials.toml").unwrap();
    input.read(&mut system).unwrap();



A configuration about how to run a single simulation. This contains the system to simulate, the simulation itself and the number of steps to run the simulation.


An input file for Lumol.


Input file for reading interactions



Possible causes of error when reading input files



Convert a TOML table to a Rust type.


Convert a TOML table and some additional owned data to a Rust type.


Convert a TOML table to a Rust type using information from an additional reference.



Setup a default logger to be able to print error messages