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