direct_ci Module



Contents


Subroutines

public subroutine perform_multiplication(ras, classes, ras_strings, ras_iluts, ras_excit, vec_in, vec_out)

Arguments

Type IntentOptional Attributes Name
type(ras_parameters), intent(in) :: ras
type(ras_class_data), intent(in) :: classes(ras%num_classes)
integer, intent(in) :: ras_strings(-1:tot_nelec,ras%num_strings)
integer(kind=n_int), intent(in) :: ras_iluts(0:NIfD,ras%num_strings)
type(direct_ci_excit), intent(in) :: ras_excit(ras%num_strings)
type(ras_vector), intent(in) :: vec_in(ras%num_classes,ras%num_classes,0:7)
type(ras_vector), intent(inout) :: vec_out(ras%num_classes,ras%num_classes,0:7)

public subroutine zero_factors_array(num_classes, factors)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: num_classes
type(ras_factors), intent(inout) :: factors(num_classes,0:7)

public subroutine get_excit_details(ex, ras, nras1, nras3, string_j, sym_j, class_j, in_ras_space)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ex(2)
type(ras_parameters), intent(in) :: ras
integer, intent(in) :: nras1
integer, intent(in) :: nras3
integer, intent(inout) :: string_j(tot_nelec)
integer, intent(inout) :: sym_j
integer, intent(inout) :: class_j
logical, intent(out) :: in_ras_space

public subroutine create_direct_ci_arrays(ras, classes, ras_strings, ras_iluts, ras_excit)

Arguments

Type IntentOptional Attributes Name
type(ras_parameters), intent(in) :: ras
type(ras_class_data), intent(in) :: classes(ras%num_classes)
integer, intent(out) :: ras_strings(-1:tot_nelec,ras%num_strings)
integer(kind=n_int), intent(out) :: ras_iluts(0:NIfD,ras%num_strings)
type(direct_ci_excit), intent(out) :: ras_excit(ras%num_strings)

public subroutine encode_string(string, ilut)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: string(tot_nelec)
integer(kind=n_int), intent(out) :: ilut(0:NIfD)

public subroutine gen_next_single_ex(string_i, ilut_i, nras1, nras3, ind, par, ex, ras, classes, gen_store, tgen, tcount)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: string_i(tot_nelec)
integer(kind=n_int), intent(in) :: ilut_i(0:NIfD)
integer, intent(in) :: nras1
integer, intent(in) :: nras3
integer, intent(out) :: ind
integer, intent(out) :: par
integer, intent(out) :: ex(2)
type(ras_parameters), intent(in) :: ras
type(ras_class_data), intent(in) :: classes(ras%num_classes)
type(simple_excit_store), intent(inout), target :: gen_store
logical, intent(inout) :: tgen
logical, intent(in) :: tcount

public subroutine transfer_to_block_form(ras, classes, full_vec, ras_vec)

Arguments

Type IntentOptional Attributes Name
type(ras_parameters), intent(in) :: ras
type(ras_class_data), intent(in) :: classes(ras%num_classes)
real(kind=dp), intent(in) :: full_vec(:)
type(ras_vector), intent(inout) :: ras_vec(ras%num_classes,ras%num_classes,0:7)

public subroutine transfer_from_block_form(ras, classes, full_vec, ras_vec)

Arguments

Type IntentOptional Attributes Name
type(ras_parameters), intent(in) :: ras
type(ras_class_data), intent(in) :: classes(ras%num_classes)
real(kind=dp), intent(out) :: full_vec(:)
type(ras_vector), intent(inout) :: ras_vec(ras%num_classes,ras%num_classes,0:7)

public subroutine create_ham_diag_direct_ci(ras, classes, ras_strings, ham_diag)

Arguments

Type IntentOptional Attributes Name
type(ras_parameters), intent(in) :: ras
type(ras_class_data), intent(in) :: classes(ras%num_classes)
integer, intent(in) :: ras_strings(-1:tot_nelec,ras%num_strings)
real(kind=dp), intent(inout) :: ham_diag(:)