Input parameters

Input data for the program is divided on three groups: calculation parameters, object parameters, file names. Each group is placed on a separate line of text inside a special panel for editing the data in the line. The line must contain numbers separated by one or more blank signs.

Calculation parameters

The input data of the first line must contain the values for the following parameters
E     is the energy of x rays in keV,
Rs     is the distance in cm between the point source and the object plane,
R       is the distance in cm between the object plane and the detector (image) plane,
Xs     is the full size of region in microns horizontally (X) used for FFT,
Ys     is the full size of region in microns vertically (Y) used for FFT,
Nx     is a number of dots horizontally, must be integer power of 2,
Ny     is a number of dots vertically, must be integer power of 2,
ssX     is FWHM (full width at half maximum) of the x-size of the source projection in microns.
ssY     is FWHM of the y-size of the source projection in microns.
mod     is a parameter which determines the modification of calculation.
While all parameters are clear, the parameter mod has to be explained. It is integer of many digits in which each digit has separate sense. Let us count digits from right to left, so mod = FEDCBA , where each letter represents one digit. Then digit B, namely, B = int((mod/10)%10) can take values 0, 1, 2, 3. In the case B = 0 the first algorithm and the modified propagator is used. It is general case. If B = 1 then the modification is rejected (see article about Calculation). In the case B = 2 the second algorithm and modified exponential is used. If B = 3 the second algorithm is used without a modification. The second algorithm is effective for large R but cannot be used for very small R. The digit A, namely, A = mod%10 means as follows. If A = 0 the input wave is a spherical wave from a point source (it is calculated), the output wave is not written in the file. If A = 1 the input wave is the same as for A = 0, but complex output wave is written in the file which name is specified by 3-d line for a further use. If A = 2 the input wave is read from the file with this name. This file must be written in the previous calculation and has proper structure. This is always the case if one uses previously A = 1. Complex output wave is always written in the same file even it is not used further. If A = 3 the input wave is read before a calculation but not written after a calculation. This is useful if the same input wave is needed to be used in several calculations. The digit C, namely, C =int((mod/100)%10) is used to modify the propagator by gaussian which will have the value exp(-C) at the boundaries of the q-region. If C=0 the modification is absent. In old version inLineIm (ACL) the digit D, namely, D=int((mod/1000)%10) was used to select part of the total number of dots on the figure. Namely, the real number of dots will be Nfig = Nmax/2^D for x-coordinate and twice smaller for y-coordinate, centered on the middle point. It is useful for an analysis of the focus structure in calculation of focusing. The digit E, namely, E=(mod/10000)%10 was used to select the size of the figure from 3 possible variants. It can be equal to 0, 1, 2 and any more value is equivalent to 2. Note that the calculating module does not use the parameters D and E. It only passes these parameters to the acl-program which just is making the necessary work.

In the first algorithm the size of the object region is equal to the size of the image region. This property is a sequence of the use of double FFT procedure. In the second algorithm the size of the image region depends on R. However, for the image picture the region is always linearly interpolated for the image size. The number of points Nx and Ny must be 2^k with k integer (see article about Calculation).

If parameters ssX or ssY have zero values the image function is correspondent to the point source. When ssX or ssY is defined with nonzero values an additional convolution of the image with the Gaussian function having FWHM = ssC is performed where C = X,Y. The saved image function is correspondent to the real source.

There is one new modification. The parameter E (energy) now can be determined as negative. Then in the case of the first algorithm only one Fourier transformation will be calculated, which shows the Fourier image of the object only, i.e. without a propagator. It is useful in the case of complex object.

Object parameters

The input data for the second line must contain the more complicated structure of values. First of all, it is assumed that there may be several objects placed closely one after another. The possible number of objects is not limited. How many objects will be taken into account depends on the total number of values. First, the values for the first object is accounted. If the line contains more values, the second object is accounted while all values will be used. The groop of values for one object starts with   Nobj ,   the integer, representing a kind of the object. The current version of the program considers 7 kinds of the object: first for the odd Fresnel zone plate (FZP), second for the even FZP, third for the ellipsoid with various thicknesses along all three axes, fourth for a hole of ellipsoidal shape, fifth for the round parabolic bi-concave thin lens, sixth for a rectangular object or hole inside a matter, seventh for the linear phase shift. Below the parameters for all objects is described.
          Nobj = 1   (odd Fresnel zone plate, empty background, 6 values)
