# Set up silicon crystal.
bulk_configuration = BulkConfiguration(
    bravais_lattice=FaceCenteredCubic(5.4306 * Angstrom),
    elements=[Silicon, Silicon],
    cartesian_coordinates=[[ 0.     , 0.     , 0.],
                           [ 1.35765, 1.35765, 1.35765]] * Angstrom
    )
# Setup calculator.
numerical_accuracy_parameters = NumericalAccuracyParameters(
    k_point_sampling=(6, 6, 6),
    )
# Setup PAW data set.
basis_set = [
    PAWPBEGPAW.Silicon,
    ]

# Setup plane wave calculator.
calculator = PlaneWaveCalculator(
    basis_set=basis_set,
    numerical_accuracy_parameters=numerical_accuracy_parameters,
    )
bulk_configuration.setCalculator(calculator)
bulk_configuration.update()

# Electric Field Gradients.
efg_analysis = ElectricFieldGradients(
    configuration=bulk_configuration,
    atom_indices=All,
    )

nlsave('si_efg.hdf5', efg_analysis)

# Print out the quadrupole coupling constant.
print('Quadrupole coupling constants')
print(efg_analysis.evaluateQuadrupoleCouplingConstants())
