sim-trhepd-rheed solver

sim-trhepd-rheed is a Solver that uses `sim-trhepd-rheed`_ to calculate the diffraction rocking curve from the atomic position \(x\) and returns the deviation from the experimental rocking curve as \(f(x)\).

Preparation

You will need to install `sim-trhepd-rheed`_ beforehand.

  1. Download the source code from the official sim-trhepd-rheed website.

  2. Move to sim-trhepd-rheed/src folder and make bulk.exe and surf.exe by using make.

Before running py2dmat, run bulk.exe to create the bulk data. The surf.exe is called from py2dmat.

Input parameters

Input parameters can be specified in subcsections config, post, param, reference in solver section.

[config] section

  • surface_exec_file

    Format: string (default: “surf.exe”)

    Description: Path to sim-trhepd-rheed surface reflection solver surf.exe.

  • surface_input_file

    Format: string (default: “surf.txt”)

    Description: Input file for surface structure.

  • bulk_output_file

    Format: string (default: “bulkP.b”)

    Description: Output file for bulk structure.

  • surface_output_file

    Format: string (default: “surf-bulkP.s”)

    Description: Output file for surface structure.

  • calculated_first_line

    Format: integer (default: 5)

    Description: One of the parameters that specifies the range of output files to be read, calculated by the solver. This parameter specifies the first line to be read.

  • calculated_last_line

    Format: integer (default: 60)

    Description: One of the parameters that specifies the range of output files to be read, calculated by the solver. This parameter specifies the last line to be read.

  • row_number

    Format: integer (default: 8)

    Description: One of the parameters that specifies the range of output files to be read, calculated by the solver. This parameter specifies the column to be read.

[post] section

  • normalization

    Format: string (“TOTAL” or “MAX”, default: “TOTAL”)

    Description: This parameter specifies whether the R-value is normalized by the sum of the whole values or by the maximum value.

  • Rfactor_type

    Format: string (“A” or “B”, default: “A”)

    Description: This parameter specifies how to calculate the R-factor. “A” means the normal method, “B” means Pendry’s R-factor is used.

  • omega

    Format: float (default: 0.5)

    Description: This parameter specifies the half-width of convolution.

[param] section

  • string_list

    Format: list of string. The length should match the value of dimension (default: [“value_01”, “value_02”]).

    Description: List of placeholders to be used in the reference template file to create the input file for the solver. These strings will be replaced with the values of the parameters being searched for.

  • degree_max

    Format: float (default: 6.0)

    Description: Maximum angle (in degrees)

[reference] section

  • path

    Format: string (default: experiment.txt)

    Description: Path to the experimental data file.

  • first

    Format: integer (default: 1)

    Description: One of the parameters that specify the range of experimental data files to be read. This parameter specifies the first line of the experimental file to be read.

  • last

    Format: integer (default: 56)

    Description: One of the parameters that specify the range of experimental data files to be read. This parameter specifies the last line of the experimental file to be read.

Reference file

Input template file

The input template file template.txt is a template for creating an input file for surf.exe. The parameters to be moved in py2dmat (such as the atomic coordinates you want to find) should be replaced with the appropriate string, such as value_*. The strings to be used are specified by string_list in the [solver] - [param] section of the input file for the solver. An example template is shown below.

2                                    ,NELMS,  -------- Ge(001)-c4x2
32,1.0,0.1                           ,Ge Z,da1,sap
0.6,0.6,0.6                          ,BH(I),BK(I),BZ(I)
32,1.0,0.1                           ,Ge Z,da1,sap
0.4,0.4,0.4                          ,BH(I),BK(I),BZ(I)
9,4,0,0,2, 2.0,-0.5,0.5               ,NSGS,msa,msb,nsa,nsb,dthick,DXS,DYS
8                                    ,NATM
1, 1.0, 1.34502591  1       value_01   ,IELM(I),ocr(I),X(I),Y(I),Z(I)
1, 1.0, 0.752457792 1       value_02
2, 1.0, 1.480003343 1.465005851     value_03
2, 1.0, 2   1.497500418     2.281675
2, 1.0, 1   1.5     1.991675
2, 1.0, 0   1       0.847225
2, 1.0, 2   1       0.807225
2, 1.0, 1.009998328 1       0.597225
1,1                                  ,(WDOM,I=1,NDOM)

In this case, value_01, value_02, and value_03 are the parameters to be moved in py2dmat.

Target file

This file (experiment.txt) contains the data to be targeted. The first column contains the angle, and the second column contains the calculated value of the reflection intensity multiplied by the weight. An example of the file is shown below.

0.100000 0.002374995
0.200000 0.003614789
0.300000 0.005023215
0.400000 0.006504978
0.500000 0.007990674
0.600000 0.009441623
0.700000 0.010839445
0.800000 0.012174578
0.900000 0.013439485
1.000000 0.014625579
...

Output file

For sim-trhepd-rheed, the files output by surf.exe will be output in the Log%%%%% folder under the folder with the rank number. This section describes the own files that are output by this solver.

stdout

It contains the standard output of surf.exe. An example is shown below.

bulk-filename (end=e) ? :
bulkP.b
structure-filename (end=e) ? :
surf.txt
output-filename :
surf-bulkP.s

RockingCurve.txt

This file is located in the Log%%%%% folder. The first line is the header, and the second and subsequent lines are the angle, convoluted calculated/experimental values, normalized calculated/experimental values, and raw calculated values in that order. An example is shown below.

#degree convolution_I_calculated I_experiment convolution_I_calculated(normalized) I_experiment(normalized) I_calculated
0.1 0.0023816127859192407 0.002374995 0.004354402952499057 0.005364578226620574 0.001722
0.2 0.003626530149456865 0.003614789 0.006630537795012198 0.008164993342397588 0.003397
0.3 0.00504226607469267 0.005023215 0.009218987407498791 0.011346310125551366 0.005026
0.4 0.006533558304296079 0.006504978 0.011945579793136154 0.01469327865677437 0.006607
0.5 0.00803056955158873 0.007990674 0.014682628499657693 0.018049130948243314 0.008139
0.6 0.009493271317558538 0.009441623 0.017356947736613827 0.021326497600946535 0.00962
0.7 0.010899633015118851 0.010839445 0.019928258053867838 0.024483862338931763 0.01105
...