Computer Physics Communications ELSEVIER
Computer Physics Communications 85 (1995) 398-414
SBGBBG, a program to evaluate the macroscopic strain/stress tensor of a polycrystalline sample from X-ray reflection positions T. W i e d e r * Fachhochschule Furtwangen, lnstitut fiir Innovation und Transfer, P.O. Box 3840, D-78027 Villingen-Schwenningen, Germany Received 24 May 1994; revised 26 July 1994
Abstract The evaluation of the strain/stress tensor from strain measured by X-ray diffraction requires a transformation from the sample system S to the laboratory system L. The transformation matrix A depends on the diffractometer geometry and the sample tilting. The conversion from strain to stress relies on poly-crystal elastic compliances S'op. The averaging is done about the orientation of the diffracting crystallites. The orientation distribution function ( O D F ) serves as weighting function. The computer program S B G B B G carries out these calculations.
PROGRAM SUMMARY
No. of bits in a word: 32
17tle of program: SBGBBG
No. of lines in distributed program, including test data, etc.: 8703
Catalogue number: ADAF
Keywords: X-ray diffraction, strain tensor, stress tensor, texture
Program obtainable from: CPC Program Library, Queen's University of Belfast, N. Ireland (see application form in this issue) Licensing provisions: Persons requesting the program must sign the standard CPC non-profit use licence (see licence agreement printed in every issue). Computers: IBM RS6000, VAX Operating systems: Unix, AIX, VMS Programming language used: FORTRAN 77
* E-mail:
[email protected]. 0010-4655/95/$9.50 (~) 1995 Elsevier Science B.V. All rights reserved SSDI0010-4655(94)00128-6
Nature of physical problem Residual stresses in a polycrystalline sample cause changes in lattice plane distances which result in a shift of the X-ray reflections. The reflection shift depends on the measurement direction within the sample and therefore we can utilize the shift to evaluate the residual stress, i.e. the stress tensor. Method of solution From the reflection shift we obtain the lattice strain along the measurement direction. From the set of strain values along different measurement directions (i.e. from strain values given in L), we calculate the strain/stress tensor (expressed in S) by the general transformation equation. To convert strains to stresses we use poly-crystal elastic compliances, which we calculate from the orientation distribution function (ODF) of the polycrystalline sample.
T. Wieder / Computer Physics Communications 85 (1995) 398-414
399
LONG W R I T E - U P
1. The transformation equation Residual stress measurement by X-ray diffraction in polycrystalline materials utilizes the changes in lattice plane distances caused by stress. Several right-handed coordinate systems are necessary to evaluate the full vtrain/stress tensor from the diffraction data. Since we receive the diffraction data in the laboratory system L, but we want to find the strain/stress tensor expressed in the sample coordinate system S, we have to look for a transformation matrix A which transforms from S to L. We introduce additionally the sample holder system H. In accordance with the diffractometer geometry the .~ample is tilted in a systematic manner in order to fulfil requirements of the diffractometer geometry (e.g. ,.;razing incidence of the X-rays) and to yield as much as possible different measurement directions within lhe sample. For the same reasons, the laboratory system L, given by the position of the X-ray source and the detector, that is by the scattering vector s (with s 1[ L3), may be tilted with respect to H. Fig. 1 outlines the relationships between the different coordinate systems used in this paper. M is the ~rans|brmation matrix from S to H. N is the transformation matrix from H to L. We will explain the other ~ymbols later. From Fig. 1 we see that matrix A can be written as product of N and M (1)
A = NM.
The system H has not been used explicitly in literature since in the common O~P-procedure based on BraggBrentano geometry (BBG) [ 1 ], H and L are coincident. In this case, the scattering vector s is always parallel to the H3-axis, thus N = E with E being the unity matrix. However, using grazing incidence H and L no longer coincide. In case of grazing incidence with Seemann-Bohlin geometry (SBG) [2], L is rotated about the Hi-axis, resulting in s no longer parallel to H3.
M(c,, 3. "~)
~ N(qg,, ffJ2)
C( OR, 3R, 02)
Fig. 1. T h e c o o r d i n a t e s y s t e m s S, H , L, K a n d their t r a n s f o r m a t i o n m a t r i c e s M : S ~
C:K---~L.
H, N : H ~
L, A : S --~ L, B : S ---, K, G : K --~ S,
T. Wieder/ ComputerPhysicsCommunications85 (1995)398-414
400
H3,$3
L3
reflected beam ~ncident
beam
3 H2,$2
H1,L1,SI Fig. 2. The sample system S, the sample holdersystem H and the laboratorysystemL togetherwith the incidentand reflectedX-rays and the definitionsof the tilting angles tr, fl, y, qt~, g'2. The matrices M and N are rotation matrices. In order to set them up explicitly, we have to introduce the corresponding rotation angles. We will also call these rotation angles tilting angles. Furthermore, we will use the designations 'rotation' and 'tilting' as equivalent. Fig. 2 shows the definitions of the tilting angles. M depends on the three rotation angles a, fl, y, where a is the rotation angle about $1, fl is the rotation angle about $2, and y is the rotation angle about $3. In the usual ~g'-procedure based on BBG, o~ is always equal to zero, fl --- g' and y = qo. For the q~gr-procedure based on SBG, it is ot = 0, fl = 0 and y = ~. For the geometry (SATG) described in [4], one has a = ¢e, fl = fl, y = y. Since to each rotation angle a rotation (transformation) matrix R corresponds, we obtain the transformation matrix M as product of the three rotation matrices R(a), R(fl), R(T). Because rotations in space are not commutative, we have to pay attention to the order of multiplication. For BBG, we have the following order (a,fl,y: 0,2,1), which means no rotation a at all, the first rotation is y, the second rotation is ft. Then for BBG M = R(fl)R(T), which is explicitly
(Coil
0-s~nfll
\sinfl
1 0
cosfl /
(cosy
siny cosy 0
-siny 0
!) =
(cosflcosy -siny sin/3 cosy
cosflsiny-Off / cosy . sin/3 siny cos/3 /
(2)
For SBG the order of multiplication is (a,/3,y: 0,0,1), thus no tilting tr and fl, and we have M=R(7)
=
cosy -sin7 0
sin7 cosy 0
0) 0 1
.
(3)
For SATG, as last the example, the order of multiplication is (a,/3,y: 1,2,3). Thus M = R(T) R(fl) R(a) f cos flcos ~b sintrsinflcos&+cosasinf = [-cosflsin~b -sinasinBsin~b+cosacos~b \ sin,8 - sin a cos fl
- cos a sinflcos q~ + sin a sin q~\ cosasinflsinff+sinacosq~ ] . cos a cos fl /
(4)
The matrix N depends on the three rotation (tilting) angles gq, g'2, and gq, where ~i is the rotation angle about H1, ~/'2 is about/-/2, and g'3 is about/-/3. Again the order of multiplication of the corresponding rotation matrices R(gq ), R(g'2), R(~3) is prescribed by the order of rotations. For most geometries, only tilding about
T. Wieder/ Computer Physics Communications 85 (1995) 398-414
41)1
one H-axis is applied. For a measurement by a two-dimensional detector or image plate (IP) [ 3 ], two rotations about H3 and/-/2 are necessary. If we arrange that H1 ± s (see Fig. 2), i.e. the incident radiation, the scattered radiation and the axis //2 he in a common plane, then only rotations about Ht make sense. Again we illustrate the matrix calculation by some examples. As already stated, for BBG we have no tilting of L with respect to H, thus here N is equal to the unity matrix. For SBG, we have a tilting about H1, the reflecting planes are tilted with respect to the sample surface by tae tilting angle ~1 = O - i (with i the angle of incidence). No sample tilting is required. Therefore we have the multiplication order (~1, ~2 : 1,0). Then N is for SBG (and for SATG) N = R(~t) =
(i 0
cosqtt
-sin~
0)
sinqtl cos~l
.
(5)
We are now able to transform the coordinates of the measurement direction (given by s) from S to L by the transformation matrix A given by (1) for any diffractometer geometry, provided the matrices M and N have been set up properly. We denote the measured strain, given in the laboratory system L, according to Doelle's convention [1] by e~3. As is well known [1], one can transform e~3 into the macroscopic strain tensor '~ w i t h tensor components e~:t) given in S according to / e33 =
A3kA31~kt.
(6)
In (6) and all other equations, the Einstein summation convention is valid. Thus, if in a term an index occurs ,wice, then summation via this index takes place. Since '~ has six independent components, we need at least fix independent equations of the form (6). This requirement leads to the different measurement procedures, all ~vith the intention to measure along as many as possible distinct directions within S. Calculating the macroscopic stress tensor o" from e~3 is somewhat or even quite tedious, depending on ~vhether the material under investigation is elastical isotropic or anisotropic. In the latter case, it additionally plays an important role, whether a texture is present in the polycrystalline sample. For isotropic material Hooke's law is written as (with E as the elastic modulus and ~ as the Poisson's ratio) E33 = ~l + t ' A 3kA 3tokt - ~~( A lkAllo'kt + A2kA210-kl + A3kA31O'kl).
(17)
In case of elastical anisotropy, we have to apply the elastic compliances Smnot, of the single crystal. They are given in the crystal system K, that is with respect to the crystal's axes. Since K and L need not to coincide, we have to transform the elastic compliances from K to L. We will postpone discussion on how to transform the compliances from K to L and assume this transformation to be done, resulting in elastic compliances S~,,,ot, given in L. For the moment, we consider only a single crystal. Then Hooke's law can be written as
"53 = S~311AlkallO'kl q-
(S~312 -~-
S~321)AlkA210"kl "~ (S~313
"q'- S~331) alka310-kt
+ S~322A2ka21o'kl + (S~323 + S~332)Azka3to-kl+ S~3333A3t:A3to'~t.
(8)
By taking into account 0-0 = o'ji, evaluation results in the general transformation equation for residual stress measurement by X-ray diffraction. Using single-crystal compliances, the general transformation equation would be valid only for a single crystal. According to [ 1,5], we replace the single-crystal compliances S~mnopby poly-crystal compliances S~noe. The S~nop are averages of the S~mnot, taken via the orientation of the diffracting crystallites. With them the general transformation equation, now valid for the poly-crystal, is ~!
--
l
l
l
I
l
33 -S33ijAilAj10-11 -k ( S33ijAilAj2 -b S330Ai2Ajl )0"12 -b ( S33ijAilAj3 -b S33ijAi3Ajl )0"13
402
T. Wieder / Computer Physics Communications 85 (1995) 398-414 i t +S~3ijA~Ajzcr22 + ( S~3ijAizAj3 + S~3ijAi3Aj2)o'23+ S~3ijAi3Aj30"33.
(9)
2. T h e p r e s e n c e o f t e x t u r e
This section describes the calculation of poly-crystal elastic compliances in the presence of texture for cubic material. The case of texture-free material is included. We have to carry out the averaging by the orientation distribution function (ODF) f as weighting function. If g denotes the orientation of a crystallite (i.e. of K) with respect to S, then the f is defined as [6]
AV(g_____~)_ f(g) dg, V where ,SV(g) is the volume
(10)
of all the crystailites having orientations in the range from g to Ag and V is the volume of the sample. In the following, we assume the ODF to be known (e.g. from X-ray diffraction). Furthermore, we assume that g is described by Euler angles ae, fie, Ye. Their definitions can be found in [6]. The Euler angles express the tilting of the crystal system K (its axes are given by the three lattice directions [ 100], [010[, [001] ) with respect to S. Any lattice direction [hkl] can then be found in coordinates of S by multiplying [hkl] with the orientation matrix G. For G one has [6]
( cosoteCOSye-sinotesinyeCOS,Be G=
- cos tee sin '~e - - sin R e COS'~e C O S sin o~e sin fie
,Be
sinoteCOSye+COSOtesinyeCOS,Be sinyesin,Be ) sin Re sin Ye + cos O~e COS'Ye C O S ,Be C O S O~e sin,Be - cos Re sin ,Be COS ,Be
--
• ( 11 )
In case of a textured sample, we want to know which partial sample volume contributes to the reflection. The contributing volume will depend on the texture, i.e. the orientation of the crystallites in the sample system S, and on the orientation of the scattering vector s within S. Scattering occurs when s is parallel with the direction [hkl] normal to the reflecting lattice planes (hkl). We want to find equations which allow us to calculate the Euler angles as functions of the tilting angles. According to [5] the following matrix C transforms from K to L, where (see Fig. 3) ~be is the angle between [001] and [hkl], ,Be is the angle between the projection of [hkl] onto the (100)-(010)-plane, and ~b2 is the angle of rotation about [hkl] (since all reflecting crystallites may be rotated around [hkl] ): C =
cos ~b2 sin ,Be - sin ~b2 cos ~be cos ,Be sin ~b2 sin,Be + cos ~b2 cos ~be cos ,Be sin c,be cos ,Be
- cos ~b2 cos,Be - sin 4'2 cos ~be sin,Be - sin ~b2 cos fie + cos ~b2 cos ~be sin,Be sin ~be sin ,Be
sin ~b2 sin ~be "~ - cos ~b2 sin ~be ) .
COS q~B
(12) Since we know the ~B =arccos ,Be = arccos (
(hkl)
we can calculate ~bB and ,BB from
x/h2+k 2+I 2 ~
h )
.
,
(13) (14)
For the moment, we let ~b2 assume an arbitrary but fixed value from [0, 2~]. From Fig. 1 we realize that we can calculate the transformation matrix B, which transforms from S to K, according to
B =C-ZA.
(15)
Since we have C and A at our disposal, we now gained B. Then the inverse matrix B - l transforms from K to S. Since the inverse of a rotation matrix is its transpose, we get B -1 from transposing B. Now we can give
T. Wieder/ Computer Physics Communications 85 (1995) 398-414
403
(001)
[hkl] = La
-
(010)
(too) Fig. 3. The crystal system K and the laboratory system L together with the definitions of the angles ~bs, fib, ~b2.
the coordinates of the lattice plane normal [ hkl] in S by aid of B -~ , as we can do with G. If a (hkl)-reftection occurs for a certain set of tilting angles (a,/3, y, ~1, ~'2, qr3), which may be called sample orientation, then we have to express the orientation of the reflecting crystallites with respect to S as a function of the Euler angles in order to extrapolate the corresponding ODF value. For that purpose, we equate B -1 and G B -1 = G
or componentwise
B/~ j = Gij.
(16)
Each component provides an equation to determine the Euler angles as functions of the tilting angles. Once we have the Euler angles of the reflecting crystallites, we interpolate f ( a e , fie, Ye) from tabulated values. Before averaging, we have to transform the elastic compliances from K to L. We need only those with m = 3, n = 3 according to
S;3ij = C3mC3nCiof jpSmnop.
(17)
Then the texture-weighted elastic compliances St33i) are
f2OZrS;3ij( ~)2, ~/)B, ~B) f ( ae, fie, ye)ddp2 S~3i.i = f2zr f(OLe,/3e, "ye)a~2
(~8)
According to (16), f is a function of q~2. In (18) we allow ~b2 to assume all values from [0, 27r]. The case of a texture-free sample is included with f = 1 for all crystallite orientations. The above calculation corresponds to the Reuss model [ 10], in which one assumes constant stress in all grains along a fixed direction, but with strain changing from one crystallite to the next.
3. Program structure A computer program - named SBGBBG - has been written to set up the transformation equation from measured strain e~3 to the macroscopic strain tensor '~ or stress tensor ~ (expressed in S) for an isotropic, an anisotropic or a textured polycrystalline sample. The measurement can be performed by various diffractometer geometries. SBGBBG solves the set of transformation equations, which result from the variation of the sample orientation, for the six tensor components expressed in S. Finally, it also gives the tensor components in the tensor's principal axes system T. An earlier version of SBGBBG [7] was restricted to SBG and BBG only and could not calculate poly-crystal compliances. This earlier version has been used successfully in [2,8]. The theory behind SBGBBG has been taken form [1,5,10]. Further explanations on SBGBBG are given in [7],
404
T. Brteder / Computer Physics Communications 85 (1995) 398-414
START • DATA t
SQRDC SQRSLf~ *~3PHAI[kP~I3/~ekt] l leastsquaressolutiV PHIPSI.OUT/
INTEGRAL f~" s~a,:(¢aH(¢=}d*,2 f ~ II62}a.2
AMATRIX[ CMATRIX SP331J STOP ) FFUNC Fig.4.Flowchartforstrain/stresstensorcalculation.
II
(.
further explanations about residual stress measurement on textured materials can be found in [ 11-13]. The author may be contacted via E-mail:
[email protected]. SBGBBG is to a great extend an interactive program. During the course of calculation the user has several options. Among others, SBGBBG asks for the type of calculation to be done. To evaluate a strain/stress tensor, the user proceeds as follows. (1) Choose option DATA and read in all data. (2) Choose option EVALUATION. (3) Choose option CALCULATION OF STRAIN OR STRESS TENSOR. (4) Decide whether to calculate with strain-free reflection positions or with strain-free lattice constants. (5) Decide whether to calculate the macroscopic strain or macroscopic stress tensor. (6) In the case of stress tensor calculation, decide whether to calculate with (a) E, u; (b) Sl(hkl), S2(hkl); (c) S~3,3.i,j; (d) S~,3,i,j. (7) The results are entered into file
phipsi.out. SBGBBG consists of a set of subroutines, from which we will describe only the most important. The source code contains many comments which facilitate the detailed understanding of SBGBBG.
3.1. Subroutine TERMINAL SBGBBG can be fed interactively with all data (except the ODF). This feature is useful when using SBGBBG for the first time and/or if no input files exist, since TERMINAL writes all data in the required format in the two usual input files (see FILE). However, the use of TERMINAL is rather tedious.
3.2. Subroutine FILE From the two input files The subroutine FILE reads all data (execpt the ODF). All data are in free format.
T. Wieder/ Computer Physics Communications 85 (1995) 398-414
405
3.2.1. sample.in The first file - in the following called sample.in - contains all experimental data. In particular, a description of the diffractometer geometry and the sample tilting has to be provided in sample.in. Date and sample name are written in the first two lines. Line 3 contains the wavelength (in units of nm). In line 4 the first parameter IGEO stands for the diffractometer geometry. The main calculation - namely the tensor calculation - will in any case be not affected by the value of IGEO, but some additional useful calculations (e.g. lattice constant extrapolation) will not work for IGEO = 0. At present SBGBBG recognizes only the values 1 = SBG, 2 = BBG, 0 = unknown. The user is asked to type 0 for 1GEO, if another geometry than SBG or BBG is present, the calculation of the strain/stress tensor will not be affected. The second parameter in line 3 is the diffractometer radius (in units of mm). The third in line 3 is named ICORR. If ICORR is set to 1, then a correction for radial sample displacement will be performed. At present, ICORR = 1 makes sense only for SBG, the user is asked to type 0 for other geometries. The fourth and last parameter in line 3 gives an overall estimate DELTHE for the error AO in the peak positions O. Since S B G B B G expects all reflection positions on a O-scale, DELTHE must be given on the Oscale also. For an accurate measurement, one has DELTHE = 0.01 ° deg or even smaller. Put 0.0 for DELTHE, if unknown. The fourth line describes the sample tilting as performed for the strain/stress measurement. For each of the tilting angles a number must be provided. This number represents the position of that tilting angle within the tilting sequence. The first number corresponds to a, the second to/3, the third to y, the fourth to gq, the fifth to !/t2, the sixth to !P'3. Thus the fourth line describes the tilting sequence. The sequence must be the same for all reflection measurements. A few examples will help. geometry: BBG: SBG: SATG: IP:
Line 4 0 2 10 0 0 0 0 1 10 0 1 23 1 00 02 1 02 1
In the case of BBG, first we rotate the sample about $3 by 3', then we rotate (tilt) the sample about $2 by ft. No (0) tilting about Sl is performed. Also, no tilting of L with respect to H occurs, thus three zeros for "1//'1, 1/0"2, and 1/t3. The reflection positions and the tilting angles of each reflection recording are listed in sample.in. S B G B B G considers reflections to be put together to scans. Each scan can contain several reflections (up to 15). A sample file may contain several scans (up to 15). The concept of scans is best understood by the example SBG. As described in [2] in the case of SBG, we measure for Y = 45 = const, all available (hkl)-reflections of the diffractogram (i.e. we scan the entire diffractogram). All the reflections for this @ = const, form a scan. Then we go to the next ~ = const, and collect the next scan. In all, we collect NSCAN = 6 scans with as many reflections as possible. If, for example, all scans contained four reflections, then we would gain 6 × 4 transformation equations for the tensor determination. In the more common B B G (where mostly only one (hkl) is used), we may put all reflection positions into one scan. The concept of scans is not essential for the strain/stress tensor determination. It makes no difference, how we group our transformation equations, since they form the same equation system anyway. Scans are useful for further calculations, e.g. lattice constant extrapolations. For illustration use subroutines FBA, HEXAGON, SCHERRER. However, each reflection position O ( h k l ) stands with the Miller indices h, k, l and the tilting angles together in one line:
T. Wieder/ Computer Physics Communications 85 (1995) 398-414
406
h
k
l
0
a
fl
y
~1
~F2
~Ir3
This is the basic data set for SBGBBG. All angles must be given in degrees. Please note that SBGBBG expects the reflection positions on a O-scale (not 2 0 ) . In order to make the input easier, for the particular geometries SBG and BBG, the input lines are somewhat reduced. For them only the actual tilting angles need appear. For SBG (and IGEO set to 1), if i denotes the angle of incidence and q~ is the azimuthal angle [2], we have: h
k
l
O
i
q~
For BBG (and IGEO set to 2), if ~ denotes the tilting angle [ 1 ], we have: h
k
l
O
~
q~
These input lines resemble the original meaning of 'ebb-procedure' for strain/stress measurement by X-ray diffraction. For each reflection the full width at half maximum FWHM and the integral intensity PINT are also stored in the following line.
3.2.2. standard.in The second file - we will call it standard.in - contains physical data of a stress-free standard sample. The standard sample must be of the same material as the sample. For example, a Cu powder may serve as standard for a Cu thin film. The most important information stored in standard.in is the reflection positions O0(hkl) of the stress-free sample, since the measured strain e~33(hkl) is evaluated (within subroutine STRAIN) from the equation
e~33( hkl) = - cot O0( hkl) ( O( hkl) - O0( hkl) ).
(19)
Alternatively, the Oo(hkl) are calculated by SBGBBG from the strain-free lattice constants ao, bo, co, the so-called ideal lattice constants, which are also stored in standard.in together with the elementary cell angles
ac, tic, Yc. The basic data set of standard.in is a line in the form
h
k
l
Oo
1S2(hkl)
Sl(hkl)
where ½S2(hkl) and Sl (hkl) are the X-ray elastic constants (XREC) (in units of 1/Pa) for the reflection (hkl). In favorable circumstances, the XREC have been measured from a sample under external mechanical load. The calculation of XREC while neglecting any texture is outlined in [ 10]. Including texture into the calculation of XREC results in the texture-weghted compliances (18). The transformation equation using XREC is
et33 = ½S2( hkl) A3kA310"kl + S1 ( hkl) ( AlkAllO'kt + A2kA21Orkl q- A3kA3tO'kl ) .
(20)
The file standard.in also contains the values for E, ~, and the matrix S of the elastic compliances. The tensor S (with tensor components Smnop), as used in (18), has 81 components, but they are not independent of each other [9]. Depending on the point group symmetry of the lattice, the number of independent coefficients is at most 24. Therefore, the components of Smnop can be tabulated as a 6 × 6 matrix $, which has to be listed at the end of standard.in. SBGBBG requieres a large amount of input, although not all data are needed in certain calculations. For example, if we use the elastic compliances, then we do not need the XREC. However, SBGBBG demands for them anyway during data input. If some data (e.g. XREC) are not known, then provide some dummy values, if the dummy values do not enter into the actual calculation.
T. Wieder/ Computer Physics Communications 85 (1995) 398-414
407
3.3. Subroutine PHIPSI PHIPSI is SBGBBG's main subroutine. Here the set-up of each transformation equation (according to one of the Eqs. (6), (7), (9), (20)) takes place, resulting in an equation system for the determination of the tensor components. PHIPSI solves the equation system by least-squares. Also the calculation of the texture-weighted elastic compliances is initiated by PHIPSI. PHIPSI writes its results into the file phipsi.out, the main result file.
3.4. Subroutine INTEGRAL Subroutine INTEGRAL performs the calculation of the texture-weighted elastic compliances according to (18). For that purpose it calls several further subroutines which set up the required matrices and interpolate the ODF. The amount of calculation done by INTEGRAL is great!
3.5. Subroutine FGITTER The ODF f ( a e , fie,')%) is given in a third input file, which always has the name fgitter.in. The ODF must be tabulated monotonously and equidistantly along the three coordinate axes ae-axis, fie-axis, ye-axis. The necessary tabulation ranges depend on the crystal symmetry [6], in the general case they are ae = 0 ° . . . (10 °) . . . 3 6 0 ° ,
fie = 0 ° . . . (10 °) ... 180 ° ,
Ye = 0 ° . . . ( 1 0 °) . . . 3 6 0 ° .
In FGITYER, the step widths may be different for different axes. Thus, the ODF must be given on a grid.
1END is the total number of lines in fgitter.in and has to be written into the first line offgitter.in. If one does not calculate texture-weighted elastic compliances at all, then one need not set up a file fgitter.in. The format of file fgitter.in is 1END
f(al,fll,Yl) ~2
B2
~2
f ( a2, t~2, ")/2)
aIEND BLEND YIEND f(~IEND,fl~ND,Y~ND)
4. Results Depending on what calculation has been done, certain result files will be written. The file name of an output file will contain the name of the corresponding subroutine as prefix and the suffix out. For example, after calculation of the extrapolated lattice constant for cubic material by subroutine FBA, a result file fba.out will be written. The result file phipsi.out contains the following data. The first lines contain the names of the sample and the standard. The next lines give the equation system solved by PHIPSI in numerical form. Usually one need not check the equation system, it is supplied for debugging purpose. For SBG, a calculated radial sample displacement will be printed. Its explanation is given in [2]. For a fcc lattice (if KFZ has been set to 1) the stacking fault probability asf will be estimated. Set KFZ = 0 (in line 4 of standard.in) if the lattice is not fcc or you do not want to evaluate asf. The least squares residual vector r tells something about the quality of the solution. Its components should be as small as possible. If they are greater than the components of the non-diagonalized strain/stress tensor, then the results are meaningless, probably the measurement was not accurate enough or the input was incorrect. For the strain tensor, usually r will have components of about i 1 . 0 × 10 -3 or less.
408
T. Wieder / Computer Physics Communications 85 (1995) 398-414
The strain/stress tensor is given before and after diagonalization. After diagonalization, the non-diagonal tensor elements el2, e13, e23 or oq2, oq3, o'23 should be almost equal to zero, values in the order of 1.0 × 10 -6 (for strains) or less are acceptable. The diagonal elements ell, e22, •33 or o'l l, o'22, 0"33 of the diagonalized tensors are of particular interest, since these are the principal axes values. For the strain tensor, the diagonal elements should be in the order of 5:1.0 × 10 -2 or less. If their absolute values are much greater than let us say 5.0 × 10 -2, then something went wrong. In most cases this means that one used wrong values for the ideal (strain free) lattice constants or the ideal (strain free) Bragg angles, or the measurement was not accurate enough. For the stress tensor, the stresses should not exceed the yield strength of the material. From the overall error estimate DELTHE = AO, SBGBBG calculates lower and upper absolute error bounds for the tensor components. At first, AO is subtracted from all O(hkl) and a tensor T~_) (where T stands for e or 5 ) is calculated. Correspondingly a tensor T~+) for O(hkl) + AO is computed. The actual tensor T follows from the O ( h k l ) alone, as described. Then the moduli [ T ( i , j ) - T ( i , j ) ( _ ) ] and [ T ( i , j ) - T ( i , j ) ( + ) ] are formed. The greater one of these two moduli for a given component T ( i , j ) is the component's absolute error bound. Only the diagonalized tensor T' is given with error bounds. SBGBBG also calculates the eigenvectors of the tensor. Their components are the cosines of the angles between the axes of the tensor system T and the sample system S.
5. Test run
As an example we present the data of a thin Cu film on glass, deposited by ion plating. The diffractometer used was a Huber G653 thin film diffractometer in Seemann-Bohlin geometry with grazing incidence. The standard file contains the mentioned physical data for Cu. No texture measurement could be performed. We use calculated XREC and the transformation equation (20). The following listings of the input files contain comments on the right hand side, indicated by '%'. The comments may remain in the files as input aid. The sample file: 12 Juni 1992 (with correction of Theta positions by Mo Standard) ~ DATE cgptl-4 (ion platted copper on glas, 4 microns thickness, annealed at 200C) ~ TITLE RLAM .1540510 IGEO, RADIUS, ICORR, DELTHE I 57.30000 1 0.005 IAH, IBH, IGH, IPSII, IPSI2, IPSI3 0 0 i 1 0 0 6 ~ NSCAN 5 ~ SCANDATE H, K, L, THETA, GAMMA, PHI 0 2 2 36.93015 4.00000 .00000 FWHM, PINT .17360 982.70001 H, K, L, THETA, GAMMA, PHI 1 i 3 44.82344 4.00000 .00000 FWHM, PINT .22260 97.90000 H, K, L, THETA, GAMMA, PHI 2 2 2 47.40165 4.00000 .00000 FWHM, PINT .13510 17.20000 H, K, L, THETA, GAMMA, PHI 0 0 4 58.33527 4.00000 .00000 FWHM, PINT .24090 245.80000 H, K, L, THETA, GAMMA, PHI 1 3 3 68.04777 4.00000 .00000 FWNM, PINT .31990 109.80000 SCANDATE 5 H, K, L, TMETA, GAMMA, PHI 0 2 2 36.93798 4.00000 45.00000 FWHM, PINT .10000 I00.00000 H, K, L, THETA, GAMMA, PHI 1 1 3 44.82829 4.00000 45.00000
T. Wieder/ Computer Physics Communications 85 (1995) 398-414 .10000 2 2 .10000 0 0 4 2
.10000 1
3
100.00000 47.43111 100.00000 58.34006
% FWHM, PINT
4.00000 4.00000
100.00000 3
.i0000
68.06654
4.00000
i00.00000
45.00000 % % 45.00000 % % 45.00000 % %
5 2
36.95391 100.00000
4.00000
1 3 .10000
4.00000
2
44.82475 100.00000 47.46745
.10000 0 0 4
100.00000 58.34994
0
2 .10000
I 2
2
1
4.00000 4.00000
• 10000
100.00000
3 3 • 10000
68.06891 100.00000
4.00000
90.00000 % % 90.00000 % % 90.00000 % % 90.00000 % % 90.00000 % %
5 2
36.94825
4.00000
• 10000 1 1 3
100.00000 44.83587
.10000
100.00000
2 2 .10000
36.92980 100,00000
4.00000
180.00000 % % 180.00000 % % 180.00000 % % 180.00000 % % 180.00000 % % % 225.00000 % % 225.00000 % % 225.00000 % % 225.00000 % % 225.00000 % % % 270.00000 %
4.00000
• 10000 2 2 2
100,00000 47.43830
4.00000
•10000 0 0 4 .i0000
100.00000 58.34735 I00.00000
4.00000
68.07234
4.00000
1 3 .10000 2 2 2 .10000 0 0 4
44.82824 100.00000 47.42367 100.00000 58.33023
4.00000
270.00000 %
4.00000
270.00000 %
4.00000
270.00000 %
4.00000
270.00000 %
0
2
1
3
3
.10000
100.00000
5 2
36.93769
4.00000
• 10000 1 1 3
100.00000 44.83551
4.00000
• 10000 2 2 2
100.00000 47.43399
4.00000
.10000 0 0 4 .10000
100.00000 58.33514 100.00000
4.00000
68.05332
4.00000
0
2
1
3
3
5 0 1
•10000 1
3
.i0000 % % % %
100.00000 3
68.05761
i00.00000
H, K, L, THETA, FWHM, PINT H, K, L, THETA, FWHM, PINT H, K, L, THETA, FWHM, PINT SCANDATE H, K, L, THETA, FWHM, PINT H, K, L, THETA, FWHM, PINT H, K, L, THETA, FWHM, PINT H, K, L, THETA, FWHM, PINT H, K, L, THETA, FWHM, PINT SCANDATE H, K, L, THETA, FWHM, PINT H, K, L, THETA, FWHM, PINT H, K, L, THETA, FWHM, PINT H, K, L, THETA, FWHM, PINT H, K, L, THETA, FWHM, PINT SCANDATE H, K, L, THETA, FWHM, PINT H, K, L, THETA, FWHM, PINT H, K, L, THETA, FWHM, PINT H, K, L, THETA, FWHM, PINT H, K, L, THETA, FWHM, PINT SCANDATE H, K, L, THETA, FWHM, PINT H, K, L, THETA, FWHM, PINT H, K, L, THETA, FWHM, PINT H, K, L, THETA, FWHM, PINT H, K, L, THETA, FWHM, PINT
ALL COMMENTS MAY REMAIN IN THE INPUT FILE AS AN AID. DATE = FREE COMMENT TITLE = FREE COMMENT' RLAM = WAVELENGTH [run] % IGEO = 0 -> GENERAL DIFFRACTOME~ERGEOMETKY
GAMMA, PHI GAMMA, PHI GAMMA, PHI
GAMMA, PHI GAMMA, PHI GAMMA, PHI GAMMA, PHI GAMMA, PHI
GAMMA, PHI GAMMA, PHI GAMMA, PHI GAMMA, PHI GAMMA, PHI
GAMMA, PHI GAMMA, PHI GAMMA, PHI GAMMA, PHI GAMMA, PHI
GAMMA, PHI GAMMA, PHI GAMMA, PHI GAMMA, PHI GAMMA, PHI
409
410
T. Wieder / Computer Physics Communications 85 (1995) 398-414
Z IGEO = I -> SEEMANN-BOHLIN GEOMETRY WITH GRAZING INCIDENCE
IGEO = 2 -> BRAGG-BRENTANO GEOMETRY Z IGEO = 3 -> SZPUNAR-AHLROOS-TAVERNIF~GEOMETRY
Z RADIUS = DIFFRACTOMETER RADIUS [mm] Z I C O R R = 0 -> NO CORRECTION FOR RADIAL SAMPLE DISPLACEMENT Z I C O R R = i ->
CORRECTION FOR RADIAL SAMPLE DISPLACEMENT USE ICORR = i ONLY IN CONJUNCTION WITH IGEO ffi I. DELTHE = DELTA THETA, OVERALL ERROR IN PEAK POSITIONS [deg.] IAH = POSITION OF TILTING ANGLE ALPHA IN TILTING SEQUENCE Z IAH = 0 -> NO TILTING ABOUT AXIS S_I BY ALPHA Z IAH = i -> ALPHA IS FIRST TILTING ANGLE IAH = 2 -> ALPHA IS SECOND TILTING ANGLE IAH = 3 -> ALPHA IS THIRD TILTING ANGLE IBH = POSITION OF TILTING ANGLE BETA IN TILTING SEQUENCE IBH = 0 -> NO TILTING ABOUT AXIS S_2 BY BETA IBH = i -> BETA IS FIRST TILTING ANGLE IBH = 2 -> BETA IS SECOND TILTING ANGLE IBH = 3 -> BETA IS THIRD TILTING ANGLE IGH = POSITION OF TILTING ANGLE GAMMA IN TILTING SEQUENCE IGH = 0 -> NO TILTING ABOUT AXIS S_3 BY GAMMA IGH = i -> GAMMA IS FIRST TILTING ANGLE Z IGH ffi 2 -> GAMMA IS SECOND TILTING ANGLE IGH = 3 -> GAMMA IS THIRD TILTING ANGLE IPSII = POSITION OF TILTING ANGLE PSI1 IN TILTING SEQUENCE IPSII = 0 -> NO TILTING ABOUT AXIS H_I BY PSI1 Z IPSII = i -> PSI1 IS FIRST TILTING ANGLE Z IPSII = 2 -> PSII IS SECOND TILTING ANGLE Z IPSII ffi3 -> PSII IS THIRD TILTING ANGLE IPSI2 ffiPOSITION OF TILTING ANGLE PSI2 IN TILTING SEQUENCE Z IPSI2 = 0 -> NO TILTING ABOUT AXIS H_2 BY PSI2 Z IPSI2 ffi i -> PSI2 IS FIRST TILTING ANGLE Z IPSI2 = 2 -> PSI2 IS SECOND TILTING ANGLE Z IPSI2 = 3 -> PSI2 IS THIRD TILTING ANGLE Z IPSI3 = POSITION OF TILTING ANGLE PSI3 IN TILTING SEQUENCE % IPSI3 = 0 -> NO TILTING ABOUT AXIS H_3 BY PSI3 Z IPSI3 = i -> PSI3 IS FIRST TILTING ANGLE Z IPSI3 = 2 -> PSI3 IS SECOND TILTING ANGLE IPSI3 = 3 -> PSI3 IS THIRD TILTING ANGLE FOR SBG, PUT 0 0 i i 0 0 AS THE TILTING SEQUENCE. FOR BBG, PUT 0 2 I 0 0 0 AS THE TILTING SEQUENCE. FOR IMAGE PLATE, PUT 0 2 I 0 2 I AS THE TILTING SEQUENCE. Z NSCAN = NUMBER OF SCANS (I.E. DIFFRACTOGRAMMS) Z SCANDATE = NUMBER OF REFLECTIONS IN A SCAN H, K, L = MILLER INDICES Z THETA ffiBRAGG ANGLE [IN DEG.] Z IF IGEO=O (GENERAL DIFFRACTOMETER GEOMETRY), THEN FOR EACH REFLECTION ALL TILTING ANGLES ALPHA, BETA, GAMMA, PSII, PSI2, PSI3 MUST BE GIVEN Z IN THE SAME LINE ALONG WITH H, K, L AND THETA. THUS WE HAVE AS DATA SET IN THE GENERAL CASE: Z H K L THETA ALPHA BETA GAMMA PSII PSI2 PSI3 % IF IGEO=I (SBG WITH GRAZING INCIDENCE), THEN FOR EACH REFLECTION ONLY TWO TILTING ANGLES MUST BE GIVEN, NAMELY THE INCIDENCE ANGLE I (OFTEN CALLED GAMMA OR PSI) AND THE AZIMUTHAL ANGLE PHI. Z THUS WE HAVE AS DATE SET IN THE CASE OF SBG: ZHKLIPHI IF IGEOffi2 (BBG), THEN FOR EACH KEFLECTION % ONLY TWO TILTING ANGLES MUST BE GIVEN, NAMELY THE TILTING
T. Wieder / Computer Physics Communications 85 (1995) 398-414 % ANGLE PSI AND THE AZIMUTHAL ANGLE PHI. % THUS WE HAVE AS DATE SET IN THE CASE OF BBG: H K L PSI PHI ALL ANGLES IN DEGREE. % FWHM = FULL WIDTH AT HALF MAXIMUM [IN DEG.] PINT = INTEGRAL INTENSITY [ARBITRARY UNITS]
The standard file: 3.11.93 copper, standard 1640.00 1 1 .361500 .361500 90.00000 90.00000 10 1 1 1 21.65780 0 0 2 25.22380 0 2 2 37.06170 1 1 3 44.96700 2 2 2 47.57180 0 2 3 50.19820 1 2 3 52.86960 0 0 4 58.46400 1 3 3 68.24620 0 2 4 72.34750 .11800E+12 .15000E-10 -.63000E-11 -.63000E-11 .150ODE-10 -.63000E-11 -.63000E-11 .OO000E+00 .O0000E÷O0 .00000E+00 .00000E+00 .00000E+00 .00000E+00
% % % % % %
% % % % % % % % % % % % % % %
%
% DATE % TITLE
%MUE .361500 90.00000 .94022E-11 .14566E-10 .10693E-10 .12134E-10 .94022E-11 .11266E-10 .10693E-10 .14566E-10 .10318E-10 .12088E-10 .35000E+00 -.63000E-11 -.63000E-11 .15000E-10 .00000E÷00 .00000E+00 .O0000E+00
-.22986E-II -.40201E-II -.27290E-II -.32091E-II -.22986E-II -.29200E-II -.27290E-II -.40201E-II -.26038E-II -.31938E-II .00000E+00 .00000E+00 .00000E+00 .13300E-10 .00000E+00 .00000E+00
Y. NGITTER, KFZ 7, All AI2 AI3 Y, ALPHA, BETA, GAMMA Y, NHKLSTA 7, HS KS LS THETAS S205S SIS Y, HS KS LS THETAS $205S SIS Y, HS KS LS THETAS S205S SIS Y, HS KS LS THETAS $205S SlS Y, HS KS LS THETAS S205S SIS Y, HS KS LS THETAS $205S SIS Y, HS KS LS THETAS S205S SlS Y, HS KS LS THETAS S205S SIS Y, HS KS LS THETAS $205S SlS Y, HS KS LS THETAS S205S SIS Y, EMODUL NUE O0000E+O0 .O0000E+O0 % SMATRIX O0000E+O0 .O0000E+O0 % O000OE+O0 .O0000E+O0 % O0000E+O0 .O0000E+O0 % 13300E-I0 .O0000E+O0 % O0000E+O0 .13300E-I0 % SMATRIX
COMMENTS: DATE = FREE COMMENT TITLE = FREE COMMENT MUE = LINEAR ABSORPTION COEFFICIENT [i/cm] NGITTER = LATTICE TYP N G I T T E R = i -> CUBIC, 2 -> HEXAGONAL, 3 -> MONOCLINIC, 4 -> TETRAGONAL, 5 -> ORTHORHOMBIC, 6 -> TRIGONAL, 7 -> TRICLINIC KFZ = FCC FLAG KFZ = i -> CUBIC LATTICE IS FCC KFZ = 0 OR ELSE -> CUBIC LATTICE IS NOT FCC IF KFZ = i, THEN A STACKING FAULT PROBABILITY WILL BE CALCULATED. PUT KFZ = O, IF LATTICE IS NOT CUBIC. All = FIRST LATTICE CONSTANT (OF STRAIN FREE MATERIAL) [rim] AI2 = SECOND LATTICE CONSTANT (OF STRAIN FREE MATERIAL) [rim] AI3 = THIRD LATTICE CONSTANT (OF STRAIN FREE MATERIAL) [nm] ALPHA = FIRST ELEMENTARY CELL ANGLE [Deg.] BETA = SECOND ELEMENTARY CELL ANGLE [Deg.] GAMMA = THIRD ELEMENTARY CELL ANGLE [Deg.] NHKLSTA = NUMBER 0F REFLECTIONS IN THE FILE HS KS LS = MILLER INDICES T H E T A S = BRAGG ANGLE OF STRAIN-FREE MATERIAL (STANDARD) [Deg.] $205S = X-RAY ELASTIC CONSTANT [I/Pa]
411
T. Wieder / Computer Physics Communications 85 (1995) 398-414
412
X-RAY ELASTIC CONSTANT [1/Pa] Z EMODUL = ELASTIC MODULUS [Pa] NUE = POISSON NUMER (NO UNITS) SMATRIX = MATRIX CONTAINS THE ELASTIC COMPLIANCES [1/Pa]. Z SIS=
The result file phipsi.out: * * * PHIPSI.OUT * * * * * * RESULT FILE FOR STRAIN/STRESS TENSOR CALCULATION * * *
12 Juni 1992 (with correction of Theta positions by Mo Standard) ~ DATE cgptl-4 (ion platted copper on glas, 4 microns thickness, annealed at 200C) ~ TI 3.11.93 ~ DATE copper, standard % TITLE STRESS TENSOR: CALCULATION WITH X-HAY ELASTIC CONSTANTS 1/2 $2 AND S l
NUMBER OF EQUATIONS NZ= 30 THIS FOLLOWING EOUATION SYSTEM HAS BEEN SOLVED. USUALLY ONE HAS NOTHING TO DO WITH THIS SYSTEM, SKIP IT{ A(I,1) A(I,2) A(I,3) A(I,4) A(I,5) A(I,6) STACKING_FAULTS SAMPLE_DISPLACEMENT = EPSILON(3,3) -.27290E-11 .O0000E+O0 .O0000E+O0 .43098E-12 -.97579E-11 -.35000E-01 .33893E+00 .30400E-02 -.32091E-11 .O0000E+O0 .O0000E+O0 .19765E-II -.12005E-I0 .13000E-01 .25119E+00 .25084E-02 -.22986E-11 .O0000E+O0 .00000E+O0 .21403E-11 -.93876E-11 .17000E-01 .22790E+00 .27144E-02 ... lines omitted... .21440E-11 .I0595E-18 -.93880E-11 -.22986E-11 -.11195E-18 .17000E-01 .22788E+00 .23631E-02 .55932E-11 .22927E-18 .13800E-10 -.40201E-11 -.16457E-18 -.35000E-01 .14868E+00 .14327E-02 .57396E-11 .19899E-18 -.81179E-11 -.26038E-11 -.96805E-19 -.70000E-02 .93294E-01 .13134E-02 FCC-LATTICE, POSSIBLE REFLECTION SHIFT DUE TO FAULTING HAS BEEN TAKEN INTO ACCOUNT! STACKING FAULT PROBABILITY ALPHA = .65717E-02
IN CASE OF SBG: CORRECTION FOR SAMPLE DISPLACEMENT: CALCULATED RADIAL SAMPLE DISPLACEMENT = .10422E-Olmm
THE RESIDUAL VECTOR I S : .10353E-03 -.24631E-04 .27582E-03 -.22823E-03 .17544E-04 .57523E-04
.48040E-11 .37393E-11 .26647E-11
.26610E-11 .93264E-12 -.62917E-12
T. Wieder / Computer Physics Communications 85 (1995) 398-414 ***!
413
*** THE MAIN RESULT: ***!!!***
STRESS TENSOR IN THE SAMPLE SYSTEM: STRESSES ARE IN THE SAME UNITS AS THE ELASTIC CONSTANTS 0F THE INPUT. S(I,I)= .77412E+08
S(1,2)=
-.98038E+06
S(1,3)= S(2,2) = S(2,3) = S(3,3) =
-.12700E+08 .85572E+08 -.13175E+08 -.66599E+08
STRESS TENSOR IN THE PRINCIPAL AXES SYSTEM (I. E. AFTER DIAGONALIZATION), DELTA S(I,J) IS AN ERROR ESTIMATE FROM ERROR IN PEAK P0SlTIONS: S(I,I) +- DELTA S(I,I) = .78519E+08 +.24751E+07 S(I,2) +- DELTA S(I,2) = .00000E+00 +.00000E+00 S(I,3) +- DELTA S(1,3) = -.67973E-17 +.20521E-17 S(2,2) +- DELTA S(2,2) = .86705E÷08 +.24765E+07 S(2,3) +- DELTA S(2,3) = -.69837E-08 +.12529E-08 S(3,3) +- DELTA S(3,3) = -.68840E+08 +.30494E+07
THE EIGENVECTORS ARE: i. VECTOR 2.VECTOR .99613893E+00 .13415588E-01 -.20839632E-01 .99614263E+00 -.85282564E-01 -.86717136E-01
3.VECTOR .86760752E-01 .85238203E-01 .99257600E+00
*** END ***
Acknowledgements The author gratefully acknowledges the continous support by the computer center of the University Gesamth o c h s c h u l e Kassel, in p a r t i c u l a r b y P e t e r M a n n a n d R a i n e r S c h w a r z .
References [ 1] H. D611e, The influence of multiaxial stress states, stress gradients and elastic anisotropy on the evaluation of (residual) stresses by X-rays, J. Appl. Crystallogr. 12 (1979) 489-501. [ 2 ] J. Zendehroud, T. Wieder, K. Thoma und H. G~lner, Tiefenaufl6sende r6ntgenographische Dehnungsmessung an TiN-Schichten in Seemann-Bohlin-Geometrie, H~rtereitechnische Mitteilungen 48 (1993) 41-49. [3] A. Schubert, B. K~impfe, M. Ermich, E. Auerswald and K. Tranker, Use of an X-ray imaging plate for stress analysis, Proc. EPDIC 3, Vienna (1993). 14] J.A. Szpunar, S. Ahlroos and Ph. Tavernier, Method of measurement and analysis of texture in thin films, J. Mater. Sci. 28 (1993) 2366-2376. [5] C.M. Brakman, Residual stresses in cubic materials with orthorhombic or monoclinic specimen symmetry: influence of texture on splitting and non-linear behaviour, J. Appl. Crystallogr. 16 (1983) 325-340. 16] H. Bunge, General outline and series expansion method, in: Quantitative Texture Analysis, ed. H. Bunge (DGM, Oberursel, 1986) pp. 1-72. 17] T. Wieder, SBGBBG: a computer program for strain/stress tensor calculation from X-ray diffraction data, Powder Diffraction 8 (1993) 214-215. 18l 1. Levine, W.D. Kaplan, D. Brandon and T. Wieder, Residual stresses in alumina-SiC nanocomposites, accepted for publication in Acta Metallurgica. 19] R Paufler, Physikalische Kristallographie (VCH Vedagsgesellschaft, Weinheim, 1986).
414
T. Wieder / Computer Physics Communications 85 (1995) 398-414
[10] I.C. Noyan and J.B. Cohen, Residual Stress (Springer, New York, 1987). [ 11 ] M. Barral, J.L. Lebrun, J.M. Sprauel and G. Maeder, X-ray macrostress determination on textured material; use of the ODF for calculating the X-ray compliances, Metallurg. Trans. 18A (1987) 1229-1238. 112] A. Schubert, Spannungsermittlung an texturierten Werkstoffen, in: Proc. RGntgenographische GefUgeanalyse, Binz/Insel Riigen, 25-30 November 1990 (Deutsche Gesellschafi fiir Materialkunde, Oberursel, 1991 ) pp. M 1-M 17. [ 13] W. Serruys, P. Van Houtte and E. Aemoudt, X-ray measurement of residual stresses in textured materials with the aid of orientation distribution functions, in: Residual Stresses in Science and Technology, Vol. 1, eds. E. Macherauch and V. Hauk, (Deutsche Gesellschafi fiir Materialkunde, Oberursel, 1987) pp. 417-424.