|
| subroutine | dm_propagation_oct_m::dmp_init (this, namespace, st, space, hm) |
| | Initialise an instance of density matrix dissipation. More...
|
| |
| subroutine, public | dm_propagation_oct_m::dm_propagation_init_run (dmp, namespace, space, gr, ions, st, hm, mc, from_scratch) |
| | Initialise the adiabatic states prior to running TD propagation. More...
|
| |
| subroutine, public | dm_propagation_oct_m::dm_end_run (system_grp, dmp) |
| |
| subroutine, public | dm_propagation_oct_m::dm_propagation_run (dmp, namespace, space, gr, ions, st, mc, hm, ks, iter, dt, ext_partners, update_energy) |
| | Density matrix propagation. More...
|
| |
| subroutine | dm_propagation_oct_m::total_population (ik, st, gr, nrm2, pop) |
| | Calculate total population. More...
|
| |
| subroutine | dm_propagation_oct_m::population_in_adiabatic (ik, ad_st, st, overlap, pop) |
| | Calculate number of electrons in the adiabatic basis. More...
|
| |
| subroutine | dm_propagation_oct_m::construct_residuals (gr, namespace, ad_st, st, ik, othn, overlap_ad_ks, nrm2_tdks, nresd, overlap_resd_ks, resd) |
| | Construct the residual basis and its overlap with TDKS wavefunctions. More...
|
| |
| subroutine | dm_propagation_oct_m::construct_density_matrix (nresd, ik, st, overlap_ad_ks, overlap_resd_ks, rho_mat) |
| | Construct the full density matrix in the adiabatic and residual basis. More...
|
| |
| subroutine | dm_propagation_oct_m::broadcast_occupation (occ, kpt, nst, parstate) |
| |
| subroutine | dm_propagation_oct_m::dissipation (hm, st, namespace, nresd_k, dt, dmp, rho_mat_k) |
| | Evolve the density matrix in time under dissipation. More...
|
| |
| subroutine | dm_propagation_oct_m::lindblad_uniform (dmp, kpt, nresd_k, dt, rho_mat_k) |
| | Evolve the density matrix in time under uniform dissipation. More...
|
| |
| subroutine | dm_propagation_oct_m::transition_rate_uniform (uniform, ad_st, ik, rtrans) |
| | Calculate state transition rates assuming uniform electron-phonon coupling. More...
|
| |
| subroutine | dm_propagation_oct_m::lindblad_operator_uniform (nst, nresd, rtrans, den_mat, l_mat) |
| | Calculate the Lindblad dissipator matrix for uniform decay. More...
|
| |
| subroutine | dm_propagation_oct_m::lindblad_2times (dmp, kpt, nresd_k, dt, rho_mat_k) |
| | Evolve the density matrix using the phenomenological two-time (T1/T2) relaxation model. More...
|
| |
| subroutine | dm_propagation_oct_m::lindblad_from_epw (dmp, hm, kpt, system_grp, namespace, nresd_k, dt, rho_mat_k) |
| | Evolve the density matrix under EPW-derived Lindblad dissipation. More...
|
| |
| subroutine | dm_propagation_oct_m::collision_from_epw (dmp, hm, kpt, system_grp, namespace, nresd_k, dt, rho_mat_k) |
| | Evolve the density matrix subject to the electron-phonon collision integral. More...
|
| |
| subroutine | dm_propagation_oct_m::dm_propagation_update_trans_rate (this, hm, system_grp, namespace) |
| | Read and update the EPW transition matrix only when the vector field index changes. More...
|
| |
| subroutine | dm_propagation_oct_m::iopar_open_trans_rate (namespace, ions, hm, system_grp, dmp) |
| | Read in metadata of transition rates, build intra/inter communicators and shared memory window. More...
|
| |
| subroutine | dm_propagation_oct_m::iopar_read_trans_rate (ia, system_grp, namespace, dmp) |
| | Read in transition rates to the shared memory window and then broadcast via internode communicator. More...
|
| |
| subroutine | dm_propagation_oct_m::iopar_close_trans_rate (system_grp, dmp) |
| | Finalize transition rate resources. More...
|
| |
| subroutine | dm_propagation_oct_m::build_epw_kmap (namespace, kpoints, dmp) |
| | Map internal k-point indices to the 1D EPW Monkhorst-Pack grid and verify mesh compatibility. More...
|
| |
| integer function | dm_propagation_oct_m::get_vector_field_index (dmp, hm, namespace) |
| | Get the flattened 1D index of the current vector potential on the discrete EPW vector field grid. More...
|
| |
| real(real64) function | dm_propagation_oct_m::get_trans_rate (dmp, nik_mp, jbnd, ibnd, k, kq, p_block) |
| | Get transition rate from state (k, ibnd) to (kq, jbnd). More...
|
| |
| subroutine | dm_propagation_oct_m::lindblad_operator_epw (dmp, ik, nik_skip, nresd, rho_diag, den_mat, l_mat) |
| | Calculate the Lindblad dissipator matrix using EPW electron-phonon scattering rates. More...
|
| |
| subroutine | dm_propagation_oct_m::lifetime (dmp, ik, ibnd, nik_skip, gam) |
| | Calculate the total scattering rate (inverse lifetime) for a given state. More...
|
| |
| subroutine | dm_propagation_oct_m::get_gamma (dmp, ik, ibnd, nik_skip, gam_in, gam_out) |
| | Calculate in/out scattering rates (Gamma) for a specific state (ik, ibnd). More...
|
| |
| subroutine | dm_propagation_oct_m::update_st (dmp, ik, gr, namespace, nresd, overlap_ad_ks, overlap_resd_ks, nrm2_tdks, resd, st, rho_mat, pop) |
| | Diagonalize the density matrix to update occupations and wavefunctions. More...
|
| |
| subroutine | dm_propagation_oct_m::update_wfc_occ (ik, ad_st, resd, gr, nresd, occ, v_mat, st, pop) |
| | Update states directly from diagonalization (no Procrustes). More...
|
| |
| subroutine | dm_propagation_oct_m::update_wfc_occ_procrustes (ik, ad_st, resd, gr, nresd, overlap_ad_ks, overlap_resd_ks, nrm2_tdks, occ_tilde, v_mat, st, pop) |
| | Update states using Procrustes transformation to ensure time continuity. More...
|
| |
| logical function | dm_propagation_oct_m::is_hermitian (n, mat) |
| | Check if a matrix is Hermitian. More...
|
| |