# Set up a Si (100) minimal configuration
vector_a = [3.84001408591, 0.0, 0.0]*Angstrom
vector_b = [0.0, 3.84001408591, 0.0]*Angstrom
vector_c = [1.92000704296, 1.92000704296, 2.7153]*Angstrom
lattice = UnitCell(vector_a, vector_b, vector_c)

elements = [Silicon, Silicon]

fractional_coordinates = [[  2.50000000e-01,   7.50000000e-01,   5.00000000e-01],
                          [  3.33066907e-16,   2.22044605e-16,   1.00000000e+00]]

bulk_configuration = BulkConfiguration(
    bravais_lattice=lattice,
    elements=elements,
    fractional_coordinates=fractional_coordinates
    )

# Define calculator - fast Slater-Koster method
calculator = SlaterKosterCalculator(
    basis_set=Vogl.Si_Basis,
    numerical_accuracy_parameters=NumericalAccuracyParameters(
                k_point_sampling=(4, 4, 2))
     )
bulk_configuration.setCalculator(calculator)

# Calculate, save, and print the complex band structure
complex_bandstructure = ComplexBandstructure(
    configuration=bulk_configuration,
    energies=numpy.linspace(-2,5,501)*eV,
    k_point=(0,0),
    )
nlsave('si_100_cbs.hdf5', complex_bandstructure)
nlprint(complex_bandstructure)