output{ }

Calling sequence

output{ }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • items: \(\mathrm{maximum\;1}\)

Functionality

Sets options for the output data and controls additional output of material parameters.

Example
output{...}

Nested keywords


directory

Calling sequence

output{ directory }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • type: \(\mathrm{character\;string}\)

Functionality

Defines alternative output directory. Using this path is controlled by mandatory_path

Example
output{
    directory = "../output/the_best_simulation"
}

mandatory_path

Calling sequence

output{ mandatory_path }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • type: \(\mathrm{choice}\)

  • choices: yes; no

  • default: no

Functionality

If mandatory_path = yes then the (relative or absolute) output directory specified by directory is used, and any directory specified in the command line is ignored (as, e.g., done by nextnanomat).

If mandatory_path = no then the directory specified in the command line is used as base path to which a relative path specified in directory then is appended. In this case an absolute path specified in directory is ignored.

In all cases, a subdirectory named as the input file is further appended to the output path, unless -n or --noautooutdir is set as command line option (nextnanomat sets this option automatically).

Also note that the location of the log (*.log) file is not affected by these settings.

Warning

Please make sure that a mandatory output directory is set such that no important files (or the input directory) are overwritten. Be especially careful when accepting input files from others, and do not run simulations using administrative privileges.


set_origin{ }

Calling sequence

output{ set_origin{ } }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • items: \(\mathrm{maximum\;1}\)

Functionality

Defines origin of coordinate system of the output files within the coordinate system of the simulation. If the origin of the output coordinate system is set to \(r_{\mathrm{ori}}\), then every vector in the simulation coordinate system \(r_{\mathrm{sim}}\) is transformed to

\[r_{\mathrm{out}} = r_{\mathrm{sim}} - r_{\mathrm{ori}}\]

for every output file with results dependent on position.


set_origin{ x }

Calling sequence

output{ set_origin{ x } }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • type: \(\mathrm{real\;number}\)

  • values: no constraints

  • unit: \(\mathrm{nm}\)

  • default: 0

Functionality

Defines x-coordinate of the origin of the output coordinate system \(r_{\mathrm{ori}}\) within the coordinate system of the simulation.


set_origin{ y }

Calling sequence

output{ set_origin{ y } }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • type: \(\mathrm{real\;number}\)

  • values: no constraints

  • unit: \(\mathrm{nm}\)

  • default: 0

Functionality

Defines y-coordinate of the origin of the output coordinate system \(r_{\mathrm{ori}}\) within the coordinate system of the simulation.


set_origin{ z }

Calling sequence

output{ set_origin{ z } }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • type: \(\mathrm{real\;number}\)

  • values: no constraints

  • unit: \(\mathrm{nm}\)

  • default: 0

Functionality

Defines z-coordinate of the origin of the output coordinate system \(r_{\mathrm{ori}}\) within the coordinate system of the simulation.


format2D

Calling sequence

output{ format2D }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • type: \(\mathrm{choice}\)

  • choices: yes; no

  • values: AvsBinary; AvsAscii; AvsBinary\_one\_file; AvsAscii\_one\_file; VtkAscii; VtkAscii\_AvsAscii; VtkAscii\_AvsAscii\_one\_file; VtkAscii\_AvsBinary; VtkAscii\_AvsBinary\_one\_file; Origin

  • default: AvsBinary_one_file

Functionality

Sets format of output files with data defined on 2-dimensional spaces of any kind.

Note

Instead of Vtk one can write VTK. Likewise, Avs can be replaced by AVS.

Table 2.5.1 Output file format for data on N-dimensional spaces

Chosen option

Format

AvsBinary

AVS/Express file format (AVS steering files *.v, and *.fld, *.coord, *.dat data files) - data files in binary format

AvsAscii

AVS/Express file format (AVS steering files *.v, and *.fld, *.coord, *.dat data files) - data files in ASCII format

AvsBinary_one_file

AVS/Express file format - header (ASCII), coordinates and variables (both binary) are written into a single .fld file

AvsAscii_one_file

AVS/Express file format - header (ASCII), coordinates and variables (both ASCII) are written into a single .fld file

VTKAscii

VTK XML ASCII format (.vtr, r = rectilinear grid)

