Release notes of nextnano.NEGF

2023-02-22 (first release of C++ version)

This release includes the following new features compared to the C# version:

  1. Start from equilibrium option. The NEGF calculation starts by an equilibrium calculation of the Green’s functions, which is then then used as an initial condition for the non-equilibrium calculation of the Green’s functions.

<SimulationParameter>
    ...
    <StartFromEquilibrium> yes </StartFromEquilibrium>
    ...
</SimulationParameter>
  1. Equilibrium calculation without scattering calculation. The following equilibrium section has to be specified, including a broadening parameter.

<Equilibrium>
    ...
    <Broadening unit="meV">20.0</Broadening>
    ...
</Equilibrium>
  1. Hybrid equilibrium / nonequilibrium equilibrium simulation. The hybrid section has to be specified, as well as the section

<Hybrid>
    <Broadening unit="meV">10.0</Broadening>
            <SeparationLeft unit="nm">20.0</SeparationLeft>
            <SeparationRight unit="nm">30.0</SeparationRight>
            <OffsetContact unit="nm">5.0</OffsetContact>
</Hybrid>
  1. Added quantum cascade detector (QCD) examples.

  2. The nextnano++-style format is available for the input and database files. The new format with extension ‘negf’ features:

    • Syntax validation before the simulation - the parser checks the syntactical correctness as well as the logic and, if invalid, prints an error message in the log specifying what exactly is wrong in your file.

    • Variables starting with $ sign can be used not only in the input but also database files. The new default database Material_DatabaseCpp.negf contains a switch $NEGF / $MSB / $nnp to use the default parameters of nextnano.NEGF, nextnano.MSB, and nextnano++, respectively. Naturally, the new format will look much familiar if you have experience with nextnano++.

    • The nextnanomat feature Tools > Convert .xml Input File to .negf Input File can convert your xml input files to the new format. On Linux, you can run the executable syntax_converter included in the package. After conversion, please note that
      • The section Variables has been deprecated. Please add manually your variables in the nextnano++ format, i.e., define the variables at the beginning of your input file as $variable = value (See Syntax definition).

      • Most of the XML comments <!-- --> are not retained in the conversion. If necessary, please recover them manually. Comments start with the letter #.

      • Within the new format, only the new keywords are supported. They are replaced automatically by the conversion.

      • IMPORTANT: Do not convert the XML database to the new format! The new database Material_DatabaseCpp.negf is not backward-compatible and contains extra parameters.

2022-06-13

  1. Units in LO-phonon scattering rates have been fixed.

  2. Now the license nnNEGF.lic is supported.

2022-04-29

  1. The in-plane nonparabolicity model introduced in the previous update has been fixed.

<Materials>
    ...
    <InPlaneNonParabolicity>yes</InPlaneNonParabolicity>
    ...
</Materials>
  1. The LO-phonon scattering rate output has been fixed.

2022-03-14

  1. Linear alloy grading is now possible:

<Layer> <!-- all the material parameters will be linearily interpolated between the <Material1> and the <Material2> -->
    <Material1>mat1</Material1>
    <Material2>mat2</Material2>
    <Thickness unit="nm">5.0</Thickness>
</Layer>

2. The in-plane nonparabolicity for multiband models can be activated with the command <InPlaneNonParabolicity>yes</InPlaneNonParabolicity> inside the block <Materials>...<Materials>.

  1. In the 2- and 3-band models, nonparabolicity coefficient can be used as in input material parameter. If specified, it will be used to overwrite the k.p parameters.

<Material>
    <Name>In(x)Ga(1-x)As</Name>
    <Alloy_Composition>0.53</Alloy_Composition>
    <Alias>well</Alias>
    <Effective_mass_from_kp_parameters>no</Effective_mass_from_kp_parameters>
    <Overwrite>
        <NonParabolicity Unit="cm^2">1.5e-14</NonParabolicity>
    </Overwrite>
</Material>

4. The individual scattering rates of LO-phonon, alloy disorder and interface roughness can be output.