Skip to content

7.1 Independent-particle optical spectra with epsilon.x

These are unexecuted teaching inputs and starting models. Original diagrams are schematics, not calculated results. Validate version-specific syntax, licensed or authorized data, numerical convergence and the scientific model before using this workflow.

7.1.1 Model, units and provenance

PW cutoffs and energies use Ry, common force output uses Ry/bohr, and pressure uses kbar. Geometry cards state their coordinate units. Different executables have distinct grammars and time-unit conventions.

Shared inputs, conventions and evidence

Original schematic: Independent-particle optical spectra with epsilon.x. No numerical results are claimed.
Original schematic: Independent-particle optical spectra with epsilon.x. No numerical results are claimed.

7.1.2 Unexecuted inputs and explicit deltas

Use the accompanying instructions to identify the parent calculation and placement of every delta; a snippet is not automatically a standalone input. Preserve all blank-line and file-provenance requirements.

7.1.2.1 Input block 1

from itertools import product
n = 8  # starting mesh; converge it, do not treat it as sufficient
points = list(product(range(n), repeat=3))
with open('optical.kpoints', 'w', encoding='ascii') as f:
    f.write('K_POINTS crystal\n%d\n' % len(points))
    for i, j, k in points:
        f.write(f'{i/n:.10f} {j/n:.10f} {k/n:.10f} {1/len(points):.12f}\n')
# Merge this card into NSCF, with nosym=.true., noinv=.true.

7.1.2.2 Input block 2

&INPUTPP
 prefix='si_opt', outdir='./scratch/si_opt', calculation='eps'
/
&ENERGY_GRID
 smeartype='gauss', intersmear=0.15, intrasmear=0.0,
 wmin=0.0, wmax=12.0, nw=1201, shift=0.0
/

7.1.3 Worked investigation

7.1.3.1 Intuition and prerequisites

An optical spectrum needs transition matrix elements, not just a difference between occupied and empty energies. epsilon.x provides a particular independent-particle post-processing route; it is not a general GW/BSE or excitonic solver. Use nonmagnetic semilocal Si and a verified norm-conserving pseudopotential as the conservative teaching scope. Confirm the installed implementation's pseudopotential, spin and nonlocal-operator limitations before extending this example.

7.1.3.2 Original ground-state preparation

Run the compatible SCF, then an NSCF with enough empty bands to cover transitions beyond the requested photon-energy window. Use a full, uniform equal-weight k grid, with symmetry/time-reversal reductions disabled as needed. Inspect the actual printed weights. To avoid relying on a historical difference in automatic-grid behavior, the following generator writes an explicit crystal grid; it generates data only and does not submit a job.

See input block 1 above.

7.1.3.3 Checks, pitfalls and exercise

Converge k mesh and empty-band count at fixed broadening, then change broadening separately. Check expected cubic equality of diagonal components, spectral-window truncation and the positivity behavior appropriate to your sign convention. Do not hide a coarse mesh under a large linewidth. Exercise: compare JDOS and dielectric absorption structures and explain why matrix elements change their relative intensities. List missing excitonic, electron–phonon and finite-temperature effects before comparing with experiment.

7.1.5 Sources and further reading