Input File¶
- class InputFile(program: str, text_input: str = '', string_leafs: bool = False, lowercase: bool = False)¶
Class representing a key and block based text input file as used in the Amsterdam Modeling Suite.
- class EntryCategory(value)¶
Enum representing the category of an entry in an InputFile.
- Values:
Block: the entry is a block containing keys and other blocks
Key: the entry is a key with a value
- class EntryType(value)¶
Enum representing the type of an entry in an InputFile.
- Values:
FixedBlock: the entry is a block containing defined keys and other blocks
FreeBlock: the entry is a free block that is read as a list of strings representing the lines
EngineBlock: the entry is a free block that ends with “EndEngine”
InputBlock: the entry is a free block that ends with “EndInput”
StringKey: the entry is a key of type string
MultipleChoiceKey: the entry is a multiple-choice key
LogicalKey: the entry is a key of type logical
IntegerKey: the entry is a key of type integer
IntegerListKey: the entry is a key of type integer_list
RealKey: the entry is a key of type float
RealListKey: the entry is a key of type float_list
- get(query: str) int | float | bool | str | List[int] | List[float] | List[str] ¶
Returns the value of a key or free block. The return type depends on the type of the accessed key.
- get_category(query: str) EntryCategory ¶
Returns the category of an entry as defined in the JSON definition for the program.
- get_entries_in_order(query: str) List[str] ¶
Returns the entries of an ordered fixed block in the order they occurred in the input.
- get_freeblock(query: str) List[str] ¶
Returns the contents of a free block as a list of lines.
- get_header(query: str) str ¶
Returns the header of a block as a string. If a block does not have a header, an empty string is returned.
- get_int(query: str) int ¶
Returns the value of an integer key.
- get_int_list(query: str) List[int] ¶
Returns the value of an integer_list key.
- get_json() str ¶
Returns the JSON representation of the input file as a string.
- get_logical(query: str) bool ¶
Returns the value of a logical key.
- get_real(query: str) float ¶
Returns the value of a float key.
- get_real_list(query: str) List[float] ¶
Returns the value of a float_list key.
- get_string(query: str) str ¶
Returns the value of a string or multiple choice key.
- get_system_blocks_as_mols() Dict[str, Molecule] ¶
Returns a dictionary of mapping the System blocks in the input to plams.Molecule instances.
The keys in the dictionary are the names of the systems from the headers of the blocks, e.g.:
System initial ... End
would be returned as dict[“initial”]. The main system without a name in the header will have the empty string as key.
- get_type(query: str) EntryType ¶
Returns the type of an entry as defined in the JSON definition for the program.
- is_defined(query: str) bool ¶
Checks if an entry is defined in the JSON definition for the program.
- is_ordered(query: str) bool ¶
Checks if a fixed block is declared order sensitive in the JSON definition for the program.
- is_present(query: str) bool ¶
Checks if an entry is present in the input.
- is_unique(query: str) bool ¶
Check whether an entry is declared unique or recurring in the keywords definition file.
- number_of_entries(query: str) int ¶
Returns the number of occurrances of a non-unique entry.
- read(text_input: str, string_leafs: bool = False, lowercase: bool = False) None ¶
Read more text input for the program. This is faster than constructing a new InputFile from scratch, as it will not reread the JSON definitions.
- property program: str¶
The name of the program that this instance is reading input for.
- class InputError¶
Error thrown for issues with the input reading, e.g. reading non-existing keywords.