ras Module



Contents


Functions

public pure function class_allowed(ras, n_elec_1, n_elec_3) result(allowed)

Arguments

Type IntentOptional Attributes Name
type(ras_parameters), intent(in) :: ras
integer, intent(in) :: n_elec_1
integer, intent(in) :: n_elec_3

Return Value logical

public pure function class_comb_allowed(ras, class_1, class_2) result(allowed)

Arguments

Type IntentOptional Attributes Name
type(ras_parameters), intent(in) :: ras
type(ras_class_data), intent(in) :: class_1
type(ras_class_data), intent(in) :: class_2

Return Value logical

public pure function vertex_not_allowed(n_elec_1, n_elec_3, orb, elec, ras) result(not_allowed)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: n_elec_1
integer, intent(in) :: n_elec_3
integer, intent(in) :: orb
integer, intent(in) :: elec
type(ras_parameters), intent(in) :: ras

Return Value logical

public pure function get_address(ras_class, string) result(address)

Arguments

Type IntentOptional Attributes Name
type(ras_class_data), intent(in) :: ras_class
integer, intent(in) :: string(:)

Return Value integer

public pure function get_abelian_sym(string) result(sym)

Arguments

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

Return Value integer


Subroutines

public subroutine initialise_ras_space(ras, classes)

Arguments

Type IntentOptional Attributes Name
type(ras_parameters), intent(inout) :: ras
type(ras_class_data), intent(inout), allocatable, dimension(:) :: classes

public subroutine setup_ras_class(ras, ras_class)

Arguments

Type IntentOptional Attributes Name
type(ras_parameters), intent(in) :: ras
type(ras_class_data), intent(inout) :: ras_class

public pure subroutine generate_first_subspace_string(string, n_elec)

Arguments

Type IntentOptional Attributes Name
integer, intent(out) :: string(n_elec)
integer, intent(in) :: n_elec

public pure subroutine generate_first_full_string(string, ras, ras_class)

Arguments

Type IntentOptional Attributes Name
integer, intent(inout) :: string(ras_class%nelec_1+ras_class%nelec_2+ras_class%nelec_3)
type(ras_parameters), intent(in) :: ras
type(ras_class_data), intent(in) :: ras_class

public pure subroutine generate_next_string(string, ras, ras_class, none_left)

Arguments

Type IntentOptional Attributes Name
integer, intent(inout) :: string(ras_class%nelec_1+ras_class%nelec_2+ras_class%nelec_3)
type(ras_parameters), intent(in) :: ras
type(ras_class_data), intent(in) :: ras_class
logical, intent(out) :: none_left

public subroutine sort_orbitals(nI, par_opt)

Arguments

Type IntentOptional Attributes Name
integer, intent(inout) :: nI(:)
integer, intent(out), optional :: par_opt

public subroutine generate_entire_ras_space(ras, classes, space_size, ilut_list, parities)

Arguments

Type IntentOptional Attributes Name
type(ras_parameters), intent(in) :: ras
type(ras_class_data), intent(in) :: classes(:)
integer, intent(in) :: space_size
integer(kind=n_int), intent(out) :: ilut_list(0:NIfTot,space_size)
integer, intent(out), optional :: parities(space_size)

public pure subroutine find_ras_size(ras, classes, space_size)

Arguments

Type IntentOptional Attributes Name
type(ras_parameters), intent(in) :: ras
type(ras_class_data), intent(in) :: classes(:)
integer, intent(out) :: space_size