Spirit inputfile (TOML) ==================================================== :::{versionchanged} 3.0.0 *For the deprecated input specification, see:* [Spirit inputfile (Legacy)](/core/docs/Input_Legacy.md) To ease the transition the [python package]() provides a CLI utiliy to convert to your configuration files to the new format. Run `spirit-cfgconvert --help` to learn how to use it. ::: Introduction ---------------------------------------------------- The input file uses the standardized [TOML](https://toml.io) format. Its structure is hierarchical in that every entry is identified by a path. Each level or section in the path is separated by a `.` character and key-value pairs are specified with an assignment expression. e.g: ```toml geometry.lattice_constant = 1.41 geometry.bravais_lattice = "sc" ``` Paths that share a common prefix can be grouped into sections. A section begins with the common prefix in braces e.g., `[geometry]`, so the above example is equivalent to: ```toml [geometry] lattice_constant = 1.41 bravais_lattice = "sc" ``` Any assignment expression following a section specifier belongs to that section until a new section is declared. For details, please refer to the [TOML specification](https://toml.io). ### Sections - [`[defaults]` - General settings](#general-settings-defaults) - [`[logging]` - Logging](#logging) - [`[geometry]` - Geometry](#geometry) - [Pinning](#pinning) - [Disorder and Defects](#disorder-and-defects) - [`[hamiltonian]` - Hamiltonian](/core/docs/Hamiltonian.md) - [`[method]` Method Configurations](#method-configuration) - [Method Output](#method-output) - [Method Parameters](#method-parameters) --- ### Tables Many keywords in the configuration file support tables e.g., the pair interactions: ```toml pairs = """ i j da db dc Jij Dij Dijx Dijy Dijz 0 0 1 0 0 10.0 6.0 1.0 0.0 0.0 0 0 0 1 0 10.0 6.0 0.0 1.0 0.0 0 0 0 0 1 10.0 6.0 0.0 0.0 1.0 """ ``` These can usually also be read from an external file by providing a path with the `fils://` prefix: ```toml pairs = "file://input/pairs.txt" ``` where the contents of `input/pairs.txt` looks like this: ```text i j da db dc Jij Dij Dijx Dijy Dijz 0 0 1 0 0 10.0 6.0 1.0 0.0 0.0 0 0 0 1 0 10.0 6.0 0.0 1.0 0.0 0 0 0 0 1 10.0 6.0 0.0 0.0 1.0 ``` :::{note} It is important that the first line contains the header for the table. ::: --- General Settings (Defaults) ---------------------------------------------------- *section:* `[defaults]` ```toml ### Add a tag to output files (for timestamp use "