Read in Hamiltonian from external file(s)
We want to enable users to define a Hamiltonians by writing a file that contains the objects defining a general Hamiltonian. This file would be read in at runtime.
On the technical side, this feature would be implemented as a submodule Hamiltonian. As input file format to use, we have identified the following options:
- Plain text. This has the downside of being very unstructured, which hampers portability to other languages and programs.
- HDF5, which is already part of the ALF dependencies and can contain arbitrary hierarchical structures. On the downside, it can not be viewed and edited with plain text tool, on the other hand popular interpreted languages can work with is easily.
- JSON combines plain text accessibility with good capabilities to structure contents, but Fortran does not support JSON natively so adding support through e.g. this library would be additional work and introduce additional dependencies.
For now, we decided to go with HDF5.