Rad       the radius of the first zone in microns,
Phase     the phase shift in rad., produced by odd zones,
Mut/2       the value of dimentionless absorption index, produced by odd zones,
Nzone     the integer number of odd zones of FZP,
Dx       the shift of the FZP centre from the origin in microns along the x-axis,
Dy       the shift of the FZP centre from the origin in microns along the y-axis.
Dec       degree of decreasing empty channels, if Dec = 1, normal case, Dec < 1 heterogeneous etching.
          Nobj = 2   (even Fresnel zone plate, the matter background, 6 values)
Rad       the radius of the first zone in microns,
Phase     the phase shift in rad., produced by even zones,
Mut/2       the value of dimentionless absorption index, produced by even zones,
Nzone     the integer number of odd zones of FZP,
Dx       the shift of the FZP centre from the origin in micron along the x-axis,
Dy       the shift of the FZP centre from the origin in micron along the y-axis.
          Nobj = 3   (ellipsoid, the empty background, 6 values)
RadX     the radius of ellipsoid along the x-axis in microns,
RadY     the radius of ellipsoid along the y-axis in microns,
Phase     the maximum phase shift in rad., produced by ellipsoid,
Mut/2     the value of dimentionless absorption index, produced by ellipsoid,
Dx       the shift of the ellipsoid centre from the origin in microns along the x-axis,
Dy       the shift of the ellipsoid centre from the origin in microns along the y-axis.
          Nobj = 4   (hole of ellipsoidal shape, the matter background, 6 values)
RadX     the radius of ellipsoid along the x-axis in microns,
RadY     the radius of ellipsoid along the y-axis in microns,
Phase     the maximum phase shift in rad., produced by environment,
Mut/2     the value of dimentionless absorption index, produced by environment,
Dx       the shift of the hole centre from the origin in microns along the x-axis,
Dy       the shift of the hole centre from the origin in microns along the y-axis.
          Nobj = 5   (round parabolic bi-concave thin lens, the matter background, 7 values)
Rad     the curvature radius of the lens surfaces in microns,
p         the total thickness of the lens in microns,
d         the thickness of thin part of the lens in microns,
delta     the decrement of refractive index, multiplied by 10000,
beta     the absorption index, multiplied by 10000,
Dx       the shift of the lens centre from the origin in microns along the x-axis,
Dy       the shift of the lens centre from the origin in microns along the y-axis.
          Nobj = 6   (rectang. matter (hole if mut < 0), empty (matter) backgrnd, 6 values)
Xs       horisontal size of rectangular in microns,
Ys       vertical size of rectangular in microns,
Phase     the value of phase shift in rad., produced by object,
Mut/2     the value of dimentionless absorption index, produced by object,
Dx       the shift of the obect centre from the origin in microns along the x-axis,
Dy       the shift of the object centre from the origin in microns along the y-axis.
          Nobj = 7   (phase gradient, empty background, 6 values)
Xs       horisontal size of region in microns,
Ys       vertical size of region in microns,
qx       the coefficient in phase -qx*x in 1/microns,
qy       coefficient in phase -qy*y in 1/microns,
Dx       the shift of the region centre from the origin in microns along the x-axis,
Dy       the shift of the region centre from the origin in microns along the y-axis.
          Nobj = 8   (symmetrical Bragg diffraction, zero background, 10 main values and others if necessary)
r_0       distance in air before and after the crystal in cm
theta_B       Bragg angle (degree),
q_0       shift of momentum due to crystal rotation (1/micron),
mu_0 = K*chi_i0       K multiplied i0 component of susceptibility (1/micron),
t       crystal thickness (micron),
K*chi_h r       K multiplied byr h component of susceptibility (1/micron),
K*chi_h i       K multiplied byi h component of susceptibility (1/micron),
K*chi_-h r       K multiplied byr-h component of susceptibility (1/micron),
K*chi_-h i       K multiplied byi-h component of susceptibility (1/micron),
N_layers       number of layers on top of substrate (real),
N times [ q_0 ; mu_0 ; t ; K*chi_r h ; K*chi_i h ; K*chi_r-h ; K*chi_i-h ],
          Nobj = 9   (symmetrical Laue diffraction, zero background, 9 values)
