tau_search_hist Module



Variables

Type Visibility Attributes Name Initial
type(HistogrammingSpec_t), public :: histogramming_spec
type(HistogrammingSpec_t), public, allocatable :: user_input_histogramming_spec
logical, private :: consider_par_bias
integer, private :: n_opp
integer, private :: n_par
integer, private :: cnt_sing_hist
integer, private :: cnt_doub_hist
integer, private :: cnt_opp_hist
integer, private :: cnt_par_hist
integer, private :: cnt_trip_hist
integer, private :: above_max_singles
integer, private :: above_max_para
integer, private :: above_max_anti
integer, private :: above_max_doubles
integer, private :: above_max_triples
integer, private :: below_thresh_singles
integer, private :: below_thresh_para
integer, private :: below_thresh_anti
integer, private :: below_thresh_doubles
integer, private :: below_thresh_triples
logical, private :: enough_sing_hist
logical, private :: enough_doub_hist
logical, private :: enough_par_hist
logical, private :: enough_opp_hist
logical, private :: enough_trip_hist
integer(kind=int64), private, allocatable :: frequency_bins_singles(:)
integer(kind=int64), private, allocatable :: frequency_bins_para(:)
integer(kind=int64), private, allocatable :: frequency_bins_anti(:)
integer(kind=int64), private, allocatable :: frequency_bins_doubles(:)
integer(kind=int64), private, allocatable :: frequency_bins(:)
integer(kind=int64), private, allocatable :: frequency_bins_triples(:)
integer(kind=TagIntType), private :: mem_tag_histograms = 0
integer(kind=int64), private :: zero_singles
integer(kind=int64), private :: zero_para
integer(kind=int64), private :: zero_anti
integer(kind=int64), private :: zero_doubles
integer(kind=int64), private :: zero_triples
real(kind=dp), private :: gamma_sing
real(kind=dp), private :: gamma_doub
real(kind=dp), private :: gamma_opp
real(kind=dp), private :: gamma_par
real(kind=dp), private :: gamma_trip
real(kind=dp), private :: min_sing
real(kind=dp), private :: min_doub
real(kind=dp), private :: min_opp
real(kind=dp), private :: min_par
real(kind=dp), private :: min_trip
real(kind=dp), private, parameter :: thresh = 1.0e-6_dp
logical, public :: t_fill_frequency_hists = .false.
logical, public :: t_test_hist_tau = .false.

Interfaces

public interface HistogrammingSpec_t

  • private elemental function construct_HistogrammingSpec_t(max_frequency_bound, n_frequency_bins, frq_ratio_cutoff) result(res)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=dp), intent(in) :: max_frequency_bound
    integer, intent(in) :: n_frequency_bins
    real(kind=dp), intent(in) :: frq_ratio_cutoff

    Return Value type(HistogrammingSpec_t)


Derived Types

type, public ::  HistogrammingSpec_t

Components

Type Visibility Attributes Name Initial
real(kind=dp), private :: max_frequency_bound = 10000.0_dp
integer, private :: n_frequency_bins = 100000

optional input to adjust the number of bins

real(kind=dp), private :: frq_ratio_cutoff = 0.999_dp

use also an input dependent ratio cutoff for the time-step adaptation

real(kind=dp), private :: frq_step_size = 0.1_dp

Constructor

private elemental function construct_HistogrammingSpec_t (max_frequency_bound, n_frequency_bins, frq_ratio_cutoff)

Type-Bound Procedures

procedure, public :: set_frq_ratio_cutoff

Functions

private elemental function construct_HistogrammingSpec_t(max_frequency_bound, n_frequency_bins, frq_ratio_cutoff) result(res)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: max_frequency_bound
integer, intent(in) :: n_frequency_bins
real(kind=dp), intent(in) :: frq_ratio_cutoff

Return Value type(HistogrammingSpec_t)

public pure function get_settings(user_input_histogramming_spec, GUGA_selected_exc_generator) result(res)

Arguments

Type IntentOptional Attributes Name
type(HistogrammingSpec_t), intent(in), allocatable :: user_input_histogramming_spec
type(GUGA_ExcGenerator_t), intent(in), allocatable :: GUGA_selected_exc_generator

Return Value type(HistogrammingSpec_t)


Subroutines

private subroutine optimize_hubbard_time_step()

Arguments

None

public subroutine init_hist_tau_search()

Arguments

None

public subroutine update_tau_hist()

Arguments

None

public subroutine fill_frequency_histogram_4ind(mat_ele, pgen, ic, t_parallel, ex)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: mat_ele
real(kind=dp), intent(in) :: pgen
integer, intent(in) :: ic
logical, intent(in) :: t_parallel
integer, intent(in), optional :: ex(2,ic)

public subroutine fill_frequency_histogram_sd(mat_ele, pgen, ic)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: mat_ele
real(kind=dp), intent(in) :: pgen
integer, intent(in) :: ic

public subroutine fill_frequency_histogram(mat_ele, pgen)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: mat_ele
real(kind=dp), intent(in) :: pgen

public subroutine print_frequency_histograms()

Arguments

None

public subroutine finalize_hist_tau_search()

Arguments

None

private subroutine integrate_frequency_histogram_spec(spec_frequency_bins, ratio)

Arguments

Type IntentOptional Attributes Name
integer(kind=int64), intent(in) :: spec_frequency_bins(histogramming_spec%n_frequency_bins)
real(kind=dp), intent(out) :: ratio

private elemental subroutine set_frq_ratio_cutoff(this, frq_ratio_cutoff)

Arguments

Type IntentOptional Attributes Name
class(HistogrammingSpec_t), intent(inout) :: this
real(kind=dp), intent(in) :: frq_ratio_cutoff