Extracting Hamiltonian and Overlap Matrices
In ABACUS, we provide the option to write the Hamiltonian and Overlap matrices to files after SCF calculation.
For periodic systems, there are two ways to represent the matrices, the first is to write the entire square matrices for each k point, namely \(H(k)\) and \(S(k)\); the second is the R space representation, \(H(R)\) and \(S(R)\), where R is the lattice vector. The two representations are connected by Fourier transform:
\(H(k)=\sum_R H(R)e^{-ikR}\)
and
\(S(k)=\sum_R S(R)e^{-ikR}\)
out_mat_hs
Users may set the keyword out_mat_hs
to 1 for outputting the k-space matrices. It is available for both gamma_only and multi-k and calculations. Detailed description of the naming and formats of the output files are given here.
out_mat_hs2
The output of R-space matrices is controlled by the keyword out_mat_hs2
. This functionality is not available for gamma_only calculations. To generate such matrices for gamma only calculations, users should turn off gamma_only, and explicitly specify that gamma point is the only k point in the KPT file.
For a more detailed description of the naming and format of the matrices, refer to this instruction.
get_S
We also offer the option of only calculating the overlap matrix without running SCF. For that purpose, in INPUT
file we need to set the value keyword calculation to be get_S
.
A file named SR.csr
will be generated in the working directory, which contains the overlap matrix.
examples
We provide examples of outputting the matrices. There are four examples:
out_hs2_multik : writing H® and S® for multi-k calculation
out_hs_gammaonly : writing H(k) and S(k) for gamma-only calculation
out_hs_multik : writing H(k) and S(k) for multi-k calculation
out_s_multik : running get_S for multi-k calculation
Reference output files are provided in each directory.