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:


  • 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.


  • 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).


  • 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)