inside_bz_ole Function

private pure function inside_bz_ole(this, k_vec)

Type Bound

ole

Arguments

Type IntentOptional Attributes Name
class(ole), intent(in) :: this
integer, intent(in) :: k_vec(sdim)

Return Value logical


Contents

Source Code


Source Code

    logical pure function inside_bz_ole(this, k_vec)
        class(ole), intent(in) :: this
        integer, intent(in) :: k_vec(sdim)

        ! I think this should be the approach for most lattices
        ! do a check if we have the bz-ishness of this vector stored
        if (all(k_vec <= this%kmax) .and. all(k_vec >= this%kmin)) then
            inside_bz_ole = this%bz_table(k_vec(1), k_vec(2), k_vec(3))
        else
            ! if not, do the explicit check
            inside_bz_ole = this%inside_bz_explicit(k_vec)
        end if
    end function inside_bz_ole