# Inference The default value can be found in `DeepH-pack/deeph/inference/inference_default.ini`. The following arguments can be set in the configuration files for `Inference`: ## basic - *OLP_dir* : The output directory of the 'overlap only' OpenMX calculation. + *work_dir* : The directory to run the workflow and save the results. - *interface* : Which DFT package is used to get the overlap matrix. Support `abacus` and `openmx`. + *trained_model_dir* : The directory to the trained model. If only one model is used for the current material system, fill in the string of the directory to the trained model, e.g. `/your/trained/model`. If multiple models are used for the current material system, fill in the JSON format string containing all the directories of models, e.g. `["/your/trained/model1", "/your/trained/model2"]`. - *task* : Set it `[1, 2, 3, 4, 5]` to run all the tasks for inference. `1` in list means to parse the overlap, `2` means to get the local coordinate, `3` means to predict the Hamiltonian, `4` means to rotate the Hamiltonian back, and `5` means to perform the sparse calculation. + *sparse_calc_config* : The directory to the *JSON* configuration file. - *eigen_solver* : Which algorithm to use for diagonalization. Support `sparse_jl` for sparse matrix using Julia code (default), `dense_jl` for dense matrix using Julia code, and `dense_py` for dense matrix using Python code. + *huge_structure* : Whether to save your memory and cost more time during inference. - *restore_blocks_py* : Whether to use Python code to rearrange matrix blocks. You can set it `False` to use Julia code instead to improve efficiency. ## interpreter - *julia_interpreter* : The directory to the Julia interpreter (if you want to use Julia code to perform band structure calculation or rearrange matrix blocks, you need to set it). + *python_interpreter* : The directory to the Python interpreter (if you want to use Python code to perform band structure calculation, you need to set it). ## graph - *radius* : The additional cut-off radius for crystal graph based on the truncation that adopted in overlap matrices. `-1.0` means using the same truncation that adopted in overlap matrices. ## *JSON* configuration file - *calc_job* : Which quantity you want to calculate after the hamiltonian gotten. Can only be 'band' for now. + *fermi_level* : Fermi level. - *k_data* : The k-path to calculate, formatted like `["number_of_points x1 y1 z1 x2 y2 z2 name_of_begin_point name_of_end_point", ...]`. + *which_k* : Define which point in k-path to calculate, start counting from 1. You can set it '0' for all k points, or '-1' for no point. It is recommended to calculate the eigenvalues of different k points in parallel through it. (Invalid for dense matrix calculation) - *num_band* : The number of eigenvalues and eigenvectors desired. (Invalid for dense matrix calculation) + *max_iter*: Maximum number of iterations. (Invalid for dense matrix calculation)