(git:5e7fe52)
Loading...
Searching...
No Matches
qs_kpoint_state Module Reference

Methods for preparing and committing k-point orbital states to the QS environment. More...

Functions/Subroutines

subroutine, public qs_kpoint_state_prepare_fixed_density (kpoints)
 Reconstructs fixed-rank complex k-point orbitals from a density kernel. The density and overlap must first be transferred to kpot_hmat and kpot_smat. The largest natural-orbital subspace gives a metric-defined fixed-rank projector without replacing the guess by the ground-state projector of its initial Hamiltonian.
subroutine, public qs_kpoint_state_canonicalize_fixed (kpoints)
 Rotates a uniformly occupied k-point subspace into Ritz states of the current Hamiltonian and stores their energy labels. The Hamiltonian must first be transferred to kpot_hmat. Since the rotation is internal to a uniformly occupied subspace, it does not change the density represented by the orbitals.
subroutine, public qs_kpoint_state_commit (qs_env, update_occupations, separate_spin_occupations, fixed_occupations)
 Rebuilds the physical density from the current k-point orbitals and occupations.
logical function, public qs_kpoint_mos_initialized (kpoints, require_full_space)
 Checks whether every local k-point channel contains nonzero occupied orbitals.
subroutine, public qs_kpoint_copy_spin_mos (kpoints, nspin)
 Copies the first k-point spin channel into the remaining channels.

Detailed Description

Methods for preparing and committing k-point orbital states to the QS environment.

Function/Subroutine Documentation

◆ qs_kpoint_state_prepare_fixed_density()

subroutine, public qs_kpoint_state::qs_kpoint_state_prepare_fixed_density ( type(kpoint_type), pointer kpoints)

Reconstructs fixed-rank complex k-point orbitals from a density kernel. The density and overlap must first be transferred to kpot_hmat and kpot_smat. The largest natural-orbital subspace gives a metric-defined fixed-rank projector without replacing the guess by the ground-state projector of its initial Hamiltonian.

Parameters
kpointsK-point environment containing the transferred density and overlap matrices.

Definition at line 75 of file qs_kpoint_state.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ qs_kpoint_state_canonicalize_fixed()

subroutine, public qs_kpoint_state::qs_kpoint_state_canonicalize_fixed ( type(kpoint_type), pointer kpoints)

Rotates a uniformly occupied k-point subspace into Ritz states of the current Hamiltonian and stores their energy labels. The Hamiltonian must first be transferred to kpot_hmat. Since the rotation is internal to a uniformly occupied subspace, it does not change the density represented by the orbitals.

Parameters
kpointsK-point environment containing the orbitals and transferred Hamiltonians.

Definition at line 171 of file qs_kpoint_state.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ qs_kpoint_state_commit()

subroutine, public qs_kpoint_state::qs_kpoint_state_commit ( type(qs_environment_type), pointer qs_env,
logical, intent(in) update_occupations,
logical, intent(in), optional separate_spin_occupations,
logical, intent(in), optional fixed_occupations )

Rebuilds the physical density from the current k-point orbitals and occupations.

Parameters
qs_envQS environment containing the orbital state to commit.
update_occupationsRecompute occupations from the current MO energies and SCF settings.
separate_spin_occupationsFill restricted energy channels independently.
fixed_occupationsRestore the fixed occupied rank required by OT.

Definition at line 271 of file qs_kpoint_state.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ qs_kpoint_mos_initialized()

logical function, public qs_kpoint_state::qs_kpoint_mos_initialized ( type(kpoint_type), pointer kpoints,
logical, intent(in), optional require_full_space )

Checks whether every local k-point channel contains nonzero occupied orbitals.

Parameters
kpointsK-point environment.
require_full_spaceRequire every available orbital instead of the occupied block.
Returns
True if every channel contains a nonzero real or imaginary coefficient.

Definition at line 335 of file qs_kpoint_state.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ qs_kpoint_copy_spin_mos()

subroutine, public qs_kpoint_state::qs_kpoint_copy_spin_mos ( type(kpoint_type), pointer kpoints,
integer, intent(in) nspin )

Copies the first k-point spin channel into the remaining channels.

Parameters
kpointsK-point environment.
nspinNumber of spin channels to populate.

Definition at line 393 of file qs_kpoint_state.F.

Here is the call graph for this function:
Here is the caller graph for this function: