BS_solvers Module



Variables

Type Visibility Attributes Name Initial
real(kind=SP), public :: Co_factor
complex(kind=SP), public :: diam_term_exact
complex(kind=SP), public :: para_term_w0(3)
complex(kind=SP), public :: A_drude(3)
complex(kind=SP), public :: B_Hall(2)
type(Slepc_vector), public :: Slepc_v
integer, public, allocatable :: Haydock_parallel_group_comm(:)
type(PAR_matrix), public, SAVE :: K_slk
type(IO_desc), public :: BSS_desc
character(len=schlen), public :: BSS_mode
complex(kind=SP), public :: BSS_Wd
integer, public :: BSS_n_freqs
integer, public :: BSS_n_eig
integer, public :: BSS_n_eig_Input
integer, public :: BSS_first_eig
real(kind=SP), public :: BSS_target_E
real(kind=SP), public :: BSS_trange_E(2)
real(kind=SP), public :: BSS_er(2)
real(kind=SP), public :: BSS_dr(2)
real(kind=SP), public :: BSS_damp_reference
real(kind=SP), public :: BSS_q0(3)
real(kind=SP), public :: BSS_E_dir(3)
real(kind=SP), public :: BSS_P_dir(3)
real(kind=SP), public :: BSS_Q_dir(3)
real(kind=SP), public :: BSS_kernel_stored_size
integer, public :: BSS_kernel_last_stored_block
logical, public :: BSS_uses_DbGd
logical, public :: BSS_Vnl_included
logical, public :: BSS_uses_GreenF
logical, public :: BSS_kernel_IO_on_the_fly
logical, public :: BSS_perturbative_width
logical, public :: l_abs_prop_chi_bse = .TRUE.
logical, public :: l_eels_can_be_computed = .TRUE.
logical, public :: l_eels_from_inversion = .TRUE.
logical, public :: BSS_uses_pert_SOC = .FALSE.
logical, public :: run_Haydock = .FALSE.
logical, public :: run_inversion = .FALSE.
logical, public :: run_Diago = .FALSE.
logical, public :: load_Diago = .FALSE.
logical, public :: run_Slepc = .FALSE.
logical, public :: BSS_write_eig_2_db
character(len=1), public :: BSS_ldiago_solver
integer, public :: HAYVEC_size
logical, public :: Haydock_terminator
integer, public :: Haydock_iterIO
integer, public :: Haydock_iterMAX
real(kind=SP), public :: Haydock_threshold
real(kind=SP), public :: Haydock_v0_mod
real(kind=SP), public :: FG_factor
logical, public :: BSS_uses_FKE
character(len=schlen), public :: BSS_slepc_approach
character(len=schlen), public :: BSS_slepc_precondition
character(len=schlen), public :: BSS_slepc_extraction
integer, public :: BSS_slepc_ncv
integer, public :: BSS_slepc_maxit
integer, public :: BSS_slepc_mpd
real(kind=SP), public :: BSS_slepc_tol
character(len=schlen), public :: BSS_slepc_matrix_format
logical, public :: BSS_slepc_double_grp
logical, public :: BSS_slepc_pseudo_herm
character(len=schlen), public :: BSS_inversion_mode
logical, public :: BSS_uses_partial_diago
logical, public :: K_diago_in_BS_mat
type(PAR_matrix), public, SAVE :: K_inv_slk
type(K_Inversion_data), public, save :: K_INV_PI_PH
type(K_Inversion_data), public, save :: K_INV_EPS
type(K_Inversion_data), public, save :: K_INV_PL
integer, public, allocatable :: BSS_eh_table(:,:)
integer, public, allocatable :: BSS_eh_table_m1(:,:,:,:,:)
real(kind=SP), public, allocatable :: BSS_eh_E(:)
real(kind=SP), public, allocatable :: BSS_eh_f(:)
real(kind=SP), public, allocatable :: BSS_eh_W(:)
complex(kind=SP), public, allocatable :: BSS_eh_Z(:)
real(kind=SP), public, allocatable :: BSS_eh_f_RES(:)
real(kind=SP), public, allocatable :: BSS_eh_E_SOC_corr(:,:)
complex(kind=SP), public, allocatable :: BSS_dipoles_opt(:,:)
complex(kind=SP), public, allocatable :: BS_E(:)
complex(kind=SP), public, allocatable :: BS_diagonal(:)
complex(kind=SP), public, allocatable :: BS_mat(:,:)
real(kind=SP), public :: deg_exc_thrshld

Interfaces

interface

  • public function variables_BS(ID, iq, local_desc, CLOSE_the_menu, X)

    Arguments

    Type IntentOptional Attributes Name
    integer :: ID
    integer :: iq
    type(IO_desc) :: local_desc
    logical :: CLOSE_the_menu
    type(X_t), optional :: X

    Return Value integer

interface

  • public function io_BSS_diago(iq, i_BS_mat, ID, X_static, bsE, bsRl, bsRr, BsE_corr, bsL_magn, bsR_magn, bsL_kerr, bsR_kerr, bsR_dich, bsR_mespin, bsR_meorb, bsR_pl, BS_mat, write_ev)

    Arguments

    Type IntentOptional Attributes Name
    integer :: iq
    integer :: i_BS_mat
    integer :: ID
    type(X_t), intent(in) :: X_static
    complex(kind=SP), optional :: bsE(:)
    complex(kind=SP), optional, pointer :: bsRl(:)
    complex(kind=SP), optional, pointer :: bsRr(:)
    real(kind=SP), optional, pointer :: BsE_corr(:,:)
    complex(kind=SP), optional, pointer :: bsL_magn(:,:)
    complex(kind=SP), optional, pointer :: bsR_magn(:,:)
    complex(kind=SP), optional, pointer :: bsL_kerr(:)
    complex(kind=SP), optional, pointer :: bsR_kerr(:)
    complex(kind=SP), optional, pointer :: bsR_dich(:,:)
    complex(kind=SP), optional, pointer :: bsR_mespin(:,:)
    complex(kind=SP), optional, pointer :: bsR_meorb(:,:)
    real(kind=SP), optional, pointer :: bsR_pl(:,:)
    complex(kind=SP), optional :: BS_mat(:,:)
    logical, optional :: write_ev

    Return Value integer

interface

  • public function io_BSS_Haydock(ID, iq, it, reached_treshold, mode, Af, Bf, Cf, Vnm1, Vn, Vnp1)

    Arguments

    Type IntentOptional Attributes Name
    integer :: ID
    integer :: iq
    integer :: it
    real(kind=SP) :: reached_treshold
    character(len=*) :: mode
    real(kind=SP) :: Af(it)
    real(kind=SP) :: Bf(it+1)
    complex(kind=SP) :: Cf(:)
    complex(kind=SP), pointer :: Vnm1(:)
    complex(kind=SP), pointer :: Vn(:)
    complex(kind=SP), pointer :: Vnp1(:)

    Return Value integer

interface

  • public subroutine write_bs_ev_par(iq, i_BS_mat, neigs_this_cpu, neig_shift, BS_VR, BS_VL)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: iq
    integer, intent(in) :: i_BS_mat
    integer, intent(in) :: neigs_this_cpu
    integer, intent(in) :: neig_shift
    complex(kind=SP), optional, allocatable, target :: BS_VR(:,:)
    complex(kind=SP), optional, allocatable, target :: BS_VL(:,:)

public interface BSS_resize_and_save

  • public subroutine resizeR1(VAR_R1)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=SP), intent(inout), allocatable :: VAR_R1(:)
  • public subroutine resizeR1p(VAR_R1)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=SP), intent(inout), pointer :: VAR_R1(:)
  • public subroutine resizeR2p(VAR_R2)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=SP), intent(inout), pointer :: VAR_R2(:,:)
  • public subroutine resizeC1(VAR_C1)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=SP), intent(inout), allocatable :: VAR_C1(:)
  • public subroutine resizeC2(VAR_C2)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=SP), intent(inout), allocatable :: VAR_C2(:,:)
  • public subroutine resizeC1p(VAR_C1)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=SP), intent(inout), pointer :: VAR_C1(:)
  • public subroutine resizeC2p(VAR_C2)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=SP), intent(inout), pointer :: VAR_C2(:,:)
  • public subroutine resizeC22p(VAR_C22, both)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=SP), intent(inout), pointer :: VAR_C22(:,:)
    logical, intent(in) :: both

public interface BSS_resize_only

  • public subroutine resize_onlyR1(VAR_R1)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=SP), intent(inout), allocatable :: VAR_R1(:)
  • public subroutine resize_onlyR1p(VAR_R1)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=SP), intent(inout), pointer :: VAR_R1(:)
  • public subroutine resize_onlyR2p(VAR_R2)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=SP), intent(inout), pointer :: VAR_R2(:,:)
  • public subroutine resize_onlyC1(VAR_C1)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=SP), intent(inout), allocatable :: VAR_C1(:)
  • public subroutine resize_onlyC2(VAR_C2)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=SP), intent(inout), allocatable :: VAR_C2(:,:)
  • public subroutine resize_onlyC1p(VAR_C1)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=SP), intent(inout), pointer :: VAR_C1(:)
  • public subroutine resize_onlyC2p(VAR_C2)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=SP), intent(inout), pointer :: VAR_C2(:,:)
  • public subroutine resize_onlyC22p(VAR_C22, both)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=SP), intent(inout), pointer :: VAR_C22(:,:)
    logical, intent(in) :: both

Derived Types

type, public ::  Haydock_vector

Components

Type Visibility Attributes Name Initial
complex(kind=SP), public, allocatable :: fragment(:,:)

type, public ::  Slepc_vector

Components

Type Visibility Attributes Name Initial
integer, public :: it(2)
type(Haydock_vector), public, allocatable :: Vi(:)
type(Haydock_vector), public, allocatable :: Vo(:)

type, public ::  K_Inversion_data

Components

Type Visibility Attributes Name Initial
character(len=3), public :: what
integer, public :: n_freqs = 0
integer, public :: n_full_inv_freqs = 0
real(kind=SP), public :: treshold
real(kind=SP), public :: max_treshold
real(kind=SP), public :: PERT_FULL_ratio = 1.
integer, public, allocatable :: err(:)
integer, public, allocatable :: iw_full(:)
complex(kind=SP), public, allocatable :: spectra(:,:)

Subroutines

public subroutine resizeR1(VAR_R1)

Arguments

Type IntentOptional Attributes Name
real(kind=SP), intent(inout), allocatable :: VAR_R1(:)

public subroutine resizeR1p(VAR_R1)

Arguments

Type IntentOptional Attributes Name
real(kind=SP), intent(inout), pointer :: VAR_R1(:)

public subroutine resizeR2p(VAR_R2)

Arguments

Type IntentOptional Attributes Name
real(kind=SP), intent(inout), pointer :: VAR_R2(:,:)

public subroutine resizeC1(VAR_C1)

Arguments

Type IntentOptional Attributes Name
complex(kind=SP), intent(inout), allocatable :: VAR_C1(:)

public subroutine resizeC1p(VAR_C1)

Arguments

Type IntentOptional Attributes Name
complex(kind=SP), intent(inout), pointer :: VAR_C1(:)

public subroutine resizeC2(VAR_C2)

Arguments

Type IntentOptional Attributes Name
complex(kind=SP), intent(inout), allocatable :: VAR_C2(:,:)

public subroutine resizeC2p(VAR_C2)

Arguments

Type IntentOptional Attributes Name
complex(kind=SP), intent(inout), pointer :: VAR_C2(:,:)

public subroutine resizeC22p(VAR_C22, both)

Arguments

Type IntentOptional Attributes Name
complex(kind=SP), intent(inout), pointer :: VAR_C22(:,:)
logical, intent(in) :: both

public subroutine resize_onlyR1(VAR_R1)

Arguments

Type IntentOptional Attributes Name
real(kind=SP), intent(inout), allocatable :: VAR_R1(:)

public subroutine resize_onlyR1p(VAR_R1)

Arguments

Type IntentOptional Attributes Name
real(kind=SP), intent(inout), pointer :: VAR_R1(:)

public subroutine resize_onlyR2p(VAR_R2)

Arguments

Type IntentOptional Attributes Name
real(kind=SP), intent(inout), pointer :: VAR_R2(:,:)

public subroutine resize_onlyC1(VAR_C1)

Arguments

Type IntentOptional Attributes Name
complex(kind=SP), intent(inout), allocatable :: VAR_C1(:)

public subroutine resize_onlyC1p(VAR_C1)

Arguments

Type IntentOptional Attributes Name
complex(kind=SP), intent(inout), pointer :: VAR_C1(:)

public subroutine resize_onlyC2(VAR_C2)

Arguments

Type IntentOptional Attributes Name
complex(kind=SP), intent(inout), allocatable :: VAR_C2(:,:)

public subroutine resize_onlyC2p(VAR_C2)

Arguments

Type IntentOptional Attributes Name
complex(kind=SP), intent(inout), pointer :: VAR_C2(:,:)

public subroutine resize_onlyC22p(VAR_C22, both)

Arguments

Type IntentOptional Attributes Name
complex(kind=SP), intent(inout), pointer :: VAR_C22(:,:)
logical, intent(in) :: both

public subroutine BSS_alloc()

Arguments

None

public subroutine BSS_free()

Arguments

None

public subroutine BS_HAYVEC_alloc(V, dom_k)

Arguments

Type IntentOptional Attributes Name
type(Haydock_vector) :: V(BS_nT_grps)
integer :: dom_k(BS_nT_grps)

public subroutine BS_HAYVEC_free(V)

Arguments

Type IntentOptional Attributes Name
type(Haydock_vector) :: V(:)


📚 Documentation Pages
⏱️ Real-Time
🔗 Code API