Inputs module
Public interfaces
AbInitioSoftwareBase.Input — TypeInputAn abstract type representing an input object of ab initio software. All other input types should subtype Input.
AbInitioSoftwareBase.InputEntry — TypeInputEntryRepresent any component of an Input. The fields of an Input should all be either InputEntry or Nothing (no value provided).
AbInitioSoftwareBase.Namelist — TypeNamelist <: InputEntryRepresent a component of an Input, a basic Fortran data structure.
AbInitioSoftwareBase.Card — TypeCard <: InputEntryRepresent CAR or cards of an Input in VASP, Quantum ESPRESSO, etc.
AbInitioSoftwareBase.groupname — Functiongroupname(x::InputEntry)Get the group name of an InputEntry.
The definition groupname(x) = groupname(typeof(x)) is provided for convenience so that instances can be passed instead of types.
AbInitioSoftwareBase.writetxt — Functionwritetxt(filename::AbstractString, input::Input)Write an Input object to a file in plain-text format.
AbInitioSoftwareBase.FormatConfig — TypeFormatConfig(delimiter, newline, indent, float, int, bool)Specify the formatting options of an Input or part of an Input.
Arguments
- delimiter::String: the delimiter between objects. We suggest- " ".
- newline::String: the line terminator. Unix systems and macOS consider- '\n'as a line terminator, while Windows supports- '\r\n'. We suggest- "\n".
- indent::String: the empty spaces at the beginning of a line. We suggest- ' '^4.
- float::String: the format specification for- AbstractFloat.
- int::String: the format specification for- Integers.
- bool::String: the format specification for- Bools. For Fortran software, it could be- ".%s.".