![]()  | 
  
    Octopus
    
   | 
 
This module implements the Casida equations for excited states. More...
This module implements the Casida equations for excited states.
Data Types | |
| type | casida_save_pot_t | 
| type | casida_t | 
| This class contains all parameters, needed for Casida calculations.  More... | |
Functions/Subroutines | |
| subroutine, public | casida_run_init () | 
| subroutine, public | casida_run (system, from_scratch) | 
| subroutine | casida_run_legacy (sys, fromScratch) | 
| subroutine | casida_type_init (cas, sys) | 
| allocates stuff, and constructs the arrays pair_i and pair_j  More... | |
| subroutine | casida_type_end (cas) | 
| subroutine | casida_work (sys, cas) | 
| this subroutine calculates electronic excitation energies using the matrix formulation of M. Petersilka, or of M. Casida  More... | |
| real(real64) function | casida_matrix_factor (cas, sys) | 
| subroutine | qcasida_write (cas, namespace) | 
| character(len=80) pure function | theory_name (cas) | 
| logical function | isnt_degenerate (cas, st, ia, jb) | 
| integer function | get_global_row (cas, jb_local) | 
| integer function | get_global_col (cas, ia_local) | 
| subroutine | local_indices (cas, ia, jb, on_this_processor, ia_local, jb_local) | 
| subroutine | doscillator_strengths (cas, mesh, st) | 
| real(real64) function, dimension(cas%n_pairs) | dks_matrix_elements (cas, st, mesh, dv) | 
| real(real64) function | dtransition_matrix_element (cas, ia, xx) | 
| calculate transition matrix elements  More... | |
| subroutine | dtransition_density (cas, st, mesh, ia, n0I) | 
| subroutine | dget_transition_densities (cas, sys) | 
| subroutine | dcasida_get_rho (st, mesh, ii, ia, kk, rho) | 
| subroutine | dcasida_calc_lr_hmat1 (sys, pert, hvar, lr_hmat1, is_saved, st_start, st_end, ik) | 
| calculate one-particle matrix elements of perturbation  More... | |
| subroutine | dcasida_lr_hmat2 (cas, st, lr_hmat1, ik) | 
| calculate two-particle matrix elements of perturbation  More... | |
| subroutine | dcasida_get_matrix (cas, namespace, hm, st, ks, mesh, matrix, xc, restart_file, is_forces) | 
| subroutine | dwrite_k_term (cas, mat_val, iunit, ia, jb) | 
| write matrix element to casida_restart file  More... | |
| subroutine | dcasida_forces (cas, sys, mesh, st) | 
| subroutine | dcasida_get_lr_hmat1 (cas, sys, iatom, idir, dl_rho, lr_hmat1) | 
| subroutine | dcasida_solve (cas, sys) | 
| subroutine | dcasida_write (cas, sys) | 
| subroutine | dwrite_implied_occupations (cas, iunit, ind) | 
| subroutine | dwrite_distributed_matrix (cas, matrix, filename) | 
| real(real64) function | dallreduce_sum (cas, variable) | 
| subroutine | zoscillator_strengths (cas, mesh, st) | 
| complex(real64) function, dimension(cas%n_pairs) | zks_matrix_elements (cas, st, mesh, dv) | 
| complex(real64) function | ztransition_matrix_element (cas, ia, xx) | 
| calculate transition matrix elements  More... | |
| subroutine | ztransition_density (cas, st, mesh, ia, n0I) | 
| subroutine | zget_transition_densities (cas, sys) | 
| subroutine | zcasida_get_rho (st, mesh, ii, ia, kk, rho) | 
| subroutine | zcasida_calc_lr_hmat1 (sys, pert, hvar, lr_hmat1, is_saved, st_start, st_end, ik) | 
| calculate one-particle matrix elements of perturbation  More... | |
| subroutine | zcasida_lr_hmat2 (cas, st, lr_hmat1, ik) | 
| calculate two-particle matrix elements of perturbation  More... | |
| subroutine | zcasida_get_matrix (cas, namespace, hm, st, ks, mesh, matrix, xc, restart_file, is_forces) | 
| subroutine | zwrite_k_term (cas, mat_val, iunit, ia, jb) | 
| write matrix element to casida_restart file  More... | |
| subroutine | zcasida_forces (cas, sys, mesh, st) | 
| subroutine | zcasida_get_lr_hmat1 (cas, sys, iatom, idir, dl_rho, lr_hmat1) | 
| subroutine | zcasida_solve (cas, sys) | 
| subroutine | zcasida_write (cas, sys) | 
| subroutine | zwrite_implied_occupations (cas, iunit, ind) | 
| subroutine | zwrite_distributed_matrix (cas, matrix, filename) | 
| complex(real64) function | zallreduce_sum (cas, variable) | 
Variables | |
| integer, parameter | casida_eps_diff = 1 | 
| integer, parameter | casida_petersilka = 2 | 
| integer, parameter | casida_tamm_dancoff = 4 | 
| integer, parameter | casida_variational = 8 | 
| integer, parameter | casida_casida = 16 | 
| integer, parameter | solver_elpa = 1 | 
| integer, parameter | solver_scalapack = 2 | 
| subroutine, public casida_oct_m::casida_run_init | 
Definition at line 283 of file casida.F90.
| subroutine, public casida_oct_m::casida_run | ( | class(*), intent(inout) | system, | 
| logical, intent(in) | from_scratch | ||
| ) | 
Definition at line 312 of file casida.F90.
      
  | 
  private | 
