Release notes of nextnano++

1.19.22 (2024-05-14)

  • missing terms added to the 14- and 30-band \(\mathbf{k} \cdot \mathbf{p}\) models

  • minor bugfix for strain in the 14- and 30-band \(\mathbf{k} \cdot \mathbf{p}\) models

  • other minor bugfixes

1.19.17 (2024-04-28)

currents{ }
  • import_electron_fermi_level{ } and import_hole_fermi_level{ } are introduced.

optics{ }
  • light_propagation{ use_local_absorption{ } } got renamed to light_propagation{ use_computed_absorption{ } }

  • light_propagation{ use_local_absorption{ } } reintroduced with different functionality

  • multiple output settings added to light_propagation{ }, photogeneration{ }, and semiclassical_spectra{ }

1.18.63 (2024-03-24)

quantum{ }
  • davidson{} group introduced for 8-band \(\mathbf{k} \cdot \mathbf{p}\) model

  • force_pauli_solver{} group introduced for all one-band models

optics{ }
  • bugfix for irradiation{ illumination{ direction_* } } }, now negative values are properly processed

  • improvement of an existing feature optics{ quantum_region{output_spectra{ output_components } } } has different type and allows to output components of all spectra.

  • syntax change from irradiation{ photo_generation{ output_spectrum{} } } to irradiation{ photo_generation{ output_integrated{} } }

  • syntax change from irradiation{ output_light_field } to irradiation{ photo_generation{ output_light_intensity }

  • optics{ emission_spectrum{ output_spectra{ stimulated_emission } } } removed

  • optics{ emission_spectrum{ output_local_spectra{} } } introduced

  • in multiple places absorption and decadic_absorption renamed to absorption_coeff and decadic_absorption_coeff

  • photogeneration{ } updated and allowing to use computed generation rates within running simulation

  • energy grid definitions are notably changed and partially moved to the group grid{}

  • major groups emission_spectrum{} and quantum_region{} are renamed to semiclassical_spectra{} and quantum_spectra{}, respectively.

  • light_propagation{} is introduced

classical{ }
  • output_energy_resolved_densities{} moved inside energy_resolved_density{}

  • output_LDOS{} group introduced

  • bulk_dispersion{ KP30{ } } introduced following [RideauPRB2006]

  • energy grid definitions from grid{} are used for densities

  • energy grid definitions introduced

run{ }
  • solve_strain{ }, solve_poisson{ }, solve_current_poisson{ }, solve_quantum{ }, outer_iteration{} become deprecated and not supported anymore

database{ }
  • complex refractive index is supported by optical_refractive_index{}

  • extensive changes in the database relating to optics{ } group

1.17.20 (2023-08-07)

general input syntax
  • !DATA statement got introduced for post-processor

  • !TEXT and !ENDTEXT statements introduced for multi-line comments

classical{ }
  • output_band_densities{} is introduced

  • bulk_dispersion{} is moved from quantum{ } with a slight syntax change

  • Bulk dispersions within 1-band models can be now also included in the output (offset might be still incorrect)

optics{ }
  • spin_align is back after reviewing its functionality. Default value is changed to no

  • make_spin_degenerate

currents{ }
  • robust atribute is introduced to enhance accuracy of bisection algorithm.

  • eastman4{} group is introduced to allow alternative parametrization of the Eastman-Tiwari-Shur mobility model

  • electron_contact and hole_contact introduced to increase accuracy of quasi-Fermi levels

contacts{ }
  • bisection algorithm initializing ohmic and charge-neutral contacts is enhanced

run{ }
  • the group becomes required

  • an attribute output_local_residuals is introduced for multiple groups

quantum{ }
  • computing matrix elements for multiple polarization in one simulation is again possible within groups intraband_matrix_elements{} and dipole_moment_matrix_elements{}

  • bulk_dispersion{} is moved to classical{ }

  • entirely new group introduced to generate and run batch scripts after simulations

1.14.33 (2023-05-12)

optics{ }
  • syntax change in k_integration{}: num_integrationpoint is introduced, num_subpoints is removed

  • spin_align is removed

  • occupation_const_fermilevel is renamed to occupation_zero_fermilevel

  • classify_states and classification_threshold becomes available

  • multiple improvements of the model

  • optics for transitions between two 1-band models and between 1-band and 6-band remains under heavy development

quantum{ }
  • definition of leads become mandatory for modeling transport with CBR method related syntax becomes improved and contained within a group lead{}

1.13.0 (2023-02-19)

optics{ }
  • bug fix of sweeping bias related while computing optical spectra

  • improvements of excitons{}

currents{ }
  • new output group output_forces{} introduced

  • electron_contact and hole_contact are introduced to allow enhanced accuracy for current equation around selected contacts

quantum{ }
  • cbr{} group has been moved into the quantum group

  • ldos choice attribute has been added to the quantum{ cbr {} } group

1.12.35 (2022-12-17)

In this release we introduced further syntax changes aiming at improving clarity of calling models. Selected bowing parameters of band edges has been updated in the default database. Multiple new sample input files are added to the installer. All input files with containing updated syntax.

output{ }
  • output{ section1D{} } requires specifying at least two attributes x, y, and z for 3D simulations.

currents{ }
  • New high-field mobility models (Hänch, Transferred-electron, Eastman-Tiwari-Shur) are implemented

  • Improvement of algorithm convergence in case of using high-field velocities

quantum{ }
  • Bug fix and syntax change relating computation of lifetimes, see quantum{ region{ lifetimes} } }

  • Model of excitons within effective mass approximation is implemented, see quantum{ regon{ excitons {} } }

