Config Blocks
Each block in the config file is structured as:
begin BLOCK_LABEL
...
endTags placed outside their designated blocks are ignored. The following blocks are available:
Atom tags
Hamster.get_alpha — Method
alpha=0.7*Z
The alpha::Float value determines how rapid the orbital overlap for a specific ion type falls off with distance. Defaults to 70% of the core charge.
Hamster.get_n — Method
n=n_period
The n::Int value determines the order of the polynomial that is used to model the distance dependence the orbital overlap for a specific ion type. Defaults to the period the atom species belongs to.
Hamster.get_nnaxes — Method
nnaxes=false
If nnaxes::Bool=true, the orbital axes are rotated along the connecting vectors with the nearest neighbors of the respective orbitals. The number of nearest neighbors depends on the number of orbitals.
Supercell
Hamster.get_config_inds — Method
config_inds=noneThe config_inds tag sets a file from which configuration indices are read. By default, indices are not read from file. It is also possible to provide a list of integers directly.
Hamster.get_sc_poscar — Method
sc_poscar=SC_POSCAR
The sc_poscar tag sets the path to the POSCAR file used for the supercell. Only accepts VASP POSCAR format
Hamster.get_val_config_inds — Method
val_config_inds=noneThe val_config_inds tag sets a file from which configuration indices are read. By default, indices are not read from file. It is also possible to provide a list of integers directly.
Hamster.get_xdatcar — Method
xdatcar = XDATCAR
Specify the path to the structural trajectory used in the calculation.
The xdatcar tag points to a file containing atomic positions and lattice information for a sequence of structures.
Accepted Formats
VASP
XDATCARfile Parsed directly to obtain atomic positions and lattice vectors for each structure.HDF5 (
.h5) file Must contain the datasets:positions— atomic positions with shape [3 × Natoms × Nstructures]lattice— lattice vectors with shape [3 × 3 × N_structures] (optional for each structure)
ML
SOC
Hamster.get_soc — Method
soc=falseA model to account for spin-orbit coupling (SOC) is constructed if a block SOC is present in the config file.
Hamster.get_soc_init_params — Method
init_params=zerosThe init_params tag determines how SOC parameters are initialized.
Optimizer
Hamster.get_band_weights — Method
wE=ones
The wE tag sets the weight of each energy band for the calculation of the loss. Individual weights can also be set with, e.g., wE_3 = 2.
Hamster.get_eig_fit — Method
eig_fit=true (false if hr_fit)The eig_fit tag switches on fitting the effective Hamiltonian to eigenvalue data. If both hr_fit and eig_fit are true, the model is first fit to Hamiltonian data and then to eigenvalue data.
Hamster.get_eig_val — Method
eig_val=eig_fitThe eig_val tag switches on validating the effective Hamiltonian model with eigenvalue data.
Hamster.get_kpoint_weights — Method
wk=onesThe wk tag sets the weight of each kpoint for the calculation of the loss. Individual weights can also be set with, e.g., wk_3 = 2.
Hamster.get_train_data — Method
train_data = EIGENVAL
Specify the path to the training data file.
This tag tells Hamster where to load the training dataset used during model evaluation and optimization.
Accepted Formats
VASP
EIGENVALfile Supported only in pc training mode. The file is read directly and converted into the internal eigenvalue representation.HDF5 (
.h5) file Must contain the datasets:eigenvalueswith shape [Nbands × Nkpoints × Nstructures]kpointswith shape [3 × Nkpoints × Nstructures]
The datasets must correspond structure-by-structure to the training set. The number of bands in the data does not need to match the Hamster basis size; only the subset starting at bandmin is used.
Hamster.get_train_mode — Method
train_mode=PC
The train_mode flag switches between different optimization modes (PC, MD, universal; not case sensitive).
Defaults:
"pc"— if noSupercellblock is present."md"— if aSupercellblock is present but only one system is found.
Hamster.get_update_tb — Method
update_tb=haskey(conf, "Optimizer")The update_tb tag determines whether/which parameters of the TB model are updated during the optimization. Defaults to true if an Optimizer block is provided.
Hamster.get_val_data — Method
val_data=EIGENVAL
Specify the path to the validation data file.
This tag tells Hamster where to load the validation dataset used during model evaluation and optimization.
Accepted Formats
VASP
EIGENVALfile Supported only in pc validation mode. The file is read directly and converted into the internal eigenvalue representation.HDF5 (
.h5) file Must contain the datasets:eigenvalueswith shape [Nbands × Nkpoints × Nstructures]kpointswith shape [3 × Nkpoints × Nstructures]
The datasets must correspond structure-by-structure to the validation set. The number of bands in the data does not need to match the Hamster basis size; only the subset starting at val_bandmin is used.
Hamster.get_val_mode — Method
val_mode=PCThe val_mode flag switches between different modes for model validation (PC, MD, mixed, multi; not case sensitive).
Hamster.get_validate — Method
validate=false (true if `val_mode` is set)The validate tag switches on model validation (usually no need to set this manually).