ECCI Example - EMsoft-org/EMsoft GitHub Wiki
ECCI Image simulation example
This example concerns the simulation of a series of EECI images for a combination of lattice defects in a GaP foil. The EMECCI program requires four different input files for the foil information, the defect configuration, the BetheParameters for the dynamical simulation, and the general setup. We will use the default BetheParameters.nml file for this example.
The foil information is specified as follows in the file EMfoil.json:
{
"FoilDescriptor": {
"foilF": [ 0.0, 0.0, 1.0 ],
"foilq": [ 1.0, 0.0, 0.0 ],
"foilalP": 0.0,
"foilalS": 0.0,
"foilalR": 0.0,
"foilz0": 100.0,
"foilelmo": {
"row1": [ 168.4, 121.4, 121.4, 0.0, 0.0, 0.0 ],
"row2": [ 121.4, 168.4, 121.4, 0.0, 0.0, 0.0 ],
"row3": [ 121.4, 121.4, 168.4, 0.0, 0.0, 0.0 ],
"row4": [ 0.0, 0.0, 0.0, 75.5, 0.0, 0.0 ],
"row5": [ 0.0, 0.0, 0.0, 0.0, 75.5, 0.0 ],
"row6": [ 0.0, 0.0, 0.0, 0.0, 0.0, 75.5 ]
}
}
}
The elastic moduli are only used for fully embedded dislocations that do not intersect the foil surface (and we do not use any of those in this example, so the values do not matter).
The defect configuration file contains five surface-penetrating dislocations, one screw dislocation at the center of the image with line direction parallel to the foil normal, and four inclined dislocations; and a stacking-fault tetrahedron on four different SF planes.
{
"DefectDescriptors": {
"foil": {
"foilfilename": "datapathname/EMfoil.json"
},
"Ydislocations": [
{
"id": 0.001,
"jd": -0.001,
"u": [ 0.0, 0.0, -1.0 ],
"bv": [ 0.0, 0.0,-1.0 ],
"poisson": 0.31
},
{
"id": 0.651,
"jd": -0.651,
"u": [ 0.0, -1.0, -1.0 ],
"bv": [ 0.0, -1.0,-1.0 ],
"poisson": 0.31
},
{
"id": 0.651,
"jd": 0.651,
"u": [ -1.0, 0.0, -1.0 ],
"bv": [-1.0, 0.0, 1.0 ],
"poisson": 0.31
},
{
"id": -0.651,
"jd": 0.651,
"u": [ 0.0, 1.0, -1.0 ],
"bv": [ 0.0, 1.0,-1.0 ],
"poisson": 0.31
},
{
"id": -0.651,
"jd": -0.651,
"u": [ 1.0, 0.0, -1.0 ],
"bv": [ 1.0, 0.0, 1.0 ],
"poisson": 0.31
}
],
"stackingfaults": [
{
"SFi": 0.25,
"SFj": 0.25,
"SFsep": 90.509,
"SFplane": [ 1.0, 1.0, -1.0 ],
"SFlpu": [ -1.0, 0.0, -1.0 ],
"SFlpb": [ -0.166667, -0.166667, -0.333333 ],
"SFtpu": [ 0.0, -1.0, -1.0 ],
"SFtpb": [ 0.166667, -0.333333, -0.166667 ]
},
{
"SFi": -0.25,
"SFj": 0.25,
"SFsep": 90.509,
"SFplane": [ -1.0, 1.0, -1.0 ],
"SFlpu": [ 0.0, -1.0, -1.0 ],
"SFlpb": [ -0.166667, 0.166667, 0.333333 ],
"SFtpu": [ 1.0, 0.0, -1.0 ],
"SFtpb": [ -0.333333, -0.166667, 0.166667 ]
},
{
"SFi": -0.25,
"SFj": -0.25,
"SFsep": 90.509,
"SFplane": [ -1.0, -1.0, -1.0 ],
"SFlpu": [ 1.0, 0.0, -1.0 ],
"SFlpb": [ 0.166667, 0.166667, -0.333333 ],
"SFtpu": [ 0.0, 1.0, -1.0 ],
"SFtpb": [ -0.166667, 0.333333, -0.166667 ]
},
{
"SFi": 0.25,
"SFj": -0.25,
"SFsep": 90.509,
"SFplane": [ 1.0, -1.0, -1.0 ],
"SFlpu": [ 0.0, 1.0, -1.0 ],
"SFlpb": [ 0.166667, -0.166667, 0.333333 ],
"SFtpu": [ -1.0, 0.0, -1.0 ],
"SFtpb": [ 0.333333, 0.166667, 0.166667 ]
}
]
}
}
The EMECCI.nml input file has the following parameters:
&ECCIlist
! The line above must not be changed
!
! The values below are the default values for this program
!
!------------
! multi-threading parameters
!------------
nthreads = 4,
!------------
! microscope parameters
!------------
! microscope accelerating voltage [V]
voltage = 20.,
!------------
! crystal structure and incident beam parameters
!------------
! crystal structure filename
xtalname = 'GaP.xtal',
! program mode 'array' or 'trace'
progmode = 'array',
! incident beam direction
k = 0,0,1,
! kt step size
dkt = 1.5,
! beam convergence angle in terms of the ratio kt/|g_a| (i.e., kt_max)
ktmax = 3.0,
! laue center coordinates
lauec = 0.0, .0,
! second laue point for trace mode
lauec2 = 0.0, 0.0,
! number of steps along trace
nktstep = 0,
! smallest d-spacing to take into account [nm]
dmin = 0.1,
!------------
! various filenames
!------------
! name of the nml file with the foil parameters
defectfilename = 'datapathname/defects.json',
! full filename of the output file, including complete path
dataname = 'datapathname/GaP-ECCI.h5',
ECPname = 'datapathname/GaPtest.data'
montagename = 'datapathname/ECCImontage.tiff',
!------------
! image parameters and scattering matrix step size
!------------
! edge length of a column [nm] in the column approximation context
DF_L = 1.0,
! number of x-columns (=number of x-pixels in output image)
DF_npix = 256,
! number of y-columns (=number of y-pixels in output image)
DF_npiy = 256,
! slice thickness for scattering matrix approach [nm]
DF_slice = 1.0
/
Execution of this program will generate an array of 113 ECCI images centered around the [001] zone axis. A small portion of the full image montage is shown below; the complete montage file can be downloaded from this URL.