3.5 Setting up the initial density

Every self-consistent calculation starts from an approximate electron density. This initial density is only a starting point for the s.c.f. cycle: unless a separate constraint is requested, it does not constrain the occupations or track particular Kohn-Sham states in later iterations. Different initial densities can nevertheless lead to different self-consistent solutions when several charge, spin, or orbital configurations are locally stable.

FHI-aims provides two methods for constructing the initial density. They are selected with the initial_density keyword in control.in:

  • •

    spherical_atoms constructs a superposition of spherical atomic densities. This is the general-purpose method and is available for molecular and periodic calculations, including X2C and Q4C calculations.

  • •

    orbital_occupations constructs the density from the occupied atomic orbitals of the minimal basis. It allows non-spherical, spin-resolved starting densities and atom-specific occupation patterns, including different patterns on atoms of the same species.

In addition, you can restart from a converged SCF density (matrix). See 4.7 for more details.

The default is spherical_atoms. The only automatic exception is a single, isolated atom with spin collinear. For this case, orbital_occupations is selected automatically. If no occupation_type is specified for such an atom, Gaussian broadening with a width of 10−6 eV is used. An explicit

initial_density spherical_atoms

restores the spherical-atom initialization for this case.

3.5.1 Superposition of spherical atomic densities

With

initial_density spherical_atoms

the initial density is a sum of self-consistent, spherical free-atom densities centered on the atoms of the structure. The per-atom density may be modified by initial_charge and, for collinear spin calculations, by initial_moment. This method cannot represent an m-resolved occupation or any other non-spherical density on an individual atom.

3.5.2 Density from orbital occupations

With

initial_density orbital_occupations

the initial density in spin channel σ is constructed in the form

nσ⁢(𝐫)=∑A∑n⁢l⁢mfA⁢n⁢l⁢m⁢σ⁢|ϕA⁢n⁢l⁢m⁢(𝐫−𝐑A)|2, (3.26)

where ϕA⁢n⁢l⁢m is an atomic orbital from the minimal basis on atom A, and fA⁢n⁢l⁢m⁢σ is its initial occupation. The density, density gradient, and kinetic-energy density required by the chosen exchange-correlation functional are evaluated consistently from these orbitals.

Without explicit initial_occupation entries, the total occupation of each atomic shell is obtained from the usual atomic initialization, including initial_charge and initial_moment. A partially filled shell is filled orbital by orbital in increasing m. This deliberately produces a non-spherical, symmetry-broken starting density.

The orbital occupations of selected shells can be overridden in geometry.in. The keywords initial_occupation and occupy apply to individual atoms. Thus, atoms of the same species may be initialized with different orbital occupations.

The following limitations apply:

  • •

    An explicitly selected (n,l) shell is cleared completely before its occupy entries are applied. Every omitted m and spin component of that shell therefore has zero occupation.

  • •

    The requested shell must be present among the atomic orbitals of the species’ minimal basis.

  • •

    The specified occupations should be consistent with the total number of electrons implied by the nuclear charges and the charge keyword. FHI-aims derives the charge of every atom with an explicit occupation pattern and includes it in the usual check against the total charge. The calculation stops if the two totals differ.

  • •

    orbital_occupations is not supported for X2C or Q4C calculations.

  • •

    FHI-aims also derives N↑−N↓ from each explicit occupation pattern. initial_charge and initial_moment cannot used together with initial_occupation.

  • •

    These occupations affect only the initial density. They are neither constraints nor a maximum-overlap occupation-tracking scheme. Use the delta-SCF facilities, such as deltascf_basis or deltascf_projector, when occupations must be maintained during the s.c.f. cycle.

3.5.3 Initial charge and collinear spin moment

The initial_charge and initial_moment keywords are attached to the preceding atom in geometry.in. They alter only the starting density. They do not constrain the final distribution of charge or spin.

A positive initial_charge removes electrons from an atom and a negative value adds electrons. The sum of all per-atom initial charges should equal the total charge of the system. FHI-aims normally stops if these values are inconsistent; this check can be overridden with override_initial_charge_check.

