output_ci_coeff Subroutine

public subroutine output_ci_coeff()

Arguments

None

Contents

Source Code


Source Code

    subroutine output_ci_coeff

        if (iProcIndex == root) then
            write (stdout, *) ''
            write (stdout, *) '=============== CI coefficients collection ==============='
            write (stdout, "(A45,I10)") 'Maximum excitation level of the CI coeff. : ', n_store_ci_level
            write (stdout, "(A45,I10)") 'Number of iterations set for average      : ', n_iter_ci_coeff
            if (nCyc /= n_iter_ci_coeff) then
                write (stdout, "(A45,I10)") ' -> actual iterations used for average    : ', nCyc
            end if
        end if

        ! it gathers all the CI coeff from different processes in one single array (root_ciCoeff_storage)
        call MPIcollection(NIfTot, first_free_entry, ciCoeff_storage, root_first_free_entry, root_ciCoeff_storage)

        if (iProcIndex == root) then
            call print_averaged_ci_coeff()

            write (stdout, *) 'Sorting CI coefficients...'
            call molpro_ci_coeff()

            write (stdout, *) '-> CI coefficients written in ASCII files ci_coeff_*'
            write (stdout, *) '=========================================================='
            write (stdout, *) ''
        end if

        call fin_ciCoeff()

    end subroutine output_ci_coeff