inside_bz Function

private pure function inside_bz(this, k_vec)

Type Bound

lattice

Arguments

Type IntentOptional Attributes Name
class(lattice), intent(in) :: this
integer, intent(in) :: k_vec(3)

Return Value logical


Contents

Source Code


Source Code

    logical pure function inside_bz(this, k_vec)
        class(lattice), intent(in) :: this
        integer, intent(in) :: k_vec(3)

        ! this function should also be deferred!

        ! i think with Kais new BZ implementation we can write this function
        ! generally.

        ! 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 = this%bz_table(k_vec(1), k_vec(2), k_vec(3))
        else
            ! if not, do the explicit check
            inside_bz = this%inside_bz_explicit(k_vec)
        end if

    end function inside_bz