Definition at line 330 of file casida.F90.
      
  | 
  private | 
allocates stuff, and constructs the arrays pair_i and pair_j
Definition at line 783 of file casida.F90.
      
  | 
  private | 
Definition at line 941 of file casida.F90.
      
  | 
  private | 
this subroutine calculates electronic excitation energies using the matrix formulation of M. Petersilka, or of M. Casida
Definition at line 996 of file casida.F90.
      
  | 
  private | 
Definition at line 1185 of file casida.F90.
      
  | 
  private | 
Definition at line 1206 of file casida.F90.
      
  | 
  private | 
Definition at line 1244 of file casida.F90.
      
  | 
  private | 
Definition at line 1264 of file casida.F90.
      
  | 
  private | 
Definition at line 1278 of file casida.F90.
      
  | 
  private | 
Definition at line 1292 of file casida.F90.
      
  | 
  private | 
Definition at line 1306 of file casida.F90.
      
  | 
  private | 
Definition at line 1406 of file casida.F90.
      
  | 
  private | 
Definition at line 1542 of file casida.F90.
      
  | 
  private | 
calculate transition matrix elements
Casida: \( \vec{d}_k = \sum_{cv} \vec{d}_{cv} x_{cv} \sqrt{\frac{\epsilon_c - \epsilon_v}{\omega_k}} \) others: \( \vec{d}_k = \sum_{cv} \vec{d}_{cv} x_{cv} \)
| [in] | xx | these are KS matrix elements | 
Definition at line 1586 of file casida.F90.
      
  | 
  private | 
Definition at line 1624 of file casida.F90.
      
  | 
  private | 
Definition at line 1667 of file casida.F90.
      
  | 
  private | 
Definition at line 1700 of file casida.F90.
      
  | 
  private | 
calculate one-particle matrix elements of perturbation
Definition at line 1737 of file casida.F90.
      
  | 
  private | 
calculate two-particle matrix elements of perturbation
Definition at line 1785 of file casida.F90.
      
  | 
  private | 
calculates the matrix elements <i(p),a(p)|v|j(q),b(q)> and/or <i(p),a(p)|xc|j(q),b(q)>
no need to get rho twice
Definition at line 1821 of file casida.F90.
      
  | 
  private | 
write matrix element to casida_restart file
Definition at line 2268 of file casida.F90.
      
  | 
  private | 
Definition at line 2284 of file casida.F90.
      
  | 
  private | 
Definition at line 2425 of file casida.F90.
      
  | 
  private | 
Definition at line 2537 of file casida.F90.
      
  | 
  private | 
Definition at line 2800 of file casida.F90.
      
  | 
  private | 
Definition at line 2961 of file casida.F90.
      
  | 
  private | 
Definition at line 3000 of file casida.F90.
      
  | 
  private | 
Definition at line 3044 of file casida.F90.
      
  | 
  private | 
Definition at line 3137 of file casida.F90.
      
  | 
  private | 
Definition at line 3273 of file casida.F90.
      
  | 
  private | 
calculate transition matrix elements
Casida: \( \vec{d}_k = \sum_{cv} \vec{d}_{cv} x_{cv} \sqrt{\frac{\epsilon_c - \epsilon_v}{\omega_k}} \) others: \( \vec{d}_k = \sum_{cv} \vec{d}_{cv} x_{cv} \)
| [in] | xx | these are KS matrix elements | 
Definition at line 3317 of file casida.F90.
      
  | 
  private | 
Definition at line 3355 of file casida.F90.
      
  | 
  private | 
Definition at line 3398 of file casida.F90.
      
  | 
  private | 
Definition at line 3431 of file casida.F90.
      
  | 
  private | 
calculate one-particle matrix elements of perturbation
Definition at line 3468 of file casida.F90.
      
  | 
  private | 
calculate two-particle matrix elements of perturbation
Definition at line 3516 of file casida.F90.
      
  | 
  private | 
calculates the matrix elements <i(p),a(p)|v|j(q),b(q)> and/or <i(p),a(p)|xc|j(q),b(q)>
no need to get rho twice
Definition at line 3552 of file casida.F90.
      
  | 
  private | 
write matrix element to casida_restart file
Definition at line 3999 of file casida.F90.
      
  | 
  private | 
Definition at line 4015 of file casida.F90.
      
  | 
  private | 
Definition at line 4156 of file casida.F90.
      
  | 
  private | 
Definition at line 4268 of file casida.F90.
      
  | 
  private | 
Definition at line 4545 of file casida.F90.
      
  | 
  private | 
Definition at line 4706 of file casida.F90.
      
  | 
  private | 
Definition at line 4745 of file casida.F90.
      
  | 
  private | 
Definition at line 4789 of file casida.F90.
      
  | 
  private | 
Definition at line 185 of file casida.F90.
      
  | 
  private | 
Definition at line 185 of file casida.F90.
      
  | 
  private | 
Definition at line 185 of file casida.F90.
      
  | 
  private | 
Definition at line 185 of file casida.F90.
      
  | 
  private | 
Definition at line 185 of file casida.F90.
      
  | 
  private | 
Definition at line 192 of file casida.F90.
      
  | 
  private | 
Definition at line 192 of file casida.F90.