Have a look at this section in our tutorial on the Bi2Se3 topological indulator: http://docs.quantumwise.com/tutorials/topological_insulator_bi2se3/topological_insulator_bi2se3.html#fermi-surface-and-spin-directions (http://docs.quantumwise.com/tutorials/topological_insulator_bi2se3/topological_insulator_bi2se3.html#fermi-surface-and-spin-directions)
The script "fermi_surface.py" gives an example of how to instruct the Bandstructure analysis object to sample a grid of k-points:
# -------------------------------------------------------------
# Reading Bi2Se3 slab configuration
# -------------------------------------------------------------
configuration = nlread('Bi2Se3_slab.nc', BulkConfiguration)[1]
lattice = configuration.bravaisLattice()
# -------------------------------------------------------------
# Create cartesian k-grid around the Gamma point
# -------------------------------------------------------------
# Generate a k-point grid in Cartesian kx,ky around kG.
# Ensure to have a point at G by choosing Nk odd!
Nk = 51
k_max = 0.1
x = numpy.linspace(-k_max, k_max, Nk)
y = numpy.linspace(-k_max, k_max, Nk)
kXkY = numpy.array(list(itertools.product(y,x)))
kXkYkZ = numpy.vstack((kXkY[:,0], kXkY[:,1], numpy.array([0,]*len(kXkY)))).transpose()
# Convert to fractional kx,ky coordinates for evaluation.
kAkB = cartesian2fractional(kXkYkZ*Ang**-1, lattice.reciprocalVectors())
# -------------------------------------------------------------
# Compute eigenenergies in these k-points
# -------------------------------------------------------------
bandstructure = Bandstructure(configuration, kpoints=kAkB)
# -------------------------------------------------------------
# Read the bandstructure eigenenergies and kpoints
# -------------------------------------------------------------
energies = bandstructure.evaluate().inUnitsOf(eV)
kpoints_fractional = bandstructure.kpoints()
tmp = fractional2cartesian(kpoints_fractional, lattice.reciprocalVectors())
kpoints_cartesian = tmp.inUnitsOf(Angstrom**-1)