For spin collinear, initial_moment specifies N↑−N↓ on an atom. It is often essential to choose moments that reflect the desired magnetic state, for example opposite signs on the two magnetic sublattices of an antiferromagnet. Except for the automatic isolated-atom initialization, a collinear calculation requires the user to provide an initial_moment, a default_initial_moment, or explicitly specifying initial_occupation and occupy.

For Q4C non-collinear initialization, initial_moment is not used. The direction of the local initial spin is specified by initial_spin_q4c instead.

Tags for geometry.in:

 

Tag: initial_charge(geometry.in)

Usage: initial_charge charge
Purpose: Assigns an initial charge to the preceding atom.
charge is a real number in units of the positive elementary charge. A positive value removes electrons. Default: 0.

For spherical_atoms, an ionic rather than neutral spherical free-atom density is used on that site. These densities are generated with the functional specified by xc for LDA and GGA calculations, but use pw-lda for other functionals, including hybrid functionals and Hartree–Fock. For orbital_occupations without explicit initial_occupation entries, the charge modifies the atomic shell occupations from which the orbital density is built.

The sum of all initial_charge values should equal the value of charge in control.in, or zero if no total charge is specified. Otherwise, FHI-aims stops unless override_initial_charge_check is used.

 

Tag: initial_moment(geometry.in)

Usage: initial_moment moment
Purpose: Assigns an initial collinear spin moment to the preceding atom.
moment is a real number giving N↑−N↓ on that atom. Default: zero unless default_initial_moment is set.

For spherical_atoms, a spin-polarized spherical atomic density is used on that site. For orbital_occupations without explicit initial_occupation entries, the moment modifies the spin-resolved atomic shell occupations. The keyword is meaningful only with spin collinear; it does not impose a fixed spin moment. Use fixed_spin_moment if the total moment must be constrained.

 

Tag: initial_occupation(geometry.in)

Usage: initial_occupation n l
Purpose: Begins an explicit initial-occupation block for one atomic shell on the preceding atom.
n is the integer principal quantum number.
l is the non-negative integer angular-momentum quantum number.

This keyword requires initial_density orbital_occupations. It may be repeated to initialize multiple shells on one atom. The selected shell is cleared before the following occupy entries are applied, so omitted components have zero occupation. For example, a 5⁢d shell is selected with

initial_occupation 5 2

This keyword is not the Q4C occupation syntax. The corresponding Q4C keyword is initial_occupation_q4c.

 

Tag: occupy(geometry.in)

Usage: occupy m i_spin occupation
Purpose: Assigns one orbital occupation in the shell selected by the preceding initial_occupation.
m is an integer satisfying −l≤m≤l.
i_spin is 1 or 2 for spin collinear, and 1 for spin none.
occupation is a real number between 0 and 1 for spin collinear, or between 0 and 2 for spin none.

The magnetic quantum number refers to the real spherical-harmonic convention used by FHI-aims; see Appendix J. Entries may be fractional. One entry should be supplied for each occupied m and spin combination.

For example, the following two atoms belong to the same species and have the same total 2⁢p occupation, but different non-spherical initial densities:

atom 0.0 0.0 0.0 O
  initial_occupation 2 1
    occupy -1 1 1.0
    occupy  0 1 1.0
    occupy  1 1 1.0
    occupy -1 2 1.0

atom 0.0 0.0 2.0 O
  initial_occupation 2 1
    occupy -1 1 1.0
    occupy  0 1 1.0
    occupy  1 1 1.0
    occupy  1 2 1.0

Tags for general section of control.in:

 

Tag: initial_density(control.in)

Usage: initial_density method
Purpose: Selects how the initial electron density is constructed.
method is either spherical_atoms or orbital_occupations. Default: spherical_atoms, with the isolated-atom exception described above.

  • •

    spherical_atoms superposes spherical atomic densities.

  • •

    orbital_occupations constructs the density from occupied minimal-basis atomic orbitals and supports the atom-resolved initial_occupation/occupy syntax.

The orbital_occupations method is not supported for X2C or Q4C calculations. Selecting it in such a calculation causes FHI-aims to stop.