Inputs
module
Public interfaces
AbInitioSoftwareBase.Input
— TypeInput
An abstract type representing an input object of ab initio software. All other input types should subtype Input
.
AbInitioSoftwareBase.InputEntry
— TypeInputEntry
Represent any component of an Input
. The fields of an Input
should all be either InputEntry
or Nothing
(no value provided).
AbInitioSoftwareBase.Namelist
— TypeNamelist <: InputEntry
Represent a component of an Input
, a basic Fortran data structure.
AbInitioSoftwareBase.Card
— TypeCard <: InputEntry
Represent 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 forAbstractFloat
.int::String
: the format specification forInteger
s.bool::String
: the format specification forBool
s. For Fortran software, it could be".%s."
.