Simulation of white beam synchrotron topographs


Y. Epelboin
L.M.C.P., UMR 7590 CNRS
Université P.M. Curie, 75252 Paris Cedex 05, France



TRANSQ is a general purpose simulation program which allows to simulate the images of any kind of defect in white beam synchrotron topographs. It only computes Takagi-Taupin equations. The user must first compute the derivatives of the deformation in the crystal store their values in files on disk. It means that he must write his own program depending on the kind of defect he wants to simulate. A canvas for such program, called STRAIN, together with  an example of required input and output. is available.

TRANSQ computes the image line by line. Since each line in the image corresponds to one incidence plane (fig. 1), the calculation of one line of the image requires the knowledge of the derivatives of the deformation for this plane. As explained before these data are stored in  binary files. There are as many binary files as lines in the simulated image. This is summarized in fig. 2.

Fig. 1: the waves propagating in a given plane of incidence (gray plane) give rise to the contrast of line AB in the image.

Fig.2: A user program STRAIN computes the derivatives of the deformation for each plane of incidence. TRANSQ uses these data.


The simplest method to simulate a white beam topograph is to add the contribution of individual point sources located along the entrance surface of the crystal (fig. 3) as suggested by Epelboin & Soyer (1985). The distance between the sources must be chosen in agreement with the sampling of computed intensity nodes along the exit surface of the crystal. This sampling is very dense because it is linked to the distance between nodes in the network used for the integration of the Takagi-Taupin equations (the distance between nodes may be as small as 0.025 mm) which must be able to correctly describe the phase of the diffracted wave inside the crystal. The intensity is oversampled along the exit surface of the crystal and one must reduce the number of data to draw an image or a profile of intensity (Epelboin 1981). Thus the number of point sources between E and F (fig. 6) along the entrance surface must be also oversampled to correctly sum all the contributions at point P. This increases tremendously the number of calculation and makes this method rather inefficient (Carvalho & Epelboin 1993a).


Fig.3 Direct geometry: the intensity at point P is the sum of all the contributions from a distribution of point sources located along EF. To compute a profile between C and D, one must add the contribution of all point sources, correctly sampled from A to B.



The second method is to take advantage of the reciprocity theorem of optics (Carvalho & Epelboin 1993b). The geometry of the experiment is reversed: a point source is located at point P along the exit surface at the position where one wants to compute the intensity in the topograph. The amplitude of the diffracted field is computed in a reverse geometry, both refracted and reflected directions and being exchanged with the s0 and sh directions for the direct geometry of the experiment (fig. 4). It may be shown (Takagi 1969, Petrashen, Chukhovskii and Shulpina 1980, Carvalho & al. 1993b) that the intensity, at point P in the experiment, is the sum of the intensities of all computed nodes between A and B along the exit surface in this reciprocal geometry. The distribution of the points P is no more linked to the network of integration, no oversampling is needed and it is chosen in agreement with the required resolution in the simulated image. This decreases the time of computing by one to two orders of magnitude.


Fig. 4. Reciprocal geometry: a light source is located at P, along the exit surface, and the intensity is computed from A to B along the entrance surface.




Petrashen & al. (1980) have been the first to try to use the reciprocity theorem for the simulation of traverse topographs. Epelboin and al. (1985) have shown that the precision of the numerical algorithm is very critical. Conventional algorithms (Authier, Malgrange and Tournarie (1968) or Petrashen (1976) did not permit to apply this theorem and the direct method only could be used. Carvalho and Epelboin (1993a) have established an algorithm accurate enough to simulate the images using the reciprocity theorem.

Fig. 5 Principle of the numerical integration. The value of the diffracted field at point 4 is computed from the knowledge of its values at points 2, 3 and 1. p and q are the elementary steps along 0 and h respectively.

The equations are numerically integrated using a finite elements method where nodes are located, inside the Borrmann fan, at the intersections of characteristic lines drawn parallel to the transmitted and reflected directions (fig. 5). Steps p and q   must be locally chosen to describe as best as possible the changes in the phase of the propagating diffracted wave. It would take too much time to determine them during the integration, thus they are computed prior to the integration. Epelboin (1981) has suggested a method where they are computed from the knowledge of the analytical solution in the case of the perfect crystal.

2  Computation of the deformation

Up to now all simulation programs have calculated the deformation values at each node M (fig.5) just when requested; it is part of the simulation itself. Changing the model for the defect means to rewrite large sections of the program, which is always delicate and may take months. In the case of piezoelectric devices as well as in other studies, the simulation is intended to check various models which describe the propagation of the acoustic wave. We have thus decided to split the simulation into two independent programs. The first one computes the data for the deformation through all the crystal. Its results are stored on a disk then used as entry for the simulation program. To study another deformation model it is just necessary to rewrite the first program and to run the same simulation program again. This may be done without any knowledge of the simulation program.

The values of the deformation appear in the following equation :


where indices 1 and 3 denote the component along the x and z directions of u and h (fig. 6).

ah = sin Yh, a0 = sin Y0, gh = cos Yh and g0 = cos Y0.

In the symmetric case, Y0 = -Yh, equation 1 is reduced to the two first terms i.e.:



Figure 6: Axes used for the computation of the deformation





and are computed for each plane of incidence and stored in a large array. When computing equation (1), the value of the deformation at any node M is established by a simple interpolation.  The size of the array which contains the strain components may be very large. For instance, in a crystal 1000 microns thick and for an image 5000 microns large, it is of the order of 500x1000. For each plane of incidence, it corresponds to a file of 2 Mbytes when written on the disk, . The  derivatives of the deformation must be computed for  all the planes of incidence which means 500 such files for an image which contains 500 lines. The total space needed to store these data is of the order of one Gbyte. This doubles in the asymetric case. This is the first reason why TRANSQ is limited to the symetric case only.   The second is that it would increase the computing time.

The simulation suite

TRANSQ is part of a suite which contains general purpose programs for both the Laue and the Bragg case:

All the programs use the same principles: the strain is computed in a separate program and stored on disk. REFRC  may be used for asymetric reflections. TRANSQ is the only one available in the public domain. Other programs may be obtained in the case of collaborative work.

Some examples

TRANSQ is being used for the simulation of various defects such as dislocations, point defects, quasi-crystals (Mancini 1998), study of the propaga    tion of Rayleigh waves ( Mocella and al. 1998), modelization of the vibration state of piezoelectric devices (Epelboin and al. 1998).

topo1.jpg (14831 octets)

Fig. 7: Stroboscopic white beam topograph of a resonating piezoelectric device (Epelboin et al. 1998)



TRANSQ is available at

The directory contains:

TRANSQ is written in standart Fortran and will run on any Unix or other box. However it requires a rather poweful processor and a minimum memory of 100 kB. It is doubtful that it will run under Windows or Windows NT.

The makefile must be edited to adapt the options to the local Fortran compiler.

For more information, please contact the author : Yves Epelboin

Last updated 16/06/98   Y.E.

logo.gif (4798 octets) Yves Epelboin
L.M.C.P., UMR 7590 CNRS,
Université P.M. Curie,
case 115, 75252 Paris Cedex 05, France
phone: +33 01 4427 5211
fax: +33 01 4427 3785