core_space_util Module



Contents


Variables

Type Visibility Attributes Name Initial
integer, public, parameter :: min_pt = 1
integer, public, parameter :: max_pt = rep_size
type(core_space_t), public, allocatable :: cs_replicas(:)

Derived Types

type, public ::  sparse_matrix_real

Components

Type Visibility Attributes Name Initial
real(kind=dp), public, allocatable, dimension(:) :: elements
integer, public, allocatable, dimension(:) :: positions
integer, public :: num_elements

type, public ::  sparse_matrix_int

Components

Type Visibility Attributes Name Initial
integer, public, allocatable, dimension(:) :: elements
integer, public, allocatable, dimension(:) :: positions
integer, public :: num_elements

type, public ::  core_space_t

Components

Type Visibility Attributes Name Initial
integer(kind=MPIArg), public, allocatable, dimension(:) :: determ_sizes
integer(kind=MPIArg), public, allocatable, dimension(:) :: determ_displs
integer(kind=MPIArg), public, allocatable, dimension(:) :: determ_last
integer(kind=MPIArg), public :: determ_space_size
integer, public :: determ_space_size_int
integer, public, allocatable, dimension(:) :: indices_of_determ_states
integer(kind=n_int), public, pointer, dimension(:, :) :: core_space => null()
integer(kind=n_int), public, pointer, dimension(:, :) :: core_space_direct => null()
integer(kind=MPIArg), public :: core_space_win
type(shared_rhash_t), public :: core_ht
type(sparse_matrix_real), public, allocatable, dimension(:) :: sparse_core_ham
integer(kind=TagIntType), public, allocatable, dimension(:, :) :: SparseCoreHamilTags
real(kind=dp), public, allocatable, dimension(:, :) :: partial_determ_vecs
real(kind=dp), public, allocatable, dimension(:, :) :: full_determ_vecs
real(kind=dp), public, allocatable, dimension(:, :) :: full_determ_vecs_av
integer(kind=TagIntType), public :: FDetermTag
integer(kind=TagIntType), public :: FDetermAvTag
integer(kind=TagIntType), public :: PDetermTag
integer(kind=TagIntType), public :: IDetermTag
integer(kind=TagIntType), public :: CoreSpaceTag
type(sparse_matrix_int), public, allocatable, dimension(:) :: core_connections
real(kind=dp), public, allocatable, dimension(:) :: core_ham_diag
integer, public :: max_run
integer, public :: min_run
logical, public :: t_global

Type-Bound Procedures

procedure , public , :: alloc_wf Subroutine
procedure , public , :: associate_run Subroutine
procedure , public , :: dealloc Subroutine
procedure , public , :: max_part Function
procedure , public , :: min_part Function
procedure , public , :: first_run Function
procedure , public , :: last_run Function

Functions

private pure function max_part(this) result(ir)

Arguments

Type IntentOptional Attributes Name
class(core_space_t), intent(in) :: this

Return Value integer

private pure function min_part(this) result(ir)

Arguments

Type IntentOptional Attributes Name
class(core_space_t), intent(in) :: this

Return Value integer

private pure function last_run(this) result(ir)

Arguments

Type IntentOptional Attributes Name
class(core_space_t), intent(in) :: this

Return Value integer

private pure function first_run(this) result(ir)

Arguments

Type IntentOptional Attributes Name
class(core_space_t), intent(in) :: this

Return Value integer

private pure function get_core_run(run) result(crun)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: run

Return Value integer


Subroutines

private subroutine associate_run(this, t_global, run)

Arguments

Type IntentOptional Attributes Name
class(core_space_t), intent(inout) :: this
logical, intent(in) :: t_global
integer, intent(in) :: run

private subroutine alloc_wf(this)

Arguments

Type IntentOptional Attributes Name
class(core_space_t), intent(inout) :: this

private subroutine dealloc(this)

Arguments

Type IntentOptional Attributes Name
class(core_space_t), intent(inout) :: this

public subroutine deallocate_sparse_ham(sparse_matrix, sparse_tags)

Arguments

Type IntentOptional Attributes Name
type(sparse_matrix_real), intent(inout), allocatable :: sparse_matrix(:)
integer(kind=TagIntType), intent(inout), allocatable :: sparse_tags(:,:)

private subroutine deallocate_sparse_matrix_int(sparse_mat)

Arguments

Type IntentOptional Attributes Name
type(sparse_matrix_int), intent(inout), allocatable :: sparse_mat(:)