| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | nI(nEl) |
pure function calcB_vector_nI(nI) result(bVector) ! function to calculate the bVector from a CSF given in nI ! representation. Gives b vector also of length nEl. ! not yet quite sure if i should output b as integers or real integer, intent(in) :: nI(nEl) real(dp) :: bVector(nEl), bValue integer :: iOrb, inc ! init iOrb = 1 bVector = 0.0_dp bValue = 0.0_dp inc = 0 do while (iOrb <= nEl) if (isDouble(nI, iOrb)) then bVector(iOrb) = bValue bVector(iOrb + 1) = bValue inc = 2 else inc = 1 if is_alpha(nI(iOrb)) then bValue = bValue - 1.0_dp else bValue = bValue + 1.0_dp end if bVector(iOrb) = bValue end if iOrb = iOrb + inc end do end function calcB_vector_nI