r_0       distance in air before and after the crystal in cm
theta_B       Bragg angle (degree),
q_0       shift of momentum due to crystal rotation (1/micron),
mu_0 = K*chi_i 0       K multiplied by i 0 component of susceptibility (1/micron),
t       crystal thickness (micron),
K*chi_r h       K multiplied by r h component of susceptibility (1/micron),
K*chi_i h       K multiplied by i h component of susceptibility (1/micron),
K*chi_r-h       K multiplied by r-h component of susceptibility (1/micron),
K*chi_i-h       K multiplied by i-h component of susceptibility (1/micron),
          Nobj = 10   (wave field filtering by zero tails function, 3 values)
Xs       FWHM of the function along x-axis (micron),
Ys       FWHM of the function along y-axis (micron),
p       degree of tranformation (must be 2, 4, 6, 8, . . .),
There is difference between the thin objects and the crystals (Nobj=8,9). In case of thin objects the calculation can take into account the region out of the object (image) by means of calculating a set of dots as a homogeneous environment. The phase shift and the absorption index produced by environment is taken into account automatically. It is assumed that the matter produces negative phase shift so the user must input negative value for matter. The absorption index is twice smaller than the absorption coefficient. It is obtained from the phase shift by division by delta and multiplication by beta.
In the case of crystals the region out of the calculation grid of points is not taken into account. On the other hand, this case allows one to consider crystal together with distance simultaneously. Even distances Rs and R of the main set of parameters can be equal zero. Moreover, one has a possibility to calculate many crystals and total distance as one object. In this case it is necessary to consider zero R and negative value for distances r_0, which are specified with the all crystals except the last of them. Only last crystal must be specified with the total distance of system. If Rs does not equal zero the input wave may be calculated previously if it is demanded from mod parameter. The parameter q = K*angle, where "angle" is a crystal rotation angle.
The algorithm works as follows. For the crystal with negative distance scattering amplitude will be calculated only and it will be multiplied by amplitude for the preceding crystal if necessary. The Fourier transformation will be done with the crystal for which the input data contain a positive distance, and a total product of scattering amplitudes for all crystals will be used in calculation. However, in the case of negative distance only and Rs = 0, the result will show the rocking curve for the crystal or set of crystals. Sometimes it may be used. In the case of Bragg diffraction the multilayer crystal systems can be calculated. After the input data for the first layer (substrate) the program reads the number of layers N_layer. For convenience this number must be of real type. If this number > 0, the subsequent set of data must contain 7 parameters for each layer, the total number of parameters is 7*N_layer. The layers are ordered from bottom to top, so the last data specify the top layer of the crystal. The size of q-region is equal to 2*pi*Nx/Xs.
Note that calculation is made for only one polarization state. If the Bragg angle is positive this is sigma polarization state. If input data contains negative the Bragg angle, the calculation will be made for pi polarization state and absolute value of the Bragg angle. In the case of usage a modified propagator, i.e. for mo = int((mod/10)%10) = 0,2 the distance r_0 cannot be zero because this leads to 0/0 expression. Use normal propagator or small value > 0.
If the number of objects is large, many values are necessary to input. Due to finite length of the input window some parameters become not seen at the current position of cursor. However, moving a cursor you have a possibility to introduce and check all values. Sometimes it is useful to prepare the values into the separate file and then make a copy. In the case 6 normally the object is rectangular inside the empty space. However, if mut < 0, it is just a rectangular hole inside a matter. In the case 7 it is assumed that the object produces the phase shift which is equivalent to a tranversal shift of the source position. However, this shift is absent outside the calculation window. Therefore this case has a sense only with zero background. One must keep in mind that in the case of many objects the real background value is a product of values for all objects involved.

File names

The third line must contain the names for the file which keep the image data (real), the wave field data (complex) and jpeg picture. The first two names are used in accordance with the calculating parameter [mod]. The third name must be typed without extension because the extension is alwais (.jpg). The names must be separated by one or more blank symbols.