optics{ }
  • Major syntax change has been implemented. From now on:
    • this group contains all keywords related to optical spectra - groups emission_spectrum{} and irradiation{} are included in this group, see here

    • group region{} has been renamed to quantum_region{}

  • Excitonic effects can be included in spectra computations by calling excitons{} group.

  • Bug fix related to symmetry attribute

classical{ }
  • Major syntax change - groups emission_spectrum{} and irradiation{} has been removed from this group.

  • From now on, this group relates only to choice of band edges and density outputs for semi-classical computations

strain{ }
  • strain relaxation is initially implemented for entire by a scaling factor of all tensor elements, see strain{ relaxation {} }

run{ }
  • calling quantum-optical simulation has been changed: optics{ } is renamed to quantum_optics{ }

1.10.19 (2022-08-09)

In this release we introduced some syntax changes and number of new keywords. Some algorithms got notably improved. We fixed number of bugs.

classical{ }

Default behavior of an attribute refractive_index has been changed. New Attributes are:

  • energy_broadening_gaussian

  • energy_broadening_lorentzian

optics{ }

Some algorithms have been improved so the group is faster. Number of new keywords has been introduced:

  • enable_hole_hole

  • enable_electron_hole

  • enable_electron_electron

  • photon_spectra

  • power_spectra

  • use_for_emission

poisson{ }

Self-consistent algorithm has been improved and convrges quicker. Behavior and way of initialising Poisson-equation solver has been improved. Related groups and attributes are:

  • import_potential{}

  • electric_field{}

  • between_fermi_levels{}

  • charge_neutral{} - it was an atribute before

  • reference_potential

strain{ }

Rules of calling inside the group have changed. Related groups are:

  • no_strain{ } - a new group

  • pseudomorphic_strain{ }

  • minimized_strain{ }

  • import_strain{ }

1.9.92 (2022-06-08)

In this release we added support for decadic attenuation units (dB/\(\mu m\)) and new output options inside of optics{ } mirroring the corresponding functionality in classical{ }. Gain in classical{ } is now defined as the positive part of (minus absorption).

classical{ }

Introduced attributes are:

  • decadic_absorption

  • decadic_gain

  • decadic_absorption_unit

optics{ }

Introduced attributes are:

  • decadic_absorption

  • decadic_gain

database{ }

Introduced attribute are:

  • decadic_absorption


  • Added periodic repetition of quantum regions

  • Added electron injection (e.g. by electron beam) into structure definition

  • Integration of nextnano.MSB into nextnano++, incl. nextnano.MSB sample files into installer

  • Output reflection components of CBR transmissions

  • New 2D CBR input files (QPC)

  • Synonyms in material database (e.g. Al(x)In(x)As and In(x)Al(1-x)As)

  • Calculation of reflection and extinction coefficient

  • Gaussian and Lorentzian broadening for optical absorption

  • Improvements for optical absorption (k.p)

  • Improvements for k.p (speed: k=0 subspace expansion)

  • Added more tutorial input files to samples folder

  • New UVC LED AlGaN/GaN input files

  • Improvements for intersubband absorption (k.p)

  • Solar cell features, irradiation

  • Added quaternaries and quinternaries to database; AlScN, AlYN, …

  • Added XML support to input files

  • New region objects: circle/sphere

  • New region objects: triangle, polygonal_prism, regular_prism, hexagonal_prism, polygonal_pyramid, regular_pyramid, hexagonal_pyramid

  • Array of different biases is allowed in addition to bias sweep using steps

  • Output of emission spectrum for LEDs based on classical or quantum density

  • Output of energy resolved density n(E) and n(x,E)

  • Improved convergence and speed for current calculations

  • More intuitive setting in run{ }

  • MOSFET tutorial



The group contact{ ohmic{} } behaves like contact{ charge_neutral{} } by default since 2019-01-23, and it additionally contains a shift attribute.


Currently, the group contacts{ zero_field{} } behaves like contact{ ohmic{} } before, until 2019-01-23.