Initializing SCF

Initializing SCF#

Good initializing would abate the number of iteration steps in SCF. Charge density should be initialed for constructing the initial hamiltonian operator.

In PW basis, wavefunction should be initialized for iterate diagonalization method. In LCAO basis, wavefunction can be read to calculate initial charge density. The wavefunction itself does not have to be initialized.

Charge Density#

init_chg is used for choosing the method of charge density initialization.

  • atomic : initial charge density by atomic charge density from pseudopotential file under keyword PP_RHOATOM

  • file : initial charge density from files produced by previous calculations with out_chg 1.

  • auto: Abacus first attempts to read the density from a file; if not found, it defaults to using atomic density.

  • dm (LCAO only): initial charge density from density matrix files in CSR format. For nspin=1, reads dmrs1_nao.csr. For nspin=2 (spin-polarized), reads both dmrs1_nao.csr (spin-up) and dmrs2_nao.csr (spin-down). These files are generated by previous calculations with out_dmr 1. This method is particularly useful for restarting spin-polarized calculations.

  • hr (LCAO only): initial charge density from Hamiltonian matrix files in CSR format. The Hamiltonian is read from file, then diagonalized to obtain wavefunctions and charge density. For nspin=1, reads hrs1_nao.csr. For nspin=2 (spin-polarized), reads both hrs1_nao.csr (spin-up) and hrs2_nao.csr (spin-down). These files are generated by previous calculations with out_hsr 1.

Wavefunction#

init_wfc selects how wavefunction coefficients are initialized. The available options and behavior depend on basis_type.

For basis_type=pw, the available options are:

  • atomic: Use atomic pseudo wavefunctions from PP_PSWFC. If no PP_PSWFC states are available, all bands are initialized randomly. If the number of atomic states is smaller than nbands, the remaining bands are initialized randomly.

  • atomic+random: If there are at least nbands atomic states, apply an approximately 5% multiplicative random perturbation to the atomic initialization. If there are fewer atomic states than nbands, use the atomic states and initialize the remaining bands randomly, as for atomic.

  • random: Initialize all bands with random coefficients.

  • nao: Use numerical atomic orbitals. If the number of NAO states is smaller than nbands, the remaining bands are initialized randomly.

  • nao+random: Apply an approximately 5% multiplicative random perturbation to the NAO initialization; any bands not covered by NAO states are first initialized randomly.

  • file binary: Read binary wf*_pw.dat files generated with out_wfc_pw=2 from read_file_dir. The files must match the current k points, nbands, plane-wave layout, and lattice. The txt format is not supported for PW wavefunctions.

For basis_type=lcao, use init_wfc file txt to read text wf*_nao.txt files generated with out_wfc_lcao=1, or init_wfc file binary to read binary wf*_nao.dat files generated with out_wfc_lcao=2, from read_file_dir. LCAO wavefunctions initialize the density matrix and real-space charge density. The selected format is required; ABACUS does not automatically detect or fall back to the other format. The files must use a compatible NAO basis, match the current k-point and spin setup, and contain enough bands. Only independent files without geometry-step indices are supported, not files accumulated with out_app_flag.

For basis_type=lcao_in_pw, init_wfc is automatically set to nao.

For calculation=get_wf or calculation=get_pchg, a non-file initialization choice is automatically changed to the file option appropriate for the selected basis. An explicitly selected file format is preserved. If basis_type=lcao_in_pw is also used, the final value is nao.