(git:5e7fe52)
Loading...
Searching...
No Matches
kpoint_methods.F File Reference

Go to the source code of this file.

Data Types

type  kpoint_methods::kp_transform_plan_type
type  kpoint_methods::rskp_grid_type

Modules

module  kpoint_methods
 Routines needed for kpoint calculation.

Functions/Subroutines

subroutine, public kpoint_methods::kpoint_initialize (kpoint, particle_set, cell)
 Generate the kpoints and initialize the kpoint environment.
subroutine, public kpoint_methods::kpoint_env_initialize (kpoint, para_env, blacs_env, with_aux_fit)
 Initialize the kpoint environment.
subroutine, public kpoint_methods::kpoint_initialize_mos (kpoint, mos, added_mos, for_aux_fit)
 Initialize a set of MOs and density matrix for each kpoint (kpoint group).
subroutine, public kpoint_methods::kpoint_initialize_mo_set (kpoint)
 ...
subroutine, public kpoint_methods::kpoint_init_cell_index (kpoint, sab_nl, para_env, nimages)
 Generates the mapping of cell indices and linear RS index CELL (0,0,0) is always mapped to index 1.
subroutine, public kpoint_methods::rskp_transform (rmatrix, cmatrix, rsmat, ispin, xkp, cell_to_index, sab_nl, is_complex, rs_sign)
 Transformation of real space matrices to a kpoint.
subroutine, public kpoint_methods::rskp_transform_grid_prepare (grid, rmatrix, rsmat, ispin, xkp, nkp_grid, cell_to_index, sab_nl, used_fft, is_complex, rs_sign, max_storage_bytes)
 Prepare a batched real-cell to complete reciprocal-grid transform for local DBCSR blocks. The stored blocks remain MPI local. Irregular or too-large grids return used_fft=.FALSE.
subroutine, public kpoint_methods::rskp_transform_grid_extract (grid, ikp, rmatrix, cmatrix)
 Extract one reciprocal-grid matrix from a prepared local DBCSR block cache.
subroutine, public kpoint_methods::rskp_transform_grid_release (grid)
 Release a reciprocal-grid transformation cache.
subroutine, public kpoint_methods::kpoint_set_mo_occupation (kpoint, smear, probe, added_mos_auto, added_mos_auto_grow, separate_spin_occupations)
 Given the eigenvalues of all kpoints, calculates the occupation numbers.
subroutine, public kpoint_methods::kpoint_smearing_edge_status (wocc, wkp, smear, nspin, has_weight, first_fractional, last_occupied, last_occupied_spin)
 summarize whether weighted k-point smearing reaches the available band edges
subroutine, public kpoint_methods::kpoint_density_matrices (kpoint, energy_weighted, for_aux_fit)
 Calculate kpoint density matrices (rho(k), owned by kpoint groups).
subroutine, public kpoint_methods::kpoint_ot_energy_weighted_density (coeff_re, coeff_im, hc_re, hc_im, occupation, wmat_re, wmat_im)
 Build W(k) for noncanonical complex OT orbitals from H(k) C(k). The occupied-space Lagrange multiplier is Hermitian[(C^H H C) f], which reduces to the usual eigenvalue-weighted expression for canonical orbitals.
subroutine, public kpoint_methods::kpoint_ot_energy_weighted_matrices (kpoint, matrix_ks)
 Build energy-weighted density matrices for complex K-point OT. H(k) is transformed only while W(k) is needed, avoiding a persistent dense AO-by-AO Hamiltonian for every spin and K point.
subroutine, public kpoint_methods::lowdin_kp_trans (kpoint, pmat_diag)
 Calculate Lowdin transformation of density matrix S^1/2 P S^1/2 Integrate diagonal elements over k-points to get Lowdin charges.
subroutine, public kpoint_methods::lowdin_kp_mo_coeff (kp, ispin, use_real_wfn, shalfc, cshalfc)
 Calculate S(k)^1/2 C(k) for real or complex k-point wavefunctions.
subroutine, public kpoint_methods::kpoint_density_transform (kpoint, denmat, wtype, tempmat, sab_nl, fmwork, for_aux_fit, pmat_ext, overlap_rs)
 generate real space density matrices in DBCSR format
subroutine, public kpoint_methods::kp_transform_plan_create (plan, sab_nl, cell_to_index, nimg, block_template, group_entries)
 Build the immutable neighbor-list traversal shared by R-to-K and K-to-R transforms.
subroutine, public kpoint_methods::kp_transform_plan_release (plan)
 Release a K-to-R traversal plan.