2.6.9. optics{} (optional)¶
Specifications for the optics keyword, e.g. for the calculation of the optical absorption spectra:
- debuglevel (optional)
- value:
integer value >=
-1
and <=4
.- default:
0
The larger this value is, the more verbose the diagnostic output get.
- irradiation{} (optional)
Output of comparison spectra, compute light field in the device, and photo-generation. See a detailed description here.
- emission_spectrum{} (optional)
Compute and output emission spectra calculated from energy-resolved densities See a detailed description here.
- quantum_region{} (optional)
Setting up models to compute quantum-optical spectra See a detailed description here.
- Code Example
There is a nice optics tutorial on the optical absorption modelled in nextnano++.
optics{ debuglevel = 2 emission_spectrum{ output_spectra{ emission = yes gain = yes absorption = yes stimulated_emission = yes spectra_over_energy = yes spectra_over_wavelength = yes spectra_over_frequency = yes spectra_over_wavenumber = yes photon_spectra = yes power_spectra = yes } refractive_index = 3.0 } irradiation{ min_wavelength = 300.0 max_wavelength = 2000.0 min_energy = 0.5 max_energy = 5.0 energy_resolution = 0.01 illumination{ direction_x = 1 database_spectrum{ name = "Solar-ASTM-G173-global" concentration = 300 } } reflectivity{ database_spectrum{ name = "Al0.80Ga0.20As" } } absorption{ database_spectrum{ name = "GaAs" } } output_spectra{ illumination = yes reflectivity = yes absorption = yes spectra_over_energy = yes spectra_over_wavelength = yes spectra_over_frequency = yes spectra_over_wavenumber = yes } photo_generation{ output = yes output_spectrum = yes output_energy_resolved = yes output_quantum_efficiency = yes } output_light_field = yes } quantum_region{ name = "optical_active" # Input values # (sigma+) circularly polarized light around the x axis polarization{ name = "y+iz" re = [0,1,0] im = [0,0, 1] } refractive_index = 10.0 # [] (optional) normalization_volume = 100.0 # [nm^dim] (optional) # Setting for k|| and eigenstate summation make_spin_degenerate = no spin_align = yes interband = yes intraband = yes energy_threshold = 1e-6 # [eV] transition_threshold = 1e-6 # [eV] occupation_threshold = 0 # [eV] k_integration{ relative_size = 0.1 # num_points = 4 # Specify either num_subpoints or num_totalsubpoints. num_subpoints = 16 num_totalsubpoints = 128 symmetry = 1 } # Treatment of occupation occupation_ignore = no occupation_interpolate_invfermi = yes occupation_const_fermilevel = no # Output settings output_energies = no output_occupations = no output_transitions = no output_spinor_components = no output_spectra{ output_components = no spectra_over_energy = yes spectra_over_wavelength = no spectra_over_frequency = no spectra_over_wavenumber = no } spontaneous_emission = yes energy_min = 1.4 # [eV] energy_max = 1.7 # [eV] energy_resolution = 0.001 # [eV] energy_broadening_lorentzian = 0.005 # [eV] # energy_broadening_gaussian = 0.005 # [eV] dipole_approximation = no # preliminary } }