Occupations

A - B - C - D - E - F - G - H - I - K - L - M - N - O - P - Q - R - S - T - U - V - W - X

Occupations

Section States
Type block

The occupation numbers of the orbitals can be fixed through the use of this variable. For example:

%Occupations
  2 | 2 | 2 | 2 | 2
%

would fix the occupations of the five states to 2. There can be at most as many columns as states in the calculation. If there are fewer columns than states, then the code will assume that the user is indicating the occupations of the uppermost states where all lower states have full occupation (i.e. 2 for spin-unpolarized calculations, 1 otherwise) and all higher states have zero occupation. The first column will be taken to refer to the lowest state such that the occupations would be consistent with the correct total charge. For example, if there are 8 electrons and 10 states (from ExtraStates = 6), then an abbreviated specification

%Occupations
  1 | 0 | 1
%

would be equivalent to a full specification

%Occupations
  2 | 2 | 2 | 1 | 0 | 1 | 0 | 0 | 0 | 0
%

This is an example of use for constrained density-functional theory, crudely emulating a HOMO->LUMO+1 optical excitation. The number of rows should be equal to the number of k-points times the number of spins. For example, for a finite system with SpinComponents == spin_polarized, this block should contain two lines, one for each spin channel. All rows must have the same number of columns.

The Occupations block is useful for the ground state of highly symmetric small systems (like an open-shell atom), to fix the occupation numbers of degenerate states in order to help octopus to converge. This is to be used in conjuction with ExtraStates. For example, to calculate the carbon atom, one would do:

ExtraStates = 2
%Occupations
  2 | 2/3 | 2/3 | 2/3
%

If you want the calculation to be spin-polarized (which makes more sense), you could do:

ExtraStates = 2
%Occupations
   2/3 | 2/3 | 2/3
   0 | 0 | 0
%

Note that in this case the first state is absent, the code will calculate four states (two because there are four electrons, plus two because ExtraStates = 2), and since it finds only three columns, it will occupy the first state with one electron for each of the spin options.

If the sum of occupations is not equal to the total charge set by ExcessCharge, an error message is printed. If FromScratch = no and RestartFixedOccupations = yes, this block will be ignored.


Source information



Featured in testfiles