![]() |
(git:f2099e5)
|
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. | |
Environment type holding the work and accumulation arrays of the Floquet-Bloch band-structure calculation (floquet_main), plus the derived sizes.
| 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.
| bs_env | ... |
Definition at line 85 of file floquet_types.F.
| 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.
| bs_env | ... |
| ispin | spin channel |
| n_lo | lowest full-band index of the window |
| n_hi | highest full-band index of the window |
Definition at line 107 of file floquet_types.F.
| 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.
| floquet_env | ... |
| bs_env | ... |
Definition at line 136 of file floquet_types.F.
| subroutine, public floquet_types::floquet_env_release | ( | type(floquet_env_type), intent(inout) | floquet_env | ) |
Deallocate all arrays held by floquet_env.
| floquet_env | ... |
Definition at line 190 of file floquet_types.F.