VTKAscii_AvsAscii

VTKAscii + AvsAscii

VTKAscii_AvsAscii_one_file

VTKAscii + AvsAscii_one_file

VTKAscii_AvsBinary

VTKAscii + AvsBinary

VTKAscii_AvsBinary_one_file

VTKAscii + AvsBinary_one_file

Origin

Origin file format (Origin steering files *.plt, data files *.dat)


format3D

Calling sequence

output{ format3D }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • type: \(\mathrm{choice}\)

  • choices: yes; no

  • values: AvsBinary; AvsAscii; AvsBinary\_one\_file; AvsAscii\_one\_file; VtkAscii; VtkAscii\_AvsAscii; VtkAscii\_AvsAscii\_one\_file; VtkAscii\_AvsBinary; VtkAscii\_AvsBinary\_one\_file; Origin

  • default: AvsBinary_one_file

Functionality

Sets format of output files with data defined on 3-dimensional spaces of any kind.

Note

Instead of Vtk one can write VTK. Likewise, Avs can be replaced by AVS.

Table 2.5.2 Output file format for data on N-dimensional spaces

Chosen option

Format

AvsBinary

AVS/Express file format (AVS steering files *.v, and *.fld, *.coord, *.dat data files) - data files in binary format

AvsAscii

AVS/Express file format (AVS steering files *.v, and *.fld, *.coord, *.dat data files) - data files in ASCII format

AvsBinary_one_file

AVS/Express file format - header (ASCII), coordinates and variables (both binary) are written into a single .fld file

AvsAscii_one_file

AVS/Express file format - header (ASCII), coordinates and variables (both ASCII) are written into a single .fld file

VTKAscii

VTK XML ASCII format (.vtr, r = rectilinear grid)

VTKAscii_AvsAscii

VTKAscii + AvsAscii

VTKAscii_AvsAscii_one_file

VTKAscii + AvsAscii_one_file

VTKAscii_AvsBinary

VTKAscii + AvsBinary

VTKAscii_AvsBinary_one_file

VTKAscii + AvsBinary_one_file

Origin

Origin file format (Origin steering files *.plt, data files *.dat)


silent

Calling sequence

output{ silent }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • type: \(\mathrm{choice}\)

  • choices: yes; no

  • default: yes

Functionality

If set to no then prints additional warnings concerning output.


write_avs_v

Calling sequence

output{ write_avs_v }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • type: \(\mathrm{choice}\)

  • choices: yes; no

  • default: no

Functionality

Outputs AVS steering file .v.


write_origin_plt

Calling sequence

output{ write_origin_plt }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • type: \(\mathrm{choice}\)

  • choices: yes; no

  • default: no

Functionality

Outputs Origin steering file .plt.


write_gnuplot_plt

Calling sequence

output{ write_gnuplot_plt }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • type: \(\mathrm{choice}\)

  • choices: yes; no

  • default: no

Functionality

Outputs gnuplot file .plt.

Attention

Currently, gnuplot format is only implemented for energy resolved densities in 1D, energy resolved photo generation in 1D, and light field and may generate huge files.


use_gnuplot_one_file

Calling sequence

output{ use_gnuplot_one_file }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • type: \(\mathrm{choice}\)

  • choices: yes; no

  • default: no

Functionality

If yes then all information (metadata and data) necessary for the gnuplot figure is contained in one file.


only_sections

Calling sequence

output{ only_sections }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • type: \(\mathrm{choice}\)

  • choices: yes; no

  • default: no

If only_sections = yes then outputs only sections of 2D and 3D fields defined by output{ } will be generated. Thus, if no sections are defined then also no fields will be outputted. These files can be used to restrict field output to the actual regions of interest, or also to suppress most file I/O (if no sections are defined).

Note

Quantities living on, e.g., an energy grid, integrative quantities like I-V curves, or files needed for resuming operation are not influenced by this setting.

Attention

This setting has no effect on RAM usage or on the fields used in the calculation, it just affects what is written into output files.


section{ }

Calling sequence

output{ section{ } }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • items: \(\mathrm{no\;constraints}\)

Functionality

Generates outputs from selected range of the simulation domain. The range is defined by section{ range_x }, section{ range_y }, and section{ range_z }.

Attention

