(git:f2099e5)
Loading...
Searching...
No Matches
floquet_types Module Reference

Environment type holding the work and accumulation arrays of the Floquet-Bloch band-structure calculation (floquet_main), plus the derived sizes. More...

Data Types

type  floquet_env_type
 Work and accumulation arrays for one Floquet-Bloch band-structure run, plus the derived sizes. The per-(k-point,spin) buffers are overwritten each iteration; the all_* arrays accumulate the results over all DOS k-points and spins. More...

Functions/Subroutines

integer function, public floquet_active_band_count (bs_env)
 Number of active bands used by the Floquet calculation: the MAX_NMO band window closest to the VBM, clamped to the full molecular-orbital count, or the full count when MAX_NMO <= 0.
subroutine, public floquet_band_window (bs_env, ispin, n_lo, n_hi)
 Full-band index bounds [n_lo, n_hi] of the active window for one spin, selecting the MAX_NMO Kohn-Sham eigenstates closest to the VBM. Mirrors the HOMO-centred windowing of qs_moment_kpoints (qs_moments.F), with a final reclamp so the window holds exactly floquet_active_band_count(bs_env) states regardless of the per-spin HOMO index.
subroutine, public floquet_env_create (floquet_env, bs_env)
 Set the derived sizes from bs_env and allocate all work and accumulation arrays.
subroutine, public floquet_env_release (floquet_env)
 Deallocate all arrays held by floquet_env.

Detailed Description

Environment type holding the work and accumulation arrays of the Floquet-Bloch band-structure calculation (floquet_main), plus the derived sizes.

History
Author
Shridhar Shanbhag (27.01.2026)

Function/Subroutine Documentation

◆ floquet_active_band_count()

integer function, public floquet_types::floquet_active_band_count ( type(post_scf_bandstructure_type), pointer bs_env)

Number of active bands used by the Floquet calculation: the MAX_NMO band window closest to the VBM, clamped to the full molecular-orbital count, or the full count when MAX_NMO <= 0.

Parameters
bs_env...
Returns
the active band count

Definition at line 85 of file floquet_types.F.

Here is the caller graph for this function:

◆ floquet_band_window()

subroutine, public floquet_types::floquet_band_window ( type(post_scf_bandstructure_type), pointer bs_env,
integer, intent(in) ispin,
integer, intent(out) n_lo,
integer, intent(out) n_hi )

Full-band index bounds [n_lo, n_hi] of the active window for one spin, selecting the MAX_NMO Kohn-Sham eigenstates closest to the VBM. Mirrors the HOMO-centred windowing of qs_moment_kpoints (qs_moments.F), with a final reclamp so the window holds exactly floquet_active_band_count(bs_env) states regardless of the per-spin HOMO index.

Parameters
bs_env...
ispinspin channel
n_lolowest full-band index of the window
n_hihighest full-band index of the window

Definition at line 107 of file floquet_types.F.

Here is the caller graph for this function:

◆ floquet_env_create()

subroutine, public floquet_types::floquet_env_create ( type(floquet_env_type), intent(out) floquet_env,
type(post_scf_bandstructure_type), pointer bs_env )

Set the derived sizes from bs_env and allocate all work and accumulation arrays.

Parameters
floquet_env...
bs_env...

Definition at line 136 of file floquet_types.F.

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

◆ floquet_env_release()

subroutine, public floquet_types::floquet_env_release ( type(floquet_env_type), intent(inout) floquet_env)

Deallocate all arrays held by floquet_env.

Parameters
floquet_env...

Definition at line 190 of file floquet_types.F.

Here is the caller graph for this function: