generate_first_full_string Subroutine

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

Contents


Source Code

    pure subroutine generate_first_full_string(string, ras, ras_class)

        type(ras_parameters), intent(in) :: ras
        type(ras_class_data), intent(in) :: ras_class
        integer, intent(inout) :: string(ras_class%nelec_1 + ras_class%nelec_2 + &
                                         ras_class%nelec_3)
        integer :: i, counter

        ! In each space subspace (RAS1, RAS2, RAS3) put each electron in the lowest orbitals.
        counter = 1
        do i = 1, ras_class%nelec_1
            string(i) = counter
            counter = counter + 1
        end do
        counter = 1
        do i = ras_class%nelec_1 + 1, ras_class%nelec_1 + ras_class%nelec_2
            string(i) = ras%size_1 + counter
            counter = counter + 1
        end do
        counter = 1
        do i = ras_class%nelec_1 + ras_class%nelec_2 + 1, tot_nelec
            string(i) = ras%size_1 + ras%size_2 + counter
            counter = counter + 1
        end do

    end subroutine generate_first_full_string