All section commands are ignored for energy resolved densities, energy resolved photo generation, and light field.

Examples
output{
    section{
        name = "part"       # name of section enters file name
        range_x = [0, 20]   # range in x direction [nm]
        range_y = [-5, 5]   # range in y direction [nm] (2D or 3D only)
        range_z = [2, 10]   # range in z direction [nm] (3D only)
    }
}
output{
    directory = "../output/mosfet_2D"
    section{
        name    = "zoom"
        range_x = [0,20]          # range in x direction from 0 nm to 20 nm
        range_y = [-5,5]          # range in y direction from -5 nm to 5 nm
    }
}

section{ name }

Calling sequence

output{ section{ name } }

Properties
  • using: \(\mathrm{\textcolor{WildStrawberry}{required\;within\;the\;scope}}\)

  • type: \(\mathrm{character\;string}\)

Functionality

Defines a suffix to a name of the generated output file.


section{ range_x }

Calling sequence

output{ section{ range_x } }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • type: \(\mathrm{vector\;of\;2\;real\;numbers}\)

  • values: no constraints

  • default: [0.0, 0.0]

  • unit: \(\mathrm{nm}\)

Functionality

Defines a range interval along the x-direction of the simulation domain for the additional output. The first number defines the beginning of the interval and the second defines its end.

Note

Ranges in sections must contain at least one grid point. If no point is found inside the range then the closest grid point is used. Zero-length intervals, such as [50.1, 50.1], are allowed.


section{ range_y }

Calling sequence

output{ section{ range_y } }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • type: \(\mathrm{vector\;of\;2\;real\;numbers}\)

  • values: no constraints

  • default: [0.0, 0.0]

  • unit: \(\mathrm{nm}\)

Functionality

Defines a range interval along the y-direction of the simulation domain for the additional output. The first number defines the beginning of the interval and the second defines its end.

Note

Ranges in sections must contain at least one grid point. If no point is found inside the range then the closest grid point is used. Zero-length intervals, such as [50.1, 50.1], are allowed.


section{ range_z }

Calling sequence

output{ section{ range_z } }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • type: \(\mathrm{vector\;of\;2\;real\;numbers}\)

  • values: no constraints

  • default: [0.0, 0.0]

  • unit: \(\mathrm{nm}\)

Functionality

Defines a range interval along the z-direction of the simulation domain for the additional output. The first number defines the beginning of the interval and the second defines its end.

Note

Ranges in sections must contain at least one grid point. If no point is found inside the range then the closest grid point is used. Zero-length intervals, such as [50.1, 50.1], are allowed.


section1D{ }

Calling sequence

output{ section1D{ } }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • items: \(\mathrm{no\;constraints}\)

Functionality

Outputs a 1D section of the simulation area, a 1D slice, from 2D or 3D simulation.

Note

  • 2D usage:
    • x, range_y | 1D slice at x = … nm within the range from y = … nm to y = … nm or
    • y, range_x | 1D slice at y = … nm within the range from x = … nm to x = … nm
  • 3D usage:
    • x, y, range_z or | 1D slice at x = … nm and y = … nm within the range from z = … nm to z = … nm | …

If range is left out, the section extends over the whole simulation area.

Examples
output{
    section1D{
        name = "x"          # name of section enters file name

        x = 10.0            # 1D slice at x = 10 nm
        y = 10.0            # 1D slice at y = 10 nm
        z = 10.0            # 1D slice at z = 10 nm (3D only)

        range_x = [0, 20]   # (optional) range in x direction [nm]
        range_y = [-5, 5]   # (optional) range in y direction [nm]
        range_z = [2, 10]   # (optional) range in z direction [nm] (3D only)
    }
}
output{
    directory = "../output/mosfet_3D"

    section1D{
        name = "x"
        y    = 10
        z    = 10
    }
}
output{
    directory = "../output/mosfet_2D"
    section1D{
        name    = "y"
        y       = 10              # 1D slice at y = 10 nm
        range_x = [-20, 220.5]   # range in x direction from -20 nm to 220.5 nm
    }
}

section1D{ name }

Calling sequence

output{ section1D{ name } }

Properties
  • using: \(\mathrm{\textcolor{WildStrawberry}{required\;within\;the\;scope}}\)

  • type: \(\mathrm{character\;string}\)

