2.7. Simulation Output¶
Here, we will add soon more information on the content of the output file names.
Basic information¶
For each simulation run, a new output folder is created in the simulation output folder. The created folder has the name of the input file. In addition date-time is added to the folder name if the option is selected in Options->Expert settings of nextnanomat (this option is recommended in order to avoid overwritten existing output data). The created output folder contains:
the input file (.in).
a folder ‘…’ which gives material parameters used in the calculation.
a folder … (only if the strain option is activated).
Several files related to the sweep made. For a voltage sweep, it contains ….
a log file is created at the end of the simulation, containing all the information displayed during the simulation.
Diagnostic information and error handling with log file¶
Every simulation is generating a file with an extension .log. Let say one is running an input file my_simulation.nnp, then there is always a file my_simulation.log generated in the simulation output directory. This file contains diagnostic data on the the simulation process. The amount of this information can be controlled by the debug keywords available in most of the global groups. This file can contain warnings, if some solvers failed to converge to requested residuals, and error messages. For possible error messages please refer to the site: Error Messages.
Visualization - VTK and AVS¶
Specification of options for the visualization of the data with certain programs like
Origin (1D/2D)
VTK VTK format (2D/3D)
AVS/Express (2D/3D)
VTK format for rectilinear grid¶
==> VTK - The Visualization Toolkit
The .vtr
format can be read by the following software:
VisIt visualization tool (free)
ParaView (open source)
ImageVis3D (open source)
AVS format for rectilinear grid¶
The .fld
format can be read by the following software:
AVS/Express visualization tool (commercial)
The main file of AVS format has .fld
extention. Here is an example:
# AVS/Express field file # necessary header
#
ndim = 3 # number of dimensions
dim1 = 6 # number of nodes along 1st dimension
dim2 = 6 # number of nodes along 2nd dimension
dim3 = 6 # number of nodes along 3rd dimension
# number of dim* entry must be consistent to number of dimensions "ndim"
nspace = 3 # must be equal to "ndim"
veclen = 1 # number of components of vector field, "1" = scalar field
data = double # data type. Currently only "double" and "integer" are supported.
field = rectilinear # type of mapping. Only rectilinear field is supported.
label = bandedge_Gamma_1 # label for each vector field component
unit = eV # unit of each vector field component (internally in tool not used at the moment)
variable 1 file=3D_import.dat filetype=ascii skip=0 offset=0 stride=1 # defines where 1st component of vector field is saved. Numbering must be ascending, starting with "1"
# and number of "variable" "i" lines must be equal to "veclen". Supported file types are "ascii" and "binary".
# "skip" defines how many lines in file have to be skipped before data item appears.
# "offset" defines how many columns in line have to be skipped before searched data items appear.
# "stride" defines how many steps have to be made before next data item appears.
coord 1 file=3D_import.coord filetype=ascii skip=0 offset=0 stride=1 # contains information about where and how nodes of 1st coordinate are stored
coord 2 file=3D_import.coord filetype=ascii skip=6 offset=0 stride=1 # contains information about where and how nodes of 2nd coordinate are stored
coord 3 file=3D_import.coord filetype=ascii skip=12 offset=0 stride=1 # contains information about where and how nodes of 3rd coordinate are stored
# numbering must be ascending, starting with "1" and number of "coord" "i" lines must be equal to "ndim"
# "skip=6" (=7) and "skip=12" (=14) take into account one empty line each that we use to separate the coordinates.
The following shows an example of a file that can be imported using import{ }.
This example shows how to import
i, j, k, fn(i,j,k), fm(i,j,k)
ordered data via AVS format 3D_origin-format.fld
file into nextnano++:
# AVS/Express field file
#
ndim = 3
dim1 = 3
dim2 = 3
dim3 = 3
nspace = 3
veclen = 2
data = double
field = rectilinear
label = data_1
label = data_2
variable 1 file=3D_origin-format.dat filetype=ascii skip=0 offset=3 stride=5
variable 2 file=3D_origin-format.dat filetype=ascii skip=0 offset=4 stride=5
coord 1 file=3D_origin-format.dat filetype=ascii skip=24 offset=0 stride=5
coord 2 file=3D_origin-format.dat filetype=ascii skip=18 offset=1 stride=15
coord 3 file=3D_origin-format.dat filetype=ascii skip=8 offset=2 stride=45
The corresponding data is contained in the 3D_origin-format.dat
file:
0 0 0 1 -1 # The columns correspond to coordinates x,y,z and data values f_1(x,y,z) and f_2(x,y,z).
5 0 0 2 -2
10 0 0 3 -3
0 5 0 4 -4
5 5 0 5 -5
10 5 0 6 -6
0 10 0 7 -7
5 10 0 8 -8
10 10 0 9 -9
0 0 5 10 -10
5 0 5 11 -11
10 0 5 12 -12
0 5 5 13 -13
5 5 5 14 -14
10 5 5 15 -15
0 10 5 16 -16
5 10 5 17 -17
10 10 5 18 -18
0 0 10 19 -19
5 0 10 20 -20
10 0 10 21 -21
0 5 10 22 -22
5 5 10 23 -23
10 5 10 24 -24
0 10 10 25 -25
5 10 10 26 -26
10 10 10 27 -27
Note that the order of the values matters.