|
| subroutine, public | casida_oct_m::casida_run (system, from_scratch) |
| |
| subroutine | casida_oct_m::casida_run_legacy (sys, fromScratch) |
| |
| subroutine | casida_oct_m::casida_count_pairs (st, namespace, n_pairs, n_occ, n_unocc, is_included, is_frac_occ) |
| | number of occupied-unoccupied pairs for Casida More...
|
| |
| subroutine | casida_oct_m::casida_type_init (cas, sys) |
| | allocates stuff, and constructs the arrays pair_i and pair_j More...
|
| |
| subroutine | casida_oct_m::casida_type_end (cas) |
| |
| subroutine | casida_oct_m::casida_work (sys, cas) |
| | this subroutine calculates electronic excitation energies using the matrix formulation of M. Petersilka, or of M. Casida More...
|
| |
| subroutine | solve_eps_diff |
| |
| real(real64) function | casida_oct_m::casida_matrix_factor (cas, sys) |
| |
| subroutine | casida_oct_m::qcasida_write (cas, namespace) |
| |
| character(len=80) pure function | casida_oct_m::theory_name (cas) |
| |
| logical function | casida_oct_m::isnt_degenerate (cas, st, ia, jb) |
| |
| integer function | casida_oct_m::get_global_row (cas, jb_local) |
| |
| integer function | casida_oct_m::get_global_col (cas, ia_local) |
| |
| subroutine | casida_oct_m::local_indices (cas, ia, jb, on_this_processor, ia_local, jb_local) |
| |
| subroutine | casida_oct_m::doscillator_strengths (cas, mesh, st) |
| |
| real(real64) function, dimension(cas%n_pairs) | casida_oct_m::dks_matrix_elements (cas, st, mesh, dv) |
| |
| real(real64) function | casida_oct_m::dtransition_matrix_element (cas, ia, xx) |
| | calculate transition matrix elements More...
|
| |
| subroutine | casida_oct_m::dtransition_density (cas, st, mesh, ia, n0I) |
| |
| subroutine | casida_oct_m::dget_transition_densities (cas, sys) |
| |
| subroutine | casida_oct_m::dcasida_get_rho (st, mesh, ii, ia, kk, rho) |
| |
| subroutine | casida_oct_m::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 | casida_oct_m::dcasida_lr_hmat2 (cas, st, lr_hmat1, ik) |
| | calculate two-particle matrix elements of perturbation More...
|
| |
| subroutine | casida_oct_m::dcasida_get_matrix (cas, namespace, hm, st, ks, gr, matrix, fxc, fxc_grad, fxc_grad_spin, restart_file, is_forces, matrixB) |
| |
| subroutine | load_saved (matrix, is_saved, restart_file) |
| |
| subroutine | casida_oct_m::dwrite_k_term (cas, mat_val, iunit, ia, jb) |
| | write matrix element to casida_restart file More...
|
| |
| subroutine | casida_oct_m::dcasida_forces (cas, sys, gr, st) |
| |
| subroutine | casida_oct_m::dcasida_get_lr_hmat1 (cas, sys, iatom, idir, dl_rho, lr_hmat1) |
| |
| subroutine | casida_oct_m::dcasida_solve (cas, sys) |
| |
| subroutine | dcasida_solve_tdhf () |
| | Solve the full TDHF (RPA) problem for real wavefunctions. More...
|
| |
| subroutine | casida_oct_m::dcasida_write (cas, sys) |
| |
| subroutine | casida_oct_m::dwrite_implied_occupations (cas, iunit, ind) |
| |
| subroutine | casida_oct_m::dwrite_distributed_matrix (cas, matrix, filename) |
| |
| real(real64) function | casida_oct_m::dallreduce_sum (cas, variable) |
| |
| subroutine | casida_oct_m::zoscillator_strengths (cas, mesh, st) |
| |
| complex(real64) function, dimension(cas%n_pairs) | casida_oct_m::zks_matrix_elements (cas, st, mesh, dv) |
| |
| complex(real64) function | casida_oct_m::ztransition_matrix_element (cas, ia, xx) |
| | calculate transition matrix elements More...
|
| |
| subroutine | casida_oct_m::ztransition_density (cas, st, mesh, ia, n0I) |
| |
| subroutine | casida_oct_m::zget_transition_densities (cas, sys) |
| |
| subroutine | casida_oct_m::zcasida_get_rho (st, mesh, ii, ia, kk, rho) |
| |
| subroutine | casida_oct_m::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 | casida_oct_m::zcasida_lr_hmat2 (cas, st, lr_hmat1, ik) |
| | calculate two-particle matrix elements of perturbation More...
|
| |
| subroutine | casida_oct_m::zcasida_get_matrix (cas, namespace, hm, st, ks, gr, matrix, fxc, fxc_grad, fxc_grad_spin, restart_file, is_forces, matrixB) |
| |
| subroutine | load_saved (matrix, is_saved, restart_file) |
| |
| subroutine | casida_oct_m::zwrite_k_term (cas, mat_val, iunit, ia, jb) |
| | write matrix element to casida_restart file More...
|
| |
| subroutine | casida_oct_m::zcasida_forces (cas, sys, gr, st) |
| |
| subroutine | casida_oct_m::zcasida_get_lr_hmat1 (cas, sys, iatom, idir, dl_rho, lr_hmat1) |
| |
| subroutine | casida_oct_m::zcasida_solve (cas, sys) |
| |
| subroutine | zcasida_solve_tdhf () |
| | Solve the full TDHF (RPA) problem for real wavefunctions. More...
|
| |
| subroutine | casida_oct_m::zcasida_write (cas, sys) |
| |
| subroutine | casida_oct_m::zwrite_implied_occupations (cas, iunit, ind) |
| |
| subroutine | casida_oct_m::zwrite_distributed_matrix (cas, matrix, filename) |
| |
| complex(real64) function | casida_oct_m::zallreduce_sum (cas, variable) |
| |
| subroutine dcasida_solve::dcasida_solve_tdhf |
|
private |
Solve the full TDHF (RPA) problem for real wavefunctions.
Given the (raw) coupling matrices A = casdmat and B = casdmatB, reduce [[A,B],[B,A]] [X;Y] = omega [[1,0],[0,-1]] [X;Y] to the standard symmetric eigenproblem (A-B)^1/2 (A+B) (A-B)^1/2 F = omega^2 F. On exit casw holds omega^2 and casdmat holds (A-B)^1/2 F = sqrt(omega) (X+Y), so that the transition-dipole code (which divides by sqrt(omega)) recovers X+Y.
This Hermitian half-size reduction of the (A, B) problem is the one derived by R. E. Stratmann, G. E. Scuseria, and M. J. Frisch, J. Chem. Phys. 109, 8218 (1998), https: The A and B matrices themselves are those of Eqs. 12 and 13 of Liang et al., J. Chem. Theory Comput. 7, 3540 (2011), https:
Definition at line 3313 of file casida.F90.
| subroutine zcasida_solve::zcasida_solve_tdhf |
|
private |
Solve the full TDHF (RPA) problem for real wavefunctions.
Given the (raw) coupling matrices A = caszmat and B = caszmatB, reduce [[A,B],[B,A]] [X;Y] = omega [[1,0],[0,-1]] [X;Y] to the standard symmetric eigenproblem (A-B)^1/2 (A+B) (A-B)^1/2 F = omega^2 F. On exit casw holds omega^2 and caszmat holds (A-B)^1/2 F = sqrt(omega) (X+Y), so that the transition-dipole code (which divides by sqrt(omega)) recovers X+Y.
This Hermitian half-size reduction of the (A, B) problem is the one derived by R. E. Stratmann, G. E. Scuseria, and M. J. Frisch, J. Chem. Phys. 109, 8218 (1998), https: The A and B matrices themselves are those of Eqs. 12 and 13 of Liang et al., J. Chem. Theory Comput. 7, 3540 (2011), https:
Definition at line 5451 of file casida.F90.