Functionality

Defines a suffix to a name of the generated output file.


section1D{ x }

Calling sequence

output{ section1D{ x } }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • type: \(\mathrm{real\;number}\)

  • values: no constraints

  • default: 0.0

  • unit: \(\mathrm{nm}\)

Functionality

Defines position along the x-direction of the simulation domain at which the section of generated data is created and added to the output.


section1D{ y }

Calling sequence

output{ section1D{ y } }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • type: \(\mathrm{real\;number}\)

  • values: no constraints

  • default: 0.0

  • unit: \(\mathrm{nm}\)

Functionality

Defines position along the y-direction of the simulation domain at which the section of generated data is created and added to the output.


section1D{ z }

Calling sequence

output{ section1D{ z } }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • type: \(\mathrm{real\;number}\)

  • values: no constraints

  • default: 0.0

  • unit: \(\mathrm{nm}\)

Functionality

Defines position along the z-direction of the simulation domain at which the section of generated data is created and added to the output.


section1D{ range_x }

Calling sequence

output{ section1D{ range_x } }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • type: \(\mathrm{vector\;of\;2\;real\;numbers}\)

  • values: no constraints

  • default: [0.0, 0.0]

  • unit: \(\mathrm{nm}\)

Functionality

Defines a range interval along the x-direction of the simulation domain for the additional output. The first number defines the beginning of the interval and the second defines its end.

Note

Ranges in sections must contain at least one grid point. If no point is found inside the range then the closest grid point is used. Zero-length intervals, such as [50.1, 50.1], are allowed.


section1D{ range_y }

Calling sequence

output{ section1D{ range_y } }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • type: \(\mathrm{vector\;of\;2\;real\;numbers}\)

  • values: no constraints

  • default: [0.0, 0.0]

  • unit: \(\mathrm{nm}\)

Functionality

Defines a range interval along the y-direction of the simulation domain for the additional output. The first number defines the beginning of the interval and the second defines its end.

Note

Ranges in sections must contain at least one grid point. If no point is found inside the range then the closest grid point is used. Zero-length intervals, such as [50.1, 50.1], are allowed.


section1D{ range_z }

Calling sequence

output{ section1D{ range_z } }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • type: \(\mathrm{vector\;of\;2\;real\;numbers}\)

  • values: no constraints

  • default: [0.0, 0.0]

  • unit: \(\mathrm{nm}\)

Functionality

Defines a range interval along the z-direction of the simulation domain for the additional output. The first number defines the beginning of the interval and the second defines its end.

Note

Ranges in sections must contain at least one grid point. If no point is found inside the range then the closest grid point is used. Zero-length intervals, such as [50.1, 50.1], are allowed.


section2D{ }

Calling sequence

output{ section2D{ } }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • items: \(\mathrm{no\;constraints}\)

Functionality

Outputs a 2D section of the simulation area, a 2D slice, from 3D simulation.

Note

  • 3D usage:
    • x, range_y, range_z | 2D slice at x = … nm within the range from y = … nm to y = … nm and from z = … nm to z = … nm or
    • y, range_x, range_z | 2D slice at y = … nm within the range from x = … nm to x = … nm and from z = … nm to z = … nm or
    • z, range_x, range_y | 2D slice at z = … nm within the range from x = … nm to x = … nm and from y = … nm to y = … nm
Examples
output{
    section2D{
        name = "center"         # name of section enters file name

        x = 10.0                # 2D slice at x = 10 nm
        y = 20.0                # 2D slice at y = 20 nm
        z = 10.0                # 2D slice at z = 10 nm

        range_x = [0, 20]       # (optional) range in x direction [nm]
        range_y = [-5, 5]       # (optional) range in y direction [nm]
        range_z = [2, 10]       # (optional) range in z direction [nm]
    }
}
output{
    directory = "../output/mosfet_3D"

    section2D{
        name    = "y"
        y       = 10              # 2D slice at y = 10 nm
        range_x = [-20, 220.5]    # range in x direction from -20 nm to 220.5 nm
        range_z = [-20, 220.5]    # range in z direction from -20 nm to 220.5 nm
    }
}

material_parameters{ }

Calling sequence

output{ material_parameters{ } }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • items: \(\mathrm{maximum\;1}\)

Functionality

Defines additional outputs.


material_parameters{ kp_parameters{ } }

Calling sequence

output{ material_parameters{ kp_parameters{ } } }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • items: \(\mathrm{maximum\;1}\)

Functionality
Outputs
  • \(\mathbf{k} \cdot \mathbf{p}\) parameters of materials in quantum regions where 6-band or 8-band \(\mathbf{k} \cdot \mathbf{p}\) Hamiltonian was solved,

  • the Dresselhaus-Kip-Kittel (DKK) parameters (L, M, N), which are used internally in the code,

  • the Luttinger parameters (gamma1, gamma2, gamma3, kappa) (for zinc blende) or Rashba-Sheka-Pikus (A1, A2, …, A6) parameters (for wurtzite),

  • the S, E_P, P and B parameters for 8-band \(\mathbf{k} \cdot \mathbf{p}\) calculations.

For further information, consult Chapter 3 of [BirnerPhD2011].


material_parameters{ kp_parameters{ boxes } }

Calling sequence

output{ material_parameters{ kp_parameters{ boxes } } }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • type: \(\mathrm{choice}\)

  • choices: yes; no

  • default: no

Functionality

For each grid point, in 1D two points are printed out to mimic abrupt discontinuities at interfaces (in 2D four points, in 3D eight points)


material_parameters{ spin_orbit_coupling_energies{ } }

Calling sequence

output{ material_parameters{ spin_orbit_coupling_energies{ } } }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • items: \(\mathrm{maximum\;1}\)

Functionality

Outputs spin-orbit coupling energy for zinc blende (1 parameter) or crystal-field splitting and spin-orbit coupling energies for wurtzite (3 parameters) in [eV].


material_parameters{ spin_orbit_coupling_energies{ boxes } }

Calling sequence

output{ material_parameters{ spin_orbit_coupling_energies{ boxes } } }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • type: \(\mathrm{choice}\)

  • choices: yes; no

  • default: no

Functionality

For each grid point, in 1D two points are printed out to mimic abrupt discontinuities at interfaces (in 2D four points, in 3D eight points)


material_parameters{ charge_carrier_masses{ } }

Calling sequence

output{ material_parameters{ charge_carrier_masses{ } } }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • items: \(\mathrm{maximum\;1}\)

Functionality

Outputs effective masses of all energy bands used in the simulations in [m0].


material_parameters{ charge_carrier_masses{ boxes } }

Calling sequence

output{ material_parameters{ charge_carrier_masses{ boxes } } }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • type: \(\mathrm{choice}\)

  • choices: yes; no

  • default: no

Functionality

For each grid point, in 1D two points are printed out to mimic abrupt discontinuities at interfaces (in 2D four points, in 3D eight points)


material_parameters{ static_dielectric_constants{ } }

Calling sequence

output{ material_parameters{ static_dielectric_constants{ } } }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • items: \(\mathrm{maximum\;1}\)

Functionality

Outputs static relative dielectric constants for zinc blende (1 parameter) and wurtzite (3 parameters).


material_parameters{ static_dielectric_constants{ boxes } }

Calling sequence

output{ material_parameters{ static_dielectric_constants{ boxes } } }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • type: \(\mathrm{choice}\)

  • choices: yes; no

  • default: no

Functionality

For each grid point, in 1D two points are printed out to mimic abrupt discontinuities at interfaces (in 2D four points, in 3D eight points)


material_parameters{ deformation_potentials{ } }

Calling sequence

output{ material_parameters{ deformation_potentials{ } } }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • items: \(\mathrm{maximum\;1}\)

Functionality

Output the deformation potentials for zinc blende and wurtzite in [eV].


material_parameters{ deformation_potentials{ boxes } }

Calling sequence

output{ material_parameters{ deformation_potentials{ boxes } } }

Properties
  • using: \(\mathrm{\textcolor{ForestGreen}{optional\;within\;the\;scope}}\)

  • type: \(\mathrm{choice}\)

  • choices: yes; no

  • default: no

Functionality

For each grid point, in 1D two points are printed out to mimic abrupt discontinuities at interfaces (in 2D four points, in 3D eight points)