389604-4-T COMPUTATION OF THE SCATTERING BY PLANAR AND NONPLANAR PLATES USING A CONJUGATE GRADIENT FFT METHOD Timothy J. Peters and John L. Volakis Supported by: General Dynamics q t. Worth Division '.O. Box 748 Ft. Worth, TX 76101 September 1988 389604-4-T = RL-2567

389604-4-T COMPUTATION OF THE SCATTERING BY PLANAR AND NON-PLANAR PLATES USING A CONJUGATE GRADIENT FFT METHOD Timothy J. Peters John L. Volakis Radiation Laboratory Department of Electrical Engineering and Computer Science The University of Michigan Ann Arbor, Ml 48109-2122 General Dynamics Ft. Worth Division P.O. Box 748 Ft. Worth, TX 76101 Contract P04006549 September, 1988

389604-4-T COMPUTATION OF THE SCATTERING BY PLANAR AND NON-PLANAR PLATES USING A CONJUGATE GRADIENT FFT METHOD Timothy J. Peters John L. Volakis Radiation Laboratory Department of Electrical Engineering and Computer Science The University of Michigan Ann Arbor, Ml 48109-2122 September, 1988

389604-4-T COMPUTATION OF THE SCATTERING BY PLANAR AND NON-PLANAR PLATES USING A CONJUGATE GRADIENT FFT METHOD Timothy J. Peters John L. Volakis Radiation Laboratory Department of Electrical Engineering and Computer Science The University of Michigan Ann Arbor, MI 48109-2122 September, 1988

ABSTRACT COMPUTATION OF THE SCATTERING BY PLANAR AND NON-PLANAR PLATES USING A CONJUGATE GRADIENT FFT METHOD It is well known that sharp edges and corners of objects illuminated by electromagnetic radiation produce a significant secondary radiation. Unfortunately, very little is known about the mechanisms producing this phenomenon. To achieve a better understanding, it is therefore desirable to mathematically model the scattering characteristics of the simplest scatterer having both corners and edges. Such a model should, of course be amenable to analysis. The major goal of this study is to develop an efficient conjugate gradient FFT method to numerically solve for the induced current and scattered field of a material plate illuminated by an E or H polarized plane wave. Achieving an efficient algorithm requires a good understanding of both the conjugate gradient method and the computation of the FFT. A complete derivation of a conjugate gradient method and the FFT is given in the text. There are twvo basic plate configurations of interest in this study. The first is the ii

single material plate, which includes the zero thickness perfectly conducting plate, the electrically thin dielectric plate and the combination dielectric and magnetic plate. The second is the dielectric coated or combination dielectric and magnetic coated perfectly conducting plate. Computed results for surface currents and the radar cross section are given. In this thesis, a new hybrid method is proposed that combines a boundary integral method with a conjugate gradient FFT method to solve for the scattering from an object having arbitrary geometry and material composition. A synthesis algorithm for determining the material distribution of a plate yielding a certain scattering characteristic is also proposed. iii

TABLE OF CONTENTS DEDICATION................................................ ii ACKNOWLEDGEMENTS...................................... iii LIST OF FIGURES............................................. ix LIST OF TABLES............................................. xii LIST OF APPENDICES....................................... xiii CHAPTER I. INTRODUCTION................................... 1 1.1 Motivation 1.2 Literature Review 1.3 Objectives II. DERIVATION OF A CONJUGATE GRADIENT FOURIER TRANSFORM METHOD............................ 4 2.1 Introduction 2.2 B3rief Review of Linear Algebra 2.3 The Method of Conjugate Gradients 2.4 Coupled Convolution Equations 2.5 Summary III. DERIVATION A\ D COMPUTATION OF A DISCRETE FOURIER TRANSFORM US NG HIGHER ORDER INTEGRATION AND PRIME FACTORIZATION............................ 17 3.1 ntroduction 3.2 Derivation of a DFT 3.3 Higher Order Integration of 1-D Forward Transform 3.4 Higher Order Integration of 2-D Forward Transform 3.5 Numerical Considerations For Higher Order Integration 3.6 7ast Computation of a DFT Using Prime Factorization 3.7 Application to 2-D Convolution iv

3.8 Summary IV. SCATTERING FROM A SINGLE PLANAR MATERIAL PLATE. 43 ~.1 Introduction..2 Orientation of Plate and Incident Illumination -.3 Choosing the Best Formulation 4.4 -roblem Formulation For a Material Plate 4.5 Discrete Approximations of the Continuous Problem 4.6 Perfectly Conducting Plate 4.7 Thin Dielectric Plate 4.8 Thin Dielectric/Magnetic Plate 4.9 Calculation of Radar Cross Section 4.10 Summary V. SCATTERING FROM A MATERIAL COVERED PERFECTLY CONDUCTING PLATE.......................... 83 5.1 Introduction 5.2 Orientation of Plate and Incident Illumination 5.3 Problem Formulation 5.4 Dielectric Coated Perfectly Conducting Plate 5.5 Dielectric/Magnetic Coated Perfectly Conducting Plate 5.6 Calculation of Radar Cross Section 5.7 Summary VI. SURFACE CURRENTS AND RADAR CROSS SECTION........ 119 6.1 Introduction 6.2 Postulated Surface Currents on Conducting Plates 6.3 Material Distributions 6.4 Computed Spatial Domain Surface Currents 6.5 Spectral Analysis of Surface Currents 6.6 Backscatter Patterns 6.7 Three Dimensional Bistatic Patterns 6.8 Summary VII. FACTORS EFFECTING THE TERMINATION OF A CONJUGATE GRADIENT FFT METHOD APPLIED TO SCATTERING BY MATERIAL PLATES........................ 160 7.1 Introduction 7.2 Estimating Error 7.3 _igenvalues 7.4 Convergence 7.5 Summary v

VIII. DERIVATION OF A BOUNDARY INTEGRAL CONJUGATE GRADIENT FFT METHOD FOR COMPUTATION OF SCATTERING FROM AN OBJECT WITH ARBITRARY GEOMETRY AND MATERIAL COMPOSITION........................ 172 8.1 Introduction 8.2 Geometrical Formulation 8.3 Formulation of Problem 8.4 Multiple Plane Convolution 8.5 Summary IX. DERIVATION OF A MATERIAL DISTRIBUTION SYNTHESIS METHOD USING CONSTRAINED MINIMIZATION............ 186 9.1 Introduction 9.2 Placement of Nulls in the Bistatic Pattern 9.3 Controlling Bistatic Level 9.4 Controlling Backscatter Level 9.5 Extension to Arbitrary Shaped Scatterers 9.6 Summary X. CONCLUSION............................. 196 10.1 Problem Formulation 10.2 Higher Order Integration 10.3 Prime Factorization 10.4 Future Work 10.5 Summary of Author's Contributions APPENDICES.................................. 201 BIBLIOGRAPHY................................ 318 vi

LIST OF FIGURES Figure 3.1 Spatial and spectral function.............................. 19 3.2 Interpolation sinusoids for spatial or spectral domain............. 20 3.3 Space limited function with N cells......................... 22 3.4 Band limited function with N cells......................... 22 3.5 Real part of z(x) assumed at each f...................25 3.6 Two-dimensional Convolution Operations.................... 41 4.1 Plate with plane wave incidence..................... 44 4.2 Digital generation of a square, circular, or triangular plate.. 56 4.3 Integer tag array code for a circular plate.................... 57 4.4 Cell numbering for a circular plate......................... 58 5.1 Material coated perfectly conducting plate....................... 84 6.1 Equilateral triangular plate.............................. 122 6.2 Cubic triangle.............................................. 126 6.3 Conducting plate currents, a=90~,q=0~,O=00, d=2Ao, NS=55, N=120, iterations=100, residual=.00919......................... 131 6.4 Conducting plate currents, a=900~,=00,0=450, d=2Ao, NS=55, N=120, iterations=100, residual=.01489................... 132 6.5 Conducting plate currents, a=900~,=450,0=45~, d=2Ao, NS=55, N=120, iterations=100, residual=.01275......................... 133 6.6 Conducting plate currents,a=90~, q=45~,0=90~, d=2Ao0, NS=55, N=120, iterations=100, residual=.02169................... 134 6.7 Conducting plate currents,a=90~, $=0~,0=90~, d=2Ao, NS=55,N=120, iterations=100, residual=.02942................... 135 6.8 Dielectric plate currents,a=90~,q=0~,0=0~, d=2Ao, r=.0254Ao, 6r=7.4 -jl.11, NS=55, N=120, iterations=52, residual=.00001.......... 136 vii

6.9 Square plate transforms, a=90~, q=0~, 0=00, d=2o, NS=45,N=240, iterations=200, residual=.02048..................... 142 6.10 Square plate transforms, a=90~, 0=0~, 0=90~, d=2Ao, NS=45, N=240, iterations=200, residual=.03215................... 143 6.11 Triangular plate transforms, a=90~,>=0~,0=0~, d=2Ao, NS=45, N=240, iterations=200, residual=.04281..................... 144 6.12 Triangular plate transforms, a=90~,q=0~,0=90~, d=2Ao, NS=45, N=240, iterations=200, residual=.05016................ 145 6.13 Circular plate transforms, a=90~,=0~,0O=0~, ro=Ao, NS=45, N=240, iterations=200, residual=.02533..................... 146 6.14 Circular plate transforms, a = 90~,q = 0~,0 = 90~, ro = Ao, NS=45, N=240, iterations=200, residual=.02996................... 147 6.15 Perfectly conducting equilateral triangle plate: d=2Ao, NS=39, N=120, 50 iter/angle, average residual=.032.................. 150 6.16 Perfectly conducting equilateral triangle plate: d=2Ao, NS=39, N=120, 50 iter/angle, average residual=.079.................. 151 6.17 Square material plate: d=2Ao, r=.0254Ao, 6,=7.4- jl.11, r,=1.4 - j0.672, NS=39, N=120, 50 iter/angle, average residual=.0014.... 152 6.18 Square material plate: d=2Ao, r=.0254Ao, 6,=7.4- jl.11, /r=1.4 -j0.672, NS=39, N=120, 50 iter/angle, average residual=.0003.... 153 6.19 Circular dielectric plate: ro=Ao, r=.01Ao, ce=2.0 - j10.0, NS=39, N=120, 50 iter/angle, average residual=.00006............. 154 6.20 Circular dielectric plate: r=Ao, r=.01Ao, e,=2.0 - j10.0, NS=39, N=120, 50 iter/angle, average residual=.00007............. 155 6.21 Conducting square plate: d = 2Ao, di = 0~, Oi = 0~, NS=35, N=72.. 157 6.22 Conducting square plate: d = 2Ao, qi = 30~, 0i = 45~, NS=35, N=72. 158 7.1 Eigenvalues for a square plate matrix A with side=Ao, samples=7, size=98x98............................... 164 7.2 Eigenvalues for a square plate matrix B = AaA with side=Ao, samples=7........................................ 166 7.3 Asymptotic error constant..........................168 7.4 Normalized residual and backscattering cross section.............. 170 8.1 Curved material plate........................... 174 8.2 Partial decomposition of solution region.................... 176 8.3 Quadratic tetrahedral........................... 177 viii

8.4 8.5 B.1 B.2 B.3 B.4 B.5 B.6 B.7 B.8 Cross section of decomposed solution region.. Material discontinuity between triangles.... Rotation in xy and yz planes........... Sampled function in pq space........... Quadrilateral map from pq space to vxvu space. f(x,y)= sinl(x) sy) -3 < <3, -3< y < 3 f(4,r)= si 0 r, 0 r <3...... f(q$,z) = ezcos(q), 0 < < 2r,< z 3... f(,O) = cos2(20), 0 < _< 27r, 0 <0 <r.... f(q,0)= cos2(20), 0 < -, 0 0 < r............. 178.......... 181.......... 207.......... 210.......... 211.......... 213.......... 214.......... 215.......... 216.......... 217 ix

LIST OF TABLES Table 3.1 3.2 6.1 B.1 B.2 B.3 C.1 Index sequence for N =2 3 * 5 = 30...... Real multiplications and additions....... Expansion coefficients for cubic triangle..... Possible function types............... Definition of p and q coordinates......... Conversion of p and q coordinates to rectangular Single layer plate programs................ 36.... 38.... 127.... 207.... 208.... 209.... 224 coordinates coordinates. x

LIST OF APPENDICES Appendix A. Application of a Matrix Conjugate Gradient Method to the Perfectly Conducting Plate Problem.......................................202 B. Derivation of A Simple Algorithm for Plotting Functions in Rectangular, Cylindrical, or Spherical Coordinates............................206 C. Plate Programs............................................222 xi

LIST OF TABLES Table 3.1 3.2 6.1 B.1 B.2 B.3 C.1 Index sequence for N=2 * 3 * 5 = 30........ Real multiplications and additions........ Expansion coefficients for cubic triangle...... Possible function types............... Definition of p and q coordinates......... Conversion of p and q coordinates to rectangular Single layer plate programs.............. 36.. 38.. 127.. 207. 208. 209. 224 coordinates.. xii

LIST OF APPENDICES Appendix A. Application of a Matrix Conjugate Gradient Method to the Perfectly Conducting Plate Problem.....................................202 B. Derivation of A Simple Algorithm for Plotting Functions in Rectangular, Cylindrical, or Spherical Coordinates...........................206 C. Plate Programs..........................................222 xiii

CHAPTER I INTRODUCTION 1.1 Motivation It is well known that sharp edges and corners of objects illuminated by electromagnetic radiation produce a significant secondary radiation. Unfortunately, very little is known about the mechanism which produces this phenomenon. In order to better understand this phenomenon, it is desirable to mathematically model the scattering characteristics of the simplest scatterer that has both corners and edges. The model should be able to solve the analysis problem as well as the synthesis problem. The analysis problem is posed as follows. Given a particular scatterer, predict the secondary fields scattered by this object when it is illuminated by a known source. The synthesis problem is posed as follows. Given a desired scattered field, predict the material composition of the scatterer which would produce this scattered field. This motivates the study of electromagnetic scattering by thin planar material plates. 1.2 Literature Review At the present time, efficiency is still a prime concern for a numerical solution of scattering by material plates with above-resonant dimensions. This efficiency is 1

2 measured in terms of minimizing computational factors such as time, storage and cost. The purpose of this study is to develop a method which has the potential to solve a wide class of scattering problems in an efficient manner. Newman et al [1] and Naor et al [2] treat rectangular material plates, however, the basis functions are inappropriate for curved perimeters and the boundary conditions employed are not valid at edge-on incidence with H-polarization. Good results have been obtained for perfectly conducting plates by Glisson et al [3] and Rao et al [4] using triangular cells and linear basis functions. Unfortunately, these methods rely on matrix solutions which may become restrictive for a body with above-resonant dimensions. Studies on perfectly conducting wire and plate scatterers by Sarkar et al [5] and work by Christodoulou et al [6] on meshes combine the method of conjugate gradients [7]-[10] with the fast Fourier transform (FFT) [11]-[12] to solve operator equations directly without storing a large matrix. 1.3 Objectives Unfortunately, much of the analysis of plate scattering cannot be completed until the computational difficulties are overcome. The major emphasis in this study will be on the development of the tools necessary for the analysis of the plate scattering problem. The major goals are given as follows. 1. Develop an efficient numerical modeling technique using a conjugate gradient method and a FFT to solve for the induced currents and scattered fields of a material plate illuminated by a plane wave. 2. Investigate alternative computations of the discrete Fourier transform (DFT) to determine the optimal DFT for application to the scattering from material plates.

3 3. Explore the possibility of extending the method to arbitrary shape and material composition scatterers. 4. Propose an efficient means to synthesize the material distribution on an object to achieve a certain scattering characteristic. Achieving an efficient algorithm requires a good understanding of both a conjugate gradient method and the fast computation of the discrete Fourier transform (DFT) usually referred to as the fast Fourier transform (FFT). Chapter II gives a complete derivation of a conjugate gradient FFT method. Chapter III derives the DFT from the continuous Fourier transform and describes how the accuracy may be increased by using higher order integration formulas. A prime factor FFT algorithm is also derived which is used to speed up the computation of the DFT over that which can be obtained with a conventional power of 2 FFT. Two basic plate configurations are of major interest in this study. The single material plate which includes the zero thickness perfectly conducting plate and the electrically thin dielectric or combination dielectric and magnetic plate are described in Chapter IV. Chapter V extends the method described in Chapter IV to cover the dielectric or combination dielectric and magnetic material coated perfectly conducting plate. Chapter VI presents the computed surface currents and the radar cross section for various shapes and material composition. Some observations about the numerical implementation of the conjugate gradient FFT method applied to plate scattering are given in Chapter VII. Chapter VIII is a derivation of a method which combines a boundary integral method with a conjugate gradient FFT method to compute the scattering by an object of arbitrary geometry and material composition. Chapter IX presents a synthesis algorithm for determining the material distribution of a plate yielding a given scattering characteristic. Chapter X concludes with some observations about this study and future directions.

CHAPTER II DERIVATION OF A CONJUGATE GRADIENT FOURIER TRANSFORM METHOD 2.1 Introduction The conjugate gradient method was developed independently by E. Stiefel of the Institute of Applied Mathematics at Zurich, Switzerland and by M. R. Hestenes at the University of California, Los Angeles in cooperation with J. B. Rosser, G. Forsythe, and L. Paige of the Institute for Numerical Analysis, sponsored by the National Bureau of Standards. The first published documentation appeared in 1951 by Hestenes [13] and in 1952 by Stiefel [14]. In 1952 Stiefel came to the National Bureau of Standards in Los Angeles, California to help prepare a joint publication with Hestenes [7]. A bibliography of the published works of Hestenes is given by Miele [15]. The first submitted publication combining the conjugate gradient method with a Fourier transform, appears to be due to T. K. Sarkar, E. Arvas and S. M. Rao [5]. This combined method was used to solve convolution type Fredholm equations of the first kind which resulted from the problem of electromagnetic scattering from conducting bodies. Their work was an extension of the previous introduction of the FFT to electromagnetic scattering problems due to N. N. Bojarski [16]. 4

5 2.2 Brief Review of Linear Algebra Before the derivation of a conjugate gradient FFT method can be given, a brief review of some elements of linear algebra is necessary. The first concept that must be introduced is that of a linear operator. Let Az denote the operation of the linear operator A on the function z. The operation will be assumed to be linear such that A Zk=l Zn = Ek=1 Azn for all Zn. Both z and A may be considered to be complex such that z = z, + jzi and A = A, + jAi, where j = A-2-T. The operator notation Az must also be accompanied by an assumption about the domain and range of z and Az. The domain of a function is the region in which the independent variables are defined. For the purposes of this thesis, the domains of z and Az will be a finite line in one dimensional space or a finite open surface in two dimensional space. The definitions P'(z) = {xa < x < Xb}, D2(z) = {Xa < x < Xb, Ya < Y "< Yb}, V'(Az) = {xa < x < ~Xb} and V2(Az) = {xa < x Xb, a < Y <~ Yb} will be used to denote the respective domains. The range of z and Az will be defined to be the minimum and maximum values of the real and imaginary parts of z and Az. Of interest in this paper is the case where the range of z is infinite such that R(z) = {oo + joo < z < oo + joo} and the range of Az is finite such that 7Z(Az) = {Ur + jui < z < v, + JV,}. Two types of vector products will be used throughout this work. If A is an N x N matrix given by all a12 al3... alN a21 a22 A - a31 * (2.1) aN1... aNN

6 and z is the N x 1 vector given by = [z1 Z2 Z3..zN] T (2.2) then the matrix vector product Az yields the vector EN-1 alnZn EN=1 a2nZn Az = EN=i a3zn (2.3) Enl NnZn A vector vector product, sometimes called a Hadammard product [17], between two N x 1 vectors f and g is denoted by f o g and written as f2g2 f o g fg3. (2.4) fNgN Another concept that will be used extensively is the scalar inner product defined in one and two dimensions as (f, g)= Jjf(x)g*(x)w(x)dl (2.5) (f7) = / f(x, y)g*(x, y)w(x, y)ds (2.6) where the symbol * denotes the complex conjugate and w(x,y) is a real weight function. For all of the inner products expressed in this document, it will be assumed that w(x) = 1 and w(x,y) = 1. As (2.5) and (2.6) indicate, the inner product has the same domain as the component functions. A discrete inner product may be defined by first forming discrete N x 1 vectors f = [f~ fl f2... fN-1]T and

7 g = [gO gl g2... gN-1]T such that a suitable inner product could be given as N-1 (f, ) = (g)*fn. (2.7) n=O Closely related to the inner product is the Euclidean norm of a function defined by 1i112 = (2.8) Finally, the adjoint operator of A denoted by A" which is defined by the relation (Ap,q) = (p,Aaq) (2.9) for any functions p and q. 2.3 The Method of Conjugate Gradients The conjugate gradient method seeks the solution to the operator equation Az = b (2.10) where A is a non-singular operator meaning that A has an inverse denoted by A-1 and defined by the relation A-'Az = z. The solution of (2.10) also minimizes the quadratic functional I(z) = (b-Az,b-Az) = (Az, Az)- (b, Az)- (Az, b) + (b, b) = (Az, Az) - (Az, b)' - (Az, b) + (b, b) - 2 (Az,Az)-Re(Az,b) + (b,b).2 2 = 2 (z, AAz) - Re(z, Aab) + (b, )]. (2.11) The method of conjugate gradients is a general solution technique for minimizing I. Making the substitutions B = AaA, h = Aab and noting that the solution

8 is independent of the multiplicative factor 2 and the constant (b, b), the solution z = A-lb = B-lh also minimizes the function F(z) given by F(z) = (Bz, z) - Re(h, z). (2.12) Note that if A is non-singular, then B will have the following properties [17]. 1. It is Hermitian such that B = Ba. 2. It is positive definite such that (Bz, z) > 0 for z 5 0. 3. The eigenvalues are real and positive and the eigenvectors are orthogonal. The solution will be generated as z = zo + opo + alpl + a2p2 +...+- kpk (2.13) where zo is an initial guess, ak is a real positive scalar called the search amplitude and Pk is called the search vector. The expansion may be written in recursive form as Zk+l = Zk + akpk. (2.14) This yields an expression for the residual rk+l defined by rk+ = h Bzk+l = h- B(zk + akpk) rk- kBpk. (2.15) Substituting (2.14) into (2.12) yields F(zk+l) = F(zk) + k(Bpk, pk) - akRe(rk,pk). (2.16) 2 To minimize this function with respect to ak set F-=O (2.17) Oak

9 and solve for Re(rk, pk) k = (B-k,pk) (2.18) Substituting (2.18) into (2.16) yields -1 (Re(rk, pk))2 F(Zk+l) = F(zk)- - (e(rkpk) (2.19) 2 (Bpk, pk) The function decreases at each step if Re(rk, k) 5 0 and B is positive definite. However, this local minimization does not guarantee that the solution is obtained in a finite number of steps. The crux of the conjugate gradient method is that global minimization in a finite number of steps may be achieved if the search vectors pk are chosen correctly. In order to choose pk it is informative to view the minimization from a geometric point of view. The vector pk is a direction in N dimensional space. The residual vector rk+l is proportional to the difference between the exact solution and the k+lth approximation. Thus rk+ = h- Bzk+l = B(z-zk+l) (2.20) where z is the true solution vector with elements given by = [Zl Z2 Z,...,zN] (2.21) If pk is chosen such that (rk+, pk) = 0, the minimization occurs in an N-dimensional plane and since (rk+l, pk) = (rk - kBpk, pk) (rk- R P ) (rk, Pk) (Bpk, Pk) = rk,pk) - Re(rk,pk) (2.22) 0, (2.23) the inner product (rk, pk) is real. Thus, (rk+, pk) is recognized as the equation of an N-dimensional plane given by (B(z- Zk+l),pk=) -0 (2.24)

10 or alternatively written as 71z + 72Z2 + 73Z3 +.. + YNZN = P1. (2.25) This establishes the relationship between a linear equation and an N-dimensional plane. This idea may be extended to a system of equations by noting that the solution of a system of M < N equations in N unknowns is the same as finding the intersection of M N-dimensional planes. With this in mind, it can be surmised that if the search directions were generated such that (rk+l,p8) = 0 for s = 1,....,k, then at the kth iterative step the function would be minimized over the intersection of k planes. Another interpretation is that at each iteration, a least squares solution is found to a system of M equations in N unknowns. The iterative nature of the solution stems from the fact that at each step the order of the least squares solution is increased and a more accurate solution is obtained. The criterion for choosing pk may be found by expanding the product of the residual and all previous search directions yielding (rk+,Pk-1) = (rk, Pk-1) - aQk(Bpk,pk-I1) (rk+, Pk-2) = (rk-1,Pk-2) - ak-1(Bppk-1 k-2) - ak(BPk,pk-2) (rk+l,pk-_3) (rk-2,pk-3) - ak-2(Bpk-2, pk-3) - ak-1(Bpk-l,pk-3) - Qk(Bpk,Pk-3) N-1 (rk+1,Pk-N) = - ak-s(Bpk-spk-N) (2.26) 5=0 Observation of (2.25) indicates that if the method is to reach an exact solution in N iterations, the condition (Bpk, ) =0 = 0,..., k - 1 (2.27) must be enforced. Equation (2.26) is recognized as the condition for the vectors Pk to be "B-orthogonal" or "mutually conjugate". Vectors with this property may be

11 generated by the Gram-Schmidt process. Given a set of linearly independent vectors v1,..., VN a set of "B-orthogonal" vectors may be generated as Pi = Vi P2 = V2 - fllPl P3 - V3 - f21Pl - /22P2 k Pk+l = Vk+1 - kss (2.28) 3=1 where - (Bvk+1,p) (2.29) Pks = ((B --— T — (2.29) (Bp8, pS) Note that this method requires k matrix vector products for the kth iteration so it is inherently very inefficient for large k. However, if the vectors Vk are chosen to be the residuals rk, then all fik; =0 for s = 1,..., k - 1, which leaving only one matrix vector product per iteration. To show this, the relationship between residuals must be established. Taking the adjoint of (2.27) and multiplying by the residual r, yields k (rc, pk+l) = (rc, rk+l) -E ZIk.s(rc, Pa). (2.30) 5=1 When c = k +1, the products (r, ps) = 0 for s < c by virtue of (2.26), which implies (rk+l, pk+l) = (rk+i, rk+1) (2.31) and for c = k + 2,...,N, (rc, Pk+) = (rc, rk+) =0. (2.32) Therefore, the residual vectors are orthogonal such that for k? s, (r,, rk) =0. (2.33) With (2.32) established, taking the inner product of rk+1 with (2.15) and observing that - -(rk+1, r.+ - r.) = (Bark+l, P) = (Brk+l, ps) = 0 (2.34)

12 for s =1,..., k- 1 yields (rk+, rk+l) (Brk+,k) (2.35) Ckk for s = k. Thus, /ks = 0 for s = 1,..., - 1 so that the search vectors may be generated recursively as Pk+l rk+1 + (rk, rk) p (2.36) (rk+l,rk+l) The computations will be minimized if the search directions Pk are normalized with respect to (rk, rk). The algorithm, which will be referred to by this author as the "nested operator" algorithm, is expressed below. Initialize the residual and search vectors. rl = h-Bzi (2.37) 1 (r1 — (2.38) (rl, ri) Pi = /l (2.39) Iterate for k = 1,..., N. ak = (2.40) (Bpk, Pk) Zk+l = Zk + kpk (2.41) rk+1 = rk - akBk (2.42) fk (2.43) (rk+l,rk+l) (243) Pk+l = rk+1 + /kPk (2.44) Terminate at k = N or when I +1 12 < tolerance. (2.45) Excluding the initialization, this algorithm requires one operator evaluation per iteration. If the computation of B is not feasible, then by redefining the residual as

13 r = b - Az the operator may be decomposed back into the original A and A" operators. The modified algorithm referred to by this author as the "split operator" algorithm is given as follows. Initialize the residual and search vectors. ri = b-Az1 (2.46) /0 = 1 (2.47) (Aarl,Aarl) (2.47) Pi = 3oAari (2.48) Iterate for k = 1,..., N. k = 1 (2.49) (Apk, Apk) Zk+1 = Zk + CtkPk (2.50) rk+l = rk - akApk (2.51) /k = ( (2-52) (Aark+l, Aark+l) (2.52) Pk+ Pk + IkA'rk+l (2.53) Terminate at k = N or when IIrk+ 112< tolerance. (2.54) flbI 2 In this case, the magnitude of the residual will decrease at each step since it represents the actual function being minimized. Excluding the initialization, this algorithm requires two operator evaluations per iteration. 2.4 Coupled Convolution Equations Of particular importance to the author is the solution of coupled Fredholm equations of the first and second kind over a two dimensional planar region. As an example, consider the solution to the system of equations given by

14 (lZx(X, y)X- x+ I [Z(X', y) - y) + Zy(x', y')l2(x - x', y- y')] ds' = h(x, y) (2.55) giZy(x, y) + jj [z(X, y')/2( - X, y - y') + Zy(X', y'/)3(X -, y - yl)] ds' = hy(x,y) (2.56) which have the adjoint equations given by Z(X, y) + J/ [z(x', y')y(X'- x, y'- y) + zy(x', y'),*(x' -, y'- y)] ds' = hx(x,y) (2.57) lZy(, y) + [z(x, y')*(x' - x, y- y) + zy(x, y)(x' - x,y - y)] ds' = hy(x,y). (2.58) Assume the operators are not positive definite. Also assume the equations are defined and valid only over the domain of zx and zy which is D2(zX) = D2(zy) = {x, E s}. The fact that the equations are convolutions means that the matrix operators need not be computed explicitly. Rather, letting g * f denote a convolution, a well known Fourier theorem may be used which states that the convolution of two functions f and g may be computed as the inverse Fourier transform of the product of the individual Fourier transforms. The mathematical statement is given as g*f =- T- [T[g][[f]] (2.59) where F and F7-1 denote the forward and inverse two dimensional Fourier transforms defined by F[z](f,fy) = z(x, y)e-j2r(fix+fY)dxdy (2.60) -00 -00 []] L F[z](fy, fy)(, y)ej2r(fi+fY)dfy. (2.61) Throughout the rest of this thesis, the forward Fourier transform 'F[](fX, fy) will be denoted by z.

15 Assue tat he urfae i semened into a N x N array of square cells. This yieds toal f 22 Unknowns. Defining the N x 1 vectors sx,,, qx zl, rX7 PXI, 4' 1, 2,3 and the scalarsl~bi 'y,, Irl aik, 0 and 13k, a possible conjugategainaloth could be written as follows. Initialize the residuals and search vectors. - I SY I1b,112 + byj - F~11ozl+ 02oz0 - y111 4'o+ T3O0ZU~ =j +s =j +s b= F-qxo~+ a= (2.63) (2.64) (2.65) (2.66) (2.67) (2.68) (2.69) (2.70) (2.71) (2.72) (2.73) (2.74) SI -9 q _qv,yq 00 I px9y C x -1 Iterate for k =1,..., 2N. sx Sy qx qv ^f q = F11 t)4 Opk+ 3pv - k (2.75) (2.76) (2.77) (2.78) (2.79)

16 ak =;1 (2.80) k+1 k k zxY= z + kPx (2.81) k+1 rk - kq (2.82) Yr =- i k+l 1 (2.83) -l[a Ork+l + fa k+l] (2.84) Sy, -l[ k+l + 0 +l] (2.85) q= - *rk+ + S (2.86) qy= *rk + S (2.87) = - IqI2 + lIqJ 12 (2.88) / k -1 (2.89) k+1 = k +Pkqy (2.90) Terminate at k 2N2 or when. < tolerance. (2.91) The efficiency of the algorithm is critically dependent on the computation of the Fourier transforms which will be considered in the following chapter. 2.5 Summary A conjugate gradient method was derived for any non-singular linear operator equation. A specific algorithm was derived to solve Az = b if A is not positive definite, or the system Bz = h, if B is positive definite. If A or B is a convolution or a set of nested convolutions, then the Fourier transform may be used to compute the matrix vector products without explicitly forming the matrix elements. A specific algorithm was given for a set of convolution type Fredholm equations of the second kind.

CHAPTER III DERIVATION AND COMPUTATION OF A DISCRETE FOURIER TRANSFORM USING HIGHER ORDER INTEGRATION AND PRIME FACTORIZATION 3.1 Introduction The discrete Fourier transform (DFT) has been studied extensively by mathematicians, engineers and scientists for many years. The bibliography by Heideman et al [12] contains over 2000 reference papers concerning computation and application of the DFT. Much of the work has been concerned with the fast computation of the DFT commonly known as a fast Fourier transform (FFT). The purpose of this study is to investigate the possibility of developing alternative ways to compute the DFT which may increase either the accuracy or speed or a combination of both. The objective is to develop a computational procedure which is feasible for implementation with a conjugate gradient FFT method. 17

18 3.2 Derivation of a DFT The DFT and inverse DFT are approximate representations of the continuous transform pair ~(f) = z(xe-j22fxdx (3.1) -00 z(x) = L.z(f)e2j'fxdf = [ (f)e-j27 fxdf]. (3.2) ~-o00 L -00 The transform pair is assumed to be valid. The interested reader may consult Champeney [18] for a discussion of the sufficient and necessary conditions for transformability. Assume that z(x) is a complex function of bounded support such that Zr(x) + jZi(x) for Xmin < z < Xmax z(x) = - - (3.3) 0 otherwise. Under this restriction, it may be shown that there exists fmin, fmax and 6 such that IV(f)l < 6 for f > fmax and f < fmin. In a more practical sense, z(f) may be defined by (f) = zrt(f) + j-(f) for fmin f < fma () 0 otherwise. Typical spatial and spectral functions may look similar to those shown in figure 3.1.

19 Iz(x)l Xmin Xmax X ^ I(f)l fmin fmax f Figure 3.1. Spatial and spectral function. Let the spatial and spectral domains be segmented into N uniform cells of widths h Xmax -Xmin (3.5) h fmax - fmin hf = (3.6) Since the sample points are equally spaced, the cell width hx implies a resolution limit on Ifma - fminj and hf implies a resolution limit on IXmax - Xminl. These limits may be found by finding the lowest order interpolation sinusoid which passes through all the sample points. Observation of figure 3.2 indicates that for curves A, B, and C there is no ambiguity in terms of distinguishing each curve, given the set of sample values. However, curves C and D are indistinguishable, based on the sample values, and furthermore, there exists an infinite number of higher order interpolation sinusoids which pass through all the sample points. Curve C denotes the highest order interpolation sinusoid which may be distinguished from any other lower order sinusoid. The resolution

20 Figure 3.2. Interpolation sinusoids for spatial or spectral domain. limits are then determined by the spatial or spectral frequency of curve C as fmax -min =. - A7 Xmax -min,= - (3 8) which combined with (3.5) and (3.6) may be used to define a quantity called the space-bandwidth product given by hm, -. (3.9) Note that the spatial sample interval h. and the spectral sample interval hf are dependent in a reciprocal manner. This is undesirable since the error in the forward transform has the property e oc hm and the error in the inverse transform has the property ef oc hn. Assume that e. and ef are acceptable if hj; <~ 6 and hf < 862 Making h. smaller will increase N and fmx, making the forward Fourier transform more accurate but hf will remain constant. Given a fixed value of h., the accuracy of the inverse Fourier transform may be increased by appending extra cells in the spatial domain to increase N without decreasing ha. This is commonly referred to

21 as 'padding', and in general, if the number of non-zero samples is M, then the total length N of the data set should satisfy N > 2M. It is convenient to make the integration formula independent of the location of the spatial data along the x axis so making the change of variables x = u + xo and defining s(u) = z(u+xo) (3.10) -(f) = (f)ej2rf, (3.11) allows the transform integrals to be written as () = s(u)e-jUfdu (3.12) tmin S(U) = l (f)e-j2rudf (3.13) L/min Assuming an even number of cells, the spatial variable becomes UP = phu p = 0,..., N — 1 (3.14) and the spatial domain is segmented as shown in figure 3.3.

22 /\ js(u)I a 0 - - - l 0 1 i - UN-1 U Uo UM-1 Figure 3.3. Space limited function with N cells Similarly, the spectral variable becomes N N f, = vhf v = — -... 1 and the spectral domain is segmented as shown in figure 3.4. ^ IS(f)I (3.15) f~ fo 2 1 Figure 3.4. Band limited function with N cells If midpoint integration is used, the DFT pair may be given as N-1 3(q) = hE s(p)Wpq p=O g-f-1 2 s(p) = hf ~ * (q)Wpq q --- f (3.16) (3.17) where W e-. If the indices of the sequences in (3.16) and (3.17) are interpreted as storage

23 locations, the vectors s and s would appear in memory with the correspondence s(0) s(1) s(2)... s(-1)... s(N-1) 2 (3.18) S(-N)... s(-2) 5(-1) s(0) s(1) s(2)... (N - ). In order to directly overwrite s onto 5, the negative index s elements may be shifted N elements to the right which yields s(0) ) s( s(2)... s(- 1) s(N)... s(N- 1) 2 2 (3.19) s(0) s(1) 9(2)... ~(-1) 2(-T). (-1) This shift has no effect on the complex exponential since Wp(q-N) W. The conventional DFT pair may then be defined as N-1 S'(q) = E s(p)WPq (3.20) p=o 1 N-1 s(p) = N E '(q)Wpq (3.21) q=O The reader should note that the conventional DFT pair has an implicit periodicity which violates the conditions stated by (3.3) and (3.4). This may be remedied by using more accurate higher order integration formulas which yield the correct asymptotic frequency behavior. 3.3 Higher Order Integration of 1-D Forward Transform Although the accuracy of both the forward and inverse transforms may be improved using higher order integration, if the Fourier transforms are used to evaluate a convolution, in many cases it is sufficient to modify only the forward transform. This is because the integrand of an inverse transform of a convolution will be much smoother than either of its functional components. The motivation for using higher order integration may be illustrated by the following discussion. The midpoint integration used to derive the conventional

24 DFT pair implies that the entire integrand is constant over each cell. However, the cell width is chosen based on the function to be transformed not the integrand in the transform. Even if the function is constant over the cell width, the product of the function and the complex exponential becomes quite oscillatory with increasing frequency. Midpoint integration applied to a single cell yields f+2 z(x)e-j2fzxdx hz(xo)e-j2f.xo (3.22) J-A The assumption on the integrand is that over the cell, [Zr(x) + jz(x)]e-j2fx = Zr + jzo = constant. (3.23) The system of equations zr(x) cos(27rfx) + zi(x) sin(2rfx) = z0 (3.24) Zr(x) sin(2rfx) -zi(x) cos(27rfx) = -zo (3.25) may be formed and solved for the unknown real and imaginary parts of z(x) as Zr(x) = ZrOcos(2rfx) - Ziosin(27rfx) (3.26) z,(x) = zrosin(2rfx) + zo cos(2rfx). (3.27) As these equations indicate, the implied basis functions are dependent on the frequency. Thus, the approximation that the integrand is constant becomes less valid as the frequency increases. To illustrate this, let h = - such that fma = 2 = 10 and z = 1.0 +jl.O. Figure 3.5 shows the real part of z(x) at 4 frequencies.

25 1.3 0.8 -0.5 -0.3 - 0.1 -: -o- f=3 -0.4 - - f =6: =o f=10\ -0.7 - -0.9 -0.024 -0.018 -0.012 -0.006 0.000 0.006 0.012 0.018 0.024 cell width Figure 3.5. Real part of the assumed z(x) at discrete frequencies.

26 The author has chosen to approximate (3.12) using an open quadrature rule of the form N-1 s(v) h E [co(v)s(p) + al(v)su(p) + a2(V)su(p)] Wm (3.28) p=O where W = e-jN and Su, s,u denote the first and second derivatives of s. This idea was based on discussions by several authors [19]-[20] concerning integration formulas which use not only function values but also derivative values. The author has extended these ideas to integrals involving known weight functions such as the Fourier transform in one and two dimensions. This extension also involved replacing the derivatives with finite difference approximations. The choice to use an open formula type was made to allow for integrands with sharp end point singularities. The decision to expand the integrand in terms of derivatives was made in anticipation of approximating the derivatives with differences. Also, since the quadrature formula requires information at only one point, the extension to higher dimensions is much easier. The coefficients for (3.28) may be derived by extrapolating the single cell case. The derivatives may then be approximated using finite differences. This integration formula will be referred to as a weighted open finite difference (WOFD) type. Consider the integral 1, 2/ s(x)e-j2rfxdx = [aos(xo) + aCsl(xo) + a2S 0Z(x)] e-j2rfx (3.29) h JX-A where h is the cell width. The coefficients are calculated by requiring the formula to be exact for polynomials up to and including x' for n = 0, 1,2. An alternative and easier derivation of the coefficients is to integrate the interpolating polynomial over the interval. The simplest interpolation function is a Taylor polynomial expanded around each point yielding s(x) = S(xo) + (x - xo)S.(Xo) + l(x - x0)2s(Xo). (3.30)

27 By inspection, the weight coefficients are calculated from the integrals o = e-j2rfzdx (3.31) h J-h ai = xe-j2rfxdx (3.32) h J2 a2 = 2h /J2 x2e-j2flfxdx (3.33) 2 as ao = 7o (3.34) 1 al = jh^l (3.35) 2 a2 = 1h2 (3.36) where sin(ik) 7o = (3.37) 4b cos(ik) - sin(,) (3.38) 'T -.... (3.38) 4,2 - = 3 [(- 2)sin(4) + 2 cos() (3 7a2 - 3 (3.39) and, = 7rhf. Extending the single point formula to a composite formula with N points yields 1 b N-1 N-1 2 - s(x)e-j2f d ao E S(x2n)e-j2rfyn + "-1 E Sx(Xn)e-j2rfxn h n=O n=O N-1 +a2 s.x(xn)e-j2-fx. (3.40) n=O This formula now yields the exact answer for up to a quadratic variation in s(x). However, it requires 3 DFT's followed by 3 frequency products. The reader should note that if 72 is dropped, the formula is exact for a piecewise linear variation of s(x) and if 72 and 71 are dropped, the formula is exact for a piecewise constant variation of s(x).

28 Since the integral in (3.29) did not involve the derivatives of the integrand, these derivatives must be computed numerically. In order to maintain the same order as the interpolation function, the differences must be exact for up to a quadratic variation in s(x). Center, forward and backward difference formulas were derived by the author using a standard Taylor series truncation method and are given by c= 2h [s1 - l] + O(h2) (3.41) s= [4s - 3o - 2] + O(h2) (3.42) b = [3so - 4s-1 +-2] + O(h2) (3.43) = - [s - 2so + s] + O(h2) (344) = [2so - 5s1 + 4s2 - S3] + O(h2) (3.45) I h2 = [2o - 5s_1 + 4s2 - S-3] + O(h2) (3.46) where the superscripts c, f, b stand for center, forward and backward respectively. Since these derivative rules given are exact for at least quadratic functions, the entire integration formula remains exact up to a quadratic variation. It should be noted that since the derivatives are replaced by finite differences, the composite rule may be formulated to require 1 DFT with edge point corrections. This alternative was not pursued because of the difficulty of extending the edge point corrections to arbitrary perimeter two dimensional regions. 3.4 Higher Order Integration of 2-D Forward Transform The techniques for computating the one dimensional Fourier transform may be applied to the two dimensional forward and inverse Fourier transform defined by ~(f, =fy) = z(, y)e-.j2(fx+fyY)dxdy (3.47) - J-0 o0 z(x,y) = z (fx, fy) fXf d Ydf,. (3.48) J -00 J -00

29 Introducing the variables u = x - xO and v = y - yo and the quantities s(u, v) = z(u + xo, v + yo) (3.49) 9(f/, f1) = i(f fM)ej2r(fxo+fyo), (3.50) the transform pair may then be written as s(fu, f) = s(u, v)e- j2e(fuu+fvv)dudv (3.51) oo oo (u v) = s f)e2(fuu+fv)df d(3.52) Consider now the two dimensional extension of (3.29) given by 1 ~W+-kX0+h h 2h s(x,y)e-j2(fx+fyY)dxdy = [aos(xo, yo) + aix(xo, yo) + a2Sy(xo, yo) + at3as(Xo, yo) +at4sy(Xm, Yn) + atSyy(XO, YO)] e-J2(fxxo+fyY). (3.53) The coefficients may be calculated by requiring the formula to be exact for polynomials up to and including xlyk for 1 + k = 0,1,2. The integration formula expands the unknown function in a truncated Taylor series around the centroid of the square cell as s(x, y) = (x, Yo) + (x - xo)s (xo, Yo) + (y - yo)Sy(xo, Yo) +2(x - Xo)2s.(Xo, yo) + (x - Xo)(y - yo)sxy(xo, yo) + 1y - yo)2Syy(xo) (3.54) By inspection, the weight coefficients are expressed by the integrals ao = e-j2r(f+fy)dxdy (3.55) 1 2 2e-j27r(f +fy)ddy a -= 1 f - xe-j2X(fx+/Y)dxdy (3.56) a2 = L yeJ (Y)dxdy (3.57) 1/2_ eJ~("s~dd

30 T3 = 2e-j2x(fx+fyY)dxdy (3.58) 2h2 A h h a4 = xye-2(fx+fvY)dxdy (3.59) Ca5 = 2h _ y2e-j27r(f'+fy Y)ddy6 (3.60) which yield ao = f7o(b)7Yo('y) (3.61) aC = jh17i(Oz)7o( y(,) (3.62) a2 = jh17o(.)yl((Oy) (3.63) t3 = h2 72(2r)7o(Oy) (3.64) 24 a4 = -h 271(Ox)7i(7iyy ) (3.65) 24 C5 = h22470o(O)72(y) (3.66) where o = rhfx, /y = rhfy and using the -i are defined in (3.37)-(3.39). The composite Fourier transform formula is then given by - Ibds(x, y)e-j2X(fx+f.Y)dxdy = N-1 N-1 N-1 N-1 aOE E S(xm y(-)e-j2(fxm+fyyn) + a1 E E sz(Xm, yn)e-j2r(fxxm+fyYn) n=O m=O n=O m=O N-1 N-1 N-1 N-1 2 E Y(Xm yn)e-j(2r(fxm+fyyn) + (3 y E xx(Xm i Yn)e-j2~r(fzxm+fyYn) n=O m=O n=O m=O N-1 N-1 N-1 N-1 a4E E Sy(Xm, yn)e-j27r(fzxm+fyYn) + ag5 E E Syy(Xm, yn)ei27r(fxm+fyYn) n=O m=O n=O m=O (3.67) Note that this formula requires 6 DFT's plus 6 frequency products. As with the one dimensional case, the two dimensional derivatives may be approximated by differences which are exact up to the same degree as the interpolating polynomial. The following formulas were derived by the author using a truncated two dimensional Taylor series. The formulas for the approximation to the derivatives for various

31 permutations of center, forward and backward differences are given as =x T [3+,~4io -S...,o]~0 (h) (3.68) 4f I [4si,o - 3so,o - 8 2,0] + 0(h2) (3.69) 4 [3so,o - 4s,, +S8.2,0] + 0(h) (3.70) =x h [.Si,o - 2so,o + s-1,o] + 0(h) (3.71) =f 1[2so,o - 581,0 + 48 2,0 - -.53,0] + 0(h2) (3.72) =x [250,0 - 5s&.,o + 4s..2,0 - S-3,0] + 0(h) (3.73) = h 0-i (2)(.4 1 2) SY [3800' - 48o,..i + 80..] h 0h (3.76) = [4sol - 3so,o + 8,.]+0(2) (.7 SY [20,h -58,1+8,21 -O03]+0(2 (3.78) =b [2so,o - 4so,... + 4o,..2] - O0,.3 +2 0h2 (3.79) 2h2 S4 = 3s0o-8,0- 8,.. + Oh281... +2,.1+8,..2-2..2]+0h) (3.82) =f [3(80,0 - 85so,j - 480,)+2.,+8.21+8,2 - SO.2,2] + 0(h2) (3.783) 2x h2 [3(8,01.., - 8S.i +2..1,.i+.2.1 + 8....,... - 8...2,.2 + 0h(h28). Sff I 3(soo -si~o- s 2)(3.84) 3.5h Numeica ConsiderationsS1ForSHigher OrdrIterto It is inern in(o~ th formulat-Ion tha as l certai amun of efficienc ish los when2 hihe orde inerto sue-ocmueaDF.Tems2 motn usint

32 ask when incorporating higher order integration schemes is whether the improvement in accuracy is enough to justify the increase in computation. In applications where a large number of DFT computations are needed, it may not be economical to use higher order formulas. It should be noted that the method presented is not the only way to incorporate higher order integration into the computation of Fourier transform integrals. Further, the question of efficiency, as discussed by the author, applies only to the intended application. 3.6 Fast Computation of a DFT Using Prime Factorization The conventional DFT and the higher order integration formulas derived in the previous sections all require the computation of summations of the form N-1 S(q) = E z(p)WP (3.85) p=o where W = e-3~ and N = N1N2N3... Nm. The fast Fourier transform (FFT) is a fast method of performing a discrete Fourier transform (DFT). Unfortunately, it is common to refer to the direct calculation of the summation in (3.85) as a DFT and the fast computation as a FFT even though both methods are a discrete Fourier transform. The author recommends that the term DFT be used to describe the discrete approximation of the Fourier transform only up to the point of writing the formula in terms of the summation shown in (3.85) and then defining a slow Fourier transform (SFT) as the direct calculation of this summation (O(N2) multiplications), and a fast Fourier transform (FFT) (O(N) multiplications), as a fast method of performing this summation. As indicated, the FFT is a fast method of computing a summation of the form shown by (3.85). The basic strategy of computation is to map each one-dimensional index p and q onto a N-dimensional map which allows the summation to be accom

33 plished in a more efficient manner. WPq may be factored as Wpq = W q W2 q2WpW 3...WP m qm (3.86) and the single summation becomes a nested set of m, Nk point summations Nm-1 N3-1 N2-1 N1-1 S(q) = E E E z(p)WPl WP22 wJP33... WPm (3.87) Pm=O P3=0 -p2=0 pl=0 N where Wk = W Nk. The indices p and q are referred to as the input and output maps respectively. One possible mapping would be to let each factor Nk represent the base of a number system and express the input and output maps in mixed radix notation. This mapping, attributed to Cooley and Tukey [21], expresses p and q as P = Pm + NmPm-1 + Nm,-NmPm-2 + Nm-2Nm-lNmPm-3 + -.. + N2 ' NmPl q = q1 + Nlq2 + NN2q3 +... + N1.. Nm-lQm. (3.88) Note that the order of the radix expression for the output map is the reverse of the input map. Performing the multiplication pq yields N N N N pq = Plql + TP2q2 + -p3q3... PmQm + nN2puqv + cp,.q (3.89) V N2 N3 Nm where n is an integer, a is real and u Z v, r 5 s. The first m terms of (3.89) represent m, Nk point DFT's. The next term may be ignored since WnN2Puv = 1 for all n,p,q. The last term represents the cross products which are referred to as 'twiddle factors' in [22]. It is possible to avoid these twiddle factors by using a different map construction. An understanding of the prime factor algorithm requires a few introductory terms from number theory. A congruence relation is defined by assuming that a is congruent to b modulo N if a and b yield the same remainder when divided by N. The mathematical statement is written as a b (mod N). (3.90)

34 A set of integers is called mutually prime if the greatest common divisor between them is 1. The prime factor mapping is based on the following theorem. The Chinese Remainder Theorem [23] states that given a set of mutually prime integers {N1, N2, N3,... Nm}, the system of congruences x = rk (mod N) k=1,...,m (3.91) has a unique solution x (mod N). Two basic maps were suggested by Goode [24] and called the Sino and Ruritanian maps, respectively. Both of these expansions use the same map for input and output. The Sino map may be constructed by defining the input and output maps as N N N N p = L1pl + L2-p2 + L3 p3+... + Lm"pm (mod N) (3.92) NVi l2 N3 Nm N N N N q = L1q + L2 q2 + L3-q3 + + Lm qm (mod N). (3.93) NV, N2 N3 Nm These maps yield a one to one correspondence between p and {Pi, P2, P3, **, Pm} and between q and {q1, q2, q3,.., qm} if the integers L1, L2, L3,..., Lm are chosen such that Lk- 1 (mod Nk) k = 1...,m. (3.94) Nk Unfortunately, a numerical implementation of the DFT using this map will either require the solution of this set of congruences for each N or require auxiliary storage of a precomputed set. This is somewhat undesirable since speed is of prime importance. An alternative called the Ruritanian map is a special case of the Sino map where Lk = 1 for k = 1,..., m. This yields the input and output maps N N N N P = N P2 + P3 +... + Pm (mod N) (3.95) N N N N q = Nql+ 2q2 + 3q3 +. + -qm (mod N). (3.96) If W is periodic in N, W(U)N(V)N = WUV and the exponent does not have to be evaluated module N. Performing the multiplication pq yields N2 N2 N2 N2 Pq = N2Plq + P2q2 + '2P3q3 +.. -Pmq + nN2 (3.97) 2 " 3 m3

35 where nN2 represents the cross product terms which are integer multiples of N2. Wpq may now be factored as W" = (W~' )~(W2)(W)..(W~ ). (3.98) This factorization is not in the desired form because each WkP^ is raised to the power N. However, it may be shown [25]-[27] that if N-k is mutually prime to Nk, the effect of the exponent is to permute the output Nk point sequence. The correct output is found by replacing the output sequence s(ni) i = 0,...k- 1 (3.99) by the permuted sequence s(n,) r =-i- (mod Nk) for i= 0,...k-1. (3.100) It is important to note that the nested summations in (3.89) may be performed in any order independent of the mappings of p and q. It is this point that Temperton [25] overlooked which resulted in incorrect assumptions about the relative efficiencies of different mappings. The author contends that the summations may be unraveled and then summed back up in any order which is numerically convenient. As an illustration, consider the computation of a 30 point DFT which overwrites the vector s(k), k = 1 N with its Discrete Fourier transform. The prime factors of 30 are 2, 3 and 5. The computation proceeds in 3 stages as the vector s(k) is overwritten 3 separate times. The first stage consists of taking sets of 2 point DFT's, the second stage will consist of taking sets of 3 point DFT's and the third stage consists of taking sets of 5 point DFT's. By convention, the factors are arranged from smallest to largest, although mathematically, the order is arbitrary. Table 3.1 shows the map and the corresponding array element number for each stage. Stage 1 requires fifteen, 2 point DFT's, stage 2 requires ten, 3 point DFT's and stage 3 requires six, 5 point DFT's. The map indices PiP2 and p3 are arranged so that once the initial index

36 elements are computed for the beginning points of each stage, each successive set of indices may be computed by adding 1 to the previous index. stage 1 stage 2 stage 3 P1 P2 P3 P P1 P2 P3 P P1 P2 P3 P 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 16 0 1 0 11 0 0 1 7 0 1 1 17 0 2 0 21 0 0 2 13 1 1 1 2 1 0 1 22 0 0 3 19 0 2 2 3 1 1 1 2 0 0 4 25 1 2 2 18 1 2 1 12 1 1 0 26 0 0 3 19 0 0 2 13 1 1 1 2 1 0 3 4 0 1 2 23 1 1 2 8 0 1 4 5 0 2 2 3 1 1 3 14 1 1 4 20 1 0 3 4 1 1 4 20 0 2 0 21 1 1 3 14 0 2 0 21 1 2 0 6 1 2 3 24 0 2 1 27 0 0 1 7 0 0 4 25 0 2 2 3 1 0 1 22 0 1 4 5 0 2 3 9 0 1 2 23 0 2 4 15 0 2 4 15 1 1 2 8 1 0 0 16 1 0 0 16 0 2 3 9 1 1 0 26 1 0 1 22 1 2 3 24 1 2 0 6 1 0 2 28 0 0 4 25 0 0 1 7 1 0 3 4 1 0 4 10 0 1 1 17 1 0 4 10 0 1 0 11 0 2 1 27 0 1 0 11 1 1 0 26 1 0 2 28 0 1 1 17 0 2 1 27 1 1 2 8 0 1 2 23 1 2 1 12 1 2 2 18 0 1 3 29 0 0 2 13 0 0 3 19 0 1 4 5 1 0 2 28 0 1 3 29 1 2 0 6 0 1 3 29 0 2 3 9 1 2 1 12 1 1 3 14 1 0 4 10 1 2 2 18 0 2 4 15 1 1 4 20 1 2 3 24 1 2 4 30 1 2 4 30 1 2 4 30 - m, m m.. ~ Table 3.1. Index sequence for N = 2 3 5 = 30.

37 Table 3.2 shows the possible prime factors for a given N chosen from the list {2, 3,4,5,7,8,9,16} as well as the number of real multiplications and additions required to compute an N element FFT of an complex vector. The minimium number of multiplications and additions needed to compute a N element DFT was established by Winograd [28]. Assuming N has the prime factors such that N = N1N2N3... Nm, and defining the parameters ak and /3k as ak = multiplications for kth factor DFT (3.101) =k = additions for kth factor DFT, (3.102) the total multiplications and additions for N is given by m N total multiplications = E Nak (3.103) k=1 Nk total additions = N P - (3.104) k=1 k The efficiency of each N element FFT is directly related to the number of multiplications and additions. The authors's experience indicates that a floating point multiplication takes about 1.3 to 1.6 times longer than a floating point addition although this can vary considerably depending on the system. However, in general it is best to minimize the number of multiplications. Observation of the Table 3.2 indicates that odd number FFT's should be avoided such as 35, 63, 105 and 315 because they are inefficient compared to the next highest number. More values of N are possible by including higher factors. This has been explored by Johnson and Burrus [29] who derived DFT modules for 11,13,17,19 and 25.

38 - N 2 3 4 5 6 7 8 9 10 12 14 15 16 18 20 21 24 28 30 35 36 40 42 45 48 56 60 63 70 72 Factors Mult. 2 0 3 4 4 0 5 10 2.3 8 7 16 8 4 9 20 2.5 20 3.4 16 2-7 32 3.5 50 16 20 2-9 40 4*5 40 3-7 76 3.8 44 4.7 64 2-3-5 100 5.7 150 4.9 80 5 8 100 2-3-7 152 5 - 9 190 3.16 124 7.8 156 3 *4- 5 200 7-9 284 2 - 5 - 7 300 8.9 196 add. N 4 80 12 84 16 90 34 105 36 112 72 120 52 126 88 140 88 144 96 168 172 180 162 210 148 240 212 252 216 280 300 315 252 336 400 360 384 420 598 504 496 560 532 630 684 720 746 840 636 1008 940 1260 1104 1680 1264 2520 1588 5040 1172 Factors 5 16 3.4.7 3.5-7 7 16 4-5.7 93 5 16 3-7.8 4-5.9 2-3.5-7 3.5.-16 5 -4.7.9 5-7.8 5.7.9 3-7 16 5.8-9 3.4.5-7 8-7.9 5-7-16 25 -7-9 5 - 7 9 - 16 7-9.16 3.5-7-16 5-7.8-9 5-7.9-16 Mult. 260 304 380 590 396 460 568 600 500 692 760 1180 1100 1136 1340 2050 1636 1700 2360 2524 3100 4100 3940 5140 5804 8200 11540 17660 39100 Add. 1284 1536 1996 2214 2188 2076 2780 2952 2740 3492 3704 4848 4812 6064 6604 8462 7908 8308 10536 13388 14748 21964 18596 23172 29548 38888 50964 84076 182012 - Table 3.2. Real multiplications and additions.

39 3.7 Application to 2-D Convolution An application of particular interest to the author is the evaluation of 2 dimensional convolution integrals of the form rd rb I(u, v) = z(u', v)g(u - u', v - v')du'dv' (3.105) where g(u, v) is a known continuous function having a known Fourier transform and z(u,v) is a function of bounded support which is known only at discrete points. Assume that I(u, v) only needs to be computed in the domain of z(u, v). Figure 3.6 shows the various stages in the computation of the integral. Since the exponential kernel of the integral is separable, the two-dimensional DFT may be decomposed into a series of one-dimensional DFT's. Because the data set is padded, a significant savings in computation time may be achieved by avoiding any unnecessary onedimensional DFT's of sets of zeros. Figure 3.6a shows a possible domain of z(u, v) surrounded by a bounding box with M cells and padded such that N > 2M. For convenience, assume the data is stored in memory by columns. Figure 3.6b shows the data set after the row transforms have been completed. Note that half of the row transforms can be skipped since the data in those rows is zero. It is desirable to skip as many row transforms as possible since each involves manipulation of non-sequential memory elements. Figure 3.6c shows the data set after the row and column transforms. The frequency product is computed at this stage. Figure 3.6d shows the data set after the inverse column transform. The columns are inverse transformed first because the input data set has no complete rows of zeros. Note that although the inverse column transform is really not zero for the elements between M and N, these elements are not used and they may therefore be considered to be zero. Figure 3.6e represents the data set after the inverse row transforms have been completed. Note once again that half of the row transforms may be skipped.

40 It is interesting to note that every one dimensional forward or inverse transform consists of a data set where input and output are at least half zero. Experiments were performed by the author to determine whether this could be exploited. The test results indicate that if a separate algorithm is programed for each value of N, then an additional gain in the range of 5% to 8% may be obtained, depending on the value of N.

41 VN-1 TV a VN-1 TV b. 0 V0 * * *0 0 0 *0 0 0 VM1l * * 0** 0 0 0 * 0 * * 0 *0 V0 * 0 * 0 * 0 0 - fly1 N fV2 VN-1 U0 UM1I *0 0 0 0 0 0 0 * 0 0 0 * 0 0 *0 0* 0 6 0 * *. 0 0 0 0 0 * *0 0* 0 0 0 0 0 * 0 * 0 0 0 0 0 * 0 0 0 0 0 0 * *0 0* 0 * 0 - 0 f 2412 fl1 TV U f U UN-1 C f4 VN-1 VM-1 V0 fY'fly fly' Tu V *0 0 * * 0 0 0 * 0 0 0 0 * 0 0 * 0 0 S 0 * 0 0~ I d -4 fA f0 fU N- 1 -N fU f 2 fy e a- initial data b- data after.7~ c- data after F, d- data after F' e- data after Fy VAMI1 0 0 0 0 *0 0 0 * 0 0 0O 0 0 0 U -4 U0 Uml UN-1 Figure 3.6. Two dimensional convolution operations.

42 3.8 Summary The discrete Fourier transform (DFT) is derived from the continuous transform. Higher order integration formulas are derived in one and two dimensions which may be integrated into the computation of the DFT. The computational cost of the DFT may be decreased significantly by employing a different type of factorization called prime factorization. This results in an algorithm called the fast Fourier transform (FFT). The computation of a two-dimensional convolution integral is described which exploits sparcity implicit in the data.

CHAPTER IV SCATTERING FROM A SINGLE PLANAR MATERIAL PLATE 4.1 Introduction A single layer planar material plate includes the infinitesimally thin perfectly conducting plate, the electrically thin dielectric plate, and the electrically and magnetically thin combination dielectric and magnetic plate. The phrases "electrically thin" and "magnetically thin" imply that the thickness r of the plate must satisfy the relation r << AP where AP is the wavelength inside the plate. When illuminated by incident radiation, polarization currents are induced as well as conduction currents for lossy materials. These induced currents then re-radiate a field referred to as the scattered field. 43

44 4.2 Orientation of Plate and Incident Illumination The orientation of the plate is shown in figure 4.1. Hi z Ef Hz a % y x Figure 4.1. Plate with plane wave incidence. The plate is illuminated with a unit amplitude plane wave with wavelength AO = 27r, where c is the speed of light and w is the angular frequency of the incident wave. The wave is assumed to have an ejwt time dependence, where j = v/7-. Defining the position vector R as R p x + yX + zz (4.1) and the propagation vector ki as ki = -ko [sin(Oi)(cos(,oi)x + sin(ob,)y) + cos(Oi)Z] (4.2) where ko = 2j, the vector components of the incident field may be decomposed into E [(F * 0)0 + (e * )e-j(;) = [Eox + Eyoy + Ezoz] hi (4.3)

45 where Exo = cos(ai) cos(0i) cos(i) - sin(ai) sin(qi) (4.4) Eyo = cos(a,) cos(0i) sin(4i) + sin(a,) cos(qi) (4.5) E = - cos(ai) sin(O,) (4.6) and h' = e-j(;'A). The corresponding magnetic field components are computed from Hi = #ki x = [H,,o + H1o, + Hoz']hi where Hro = -[sin(ai) cos(O,) cos(,i) + cos(a,) sin(Oi)] (4.7) Zo Hyo = z[sin(ai) cos(O) sin(i,) - cos(a,) cos(o,)] (4.8) 1o Hz = - sin(a) sin(O,). (4.9) zo and Zo is the intrinsic impedance of free space. The E-polarization case, (E = 0), occurs for ai = 90~ and H-polarization, (H/ = 0), occurs for ai = 0~. 4.3 Choosing the Best Formulation There is more than one way to formulate the plate scattering problem. Different formulations may be evaluated by looking at the case of a perfectly conducting plate since the extension to material plates is straightforward. There are three basic formulations which the author deems appropriate. All three start by postulating that the total electric field denoted by ET, is equal to a incident electric field Ei plus a scattered electric field E8. The mathematical expression is written as ET = Ei + Es. Noting that the total tangential electric field is zero on the surface of the perfectly conducting plate yields the relation -E = E' which is valid on the plate surface. The incident field is assumed to be known so the three formulations will consist of different ways of writing the scattered field.

46 The scattered field may be represented by a magnetic vector potential A and a scalar potential V which satisfy the differential equations V2A + k2A = - lim(sin(az) (4.10) V2V + k2V = - lim sin(arz)) (4.11) on the plate and V2A + kA = 0 (4.12) V2V+kk2V = 0 (4.13) off the plate. The impulse response of these equations yields the Green's function given by e-jko IRI G(IRI) = II (4.14) where RI = /x2 + y2 + z2. The vector and scalar potentials are then given by the convolution of the surface current and surface charge with the impulse response of free space expressed as A = I KR(R)G(IR - R'l)d (4.15) (415 1VI P(R (R -// )ds'. (4.16) eo J Js' Introducing both the vector and scalar potential requires the solution of an additional relation V- K = - ko (4.17) known as the equation of continuity. Let method 1 consist of generating the scattered fields completely in terms of the vector potential A. The scattered field is then written as E-= -j[kA+V(VA)] (4.18) E, = Z0[0+ v(V.4A)] (4.18) kQ

47 Enforcing the condition -Es = PE and expressing each vector component explicitly in terms of surface currents yields iZo k: 2 ) Jj [KG]ds' + fS J [KG]ds' = Er (4.19).Z0 /X\ -a JTo. [Ky, G]ds'+ (ko + f jI[KG]ds' E (4.20) Let the equations for method 2 be the same as method 1 except that the derivatives are taken inside the integral as ko // K ( + G + K y G ds' = (4.21) Zjj KI a G + KG (k + ) G ds' = Es (4.22) Method 3 consists of writing the scattered field in terms of both the scalar and vector potential as E = -jZokoA - VV. (4.23) Enforcing the condition -E8 = EP as well as the equation of continuity and expressing each vector component explicitly in terms of electric surface currents and an electric surface charge yields jkoZo, [GK:]ds + -11 [GJ]ds' = E' (4.24) jkoZo, [GKI]ds' + [G ]ds' = E (4.25) a a PC Zo K + -K; + jkop. =. (4.26) ax ayX6it Although all three formulations should yield the same solution from a theoretical point of view, each has different error characteristics when implemented with a conjugate gradient FFT method. Based on the work by Peters and Volakis [30], the major source of error appears to originate at the step when the convolution integral is replaced with a forward and backward discrete Fourier transform. More specifically, since the transform maps a spatial function of bounded domain onto

48 since the transform maps a spatial function of bounded domain onto a function with an infinite spatial frequency domain, the majority of the error occurs on the inverse discrete transform step due to the truncation of the infinite spectrum. In order to understand the cause of this error, it is necessary to examine the spectrum of all the components involved in the computation. The Fourier transform of the Green's function G for large argument has the form lim F[G] oc 1- (4.27) fr -00 fr where fr = f + f Using the derivative rule, the Fourier transforms of the first and second derivatives with respect to x have the form lim F a- oc constant (4.28) fy =O,fz-o I Ox [O2G lim F - oc fX. (4.29) fy=O,fz-.oo L9x2 A similiar form appears for the first and second derivatives with respect to y as well as the cross derivatives. It is apparent that only the first derivative is bounded and neither the first or second derivative is band-limited. The fact that the second derivative increases linearly requires that the Fourier transform of each surface current have the form lim F[Ky] vc (4.30) where v > 1. Since the integral is known to exist, this condition is obviously satisfied. However, the application of the discrete Fourier transform truncates the spatial frequency domain at ifmax where fmaz = 1 and h is the spatial sample interval. If the product of the transform of the current and various transforms of operators on the Green's function is not sufficiently negligible beyond these limits, the premature truncation will cause significant error on the inverse transform. Therefore, the computation of a term like 92- G] (4.31)

49 will be significantly more accurate than computing the same term as [-1.F[Ke]F[ ]] * (4.32) The presence of the second derivative in the transform spreads out the spectrum so that the maximum spatial frequency, at which the product of the two functions is considered to be band-limited, is increased. This will increase the error on the inverse transform and is a particular characteristic of method 2. Method 3 has the lowest order derivatives which would appear to imply the highest stability of the three methods. However, this is not so because the equation of continuity (4.26) involves derivatives of the surface currents which are discontinuous functions. Use of the FFT to compute the derivatives in (4.26) will cause the same problem as with method 2 since in accordance with the derivative theorem, K; = F-1 [fC[K:]]. (4.33) Computing the derivative numerically also presents a difficult problem since the function is discontinuous at the edges. Special difference formulas would have to be derived for all possible boundary perimeters and no formulas exist which would be correct for the discontinuity. However, the derivatives in method 1 are all on the vector potential which is a continuous function. This allows center difference formulas which provide a symmetric difference matrix that is necessary for an easy calculation of the adjoint operators. Also, method 1 computes the inverse DFT with the most bandlimited functions possible and appears to shift some of the burden of error from the FFT to the difference operators. One possible drawback of method one, in comparison to method 2, is that the system of equations may take on some undesirable characteristics associated with the numerical solution of differential equations. The most notable is that the error in the differential operators is particularly sensitive to the cell width so that a smaller cell width may be required than with method 2. In terms of speed considerations, method 2 requires the least computation per

50 iteration. The computation of the difference operators in method 1 requires a slight increase in computation per iteration compared to method 2. However, it should be noted that it is possible that method 1 may require a smaller pad and may also require less iterations so that in terms of total computation, it may converge faster than method 2. Because of the added unknown in method 3, there is a significant increase in computation per iteration and because of the derivatives in the equation of continuity, there may not be a compensating increase in the convergence rate. Previous solutions of the equations using method 2 were given by Peters and Volakis [30]. This formulation was used because it was the fastest. The author has since found that the majority of the error in this solution process occurred when the convolution integrals were inversed transformed. This was not due to the discrete approximation to the continuous integral as the author previously thought, but rather, to the truncation of necessary spectral components due to the finite FFT size. Extreme padding was sometimes necessary to achieve accurate results especially at edge on incidence. In order to achieve more accurate results, method 1 will be employed throughout the rest of this thesis. The implementation of the formulation 1 requires only a slight increase in overhead due to the computation of the differences for the derivatives and hopefully, the number of iterations and the pad size may be decreased such that there is an overall gain in efficiency over method 2. 4.4 Problem Formulation For a Material Plate The formulation of the plate scattering problem begins by postulating that the total solution is equal to a known source function plus some perturbation function. For a plate illuminated by a plane wave, the total solution is the total electric or magnetic field at any point in space denoted by ET or HT respectively. The source function is the incident electric or magnetic field which is assumed to originate at an infinite distance from the scatterer. The perturbation function is the scattered

51 electric or magnetic field denoted by E' or Ha respectively, which radiates outward from the scatterer and must approach zero as the distance from the object becomes infinite. At any point in space, the fields are postulated to satisfy the relations ET - = Ei (4.34) fT-H f = Hi. (4.35) Inside the plate the total fields are directly related to the volume currents induced by the incident radiation. These volume currents are due to the material properties of the plate and are related to the permittivity e and permeability it of the material defined by e= e o o(e' -6 jE6r ) (4.36) tt= - 0/i = #o('r - jir) (4.37) where co and to are the free space permittivity and permeability respectively and Er and glr are the relative permittivity and permeability of the material. The total internal fields may be expressed in terms of electric and magnetic volume currents Je and jm as T (er (4.38) ftT - - itm. (4-39) (P,t-1)koZo For a thin material of thickness r the volume currents are proportional to surface currents KC and Km such that at the interior midpoint, -__ Zo rJe ET = -j ) lim - (c, - 1)ko 'r —o0 Zo e K (er - 1)kor ZeK (4.40) HT 1 rJm H = li- ) m Z -- - (Er - 1)koZo T-0 r

52 = (Cr - l)korZo Y Km (4.41) where the electric impedance Ze and magnetic admittance Ym are defined by Zo = -( )ko (ohms) (4.42) Ym = 1) Zo (mhos). (4.43) (Cr - l)korZo These are often referred to as the resistivity and conductivity of the layer. Note that the approximation is not dependent on the vector direction of the field and current vectors. The scattered fields may be written in terms of the magnetic A and electric F vector potentials as -Zo 1 -E = -V x F -j (V xV x A - K) (4.44) H= V x A- kZo (V x V x F- Km) (4.45) where A and F satisfy the inhomogeneous vector Helmholtz equations 1 -V2A + kA = -fK (4.46) 2F + koF = — Km. (4.47) The vector potentials are then given by the convolution of the currents with the impulse response of free space such that A = f K(')G(R - R)d' (4.48) F = /, m(RI)G(fR - RJ')ds'. (4.49) If the plate is electrically thin, the internal field components are assumed to have a constant z variation such that 9 = 0. The effective spatial wavelength inside the

53 plate is necessary to determine the electrical thickness and is given by 1 (cos(i tan-'( I"+-' ))- 1 A, = -O =-2 r, (4.50) Re ' - /(_ e-~ )2 + (6e',, + E6/')2 It is convenient for computational purposes to express the integral equations in terms of tangential variables. Therefore, the normal components E, and Hz are found directly from (4.44) and (4.45) and the tangential components are found after substituting (4.46) and (4.47) into (4.44) and (4.45). The integral equations may then be implicitly expressed as ZeK +3 (k+ ) A+ AF = E (4.51) Ze J ko 9 yA o2 A- F E8 (4.52 ZeKZKe-+ Fj + Y-J A 2 + y2 Az = Et (F) YmK +j (koo + 2 F + Fy -3 A y = H (4.54) 8a.Zo (8 8 92 YK Z jkoo a + (kF + y +- Az = HE (4.55) 1 (k~-Fi1(o F, = H. (4.54) YmK + Zay ax koZo aX 2 ay2 Z0 and the coordinates are divided by Ao, the equations may be written as rctK~ + coLlA, + coL + + L6F E = (4.57) __ a %tR y + coL2A~ + coLaAy - LsFz = Ey (4.58) rYm K+ - L6F + LsFy - oL4 A, E = (4.59) 2 77tI~m + coLF, + coL2Fy LA = Hv (4.60) 8 a t.YmKmK + - x + + IFz = Hy' (4.56) r7,,tK + coLFa + coLaF + LsA x Hy (4.61) r7mnKA + L6A, - L5Ay - coL4F H (4.62)

54 where Ll = 4r2 + 02 (4.63) 02 L2 = y (4.64) L3 = 47r2+ a2 (4.65) 02 02 L4 +2 + (4.66) L 5 a (4.67) Ox L6 = (4.68) and Ze 1 e' +j(1-er) ' et = = 2(469) Zo- 2rr. - 1)2 + (El,)2] (4.7) Zo= 1 [ -ier;(4r -1) + (e)2] r1mt = YmZO - L [j -1I(f, )] (7 1 '14 - j[#'(t4 - 1)+ (#4)2]' rfn= IYmZo - 2rr - (t4 - 1)2 + (/4)2 - (4.72) o = j 2r (4.73) The two dimensional Fourier transform and inverse Fourier transform are defined as (fy) = f j g(x, y)e-J2'(fx+fy)dxdy (4.74) j-oo A -oo g(x, y) = (f. fr)ei2r(fx+fYY)dfdfy. (4.75) The two dimensional Green's function has a Fourier transform given by e-2_ -j 1/+- for f + f 1 (4.76) 4 = r./x2 + y2; (4.72) T4rx^y2+& -1 for fI+f>y 1 and the adjoint operator is computed using the identity G = G*(-for -fy),

55 4.5 Discrete Approximations of the Continuous Problem The surface of the plate is generated based on the premise that any planar area may be approximated by a collection of square cells of dimension h. It is advisable to generate the geometry using square cells such that Ax = Ay = h because this prevents a non-uniform error in computation of the two-dimensional Fourier transform. Arbitrary perimeter geometries may be generated by passing a square array of cell centroid locations through a series of constraints which determine whether the cell is inside or outside the perimeter. This information is then stored in a square tag array which represents a digital code for the geometry. The material distribution of the plate may be constructed by assigning a constant to each cell position. Although an inhomogeneous distribution is allowed, each cell must have a constant thickness, permittivity and permeability for the formulation to be valid. Thus, the plate is composed of a collection of homogeneous blocks. Typical plate shapes may be generated as shown in figure 4.2.

56..,,..,,,- - - -."- * e ** * * ie~ e S~ ~~ e" ~ ~ ~ ~ ~ ~ ~ ~ I.-*..... - I*-I.I-II..* I.....-I-I-I LI-I- L -.....*..-.. - * 7 -::; W - Tt0y; r - -e-.e-* e'. ~ -e.I-LI* * *, I- I - I~ ~ ~.e * L. ~ ~ a =;*:- H i H *~** *-*,-,* * -- LI- I - I -L.I I I I I -i * * ~ ~. e I - LI i I I: I --- LIL III ---IL-III L............................L-L * L. * -*I. —...:e......-.. -L.:*::e: -e.:~, I-I - * - I * Ie ~...e -- e LI-.e..e...e - -.LI I LI-LI LI-LI I —L..................... -. ~ es - ~ ~-L - - X __-:e_-_e_ ~1. e LIL - ---.. L I.... I-, —..I-I.-I-I I I-.. I -I- -..:..eee. ~~ ---- **** * H H *:.: Figure 4.2. Digital generation of a square, circular, or triangular - plate., _,, - ~. ~ -- = — -: - e~ ~_ ~~ ~e ~- ~ ~ ~\ -: - - — ~ ~ ~ ~ ~ ~ ~ ~~ ~ ~ ~ ~ ee_:: -, - ee ~ e- e ~, e; ~ ~ ~ e ~ e e.9.. - ~ [l.e- ~ ~ ee.,e I - e- e l -' --:. _,-:,... = -. - - --— T C ---r CL — Figure 4.2. Digital generation of a square, circular, or triangular plte. x Because of the padding necessary for implementation of the DFT, the plate cells are only a subset of the total number of cells. In all cases, assume that the perimeter will fit within a square array of cells. The N x N array of cells then determines the surface. Figure 4.3 shows the integer code for a circular plate.

57 0 0 0 01 0 0 0 0 0 0 00 00 0 0 0 0 001rl11000000 O 011 f1 100000 011 1 t1 100000 011 1 1 100000 00O1 1 1000000 00000000000O O x Figure 4.3. Integer tag array code for a circular plate. The computational efficiency may be increased by using only one dimensional vectors. Consequently, it is convenient to use the numbering convention for the cells shown in figure 4.4.

58 y 111 112 113 114 115 116 117 118 119 120 121 100 101 102 103 104 105 106 107 108 109,1110 89 90 91 92 93 94 95 96 97 98 199 78 79 80 81 182 83 84 85 86 87 88 67 68 69 70 71 72 73 74 75 76 77 56 57 59 6 1 62 63 64 65 66 45 47,48 49,5 51 52 53 54 55 34 35 36 37 38 39 40 41 42 43 44 23 4 25 26 27 28 29 30 31 32 33 12 1 14 15 16 18 19 20 21 22 1 2 3 4 5 6 7 8 9 10 11 x Figure 4.4. Cell numbering for a circular plate.

59 The normalized discrete Fourier transform denoted by F and the normalized inverse transform F-1 have the relationship = F'-[F[z]] (4.77) The two dimensional convolution given by roo r00 h(x,y) = J z(x, y')g(x - xy-y')dx'dy' (4.78) - -00 Given a N x N size FFT array the discrete convolution appears as h = '[N2 [ o (4.79) N2 where h,z, and g are N2 x 1 size vectors. The differential operators may be approximated using center differences as sc = 2 [1,0 - s-i,o] + 0(h2) (4.80) 1 = h [slo - 2so,o + -,o] + O(h2) (4.81) = -2 [1 - 0o,-1] + O(h2) (4.82) 1 s = h2 [so,i - 2so,o + o,-] + (h2) (4.83) sc = 42i[sl - s-, + s_,-I -,_] + 0(h2) (4.84) It is convenient to define normalized difference operators as Dlo,o = h2Liso,o = 5so + (4r2h2 - 2)so,o + s-_,o (4.85) D2s0,0 = h2L2s0, = (l,l - S-1,1 + s-l,-1 - Si,-1) (4.86) D3so,o = h2L3so,o = So, + (47r2h2- 2)So,o + So,-1 (4.87) D4so,o = h2L4s0,0 = - 1, + so0, - 4So,o + S-1,0 + SO, — (4.88) Dso,o = 2hLssO, = S,0 - s-l,o (4.89) D6so0, = 2hL6so0, = so - SO,-1. (4.90)

60 4.6 Perfectly Conducting Plate The perfectly conducting plate is modeled as a zero thickness sheet with a specified perimeter. The plate is illuminated by a plane wave that induces surface currents which in turn re-radiate a scattered field. The formulation results in a pair of coupled convolution type Fredholm integral equations of the first kind which are solved by a combined conjugate gradient FFT method. 4.6.1 E and H Polarization The formulation for E-pol or H-pol results in the same coupled integral equations. The appropriate equations are coLA, + coL2Ay = E} (4.91) coL2A + coL3Ay = E. (4.92) The following is a conjugate gradient FFT algorithm developed by the author which and implemented in the Fortran program CGFCON given in appendix C. Initialize the residual and search vectors. v = (4.93) h2N2 =Ye = IIEII2 + JE 12 (4.94) q = K:e, (4.95) q,y =.F[qxy] (4.96) sy = Go q,,y (4.97) sy = '-1[s,,y (4.98) " 1,2 D,2[sx,y] (4.99) q,= v(u1 + u2) (4.100)

61 U12= D2,3 [Sx,Y] (4.101) qy= v(Ul + U2) (4.102) 1,, = E - qx~y (4.103) xty qxly = y (4.104) ql rqx,y = (4.105) =x~ G* o qx,y (4.106) =XI.F' [s x l] (4.107) U 1,2 =Dl,2[Sx,Y] (4.108) =x v*(U + U2) (4.109) =J, D2,3[Sx,y] (4.110) =y L*(Ul+ U) (4.111) /30='-.) (4.113):4,y = /oqxf (4.114) Iterate for k= 1. qxy= k(4.115) qxy= F7[qX,Y] (4.116) =x~ G o qx,y (4.117) =' Y-'[sx,y] (4.118) =1, Dl,2[Sx,y] (4.119) q = v(Ul + U2) (4.120) =1, D2,3[sx,y] (4.121) =y V(U + U2) (4.122) 7q= IIqxII2 + Iqj~~I (4123

62 cakqx,y= qx,y= sx,1, U 1,2= U1,2 -7qy k+l px,y= -1 Kx*(u + uP) rkl p3.,,l + U2)q (4.124) (4.125) (4.126) (4.127) (4.128) (4.129) (4.130) (4.131) (4.132) (4.133) (4.134) (4.135) (4.136) (4.137) (4.138) Terminate when r< tolerance. (4.139)

63 4.7 Thin Dielectric Plate The dielectric plate is modeled as a thin layer of thickness r which satisfies the relation r << Ap, where Ap is the wavelength inside the plate. The plate is illuminated by a plane wave inducing volume currents that are approximated to within a constant as surface currents. These, in turn re-radiate a scattered field. The formulation results in a pair of coupled convolution type Fredholm integral equations of the second kind which are solved by a combined conjugate gradient FFT method. The H-pol case requires the solution of an additional equation involving the component of current normal to the surface as an additional unknown. 4.7.1 E Polarization The appropriate equations are,qetK' + coLA, + coL2Ay = E' (4.140) TretKy + coL2Ax + coL3Ay Ey. (4.141) The following is a conjugate gradient FFT algorithm developed by the author and implemented in the Fortran program CGFDIE given in appendix C. Initialize the residual and search vectors. t, (4.142) h2N2 7e = IIE II +II Elli (4.143) q,y = K (4.144) qX,y = F[qxy] (4.145) Sxy = G o qx,y (4.146) Sx,y = T-1 [S,] (4.147)

64 U1,2 =D192[Is-Ty] (4.148) =x YetKr' ~u 2 (4.149) U1,2 =D2,3[Sx,y] (4.150) qy =?e~tK'e0 + v(ul + U2) (4.151) 44/, = x - qx IV (4.152) qxy = ~ (4.153) =l.F[qX,1,] (4.154) sxly = * 0 qx~ (4.155) =X? ~F'Ls-rly] (4.156) U1,2 =Dl,2[Sa,,YI (4.157) = et + v/*(Ul + U2) (4.158) U1,2 =D2,3[Sx,yI (4.159) qy t= + V*(Ul + U2) (4.160) = 2lo2~ (4.163) =0 (4.164) =l Go qx~y (4.166) q5x,y = ly(4.167) U1,2 = D1,2 [-Sx,Y (4.168) =x '7etPx +iV(U + U2) (4.169) U1,2 = D2,3 [-S, y] (4.170)

65 qy - etpy + v(ui + U2) (4.171) 72 = ll[ + llql2I (4.172) k - 1 (4.173) Ke,k+l = e,k k x,y -I,Ky + akP,y (4.174) rk4l k xr,y r k -akqxy (4.175) y - -l |kqx,y 7r =- Irk+l 112 + 1r k+ll 2 (4.176) qy = rk+l (4.177) qx,y = '[qx,y] (4.178) s,y qx,y (4.179) =sy g [] (4.180) Ul,2= D,2[xy] (4.181) q. _k+1,,. q +etx *(Ul + U2) (4.182) u1,2 D= 2,3[sx,y] (4.183) = *rk+1 + V(Ul + U2) (4.184), = Ilq ll + IIlqI:2 (4.185) /3k - 7-1 (4.186) Py pky + Pkq~,,y (4.187) Terminate when / < tolerance. (4.188)

66 4.7.2 H Polarization The H polarization case requires solution of the same equations as the E polarization case with the addition of a uncoupled solution for the normal component of current. The appropriate equations are letK + coLlAr + coL2Ay = E' (4.189) letKy + coL2A. + coL3Ay = EV (4.190) enK e-coL4Az = EZ. (4.191) The following is a conjugate gradient FFT algorithm developed by the author and implemented in the Fortran program CGFDIH given in appendix C. Initialize the residual and search vectors. v = (4.192) = - IIElIIJ + IIE II + IIE111 (4.193) q =,y, K '~ (4.194) qx,yz = '[q,y,z] (4.195) s,y,z = Go q,,y,, (4.196) Sxz -= -l[,yz] (4.197) 1,2= D1,2[sx,y] (4.198) z = TetKe0 + v(u1 + u2) (4.199) U1,2= D2,3[sx,y] (4.200) qy 7etKy' + v/(u + u2) (4.201) u1 = D4[Sz] (4.202) q = 77 nK0 -vu (4.203) Ly - q<,zyz (4.204) =II E ztylz -q~

67 qxtypz = 4,YZ (4.205) =xyt FqI (4.206) =xy~ G0 o x~ (4.207) =xyg Y'1 [s~yz (4.208) U1,2 = 2[x~l(4.209) =?l4trx + V*(Ul + U2) (4.210) U1,2 =D2,3[s,9x~] (4.211) = l t + V*(Ul + U2) (4.212) =l D4[Sz] (4.213) = r - (4.214 =z I7oqxnz (4.217) = 2 2+ 2(4.218) =0 ^ - 1(4.219) =lt Go qx,y,,z (4.220) =xy~ pk(4.2218) U1,2 =D1,2[Sx,Y] (4.222) =x 7etP~ + V'(Ul + U2) (4.223) =1, D2,3[3x,Y] (4.224) qy = Tetpy + v(u1 + u2) (4.225) = D4 S,] (4.226)

68 qz= -e~ vu1 (4.227) c- -1 (4.229) Kxt' - K;;,yz + a~kpx,,,z (4.230) r"t k+1 - - akqx,-y,z (4.231) =r lir k'II1 + Ijr k+11I2 + ijr k+ 1I12 (4.232) = k1(4.233) qx~y~z = [q~yz (4.234) s -y~ o qxy~ (4.235) 8-t-' Jc-[Ss~(4.236) U1 = D1,2[Sx,y] (4.237) qx *rk+1 +V*(Ul + U2) (4.238) =1, D2,3[-qx,yI (4.239) qy yetrky + V*(Ul + U2) (4.240) =l D4 Sz] (4.241) =z y*rk+l - j~*U1 (4.242) Yq- (4.244) k+1 k +/kxyz(4.245) pz,y,z PXYZ+kxyz Terminate when 2~< tolerance. (4.246)

69 4.8 Thin Dielectric/Magnetic Plate The dielectric and magnetic plate is modeled as a thin layer of thickness r satisfying the relation r << Ap, where Ap is the wavelength inside the plate. The plate is illuminated by a plane wave inducing both electric and magnetic volume currents that are approximated to within a constant as surface currents. These, in turn reradiate a scattered field. The formulation results in a set of coupled convolution type Fredholm integral equations of the second kind which are solved by a combined conjugate gradient FFT method. 4.8.1 E-Polarization Replacing Km by -KI so that the operators are self-adjoint yields the equations Tret'K + coL2A + coL2Ay -L6F = E= (4.247) tKy + coL2A + coL3Ay + LFz E (4.248) -lmnKm + L6A, - L5Ay + coL4F = H (4.249) 7mtKm + coL1Fx + coL2Fy = Hi (4.250) T7mtKy + coL2F + coL3Fy = H. (4.251) The following is a conjugate gradient FFT algorithm developed by the author and implemented in the Fortran program CGFDME given in appendix C. Initialize the residual and search vectors. CO 1 v h2N2 (4.252) 2 = h (4.253) 2hN2 E.l = IIEJIt+IEIllI2 (4.254) 7 ImIHi112 + II H, I 2 + \IIHtII2 (4.255)

70 =~ X (4.256) =tl tl (4.257) mII XI(4.259) s~ =G0(4.260) m m SXIYZ Go q~Y~z(4.261) x,y X' (4.262) XY x,y tzz (4.263) =1, Dl,2[S"Y] (4.264) =3 D6[SZ'M (4.265) =x' TetK"'0 + vl(ul + U2) -V2U3 (4.266) =1, D3SXI (4.267) U3 =D,[,gm] (4.268) =?lt' + Vl(Ul + U2) + V2U3 (4.269) =1, D1,2[Is mIy (4.270) m =' IU 2 q x 7 mt~ x(4.271) =1, D2,3[SMV] (4.272) = T7mtK~' + +u2 +Vl(Ul 2 (4.273) =1, D6,5[S e,]j (4.274) =3 D4[SM'] (4.275) = T77mnKJ' + V2(Ul -U2) + vIu3 (4.276) = x - xe (4.277) =' Hxy~ - qm(4.278)

71 q,y = re (4.279) qm rml (4.280) qy = r[q,y] (4.281) qY,,z= F'[qy,z] (4.282) s-y G*o q (4.283) sy G q,yz (4.284) Sxy y] (4.285) m Sy- - =x,yz (4.286) 1,2 D1, 2 D I2[sXy] (4.287) us D6[sz ] (4.288) e = e, (u — / q = 7tr' + I*(U1 + U2) -2U3 (4.289) l,2= D2,3[sexy] (4.290) U3 D5[sm] (4.291) y 7,try' + v;("U + U2) + V2"3 (4.292) 1,2 D1,2[s,] (4.293) qx = = mtr + V;(Ul + u2) (4.294) U1,2 = D2,3[Smy] (4.295) qm r= lr1 + -4(Ul + u2) (4.296) U1,2 D6,5[sey] (4.297) U3 D- 4[zM] (4.298) qr = -7rmn'1 + V2(Ul - U2) + VU3 (4.299),qe = Ilqlj + IIqe 12 (4.300)?qm = I 2qmil[j+ lqi2 + [qmz12 (4.301) x ~~2 y2 2

72 =0 (~Yqe + Yr>'(4.302) = /o'~, (4.303) =m~ Poq~,(4.304) Iterate k =11. =e e (4.305) - M~ (4.306) e e Go ~ qY (4.307) m _ se G o qey(4.3109) sm __ r — qrmlY. LXyZJ(4.312) = D,[se] (4.313) = D ['s m (4.314) =1, D12,[se,~ (4.316) =3 D6[SM'] (4.317) qxe =, et"k+ V1(Ul + U2)+V2U3 (4.318) =3 D5,[SMjI (4.319) =e mk (4.320) ' lrntPy' + Vl(U + U2) +VU =1, D2,3[sm] (4.321) = m~k (4.322) 'irnmtPy + VI(U + U2) =1, D e,4,] (4.323)

73 U3= D4[s3'] (4.324) zm = m~k - +~ -7mnPz I+ v'2(Ul U2) + I3(4.325) = xI~I + IyqI2 (4.326) ""Iqm = IqmII2 +llqmII2 + II JII (4.327 CA;= (yqe + yqmnY (4.328) Kxe,k+l = e,k + kpe;; (4.329) K M,k+l K m k + M,k 430 re~kl rek e(4.330) = - X kq (4.331) r ~~ Mk-C (4.332) 7re = Ir~k+l1II2 + lir e~k+ 1II2 (4.333) 7rm r IrIkII~ I~rm +1I~ I~rm 'I~(4.334) qe r~k~l(4.335) -xyt rM,k+l (4.336) =xl Ff~q x] (4.337) =Y~ Y Y2,j (4.338) S~ =~ (4.339) Xm * q (4.340) see Sl =q~ (4.341) m =,t XtZ (4.342) =1, D1,2 [4, (4.343) =3 D6[Sm'] (4.344) = et + V'*(Ul + U2) -V2U3 (4.345) = 2,3[s Y] (4.346)

74 = D,[smj] (4.347) = r,gtr ky + V*(Ul + U2) + V'2U3(438 =1, D12S(4.349) q 7m=~ trxjk~ + V*(Ul + U2) (4.350) =1, D2,3[SM~ (4.351) qf = 7imtr ~+l +V*(Ul + U2) (4.352) =1, D6,5(S,] (4.353) =3 D4[SM] (4.354) =M -7i nr M~k+1 + V2(U1 - U2) + V*'U (4.355) qe= IIqejII2 + IlqejI1 (4.356) jjmj12qm =11 + jmj1 (4.357) /3k = QYqe + 'qm)- (4.358) e~k+1 e,k e (4.359) mkl IC+1m (4.360) =XYI pxy + gkx~ Terminate when 7re+"frm < tolerance. (4.361) 'fe +7'M

75 4.8.2 H-Polarization Replacing K, by -K, so that the operators are self-adjoint yields the equations?7mtK + coLF + coL2Fy + L6Az = H= (4.362) 7,mtKm + coL2F, + coL3F - L5A, = Hy (4.363) -rlenKzL - L6F + L5Fy + coL4Az - Ez (4.364) T7etKe + coLlA + coL2Ay = E4 (4.365) 27etKe + coL2A, + coL3Ay E. (4.366) The following is a conjugate gradient FFT algorithm developed by the author and implemented in the Fortran program CGFDMH given in appendix C. Initialize the residual and search vectors. CO h2N2 (4.367) v2 = (4.368) 2hN2 -m = IIH1+ IIHI12 (4.369) 7e 2 JE' 112 ' +E' 112 e IEI + |IEII1 + IIE'12 (4.370) q = Km, (4.371) qey - Ko (4.372) q,y = [qy (4.373),y,, =,y,] (4.374) s,y = Goq, (4.375) s,,Z = G o,y (4.376), - fl[sm ] (4.377) e,y = -1[y,] (4.378) u1,2 Dl,2[sMy] (4.379)

76 =3 D6[Se] (4.380) =m 1mtKj + Vl(Ul + U2) + V2U3 (4.38 1) =1, D3[M (4.382) =3 D5[se] (4.383) = Tlt"0+ Vl(Ul + U2) -V2U3 (4.384) =1, D1,2[SeX]Y (4.385) =e e~K'0 + Vl(Ul + U2)(436 =1, D2,3[Se',Y] (4.387) =e q i~Ky'0 + vJ(Ul + U2) (4.388) =1, D6,5 [s m]l (4.389) U3 =D4[Se]z (4.390) = -77en K0 V2 (Ul -U2) + Vlu3 (4.39 1) rM'l Hx' - qm x,y X (4.392) =XYI Ex'o - xef (4.393) X~y (4.394) qe =r e, xly~z XPYIZ(4.395) q~m' F~q~y](4.396) = YP (4.397) 8&,y =G~ql (4.398) se =G* oxe~ X,1,,z (4.399) S~ =F-[ym (4.400) S,, = ~z (4.401) =I, DI,2[Smy] (4.402)

77 U3 = D6[s,] (4.403) qx = /mtrx + vl(u1 + u2) + V2u3 (4.404) U1,2 = D2,3[s] (4.405) U3 = Ds[se] (4.406) qy= Imtry + vl(ul + u2) - V2U3 (4.407) U1,2 = D1,2[sS] (4.408) q = r7tr' + v'(u1 + u2) (4.409) U1,2 - D2,3[,] (4.410) q= 1tr + v(Ul + U2) (4.411) U1,2= D6,5[smy] (4.412) U3 D4[s$] (4.413) - = -7z v2(U - 1 2) + 11U3 (4.414) 7m = IlqII2 + + lqml12 (4.415) 7qe = |IqxI2 + IqI112 + IIqeIIJ2 (4.416) =0 (7qm + qe)1 (4.417) pl - y (4.418) pl0 q=, (4.419) Px,y,z /o, ya (4.419) Iterate for k = 1,.... qmy = pmk (4.420) q,y, P (4.421) q -. [qy] (4.422) q,~,~ =.[qy,z] (4.423) s =- G o q (4.424) se, = G oq (4.425) =~l G,t

78 =' F-lys (4.426) se -lrei.5YI F LXY'zJ (4.427) =1, D1,2[ ST, y] (4.428) =3 D6[Se-] (4.429) TlrnmtPx + iVl(Ul + U2) + V/2U3 (4.430) =1, D2,3[,S'nY] -(4.431) =3 D5[se] (4.432) = 7mt~k + l Ul 2) V23(4.433) =I, Dl,2[S4x~] (4.434) qe e~k = Y7etPx' + Vl/PUl+ U2) (4.435) = D,34I (4.436) = Tletpy~ + Vl(U (u+U2) (4.437) =1, D6,5 S m~ (4.438) =D4[Se] (4.439) = -,e~ V2(Ul - U2) + vlu3 (4.440) xq = 2 y 2+~qII (4.441) 7Iqe = l 'II2~l + IlqJII2 + IlqqIJ2 (4.442) ak =(7tqm + 7fqey-' (4.443) Kmk+l Km, ~akPmjk (4.444) IKe,k+l = e~ +k e' (4.445) -~~cl r' akqm, (4.446) rkl rek a k qxe (4.447) 7rm = i IMrIk+lii2 + Ilrm ~k+l1I12 (4.448) Yre = i e~cl1 + Ijr ek+l1II2 + Ijr ek+l1I12 (4.449)

79 qm rm,k+1 X~ XII (4.450) =II xy (4.45 1) =~ GXoqr (4.454) qxl=to xqeq (4.4535 S X,y,ZJy (4.457) =PI D Xs~] (4.459) mt =t D2,3[ j ~ (4.4561) =II D5[s] l (4.462) =1, D1tr,2 + 4(S mu)y]vu (4.463) =3 D6,[Sel (4.464) =x?Itrx k, + V4(Ul + U2) +VU (4.465) =1, D2,3[S4Y] (4.466) = mr + i4*(Ul + U2) VU (4.467) UI2= D6,2 [Se~y] (4.468) xe= D0s* (4.469) V(U -t x (u1 -U2) +vu3(4.470) U7qm = D2q,3I[SexqlII (4.471) Yqe = e~(4.72 /3k = ('yqSeyqe (4.473)

80 m k+1 = MA+OM P4 y +X? /3~q (4.474) 1 p~e~k+l = pek + Okq Pxly~z P4,y X?9 (4.475) Terminate when 'YrM + 'fre <1. tolerance. (4.476)

81 4.9 Calculation of Radar Cross Section The scattered far zone electric field is given by E8(R) = jkoG(R)[R x Nt'(0, q) - ZoN (O, q)] (4.477) where NSe'"(, 0) has the 0 and ( components Nm cos(O)[cos(>)Sem(o, q>) + sin()S^ ',m(O, )] - sin(O)S!,(0, O) Nem - -sin(q)S, m(0, q) + cos(q)Si (9, q5) (4.478) and Se'm(O, ) = J, Kem(')ejko (F')ds'. (4.479) If the current is constant over the square cell and the coordinates are divided by Ao, then n n gem(0, F) = F(0, ) Z KC',m(p, q)ej2'sin(8)[cos(4))x(p)+sin(,)y(q)] (4.480) p=l q=l where F( 1 sin [irh sin(0) cos())] sin [7rh sin(O) sin()] (4.4 F(0, S) - 72 sin(O) cos(O) sin() sin() (4.481) The backscattering cross section a is given by a- lim 4rR2E - R-.oo lE12 = [Nr + N2 + IN - N;2]. (4.482)

82 4.10 Summary The method which yields the most accurate results when implemented with a conjugate gradient FFT method is shown to be the one requiring the least amount of spectral information. A minimium spectrum conjugate gradient FFT algorithm was implemented for computing the scattering by a thin planar material plate illuminated by an E or H polarized plane wave. Specific algorithms were given for either a perfectly conducting, dielectric or dielectric/magnetic plate for both polarizations. These algorithms were specifically developed by the author to minimize the required computation and storage.

CHAPTER V SCATTERING FROM A MATERIAL COVERED PERFECTLY CONDUCTING PLATE 5.1 Introduction The material covered plate consists of an infinitesimally thin perfectly conducting plate coated with a thin layer of either a dielectric and/or magnetic material. The techniques of Chapter IV are extended here for a solution of this scattering problem. 83

84 5.2 Orientation of Plate and Incident Illumination z material / Y conductor Figure 5.1. Material coated perfectly conducting plate. The conducting plate is assumed to lie in the z = 0 plane with a material coating of thickness r placed on top. Two position vectors are necessary and defined by R1 x + yy conducting plate (5.1) =2 = x + YY + 2Z center of material plate. (5.2) Each plate is illuminated with a unity amplitude plane wave having a propagation vector ki given by ki = -ko [sin(i,)(cos(i)x, + sin(,)i) + cos(0i)z] (5.3) and vector components given by E,2 = [(. 0)0 + ( * )]e-j(ki 2) = [Eo + Eyo + Ezoz] hl2 (5.4) where Eo = cos(ai) cos(0i) cos(i,) - sin(ai) sin(o,) (5.5) Eo = cos(a,) cos(0) sin(i,) + sin(a,) cos(q,) (5.6) Ez = -cos(a,)sin(0,) (5.7)

85 and h,2 = e-j(''R1,2). The corresponding magnetic field components are computed from H1,2- = xki x E,2 = [Hxo + Hyoy + Hzo:]hl2 where HXo = - [sin(ai) cos(0i) cos() + cos(ai) sin(di)] (5.8) Zo Hy = -[sin(ai) cos(i) sin(oi) - cos(ai) cos(qi)] (5.9) 1o HZ = -- sin(a) sin(9,). (5.10) zo 5.3 Problem Formulation If the material layer is electrically thin, the internal field components are assumed to have a z variation such that al z=o $ 0 and z=z = 0. Introducing the definition z-z' for z > z' ( - (5.11) z' - z for z < z' the normal derivative may be replaced by a | for z > z' - = { c(5.12) az t -aa for z < z'. Letting the first superscript denote the observation plate and the second superscript denote the source plate, the volume integral equations may then be implicitly expressed as = Zok 2 ( + A11 2 A1' EZ1 = j k All + x+yAll Zo 012 AA12 +A12 FF12 (5.13) +jE \ A\ + &9yA, Al oA) + TF, + T -F,' (5-13) = All + (ko + All k1 oxa a] 2': "~ ' [2 o2 Ay 2yd 12 212 a 12 j [ A + (k2 + 2 A2 - A12]- AF12 - F12 (5.14) Zo= ke2 j [(kA+ A2] ko AX, + 9X OxA=17

86 +7I k:2 0'\A22 02 A22 +kF22 k0 ZOk 02 X+ AOxT~y (5.15) ko a z2 X a Y dyZO a2 21 2 0( 92 21 El /A3 e2Jk 2+p + )A ko axay ' ay Z00 A22 2 22 F22 (5.16) T [oxoy oy 2 AyJ z51. a2 (92 2= Er2Ie2Jze2 + 020 z a(02 ayac 02. jZO - 2 a + A22- a_ 22 + F2F22 (5.17) ko \0X2 Dy2, z Fy DXV 21+ a2 2 -1F D +(2~ 22 A22 (5.19) Hx2 = 1m2J2 - a(A koZo k0x+yF2 0 Dxy2, FY +y AOx 51 kAm - kA2 ~~H br2Im2J~ +- Dy Zs Dx V,2+ 1 (2 02 0 - + -F-+ 2- FA22 -AA22 (5.19) and tcoon are diveoZo ba0, (13(ay220 reducex H~ r~zm 1 21 A21 Hz2 /L2#~j2 ay X -: (9d2 02 A'2 a a coL[AX + 42] + LA A A-+ (5.20) Assuming the electric currents and the incident magnetic field are multiplied by Zo and the coordinates are divided by Ao, (5.13)-(5-20) reduce to 2] + A2] - COL A2 2 2 col[AllK+ A + coL2[Al' + Al2 + coL5 A' + A] Y+ L6F2 E (5.21) etK2 + 1 2 + cLA12 + AF12 - L5F12 E I r121 22] __21 + 22] FF22 S ez+cLA' +V coL2A~ - L6u + LF = E 2 (5.23) TLmtKr.- + ~A2+ coL,F221 + c22 - L22 2 =2 (5.26) 71mtK Ac (5.27) dD d TYnK + cL2[Ax' + Ax2 - cL3[Ay' + Ay2 - CL45F: E HY2.(28 71en lfe2 + coL 5 a(A + coL6_coL,+ ~ 2 - GF22 L5F,2 Ei2 (5.25) Th re' untosmyb expressed as =( x 2 22 22?ItI A + cOLjF F+COZ~2 - L6A H (5-26) xIti2 T(IYx+co2 Hx a A21 + oFF22 CLF22 I.Td22 t 77mtK'2 - -A coL x+ oL3F + L5 (5.27) t~m 121 22 L 21 + 22] Co4F22 t2(. 8 z2 X X Y Y Z' (5.28 The Green's functions may be expressed as e -jko cOTv GI =( -y) (5.29) 4 r~-;;-~yy,

87 e-jko /(x-)2 +(y-y,)2 +2 4r (x-xI)2 + (y - y)2 + C2 G3- G2 The Fourier transforms at ' = 0 and = 2 are given by j i+ for f2+ f2 < 1 for f2 + fy > 1 _j, e-%1rrf+ for fx2 + f2 0= | - 2 -+ -l for f2 + f2 < 1 1r -4t/[ l+ -'lI for f 2 + f. f 1 = J. fie VI fy/ fr + 1. lefor f2+f2<1 (5.30) (5.31) (5.32) (5.33) (5.34) 5.4 Dielectric Coated Perfectly Conducting Plate The formulation for the dielectric coated plate involves only electric currents on the conductor and in the dielectric. The E polarization case (E,~=0), results in four equations involving four unknown tangential surface currents. The H polarization case (H,=0), results in five equations with four unknown tangental electric surface currents and one normal surface current. 5.4.1 E Polarization The appropriate equations for a dielectric coated plate larized plane wave are given by coL1[All + A12] + coL2[Al + A12] coL2[All + A12] + coL3[A;1 + A12] Y e2 + coL1[A21 + A22] + coL2[A21 + A22] Ket.y2 + coL2[A21 + A22] + coL3[A2y + Ay2] illuminated by an E po = Et = Es Eyl = E. E[2 - EY"2 - (5.35) (5.36) (5.37) (5.38)

88 The following is a conjugate gradient FFT algorithm developed by the author. Initialize the residual and search vectors. CO ____ (5.39) h2N2 'e= IE12 + IIE'112 + IIE 12II + IIE 12I (5.40) qxl,yl = Ke (5.41) qx2,Y2 = Kx, (5.42) qxl,yl =.F[qxl,yl] (5.43) qx2,y2 = F[qx2,y2] (5.44) =9IY GIo qxl,yl + G2 0 qx2,y2 (5.45).5x2,y2 = 0 qxl,yil+ C1 0.2. (5.46) =xY.F'1[Sx1,Y1] (5.47) Sx2,y2 (5.48) =I, Dl,2[Sxl,yl1I (5.49) =x V1(U1 + U2) (5.50) =1, D2,3[Sxl,yl] (5.51) =y vI(U1 + U2) (5.52) =1, Dl,2[89x2,y2] (5.53) qx2 = 7etKxe2+ VI (U + U2) (5.54) =1, D2,3[89x2,y2] (5.55) qy2 =tletKe' + i'l(ul+ U2) (5.56) =,,1 Ex'1,Y1- qxl,yl (5.57) = E - qx2,12 (5.58) =x~ ri(5.59) qx2,y2 = i (5.60)

89 qxl,yi = Fq1-i (5.61) qx2,y2 = F[qx2,y2] (5.62) 89x1,yl = o qxl,,y + G* 0 qx2,y2 (5.63) 8Sx2,y2 = * 0 qxl,yl + GI 0 qx2,y2 (5.64) 8T14/1y = F'[s~,Sx1]l (5.65) =xy -F1[Sx2,,2] (5.66) = i (5.67) =x i4(Ul + U2) (5.68) =12 D2,3[-Sxl,y1] (5.69) =y v*(Ul + U2) (5.70) =12 Dl,2[Sx2,y2] (5.71) = l X + i4*(Ul + U2) (.2 =1, D2,3[ax2,y2I (5.73) qy2 = 7~r2 + v*(Ul + U2) (5.74) 7Yq = IIxl I12 + I I qyljI2 + II qT2II12 + I I qy2I12 (5.75) =0 y (5.76) =x~y foq.i,,yl (5.77) Px2,y2 = I0qx2,y2 (5.78) Iterate for k = 1.. qxl,yl = p k, i(5.79) qz,2= k (5.80) qx2,y2 =Px2,y2 qx~l=.F[qxl,yl] (5.81) qx2,y2 =..F[qx2,y2] (5.82) 5SX1,Yl = G, 0 qxl,yl + C2 0 qx2,y2 (5.83)

90 =xy Go qxi,yi + G, o qz2,y2 (.4 sxl,yl = F[S1,l~1] (5.85) 3x2,y2 = S2 ~ l(5.86) =1, Dl,2[Sxl,yl] (5.87) qxI = V1(U1 +U2) (5.88) =, D2,3[Sxl,yl] (5.89) =y V1(U1 +U2) (5.90) U1,2 = D1,2[IS 2,y 2] (5.91) qx2 = 71etPX2 + V1(U1 + U2) (.2 =, D2,3[Sx2,y2] (5.93) qy2 = 7etPk2 + V1(U1 + U2) (5.94) =Y jjqXlII2 + I jqy112 +I I qx2I12+I I qy2II2 (5.95) ai =; 7- (5.96) r ek+l = xe ky - akqPl k (5.99) X1,I/1 xl, yly Kek+l = elr (5.100) x2,y2 X2,y2 - Cakqx2,y2 =k+ irk i rtII ~~I~ ~~I(5.101) X, X1,1-Ck.l,yl(512 qrk,1 = k (5.103) qx2,y2 = x~q2,y2] (5.105)2,y = k I (5.106) =~iy G0 qxi,yl + Gt 0 qx2,y2 (5.107)

91 $x1,yl =." [s~1,1l] (5.108) sx2,y2 = [Sx2,y2] (5.109) u1,2 = D1,2[s8xl,l] (5.110) q. = v(uj + u2) (5.111) ul,2 = D2,3[Sxl,yl] (5.112) qyl = v*(ul + u2) (5.113) U1,2 = Dl,2[sx2,y2] (5.114) qx2 = qr '2+ + v4(ul + u2) (5.115) U1,2 = D2,3[s$2,y2] (5.116) qy2 1,ry2 + v*(ul + U2) (5.117) 7q Ilqx112 + IIq,112 + IIqx2112 + IIqy2lI2 (5.118) Pk = 7-1' (5.119) Pxl,Yl = Pxl,yl + pkql,l (5.120) k12,y = Pkx2, 2 (5.121) Terminate when 'Ye < tolerance. (5.122)

92 5.4.2 H Polarization The appropriate equations for a dielectric coated plate illuminated by an H polarized plane wave are given by coLl[All + A2] + coL2[A + A1] - oL5 A- = E (5.123) coL2[A1 + A2]+ coL3[All + A2] - coL6 A2 = Et (5.124) K2 + coLl[A2 + A22] + coL2[Al + A22] E(5.125) ty2 + coL2[A2 + A2 + coL3[Al + A2 = E' (5.126) rlenK2 + coLs A + coL6 A - coA L4A2 = E(5.127) z2~ ~~ 21xT(YZ 2

93 The following is a conjugate gradient FFT algorithm devolped by the author. Initialize the residual and search vectors. = CO (5.128) h2N2 = IIE1II + IIE1 J IIE +1IIE 2i 12 + JIE 212 + IE2II1 (5.129) 2 y 1 1 x212 yIzl 2 Z21 2 qKiyi = (5.130) qx2,y2,z2 = Ke, O (5.131) =xl,yl.F:[qxl,yl] (5.132) qx2,y2,z2 =.F[qx2,y2,z2] (5.133) SX1,yl = G, 0 q,,yl + C2 0 (5.134) 8x2,y2 = o qi,yl + G1 o q.2,y2 (5.135) Sz1,z2 = G30 q,,yl (5.136) Sz3,z4 = G3,1 oz2 (5.137) SXl,yl =.F1[SX1,Y1] (5.138) =x2,y2 F-1 [92,y2] (5.139) 8zl,z2 =.F-[sil2] (5.140) -9z3,z4 = Y71[sz3,z4] (5.141) U1,2,3 = Dl,2,5[891,y1,z3] (5.142) qx,= vi(Ul+u2-U3) (5.143) u1,2,3 = D2,3,4S-x1,y1,z3] (5.144) qy,= vl(Ul+u2-u3) (5.145) U,2= D1,2[Sx2,y2] (5.146) q2=?JetKxe+vi(ui+ u2 (5.147) U = D2,3[-S2,y2] (5.148) qy2 = i7etKye'+(Ui+U2) (5.149)

94 U 1,2,3 = D5,6,4s1-z,z2,z4] (5.150) qz2 = TlenKLxz + Vl(Ul + u2 -U3) (.51 -~~y Exly - qxl,yl (5.152) = x - qx2,y2,z2 (5.153) qx2,y2,z2 = 2,y(.155 qxl,yi =.Fq1, ](5.156) qx2,y2,z2 = ~x2,y12,z2] (5.157) =x,2z o qx2,y2 G zqxy (5.158) 8x2,y2 = * q1,,,y + G* 0 qx2,y2 (5.159) GZZ = o qxi,y (5.160)2, Sx2,y2 = Fs2,112] (5.163) -9zl,z2 = oq,,i(5.164) 89z3,z4 = oq2(5.165) u,S2,3l = F D1,2[S.T1,y1i (5.166) =z~z V'u u-U)(5.167) U1,2,3 = Dl2,5,6[sxl,yl,z13] (5.168) =y Vl/(U + U2 -U3) (5.169) =1, Dl,2[s9x2,y,2I (5.170) =x TletrX2 + v'*(Ul + U2)(51) =1, D2,3[s,x2,y2] (5.172) =~y 77rt2 + vj*(Ul + U2) (5.173)

95 U123= D5,6,48Szl,z2,z4] (5.174) qz2 = 27enrz + v*(Ul + u2 - U3) (5.175) 7Iq = Iqrl t2 + Iqyj II1 + II qx2II2 + IIqy2tI12 + Ilqz2II12 (5.176) 1307= (5.177) =ly /3oqzl,yl (5.178) Px2,y2,z2 = /3qx2,y2,z2 (5.179) Iterate for k = 1. = P,&i, p (5.180) qx2,y2,z2 = k (5.181) Px2,y2,z2 =Sly Gio qz,yi. + G2 o q.2,Y2 (5.182) 8x-2,y2 = 2 o qx,,,i + G1 o q.2,Y2 (5.183) =z~z Go qxil,yl (5.184) 8z3,z4 = 3,l o qz2 (5.185) =9ly.F'l[Sx1,y1] (5.186) =92y.F1[Sx2,y2] (5.187) 8zl,z2 =.Fl[,Szz22I (5.188) 8z3,z4 = F[S z3,z4] (5.189) U1,2,3 = D1,2,5 [s~,Sx,yl3I (5.190) ql= vl(U +u2 - U3) (5.191) U 1,2,3 = D2,3,6s1,9xl,yl3] (5.192) qyl = vl(U +u2 - U3) (5.193) U12= D1,2 [Sx2,y2] (5.194) Tx2 = 77etPX2 +Vl/(U1+ U 2) (5.195) U12= D2,3[Sx2,y2] (5.196)

96 qy2 = ICP~ + Vl(Ul + u2) (5.197) U1,2,3 =Ds,6,4[Sz,,z2,z4] (5.198) qz2 = TenP k + v,(Ul + u2 -U3) (5.199) 'Yq = Ilqxl1I2 + I qyl 1l2 +I I qx2I12 +II qy2l12 +II qz2I 12 (5.200) ak; = Y (5.201) K e,k+l K elk k; (5.203) x2,y2,z - i2y2, + aAkp,2,2Y Kek +1 = xer k (525 x2,y2,z2 x2,y2,z2 - aAkqx2,y2,z2 523 7rk = ll, k qlx~ l~ryl (5.206) rlr aqx2,y2,z2 =(5.208) qx2,y2,z2 = (5.210) 8IcrA2 0'q112 + lCk111 0 qx2,y2 lr+11 Ir+1 (5.212) xSz2 VI2 = 2(5.213) qxl,yl = 0I (5.214) = C+ (5.215) qx2,y2,z =,[y2,z2] 526 qx2,y,z2 = F[qx2,2,z2I (5.217) 8z3z4 F q8z, G1 (5.218) ul,z2, = o xly (5.219) =xy v'u1u-u(5.220)

97 =,, D2,3,4 Sxl,yl,z3] (5.221) qyi =v*(Ul +u2 -U3) (5.222) =1, D1,2 [s3.2,y2] (5.223) qx2 =7let 'x2 kI+ i4(Ul + U2) (5.224) U1,2 =D2,3[-9x2,y2] (5.225) qy2 = 7ty *rk+1 +V*(Ul + U2) (5.226) U1,2,3 =D5,6,4s15z,z2,z4I (5.227) qz2 =?enr kj' + z4(UI + u2 -U3) (5.228) 'I q = x12+Iq,12+ xl1 y~ 2+IIq~ (5.229) -1 (5.230) k+1 =Pk (5.231) PX1,Y1 P i1,yi + Pqly k+1 = k Px,1,+ /3kq.T2,2z2 (5.232) Terminate when < tolerance. (5.233)

98 5.5 Dielectric/Magnetic Coated Perfectly Conducting Plate The formulation for the dielectric/magnetic coated plate involves electric currents on the conductor and both dielectric and magnetic currents in the material. The E polarization case (Et=O), results in seven equations involving four unknown tangential electric surface currents, two tangential magnetic surface currents and one normal magnetic surface current. The H polarization case (Hz=O), results in seven equations with four unknown tangential electric surface currents, one normal electric surface current and two tangential magnetic surface currents. 5.5.1 E Polarization The appropriate equations for a dielectric/magnetic coated plate illuminated by an E polarized plane wave are given by coLl[All + A2] + coL2[A1 + A2] + F - L6Fz2 = E (5.234) coL2[All + A] +coL3[All +A12]- F12+ LF12 =E (5.235) etK:2 + cOLl[A2' + A2] + coL2[A2l + A22] - L62 = (5.236) TtKy2 + coL2[A + A42] + CoL3[A + A2] + LF E+2 (5.237) 21m1K2 + 2 OLIF22 + coLF22 = H (5.238) m Km - EmAK + coL2F22 + coL3F = H (5.239) ( K2 + L6[A + A2] - L[A + A2] + coL4F22 = H2 (5.240)

99 The following is a conjugate gradient FFT algorithm developed by the author. Initialize the residual and search vectors. co V1 (5.241) h2N2 v2 = (5.242) 2hN2 V3 = N (5.243) N2 7e = IEh112 + lIEl 12 + II E2II + IIE 11 2 (5.244) rm IIH ll2 + IH2112 + H2 (5.245), = K, (5.246) e e,O qx2,y K (5.247) qx2,y2,z2 = 2, (5.248) qly =.[ql,v] (5.249) q2,2 F [q2,y2] (5.250) = m (5.251) qx2,y,z2 - '[q2,y,,2] (5.251) $x12,y12 - G1 o qll + G20 q2,y2 (5.252) Z21,y21 = G20 ql,yl + G1 q 2 (5.253) 8x31ly3l G= 0 q,1 (5.254) sxl2,yl2,zl2 G= G q0 2,v2,z2 (5.255) sx32,y32 = 3 q2,y2 (5.256) z22 G2o ^ 2 (5.257) S12,yl2 = -1 [S12,,12] (5.258) s2l,y2l = i S21,21] (5.259)

100 x3l,y3l xl2,yl12,zl2 x32,y32 sm 8z22 U1,2 U3 U12 U1,2 U3 U1,2 U3 qe2 U12 U1,2 U1,2 U3, - IF M [2,y32I -D6[IS zl2] -v1(Ul + U2) + V3SYM2 -V2U3 -D5 [SZM2] -v1(Ul + U2) - V3Szl12 + V2U3 -D6[IS 2]2 - e~x + Vl(Ul + U2) - VU -?etKel + v1(1+u)+vu - 7mtKxA'0 + v1l(ul + U2) + V35sy3l - 1mtKm'0 + vl(u1 + U2) - L/38x3 -D6,5['Sx21,y2lI -D4IS 2] 2 (5.260) (5.261) (5.262) (5.263) (5.264) (5.265) (5.266) (5.267) (5.268) (5.269) (5.270) (5.271) (5.272) (5.273) (5.274) (5.275) (5.276) (5.277) (5.278) (5.279) (5.280) (5.281)

101 m,1 rej rej Se Se x32,y32 qm 82y2z22 Se Se x12,y2,z12 X12,yl32 71mnKz'0 +V2(Ul +U2) +vlu3 E'y - qxe22y Ex2,y2,2 - q2y m,1 Q lx1y1+ l 0 qe11 +( 02y 0 ' 02y2z Go~q (5.282) (5.283) (5.284) (5.285) (5.286) (5.287) (5.288) (5.289) (5.290) (5.291) (5.292) (5.293) (5.294) (5.295) (5.296) (5.297) (5.298) (5.299) (5.300) (5.301) (5.302)

102 82"2 = F -[s2] (5.303) U1,2 = D,2[sy12] (5.304) U3 = D6[sz2] (5.305) q = v(ul + u2) + v3SyL2 - v2U3 (5.306) U1,2 - D2,3[sl,yl] (5.307) U3 = D5[1,"2] (5.308) yl= l(u + U2) - v3S2 + ^2U3 (5.309) U1,2 = D1,2[s,212l]] (5.310) U3 = D6[s"2] (5.311) 2= ver21 + ^(u1 +U2) - 2u3 (5.312) U1,2 = D2,3[s2l,y2l] (5.313) U3 = D5[sz2] (5.314) qy2 r 'y21 (u + u2) + v2u3 (5.315) U1,2 = D1,2[sI2,,12] (5.316) x2 mtrx2 + l;(ul + U2) + V35y31 (5.317) U1,2 = D2,.3[s"2,yl2] (5.318) q = mtr2'1 + v'(ul + u2) - 3x31 (5.319) U1,2 D= 6,5[s[x2,y2l] (5.320) U3 = D4[s22] (5.321) z2 mnrz2' + 2(Ul + U2) + *U3 (5.322) 7'qe ll Iq,112 + llqylI12 + lljq 112 + llq,,112 (5.323) 7qm = Iq 11 + I Iqm 112 + lqm 112 (5.324) /o = (7qe + qm)- (5.325)

103 e,1 pe,1 Px2,y2,z2 - o 3:1yl /3qx2,y/2, (5.326) (5.327) (5.328) Iterate for k = 1I... e q3:124I1 e qm 8X2,y2,z12 m 83:2,y/2 qm 82y2z22 C 8312,1/12 e X321,y/2l e 8331,1/3l m xl:2,yl12,zl2 m 8332,y/32 z22 U12yl = e,k = e,k Px2,y/2 = m,k Px:2,1/2,z2 = =r~ =G0 0 q'el,1/1 + d1o o = 0 =G2o0qm =z = F X2y~ = -[Sl =2,yl =Sl =3,yl =ll2z~ (5.329) (5.330) (5.331) (5.332) (5.333) (5.334) (5.335) (5.336) (5.337) (5.338) (5.339) (5.340) (5.34 1) (5.342) (5.343) (5.344) (5.345) (5.346) (5.347)

104 U3 = 6 SZn2 (5.348) =x Vl(Ul + U2) + v3Smy12 - V2U3 (5.349) U1,2 = D2,3[Sxl,y1] (5.350) U3 = D5[smZ2] (5.351) =l Vl(Ul + U2) - V3SX12 + v2U3 (5.352) U1,2 = Dl,2[Sx"2ly2l] (5.353) U3 = D6[IS z2]2 (5.354) = 7ietKA' + Vl(Ul + U2) - V2U3 (5.355) U1,2 = D2,3[-Sx2l1y2l] (5.356) U3= D5s2] (5.357) =2 T7etKye + Vl(Ul + U2) + V2U3 (5.358) U1,2 = D1,2[Sm 2,l2] (5.359) = TmK'0 + Vl(Ul + U2) + V3S 31 (5.360) U1,2 = D2,3[SX2112]y~ (5.361) = 7 ymt2 + v1(Ul + U2) - V3e(5.362) U1,2 = D6,5[421e2l1~] (5.363) U3 = D4[IS m2] (5.364) qm qZ2 = 7mnKzm'0 +V2(Ul +U2) +VlU3 (5.365) 7Iqe = Ilqxe1II + I I qe112 + 1~q2I + Ijq 12 536 '7qm = Ilqm 112+ I lqm 112+ I (5.367) cak = (7qe + 7qm)- (5.368) +fakp, k + (5K369) = "x2l,y2 + akPe'2,k 2,y2,y2 akP~,y2(5.370) =x~,2+~P2',y2,z2 (5.371)

105 re,k+l re,k+l rmlk+l '/re l(rm qe qe qm e2y2z e 3x2,y12 8x21,y21z se xl2y2,yl2 3x3l,y3l mm 8z22 se 8xl2,yl2 se 8x2l,y2l se 8x3l,y3l sm sxl2,yl2,zl2 8x32,y32 sm sz22 re,k -2V akq;2,y2 re,k x2y,2- tkqx2,y2,z2 lIr eik+l1I12 + Ijriek+l II1 +jj Ierk+l IJ1 + I1reIk+l II1 lIr M~k+l1I12 + I Irm k+1112 + jjr m k+lII2 e.k+l re,k+1 rm,k+1 rx2,y2,z2 o ~qel~1+ 0* q'el,,, + 6Gi G~oq~ F1 x2,2m z (5.372) (5.373) (5.374) (5.375) (5.376) (5.377) (5.378) (5.379) (5.380) (5.381) (5.382) (5.383) (5.384) (5.385) (5.386) (5.387) (5.388) (5.389) (5.390) (5.391) (5.392) (5.393) (5.394)

106 =1, Dl,2[SX'I,yl212 (5.395) =3 D6[SZM2] (5.396) =1 v'(Ul + U2) + V3SM2 - V2U3 (5.397) =I, D2,3([S.T,yl] (5.398) = 3 D5[Sz"12] (5.399) =e v'*(Ul + U2) - V3SMi2 + V/2U3 (5.400) =1, Dl,2[Sx"2,y2l~] (5.401) =D6[SM2] (5.402) q* e,Ic+i =2?letrx2 + V1*(Ul +U2) - V2U3 (5.403) U1,2 = D2,3[21'S'~,21] (5.404) U3= D,5[sq m2] (5.405) =2 qet rV2 + Vl*(Ul + U2) + V2U3 (5.406) =1, D1,2[SXM2,l2I (5.407) qTT * m nk+1 v*( + V+?l2 mtrz2 + Ul\ U2/ V3y3 (5.408) =1, D2,3[SX2M12]y~ (5.409) qTm * rm~k+1 *u+l-LS Y27mtry2 + 1\Ul U2j V3x3 (5.410) U1,2 =D6,5IS~,e2 1,21I (5.411) =3 D4[S m2]1 (5.412) =m * mk+1i 2t1+2+i Tl 7mnrz2 + /2U ' U2 L/V*U3 543 7fqe = qe I q12 +I I qe,1J2 + JIlqe 2I + IjI qe 2 (5.414) Yq 1 I m12+Ilm 1 q 1 (5.415) IOk =(7Yqe + 'qm)- (5.416) =~~ e~ Y + #ke(5.417) e,/c+1 e k =Xy Px2,y2 + #qe(5.418)

107 m,k+l m,k m Px2,y2,z2 2 + /kq,2,y2,z2 (5.419) Terminate when ~e+ rm < tolerance. (5.420) e + 7m

108 5.5.2 H Polarization The appropriate equations for a dielectric/magnetic coated plate illuminated by an H polarized plane wave are given by 12] 12 ] - C (9 12 (9~ 12 coLj[A11 + A~2 + coL2[A1' + A~2 -oL5T(Az2 + =(F Es1 (5.421) x x Y12 rr Y xia~Y c coL2[All + 4 12] + coL3[Al' + A12] - coL6 A12 - =E12 (5.422) -rx J- C Y;IY at (.42 etK + cor [A2' + 42 A2] + coL 21 + A 22] Ei (5.423)?letKy2 + coL,[AZ' + 42] + COL2[AZ' + A2] = E 2 (5.424) '/e~1~x~len~ + s~c A221 22] 21sc 2 -F.2,F. 22 coL +Ay E (5.424) en Ifz2 + L5[2 + -A., F +L 6 [CO - =E2A Es (5.425) L69c21A22 F22 c0 22 TmKA++cLF2coLjLF 2- L6A2 =H2 (5.426) TlmtK - + L YF + H2 (9 21 + o 2F,2 CLF22 2,~. 22 77.tKm A coL x +coL3 + LA H (5.427)

109 The following is a conjugate gradient FFT algorithm developed by the author. Initialize the residual and search vectors. v1 = h (5.428) h2N2 v2 = 2h (5.429) V3 = (5.430) V4 C (5.431) 2hN2 7 = IIE1ll2 + IIEl212 + IIE2II22 + 1-E212 + IIEz2II2 (5.432) m = II\H2112 + II\Hy2II2 (5.433) ql,yl K iy (5.434) q2,y2,z2 - 2,y2,z2 q72,y2 - '2,y2 (5.436) 2= (5.436),,yl [qly] (5.437) q2,y 2,22: y[q<2,y2] (5.438) q2,,2: [q2,y2] (5.439) s12,1y2 = o q01,y1 + G2 o q2,y2 (5.440) $2,21- e e(5441) 21,y21 -' G2 ql,yl + G 0 qx2,y2(5.441) x31,y31 = G3 o ql,yl (5.442) e 21,z31 = o,30 (5.443) x12,y12 - 0q2,y2 (5.444) $x32,y32 - Go30 2 (5.445) 3s12,y12 -= ~l[s12,y12] (5.446) x21,y21,z21 = ' [s 21,y21,z211] (5.447) x31,y31,z31 -= ' [ss31,y31] (5.448) S12y12 [s212] (5.449)

110 x32y3 = '1'x 2,ym1 x32Lx32,y323 (5.450) =1, Dl,2[Sxel2,l2I (5.451) =3 D~s['3l] (5.452) =i Vl(Ul + U2) + V3S~n2 -V4U3 (5.453) =1, D2,3[Sxl,yl] (5.454) =3 D6[S~n1] (5.455) =I V v(Ul + U2) - -3M V4U3 (5.456) =1, D1,2 [Sx",y2l~] (5.457) =2 2+ V1(Ul + U2) (5.458) =1, D2,3[Sxe~,y2l~] (5.459) q2 = 7etKyeAp + v1 (Ul + U2) (5.460) =1, Dl,21SX2M12]y~ (5.461) =3 D6[sz3l] (5.462) qxA =TmtKm'0 + Vl(Ul + U2) -Vl2U3 + l/3Se3 (5.463) =1, D2,3['SX212]y~ (5.464) =3 D,[e3(5.465) =m 77mtKm'0 + vl(ul + U2) + V2U3 -3S (5.466) =, D,5,64COS'e2l1y2l ~ s12,xl12] (5.467) =3 D4[s92l] (5.468) =z 77enKe'f + V2(Ul + U2) - Vlu3 (5.469) r, F i~y - e. -ly Tl~yl (5.470)

111 rej e m 8x2,y12 e qe 8x3,y231 m 3x2,y32 X2,21,y2l x3l,y3l,3 m SX12,yl2 m sx32,y32 U1,2 xl2yl - x2ly2 - 2y = ef1 X2,y2,z2 = m'l = 2y =Pq = o qel1y1 + G* o q = 0o qel,yl + 0*o e = 0 = 1,3 02 = 0 = 0 = ~2y = -1 =1,y~ = ~ ~ ~ lzl = ~ ~ ~ lzl =1,y~ = D[SM3 (5.471) (5.472) (5.473) (5.474) (5.475) (5.476) (5.477) (5.478) (5.479) (5.480) (5.481) (5.482) (5.483) (5.484) (5.485) (5.486) (5.487) (5.488) (5.489) (5.490) (5.491)

112 =i 4(1 + 2 v l~ 4U (5.492) U1,2 =D2,3[sx1,y1] (5.493) U3 =D6[Sm1] (5.494) =l i4(U + U2) - V3S 2 V'~ (5.495) =1, D12Ix~~~(5.496)?l etrx2 + L/lUl +U2) (5.497) =I, D2,3[Sxe~,y2l~] (5.498) =e 7* re,1 v*(549 y2 /etry2 + (l'~U + U2) 549 U1,2 =Dl,2[SX2M12]y~ (5.500) U3 = 6S e~](5.501) =x?77mtrx' + v1(Ul + U2) -V2U3 + V3S;3 (5.502) U1,2 =D2,3[SX2M12]y~ (5.503) U3 = [sZ31(5.504) rl 7mtrv2 + Vl(UlUi U2) l/V2U3 V3Se3 (5.505) U1,2 =D,5,6[COS'e~2 ~ (.56 U3 = 4S l](5.507) =2 77enrz2 + V2(Ul + U2) - Vl/U3 (5.508) 'Yq =e 5.09 qm= Iqxm212+ Ilqm 112 (5.510) go0 (7Iqe +7qm)Y1 (5.511) =j 3oqe1~ (5.512) -jI3oqe2 2~2(5.513) =m~ /ooqXm (5.514)

113 Iterate for k = 11.. qe e qm 8x21,y21 qe 8x3,y31 m sx2,y32 e 8X12,yl2 e SX2121,y2l e 8x3131,y31. m 8X12,yl12 m X232,y32 U1,2 U3,y2 U1, U3~yl~~ = e,k px1,y1 = e,k = x,2z =~ = xy = o = 0Jx2,y2l =,oql. 2oq = 2y = 20qly,oq = 2y =e = 30qY = 13oq = v1(u1 + 2) ~~ /U G= o = D6[2,y2 =G1u +M2 -vU (5.515) (5.516) (5.517) (5.518) (5.519) (5.520) (5.521) (5.522) (5.523) (5.524) (5.525) (5.526) (5.527) (5.528) (5.529) (5.530) (5.531) (5.532) (5.533) (5.534) (5.535) (5.536) (5.537)

114 =, D12[421,y2l] (5.538) =2 TletPx2+ /i(Ui +U2) (5-539) =1, D2,3[sX21,y2l] (5.540) q2 = YetPy'+ Vi(U + U2) (5.541) =12 I2-x1,,2 (5.542) =3 D 3 (5.543) =2 2lt~ + v(Ul+ U) -Vl2U3 + '3l 5i44 U1,2 =D2,3['Sx212]y~ (5.545) =3 D,[seZ31] (5.546) =,2p~ Vl(Ul + U2) + l/2U3 - l(5.547) =xD,4s,y2l2 ~ Y12,xl2] (5.548) =3 D[,Z1 (5.549) =2 rePz2 + V2(Ul + U2) - iViu3 (5.550) 7fqe = lIq'e1II2 + Ilqye1I2 + 1~q2I + I lqe 2I 551 7qm = m12 q 12+I q 1 (5.552) =f (Yqe + j'YqmY-1 (5.553) -Kyl 'l~1 + aekPxl~y (5.554) K e,k+l Kxj~e k ek x2,y2,z2 '12,y2,z2 + aikPe'2,52,52 Km k+l - x ' + mk (5.556) x2,y2 2Y An'y re,k+l r e,k e 557 xy x1,7/1 - aekq11 (5.557 re~k+l rek e 558 x2,y2,z2 x2,y,z2 -akq x2,y2,z2(558 rm~k+l rmk- kq x2,y2 x2,y2 akq2,2 (5.559) tr e = i Ierk+l1I12 + jjr eik+l1I12 + jjr e~+1112 + jjr e~+ 1II1 + jjr ek+1IJ5.560)

115 7frm e qe m q2,y2 e m e 8X12,y12 e 8X21,y2l e 8z21,z3l m sX12,yl2 m sx32,y32 se x21l,y2l,z2l x3l,y3l,z3l m xl12,yl2 m 8x32,yj32 U1,2 U3 U 1,2 U3 = i IMr~k+l1I12 + lir mk+l1II2 = e,k+l = m~k+1 = 2y2z = ~~ = 2y = 0 qe,1+ ~ = 0o qel1yl + G* 0 q = 0 = c 0; q;Te 1= z = *0 -4(1 + u2) Vy2 V -D[se1 (5.561) (5.562) (5.563) (5.564) (5.565) (5.566) (5.567) (5.568) (5.569) (5.570) (5.571) (5.572) (5.573) (5.574) (5.575) (5.576) (5.577) (5.578) (5.579) (5.580) (5.581) (5.582) (5.583)

116 -=e v1*(U1 + U2) - -Vi3u3 (5.584) =1, D1,2[S~,2l1y2l] (5.585) qx = get 'x2 + V'*(U1 + U2) (5.586) U1,2 =D2,31421,y2l] (5.587) =e * re,k+1 558 y2?lty2 + Vi (UI1+ U2) 58) =1, Dl,2[SX2M12]y~ (5.589) =3 D6 [8z'3l] (5.590) =2 'q~ + V1(UI + U2) -V2U3 + V3Sy31 (5.591) =1, D2,3[,9xm2,l2] (5.592) =3 D5[se31] (5.593) =2 7m~tr l + V1(U1 + U2) + V2U3 -3S (5.594) =x56cs2l,y2l SyI2,x12] (5.595) =3 D42 (5.596) =' q* re'k+1 ~~ 2 /U 2 lenrz2 + /2U 2)-VU (5.597) 'Iqe = Ijqe,1I2 + Ijqe,112~ + Itq 12 + Ijq 12 + lIq 12 (5.598) 7qm = 2q I yI2qI2 (5.599) 13A ('Iqe +7qm)-' (5.600) pe,k+1 _ e k -1y Pxi,yi + #Aqe~l(5.601) m,k+l _ m~k Px2,y2 -Px2,y2 + /hkqx2,y2 (5.603) Terminate when 7e+7Yrm < tolerance. (5.604) 7/,e + 7fm

117 5.6 Calculation of Radar Cross Section The scattered far zone electric field is given by E8(R) = jkoG(R)[R x Ntm'(, 4) - ZoNte(, 5)] (5.605) where Nt'm(O, 4) has the 0 and 4 components NaM = cos() [cos(+) (S, + S") + sin(O) (S + SM)] - sin(Szm (0) (5.606) Nm = -sin(q) (Sj + Sm) + cos(]) SY1 + S ) (5.607) and = JJ K()e(F )ds (5.608) Sm -^ t(@) e ^ (fe. (5.609) 2 If the current is constant over the square cell and the coordinates are normalized to Ao then n n S - F( S (p, q)e28()[c)p)+( )] (5.610) p=l q=l em = eirc(O)F(, ) -e K'm(p, q)ej28 sn()[co0s()x(p)+sin()y(q)] (5.611) p=l q=l where F( ^ 1 sin [7rh sin(0) cos(q)] sin [rh sin(0) sin(q)] F(, ) =- -2 sin(0) cos(&) sin(0) sin() (5.612) The backscattering cross section a is given by ar = lim 47rR 2_IE2 R-+oo I E 12 = r [IN' + N + jN - NI2]. (5.613) 5.7 Summary

118 A minimum spectrum conjugate gradient FFT algorithm is implemented for computing the scattering by a perfectly conducting planar plate coated with either a dielectric or a (ielectric/magnetic material and illuminated by an E or H polarized plane wave. Specific algorithms are given for dielectric and dielectric/magnetic plates for both polarizations. These algorithms were developed by the author to minimize the required computation and storage.

CHAPTER VI SURFACE CURRENTS AND RADAR CROSS SECTION 6.1 Introduction The surface currents induced on an object illuminated by an incident wave completely characterize the scattering behavior of that object. These induced currents re-radiate a scattered field which carries information about the object. A quantity that gives an indication of the direction of the scattered energy is the radar cross section (RCS). The RCS is usually subdivided into the backscattering cross section, which is a measure of the energy scattered back at the source of the incident field, and the bistatic cross section which is a measure of the energy scattered in a direction other than back to the source of the incident field. 6.2 Postulated Surface Currents on Conducting Plates As a preliminary step in the computation of the scattering from plates, it is useful to postulate the worst case behavior of the surface current to determine if the proposed numerical solution procedure is sufficient. Experience shows that the surface current on perfectly conducting plates exhibits the greatest oscillation and 119

120 singular behavior. This may be explained by noting that the surface current must satisfy certain edge conditions which are discussed by Meixner [31]. These conditions are based on the observation that the energy in the vicinity of an edge must be finite. For the case of a perfectly conducting infinitesimal plate, the edge conditions may be stated as lim Ihn i KI oc Vp + O(kop) (6.1) p ---O lim j. KIl oc + 0(1) (6.2) p ---*0 where ne and tA are the edge normal and edge tangential unit vectors in the plane of the plate and p is the distance measured normal to the edge. Therefore, any discrete computation of the current must avoid computation of a tangential current at the edge of a plate. Based on these edge conditions, the current normal to the edge may be postulated to be a linear combination of the two functions sin(p) I. - I P1,_ (623) i 120 5040 2 + (2k- 1)! (6.3) sin(p) = p-13 + 1P5 -500 1 + o (_l)kp2 (6.4) 6 120 50k (2k)! and the current tangential to the edge may be postulated to be a linear combination of the functions COs(p) _- 1 3 1 ( 2)1- (6.5) r2 +20 k=4 (2k)! (6.5) cos(p) = 1- P2 + p4- 1 p (l)kp2k 2 24 k4 (2k)! (66) The assumption is that these functions form a sufficient set to represent most wave motions of current. Letting the fundamental period be twice the maximum dimension, the plate can be considered as part of an infinite array of plates. The current on a conducting plate may then be represented as a sum of all possible combinations of functions which satisfy the edge conditions. For the case of a square plate of side

121 length 2d, the two components of current could be modeled as K e Kx n=O m-l sin(mkp(d - x)) 2 sin(mkp(d + x)) kold-x) + mn ko2d~ x) cos(nkp(d - y)) 3 sin(mk,(d - x)) 4 sin(mkp(d + x)) - amn ko+a-x mn I a sin(mk,(d - x)) 6 sin(mkp(d + x)) -t amn ko+da-mn cos(nkp(d - y)) cos(nkp(d + y)) ko(dT+y) sin(mkl,(d - x)) 8 sin(mkp(d + x)) cos(nkp(d + y)) mn ko - xk n d+ ) + [a 9 sin(mkp(d - x)) + a,, sin(mkp(d + x))] cos(nkp(d - y)) nko d-y) + [all sin(mkp(d - x)) + a,2 sin(mkp(d + x))] cos(nkp(d - y)) + [a1?3 sin(mkp(d - x)) + a" sin(mkp(d + x))] cos(nkp(d + y)) mnko(d+y) + [a'5 sin(mkp(d - x)) + a16 sin(mkp(d + x))] cos(nkp(d + y)) n=O m=l s1 in(mk,,(d - y)) a sin(mk,(d + y)) amn kod ymn - (6.7) cos(nkp(d - x)) ko~d-x) a3 sin(mkp(d - y)) a sin(mkp(d + y)) cos(nk(d - x)) mn +kao d - mn koc~d-y) kco~d+y)i a5 sin(mkp(d - y)) 6 sin(mkp(d + y)) cos(nkp(d + x)) ko d - y) kTdy - kmd ) a sin(mkp,(d - y)) 8 sin(mkp(d + y)) +k(d - ko(d + cos(nk(d )) + [a9 sin(mkp(d - y)) + ao sin(mkp(d + ))] cos(nkp(d - x)) mn?nn ko d -x) 11 12 + [am, sin(mkp(d - y)) + an sin(mkp(d + y))] cos(nkp(d - x)) + [a1A sin(mkp(d - y)) + a 1 sin(mkp(d + y))] cos(nkp(d + x)) mn mn ikod(d+ x) + als sin(mkp(d - y)) + a 1 sin(mkp(d + y))] cos(nkp(d + x))] (6.8)

122 where kp = -. Thus, a rectangular plate has 16 basic wave functions, each with its own higher order harmonics. The postulated currents for a circular plate of radius d may be expanded as ko(d -r) n=o = d-r sin2() N an cos(nkp(d- r)) (6.10) Ke (6.10) /ko(d-r) n=O which yields the correct behavior at the edge of the plate. The expansion functions for a triangular plate will involve non-separable terms since all sides cannot lie along orthogonal lines. As an illustration, consider the equilateral triangular plate with side length 2d shown in figure 6.1. (O, d) Y = VXx+ 2d Y = — x+ d (-, -ad) (d -ad) Figure 6.1. Equilateral triangular plate. Based on the configuration shown in figure (6.1), the triangular plate currents could be expanded as N cos(nkp(2d + 3x - V3y)) cos(nkp(2d - 3x - V3y)) le- an + Pn n=O - ko(2d + 3x - Vy) ko(2d - 3x - V3y) cos(mkp(d + V3y)) ko(d + y)(6.11)

123 N ' cos(nkp(2d + 3x - 3y)) cos(nkp(2d - 3x- - y)) YI~ - _ n/ko(2d + 3x-Vy) /o(2d-3 - Vy) x ' sin(nk(d + y)).12) x kod+vIy) - (6.12) n=l ko~d+ y) The coefficients for the postulated surface currents may be calculated by point matching the postulated current distribution to numerically computed data. If the match points are denoted with the index k = 1,2,..., K, then the appropriate system of equations for the real part of the surface current Ke,(x, y) would be 162 1 AlI A l...... AK a, (xi, y,) nl mnl mnl 1 ior K(1 Y ) 1 2 16 A n2 An2 An,2 K,.(x2, 2): MNr K.r(X3, J3) tlOr = (6.13) 2 C MNr Al A2.. 16 16 K e AmnK AmnK... mnK MNr K,(XK, YK) where for the kth match point, the kth row and pth column submatrix is given by Amnk [o MO k = M.. lk l *** Nk M ] (6.14) with corresponding elements given by 1 sin(mkp(d - Xk)) cos(nkp(d - k)) (6.15) ko(d- ) kod- yk) 2 sin(mkp(d + xk)) cos(nkp(d - yk)) mn ko(d+ k-k)(6.16) ink (mk(d- k)) cos(nkp(d - Yk)) (617) /o(d- Xk) 04 sin(mko(d + Xk)) 4bs5, = sin(mk,(d- Xk)) cos(nkp(d + Yk)) mko(d - x) ko(d + yk)

124 np6 sin(mkp(d + xk)) cos(nkp(d + yk)) (6.20) mnko k) o(d + yk) k sin(mkp(d - k)) cos(nkp(d + yk)) (6.21) m - ko(d-xk) k8 sin(mp( + (n(d + Yk)) cs((6.22) /mnk = - p087cospnk(d Yk)) (6.22) 9 sin(mkp(d-Xk)) cos(nkp(d - yk)) (6.25) mnk sin(mkp(d + )) cos(nk(d -k)) (6.23) 10nk cos(nk(d + k)) (6.27) mn/kno(d y(k) 'nk = sin(mkp(d- xk))cos(nkp(d -k)) (6.25) mk = sin(mkp(d+ xk))cos(nkp(d- yk)) (6.26) 1/m3 sin(mk(d )) cos(nkp(d + Yk)) equations may th(men p(be- solved for several angl))es of incidence and the dependence of(6.27) ~4 Cos(nkp(d + yk)),ek sin(mkp(d + k)) d (6.28) l,,k = sin(mkp(d- xa))cos(nkp(d + yk)) (6.29);, k = sin(mkp(d+ Xk))cos(nkp(d+ yk)). (6.30) The other current components are expanded in a similar manner. Each system of equations may then be solved for several angles of incidence and the dependence of each coefficient on the incident angle may be deduced. It would be desirable that only a few terms in the series are sufficient and that the coefficents would be simple trigonometric functions dependent only on the incident angle. 6.3 Material Distributions The material properties of a plate have a significant effect on the current distribution and, consequently, on the RCS. The parameters of interest are the permittivity e and the permeability p,. Equations (4.38) and (4.39) show how the spatial variation of e and y may be related to the currents and fields.

125 A material distribution of particular interest is the resistive distribution which occurs for a dielectric material when ' = 1. For r normalized to A0 This yields Zo 2 = (6.31) 27rr(63 A quadratic resistive dielectric distribution for a rectangular plate over the interval -a < x < a and-b < y < b under the constraints ciZo for x = ~a, y = ~b Ze = (6.32) C2ZO for x =, y = is given by Ze = Zo [C 22 + 2] c[ c22 2+ C2] (6.33) a2 b2 implying the dielectric distribution 1 r2 r2 27rr [(C1 - 2)x2 + a2C2j [(c - C2)y2 + b2C2 (6.34) A possible quadratic distribution for a circular plate of radius d, with the constraints Ze clZo for r=d (6.35) Ze = (6.35) c2Zo for r =0, is given by ze = z [ d2 2 + d l] (6.36) and the implied dielectric distribution is 1 d2 21rT (c2-c )r2 -d2c1 (6.37) At least a cubic variation is necessary to specify interior and perimeter resistances for a triangular plate. A cubic triangle with 10 nodes is shown in figure 6.2. Assume that the resistance is specified as e clZo for nodes 1-9 Z c2 (6.38) c2Zo for node 10.

126 3 1 4 5 2 Figure 6.2. Cubic triangle. A standard cubic function is given by Zienkiewicz [32]. Defining the basis functions gn under the constraint that (1 at node n gn = (6.39) 0 at node m # n, yields g9 = 1(3Li-1)(3Li-2)Li (6.40) 92 = 1(3L2-1)(3L2- 2)L2 (6.41) 93= -(3L3-1)(3L3 - 2)L3 (6.42) g4 = 9L1L2(3L -1) (6.43) 9 g5 = -L2L1(3L2-1) (6.44) 6 = L2L3(3L2 - 1) (6.45) g7 = 9L3L2(3L3 -1) (6.46) 98 = -L3L(3L3 -1) (6.47) g9 = -LlL3(3L -1) (6.48) 1g0 = 27L1L2L3 (6.49)

127 where al + blx + cly L1 = +b+cy (6.50) d a2 + b2x + c2y (651) L2 =.... (6.51) a3 + b3 + C3y (652) L = (6.52) d and d is given by d = x2y3 - 3y2 + Y1 - xly3 + xy2 - 2Y1. (6.53) The coefficients an, bn and cn are related to the physical coordinates and are given in Table 6.1. k=1 k=2 k=3 ak = 2Y3 - X3Y2 X3Y1 - Xl3 x1Y2 - x2y1 bk Y2 - Y3 Y3 -Y1 Y1 -Y2 Ck - X3- X2 1 -X3 X2 X- 1 Table 6.1. Expansion coefficients for cubic triangle. A resistive distribution may then be represented as 9 Ze = Zo c gn + C210 (6.54) n=l with a corresponding dielectric distribution given by r c E 9n i + C2910. (6.55) There are two important parameters to consider when modelling a spatially varying material distribution. The first is the minimum effective wavelength of the material (4.50), and the second is the taper function. A basic rule of thumb, based

128 on experience, states that about 10 samples per wavelength are needed to achieve accurate results. Since the samples are equally spaced, the sample width must be selected based on the smallest effective wavelength present in the material. However, this is not sufficient to completely determine the sample width. The taper function must be observed to see how rapidly the material properties change across the plate. The material variation across the sample cell must be relatively constant. Therefore, the sample width must be chosen to insure that not only the current is constant over the cell but also the material parameters. 6.4 Computed Spatial Domain Surface Currents Observation of the spatial distribution of surface current at a particular angle of incidence may give an indication as to which parts of the plate contribute most to the scattered field. Since the current is computed in rectangular coordinates, it is most convenient to view the distribution on a rectangular plate. Figures 6.3-6.7 give the magnitude of the dominant current component (lK|l) and cross polarization current component (IKJ) for a square 2Ao perfectly conducting plate illuminated with an E polarized plane wave at various angles of incidence. Each data point represents the current at the centroid of each square cell of side h. The parameter NS is the number of samples across the maximum dimension of the plate and N is the size of the FFT used. A pad of 3 rows of zeros is placed around each graph to show where the z = 0 plane is located. Figure 6.3 shows the distribution of current for a normally incident plane wave. The maximum computed current magnitude for the dominant component is approximately 10 times that for the cross polarization component. This is consistent with the physical optics approximation of the current which includes only the zero spatial frequency. For this angle of incidence, the higher spatial frequencies are present, but do not contribute significantly to the far field. Although not explicitly enforced, the

129 edge conditions appear to be satisfied. However, the author has found that as the iterations proceed, the edge currents are always the last to reach a steady state value. This was observed by plotting the distribution for several iterations and viewing the current distribution at each iteration. It appears that the interior current achieves a steady state level before the edge currents. Also, the low spatial frequency magnitude of the current appears first and then gradually becomes sharper and sharper as if it were a blurred image becoming clearer after each iteration. Obviously, the high spatial frequency detail of the current takes more time to develop than the low frequency spectrum. Figure 6.4 shows the distribution of current for an incident plane wave at q = 00 and 0 = 45'. The maximum computed magnitude for the domninant component of current is now only about 1.2 times that of the cross polarization current. This implies that the coupling between the equations is now stronger than at normal incidence. The dominant component of current at the front edge approaches a more uniform distribution and at the back edge nulls are developed and the level drops slightly. Obviously, the wave motions are adding constructively in the front and destructively in the back. The cross polarization current develops a standing wave that increases towards the rear of the plate. The nulls actually disappear for the cross polarization component. It appears that this is not due to interference like the dominant component, but rather, there seems to be a exponential current excited at the back edge which decays as it travels back towards the front edge possibly due to energy being shed outward from the edge. Figures 6.5 and 6.6 show the current distributions when the angle of incidence is in the + 450 plane. In this case, the currents are most strongly coupled. The front edges now dominate the scattering and the back edge contributions are very small. Figure 6.7 shows the distribution of current for a incident plane wave at 0 = 00 and 0 = 900. The maximium computed magnitude for the domninant component of

130 current is now only about.8 times that of the cross polarization current. The "DC" or zero spatial frequency component is practically zero and the contribution to the scattered fields comes from the front edge for the dominant component and the side edges for the cross polarization component. In figures 6.3-6.7 the current appears to go to zero at the corners. This is actually not the case. The author has observed that plotting the function f(x, y) = f in the first quadrant near the origin yields exactly the same corner behavior as the current. This function approaches 0 or oo depending on the direction in which the limit is taken. Note that if near the origin, Ke(x, y) oc i and Ke(x, y) oc /, then using the equation of continuity, the surface charge at the corner would behave as pS(x, y) oc c which approaches oo independent of the direction of approach. Figure 6.8 shows the dominant and cross polarization current for a square 2Ao dielectric plate of thickness r =.0254Ao and dielectric constant c, = 7.4 - jl.ll. The maximum computed magnitude for the dominant component is about 15 times that of the cross polarization component. Note that the edge behavior cannot be predicted exactly since the boundary condition for dielectrics couples the internal and external normal electric fields by the dielectric constant.

131 I \KI\ Figure 6.3. Conducting plate currents, a=900,q=00,0=00, d=2Ao, NS=55, N=120, iterations=100, residual=.00919.

132 I-Ke1 x IK:[ Figure 6.4. Conducting plate currents, a=90*,O=O0,0=45~, d=2Ao, NS=55, N=120, iterations=100, residual=.01489.

133 IK'elx Figure 6.5. Conducting plate currents, a=900,q=450,0=45~, d=2Ao, NS=55, N=120, iterations=100, residual=.01275.

134 IK;I y x IKeI x Figure 6.6. Conducting plate currents,a=900, q=450,0=900, d=2Ao, NS=55, N=120, iterations=100, residual=.02169.

135 IK1I tI Figure 6.7. Conducting plate currents,ca=90*, b=0~,O=90~, d=2Ao, NS=55,N=120, iterations=100, residual=.02942.

136 y z I KxlI Figure 6.8. Dielectric plate currents,a=90*,O=O0*,=O0, d=2Ao, 'r=.0254Ao, Ec=7.4 - j1.11, NS=55, N=120, iterations=52, residual=.00001.

137 6.5 Spectral Analysis of Surface Currents The spectrum of the surface current gives an indication of the major spatial frequencies which comprise the surface current. For circular and triangular plates, it may be easier to understand the current behavior better by looking at the spectrum of the current rather than the spatial distribution. In the context of the conjugate gradient FFT method it is also instructive to observe the asymptotic limit of the transform of the current. Consider first the lowest spatial frequency current as a constant current over a cell having side length h. The Fourier transform is given by h/h e-j.,(y(fx+fyy)dx e=-jr(fx+f)h in( ) sin(7rhf)) (6.56) J JO 7 wifyh The highest spatial frequency current components come from the corner points which have been postulated by the author to have the form K.(x,y) xoc /j. (6.57) The Fourier transform may be computed using the integral [34] j x-1e-k'dx = k-7(v, ka). (6.58) Since the function is separable, the transforms may be written as e dx = 2,j2fa) (6.59) jy-ei2rfs2 dy = (j2rfy)il(,j2rfya) (6.60) where y(w, x) is the incomplete gamma function. Observing that lim (w,x) = constant, (6.61) a rectangular plate in the x - y plane would have an asymptotic spatial frequency spectrum given by lim constant (physical optics)Kf oc - (6.62) f, fy -o f-fY

138 lim x.K\ oI 3 1 (6.63) f2,fy-~oo ff2 2 lim Iy-KI oc 3. (6.64) fT, fy —+00 f2f Examination of the spatial frequency spectrum may also be helpful to gain a better understanding of how the geometry effects the coupling of the current components. One way to explore the spectral dependence of the currents is to formulate the scattering problem in the spectral domain. As an illustration, consider the solution to the equations Jj [K 1 + Ky2] ds' = E; (6.65) JJff[K2 + K3 ]ds' = E (6.66) where 12 =j2(4ir2 + 2 dz2) G (6.67) 1 02 i2 = j G (6.68), = J 2r 9xOy = J (4 + Gy2 )G (6.69) Assume the current is multiplied by ZO and the physical coordinates are divided by Ao. An implicit assumption in this formulation is that (6.65) and (6.66) are only defined and valid on the plate. Defining a truncation operator as 1 on the plate C( - <(6.70) 0 off the plate and a complimentary truncation operator as 0 on the plate (2 = (6.71) 1 off the plate, the equations (6.65) and (6.66) may now be written as * K + 02 * K - (2[1 * K + 2* ] (1E (6.72) 2 * K + * KY- (2[02 * I + 03*K ] (Ey (6.73)

139 where * denotes the convolution operator. Since equations (6.72) and (6.73) are valid over all space, the Fourier transform may be applied to both sides. Letting (1E,' = h,,y and taking the Fourier transform of each equation allows the equations to be solved algebraically to yield K = 4 [C2(- h )3-([2(-[Wy])] )2 (6.74) K = 4 [(F[2(F'-[Wy[])] + h)l - (F[(2(- [W])] + h)2 (6.75) where Wx = '1KK + 2Ky (6.76) Wy - 2K +03Ky (6.77) and.1 1 - f2 2= f+ - +(6.78) =- '" '" 2 = -J- 1 (6.79).1 1-ft f f = 2 ' (6.80) It would appear that the transformation to the frequency domain yields operator equations of the second kind suitable for a fixed point iteration of the form Xn = f(xn-l). This is the basis for iterative methods in the spectral domain. However, equations (6.74) and (6.75) are intermediate and if simplified would reduce to equations of the first kind. This is demonstated by observing that the Fourier transform of (6.72) and (6.73) yields L [fI + Tyf2] dfdf = (6.81) J| [f2 + Tf,3Q3] dfdfy = h (6.82) where K'(fe f ) T = K(f f) (6.83) (f;)2 + (f;)2 - 1

140 y= K;(f,fy) (6.84) () + ()- 1 and 1 [ = j (f)2(( - f, fy- fy) (6.85) Q2 = -jf f'f((f-, f f y) (6.86) -2 3 = - (f)2]-(f_ -f - fy _ f)- (6.87) Note that the introduction of Te and T1 avoids the singularity on the unit circle in the frequency domain. Although (6.74) and (6.75) are intermediate, some useful information may be obtained by noting that Wj and Wy are the Fourier transforms of the scattered field off the plate. Making the assumption that the magnitude of these terms is small compared to the transform of the incident field, (6.74) and (6.75) simplify to K = - 4 h'3- hb2] (6.88) Ky [ 4 h'- h',2] (6.89) which the author has found to give a reasonable solution for the current at all angles of incidence mainly because it incorporates the coupling of the equations and the geometry through the Fourier transform of the incident field over the plate. The approximation appears to be accurate to represent the low spatial frequency behavior of the current. It is somewhat better than physical optics since it is valid at edge on incidence and really gives the impression of the next higher order term after physical optics although no rigourous justification is avaliable. As an example of the kind of frequency spectrum to expect, consider a square 2Ao conducting plate illuminated with an E polarized plane wave with Si^ = 0~ and 0~ < 9i < 90~. For these angles of incidence Kc is the cross polarization current and K' is the dominant component of Xthe

141 current. The transforms have the behavior sin[27r(f: - sin(O) cos(bi))] sin[27r(fy - sin(^) sin(bi))] f:fy X(f (- sin(/O) cos(&i)) (fy - sin(^) sin(&i)) /f + f2 - 1 (6.90) K sin[27r(f, - sin(O) cos(qi))] sin[2r(fy - sin(/) sin(&i))] 1 - f y(f - sin(Oi)cos(qi)) (fy - sin(Oi)sin(qi))+ f- 1 (6.91) It is immediately obvious that the spectrum of the currents is dominated by the angular frequency of the incident fields. The cross polarization has no zero frequency contribution and the dominant component always has a peak at the angular frequency of the incident field. In fact, the peak of the dominant component always lies inside or on the edge of the unit disk in the frequency domain. Figures 6.9-6.14 are computed Fourier transforms for the dominant and cross polarization currents induced on a perfectly conducting 2Ao square, a 2Ao equilateral triangle and a 2Ao diameter disk. The excitation is an E polarized plane wave at either normal or edge on incidence. In all cases of normal incidence the Fourier transform of the dominant component of current displays the characteristic Fraunhofer diffraction pattern based purely on the geometric shape. Note that this is the contribution of the Fourier transform of the incident field on the plate in (6.83)-(6.84). The peak spectral component is at zero and is independent of the geometric shape. As predicted, the cross polarization current transforms have nulls along each principle axis independent of the geometric shape or angle of incidence. At edge on incidence the transforms follow the angular spectrum of the incident field and the peak of the dominant current spectrum shifts from 0 to 1 on the unit frequency circle.

142 I ' I IOfye fz IKei Figure 6.9. Square plate transforms, ca=90~, 0=0~, 0=0~, d=2Ao, NS=45,N=240, iterations=200, residual=.02048.

143 Ik\I Av Figure 6.10. Square plate transforms, ca=90~, q=00, 0=900, d=2Ao, NS=45, N=240, iterations=200, residual=.03215.

144 IKy 1KI fh Figure 6.11. Triangular plate transforms, a=90~,=0~,0=0~, d=2Ao, NS=45, N=240, iterations=200, residual=.04281.

145 IKyI fy fs fy Figure 6.12. Triangular plate transforms, a=90~,q=0~,0=900, d=2Ao, NS=45, N=240, iterations=200, residual=.05016.

146 IKyI IKrI Figure 6.13. Circular plate transforms, Ca=90~,q=0~,0=0~, ro=Ao, NS=45, N=240, iterations=200, residual=.02533.

147 IKfe1I yf Figue 614.Cirula plte ransorm, a= =00, = 00,r0 A0, S=45 N=40, tertion=20, reidul=.0996

148 6.6 Backscatter Patterns Figures 6.15-6.20 show backscattering plots for various plate configurations. Each plot is a plane cut with the backscattering cross section a computed at 20 increments. The maximum number of iterations per angle was set to 50 with a tolerance of.0001. Figures 6.15 and 6.16 show the backscattering cross section for E and H polarizations for a perfectly conducting equilateral triangle with side=2oA oriented as in figure 4.2. The agreement with measured data is good for most of the angular region until the incidence angle approaches grazing. It is well known that the backscattering cross section is quite sensitive to the geometry close to edge on incidence such that any error in the approximation of the geometry will yield the greatest error in the results. Therefore, approximating the triangle as a collection of square cells will yield the greatest error at edge on incidence. The only remedy for this disadvantage is to decrease the cell size to improve the geometrical model. Figures 6.17 and 6.18 show the backscattering for a 2Ao square material plate with a thickness r =.0254Ao. The material constants are Er = 7.4 - jl.11 and lr = 1.4 - jO.672. This yields an effective wavelength of Ap t.31Ao implying a thickness of r =.0819Ap. Since only one sample is assumed in the z direction, the thickness sampling rate is approximately 12 samples per Ap. The number of samples over each major dimension of the plate is NS=39 which implies a surface sampling rate of approximately 6 samples per Ap. More accurate results may be obtained by increasing the surface sampling rate. Figures 6.19 and 6.20 show the backscattering for a 2Ao diameter dielectric disk of thickness r =.O1Ao. The material dielectric constant is Er = 2.0 - jlO.O implying an effective wavelength inside the plate of Ap,.41Ao. The plate thickness is then r =.02439Ap yielding a thickness sampling rate of approximately 41 samples per Ap. The number of samples across the diameter of the plate is NS=39 which implies

149 a surface sampling rate of approximately 8 samples per Ap. As seen, the computed results agree well with those computed by Willis and Weil [35].

150 20.0 14.0 8.0 2.0 -4.0 -10.0 -16.0 -22.0 -28.0 -34.0 -40.0 L-1 -90.0 -67.5 -45.0 -22.5 0.0 Oi (degree: 22.5 45.0 67.5 90.0 Figure 6.15. Perfectly conducting equilateral triangle plate: d=2Ao, NS=39, N=120, 50 iter/angle, average residual=.032.

151 -~ 20.0 14.0 8.0 2.0 -4.0 -10.0 -16.0 -22.0 -28.0 -34.0 -40.0 ' -90.0 -67.5 -45.0 -22.5 0.0 22.5 45.0 67.5 90.0 Oi (degrees) Figure 6.16. Perfectly conducting equilateral triangle plate: d=2Ao, NS=39, N=120, 50 iter/angle, average residual=.079.

152 20.0 I. 14.0 8.0 2.0 -4.0 -10.0 -16.0 -22.0 -- computed: measured -28.0 -34.0 - - -40.0 I 0.0 11.3 22.5 33.8 45.0 56.3 67.5 78.8 90.0 Oi (degrees) Figure 6.17. Square material plate: d=2Ao, T=.0254Ao, cE=7.4-jl.11, Ar-=1.4 - jO.672, NS=39, N=120, 50 iter/angle, average residual=.0014.

153 8.0 2.0 -4.0 -10.0 -16.0 0.0 11.3 22.5 33.8 45.0 56.3 67.5 78.8 90.0 Oi (degrees) Figure 6.18. Square material plate: d=2Ao, T=.0254Ao, Er=7.4-j1.11,,=1.4 - jO.672, NS=39, N=120, 50 iter/angle, average residual=.0003.

154 -e -/~r 10.0 4.0 -2.0 -8.0 -14.0 -20.0 -26.0 -32.0 -38.0 -44.0 -50.0 0.0 11.3 22.5 33.8 45.0 56.3 67.5 78.8 90.0 Oi (degrees) Figure 6.19. Circular dielectric plate: ro=Ao, r=.01Ao, cr=2.0-j10.0, NS=39, N=120, 50 iter/angle, average residual=.00006.

155 10.0 4.0 -2.0 -8.0 -14.0 -20.0 -32.0 - computed -- measured -38.0 -44.0 -50.0 0.0 11.3 22.5 33.8 45.0 56.3 67.5 78.8 90.0 Oi (degrees) Figure 6.20. Circular dielectric plate: r=Ao, r=.01Ao, e,=2.0 -j10.0, NS=39, N=120, 50 iter/angle, average residual=.00007.

156 6.7 Three Dimensional Bistatic Patterns The computation of a backscattering plot at n angles would require a solution of n systems of equations. Due to computational constraints, it is not possible to produce back scatter plots at this time. However, Since the computation for bistatic scattering requires the solution of a system with just one excitation, computation of a three dimensional plot is feasible. The algorithm to represent these plots in three dimensions was developed by the author and is in Appendix B. Figure 6.21 gives the bistatic scattering pattern of a square 2Ao conducting plate illuminated at normal incidence with an E polarized plane wave. For this case the energy appears to scatter equally in the backward and the forward direction. Figure 6.22 shows the same plate illuminated at ( = 30~ and 0 = 45~. For this incidence the energy is concentrated in the specular and the forward scatter direction but with a continuous distribution in the angular sector between these two directions. Based on the author's observation of similiar plots for other shapes, the distribution of the side lobes carries the information of the shape of the plate and the beamwidth of the specular and forward scatter lobes indicates the relative size of the plate. This is expected since the high spatial frequencies, which contribute most to the sidelobes, contain the detail of the object and the low spatial frequencies, which contribute most to the main lobes, contain the magnitude.

157 z N Y x Figure 6.21. Conducting square plate: d = 2Ao, Xi = 0~, i = 0~, NS=35, N=72

158 Y Figure 6.22. Conducting square plate: d = 2o, qi = 30~, Oi = 45~, NS=35, N=72.

159 6.8 Summary In this chapter an expresion of the spatial distribution of the surface currents on perfectly conducting plates was proposed and a method to compute a finite expansion of the current over an entire plate was presented. Several material distribution functions were given and basic guidelines were discussed for choosing the correct sample size. In addition, spatial and spectral surface current distributions were computed and discussed and an asymptotic expression for the high spatial frequency behavior was postulated. Further, principal plane backscattering patterns and bistatic three dimensional patterns were presented for various plate configurations.

CHAPTER VII FACTORS EFFECTING THE TERMINATION OF A CONJUGATE GRADIENT FFT METHOD APPLIED TO SCATTERING BY MATERIAL PLATES 7.1 Introduction Using the conjugate gradient FFT method as an iterative method naturally raises the issue of termination or convergence. The termination point is defined to be where the solution converges to some value that is within a certain tolerance of the exact value. This brings up the question of what criterion to use for termination and what is the level of accuracy achieved at the termination point. The purpose of this chapter is to discuss some of the salient aspects of terminating the method. 160

161 7.2 Estimating Error The most common error estimate or "stopping criterion" for the solution of the operator equation Az = h is the Euclidean norm of the residual divided by the Euclidean norm of the right hand side which is given by IMrflI2 _ \h-Az^iI 1n 12 ||h-Z2 (7.1) llhll2 ||hl12 This is commonly referred to as the normalized residual. If Ze denotes the exact solution, then using (7.1) the difference between the nth approximation and the exact solution is given by Zn-Ze = A-1r. (7.2) Using a consistent norm yields an absolute error bound 1lZn - Ze1 = IIA-'1 < JA-11j IlrnlI. (7.3) To obtain a relative error bound, note that if h = Az,, then I lhll = IIAZeII < IAII lZell. (7.4) Combining (7.3) and (7.4) yields the relative error bound.-. < I (7.5) iMell 1lhl1 The parameter Xc is referred to as the condition number of the operator A and is defined by;= IAlI IHA-'11. (7.6) The matrix norms |IAi| and iIA-11 must be consistent with the vector norms used in (7.5) and may be computed as iAI 12 = E Elamnl22 (7.7) m=l n=l

162 although, if computation is to be minimized, the infinity norm N I|AIoo = maximum mth row sum >E lamnl1 (7.8) n=1 could be used for vectors or matrices. The condition number,c gives a measure of the sensitivity of the solution to a change in the coefficients of A. A descriptive view would be to say that if the coefficients change by an amount Ac then the solution may change by an amount iAc. The interested reader may consult Rice [36] for a more general discussion of the condition of a operator. Note that for ic ~>> 1, the normalized residual is not a good measure of the relative error of the system. However, since a good estimate of the condition number is usually not available until the majority of computation is complete, it is easier to just let experience dictate the appropriate terminating normalized residual for a particular problem. If an estimate of ic is available, the predicted accuracy using t digit base fi floating point computations may be estimated by using the relation IIZn - Zelloo < -t (7.9) iIzeIloo obtained by Golub and Van Loan [10]. Making the assumption that /c = fql, and defining the parameter 6 = t - q as the number of correct decimal digits yields = tlog(/3)-log( (A)). (7.10) Therefore, if base 10 arithmetic is used, then for every factor of 10 that the condition number increases, one decimal place of accuracy is lost. Computation in single precision yields 8 decimal places with rounding in the last place such that 7 decimal places are accurate. This means that no more than 2 digits of accuracy could be expected from the solution of a system of equations with a condition number on the order of 105.

163 7.3 Eigenvalues Observation of the eigenvalue structure of the matrix associated with the plate scattering problem gives an indication of the relative condition of the formulation. The eigenvalues of a matrix A denoted by en are the roots of the characteristic equation given by JA-eIJ = 0 (7.11) where I is the identity matrix. If A is positive definite then the eigenvalues will be real and positive. It is known that the matrix associated with the plate scattering problem is not positive definite. As a verification of this statement, the eigenvalues for the matrix associated with the solution of the fields scattered from a perfectly conducting plate were observed. This matrix may be found in appendix A as part of a matrix version of the conjugate gradient method which does not use the DFT. Figure 7.1 shows the distribution of the eigenvalues in the complex plane for a 1Ao perfectly conducting square plate with 7 cells across each dimension. As expected, the eigenvalues are not real and positive.

164 0.10 -0.10 -0.30 ' ' I ' ' ' I ' ' ' I I ' ' ' I I I ' I ' ' ' I ' ' ': m -0.50 -0.70 -0.90 h -1.10 -1.30 h -1.50 -1.70 -1.90 A.A I! l -Z.1U ' -140.00....................... -121.00 -102.00 -83.00 -64.00 -45.00 -26.00 -7.00 12.00 Real Figure 7.1. Eigenvalues for a square plate matrix A with side=Ao, samples=7, size=98x98.

165 To make the matrix positive definite, the system Ax = b must be multiplied by the adjoint operator to yield AaAx = Aab. As discussed, the operator B = AaA is positive definite. The eigenvalue distribution for the matrix B is shown in figure 7.2. Note that now all the eigenvalues are positive and real. It may be shown that if emax and emin denote the maximium and minimum eigenvalues for the matrix B, then the condition number may be expressed as c lemi =(7.12) For this example, emax = 18393.45 and emin = 26.34 such that Xc = 698.31. This indicates that about 4 decimal places of accuracy could be expected with single precision computation which is consistent with the author's experience. It is interesting to note that the matrix associated with the scattering by a dielectric or dielectric/magnetic plate is usually much better conditioned than the matrix for the perfectly conducting plate problem. This is because the system of Fredholm equations of the second kind for the material plates yields a matrix which is much more diagonally dominant due to the terms outside the integrand. Furthermore, the matrix for the material plate scattering problem may be made arbitrarily wellconditioned by an appropriate choice of plate thickness since the diagonal matrix elements are inversely proportional to the thickness.

166 0.010,. r.,,. I..... I. I I. I.. I..I. I.... 0.008 e 0.006 0.005 1 - 0.003 0.001 -0.001 -0.003 -0.005 I I I I I I I I III I I I IIII I I I I, j, i,,,, 1 1 I.,,,, I,, I...,I,,I,, -0.006 -0.008 -n nin -V.V I. 0.0 2500.0 5000.0 7500.0 10000.0 12500.0 15000.0 17500.0 20000.0 Real Figure 7.2. Eigenvalues for a square plate matrix B = AaA with side=Ao, samples=7

167 7.4 Convergence Although the conjugate gradient method is a direct method, its unique property of also being an iterative method is very important from a computational viewpoint. Therefore, some measure of the convergence is necessary. Assume that the sequence {rn}Nf0o converges to zero. Then if positive constants a and L exist, such that lim IIrn+11 = L, (7.13) the sequence is said to converge to zero with order a and asymptotic error constant L. The conjugate gradient method is known to have linear convergence which implies a = 1. Figure 7.3 shows the asymptotic error constant L computed at each iteration for a conjugate gradient FFT method. In order to insure convergence based on the ratio test, the condition L < 1 must be satisfied. The test case is a square perfectly conducting 2Ao plate illuminated with a normally incident E polarized plane wave. The plate was segmented into 27 cells per dimension with a 60 point FFT. Note that as predicted, the convergence is linear since the curve approaches a constant and that constant appears to be 0.99.

168 1.00 0.95 0.90 - 0.85 0.80 Irn+ 1+11 0.75 IIrnI1 0.70 - 0.65 - 0.60 - 0.55 - 0.50 - 0.45 2 14 26 39 51 63 75 88 100 iteration number Figure 7.3. Asymptotic error constant.

169 The word convergence is somewhat vague unless it is defined with respect to some particular application. For the purposes of this presentation, assume that the sequence of approximations to the unknown surface currents has converged if there exists a number p and tolerances tl and t2 such that the kth residual norm 11rkI|2 and the difference between the kth cross section ak and the exact cross section ae satisfy the relations IIZn-Ze211 < tl (7.14) k - ael < t2 (7.15) for all k > p. Figure 7.4 shows the dependence of the normalized residual and the backscatter cross section on the iteration number. The test case shown is for a perfectly conducting square 2Ao plate illuminated with an E polarized plane wave at normal incidence. The plate was segmented into 41 cells per dimension with a 144 point prime factor FFT. The most important observation is that beyond a certain iteration number the incremental cost of computation may exceed the incremental benefit in terms of accuracy. Only experience will indicate the best terminating normalized residual, however, the author has found that a tolerance of.01 is usually sufficient to compute the backscattering cross section to within 0.1 dB at normal incidence and to within 2 dB at edge-on incidence.

170 v: T?-. Cid;z. - c3 C)( V 0 E 0 r" 1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.0 23.0 21.7 20.4 19.1 17.8 16.5 15.2 13.9 12.6 11.3 10.0 1i-o tz J4 1 8 15 22 29 35 42 49 56 iteration number Figure 7.4. Normalized residual and backscatter cross section.

171 7.5 Summary In this chapter the relationship between the normalized residual and the actual error of the solution was discussed. The eigenvalue structure of a perfectly conducting plate was analyzed for the positive definite and non-positive definite cases. Also, the relationship between the minimum and maximum eigenvalues and the condition number was shown for a conducting plate. The issue of convergence was discussed by first, verifying the order of convergence and second, establishing criteria for convergence in the context of computing the backscatter cross section.

CHAPTER VIII DERIVATION OF A BOUNDARY INTEGRAL CONJUGATE GRADIENT FFT METHOD FOR COMPUTATION OF SCATTERING FROM AN OBJECT WITH ARBITRARY GEOMETRY AND MATERIAL COMPOSITION 8.1 Introduction The conjugate gradient FFT method is directly applicable to a three dimensional object under the following geometric constraints: 1. The object is impenetrable with a surface that conforms to orthogonal planes. 2. The object is a penetrable material, but thin, and the surface conforms to orthogonal planes. 3. The object is penetrable and all major dimensions are large. The optimal objects are then a rectangular conducting box or a rectangular block of material. The fundamental constraint is that a uniform three dimensional lattice of cubes must adequately model the geometry of the scatterer. This requirement originates because of the DFT used to evaluate the appropriate convolution integrals. 172

173 If the integral equations are reparametrized to conform to the surface of the scatterer then the convolution nature of the integrand is lost and the efficiency of the FFT can not be exploited. The method proposed by the author in the following discussion is a hybrid method which combines a boundary integral method [37]-[38] with a conjugate gradient FFT method to yield a new method which minimizes the total storage required. The method is robust enough to allow the efficient computation of scattering from objects with arbitrary shape and material composition. It was derived by the author after the following observations were made. Take an object and break it up into appropriate segments suitable for some expansion function. Let the number of segments be denoted by N. Now surround the object with a rectangular bounding box and segment the volume between the box surface and the object surface into M segments. It can be now be stated that for a large class of geometries, the total information needed to solve the scattering problem for the object alone requires O(N2) storage. However, the amount of storage required to solve the scattering problem using a combined boundary integral conjugate gradient FFT method is O(N + M). Thus, it is obvious that the method will yield the largest gains in efficiency for impenetrable scatterers and will yield very little gain in efficiency for cavity type scatterers. As an illustration of the method, the scatterer will be assumed to consist of a curved, perfectly conducting plate coated on both sides with a dielectric/magnetic material. 8.2 Geometrical Formulation The geometry of the curved plate is shown in figure 8.1.

174 / ' z z x Figure 8.1. Curved material plate.

175 Let the curved plate be enclosed in a bounding shell which has an outer surface denoted by s5 and an inner surface denoted by s2. Decompose the region within this shell into uniformly spaced cubes which may further be subdivided into tetrahedrals. Let the region bounded by surface s2 be decomposed into tetrahedrals which degenerate to better approximate the surface of the scatterer. Further, let S3 denote the surface the top layer, S4 the surface of the bottom layer, and ~5 the conducting plate interfacing surfaces S3 and S4. Although tetrahedrals are suggested, the author believes this method is ideally suited for iso-parametric elements which exactly fit the surface of the scatterer. This is a major advantage of a differential equation approach over an integral equation approach since it is easier to differenciate a basis function rather than integrate the product of a basis function and a singular kernel over a non-uniform region. The partial decomposition of the curved plate is shown in figure 8.2.

176 81 -+ 4- 84 I Figure 8.2. Partial mesh for curved material plate.

177 Let the subscript a denote the fields within the volume surrounded by surfaces si and 82. Let the subscript b denote the fields within the volume surrounded by surfaces 52 and 83 and $4. Let the subscript c denote the fields within the volume surrounded by surfaces $3 and s5 and let the subscript d denote the fields within the volume surrounded by surfaces $4 and s5. Finally, let each tetrahedral be represented by a ten point quadratic [32] as shown in figure 8.3. 1 6 3 7 4 8 10 2 Figure 8.3. Quadratic tetrahedral. The cross section of the decomposition could appear as in figure 8.4. The midside nodes are assumed and not shown.

178 S2 -4 Si Figure 8.4. Cross section of solution region.

179 8.3 Formulation of Problem The basic idea in the boundary integral method is to replace the boundary conditions associated with the solution of a set of differential equations with a integral over the boundary of the region which relates the boundary unknowns to the internal unknowns. For the case of an electromagnetic scattering problem, the appropriate differential equation is the vector Helmholtz equation. The total electric fields in each region must satisfy the vector Helmholtz equations (V2+ko)Ea = 0 (8.1) (V+ ko)Eb = 0 (8.2) V2+ k)Ec = 0 (8.3) (V2 + k)Ed = 0 (8.4) where ko= W- 2oIo (8.5) k = - el/ (8.6) k2 = W222. (8.7) Let the Helmholtz operators be denoted by Dk and the field variables by Ek. The vector components can then be represented in matrix form as Dkx 0 0 Dk - 0 Dky 0 (8.8) 0 0 Dkz and Ekx Ek= Eky (8.9) Ekz L. J

180 Equations (8.1)-(8.4) can be written in matrix form as Da 0 0 0 Ea 0 0 Db 0 0 Eb 0 0 0 Dc 0 Ec 0 0 0 0 Dd Ed O in which Da,b,c,d represent matrices of the form (8.8). The appropriate boundary conditions at the interfaces provide the coupling of the fields and are given by A Ea n3 x (b- Ec n4 x (b- Ed) n5 x Ec n5 x Ed 3 ( -oEb,-fEc) n4 * (0oEb - 6Ed) = Ea on S3 = 0 on s3 = 0 ons4 = 0 on s5 = 0 on S5 = 0 on 34. 0 on S4. (8.11) (8.12) (8.13) (8.14) (8.15) (8.16) (8.17) The implemention of the boundary conditions may be accomplished implicitly, by incorporating the correct condition into each basis function. To illustrate this idea, consider the two dimensional boundary between two triangles p and q with different material constants as shown in figure 8.5.

181 y 3 3 2 x Figure 8.5. Material discontinuity between triangles. In this case the shape functions are linear, however, the extension to higher order polynomials and higher order shapes follows a similiar procedure. The electric field in each region may be represented by linear two-dimensional functions [32] EP = E y +EPy Eq = Eq^ + Eyy (8.18) (8.19) where Ep(x, y) = E(x, y) E(x, y) = E(x, y) = 3 E xn a(x y) n=l 3: epngn (X, y) n=l 3 eq q (x y) n=l 3 E, B (n, y). n=l (8.20) (8.21) (8.22) (8.23)

182 Applying the boundary conditions on the tangential and normal components yields pq x (EP- Eq) = 0 (8.24) np. (ePEP - qEq) = O. (8.25) Enforcing the boundary condition at the common node 1 yields [qp t -e tpqePl _tpqPe -n -nP e9 -pe - n Pe x r y r eyl -x y - r yl and enforcing the boundary condition at common node 2 yields Y 1 x2 - x2 P IL ]- [ P J (8.27) Lpqq qnpq e -npq pP e - npq Pepq P x ^r y r y2 2e.2 y epr y 2 n e:; -nPe e 2 [ 72P 2 - Y2 The field at the boundary nodes for triangle q may be written in terms of the fields at the boundary nodes of triangle p and thus reducing the required unknowns from 12 to 8 and coupling the fields. The boundary condition (8.11) is enforced as follows. Using the x component at the kth tetrahedral as an example, the vector component of the total electric field has the form 10 E k(x,y,Z) = Zeagak(, y Z) (8.28) -- exnn (8.28) n=l Consider the tetrahedral shown in figure 8.3 where node 1 connects to surface s2 and the nodes 2,3,4,8,9 and 10 form part of surface sl. The electric field in the tetrahedral may be written in matrix form as T ak ak 92x2 T ak ak eak 9 Xl 93 x3 eak ak eak E = + (8.29) ~ eak ak eak 955 98 g7 ak ak eak g7 e7 9 ak eak 910 ex10

183 Letting h k= (V2 + kc2)ga (8.30) the boundary condition yields hak eak 2 x2 hi -ak h hk eak 6xl 3 ~x3 h6 eak hak eak (8.31) h7 ak hak eak h7 37 '9 ex h k eak This system of equations cannot be solved numerically unless the boundary surface field E1' is known. This boundary condition replaced a boundary integral expressed in terms of the surface field over s2. ET = Ei +E (8.32) If the total field is evaluated on 85 and denoted by Ea then by use of the Stratton-Chu [33] equations E [( x E x V'+ f [(EV' ) X v' + ' x a)G+ ( Ea)V ] d' 2 2 2 (8.33) and thus, the boundary condition may be written as T h k Esk h k Eiak T hi el hk E93 h Ex3 h eak hak Ek hok Eiak hh e E-k4 hk E'4 = _ (8.34) ak ack E.ak ak iak h7 e ak hak Esak hak Eiak hak E sak hak Eiak 10 X10x10 X10

184 The entire system could be written in symbolic form as L1 - L2 0 0 0 Ea L3E' Dba Db Dbc Dbd Eb 0 0 Dcb Dc Dcd Ec 0 0 Ddb Ddc Dd Ed 0 The conjugate gradient FFT method could then be applied to t] (8.35) he entire system. 8.4 Multiple Plane Convolution The most time consuming computation per iteration will be the evaluation of the convolution integrals over the six sides of the bounding surface 82. This requires that the convolutions be computed in several planes. The concept of a multiple plane convolution may be illustrated by observing that the integrals will all have the form h(x,y, z) = J z(x', y')g(x - x', y -y', z)dx'dy' J- -OO (8.36) where the analytic Fourier transform of g is known. The convolution is evaluated for each value of z as h(x, y, z) = F- [z(f., f) o (f., f, z)]. (8.37) For parallel planes the convolution is computed in the same manner as for the coated plate given in Chapter V. However, for orthogonal planes the inverse transform is extremely sparce so special FFT's should be developed to handle this special case.

185 8.5 Summary The conjugate gradient FFT method, as discussed in this thesis, was extended to three dimensional arbitrary shape and material composition scatterers by combining it with a boundary integral method. The major advantage of this hybrid method is in storage minimization.

CHAPTER IX DERIVATION OF A MATERIAL DISTRIBUTION SYNTHESIS METHOD USING CONSTRAINED MINIMIZATION 9.1 Introduction The scattering characteristics of an object may be controlled by changing the material distribution over the surface. The applications of interest in this study are the synthesis of bistatic and backscatter patterns. The problem statement will be to synthesize the material distribution that yields a bistatic or backscatter level below some tolerance over some angular sector. A synthesis method was developed by Colton and Kress [39], based on previous work by Kirsch [40], and an alternative, but similiar method was also suggested by Angell and Kleinman [41]. These methods originated from studies of the complete inverse scattering problem and involve the approximate solution of operator equations of the second kind using eigenfunction expansions. The mathematical basis of the solution technique is given by Stakgold [42]. A different method used by Haupt [43] employs well known theories in antenna array synthesis to solve the material synthesis problem for planar strip problems. The method proposed by this author is different from the above. It is a formulation that is independent of the geometrical shape of the scatterer and exploits the 186

187 use of the FFT for computational efficiency. It results in a non-linear system of equations with linear and non-linear inequality constraints. This constrained problem is modified into an unconstrained problem using the method of penalty-functions [44] and solved using a general gradient method. The method is illustrated by applying it to three basic problems. 9.2 Placement of Nulls in the Bistatic Pattern The placement of nulls in a bistatic pattern may be illustrated as follows. The problem statement is to find the material distribution which yields a zero in the bistatic pattern at one or more angles. Consider the solution to the non-linear operator equation uv+Av = b (9.1) under the constraints (Bv, Bv) = 0 (9.2) Umin < U < Umax. (9.3) where v denotes a current, u denotes a material distribution and B denotes the far zone field operator. If M nulls are required for a planar plate seqmented into N cells, B would be given as g(. o1, xi, yi) g(,,1 01, 1,7 Yi)... g(51,,, xy, n) B = g(2, 02, x,y1) g(22,02, x1,Y1)... g(l1,,O,xN,yn), B = (9.4) g(oM, M, x, Y1) g(M, OM,, Y)... g((M, OM, XN, yn) where g(m, m, Xn,, yn) - ejik sin(~m)[cos(Om)xn+sin(Om')yn] g\oml Omi X*ni Yn) = e (9.5)

188 The equality constraint may be incorporated into the solution by defining an objective function to be minimized. The problem statement is then given as follows. Minimize I(u, v) = (r,,, r + w(Bv, Bv) (9.6) where r = b-uv-Av (9.7) subject to Umin < U < Umax (9.8) The weight w is a specified positive constant or 'penalty' which determines how much the constraint is satisfied. Thus, the possible range will be W 0 for unconstrained problem w = (9.9) oo for constrained problem. The particular choice of w will depend on the problem and only experience will indicate an appropriate value. Assuming a discrete representation of the unknown vectors as k T uk =[uk uk... UN (9.10) vk = [ v k v ** ] ' (9.11) the unknowns are generated in recursive form as u+l = u akpk (9.12) vk+l = k +ckp (9.13) where ak is a real positive constant and p, are search vectors chosen in the direction of the negative gradient of the objective function such that p = -VI(uk, k) (9.14) p = -VkI(uk, ). (9.15) PV

189 The gradients are defined as =V [ a 9a(9.16) V k = a a a a7 (9.17) [ av4 a~ k k'~ and using a backward difference approximation, they may be approximated as I [I(uk-I + A2Uk, vk) _ i(ukl1, vk)] 1 1 [I(uk-1 + Au vk) - i(uk-1, v k)] Vuk I(UIVk) = [ I(u k- + A~ukvk) - i(ukl17vkI)] (9.18) Jr [IIuk + Au Vk) _ I(ukl1, vk)] and ~1 [.(Uk, Vk-1 + zAVk) _ I(uk v k1)] 1 [I(uk, Vk-1 + ~AVk) _ I(uk, vkl)] VvkI(u, vk) = - IT[(Uk,; Vkl- + LAz4) - I(uk, vkl)] (9.19) I [I(Uk, Vk-1 + Av) - (Uk, vk1)] The search amplitude ak is chosen to minimize I(uk+l, v~+l) at each step such that ak [I(uk+1, vk+1)] 0 (9.20) Substituting the recursive expressions into (9.6) yields (r k+1, rk1 = ao+ aiak +a2ak2 + a3ak + a4Qk (9.21) (BVk+l, Bvk+l) = bo + blak + b2a 2 (9.22) where ao = r, kv (9.23) a, = 2e vj (9.24)

190 a2 = (qu, qV) - 2Re(r~,p o p) (9.25) a3 = 2Re(quvp opk ) (9.26) a4 (pk o0 k,pk 0 Pk) (9.27) bo = (Bvk, Bvk) (9.28) b = 2Re(Bvk, Bp) (9.29) b2 = (Bpk,Bpk) (9.30) k = Uk k k k q, U opk + v opk + Apk. (9.31) The objective function may then be written as I(Uk+l, vk+l) = Co + ClCak + C2ak + C3Ck + C4Ck (9.32) where co = ao + wo (9.33) cl = a1 +wl1 (9.34) C2 = a2+w/?2 (9.35) C3 -a3 (9.36) C4 = 4. (9.37) Using (9.20), ak is the root of a cubic given by k +6 +6 +k 63 = 0 (9.38) where 3 c3 1 = 4c (9.39) 1 C2 62 = -- (9.40) 2 c4 1 C1 -3 = - (9.41) 4 c4

191 From Lovitt [45], the roots are given as r1 = + -- 2 (9.42) r2 = ^ ++t (9.43) r3 = f+ t* t '. (9.44) where q 2 -+ 2 + 27 (9.45) -q 72 2 4 27 (9.46) +- -+ (9.47) 2 2 12 P = 62- (9.48) 6162 283 q 63 + I.1 (9.49) = 3 3 27 The parameter cak is then chosen as the smallest real positive root. A proposed algorithm is given below. Initialize the residual and search vectors. b = (b,b) (9.50) r - b -uv1 -Av1 (9.51) PU = - (9.52) P1 = rv (9.53) Iterate for k = 1,.... qk - uk ok (9.54) ac = -2Re(rk,,q"V) (9.55) -2 = Qk, )-2Re(r PV) (9.56) a3 = 2Re(qk,pkopk) (9.57)

192 Cr4 = (pUO pu"P, 0pvop (9.58) /3, = 2Re(Bv AIBp k) (9-59) #2= (Bp;,Bpk) (9.60) 6 = a + w13, (9.61) = a2 + Wf2 (9.62) = i 3 (9.63) =4 a4 (9.64) 6, 3_~ (9.65) 1 ~ 52 2~(9.66) 1 ~4 83 1 l(9.67) P = 2 31- (9.68) q = 273 (9.69) __ — + T+T (9.70) 72 - _ + p3 (9.71) t - +.3 (9.72) r1 = /72(9.73) =2 ~ 11+t~'(9.74) =3 ~ '(9.75) ak = mnn Ref r,,r2,r3} (9.76) ukl uk + Ckpk if in side range (.7 Umi or umax If outside range k+1 k k (.8 V V+akPv 9.8 rk+l b Uk+l k+l1 A ~l(.9 =UV (.9

193 7r = (r+l r+l) (9.80) pk+ - uI(k+1k+) (9.81) pk+1 = -VI(uk+l vk+l) (9.82) Terminate when I7 < tolerance. (9.83) fib 9.3 Controlling Bistatic Level The formulation is similiar to the previous section except that an inequality constraint is present. The problem statement is as follows. Find the material distribution which yields a bistatic pattern below a certain tolerance for a particular angular sector. The non-linear operator equation is given by uv+Av = b (9.84) under the constraints (Bv,Bv) < h (9.85) Umin < U < Uma. (9.86) where B denotes the far zone field operator. The inequality constraint may be incorporated into the objective function such that the problem statement is as follows. Minimize I(u, v) = (r r) + w [(Bv, Bv) - h]2 g(v) (9.87) where 0) for (Bv, Bv) - h < (988) 1 for (Bv, Bv) - h > 0

194 rv = b-uv-Av (9.89) subject to Umin U < Umax (9.90) The solution procedure is similiar to the previous case. 9.4 Controlling Backscatter Level This problem is considerably more difficult then the bistatic problem since multiple right-hand sides are required. A significant increase in the number of unknowns occurs because the surface currents for each excitation must be computed. The problem statement is as follows. Find the material distribution which yields a backscatter pattern below a certain tolerance for a particular angular sector. Consider the solution to the set of non-linear operator equations uVm +Av = bm form=1,...,M (9.91) subject to the constraints (Bv,,Bvm) < h, for m 1,...,M (9.92) Umin < U <Umax, (9.93) where m denotes each backscatter angle. Similar to the bistatic case, the inequality constraint may be replaced by an equality constraint. The new problem statement is given as follows. Minimize M I(u, v) = E [(ruvm, ru) + w[(Bm, Bvm) - h]gm(v)] (9.94) m=1l where m 0 for (Bvm,Bvm)- h<O gm(v) = (9.95) 1 for (Bvm, Bvm)-h>O

195 ruvm = b - uvm - Avm (9.96) subject to the constraint Umin U <Umax (9.97) The solution proceeds in the same manner as section 9.2. However, due to the potentially large amount of storage required for this problem, it would be advisable to solve the constant material scattering problem first and find where the peaks occur in the backscattering pattern. The synthesis problem would then start by placing nulls in the pattern at the anglular location of these peaks. 9.5 Extension to Arbitrary Shaped Scatterers Although the operator expressions given in this chapter have extensions to nonplanar surfaces, this extension would require a parametric replacement of the variables and destroy the convolution nature of the integrals. Therefore, it is the authors opinion that the method of chapter VIII be used to extend the synthesis problem to three dimensions. 9.6 Summary A method was proposed to synthesize the material distribution of a plate based on the solution of a constrained minimization problem. The method is independent of the geometry. For general three dimensional objects, the solution method of chapter VIII should be used to exploit the convolution nature of the integrals.

CHAPTER X CONCLUSION 10.1 Problem Formulation The author believes that the formulation given in Chapters IV and V provides the best accuracy at the least cost. The basic rule of thumb to follow when developing conjugate gradient FFT methods is to pick the method which minimizes the required spectrum. 10.2 Higher Order Integration Embedding higher order integration rules in the forward DFT was really an experiment to determine the sensitivity of the conjugate gradient FFT method to a change in integration formulas. The assumption by the author was that the majority of the error was due to the low order approximation to the Fourier integral. Based on observations in Chapter VII, this assumption was incorrect and the majority of the error appears to originate on the inverse transform due to the truncation of the infinite spectrum. The incorporation of the second derivatives into the integrand then amplifies the spectrum and in a practical sense, violates the bandlimited requirement. Although the higher order integration formulas increased the convergence 196

197 rate slightly, the increase in the computation per iteration offset the gain so that higher order integration does not appear to be a viable option at this time. Rather, removal of the second derivatives from the integral appears to increase the accuracy and convergence of the method significantly at only a slight increase in computation time per iteration. 10.3 Prime Factorization The speed advantages of the prime factor are well documented in the literature. Another advantage which is very important is the ease of programming of the algorithm. As discussed, the small order one dimensional DFT modules have already been established and are available. Modifications are relatively easy to make and can be implemented in a modular manner. Appendix C contains a two dimensional prime factor FFT written by the author using small one dimensional Winograd DFT modules found in Burrus [27]. If extreme efficiency is necessary, a separate forward and inverse FFT subroutine for each value of N should be used. There is a certain amount of overhead in terms of index calculation and indirect addressing which may be avoided if each FFT is "hard wired". Also, any sparseness of the data such as that due to padding may be more easily exploited if the size N is known a priori. 10.4 Future Work Chapter 8 presents a method which the author calls the boundary integral conjugate gradient FFT method and is applicable to objects having arbitrary shape and material composition. The algorithm requires substantially less storage than conventional methods and is thus inherently suitable for electrically large objects. It

198 may also use the most sophisticated geometry generation packages available while still exploiting the convolution nature of the integrals through use of the FFT. The method would be optimal for a closed impenetrable surface. For a penetrable closed surface or an impenetrable closed surface with an aperture, it is not immediately obvious that there is a significant reduction in storage requirements. Chapter 9 discusses a proposed synthesis technique for computing the material distribution required to achieve a certain scattering characteristic. The method proposed is not restricted to a particular geometrical shape. For an arbitrarily shaped object, the synthesis technique could be combined with the method proposed in chapter 8. 10.5 Summary of Author's Contributions The following paragraphs present a summary of what the author considers to be original contributions. However, it is the author's opinion that much of the subject of the thesis is under active investigation by other researchers and it would seem logical that similiar analysis could appear elsewhere in the near future. Chapter II presents a derivation by the author of a conjugate gradient FFT method. Although the author is unaware of a similiar derivation, the end result is not original. It is fair to say that chapter II represents the author's understanding of how a conjugate gradient FFT method could be derived. Chapter III contains several new contributions. The one and two dimensional weighted open finite difference integration formulas derived by the author for computation of the DFT are not known to exist elsewhere. The prime factor algorithm derived by the author starts out in the same way as the classical algorithm, however, the author has made some observations which lead to a different algorithm. The author observed that the order of summation of the nested DFT terms was independent of the mapping function. This observation allowed a very simple indexing scheme to

199 be used. The author then extended this algorithm to two dimensions and in doing so observed that a significant amount of sparcity in the data could be exploited to yield an even faster computation. This algorithm has been verified and is given in Appendix C. In chapter IV the author observed the appropriate criterion on which to develop the optimal formulation for implementation with a conjugate gradient FFT method. A unique algorithm was developed for each type of plate and each principle polarization which minimized the total computation and storage required. Each algorithm for chapter IV was programmed and may be found in appendix C. Chapter V extends the method of chapter IV to include the material coated conducting plate. As in chapter IV, a specific algorithm was developed for each type of plate and incident polarization. Chapter VI presents all the results computed with the programs in appendix C. With the exception of the perfectly conducting square plate, none of the surface current, backscattering or bistatic scattering plots has ever been published by another author. The three dimensional graphics algorithms used to display some of the results shown in this chapter were slowly developed by the author over the past 5 years. The end result was an amazingly simple algorithm to plot functions in different coordinate systems which is given in appendix B. The eigenvalues computed in chapter VII for the perfectly conducting plate numerically verified that the operators for the plate scattering problem are not positive definite. The direct comparison of the residual and backscattering cross section is the first such comparison made which indicates the relationship between residual and the convergence of the backscattering cross section. Chapter VIII presents a hybrid method proposed by the author which combines the boundary integral method with a conjugate gradient FFT method. The major advantage of this method is that the convolution nature of the boundary integral may

200 be exploited in the same way as the planar plate scattering problem to significantly reduce the storage requirements. Chapter IX presents a synthesis method proposed by the author which is not dependent on the geometry of the scatterer and may be solved to any required degree of accuracy. This method coupled with the proposed method of chapter VIII could provide a extremely useful tool in the analysis of complex scattering objects.

APPENDICES 201

202 APPENDIX A Application of a Matrix Conjugate Gradient Method to the Perfectly Conducting Plate Problem The appropriate integral equations for the solution of the surface current from a perfectly conducting plate are given by ||, [1K + 2K ds' = w1E: (A.1) [ 'K + l3K] ds' = w1E' (A.2) where I = (k2+ ) G (A.3) 02 22 = G (A.4) X3 = k + y)G (A.5) e-jko /(;-) ' +(y-yJ' G (A.6) 4r (x-x')2+(y-y'y)2 E = [cos(a,) cos(0i) cos(,) - sin(ai) sin(i)]e-j(kir) (A.7) E = [cos(ai) cos(0i) sin(Oi) + sin(ai) cos(i)]e-(k) (A.8) ki r = -ko sin(Oi) [cos(Oi)x + sin()i)y] (A.9) wl = -j o. (A.10) zo The plate is divided up into a total of N x N square cells of side length h over which the surface current is assumed to be constant. A set of matrix equations may

203 be found by satisfying the equations at the centroid of each square cell. The matrix equations may be represented as A B Ke Ei 1 = 1 (A.11) B C K EY where A, B and C are N x N complex matrices and KK, Et and Ey are N x 1 complex vectors. The matrix elements are computed by letting the row index denote the observation point or unprimed coordinate and column index represent the source point or primed coordinate. If simple midpoint integration is used, then for all points where the observation point is not equal to the source point, the matrix elements are given by Amn = h + -ko-+j+ k +jko) ] G(rmn) mn 'mn \ rmn 'mn mn (A.12) Bmn = h2 [( - ko+ 3+o) (m - n)(Ym - Yn)] G(r (A.13),mn r( 2 0 ~ -2 Vmn A.5 m mnm mn 2 3 2 3ko Ym- Yn 2 1 1 Cm h2 k[ +j3k)(Y —+jo( 1 +jk)- G(rn) rn l'mn l'mn mnmn (A.14) where e -jko rmn G(rmm) = (A.15) 47rrmn rmn = Jm-x)2 + (Ym- n)2 (A.16) when the observation point and the source point are the same, then the cell integral must be performed analytically due to the singularity of the Green's function. These matrix elements are usually called the "self cell" contributions. The two integrals of interest have the form A Ai I = / G(r, )ds' (A.17) 12 = 02 ((A18) 12 = x2 ] G, 'ds'. (A.18) t9

204 The integral I1 may be computed directly as 1 Jf f 1-jkor-rds, I, k 2 / / 2i- ds' 4r J J Ih fr - f/ d i 2 ---- — ds' 4ir 47 J-!j J - r'l 2 h.koh2 2 [ 2 cf., -J 4 +- dpdq.koh2 h fo 1 =-J 4 - - do 47r T Jo cos(o) koh2 h 1 + sin('). = -J - +- In (A.19) 47r 1 - - sin(o) o h V2 + 1.koh2 - In - ^ T *?(A.20) The integral 12 is taken from Miron [37] and is given by I2 m -ir +j 8 (A.21) 7h + 8, This yields the self cell matrix elements 1 V + 1 V2-.Oh2k3 Amm = Cmm, ehkle2n 4 h j8 ] (A.22) Bm = 0. (A.23) The reader should note that all the matrices are symmetric. The conjugate gradient algorithm is now given as follows. Initialize the residual and search vectors. h - IIhl2 + IIhYlI (A.24) s = AK' +BK1 (A.25) sy = BK + CK1 (A.26) r hy-,y (A.27) sX A* +B*r (A.28) sy B*rl + C*r1 (A.29)

205 as = llsx11 + 11sYll2 do = -1 p1 = X,,y P~,l- /oS, (A.30) (A.31) (A.32) Iterate for k= 1,... N Sx 78 Otk rk+l rxy Tir Sy 7o fk k+l Px,y The algorithm is terminated at k Apk + Bpy Bpk + Cpy KX + akP3,y k k ry - Oaksy A*rk+l + A*r k+l rx -]-./i ry B*r k+l + C*rk+l IIs 112+ 11J 112 -1 P:,y + 1k8x,y (A.33) (A.34) (A.35) (A.36) (A.37) (A.38) (A.39) (A.40) (A.41) (A.42) (A.43) (A.44) = N or when 7i/ < tolerance. 7h (A.45)

206 APPENDIX B Derivation of A Simple Algorithm for Plotting Functions in Rectangular, Cylindrical, or Spherical Coordinates Introduction The representation of arbitrary objects in three dimensional space is well documented in the literature [1]-[5]. A wide variety of graphics packages are available for every type of computer, however, these are usually quite sophisticated and require the user to have some prior knowledge of computer graphics. The purpose of this discussion is to present a simple algorithm to plot functions in rectangular, cylindrical, and spherical coordinates which is simple, yet flexible enough for implementation on any computer equipped with graphics capability. Basics The types of functions considered in this study will be either rectangular, cylindrical or spherical. Each function will have two independent variables and the third unused variable will be assigned as the function value. Using standard coordinate variables defined by R = / y2+2 (B.1) r = (B.2)

207 G = tan-1 () (B.3) 8 = tan-l'( ^) (B.4) the possible permutations for rectangular, cylindrical and spherical functions are shown in Table B.1. rectangular cylindrical spherical = f (y, z) z= f(,r) R = f(,o0) y=f(x,z) r=f(q,z) O=f(R,0) z= f(xy) j -=f(r,z) 0 =f(R,) Table B.1. Possible function types. The right-hand convention is used for the coordinate axis directions and the viewer will be assumed to be stationary and looking in from the positive z axis down onto the xy plane. The surface is observed by spinning it around its centroid counterclockwise in the xy plane by an angle ao, tipping it away from the viewer counterclockwise in the yz plane by an angle P/o and then projecting it straight onto the xy plane. This paper only considers rotation around the origin since the extension to an arbitrary center of rotation just requires a simple translation. The path of rotation is indicated in Figure B.1. Y Y (X2, y2, Z1) (2, Y3, Z2) 0Q, (XZ1,Yl17) I (X2,Y2,Z1) X Z Figure B.1. Rotation in xy and yz planes. Each point on the surface is converted to rectangular coordinates before the

208 transformation to the viewing coordinates. The rotation in the xy plane may be expressed in matrix form as x2 cos(ao) - sin(ao) 0 xl Y2 = sin(co) cos(ao) 0 Yl (B.5) z2 0 0 1 zl Similiarly, rotation the the yz plane may be written as x3 1 0 0 x2 y3 - 0 cos(PO) sin(/o) Y2 (B.6) z3 0 -sin(/o) cos(/3o) Z2 The composite transformation yields v1 sj cos(ao) -s sin(ao) 0 x vy = S. cos(3o) sin(ao) s, cos(/o) cos(ao) sz sin(3o) y (B.7) vz -s, sin(l/o)sin(a) -sy sin(o) cos(ao) s cos(po) z where the parameters s5, sy, and s, are user supplied scale factors for observing the surface. The coordinates v. and vy are used to plot the projected surface and Vz is used to determine the depth of each point. For computational convenience it is desirable to define two coordinates p and q which are related to the standard coordinates as shown in Table B.2. rectangular cylindrical spherical ~/(xy) f(qT r) f(, (Z f (, ) 0 q= Y r z 0 I.... I Table B.2. Definition of p and q coordinates.

209 The conversion relations for each coordinate system to rectangular is shown in Table B.3. rectangular cylindrical spherical - f(xy) = f(, r) r = f(q, z) R = f(0, O) = p q cos(p) f(p, q) cos(p) f(p, q) sin(q) cos(p) Y = q q sin(p) f(p, q) sin(p) f(p, q) sin(q) sin(p) z= f(p,) f(p, q) q f(p, q) cos(q) Table B.3. Conversion of p and q coordinates to rectangular coordinates. Note that the conditions 0 < f(, z) and 0 < f(4, 0) must be satisfied to avoid ambiguity in the surface orientation. Description of Algorithm The algorithm starts by mapping each quadrilateral in the pq space to the viewing surface space. The transformed quadrilaterals are then placed on the viewing surface from background to foreground in the same way a painter paints a landscape. Figure 2 shows a typical sample grid in pq space.

210 q ql2 qll qlo q9 q8 q7 q6 q5 q4 q3 q2 ql 111 112 113 114 115 116117:118 119 120 12i 100 101 102 103 104 105 106 107 108 109 110 89 90 1 92 93 94 95 96 97 98 99 78 79 r80 81 82 83 84 85 86 87 88. 9 o i,, ",, i, 67 68 69 70 71 72 7374 75 76 77 56 57 58 59 60 61 2 63 64 65 66 45 6 47 48 49 50 51 52 53 54 55 34 35 36 37 38 39 40 41 42 43 44...... Pi, i...., P,.I. 23 24 25 26 27 28 29 30 31 32 33 2 13 14 15 16 18 19 20 21 22 1 2 3 4 5 6 78 9 1011 a.. I I I I * Pi P2 P3 P4 P5 Ps P7 P8 P9 Plo Pll P12 p Figure B.2. Sampled function in pq space. For this example, there are 144 sample points and 121 quadrilaterals. A value of the function is computed at each centroid by taking the average of the corner points. This value is then transformed and the value v, is computed from (B.7). Figure B.3 shows a typical map of a single quadrilateral in pq space to,vy space.

211 q (pl, q2) (p2, q2) Vq (Vp2, p2) 0 (Vpl, q)7 (p, qc) (Vpc, Vqc) (Pl, ql) (P2, ql) (vpl, vql) (vp2 Vql P VP Figure B.3. Quadrilateral map from pq space to v,vy space. The quadrilaterals are ranked from 1 to 121 with 1 being the farthest away from the observer and 121 being the closest to the observer. The quadrilaterals are then drawn from 1 to 121 in the following manner. The interior of the quadrilateral is first filled with a solid color so that any line underneath is erased. A line is then drawn around the perimeter. Thus, if the quadrilaterals are placed on the viewing surface from back to front, the hidden parts of the surface will not be visible. Drawing the axis may be accomplished in several ways. The sample program given at the end of this paper draws each axis before the graph and thus the hidden portions of each axis are removed in the process. This is sufficient for many surfaces although it fails when the axis is visible and between the surface and the observer. A more accurate way to draw the axis would be to construct each line as a series of small segments which are considered to be zero width quadrilaterals. This would allow each axis to be drawn with the same algorithm as the surface. Test Results The following functions were generated using the program given at the end of this appendix. The program is written in Fortran 77 and uses PostScript [6]-[7] graphics primitives. The output was printed on an Apple LaserWriter.

212 Figure B.4 shows a function of rectangular coordinates plotted on a square base. Figure B.5 shows a function of the cylindrical variables b and r plotted on a circular base. Figure B.6 is a function of the cylindrical variables k and z plotted on a non-uniform base. Figure B.7 represents a function of the spherical variables > and 0 shown in three dimensional space. It has been the author's experience that the detail near the origin of some spherical plots is difficult to observe and it is therefore desirable to cut away an angular sector to view the functional variation near the origin. This may be accomplished by filling the polygon created by the border points along the cut and then redrawing the perimeter, as shown, for example, in Fig B.8. The algorithm presented is also sufficiently general to allow plots with nonuniformly spaced samples. Furthermore, it is possible to combine different types of surfaces by drawing each surface in a different coordinate system. An implicit assumption of the method is that the quadrilaterals should be small enough to accurately approximate the surface.

213 z Y x Figure B.4. f(x, y) = in(xsin(y) -3 <x < 3, -3 < y < 3 z y '...

oq. '11 00 IA IA NIA:I IA N O.

215 z Y X Figure B.6. f(q, z) = eZ cos(6), 0 < 2 < 2r, 0 < z < 3

216 y Figure B.7. f(b, 0) = cos2(20), 0 < b < 2r, 0 < 0 < 7r

217 hZ Figure B.8. FiurfB8 f(q0,O) =COS2(20),o0< q5~3r, O~<0< ir

218 Sample Program The following program was used to generate the test results shown in this appendix. PROGRAM PIINT C TIMOTHY 3. PETERS C C DEPT. OF EECS - RADIATION LABORATORY C C THE UNIVERSITY OF MICHIGAN C PARAMETER (L-10000,L2-100) REAL ZPC(L),XI(L),Y1(L),X2(L),Y2(L),13(L),Y3(L),14(L),Y4(L) REAL P(L),Q(L),F(L2,L2) INTEGER M(L) OPEN(UNIT-6,FILE'PAINT. PS') DATA MN,IMAX,YMIN,YMAI /1.OE+03,-i.OE+03,1.OE+03,-i.OE+03/ C INPUT PARAMETERS: FROM FILE 'DATA' C C C C NP,NQ - NUMBER OF SAMPLES ALONG THE P AND Q AXIS C C IT - TYPE OF CURVE C C IT-i RECTANGULAR F(I,Y) IT-3 CYLINDRICAL F(PHI,Z) C C T=2 CYLINDRICAL F(PHI,R) IT-4 SPHERICAL F(PHI,THETI) C C Al...AZ - SCALE CONSTANTS FOR THE I,Y,Z COORDINATES C C IA...AT - AXIS END POINTS AND ARROV LENGTH C C PO,TO - AZMUTHAL AND ZENITH OBSERVATION ANGLES C C P,Q,F - COORDINATES AND CORRESPONDING FUNCTION VALUES C OPEN(UNIT-1,FILE')DATA') READ(1,*) NP,NQ,IT,AI,AY,AZ,IAXB,YA,YB,ZA,ZB,AT,PO,TO READ(1,*) (P(I),I-1,NP) READ(1,s) (Q(J),J-1,NQ) READ(1,*) ((F(I,J),I1,NP),JU1,NQ) RT. 17453293E-01*TO RP..17453293E-01*PO CP-COS (.17463293E-01*P0) SP=SIN(.7453293E-0i*PO) CT-COS(. 17453293E-01*TO) ST-SIN(.17463293E-01*TO) R-0 DO 1 J-i,NQ-1 QC-(Q(J)+Q(J+1))/2.0 DO 2 I-1,NP-1 K-1+1 FC-(F(I,J)+F(I+1,J)+F(I+1,J+)+F(IJ+1))/4.0 PC=.(P(I)+P(I+1))/2.0 IF (IT.EQ. 1) THEN ISI-P(I) YSI=Q(J) ZS1nF(I,J) IS2mP(I+1) YS2nQ(J) ZS20F(I+1, J) XS3*P(I+I) YS3QQ(J+1) ZS3=3F(I+,J+1) IS4*P(I) YS4QQ(J+I) ZS4=F(I,J+1) ICZPC

219 YCUQC ZC-FC ELSE IF (IT.EQ. 2) THEN XIi-Q(J) *COS(P(I)) YS1-Q(J)*SIN(P(I)) ZS1-F(I,J) 1S2=Q(J)*COS(P(I+1)) YS2=Q(J)*SIN(P(I+1)) ZS2-F(I+1,3) IS3-Q(J+1) *COS(P(I+i)) YS3Q (3+1) *SIN(P(I+1)) ZS3-F(I+1,J+1) IS4-Q(J+1) *COS(P(I)) YS4-Q(J+1)*SIN(P(I)) ZS4=F(I, J+1) ICUQC*cOS(PC) YCMQC*SIN(PC) ZC=FC ELSE IF (IT.EQ. 3) THEN ISI-F(I,J)*COS(P(I)) YSI1F(I,J)*SIN(P(I)) ZS1=Q(3) 1S2-F(I+1,J)*COS(P(I+1)) YS2-F(I+1,J)*SIN(P(I+1)) ZS2-ZI 1S3=F(I+1,J+1)*COS(P(I+1)) YS3-F(I+1,J+i)sSIN(P(I+i)) ZS3-Q(J+1) IS4-F(I,J+1)*COS(P(I)) YS4-F(I,J+1)*SIN(P(I)) ZS4-Z3 XC=FC*COS(PC) YC=FC*SIN(PC) ZCMQC ELSE IF ((T.EQ. 4).ORt.(IT.EQ. 5)) THEN IS1-F(I,J)*SIN(Q(J) )*cOS(P(I)) YSI-F(I,J3) SIN(Q(J) )*SIN(P(I)) ZSI1F(I,J)*COS(Q(J)) 1S2-F(I+1,J)*SII(Q(J) )*COS(P(I+1)) YS2-F(I+1, J)*SIN(Q(J) )*SIN(P(I+1)) ZS2-F(I+1,J)*COS(Q(J)) IS3-F(I+1,J+1)*SIN(Q(J+1))*CO3S(P(I+1)) YS3-F(I+i,J+1)*SIN(Q(J+1))*SIN(P(I+1)) ZS3-F(I+, J+1)*COS(Q(J+1)) IS4=F(I,J+1)*SII(Q(J+1) )COS(P(I)) YS4-F(I,J+1)*SIN(Q(J+1) )*SIN(P(I)) ZS4-F(I,J+1)*COS(Q(J.1)) XC-FC*SIN(QC) *COS(PC) YC-FC*SII(QC)*SII(PC) ZCuFC*CO3S(QC) ELSE END IF CALL ROTATE(IS1,YSI,ZSI,Xl(I),Y1(I),AX,AY,AZ,RP,RT) CALL ROTATE(XS2,YS2,ZS2,12(K),Y2(I),AI,AY,AZ,RP,RT) CALL ROTATE(XS3,YS3,ZS3,13(I),Y3(K),AXIY,AZ,RP,RT) CALL ROTATE(1S4,YS4,ZS4,14(K),Y4(I),AI,AY,AZ,RP,RT) ZPC(X)n-ST*(SP*XC+CP*YC)eCT*ZC INAX-ANAXIl(XNAX,X1 (I)) YNIN-AINI~i(YINJY I)) YNllAIAlAI(YNAX,Yil(I)) 2 CONTINUE I CONTINUE WRITE(6,100) '/a {uoveto} def /1 {linoto} def /a {stroke} def' WRITE(6,100) '/sg {sotgray} def Ic {closepath 1 ag fill s} def' WRITE(6,100) 'I/ {closepath 0 ag a} dot Ig {0 ag a) dot'

220 WRITE(6,100) 'if {/Helvetica findfont 12 scalefont satfont} def' 1IRITE(6,100) '.5 setlinewidth IA {translate) def' WRITE(6,101) 306.0-0.5*(XNII+INAX),396.0-0.5*(YNIN+YIIA),' t' C PUT 01 EACH AXIS C ASMAI*SP WRITE(6,101) AI*CP*IA,CT*AS*XA,' a' WRITE(6,101) AX*CP*IB,CT*AS*XB,' 1' WRITE(6, 101) AX*CP*(IB-AT) -AY*SP*AT,CT*(AS*(IB-AT)+AY*CP*AT),y 1' WRITE(6,101) AX*CP*IB,CT*AX*SP*XB,' a' WRITE(6, 101) AX*CP* (IB-AT)+AY*SP*AT,CT*(AS*(IB-AT)-AY*CP*AT),I 1' WRITE(6,400) AX*CP*(XB+AT),CT*AI.SP*(IB+AT) 400 FORNAT('s f ',F7.2,11,F7.2,' a (I) show')) WRITE(6, 101) -AY*SP*YA,CT*AY*CP*YA,' m' WRITE(6,101) -AY*SP*YB,CT*AY*CP*YB,' 1' WRITE(8,101) AI*CP*AT-AY*SP* (YB-AT),CT*(AS*AT+AY*CP. (YB-AT)),' 1' VRITE(6,101) -AY*SP*YB,CT*AY*CP*YB,' a) VRITE(6,101) -AIsCP*AT-AY*SP*(YB-AT),CT*(AY*CP*(YB-AT) —AS*AT),' 1' WRITE(6,401) -AY*SP*(YB+AT),CT*AY*CP*(YB+AT) 401 FORNAT('s f ',F7.2,11,F7.2,) a CY show')) VWRITE(6,101) 0.0,AZ*ST*ZA,' a' VRITE(6,101) 0.0,AZ*ST*ZB,' 1' WRITE(6,101) -AY*SIN(RP)*AT,CT*AY*CP*AT+AZ*ST*(ZB-(AY/AZ)*AT),'1' WRITE(6,101) 0.0,AZsST*ZB,' a' WRITE(6,101) AY*SIN(DRP)*AT,-CT*AY*CP*AT+AZ*ST*(ZB-(AY/AZ)*AT), '1' WRITE(6,402) 0.0,AZ*ST*(ZB+(AY/AZ)*AT) 402 FORNAT('s f ',F7.2,lX,F7.2,' a (Z show') C SORT THE TAGS C DO 3 Iu1,(NP-1)*(NQ-1) DO 4 J-I,(NP-1).(NQ-1) IF(ZPC(NEJ)).LT. ZPC(N(I))) TEEN 1(I-IL ELSE END IF 4 CONTINUE 3 CONTINUE DO 5 l.1,(NQ-1)*(NP-1) WRITE(6,200) 11(N),Yl(N),X2(N),Y2(N),13(N),Y3(N),14(N),Y4(Ni) WRITE(6,201) X1(N),Y1(N),X2(N),Y2(N),X3(N),Y3(N),14(N),Y4(N) 5 CONTINUE C CUT OUT ANGULAR SECTOR C IF (IT. EQ. 5) THEN WRITE(6,101) 11(1),Y1(1),' a' DO 15 IuO,NQ-2 1-1+1 WRITE(6,101) 14(I*(NP-1)+1),Y4(I.(NP-1).1),' 1' 15 CONTINUE WRITE(6,100) 'c' WRITE(6,101) I1(1),Y1(1),' a' X-1 DO 16 IuO,NQ-2 1-1+1 WRITE(6,101) 14(I*(N[P-1)+1),Y4(I*(NP-1)+1),' 1' 16 CONTINUE VRITE(6,100) 'g' WRITE(6,101) 12(NP-1),Y2(NP-1),' a' K-I

221 DO 17 IuO,NQ-2 1=1+1 17 CONTINUE WRITE(6,100) 'c' WRITE(6,101) X2(NP-1),Y2(NP-1),' a) X11 DO 18 I-0,NQ-2 1=1+1 WRITE(6,101) 13((I+1)*(NP-1)), Y3((I+1)*(NP-1)),' 1' 18 CONTINUE ELSE END IF VRITE(6,100) 'g' WRITE(6, 100) 3shoupage) C FORKATS, C 100 FOREAT(A72) 101 FORMAT(F7.2,11,F7.2,AL58) 200 FORNAT(F7.2,11,F7.2,' a ',F7.2,11,F7.2,' 1 ),F7.2,1I, kF7.2.) 1 ',F7.2,1I,F7.2,' 1 c') 201 FORNAT(F7.2,11,F7.2,' xi ',F7.2,11,F7.2,.' 1 ),F7.2,11, kF7.2,3 1 ',F7.2,11,F7.2,) 1 wy) END SUBRtOUTINE ROTATE(IA,YA,ZA,I,Y,AI,AY,AZ,RP,RT) 1IAI*COS (RP)*XI-AY*SIN (RP) YA Y-COS (RT)* (AIeSIN(RP)*eIA+AY*COS(RP)*eYA)+AZ*SIN(RT)*eZi RETURN END

222 APPENDIX C Plate Programs This appendix contains Fortran 77 programs and subroutines for the solution of the scattering by planar material plates illuminated by an E or H polarized plane wave using the conjugate gradient FFT method described in this dissertation. The allowed perimeter shapes are rectangular, circular, or triangular, although, any perimeter may be synthesized by the user by adding an appropriate shape subroutine similiar to those already installed. Similarily, any material distribution may be used by including an appropriate subroutine. A brief description of the main programs is given in the following pages. The description of each subroutine is given in the comment statements for that subroutine. The required subroutines for each main program for the single plate are given in table C.1.

223 PROGRAM BRIEF DESCRIPTION CGFCON - This program computes the surface currents and backscattering cross section of a infinitesimally thin perfectly conducting plate illuminated with either an E-polarized or H-polarized plane wave. CGFDIE - Computes the surface currents and backscattering cross section of a thin dielectric plate illuminated with an E-polarized plane wave. CGiFDIH - Computes the surface currents and backscattering cross section of a thin dielectric plate illuminated with an H-polarized plane wave. CGFDME - Computes the surfae surface currents and backscattering cross section of a thin dielectric/magnetic plate illuminated with an E-polarized plane wave. CGFDMH -Computes the surface currents and backscattering cross section of a thin dielectric/magnetic plate illuminated with an H-polarized plane wave.

224 Subroutines Main Program____ required CGFCON CGFDIE CGFDIH CGFDME CGFDMH CONALG x DIEALG x ___ DIHALG ____x DMEALG __ _ _ x _ _ _ _ DMHALG ____x PERIMI x x x x x RECTAN x x x x x CIRCLE x x x x x TRIANG x x x x x SHIFTP x x x x x EPSUBR ____ x x x x F1,F2 x x x x TANIMP x x x x NORIMP x x MUSUBR ____x x F3,F4 _____x x TANADM x x NORADM x DDAFGA x x x x x INETAN x x x x x INENOR ____x x INHTAN ____x x INHNOR __ _ _ _ _ _ x _ _ _ _ BACSCA xx __ _ __ _ _ _ BACSCB _ _ _ _ _ ___ x BACSCC _ _ _ __ _ __ x _ _ _ _ BACSCD _ _ _ _ _ _ _ _ _ _ __x DERIV1 x x x x x DERIV2 x x x x x DERIV3 x x x x x DERIV4 _ _ _ _ _ _ __ x x x DERIV5 _ _ _ _ _ _ __x x DERIV6 _ _ _ _ _ _ _ _ _ __ x x PFFFT2 x x x x x TABLE x x x x x NORM22 x x x x x COPYME x x x x x r NEGONE 1 x — r x x x x Table C.1. Single layer plate programs.

225 PROGRAM CGFCON C THIS PROGRAM IS A DRIVER FOR SUBROUTINE CONALG C C TIMOTHY J. PETERS C C RADIATION LABORATORY C C DEPT. OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE C C THE UNIVERSITY OF MICHIGANI C C LAST UPDATE JULY 1988 C C ALLOWED FFT DIMENSIONS FROM THE SET (2,3,4,5,7,8,9,16) C C C C (L-2,L2-4) (L-38,L2*1296) (L=180,L2-32400) C C (L-3,L2-9) (L-40,L2-1600) (L-210,L2=44100) C C (Lin4,L2u16) (L-42,L2-1764) (L=240,L2=57600) C C (L=5,L2=25 (L-46,L2-2025) (L-252,L2-63504) C C (L-6,L2036) (L-48,L2=2304) (L-280,L2-78400) C C (L-7,L2-49) (L=66,L2=3136) (L-315,L2U99225) C C (Lm8,L2in64) (LinO,L2-3600) (L-336,L2-112896) C C (L-9,L2-81) (L-63,L2-3969) (L-380,L2=129600) C C (L-1O,L2-100) (L-70,L2-4900) (L-420,L2=178400) C C (L-12,L2=144) (L-72,L2-6184) (L-504,L2in254018) C C (L=14,L2=196) (L-80,L2=6400) (L-680,L20313600) C C (L-15,L2=225) (L-84,L2-7058) (L=830,L2=396900) C C (L-18,L2=258) (L90,L2in8100) (L=720,L25618400) C C (L-18,L2=324) (L-105,11025) (L=840,L2u706600) C C (L-20,L2-400) (L*112,L2=12644) (L-1008,L2-1018064) C C (L-21,L2"441) (L-120,L2-14400) (Lm1260,L2in1587600) C C (L-24,L2a576) (L-126,L2-15876) (Lu1680,L2-2822400) C C (L-28,L2=784) (L-140,L2in19600) (L=2520,L286350400) C C (L-30,L2=900) (L-144,L2=20736) (L-6040,L2.25401600) C C (L-35,L2-1225) (L-168,L2-28224) C PARAMETER (L-70,L2=4900) REAL IIR(L2),KII(L2),KYR(L2),IYI(L2),EII(L2),EIR(L2),EYR(L2) &,EYI(L2),RIR(L2),RII(L2),RYR(L2),RYI(L2),PXR(L2),PII(L2),PYR(L2) &,PYI(L2),QXR(L2),QXI(L2),QYR(L2),QYI(L2),SXR(L2),SXI(2),SYR(L2) &,SYI(L2),ZEI(L2),U1R(L2),UII(L2),U2R(L2),U2I(L2),X(L),Y(L) INTEGER SG(L2),FG(L2),SGT(L2) OPEN(UNIT86,FILE=)CONOUT') C INPUT VARIABLE DESCRIPTIONS: C C C C C C C C C C C C C C C C IS - INTEGER*4 PHI - REAL P12 - REAL THI - REAL TH2 - REAL DP - REAL DT - REAL IPOL -INTEGER TOL - REAL MMIX - INTEGER TYPE OF PLATE IS-i RECTANGULAR PLATE IS=2 CIRCULAR PLATE ISin3 TRIANGULAR PLATE INITIAL PHI ANGLE (DEGREES) FINAL PHI ANGLE (DEGREES) INITIAL THETA ANGLE (DEGREES) FINAL THETA ANGLE (DEGREES) ANGULAR INCREMNT OF PHI ANGLE (DEGREES) ANGULAR INCREMNT OF THETA ANGLE (DEGREES) POLARIZATION IPOL1l E-POLARIZATION (EZ-O) IPOL=2 H-POLARIZATION (HZ-O) TOLERANCE (USUALLY.001 TO.01) MAXIMU NUMBER OF ITERATIONS PER ANGLE C C C C C C C C C C C C C C C C C DO 1 I11,L2 KIR(I-nO.0 1IIIIU0. 0 XYR(I-0.0 IYI(I)-0.0 I CONTINUE IS-1 I

226 PHluO.O P12-0.O0 THN1O.O0 TB2uO.O0 DP*20. 0 DTn2.0 IPOLMIl TOL=.001 [NAI=l01 CALL PERIRI(L,L2,IS,IS,DS,SG,1,Y) CALL SHIFTP(LL2,SGISGT) CALL CONALG(LL2,NS,DSPHI,P12,T11,TE2,DPDT,IPOLKNAXTOL,SG &,FG,I,Y,IIR,KXI,IYR,XYI,RIR,RZI,RYR,RYI,PXRPXI,PYR,PYI,QIR,QXI &,QYRI1QYI,SXR,SXI,SYR,SYI,EXR,EZI,EYR,EYI,ZEI,U1I,UII,U2R,U2I) END

227 PROGRAM CGFDIE C THIS PROGRAM IS A DRIVER FOR SUBROUTINE DIEALG C C TIMOTHY J. PETERS C C RADIATION LABORATORY C C DEPT. OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE C C THE UNIVERSITY OF MICHIGAN C C LAST UPDATE JULY 1988 C C ALLOWED FFT DIMENSIONS FROM THE SET (2,3,4,5,7,8,9,16) C C C C (L-2,L2-4) (L-36,L2u1296) (Li180,L2-32400) C C (L-3,L2-9) (L=40,L2-1600) (L-210,L2-44100) C C (L-4,L2=16) (L-42,L2=1764) (L-240,L2=57600) C C (L=5,L2-25 (L=46,L2-2025) (L-252,L2-63504) C C (L-6,L2-36) (L-48,L2-2304) (L=280,L2i78400) C C (L-T,L2-49) (L-66,L2-3136) (L-315,L299225) C C (L-8,L2-I64) (L-60,L2-3800) (L-336,L2=112896) C C (L9,L2-i81) (L-63,L2=3969) (L-360,L2i129600) C C (Lu1O,L2-100) (L-70,L2-4900) (L-420,L2=176400) C C (L-12,L2=144) (L-72,L2-5184) (L5604,L2-224018) C C (L-14,L2=196) (L-80,L2-6400) (L-660,L2=313600) C C (L-15,L2-225) (L-84,L2-7058) (L-630,L2=396900) C C (L-16,L2*256) (L-90,L2-8100) (L-720,L2-518400) C C (L=18,L2=324) (Ln105,11025) (L=840,L2u706600) C C (L-20,L2-400) (L-112,L2-12544) (L-1008,L2-1016064) C C (L-21,L2-441) (L=120,L2=14400) (L=1260,L2=1587600) C C (L-24,L2=576) (L-126,L2-16876) (L-1680,L2-2822400) C C (L=28,L2-784) (L-140,L2-19600) (L-2520,L2-6360400) C C (L-30,L2-900) (L=144,L2U20736) (L-6040,L2-25401600) C C (L-35,L2-1225) (L=168,L2-28224) C PARAMETER (Lu12O,L2=14400) REAL 11(U),KII(L2), XYR(L2),KYI(L2),E I(L2),EIR(L2),EYR(L2) &,EYI(L2),RIR(L2),RXI(L2),RYR(L2),RYI(L2),PR(L2),PI(L2),PYR(L2) &,PYI(L2),QIR(L2),QXI(L2),QYR(L2),QYI(L2),SR(L2),SI(L2),SYR(L2) &,SYI(L2),ZEI(L2),UlR(L2),UII(L2)U2R(L2),U2(L2),(L),Y(L) &,EPI(L2),EP2(L2),ETR(L2),ETI(L2) INTEGER SG(L2),FG(L2),SGT(L2) OPEN(UNIT-6,FILE-'DIEOUT') C INPUT VARIIBLE DESCRIPTIONS: C C C C C C C C C C C C C C C C C IS - INTEGER*4 PHI - REAL PH2 - REAL THI - REAL TH2 - REAL DP - REAL DT - REAL T - REAL IPOL - INTEGER TOL - REAL KEAX - INTEGER TYPE OF PLATE IS-I RECTANGULAR PLATE IS-i2 CIRCUJLAR PLATE IS"3 TRIANGULAR PLATE INITIAL PHI ANGLE (DEGREES) FINAL PHI ANGLE (DEGREES) INITIAL THETA ANGLE (DEGREES) FINAL THETA ANGLE (DEGREES) ANGULAR INCREMENT OF PHI ANGLE (DEGREES) ANGULAR INCREMENT OF THETA ANGLE (DEGREES) THICKNESS NORMALIZED TO FREESPACE WAVELENGTH POLARIZATION IPOL-1 E-POLARIZATION (EZ-0) IPOL-2 H-POLARIZATION (HZ'.0) TOLERANCE (USUALLY.001 TO.01) MAXIMUM NUMBER OF ITERATIONS PER ANGLE C C C C C C C C C C C C C C C C C C DO I I-1,L2 KIR(I)-0.0 1II(I)S0.0 KYR(I)-0.0 IYI(I)=O.0

228 I GONTINUE IS=2 PHI1.0. 0 P12-0. 0 TE1-0.-0 T1290.0 DP-1.0 DT2. 0 TOL-.0001 [Nix-so T. 01 CALL PERItII(L,L2,IS,IS,DS,SGX,Y) CALL SHIFTP(L,L2,SG,SGT) CALL EPSUBR(L,L2,SG,X,Y,EP1,EP2) CALL TANIIP(L,L2,SG,T,EP1,EP2,ETR,ETI) CALL DIEALG(L,L2,NS,DS,PNIP12,THI,T12,DP,DTKNAX,TOLSG &,FG.1,Y,III,III,KYR,IYI,R1U,RtI,RYR,RYI,PXRPXI,PYR,PYI,QXI,QII &,QYR,QYI,SXR,SXI,SYR,SYI,EIR,EXI,EYR,EYI,ZE1,U1R,U1I,U2R,U21 a IETRETI) END

229 PROGRAM CGFDIHf C THIS PROGRAM IS A DRIVER FOR SUBROUTINE DIHALG C C TIMOTHY J. PETERS C C RADIATION LABORATORY C C DEPT. OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE C C THE UNIVERSITY OF MICHIGAN C C LAST UPDATE JULY 1988 C C ALLOWED FFT DIMENSIONS FROM THE SET (2,3,4,5,7,8,9,16) C C C C C C C C C C C C C C C C C C C C C (L=2,L2-4) (L-3,L2-9) (L-4,L2-16) (L=5,L2=25 (L-6,L2-36) (L-7,L2-49) (L=S,L2-64) (L=9,L2-81) (L-10,L2100O) (L=12,L2u144) (Lw14,L2w196) (L-16,L2=225) (L=16,L2=266) (L-18,L2=324) (L-20,L2=400) (L-21,L241) (L-24,L2u676) (L-28,L2u784) (L=30,L2=900) (L=356,L2-1226) (L=36,L2-1296) (L=40,L2u1600) (L-42,L2m1764) (L-45,L2-2025) (L-48,L2=2304) (L-56,L2*3138) (L=60,L2=3600) (L-63,L2-3969) (L=70,L2-4900) (L-72,L2-5184) (L-80,L286400) (L-84,L2-7066) (L=90,L2=8100) CL-lO0,11025) (L-112,L2in12544) (L-120,L2-14400) (L-126,L2=16876) (L-140,L2=19600) (L-144,L2u20736) (L-168,L2=28224) (L-180,L2=32400) (L=210,L244100) (L-240,L2=67600) (L-252,L2863604) (L-280,L2-78400) (L-315,L2-99225) (L-336,L2-112896) (L=360,L2-129600) (L=420,L2=176400) (L=604,L2=254016) (L=680,L2=313800) (L5630,L2u396900) (L-720,L2-518400) (L-840,L2-705800) (L-1008,L2-1016064) (L=1280,L2-1587800) (L=1680,L2=2822400) (L=2520,L2-6350400) (L56040,L2=25401600) C C C C C C C C C C C C C C C C C C C C C C PARAMETER (L-120,L2=14400) REAL KIR(L2),KII(L2),KYR(L2),KYI(L2),KZR(L2),IZI(L2),EXR(L2) ~,EII(L2),EYR(L2),EYI(L2),EZR(L2),EZI(L2),RIR(L2),RXI(L2),RYR(L2) &,RYI(L2),RZR(L2),RZI(L2),PIR(L2),PXI(L2),PYR(L2),PYI(L2),PZR(L2) ~,PZI(L2),QIR(L2),QXI(L2),QYR(L2),QYI(L2),QZR(L2),QZI(L2),SIR(L2) &,SXI(L2),SYR(L2),SYI(L2),SZR(L2),SZI(L2),ZEI(L2),UIR(L2),UII(L2) &,U2R(L2),U2I(L2),EPI(L2),EP2(L2),ETR(L2),ETI(L2),ENR(L2),ENI(L2) &,X(L),Y(L) INTEGER SG(L2),FG(L2),SGT(L2) OPEN(UNIIT-6,FILEn'DIHOUT') C INPUT VARIABLE DESCRIPTIONS: C C C C C C C C C C C C C C C C C IS - INTEGER*4 PHI - REAL PH2 -REAL THl - REAL TH2 - REAL DP - REAL DT - REAL T - REAL IPOL - INTEGER TOL - REAL KNAK - INTEGER TYPE OF PLATE IS1l RECTANGULAR PLATE IS=2 CIRCULAR PLATE IS*3 TRIANGULAR PLATE INITIAL PHI ANGLE (DEGREES) FINAL PHI ANGLE (DEGREES) INITIAL THETA ANGLE (DEGREES) FINAL THETA ANGLE (DEGREES) ANGULAR INCREMENT OF PHI ANGLE (DEGREES) ANGULAR INCREMENT OF THETA ANGLE (DEGREES) THICKNESS NORMALIZED TO FREESPACE WAVELENGTH POLARIZATION IPOL~l E-POLARIZATION (EZ-0) IPOL=2 H-POLARIZATION (HZO0) TOLERANCE (USUALLY.001 TO.01) MAXIMU UMBER OF ITERATIONS PER ANGLE C C C C C C C C C C C C C C C C C C DO 1 Iin1,L2 KIR(I)0.0 KII(I)U0.0

230 KYR(IMO.0 KYI (I)-0.O0 KZR(I-0.0 KZI(I)0.0 CONTINUE 15.2 PR1O0.0 PH2O0.0 T11-0.0 TH2-88.0 DP-2.0 DT-2.0 TOL-.0001 1NA150 T.01 CALL PERINI(L,L2,IS,IS,DS,SG,I,Y) CALL SHIFTP(L,L2,SG,SGT) CALL EPSUBR(L,L2,SG,X,YEP1,EP2) CALL TANINP(LL2,SG,T,EPI,EP2,ETR,ETI) CALL NORINP(L,L2,SG,T,EP1,EP2,ENR,ENI) CALL DIEALG(LL2,NS,DS,P11,PH2,TNI 1T12,DP,DT,INAX,TOL,SG,FG,X,Y & 11,11R,XIYR,KYI,XZR,KZI,RIK,RhI,YR,RYI,RZR,RZI,PI1,PXII,PYR,PYI &,PZR,PZI,QIR,QXII,QYR,QYI,QZR,QZI,SR,SXII,SYR,SYI,SZR,SZI,EIA,EXI &,EYRL,EYI,EZR,EZI,ZEI,UIR,UII,U2R,U2I,ETR,ETI,ENR,ENI) END

231 PROGRAN CGFDME C THIS PROGRAM IS A DRIVER FOR SUBROUTINE DMEALG C C TIMOTHY J. PETERS C C RADIATION LABORATORY C C DEPT. OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE C C THE UNIVERSITY OF MICHIGAN C C LAST UPDATE JULY 1988 C C ALLOWED FFT DIMENSIONS FROM THE SET (2,3,4,5,7,8,9,18) C C C C (L-2,L2-4) (L=36,L2=1296) (L=180,L2=32400) C C (L-3,L2-9) (L-40,L2w1600) (L-210,L2-44100) C C (L-4,L2-16) (L-42,L2=1764) (L-240,L2u57600) C C (L-5,L2-25 (L-45,L2-2025) (L-252,L2-63504) C C (L-6,L2-36) (L-48,L2=2304) (L-280,L2-78400) C C (L-7,L2-49) (L-56,L2-3136) (L-315,L2-99225) C C (L-8,L2-64) (L-60,L2-360) (L-338,L2in112896) C C (L-9,L2-81) (L-63,L2-3969) (L-360,L2-129600) C C (L-10,L2wl00) (L-70,L2-4900) (L-420,L2=176400) C C (L-12,L2s144) (L-72,L2-5184) (L5604,L2in254016) C C (L-14,L2=196) (L-80,L2.6400) (L-580,L2u313600) C C (L-15,L2m225) (L-84,L2-7066) (L-830,L2=396900) C C (L-16,L2*266) CL-SO0,L2=8100) (L=720,L2-518400) C C (L=18,L2u324) (L-106,11025) (L=840,L2u705800) C C (L-20,L2=400) (L-112,L2-12644) (L-1008,L2=1016064) C C (L-21,L2*441) (L=120,L2-14400) (L1i280,L2-1587800) C C (L-24,L2=576) (L=126,L2=15878) (L-i8a0,L2=2822400) C C (L-28,I2*784) (L=140,L2-19600) (L-2520,L286350400) C C (L-30,L2-900) (L-144,L2=20736) (L-5040,L2-25401600) C C (L-35,L2-1225) (L=188,L2-28224) C PARAMETER (L=120,L2=14400) REAL KIER(L2),IIEI(L2),XYER(L2),IYEI(L2),KIMR(L2),IIMI(L2) ~,XYNR(L2),KYMI(L2),IZMR(L2),XZMI(L2),EIR(L2),EII(L2),EYR(L2) &,EYI(L2),HIR(L2),HII(L2),HYR(L2),HYI(L2),NZR(L2),HZI(L2),RIERt(L2) &,RIEI(L2),RYER(L2),RYEI(L2),RIMR(L2),RIMI(L2),RYNR(L2),RYNI(L2) &,RZMR(L2),RZMI(L2),PIER(L2),PXEI(L2),PYER(L2),PYEI(L2),PuMR(L2) &,PXNI(L2),PYNR(L2),PYMI(L2),PZMR(L2),PZMI(L2),QXER(L2),QIEI(L2) *,QYER(L2),QYEI(L2),QIMR(L2),QXMI(L2),QYNR(L2),QYMI(L2),QZM(L2) *,QZMI(L2),SIER(L2),SXEI(L2),SYER(L2),SYEI(L2),SIMR(L2),SIMI(L2) *,SYMR(L2),SYNI(L2),SZMR(L2),SZMI(L2),ZE1(L2),UIR(L2),UII(L2) k,U2R(L2),U2I(L2),U3R(L2),U3I(L2),EPI(L2),EP2(L2),ETR(L2),ETI(L2) &,MU1(L2),MU2(L2),MTR(L2),MTI(L2),NNR(L2),MNI(L2),I(L),Y(L) INTEGER SG(L2).FG(L2),SGT(L2) OPEN(UNIT-6,FILE'3DMEOUT') C INPUT VARIABLE DESCRIPTIONS: C C C C C C C C C C C C C C IS - INTEGEne4 PHI - REAL PH2 - REAL THi - REAL TH2 - REAL DP - REAL DT - REAL T - REAL TOL - REAL EMAX - INTEGER TYPE OF PLATE IS-I RECTANGULAR PLATE IS=2 CIRCULAR PLATE ISin3 TRIANGULAR PLATE INITIAL PHI ANGLE (DEGRES FINAL PHI ANGLE (DEGREES) INITIAL THETA ANGLE (DEGREES) FINAL THETA ANGLE (DEGREES) ANGULAR INCREMENT OF PHI ANGLE (DEGREES ANGULAR INCREMET OF THETA ANIGLE (DEGREES) THICKNESS NORMALIZED TO FREESPACE WAVELENGTH TOLERANCE (USUALLY.001 TO.01) MAXIMM NUMBER OF ITERATIONS PER ANGLE C C C C C C C C C C C C C C C DO 1 Iinl,L2 KXER(I-O.0

232 KIEI(I)-0.0 KYER(I) 0.0 KYEI(I)'O.O KJIR(I)-O.O KIM(I)O.0 KYMR(I)O0. 0 KIYI(I)-0.0 KZMR(I)=O.O KZMI(I)0.0 CONTINUE IS-1 PHI-0.0 PH2-0. 0 TH-0.0 TH2=90.0 DP2.0 DT-2.0 TOL=. 0001 KAIso50 T=. 0254 CALL PERIMI(L,L2,IS,S,DS,SG,,Y) CALL SHIFTP(L,L2,SG,SGT) CALL EPSUBR(L,L2,SG,X,Y,EP1,EP2) CALL lUSUBR(L,L2,SG,I,Y,NIU1,U2) CALL TAIIMP(L,L2,SG,T,EP1,EP2,ETR,ETI) CALL TANADM(L,L2,SG,T,U1,U2,TR,NTI) CALL IORADK(L,L2,SG,T,MU1,NU2,NiR,NNI) CALL DKEALG(L,L2,IS,DS,PH1,PH2,TH1,TH2,DP,DT,IKAX,TOL,SG,FG,I,Y &,K ER,KIEI,XYYER,YEI,XINR,INI,,IYNi,XYNIZMR,IZNI, IXER,RXEI,RYER &,RYEI,,RR,RI, I,RYNR,RYhI,RZR,IRZI,PIER,PIEI,PYER,PYEI,PINR,PfI &,PYNR,PYNI,PZNR,PZNI,QIER,QIEI,QYER,QYEI,QIM,QMII,QYIR,QYNI,QZNI &,QZNI,SIER,SIEI,SYER,SYEI,SIMR,SXII,SYNR,SYMI,SZMR,SZKI, Ei,EZI &,EYR,EYI,HX,II,HYR,YI,HZZI,ZEI,U1i,UlI,U21,U21,U3,U3,ET, &,ETI,NTR,NTI, MN,MI) END

233 PROGRAM CGFDNK C THIS PROGRAM IS A DRIVER FOR SUBROUTINE DMHALG C C TIMOTHY J. PETERS C C RADIATION LABORATORY C C DEPT. OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE C, C THE UNIVERSITY OF MICHIGAN C C UAST UPDATE JULY 1988 C C ALLOWED FFT DIMENSIONS FROM THE SET (2,3,4,5,7,8,9,16) C C C C C C C C C C C C C C C C C C C C C (L-2,L2-4) (L-3,L2-9) (L=4,L2-16) (L=S,L2-25 (L-6,L2-38) (L-7,L2-49) (L-8,L2-64) (L-9,L2n8l) (L-10,L2=100) (L-12,L2u144) (L=14,L2u196) (L-15,L2=226) (Lu186,L2=256) (Lu18,L2=324) (L-20,L2=400) (L-21,L2=441) (L=24,L2-576) (LO28,L2=784) (L-30,L2.900) (L=35,L2=1225) (L-386,L2-1296) (L=40,L2-1600) (L=42,L2=1764) (L-45,L2-2025) (L-48,L2=2304) (L-566,L2-3136) (L=60,L2-3600) (L-63,L2=3969) (L=70,L2-4900) (L-72,L256184) (L-80,L2=6400) (L-84,L2-7066) (L=90,L248100) (L=10,,11025) (L=112,L2in12544) (L=120,L2u14400) (L-126,L2-15876) (L=140,L2-19600) (L=144,L2in20736) (L-168,L2=28224) (L-180,L2-32400) (L=210,L2-44100) (L-240,L2-67600) (L-252,L2-63504) (L-280,L2-78400) (L-3156,L2-99226) (L-336,L2u112896) (L-360,L2u129600) (L-420,L2-176400) (L=604,L2-264016) (L-660,L2-313600) (L-630,L2=396900) (L=720,L2u518400) (L=840,L2-705600) (Lul008,L2-1016064) (L=1260,L2=1687600) (L-1880,L2-2822400) (L-2520,L2-6360400) (L=5040,L2-26401600) C C C C C C C C C C C C C C C C C C C C C C PARANMETR (L-120,L2=14400) REAL KIMR(L2),IIM (Ta),XYNR(L2),XYMI(L2),IIER(L2),KIEI(L2) &,XYER(L2),IYEI(L2),IZER(L2),KZEI(L2),HIR(L2),HII(L2),HYR(L2) &,HYI(L2),EIR(L2),EII(L2),EYR(L2),EYI(L2),EZR(L2),EZI(L2),RIMR(L2) &,RIM(L2),RYNR(L2),RYNI(L2),RXER(L2),RIEI(L2),RYER(L2),RYEI(L2) &,VRZER(L2),RZEI(L2),PIMR(L2),PIM(L2),PYMR(L2),PYNI(L2),PIER(L2) &,PIEI(L2),PYER(L2),PYEI(L2),PZER(L2),PZEI(L2),QuMR(L2),QIMI(L2) &,QYMR(L2),QYNI(L2),QIER(L2),QXEI(L2),QYER(L2),QYEI(L2),QZER(L2) k&,QZEI(L2),SIMR(L2),SIMI(L2),SYNR(L2),SYMI(L2),SIER(L2),SIEI(L2) &,SYER(L2),SYEI(L2),SZER(L2),SZEI(L2),ZE1(L2),UIR(L2),UII(L2) &,U2R(L2),U21(L2),U3R(L2),U3I(L2),EPI(L2),EP2(L2),ETR(L2),ETI(L2) & MUI(L2),NU2(L2),NTR(L2),NTI(L2),ENIR(L2),ENI(L2),X(L),Y(L) INTEGER SG(L2),FG(L2),SGT(L2) OPE.N(UNIIT=6,FILE-'DMHOUT') C INPUT VARIABLE DESCRIPTIONS: C C C C C C C C C C C C C C IS - INTEGER*4 PHI - REAL PH2 - REAL THI - REAL TH2 - REAL DP - REAL DT - REAL T - REAL TOL - REAL [MAX - INTEGER TYPE OF PLATE ISnl RECTANGULAR PLATE I5a2 CIRCULAR PLATE I5u3 TRIANGULAR PLATE INITIAL PHI ANGLE (DEGREES) FINAL PHI ANGLE (DEGREES) INITIAL THETA ANGLE (DEGREES) FINAL THETA ANGLE (DEGREES) ANGULAR INCREMET OF PHI ANGLE (DEGREES) ANGULAR INCREMENT OF THETA ANGLE (DEGREES) THICKNESS NOR MAL IZED TO FREESPACE WAVELENGTH TOLERANCE (USUALLY.001 TO.01) MAXIMUM NUMBER OF ITERATIONS PER ANGLE C C C C C C C C C C C C C C C DO 1 In1,L2 KXMR(I)-0.0

234 IIN(I)n0.O KYUm(I)nO.0 ~YRI(I-uO.0 IXER (I)0..0 KIEI(M -0. 0 KYER(I-uO.0 KYEI(I)0.0 KZER(IinO.0 XZEI(I)in0.0 CONTINUE Is-i PIlO.0 PN20. 0 TEIUO. 0 TH2in88.0 DP-2.0 DT2. 0 TOLU. 0001 'ilU-so T-.0254 CALL PERINI(LL2,IS.NS,DS,SG,X,Y) CALL SHIFTP(L,L2,SG,SGT) CALL EPSUBR(L,L2,SG,X,Y,EPI,EP2) CALL MUSUBR(L,L2,SG,X,YNU1INU2) CALL TAIIINP(L,L2,SG,T,EPI,EP2,ETR,ETI) CALL NORINP(L,L2,SG,T,EPI,EP2,EUR,EII) CALL TANADN(L,L2,SG,TNU1,NU2,NTR,NTI) CALL DNEALG(L,L2,1S,DS,PH1,P12,TN1,TN2,DP,DT,INAX,TOL,SG,FG,X,Y &,IlNR,IINI 1KYNR,IYNI,KZER,KIEI,IYER,IYEI DIZER,KZEI,RUU,IXNI Y1R &,RYNI,RXER,RXEI,RYER,RYEI,RZER,RZEI,PINR,PINIIPYUR,PYNI,PIER,PIEI &,PYER,PYEI,PZER,PZEI,QIUM,QINI,QYNR,QYMI,QXER,QXEI,QYER,QYEI,QZER &,QZEI,SINR,SINI,SYNR,SYNI,SIER,SIEI,SYER,SYEI,SZER,SZEI,ElI,HlI &,EYR,EYI,EIR,EXII,EYR,EYI,EZR,EZI,ZEI,UiR,UII,U2R,U21I,U3R,U31I,ETR,,ETI, EnR, EnI,TR, xTi) EDI

235 SUBROUTINE CONALG(L,L2,NS,DS,PHI,PH2,TH1,TH2,DP,DT,IPOLKMAI,TOL &.,SG,FG,X,Y,IIR,III,IYR,IYI,RIR,RXII,RYR,RYI,PXR,PII,PYR,PYI,QXR,QII a,QYRQYI,SXR,SXI,SYR,SYI,EXR,EXIIEYR,EYI,ZE1,U1R,U1I,U2RU2I) C THIS SUBROUTINE USES A CONJUGATE GRADIENT FFT METHOD TO COMPUTE C C THE SURFACE CURRENT AND RCS OF A THIN PERFECTLY CONDUCTING PLATE C C ILLUMINATED WITH AN E OR H POUARIZATED PLANE WAVE C REAL KIR(*),KII(*),KYR(*),IYI(*),RIR(*),RII(*),RYR(*),RYI(*) &l,EIR(*),EII(*),EYR(*),EYI(*),PIR(*),PXI(*),PYR(*),PYI(*),QIR(*) &,,QII(*),QYR(*),QYI(*),SIR(.),SII(*),SYR(*),SYI(*),ZEI(*),U1R(*) &,-UiI(*),U2R(*),U2I(*),I(*),Y(*) INTEGER N(4),SG(*),FG(*),SIGN CALL TABLE(L,M,N) CALL DDAFGA(L,DS,ZE1I,FG) DATA P1I,TP,RAD /.3141593E+01,.6283196E+01,.1745329E-0l/ Tln2.0*(TP.PI*DS*DS-1.0) VIi. 0/(TP*DS*DS*L2) WRITE(6, 500) IF (IPOL.EQ. 1) THEN AL9O.0 ELSE ALmO0.0 END IF C STEP THROUGH EACH INCIDENT ANGLE C N1.INT((PH2-PH1)/DP) 12-INT((TH2-TH1)/DT) DO 1 IPHIO0,N1 PH-PHI+IPHI*DP DO 2 ITHEO0,N2 TH-THI+ITHE*DT CALL INETAN(L,L2,DS,SG,AL,PH,TH,I,Y,EIR,EII,EYR,EYI) CALL NORM22(L2,EIR,EXII SGENI) CALL NORM22(L2,EYR,EYI ISGENY) GE-ENX+ENY RI-RAD*PH R2URD*TH CPxtCOS (RI) SP=SIN(R1) CT-COS(R2) ST-SIN(R2) C INITIALIZE RESIDULE C CALL COPYXE(L2,SG,KIR,QXR) CALL COPYME(L2 DSG,XIII,QII) CALL COPYME(L2,SG,EYRQYR) CALL COPYNE(L2.SG,KYI.QYI) CALL PFFFT2(L,NSM,NDQIRIQxI,SIGN) CALL PFFFT2(L,NS,M,N,QYR,QYI,SIGN) DO 3 I-I,L2 IF (FG(I).EQ. 1) THEN SIR(I)u-ZEI (I).QXI(I) 5l1(I)w ZEI(I)*QXR(I) SYR(M a-ZE1 MI * QYI (I) SYI(I)- ZE1(I)sQYR(I) ELSE SIR(I- ZE1(I)*QIR(I) SYR(I)u ZE1(I)*QYR(I) SYI(I)- ZEI(I)*QYR(I) END IF 3 CONTINUE

236 MiGni CALL PFFFT2(L,NS,N,N,SIR,SXI,SIGN) CALL PFFFT2(L,NS,N,N,SYR,SYI,SIGN) CALL DflIV1(L,L2.SG,TI,SI1.UIR) CALL DERIVI(L.L2,SG,TI,SII,UII) CALL DERIV2(L,L2,SG,SYR,U2R) CALL DERIV2(L,L2,SG,SYI,U2I) DO 4 I=I,L2 IF (SG(I) N1E. 0) TREN QIR(I)um-VI*(U1I(I)+U2I(I)) QXI(I)- VI*(UIR(I)+U2R(I)) ELSE QIR(I-in.0 END IF 4 CONTINUE CALL DERI1V2(L,L2,SG,SXR,U`IR) CALL DERIV2(L,L2,SG,SXI.UII) CALL DERIV3(L.L2,SG,T1,SYR,U2R) CALL DERIV3(L,L2,SG,T1,SYI,12I) DO S I1I1L2 IF (SG(I NE. 0) THEEN QYR(I)=-VI*(U1lI ()41121(I)) QYI(I)a VI*(UIR(I)+U2R(I)) ELSE QYRMI-0.0 QYI(I)-.0. END IF 5 CONTINUE DO 6 I-I1,L2 IF (SG(I).NE. 0) TEEN RIR(I)-EIR(l)-QIR(I) RYR(I)-EYR(I)-QYR(I) RYI (I) EYI(I) -QYI (I) ELSE RXR(I)0.O RaII(I0.0 RYR(I)=O.0 RYI(I)w0.0 END IF 6 CONTINUE CALL COPYNE(L2,SG,RII,QII) CALL COPYNE(L2,SGRII,QII) CALL COPYNE(L2,SG,RYR,QYR) CALL COPYNE(L2,SGRtYI IQYI) SIGN_-I CALL PFFFT2(L,NS,N,N,QII,QXI,SIGNF) CALL PFFFT2(L,NS,N,N,QYR,QYI,SIGN) DO 7 I11,L2 IF (FG(I).EQ. 1) THEEN S1R(I). ZEI(I)*QXI(I) SII(I)m-ZE1I(I) *QXR(I) SYR(IOm ZE1(1)*QYI(I) SYI MI) —ZE1 (I) *QYR(I) ELSE S51R(I). ZEI(I)*QIK(I) 5XI(I() ZEI(I)*QXI(I) SYR(I)- zE1(I)*QYR(I) SYI(I)- ZEI(I)*QYI(I) END IF 7 CONTINUE SIGNI1 CALL PFFFT2(L,NS,N,N,S1R,SXIISIGN) CALL PFFF2(L,NSN,NSYR,SYISIGN) ClA TTfLL I DE1V1(ILSITT0M.,SIIU11tI)

237 CALL DERIV1(L,L2,SG,Tl,SXI,UII) CALL DERIV2(L,L2,SGSYR,U2R) CALL DERIV2(L,L2,SG,SYI,U2I) DO 8 Iin1,L2 IF (SG(I NE. 0) TEEN QIRCI)a VI*(UII(I)+U2I(I)) QII(I)in-VI*(UIR(I)+U2R(I)) ELSE QIR(I-in.0 QXII(I0.0 END IF 8 CONTINUE CALL DERIV2(L,L2,SG,SXR,UIR) CALL DERIV2(L,L2,SG,SXI,UII) CALL DERIV3(L,L2,SG,T1,SYR,U2R) CALL DERIV3(L,L2,SG,TI,SYI,U2I) DO 9 Iul,L2 IF (SG(I NE. 0) THEN QYR(I)u Vl*(UII(I)+U2I(I)) QYI(I)u-VI*(Ulft(I)+U2R(I)) ELSE QYRMI-u.0, QYI(I-i0.0 END IF 9 CONTINUE CALL N0RN22(L2,QIR,QII,SG,QNI) CALL NORN22(L2,QYR,QYI,SG,QNY) GQQNI+QNFY B0nl.0/GQ C INITIALIZE SEARCH VECTORS C DO 10 Inl,L2 IF (SG(I) NE. 0) TREEN PIR(I)=BO*QlR(I) PZI (I) Bo*QXII(I PYR(l)-BO*QYR(I) PYI (I)=BO*QYI(I) ELSE PIR(I-nO.0 PXII(-0.0 PYR(I)-O.0 PYI(I)inO.0 END IF 10 CONTINUE C BEGIN ITERATIONS C 1-0 300 CONTINUE 1-1+1 CALL COPYNE(L2,SG,PIR,QIR) CALL COPYNE(L2,SG,PXII QZI) CALL COPYNE(L2,3G,PYR,QYR) CALL COPYNE(L2,SG,PYI,QYI) SIGNM-i CALL PFFFT2(L,NS,N,N,QIR,QII,SIGN) CALL PFFFT2(L,NS,N,N,QYR,QYI,SIGN) DO 11 Iw1,L2 IF (FG(I) -EQ. 1) THEN SIR (I) — ZEl (I) QXII(I) SXI(1) ZE1(I)*QXR(I) SYR(I) —ZE1(I).QYI(I) SYI(I)- ZEI(I)*QYR(I) ELSE SIR(I)m ZE1(T)*0XR(T)

238 SIM()= ZE1(I)*QII(I) SYR(I)m ZEI(I)*QYR(I) SYI(I)- ZEI(I)sQYI(I) END IF 11 CONTINUE SIGN-I CALL PFFFT2(L,N[S,N,N,SIR,SXI,SIGN) CALL PFFFT2(L,NS,N,N[,SYR,SYI,SIGN) CALL DERIVI(L,L2,SG,TI,SXR,UIR) CALL DERIV1(L,L2,SG,T1,SXI,UII) CALL DERIV2(L,L2,SG,SYR,U2R) CALL DERIV2(L,L2,SG,SYI,U2I) DO 12 In1,L2 IF (SG(I) NE. 0) TREEN QIR(I)in-VI*(UII(I)+U2I(I)) QII(I)u VI*(UIR(I)+U2R(I)) ELSE QXR(I-u.0 QII(I)u0.0 END IF 12 CONTINUE CALL DERIV2(L,L2,SG,SIR,UIR) CALL DERIV2(L,L2,SG,SXI,UII) CALL DERIV3(L,L2,SG,T1,SYR,U2R) CALL DERIV3(L,L2,SG,TI1,SYI,U2I) DO 13 I.1,L2 IF (SG(I) NE. 0) TEEN QYR(I)u-VI* (UII(I)+U2I (I)) QYI(I)= VIs(UIR(I)+U2R(I)) ELSE QYR(I)uO.0 QYI(I)u0.O END IF 13 CONTINUE CALL N0RE22(L2,QIR,QXIISG,QNX) CALL N0RN22(L2,QYRQYI,SG,QNrY) GQ-QNX+QNY A11.0/GQ C COMPUTE NEV CURRENT AND RESIDUAL VECTORS C DO 14 I-1,L2 IF (SG(I) NE. 0) TEEN KIR(I)uKIR(I)+AK*PXR(I) KXI(I)OKII(I)+AI*PII(I) IYR(I)-KYR(I)+AI*PYR(I) KYI(I)uIYI(I)+AI*PYI(I) RIR(I)-RXR(I)-AK*QXR(I) RYR(I)-RYR(l)-AI.QYR(I) RYI (I)-RYI(I)-AK.QYI(I) ELSE KIRMI-0.0 1IMI(Mu.O KYR(I)-O.0 KYI(I)n.Ol0 RIR(I).0.O, RXII(I0.0 RYR(I)0O.O RYI(I)0O.0 END IF 14 CONTINUE C CHECK THE TERMINATION CRITERIA C CALL NORN22(L2,RIR,RlI,SG,RNI)

239 CALL N01UM22(L2,RYR,RYI,SG,RNY) GRURNI+RNY ERR-SQRT(GRt/GE) IF(ERR.LT. TOL).0R. (1.GE. EKAl)) TEEN CALL BACSCA(L,X,Y,SG,ST,CT,SP,CP,KXR,LII,KYR,KYI,DS,SDB) WRITE(6,520) AL,PE,TH,K,EBRR,SDB GO TO 999 ELSE END IF CALL COPYNE(L2,SG,RKU,QIIR) CALL COPYNE(L2,SG,RXI,QXI) CALL COPYNE(L2,SG,RYR,QYR) CALL COPYNE(L2,SG,RYI,QYI) SIGN-1l CALL PFFFT2(L,NS,NN,QIR,QXI,SIGN) CALL PFFFT2(L,NS,N,N,QYR,QYI,SION) DO 15 I=1,L2 IF (FG(I).EQ. 1) TEEN SIR(I)= ZEI(I)*QII(I) SII(I) —ZE1I(I) *QXRt(I) SYR(I)- ZEI(I)*QYI(I) SYI(I)a-ZEI (I).QYR(I) ELSE S1R(I)- ZE1(I)*QIR(I) S11(1)- ZEI(I)*QII(I) SYR(I)- ZEI(I)*QYR(I) SYI(I)= ZEI(I)*QYI(I) END IF 15 CONTINUE SIGNICALL PFFFT2(L,NS,N,N,SIR,SXI,SIGN) CALL PFFFT2(L,NS,MIN,SYR,SYI,SIGN) CALL DERIVI(L,L2,SG,T1,SIR,UIR) CALL DERIV1(L,L2,SG,T1,SII,UII) CALL DERIV2(LL2,SGSYR,U2R) CALL DERIV2(L,L2,SG,SYI,U2I) DO 16 I-1,L2 IF (SG(I) NE. 0) TEEN QXR(I)u VI*(UII(I).U2I(I)) QXI(I)z-YI*(UIR(I)+U2R(I)) ELSE QIR(I-0.0 QXI(I-O.O END IF 16 CONTINUE CALL DERIV2(L,L2,SG,SXR,U1R) CALL DERIV2(L,L2,SG,SXI,UII) CALL DERIIV3(L,L2,SG,T1,SYR,U2R) CALL DERIV3(L,L2,SG,TI,SYI,U2I) DO 17 I1l,L2 IF (SG(I) NE. 0) TEEN QYR(I)- VI*(UII(I)+U2I(I)) QYI(I)=-VI*(UIR(I)+U2R(I)) ELSE QYR(I)u0.0 QYI(I)-0.O END IF 17 CONTINUE CALL N0RN22(L2,QIR,QXI,SG,QNI) CALL N0RN22(L2,QYR,QYI,SG,QNY) OQUQNI+QNY BRmi1.0/GQ C COMPUTE NEV SEARCH VECTOR C DO 18 I1,L2

240 IF (SG(I).NE. O) THEY PIR(I)-PXR(I)+BK*QIR(I) PXI(I) PXI (I)+BK*QXI (I) PYR(I)-PYR(I)+BKQYR(I) PYI (I)-PYI(I)+BK*QYI(I) ELSE PIR(I)so. O PII(I)-O. O PYR(I)"O. 0 PYI(I)-O.0 END IF 18 CONTINUE GO TO 300 999 CONTINUE 2 CONTINUE 1 CONTINUG C FORMATS C 500 FORMAT(//,' ALPHA, ' PHI ',' THETA ', ITER ', RESIDUAL a,)' CS ',//) 520 FORNAT(1I,FS.1,2X,F5.1,2,F5..1,21,I4,E16.8,F1O.2) RETURN END

241 SUBROUTINE DIEALG(L,L2,NS,DS,PH1,PH2,Th1,TH2,DP-.DT,KMAX,TOL,SG ~,FG,X,Y,KIR,III,IYR,IYI,RIR,RII,RYR,RYI,PXR,PXII,PYR,PYI,QXR,QII &,QYR,QYI,SIR,SXI,SYR,SYI,EIR,EXI,EYR,EYIZEI,UIR,UlI,U2R,U2I &,ETR,ETI) C THIS SUBROUTINE USES A CONJUGATE GRADIENT FFT METHOD TO COMPUTE C C THE SURFACE CURRENT AND RCS OF A THIN DIELECTRIC PLATE ILLUMINATED C C WITH AN E POLARIZATED PLANE WAVE C REAL IIR(*),III(*),KYR(*),KYI(*),RIR(*),RII(*),RYR(*),RYI(*) &,EIR(*),EII(*),EYR(*),EYI(*),PIR(*),PII(*),PYR(*),PYI(*),QIR(*) &,QXI(*),QYR(*),QYI(*),SIR(*),SXI(*) 1SYR(*),SYI(*),ZEI(*),UIR(*) INTEGER N(4),SG(*),FG(*) ISIGI CALL TABLECLMIN) CALL DDAFGA(L,DS,ZE1l,FG) DATA PI,TP,RAD /.3141593E+01,.6283196E+0i,.1745329E-01/ TI-2.0*(TP*PI*DS*DS-1.0) VIW. 0/(TP*DS*DS*L2) WRITE(6,500) AL-W0.0 C STEP THROUGH EACH INCIDENT ANGLE C N1INT( (PH2-PH1)/DP) N2nINT( (TH2-TH1) /DT) DO 1 IPHIO0,Nl PH=PHI+IPHI*DP DO 2 ITHEO0,N2 TH-TH1+ITHE*DT CALL INETAN(L,L2,DS,S0,AL,PH,THII,Y,EIREII,EYR,EYI) CALL N0RM22(L2,EXR,ElII,SG,ENl) CALL NORM22 (L2,EYR,EYI ISGENfY) GE=ENI+ENY R1=RAD*PH R2=RAD*TH CP-COS (Rl) SP-SIN(RI) CT-COS CR2) ST-SIN(R2) C INITIALIZE RESIDULE C CALL COPYHE(L2,SG,KIR,QIR) CALL COPYME(L2,SG,XIII,QII) CALL COPYME(L2,SG,IYR,QYR) CALL COPYME(L2,SG,IYI, QYI) SIGN*-1 CALL PFFFT2(L,NS,M,N,QIR,QXI,SIGN) CALL PFFFT2(L,NS,M,N,QYR,QYI,SIGN) DO 3 I1l,L2 IF (FG(I).EQ. 1) THEN SIR(I)*-ZE1 (I).QII(I) SXI(I)- ZEI(I)*QXR(I) SYR(I) —ZE1 (I)*QYI(I) SYI(I)- ZEI(I)*QYR(I) ELSE SIR(l)in ZEI(I)*QXR(I) SXIII)- ZEI(I)*QXI(I) SYR(I)m ZE1(I)*QYR(I) SYI(I) ZEI(I)*QYI(I) END IF 3 CONTINUE SIGN-1 CALL PFFFT2(L,N[S,M,N,SXR,SXI,SIGN) ClAT LL PFFF3T2( SMC W WYRSDYITSIGE

242 CALL DERIVI(L,L2,SG,T1,SIR,UIR) CALL DERtIVI(L,L2,SG,T1,SXI,UII) CALL DERIV2(L,L2,SG,SYR,U2R) CALL DERIV2(L,L2,SG,SYI,U2I) DO 4 I-I1,L2 IF (SG(I) -NE. 0) THEN QII(I)-ETR(I)*KII(I)+ETI(I)*KXR(I)+VI*(UIR(I)+U2R(I)) ELSE QIR(I-0.0 QII(I)=0.0 END IF 4 CONTINUE CALL DERtIV2(L,L2,SG,SXR,U1R) CALL DERIV2(L,L2,SG,SII,U1I) CALL DERIV3(L,L2,SG,T1,SYR,U2R) CALL DERIV3(L,L2,SG,T1,SYI,U2I) DO 5 I-I,L2 IF (SG(I) NE. 0) THEN QYR(I)-ETR(I)*IYR(I) -ETI(I) *KYI(I)-VI*(UII(I)+U2I(I)) QYI (I).ETR(I)*XYI(I)+ETI (I) *KYR(I)+VI* (UlR(I)+U2R(I)) ELSE QYR(I-0.0 QYI(I)in0.0 END IF 5 CONTINUE DO 6 Iin1,L2 IF (SG(I) NE. 0) THEN RYR(I)-EYR(I)-QYR(I) RYI(I)-EYI(I)-QYI(I) ELSE RhR(I-0.o RX1 I)-0.o RYR(I)u0.o RYI (I)uO. 0 END IF 6 CONTINUE CALL COPYNE(L2,SG,RXR,QXR) CALL COPYNE(L2,SG,RXI,QII) CALL COPYHE(L2,SG,RYR,QYR) CALL COPYNE(L2,SG,RYI,QYI) SIGN —I CALL PFFFT2(L,NS,N,N,QIR,QXI,SIGNI) CALL PFFFT2(L,NIS,N,NK,QYR,QYI,SIGN) DO 7 Iw1,L2 IF (FG(I).EQ. 1) THEN SIft(I)a ZEI(I)*QXI(I) SII(I)u-ZE1I(I) *QXR(I) SYRCI)m ZEI(I)*QYI(I) SYI (l) —ZEI (I) *QYR(I) ELSE S1R(I). ZEI(I)*QIR(I) 51I(I). ZE1(I)*QXI(I) SYR(I)- ZEI(I)*QYR(I) SYICI)- ZEI(I)*QYI(I) END IF 7 CONTINUE SIGN1I CALL PFFFT2(L,NS,N,N,S1R15XI,SIGN) CALL PFFFT2(L,NS,N,N,SYR,SYI,SIGN) CALL DERIV1(L,L2,SG,T1,SIR,UIR) CALL DERIVI(L,L2,SG,T1,SXI,U1I) CALL DERIV2(L,L2,SG,SYR,U2R) CALL nDTERI 11C0 V T(L 2SGYIU2)T

243 DO 8 I11,L2 IF (SG(I) NE. 0) TEEN QIR(I)-ETR(I)*RXR(I)+ETI(I)*RXI(I).VI*(UII(I)+U2I(I)) QXI(I)-ETR(I)*RaucI)-ETIcI)*RxR(I)-VI*(UIR(I)+U2aR()) ELSE QIR(I-in.0 QXII(-i0.O END IF 8 CONTINUE CALL DERIV2(L,L2,SG,SIR,U1R) CALL DERIV2(L,L2,SG,SII,U1I) CALL DERIV3(L,L2,SG,Tl,SYR,U2R) CALL DERIV3(L,L2,SG,T1,SYI,U2I) DO 9 I-I1,L2 IF (SG(I NE. 0) TEEN QYR(I)=ETR(I)*RYR(I)+ETI(I)*RYI(I)+VI*(UII(I)+U2I(I)) QYI(I)UETR(I)*RYI(I)-ETI(I)*RYR(I)-VI*(UIR(I)+U2R(I)) ELSE QYR(I)0.0 QYI(I)mo.0 END IF 9 CONTINUE CALL N0RN22(L2,QIR,QXI,SG,QNX) CALL N0RN22(L2,QYR,QYI,SGQIY) GQ-QNI+QNY BOwl.0/GQ C INITIALIZE SEARCH VECTORS C DO 10 I-Il,L2 IF (SG(I) NE. 0) TEEN PIR(I)uBO*QXR(I) PX1I(I)=BO*QII(I) PYR(I)ABO*QYR(I) PYI (I) BO*QYI(I) ELSE PIR(I)wO.0 PII(I)mO.0 PYR(IuO0 -PYI (I)0.0 END IF 10 CORTINUE C BEGIN ITERATIONS C 1-0 300 CONTINUE K=K+1 CALL COPYNE(L2,SG,PII,QXR) CALL COPYNE(L2,SG,PXI, QxI) CALL COPYNE(L2,SG,PYR,QYR) CALL COPYRE(L2,SG,PYI, QYI) SIGN —I CALL PFFFT2(L,NS,N,N,QIR,QXI,SIGN) CALL PFFFT2(L,NS,N,NF,QYR,QYI,SIGN) DO 11 Iml,L2 IF (FG(I) -EQ. 1) TEEN SIR (I) ---ZEI (I) *QXII(I) SXI(I)- ZE1(I)*QXR(I) SYR(I) —ZE1I(I) *QYI(I) SYI(I)- ZEI(I)*QYR(I) ELSE SIR(I)w ZEI(I)*QXR(I) SXI(I)w ZEI(I)*QXI(I) SYR(I)w ZE1(I)*QYR(I) SYI()w ZE1CI)*QYI(I)

244 END IF 11 CONTINUE SIGNal CALL PFFFT2(L,NS,N,N,SIR,SXI,SIGN) CALL PFFFT2(LNS,N,N,SYR,SYI,SIGN) CALL DERIVI(L,L2,SG,T1,SIR,UIR) CALL DERIVI(L,L2,SG,T1,SXI,UII) CALL DERIV2(L,L2,SG,SYR,U2R) CALL DERIV2(L,L2,SG,SYIU2I) DO 12 Izl,L2 IF (SG(I) -NE. 0) THEN QIR(I)=ETR(I)*PXR(I)-ETI(I)*PXI(I)-VI*(UII(I)+U2I(I)) QII(I)=ETR(I)*PXI(I)+ETI(I)*PIR(I)+VI*(UIR(I)+U2R(I)) ELSE QIR(I)u0.0 QXII(-0.0 END IF 12 CONTINUE CALL DERIV2(L,L2,SG,SIR,UlR) CALL DERIV2(L,L2,SG,SXI,UII) CALL DERIV3(L,L2,SG,T1,SYR,U2R) CALL DERIV3(L,L2,SG,T1,SYI,U2I) DO 13 Iin1,L2 IF (SG(I) -NE. 0) TEEN QYR(I)-ETR(I)*PYR(I) —ETI(I)*PYI(I)-VI*(UII(I)+U2I(I)) QYI (I)-ETR(I)*PYI(I).ETI (I)*.PYR(I)+VI* (UIR(I)+U2R(I)) ELSE QYR(I)in0.0 QYI(I)u0.0 END IF 13 CONTINUE CALL NORN22(L2,QIR,QXI,SG,QNI) CALL NORN22(L2,QYR,QYI,SG,QNY) GQ=QNI+QNY Aal-. 0/GQ C COMPUTE NEN CURRENT AND RESIDUAL VECTORS C DO 14 Inl,L2 IF (SG(I) NE. 0) THEN KIR(I)-KIR(I)+AI*PXR(I) XIII(I)uKlII(I)+Ax*PxI (I) KYR(I)=KYR(I)+Ax*PYcRI) IYI (I)-KYI(I)+AK*PYI (I) RIR(I)aRIR(I)-AK*Qua(I) RXI(I)-RII(I)-AX*QXI(I) RYR(l)-RYR(I)-AI.QYR(I) RYI(I)-RYI(I)-AK.QYI(I) ELSE KIR(I)-0.0 KII(I)-0.0 IYR(I-o.0 IYI(I)aO.0 RIR(I)aO.0 RtII(I-a.0 RYR(I)aO.0 RYI(I)aO.0 END IF 14 CONTINUE C CHECK TEE TERMINATION CRITERIA C CALL NORN22(L2,RIR,RXII,SG,RN) CALL NORN22(L2,RYR,RYI,SG,RNFY) GR=RNI+RNIY ERR-SQRT(GR/GE)

245 IF(EDR.LT. TOL).0R. (1.GE. EMil) THEN CALL BACSCA(L,X,Y,SG,ST,CT,SP,CP,1XR,KXI,KYR,IYI,DS,SDB) WRITE(6,520) AL,PN,TH,11E31R,SDB GO TO 999 ELSE END IF CALL COPYNE(L2,SG,JRIR,QIR) CALL COPYNE(L2,SG,RII,QiI) CALL COPYNE(L2,SG.RYR,QYR) CALL COPYNE(L2,SG,RYI,QYI) SIGN-1l CALL PFFFT2(L,NS,N,NQIR,QXI,SIGN) CALL PFFFT2(L,NS,N,N,QYR,QYI,SIGN) DO 15 In1,L2 IF (FG(I).EQ. 1) THEN SIR(I)- ZEI(I)*QII(I) SYR(I)- ZEI(I)*QYI(I) SYI(I)=-ZE1I(I) *QYR(I) ELSE SlR(I)- ZEI(I)*QXR(I) SYR(I)n ZEI(I)*QYR(I) SYI(I)w ZEI(I)*QYI(I) END IF 15 CONTINUE SIGN1-i CALL PFFFT2(L,NS,N,N,SZR,SXI,SIGN) CALL PFFFT2(L,NS,N,N,SYR,SYISIGN) CALL DERIV1(L,L2,SGTI,SIR,UIR) CALL DERIVI (L,L2,SG,T1,511,UiI) CALL DERIV2(L,L2,SG,SYR,U2R) CALL DERIV2(L,L2,SG,SYI,U2I) DO 16 I11,L2 IF (S0(I).NE. 0) TEEN QIR(I)-ETR(I)*R1R(I)+ETI (I) *RI(I)+VIs*(UII(I)+U21 (I)) QXIl(I)=ETR(I)*RtII(I) -ETI(I) *RIR(l)-VI* (UIR(I)+U2R(I)) ELSE QIR(I)0O.0 QII(I)u0.0 END IF 16 CONTINUE CALL DERtIV2(L,L2,SG,SXR,UIR) CALL DERIV2(L,L2,SG,SII,U1I) CALL DERIV3(L,L2,SG,T1,SYR,U2R) CALL DERIV3(L,L2,SG,T1,SYI,U2I) DO 17 I1n1,L2 IF (SG(I) NE. 0) TEEN QYR(I)-ETR(I)*RYR(I)+ETI(I)*RYI(I)+VI*(UII(I)+U2I(I)) QYI(I)=ETR(I)*RYI(I)-ETI(I)*RtYR(I) —VI* (UIR(I)+U2R(I)) ELSE QYR(I)uO.0 QYI(I-i0.0 END IF 17 CONTINUE CALL N0R122(L2,Q1R,QXI,SG,QNX) CALL N0RN22(L2,QYR,QYI,SG,QNY) GQ-QNI+QNY B~il. O/GQ C COMPUTE NEW SEARCH VECTOR C DO 18 Ixl,L2 IF (SG(I) NE. 0) TEEN PIR(I)xPXR(I)+BX*QIR(I) P11T(T)uPYT(T)+BK*QIIT(I)

246 PYR(I)=PYR(I)+BK*QYR(I) PYI(I)-PYI(I)+BK*QYI (I) ELSE PJ.(I)=0.0 P1I(I) 0.0 PYR(I)-0.0 PYI(I)M0.O END IF 18 CONTINUE GO TO 300 999 CONTINUE 2 CONTINUE 1 CONTINUE C FORMATS C 500 FORNAT(//,* ALPHA ',' PHI ',' THETA ),; ITER ',* RESIDUAL k,, RCS *,//) 520 FORXAT(1X,FS.1,21,F5.1,21,F5.1,21,I4,E16.8,FIO.2) RETURN END

247 SUBROUTINE DIHALG(LL2,NS,DS,PHI,PH2,T11,TH2,DPSDTIMAIITOL,SG,FG &,I,Y,XIR,KII,IYR,KYI,XZR,IZI,RIR,RXI,RYR,RYI,RZR,RZI,PIR,PXII PYR &,PYI,PZR,PZI,QIR,QXI,QYR,QYI,Q-ZRQZI,SIR,SXI,SYR,SYI,SZR,SZI,EIR &,EXI,EYR,EYIEZR,EZI.ZE1,UIR,U11,U2R,U2I,ETR,ETI,ENRDENI) C THIS SUBROUTINE USES A CONJUGATE GRADIENT FFT METHOD TO COMPUTE C C THE SURFACE CURRENT AND RCS OF A THIN DIELECTRIC PLATE ILLUMINATED C C WITH All H POLARIZATED PLANE WAVE C REAL KIR(*),KII(*),IYR(*),IYI(*),KZR(*),KZI(*),EIR(*),EXI(*) k,EYR(*),EYI(*),EZR(*),EZI(*),RUR(*),RII(*),RYR(*),RYI(*),RZR(*) &,RZI(*),PIR(*),PII(*),PYR(*),PYI(*),PZR(*),PZI(*),QIR(*),QXI(*) k,QYR(*),QYI(*),QZR(*),QZI(*),SXR(*),SII(*),SYR(*),SYI(*),SZR(*) k,SZI(*),ZEI(*),UIR(*),U1I(*),U2R(*),U2I(*),ETR(*),ETI(*),Efl(*) k, ENI (*),IX(*), Y(*) INTEGER N(4),SG(*),FG(*),SIGN CALL TABLE(L,M,N) CALL DDAFGA(LDS,ZEI,FG) DATA PI,TP,RAD /.3141593E+01,.6283196E+01,. 145329E-01/ TlI-2.0*(TP*PI*DS*DS-1.0) VI*1.0/(TP*DS*DS*L2) WRITE(6,500) AL-0.0 C STEP THROUGH EACH INCIDENT ANGLE C N1=INT((PH2-PHI)/DP) N2-INT( (TH2-TH1) /DT) DO 1 IPHIUO,N1 PH=PH1+IPHI*DP DO 2 ITHEO0,N2 THUTH1+ITHE*DT CALL INETAN(L,SG,AL,PH,TH,IX,Y,EIR,EII,EYR,EYI) CALL INENOR(L,SG,AL,PH,TH,I,Y,EZREZI) CALL NORM22(L2 IEIR,EXII,SG,ENX) CALL NORK22(L2,EYR,EYI,SGIENY) CALL NORM22(L2,EZR,EZISG,ENZ) GE-ENI+ENrY+ENZ R1URAD*PH R2=RAD*TH CP-COS (RI) SP-SIN(R1) CT-COS(R2) ST-SIN(R2) C INITIALIZE RESIDULE C CALL C0PYME(L2,SG,IIR,QIR) CALL COPYNE(L2,SG,XIII,QII) CALL COPYME(L2,SG,KYR,QYR) CALL COPYME(L2 ISGKYI, QYI) CALL COPYNE(L2,SG,KZR,QZR) CALL COPYME(L2,SG,IZI,QZI) SIGN-1l CALL PFFFT2(L,NS,N,N,QXR,QXI,SIGN) CALL PFFFT2(L,NS,N,N,QYR,QYI,SIGN) CALL PFFFT2(L,NS,M,N,QZR,QZI,SIGN) DO 3 In1,L2 IF (FG(I).EQ. 1) THEN SIR(I)in-ZE1 (I) *QXI(I) SXI(I)- ZEI(I)*QXR(I) SYR(I) —ZEl(I)*QYI(I) SYIC)n ZE1(I)*QYR(I) SZR(I)=-ZE1 (I).QZI(I) SZI(I)- ZE1(I)*QZR(I) ELSE

248 SIR(I)- ZEI(I)*QXR(I) 511(I)- ZEI1(I) *QXII(I) SYR(I)- ZEI(I)*QYR(I) SYI()u ZEI1(I) *QYI (I) SZR(I)- ZEI(I)*QZR(I) SZI(I)- ZEI (I) *QZI (I) END IF 3 CONTINUE SIGN-i CALL PFFFT2(L,NS,N,N,SIR,SXI,SIGN) CALL PFFFT2(L,NS,N,N,SYR,SYI,SIGN) CALL PFFFT2(L,NS,N,N,SZRI,SZI,SIGN) CALL DERtIVI(L,L2,SG,T1,SIR,U1IR) CALL DERIVI(L,L2,SG,T1,SXIUIUI) CALL DERIV2(L,L2,SG,SYR,U2R) CALL DERIV2(L,L2,SG,SYI,U2I) DO 4 Iin1,L2 IF (SG(I NE. 0) THEN QIR(I)-ETR(I)*KIR(I)-ETI(I)*KXI(I)-VI*(UII(I)+U2I(I)) QXII(I)-ETR(I)*XKII(I)+ETI (I) *KXR(I)+VI* (UIR(I)+U2R(I)) ELSE QIR(I-0.O QXII(I0.0 END IF 4 CONTINUE CALL DERIV2(L,L2,SG,SXR,U1R) CALL DERIV2(L,L2,SG,SXI,U1I) CALL DERIV3(L,L2,SG,T1,SYRU2R) CALL DERIV3(L,L2,SG,T1,SYI,U2I) DO 5 I1l,L2 IF (SG(I) NE. 0) THEN QYR(I)-ETR(I)*XYR(I)-ETI(I)*IYI(I)-VI*(UII(I)+U2I(I)) QYI(l)-ETR(I)*XYI(I)+ETI(I)*KYR(I)+VI*(UIR(I)+U2R(I)) ELSE QYR(I)-0.O QYI(IDin.0 END IF 5 CONTINUE CALL DERIV4(L,L2,SG,SZR,UIR) CALL DERIV4(L,L2,SG,SZI,U1I) DO 6 I11,L2 IF (SG(I) -NE. 0) THEN QZR(I)-EiRf(I)*IZR(I) -ENI(I) *EZI(I)+VI*UiII(I) QZI(I)-ENR(I)*KZI(I)+ENI(I) *xzR(I)-VI*UIR(I) ELSE QZR(IMO.0 QZI(I)=0.0 END IF 6 CONTINUE DO 7 I-1,L2 IF (SO(I NE. 0) THEN RtIR(I)=EIR(I)-QZR(I) RYR(l)-EYR(I)-QYR(I) RYI(I)=EYI(I)-QYI(I) RZR(I)-EZR(I)-QZR(I) RZI (I)-EZI(I)-QZI (I) ELSE RtIR()0.0 RXII(Iz.O RYR(I-0.0 RYIM(Iin. 0 RZR(I-nO.0 RZI(I)0.0 END IF 7 CONTINUE

249 CALL COPYNE(L2,SG,RIR,QIR) CALL COPYNE(L2,SG,RXI,QXI) CALL COPYNE(L2,SG,RYR,QYR) CALL COPYKE(L2,SG,RYI,QYI) CALL COPYNE(L2,SG,RZR,QZR) CALL COPYNE(L2,SG,RZI,QZI) SIG~n-1 CALL PFFFT2(L,NS,N,N,QZR,QII,SIGN) CALL PFFFT2(L,NS,N,N,QYR,QYI,SIGI) CALL PFFFT2(L,NS,N,N,QZR,QZI,SIGN) DO 8 I11,L2 IF (FG(I).EQ. 1) THEN S1R(I). ZEI(I)*QXI(I) SXI(I)=-ZE1I(I) *QXaRI) SYR(I)m ZE1(I)*QYI(I) SYI(I) —ZE1I(I) *QYR(I) SZR(I)- ZEI(I)*QZI(I) SZI(I) —ZEI (I) *QZR(I) ELSE S1R(I)- ZEI(I)*QXR(I) SlI(I)- ZEI(I)*QII(I) SYRCI)- ZEI(I)*QYR(I) SYI(I)- ZEI(I)*QYI(I) SZR(I)- ZE1(I)*QZR(I) SZI(I)- ZEI(I)*QZI(I) END IF 8 CONTINUE SIG11i CALL PFFFT2(L,NS,N,NSXR,SXI,SIGN) CALL PFFFT2(L,NS,N,N9,SYR,SYI,SIGN) CALL PFFFT2(L,NS,N,N,SZR,SZI,SIGN) CALL DERIVI(L,L2,SG,TlSJR,UIR) CALL DERIVI(L,L2,SG,T1,SXI,UII) CALL DERIV2(L,L2,SG,SYR,U2R) CALL DERtIV2(L,L2,SGSYI,U2I) DO 9 I-1,L2 IF (5SG(I NE. 0) THEN QXR(I)-ETR(I)*RtIR(I)+ETI(I)*RXI(I)+VI*(UII(I)+U2I(I)) QXII(I)-ETR(I)*Rxl(I)-ETI(I) *RxR(I)-VI* (UIR(I)+U2R(I)) ELSE QIR(I-0.0 QII(I)-.O. END IF 9 CONTINUE CALL DERIV2(L,L2,SG,SXRUIR) CALL DERIV2(L,L2,SG,SXI,U1I) CALL DERIV3(L,L2,SG,T1,SYR,U2R) CALL DERIV3(L,L2,SG,TI,SYI,U2I) DO 10 I1.,L2 IF (5(3(I NE. 0) THEN QYR(I)-ETR(I)*RtYR(I)+ETI(I)*RYI(I)+VI*(UII(I)+U2I(I)) QYI(I)=ETR(I)*RYI(I)-ETI(I)*RtYR(I)-VI*(UIR(I)+U2R(I)) ELSE QYR(I0u.0 QYI(I)uO.0 END IF 10 CONTINUE CALL DERIV4(L,L2,SG,SZR,UIR) CALL DERIV4(L,L2,SG,SZI,U1I) DO 11 I-1,L2 IF (SG3(I) NE. 0) THEN QZR(I)-ENR(I)*RtZR(I)+ENI (I) *RZI(I)-VI.U1II(I) QZI(I)=ENR(I)*RZI(I)-ENI(I)*.RZR(I)+VI*U1I(I) ELSE QZRM(I)0.0 QZIT(I)=o0_

250 END IF 11 CONTINUE CALL 10RN22(L2,Q1R,QXI,SG,QNI) CALL N0RN22(L2,QYR,QYI,SG,QNY) CALL NORN22(L2,QZR,QZI,SG,QJZ) GQ-QNI+QNY+QNZ BOl.0/GQ C INITIALIZE SEARCH VECTORS C DO 12 I11,L2 IF (SG(I) N1E. 0) THEN PIR(I)uBO*QXR(I) PXI (I) BO*QXI(I) PYR(I)wBO*QYR(I) PYI(I)uBO*QYI(I) PZR(I)=BO*QZR(I) PZI (I) uBO*QZI (I) ELSE PIR(I-0.0 PXII(-0.0 PYR(I-0. 0 PYI(I-i0.O PZR(I)u0.O PZI(I)mO. 0 END IF 12 CONTINUE C BEGIN ITERATIONS C 1=0 300 CONTINUE 1-1+1 CALL COPYNE(L2,SG,PIR,QIR) CALL COPYNE(L2,SG,PXII,QXI) CALL COPYIIE(L2,SG,PYR,QYR) CALL COPYNE(L2,SG,PYI,QYI) CALL COPYNE(L2,SG,PZRIQZR) CALL COPYNE(L2,SG,.PZI,QZI) SIGNU-1 CALL PFFFT2(L,NS,N,N,QIR,QXI,SIGN) CALL PFFFT2(L,NS,N,N,QYR,QYI,SION) CALL PFFFT2(L,NS,N,N[,QZR,QZI,SIGN) DO 13 1-1,L2 IF (FG(I).EQ. 1) THEN SIR(I) —ZE1I(I) *QII(I) SI(I)in ZE1(I)*QIR(I) SYR(I) —ZE1I(I) *QYI(I) SYI(I)- ZE1(I)*QYR(I) SZR(I)=-ZE1I(I).QZI(I) SZI(I)- ZEI(I)*QZR(I) ELSE S1R(I)- ZEI(I).QXR(I) 511(1) ZE1(I)*QII(I) SYR(I)w ZE1(I)*QYR(I) SYI(I)w ZEI(I)*QYI(I) SZR(I)- ZEI (I) *QZR(I) SZI(I)- ZEI(I)*QZI(I) END IF 13 CONTINUE SIGN-1 CALL PFFFT2(L,NSN,N,,SIR,SXI,SION) CALL PFFFT2(L,NS,N,NSYR,SYISIGN) CALL PFFFT2(LINS,N,NI,SZR,SZI,SIGNI) CALL DERIVI(L,L2,SG,T1,SIR,UIR) CALL DERIVl(L.L2.SG.T1,SIIUlI)

251 CALL DERIV2(L,L2,SG,SYR,U2R) CALL DERIV2(L,L2,SG,SYI,U2I) DO 14 Iin1,L2 IF (SG(I) -NE. 0) TEEN QIR(I)-ETR(I)*PIR(I)-ETI(I)*PII(I)-VI*(UII(I)+U2I(I)) QII(I)-ETR(I)*PXI(I)+ETI(I)*sPIR(I)+VI*(UIR(I)+U2R(I)) ELSE QIR(I)a0.0 QII(I)=O.0 END IF 14 CONTINUE CALL DERIV2(L,L2,SG,SXR,UIR) CALL DERIV2(L,L2,SG,SXI,UII) CALL DERIV3(L,L2,SG,T1,SYR,U2R) CALL DERIV3(L,L2,SG,T1,SYI,U2I) DO 15 I11,L2 IF (SG(I) NE. 0) THEN QYR(I)=ETR(I)*PYR(I)-ETI(I)*PYI(I)-VI*(Ull(I)+U2I(I)) QYI(I)-ETR(I)*PYI(I)+ETI(I)*PYR(I)+VI*(UIR(I)+U2R(I)) ELSE QYR(I)-0.0 QYI(I-0.O END IF 15 CONTINUE CALL DERIV4(L,L2,SG,SZR,UIR) CALL DERIV4(L,L2,SGDSZI,UII) DO 16 Iul,L2 IF (SG(I) NE. 0) TEEN QZR(I)uEUR(I)*PZR(I)-ENI(I) *PzI(I)+VI*UII(I) QZI(I)-ENR(I)*PZI(I)+ENI(I)*PZR(I)-VI*UIR(I) ELSE QZR(I)-0.0 QZI(I)u0. 0 END IF 16 CONTINUE CALL N0RN22(L2,QIR,QII,SG,QNI) CALL NORN22(L2,QYR,QYI,SG,QNY) CALL N0RN22(L2,QZR,QZI,SG,QNZ) GQ-QNX+QNY+QNZ AIu.1./GQ C COMPUTE NEW CURRENT AND RESIDUAL VECTORS C DO 17 I*1,L2 IF (SG(I) NE. 0) THEN KIR(I)=KIR(I)+AI*PIR(I) III(I)=KII(I)+AK*PUI(I) KYR(I)-IYR(I)+Al*PYR(I) KYIl(I) -KYI(I)+AI*Pnl(I) IZR(I)=KzR(I)+AK*PZR(I) KZI(I)=IZI(I)+AI.PZI(I) RIR(I)=RIR(I)-AK.QXR(I) RXI(I)=RXI(I)-AI*QII(I) RYR(I)-RYR(I)-AI*QYR(I) RYI (I)-RYI(I)-AE.QYI (I) RZR(l)-RZR(I)-AK*QZR(I) RZI (I)-RZI(I)-AX.QZI (I) ELSE IIR(I)=0.0 KII(I)0.0 KYR(I-0.0 IYI(I)u0.0 XZR(I-0.0 ZZI(I)0.0 RIR(I)u0.0 RXII (=a.0

252 RYR (I) -O.O RYI(I -O.O0 RZR (I) -O.O RZI(I)-O.O END IF 17 CONTINUE C CHECK TEE TERMINATION CRITERIA C CALL NORN22(L2,RIR,RlII,SG,RlI) CALL NORN22(L2,RYR,RYI,SG,RN) CALL NORN22(L2,RZR,RZI,SG,RNZ) GRURX+MN+RNZ ERR-SQRT(GR/GE) IF(ERR, LT. TOL).0R. (I.GE. VMAl) TEEN CALL BACSCB(L,I,Y,SG,ST,CT,SP,CP,XIR,III,XYRKYIIZR,KZIDS,SDB) VRITE(6,520) AL,PH,TH,X,ERR,SDB GO TO 999 ELSE END IF CALL COPYNE(L2,SG,RIR,QXR) CALL COPYRE(L2,SG,RII,Qxi) CALL COPYNE(L2,SG,RYR,QYR) CALL CDPYNE(L2,SG,RYI,QYI) CALL COPYNE(L2,SG,RZR,QZR) CALL COPYNE(L2,SG,RZI,QZI) SIGNu-1 CALL PFFFT2(L,NS,N,N,QIR,QXI,SIGN) CALL PFFFT2(L,NS,N,N,QYR,QYI,SION) CALL PFFFT2(L,NS,N,N,QZR,QZI,SIGN) DO 18 I1.,L2 IF (FG(I).EQ. 1) TEEN SXR(I)- ZE1(I)*QXI(I) SYR(I)* ZE1(1)*QYI(I) SYI(I)=-ZE1I(I) *QYR(I) SZR(I)- ZEI(I)*QZI(I) SZI(I) —ZE1 (I) *QZR(I) ELSE SlR(I)- ZEI(I)*QXR(I) SYR(I)- ZE1(I)*QYR(I) SYI(I)- ZEI(I)*QYR(I) SZR(I)w ZEI1(I) *QZR(I) SZI(I)- ZEI(I)*QZI(I) END IF 18 CONTINUE SIGN1I CALL PFFFT2(L,NS,N,NSUR,SXI,SIGN) CALL PFFFT2(LNS,N,N,SYR,SYISION) CALL PFFFT2(L,NS,N,NISZR,SZISIGN) CALL DEKIV1(LL2,SG,T1l,SIR,UIR) CALL DERIV1(L,L2,SG,Tl,SXI,UII) CALL DER1V2(L,L2,SG,SYR,U2R) CALL DERIV2(L,L2,SG,SYI,U2I) DO 19 1-1,L2 IF (SG(I) NE9. 0) THEN QIR(I)uETR(I)*RIR(I)+ETI(I).RII(I)+VI*(UII(I)+U2I(I)) QXI(I)-ETR(I)*RII(I)-ETI(I)*RIR(I)-VI*(UIR(I)+U2R(I)) ELSE QIR(I)u0.0 Q~IIm-0.0 END IF 19 CONTINUE CALL DEtIV2(L,L2,SG,SXR,UIR) CALL DERIV2(L.L2,SGSIUIUI)

253 CALL DERIV3(L,L2,SG,T1ISYR,U2R) CALL DERIV3(L,L2,SG,T1,SYI,U2I) DO 20 I11,L2 IF (SG(I) NE. 0) THEN QYR(I)=ETR(I)*RYR(I)+ETI(I)*RYI(I)+VI*(UII(I)+U2I(I)) QYI(I)-ETR(I)*RYI(I) -ETI(I)*RYR(I)-VI* (UlR(I)+U2R(I)) ELSE QYR(I)U0.0 QYI(I)0O.0 END IF 20 CONTINUE CALL DERIV4(LSL2,SG,SZR,UIR) CALL DERIV4(L,L2,SG,SZI,UII) DO 21 In1,L2 IF (SG(I) NE. 0) THEN QZR(I)-ENR(I)*RZR(I)+ENI(I)*R.ZI(I)-VI*U1I(I) QZI (I) -ENR(I)*RtZI (I)-ENI(I)*RZR(I)+VI*UIR(I) ELSE QZR(I)0.O QZI(I)0.0 END IF 21 CONTINUE CALL NORN22(L2,QXRQII,SG,QNI) CALL NORN22(L2,QYR,QYI,SG,QNY) CALL NORN22(L2,QZR,QZI,SG,QNZ) GQ-QNI+QNY+QNZ BK1. 0/GQ C COMPUTE NEW SEARCH VECTOR C DO 22 I-1,L2 IF (SG(I) NE. 0) THEN PlR(I).PXR(I)+BK*QlR(I) PII(I)-PII(I)+BIsQII (I) PYR(I)-PYR(I)+BK*QYR(I) PYI(I)uPYI(I)+BK*QYI (I) PZR(I)-PZR(I)+BK*QZR(I) PZI (I)-PZ1(I)+BK*QZI (I) ELSE PIR(I-0.0 PII(I)0.0 PYR(I-n. 0 PYI(I)0.0 PZR(I)0. 0 PZI(I)m0.0 END IF 22 CONTINUE GO TO 300 999 CONTINUE 2 CONTINUE I CONTINUE C FORMATS C 500 FORMAT(//,' ALPHA ''PHI '' THETA ' ITER, RESIDUAL kill RCS )I//I) 520 FORNAT(1I,F5.1i,2X,F5.1,21,F5.1,2X,I4,E16.8,FIO.2) RETURN END

254 SUBROUTINE DHEALG(L,L2,NS,DS,PBI,PH2,TH1,TH2,DP',DT,NXM,TOL,SG,FG k,X,Y,KIER,KIEI,IYER,KYEI,IINR,KXNIKYKR,KYNI,IZNR,KZMI,RlER,RlEI &,RYER,RYEI,RINR,RINI,RYHRRYNI,RZHR,RZHI,PIER,PXEI,PYER,PYEI,PINR &,PINI,PYHR,PYHI,PZNR,PZKI,QIER,QIEI,QYER,QYEI,QlNR,QINIQYNRQYNI a,QZNR,QZNI,SIER,SIEI,SYER,SYEI,SmN,SxNI,SYNR,SYMI,SZHR,SZNI,EIR &,EXI,EYR,EYI,HII,HXI,HYR1HYI,HZR,HZI,ZEI,UIR,UII,U2R,U2I,U3R,U3I &,ETR,ETI,NTR,NTI,XNR,MNI) C THIS SUBROUTINE USES A CONJUGATE GRADIENT FFT METHOD TO COMPUTE C C THE SURFACE CURRENT AND RCS OF A THIN DIELECTRIC PLATE ILLUMINATED C C WITH AN H POLARIZATED PLANE WAVE C REAL IIER(*),IIEI(*),KYER(*),IYEI(*),KIHR(*),KINI(*),KYHR(*) k,KYNI(*),KZMR(*),IZMI(*),EIR(*),EII(*),EYR(*),EYI(*),HIR(*),HII(*) &,HYR(*),HYI(*),HZR(*),HZI(*),RIER(*),RXEI(*),RYER(*),RYEI(*) k,RINR(*),RIN(*),RYNR(*),RYHI(*),RZMR(*),RZNI(*),PIER(*),PIEI(*) k,PYER(*),PYEI(*),PIUR(*),PIN(*),PYHR(*),PYNI(*),PZHR(*),PZHI(*) &,QIER(*),QIEI(*),QYER(*),QYEI(*),QINR(*),QINI(*),QYNR(*),QYHI(*) &,QZNR(*),QZNI(*),SXER(*),SIEI(*),SYER(*),SYEI(*),SDIR(*),SINI(*) k,SYMR(*),SYNI(*),SZNR(*),SZNI(*),ZE1(*),U1R(*),U1I(*),U2R(*) k,U2I(*),U3R(*),U3I(*),ETR(*),ETI(*),HTR(*),NTI(*),HNR(*),NII(*) &,I(*),y(*) INTEGER 1(4),SG(*),FG(*),SIGN CALL TABLECLNN) CALL DDAFGA(L,DS,ZE1,FG) DATA P1I,TP,RAD /.3141593E+01,.6283196E+01,.174-5329E-01/ T-2.0*(TP*PI*DS*DS-1.0) VI1. 0/(TP*DS*DS*L2) V2ml1.01(2. 0*DS*L2) WRITE(6,500) AL-W0.0 C STEP THROUGH EACH INCIDENT ANGLE C NI-INT( (PH2-PH1)/DP) N2-INT((TH2-TH1)/DT) DO 1 IPHI-0,Nl PHUPBi+IPHI*DP DO 2 ITHEO0,N2 TH=TE1+ITEE*DT CALL INETAN(L,SG,AL,PH,TH,I,Y,EIR,EII,EYR,EYI) CALL INHTAN(L,SG,AL,PH,THX,Y,HIR,HII,HYR,HYI) CALL INHNOR(LS0,AL,PH,TH,XY,HZR,HZI) CALL NORN22(L2,EII,EXIISGENX) CALL NORN22(L2,EYREYI,SG,ENY) CALL NORN22(L2,HIR,HZI,SG,HNZ) CALL NORN22 (L2 IHYR, HYI, SGRNY) CALL NORN22(L2,HZR,HZI,SG,HNZ) GE-ENI+ENY+HNI+HNY+UNZ R1=RAD*PH R2=RAD*TH CPCOS (Rl) SP=SIN(RI) CT-C0S(R2) ST-SIR(R2) C INITIALIZE RESIDULE C CALL COPYME(L2,SG,IIER,QIER) CALL COPYNE(L2,SG,KIEI IQIEI) CALL COPYNE(L2,SG,KYER,QYER) CALL COPYNE(L2,SG,IYEIQYEI) CALL COPYNE(L2,SG,XIHRQXNR) CALL COPYNE(L2,SG,IINI,QIMI) CALL COPYNE(L2,SG,IYWR.QYHR) CALL COPYMqE(L2,SG,KYHI,QYNI)

255 CALL COPYNE(L2,SG,KIm,QZha) CALL COPYNE(L2,SG,IZNI,QZNI) SIGN —i CALL PFFFT2(L,NS,N,N,QIER,QIEI,SIGN) CALL PFFFT2(L,NS,N,J,QYER,QYEI,SIGN) CALL PFFFT2(L,NS,N,N,QXIN,QINI,SIGN) CALL PFFFT2(L,N5,N,I,QYNR,QYNI,SIGII) CALL PFFFT2(L,NS,N,N,QZNK,QZNI,SIGN) DO 3 I-1,L2 IF (FG(I).EQ. 1) THEN SIER(I) —ZElI(I) *QIEI (I) SIEI(I)m ZEl (I)*QIER(I) SYER(I) —ZE1I(I) *QYEI (I) SYEI(I- ZE1(I)*QYER(I) SINX(I) — ZE1 (I) *QINI (I) SINICI)a ZE1(I)*QINR(I) SYNR(I) —ZEI (I) *QYNI (I) SYNI(I) ZE1(I)*QYNR(I) SZNR(I)=-ZE1 (I)*QZNI (I) SZKI(I)- ZE1(I)*QZAR(I) ELSE SIER(I)w ZEI(I)*QXER(I) 5111(1)w ZE1(I)*QIEI(I) SYER(I- ZE1(I)*QYER(I) SYEI(I)= ZEl1(I)*QYEI (I) SINR(I)- ZEl(I)*QINI(I) SXINI(I ZEI(I)*QINI(I) SYNR(I)m ZE1(I)*QYNR(I) SYNI(I- ZEI (I)*QYNI (I) SZHR(I)in ZEI(I)*QZNKR(I) SZNI(I)in ZEI(I)*QZNI(I) END IF 3 CONTINUE SIGN-I CALL PFFFT2(L,NS,N,NSIER,SIEI.SIGN) CALL PFFFT2(LNSNN,SYER,SYEI,SIGN) CALL PFFFT2(L,NS,N,N,SINR,SINI,SIGN) CALL PFFFT2(L,NS,N,N,SYNR,SYNI,SIGN) CALL PFFFT2(L,NS,N,N,SZM,SZNI,SIGN) CALL DERIVI(L,L2,SG,TI1,SIER,UIR) CALL DERIIV(L,L2,SG,T1,SIEI,UII) CALL DEKIV2(L,L2,SG,SYER,U2R) CALL DERIV2(L,I2,SG,SYEIU12I) CALL DERIV8(L,L2,SGSZNI,U3R) CALL DERIV6(L,L2,SG,SZNIU13I) DO 4 I1l,L2 IF (SG(I) NE. 0) TEEN QIER(I)-ETR(I).KIEI(I)-ETI(I)*KXEI(I)-VI*(UII(I)+U21(I)) &-V2*U3R(I) QIEI(I)-ETR(I)*KIEI(I)+ETI(I)*KIER(I)+VI*(UIR(I)+U2R(l)) & -V2*U3I(I) ELSE QIER(IinO.0 QIEI(I)=.0 END IF 4 CONTINUE CALL DERIV2(L,L2 DSG,SXER,UIR) CALL DERIV2(L,L2,SG,SXEI,UlI) CALL DERIV3(LL2,SG,T1,SYER,U2R) CALL DERIV3(L.L2,SG,TI,SYEI,U2I) CALL DERIVS(LL2,SGDSZNR,U3R) CALL DERIVS(L,L2,SG,5ZN11U3I) DO 5 I11,L2 IF (50(I NE. 0) TEEN QYER(I)-ETR(I)*IYER(I) -ETI(I)*KYEI(I)-VI* (UlI(I)+U2I(I)) &+V2*UJ3R(I)

256 QYEI(I)~ETR(I)*KYEI(I)+ETI(I)*IYER(I)+VI*(UlR(I)+U2R(I)) & +V2*U31 (I) ELSE QYER(I)-O.0 QYEI(I) "0.0 END IF 5 CONTINUE CALL DERIV1(L,L2,SG,T1,SXNR,U1R) CALL DERIV1 (L,L2,SG,T1,SXI,UII) CALL DERIV2(L,L2,SG,SYR,U2R) CALL DERIV2(L,L2,SG,SYMI,U2I) DO 6 I1,L2 IF (SG(I).IE. 0) THEE QXlN(I)umNT(I)*KIm(I)-NTI(I)*KXNI(I)-VI*(UlI(I)+U2I(I)) QII (I)-lt(I) I(I ) K () +NTI(I).*KIN(I)+VI* ( Ult(I) +U21(I)) ELSE Qmli(I)-O.0 QXNI(I)mO.O END IF 6 CONTINUE CALL DERIV2(L,L2,SG,SXI,U1R) CALL DERIV2(L,L2,SG,SXNI,U1I) CALL DERIV3(L,L2,SG,T1,SYR,U2R) CALL DERIV3(L,L2,SG,T1,SYI,U2I) DO 7 I-1,L2 IF (SG(I).IE. 0) THEE QYln(I)-NTR(I)*XIYR(I)-NTI(I)*IYMI(I)-VI*(UlI(I)+U2I(I)) QYNI(I)-ITR(I) *KYI(I) +ITI(I)*KY1R(I)+VI*(U1R(I)+U2R(I)) ELSE QYNR(I)O.0 QYNI(I) O.O END IF 7 CONTINUE CALL DERIV6(L,L2,SG,SXER,UIR) CALL DERIV6(L,L2,SG,SXEI,U1I) CALL DERIV5(L,L2,SG,SYER,U2R) CALL DERIVS(L,L2,SG,SYEI,U2I) CALL DERIV4(L,L2,SG,SZNR,U3R) CALL DERIV4(L,L2,SG,SZI,U3I) DO 8 I1l,L2 IF (SG(I).IE. 0) TREI QZiR(I) —M- (I)ZIaR(I)+mNI(I)*KZNI(I)+V2*(UlR(I)-U2R(I)) t -VI*U3I(I) QZI (I)=-MlR(I) *XZI (I)-NMI(I)*KZUR(I)+V2*(U1I(I)-U2I(I)) & +VI*U3R(I) ELSE QZMR(I)-0.0 QZNI(I)uO.O END IF 8 CONTINUE DO 9 I1l,L2 IF (SG(I).NE. 0) THEI RlEiR(I)-EXI(I)-QlER(I) IRXEI (I) EXI (I)-QXEI (I) RYER(I)-EYR(I)-QYER(I) RYEI(I)-EYI(I)-QYEI(I) RXNI(I)-HIR(I)-QIxR(I) RII (I)HEI (I)-QINI(I) RYNR(I)"HYR(I)-QYtR(I) RYMI(I)-HYI(I)-QYNI(I) RZlR(I) HZR(I)-QZNR(I) RZII(I)-HZI(I)-QZMI(I) ELSE RIER(I)-O.0 RXEI(I)O0.O RYER(I)-0.0

257 RYEI(I)u0.0 UR(Iu0.0 RKIMII-0.0 RYNR(I)0.0 RYNI(I-0.0 RZNIM(I)=.0. R7JII(I)u0.0 END IF 9 CONTINUE CALL COPYNE(L2,SG,RIER,QIER) CALL COPYNE(L2,SG,RIEI,QIEI) CALL COPYIIE(L2,SG,RYER,QYER) CALL COPYNE(L2,SG,RYEI,QYEI) CALL COPYKE(L2,SG,UXNR,QZNR) CALL COPYNE(L2,SG,RINI,QxIN) CALL COPYKE(L2,SG,RYNR,QYNR) CALL COPYNE(L2,SG,RYKI,QYNI) CALL COPYRE(L2,SG,RZNR,QZNR) CALL COPYNE(L2,SGRZNI,QZNI) SIGNU-1 CALL PFFFT2(L,NS,N,N,QIER,QIEI,SIGN) CALL PFFFT2(L,NS,N,N,QYER,QYEI,SIGN) CALL PFFFT2(L,NS,N,N,QIUR,QINI,SIGN) CALL PFFFT2(L,NS,N,N,QYNR,QYNI,SIGN) CALL PFFFT2(L,NS,N,N,QZNI,QZNI,SIGN) DO 10 I=i,L2 IF (FG(I).EQ. 1) THEN SIER(I)m ZEI(I)*QIEI(I) SIEI()n-ZEI1(I)*QIER(I) SYER(I)m ZEI(I)*QYEI(I) SYEI(I)n-ZE1l(I)*QYER(I) SDII(I)u ZEI(I)*QINI(I) SXKI(I =-ZE1 MI)*QDIR (I) SYNR(I)m ZE1(I)*QYNI(I) SYNI(I)u-ZE1 (I).QYNK(I) SZHR(I) ZEI(I)*QZNI(I) SZNI(I)i-ZEI (I)*QZN(I) ELSE SXER(I)m ZEI(I)*QIER(I) SIEI(I)- ZEI(I)*QXEI(I) SYER(I- ZE1(I)*QYER(I) SYEI(I)- ZEI(I)*QYEI(I) SMN(I)a ZEI(I)*QINI(I) S1KI(I)- ZEI(I)*QINI(I) SYNR(I)m ZEI(I)*QYNR(I) SYNI(IM ZE1(I)*QYNI(I) S111(I)- ZE1(I)*Q2NR(I) S111(I)- ZEI(I).QZNI(I) END IF 10 CONTIZUE SiolNI CALL PFFFT2(L,NSN,N,SIERSIEI,SIGN) CALL PFFFT2(LNS,N,N,SYER,SYEI,SION) CALL PFFFT2(L,NSDN.N.SINR,SINI,SION) CALL MYFT(LPNS,N,N,SYKR,SYNIISIGN) CALL PFFFT2(L,NS,N,N,SZNR,SZNI,SIGN) CALL DERIVl(L,L2,SG,TI,SIERUiI) CALL DERIVI(L,L2,SG,T1,SIEI,UII) CALL DEtIV2(L,L2,SG,SYER,U2R) CALL DERIV2(L,L2,SG,SYEI,U2I) CALL DERIV6(L,L2,SG,SZNR,1J3R) CALL DERIV6(L,L2,SG,SZNI,U3I) DO 11 Ial,L2 IF (SG(I) NE. 0) THEN QIER(I)-ETR(I) *RXER(I)+ETI(I)*BRIEI(I)+VI* (UII(I)+U2I(I)) ft-V2*U3R(I)

258 QIEI (I)-ETR(I)*RHXEI(I) -ETI(I)*RIER(I)-VI* (UlR(I)+U2R(I)) & -V2*U31I(I) ELSE QIER(I-nO.0 QIEI(I-nO.0 END IF 11 CONTINUE CALL DERIV2 (L,L2,SG,SIER,UIR) CALL DERIV2(L,L2,SG,SXEI,UII) CALL DERIV3(L,L2,SG,T1,SYER,U2R) CALL DERIV3(L,L2,SG,TIISYEI,U2I) CALL DERIV5(L,L2,SG0,SZNR,U3R) CALL DERIV5(L,L2,SG,SZNI,U3I) DO 12 I11,L2 IF (SG(I) NE. 0) THEN QYER(I)-ETR(I) *RYER(I)+ETI(I)*RtYEI(I)+VI*(UII(I)+U21I(I)) &+V2*U3R(I) QYEI(l)-ETR(I) *RYEI (I) -ETI(I)*RYER(I)-VI* (UIR(I)+U2R(I)) &+V2*U3I (I) ELSE QYER.(I)u0.0 QYEI(I)u0.0 END IF 12 CONTINUE CALL DEKVI(L,L2,SG,T1 1SD11,UIR) CALL DERIVI(L,L2,SG,T1,SINI,UII) CALL DERIV2(L,L2,SG,SYHR,U2R) CALL DERIV2(L,L2,SG,SYNI,U2I) DO 13 I1in1L2 IF (S0(I NE. 0) TREEN QINR(I)41T1(I)*RUNR(I)+NTI(I)*R.INI(I)+VI* (U1I(I)+U21I(I)) QMh(I)URTR(I)*RIN(I)-NITItI)*Ruu(I)-VI* (UIR(I)+U2R(I)) ELSE QINR(I)u0.0 QINI(I)nO.0 END IF 13 CONTINUE CALL DERIV2 (L 1L2,SG,SI,UIR) CALL DERIV2(L,L2,SG.SIN,U1I) CALL DERIV3(L,L2,SG,T1,SYNR,U2R) CALL DERIV3(L,L2,SG,T1,SYNI,U2I) DO 14 I-1,L2 IF (50(I NE. 0) THUN QYNK(I)UIITR(I)*RYUR(I)+NTI(I)*RYNI(I)+VI*(U1I(I)+u2I1(I)) QYNI (I)uIM(I)*RYxI(I)-NTI(I)*RYwa(I)-YI*(UIR(I)+U2R(I)) ELSE QYNR(I)-O.0 QYRI(I)u0.0 END IF 14 CONTINUE CALL DERIV6(L.L2,SG,SlER,UlR) CALL DERIV8(L,L2,SG,SXEI,U11) CALL DERIVS(LL2,SG,SYEK,U2R) CALL DENt1V5(L,L2,SG,SYEI,U2I) CALL DERIV4(L,L2,SG,SZNI,U3R) CALL DERIV4(L,L2,SG,SZNI,U3I) DO 15 I-l,L2 IF (SG(I).NE. 0) THEN QZNR(I) —UfR(I)*RZNR(I)-NNI(I)*RZMI(I)+V2*(UIR(I)-U2R(I)) &+VI*U31I(I) & -VI*U3R(I) ELSE QZHR(I)-O.0 QZNI(I)u0.0 END IF

259 15 COITINUE CALL N01N22(L2,QIER,QXEI,SG,QNIE) CALL N0RN22(L2,QYER,QYEI,SG,QNYE) CALL NODRN22(L2,QINR,QINI,SG,QNIN) CALL 0RNR22(L2,QYNR,QYNI,SG,QNYN) CALL 0RNR22(L2,QZNR,QZNI,SG,QEZN) GQUQNIE+QNYE+QNI+QNYN+QNZN Bol.0/GQ C INITIALIZE SEARCH VECTORS C DO 16 I-1,L2 IF (S6(I) NE. 0) TEEN PIER(I)-BO*QIER(I) PIEI(I)UBO*QIEI (I) PYER(I)UBO*QYER(I) PYEI (I)=BO*QYEI (I) PINR(I)uBO*QDIR(I) PINI(I)=BO*QINI (I) PYHR(I)=BO*QYNR(I) PYNI(I)inBO*QYNI(I) PZNR(I)uBO*QZHR(I) P7JII(I)inB0*Q7111(I) ELSE PIER(I-0.0 PIEI(I)u0.0 PYER(I)u0.0 PYEII)0.0 PDIR(Iu0.0 PhI(IMu0.0 PYNR(I-0.0 PYNI(I)u0.0 PZiNR(I)0.0 PZNI(I)-.0 END IF 16 CONTINUE C BEGIN ITERATIONS C K-0 300 CONTINUE KUK+1 CALL COPYNE(L2,SG,PIER,QIER) CALL COPYNE(L2,SG,PIEI,QIEI) CALL COPYNE(L2,SG,PYER,QYER) CALL COPYNE(L2,SG,PYEI,QYEI) CALL COPYNE(L2,SG,PINR,QMI) CALL COPYNE(L2,SG,PINI,QINI) CALL COPYNE(L2,SG,PYNR,QYNR) CALL COPYNE(L2,SG,PYNI,QYNI) CALL COPYNE(L2,SG,PmK,QZJR) CALL COPYNE(L2,SG,PZJII,QZNI) SIGN —I CALL PFFFT2(L,NS,N,N[,QIER,QIEI,SIGN) CALL PFFFT2(L,NS,N,N,QYER,QYEI,SIGN) CALL PFFFT2(L,NS,N,N,QINR,QINI,SIGN) CALL PFFFT2(LNS,N,NI,QYNR,QYNI,SIGN) CALL PFFFT2(L,NS,N,N,QZNR,QZNI,SIGN) DO 17 Iin1,L2 IF (FG(I) -EQ. 1) THEN SIER(I) —ZE1I(I)*QIEI (I) SIEI(I)- ZEI(I)*QIER(I) SYER(I) —ZE1I(I)*QYEI (I) SYEI(I) ZE1(I)*QYER(I) SIJIR(I) —ZE1 (I)*QIHI(I) S1111(1- ZEI(I)*QIIIR(I)

260 SYNR(I) *-ZEI (I) *QYNI (I) SYNI(I)- ZEI(I)*QYNR(I) SZNR(I) — ZE1 (I) *QZNI (I) SZNI(I)in ZEI(I)*QZNR(I) ELSE SIER(I) ZEI(I)*QIER(I) SIEI(I) ZEI(I)*QIEI(I) SYER(I- ZEl(I)*QYER(I) SYEI(I)- ZEI(I)*QYEI(I) SINI(I)- ZE1(I)*QINR(I) S1111(I)- ZEI(I)*QINI(I) SYNI(I)u ZEI(I)*QYNR(I) SYNI(I)u ZE1(I)*QYNI(I) SZNR(I)= ZEI(I)*QZNR(I) 51111(I)- ZEI(I)*QZNI(I) END IF 17 CONTINUE SIGN-i1 CALL PFFFT2(L,NS,N,N,SIER,SIEI,SION) CALL PFFFT2(LNS,N,N,SYER,SYEI,SIGNI) CALL PFFFT2(L,NS,N,]N,SDI,SINI,SIGN) CALL PFFFT2(L,,NS,N,N[,SYNR,SYNI,SIGN) CALL PFFFT2(LIS,N,N,S2NM,SZNI,SIGN) CALL DERIVI (L,L2,SG,T1,SIER,UIR) CALL DERIVI (L,L2,SG,T1,SIEIUII) CALL DERIV2(L,L2,SGSYER,U2R) CALL DERIV2(L,L2 5G,SYEI,U2I) CALL DERIV8(L,L2,SG,SZNI,U3R) CALL DERIV8(L,L2,SG,5111,113I) DO 18 I-1,L2 IF (SG(I) NSE. 0) THEN QIER(I)-ETR(I) *PIER(I)-ETI(I)*PXEI(I)-VI*(UII(I)+U2I(I)) &-V2*U3R(I) QIEI(I)-ETR(I)*PIEI(I)+ETI(I)*PXER(I)+VI*(UIR(I)+U2R(I)) &-V2*U3I(I) ELSE QIER(I-0.0 QXEI(I)0.0 END IF 18 CONTINUE CALL DERIV2(LL2,SG,SXER,UIR) CALL DERIV2(L,L2,SG,SXEI,UII) CALL DERIV3(L,L2,SG,T1,SYER,U2R) CALL DERIV3(L,L2,SG,T1,SYEI,U2I) CALL DERIV5(L,L2,SG,SZNR,U3R) CALL DEtI.VS(L,L2,SG,SZNI,U3I) DO 19 In1,L2 IF (SG(I) NE. 0) THEN QYER(I)=ETR(I)*PYER(I)-ETI(I)*PYEI(I)-Vl*(UII(I)+1J2I(I)) &+V2*U3R(I) &+V2*U31 (I) ELSE QYU(IMuO.0 QYEI(I)-0.0 END IF 19 CONTINUE CALL DERIVI(L,L2,SGT1,SXN1,UlR) CALL DERIVI(L,L2,SG,T1,SINI,UII) CALL DERIV2(L,L2,SG,SYNR,U2R) CALL DERIV2 (L,L2,SG,SYNI,U2I) DO 20 I11,L2 IF (SG(I) -NE. 0) THEN QINR(I)-IITM(I) *PXNR(I) -NTI(I)*PIMI(I)-VI. (UII(I)+U2I (I)) QINI(I)-NTR(I)*PINI(I)+NTI(I).PINR(I)+VI*(ulR(I)+U2R(I)) ELSE

261 QINRI-i0.O QlINI()-0.0 END IF 20 CONTINUE CALL DERIV2(L,L2,SG,SXIN,U1R) CALL DERIV2(L,L2,SG,SIN,U1I) CALL DERIV3(L,L2,SG,T1,SYNR,U2R) CALL DERIV3(L,L2,SG,T1,SYNI,U2I) DO 21 I-1,L2 IF (SG(I) NE. 0) TREEN QYNR(I)-NTR(I)*PYNR(I)-NTI(I)*PYMI(I)-VI* (UlI(I)+U2I(I)) QYNI(I)-NTR(I) *PYNI(I)+NTI(I)*PYUR(I)+VI* (UIR(I)+U2R(I)) ELSE QYNR(I)=0.0 QYNI(I)0.0 END IF 21 CONTINUE CALL DERIV6(LL2,SG,SIER,UIR) CALL DERIV8(L,L2,SG,SXEI,U1I) CALL DERIV5(L,L2,SG,SYER,U2R) CALL DERIV5(L,L2,SG,SYEI,U2I) CALL DERIV4(L,L2,SG,SZNR,U3R) CALL DERIV4(L,L2,SG,SZEI,U3I) DO 22 In1,L2 IF (SG(I) NE. 0) TREEN qmK(I).-uaI(I)*Pzua(I)+NNI(I)*PzMuI(I)+V2*(UIR(I)-u2R(I)) ft -VI*U31I(I) QZIII(I)=-NNR(I)*PZNI(I)-NNI(I)*PZNR(I)+V2*(UII(I)-U2I(I)) &+VI*U3R(I) ELSE QZMR(I)mO.0 QTJII(I)U0.0 END IF 22 CONTINUE CALL N0RN22(L2,QIER,QIEI,SG,QNIE) CALL NORN22(L2,QYER,QYEI,SG,QNYE) CALL NORN22(L2,QINR,QINIISG,QNIN) CALL N0ORN22(L2,QYNR,QYNI,SG,QNYN) CALL N0RN22(L2,QZNR,QZNI,SG,QNZN) GQ-QNIE+QNYE+QNINQNY+QNZN A=I~i.0/GQ C COMPUTE NEV CUURENT AND RESIDUAL VECTORS C DO 23 Iu1,L2 IF (SG(I) NE. 0) TREEN KIER(I)-IIER(I)+AI*PIER(I) IIEI(I)-KIEI(I)+A.I.PIEI(I) KYER(I)=KYER(I)+AI*PYER(I) KYEI(I)IXYEI(I)4AK.PYEI(I) KDIU(I)uKIUR(I)+AX.PmN(I) IDII(I)=KINI(I)+AX*PDNI(I) IYmR(I)-KmN(I).AK*PYNR(I) IYNI(I)-IYNII(I)+AI*PYNI(I) KZ~M(I)=KzuM(I).AX*PmK(I) IZNI (I)=KZNI (I)+AK*PzxI(I) RIER(I)-RYER(I) -AI*QIER(I) RIEI (I)=RIEI(l)-AK*QIEI(I) RYER(I)=RYER(I)-AI*QYER(I) RYEI(I)-RYEI (I)-AK*QYEI(I) RNIP(I)-RINR(I) -AI.QINR(I) RINI(I)-3RXNI(I) -AI.QINI(I) RYNR(I)=RYNR(I) -AI.QYNR(I) RYNI(I)-RYNI (I) -AK.QYNI(I) RZIM(I)-RZNR(I) -AX*QZNR(I) RZNI(I)-RZNI(I)-AI*QZNI(I)

262 ELSE XXER(Ii0.0 KZEII)0.0 KYE(IMi0.0 KYEI(I-inO. KXNR(I)u0.0 KINIMI-0.0 KYNR(I)u0.0 KYNI(IiO.0 IZNR(I)-.0 IZNI(I)u0.0 RXER(I-0.0 RIXEI(I)0.0 RYER(I-0.0 RYEI(I)0 0 RXNR(I)-.0 RXNI(I)0.0 iRYNR(I)u0.0 RYNI(I-0.0 RZNRIMu0.0 END IF 23 CONTINUE

263 C CHECK THE TERNINATION CRITERIA C CALL NORN22(L2,RIER,RIEI,SG,RNIE) CALL NORK22(L2,RYER,RYEI,SG,RNYE) CALL NORH22(L2,RIHR,RINI,SG,RNIN) CALL NORN22(L2 PRYNPRYHI,SGR11YH) CALL 10RN22(L2,RZNR,RZNI,SGR1171) GR-RNIE+RNIYE+RNIN+RNY+RNIZN ERR-SQRT (GR/GE) IF(EUR LT. TOL).OR. (K.GE. KMAX) THEN CALL BACSCC(L,XY,SG,ST,CT,SP,CP,KIER,KXEI,KYER,KYEI,KINMRKMII &,KYHR,KYNI,KZHR,KZNI,DS,SDB) IIRITE(6,520) AL,PH,TH,K,ERR,SDB GO TO 999 ELSE END IF CALL COPYNE(L2,SG,RIER,QIER) CALL COPYRE(L2,SG,R1EI,QIEI) CALL COPYKE(L2,SG,RYER,QYER) CALL COPYRE(L2,SG,RYEI,QYEI) CALL COPYHE(L2,SG,RINR,QXNR) CALL COPYNE(L2,SG,RIII,QINI) CALL COPYNE(L2,SG,RYNR,QYNR) CALL COPYNE(L2,SG,RYHI,QYHI) CALL COPYHE(L2,SG,RZN1,QZHR) CALL COPYKE(L2,SG,RZNI,QZHI) SIGN —I CALL PFFFT2(L,NS,N,N,QIER,QIEI,SIGN) CALL PFFFT2(L,NS,N,NIQYER,QYEI,SIGN) CALL PFFFT2(L,NS,N,N,QIH QKQII,SIGN) CALL PFFFT2(L,NS,N,N,QYNR,QYNI,SIGN) CALL PFFFT2(L,NS,N,N,QZNI,QZNI,SIGN) DO 24 II1,L2 IF (FG(I).EQ. 1) THEN SIER(I)u ZEI(I)*QIEI(I) SIEI(I) —ZEI (I)*QIER(I) SYERMI- ZEI(I)*QYEI(I) SYEI(I)=-ZEI(I)*QYER(I) S M1(1- ZE1(I)*QINI(I) SIMI (I- ZEI MI *QINR(I) SYHR(I)- ZEI(I)*QYHI(I) SYNI(I)u-ZE1l(I*QYN1(I) SZH1(I)u ZEI(I)*QZNI(I) SZHI(I) —ZE1I(I)*QZH1(I) ELSE S1ER(Is ZEI(I)*QIER(I) SIEI(I)u ZE 1() *QIEI(IM SYER(I= ZE1(I)*QYER(I) SYEI(I) ZEI(I)*QYEI(I) 511(I)- ZE1(I)*QIH(I) 57111(1) ZEI(I)*QINI(I) SYNR,(I)- ZEI(I)*QYNR(I) SYNI(I- ZEI(I)*QYNI(I) SZMR(I)n ZE1(I)*QZNR(I) SZNI(I)- ZEI(I)*QZNI(I) END IF 24 CONTINUE SIGNal CALL PIFFT2(L,NS,N,N,SXER,SZEI,SIGN) CALL PFFFT2(L,NS,M,N,SYER,SYEI,SIGN) CALL PFFFT2(L,N[S,N,N,SINRSZNI,SIGN[) CALL PFFFT2(LNSN,NISYN1,SYHI,SIGN) CALL PFFFT2(L,NS,N,N,SZHR,SZNI,SIGN) CALL DERtIVl(L,L2,SG,T1,S1ER,UlR) CALL DERIVI(L,L2,SG,T1,SZEI,UII)

264 CALL DERIV2(L,L2,SG,SYER,U2R) CALL DERIV2(L,L2,SG,SYEI,U2I) CALL DERIV6(L,L2,SG,SZNR,U3R) CALL DERIV6(L,L2,SG,SZNI,U3I) DO 25 I11L2 IF (SG(I).NE. 0) THEN QIER(I)-ETR(I)*sRIER(I)+ETI(I)*RXEI(I)+VI*(UII(I)+U2I (I)) &-V2*U3Rt(I) QIEI(I)=ETR(I)*RIEI(I)-ETI(I)*RIER(I)-VI*(UlR(I)+U2R(I)) &-V2*U3I(I) ELSE QIER(I)0.0 QIEI(Ii0.0 END IF 25 CONTINUE CALL DERIV2(L,L2,SG,SXER,U1K) CALL DERIV2(L,L2,SG,SIEI,U1I) CALL DERIV3(L,L2,SG,T1,SYER,U2R) CALL DERIV3(L,L2,SG,T1 1SYEI,U2I) CALL DERIVS(L,I2,SG,SZNR,U3R) CALL DERIVS(L,L2,SG,SZNI,U3I) DO 26 I11,L2 IF (SG(I) NE. 0) TREEN QYER(I)-ETR(I) *RYER(I)+ETI(I)*RYEI(I)+VI* (UII(I)+U2I(I)) &+V2.113R(I) QYEI(I)-ETR(I)*RYEI(I)-ETI(I)*RYER(I)-VI*(UIR(I)+U2Rt(l)) &+V2*U3I (I) ELSE QYER(I-0.0 QYEIMI)0.0 END IF 26 CONTINUE CALL DERIIV(L,L2,SG,T1,SINR,UIR) CALL DERIVI (L,L2,SG,TI,SINI,U1I) CALL DERIV2(L,L2,SG,SYNR,U2R) CALL DERIV2(L,L2,SGSYTH!,U2I) DO 27 Iin1,L2 IF (S0(I.N. 0) THEN QINR(I)4!TR(I) *RINR(I)+NTI(I)*RUNI(I)+VI*(UlI(I)+U21I(I)) QINI(I)-NTM(I) *RINI(I) -NTI(I)*RINR(I).-VI*(UIR(I)+U2R(I)) ELSE QINR(I)-0.0 QHINII-0.0 END IF 27 CONTINUE CALL DERIV2(L,L2,SG,SINR,UIR) CALL DERIV2(L,L2,SG,SINI,U1I) CALL DERIV3(L,L2,SG,T1,SYNR,U2R) CALL DERIV3(L,L2,SG,T1,SYNI,U2I) DO 28 I-1,L2 IF (SG(I).NE. 0) TEEN QYNR(I)NTRM(I)*.RYUM(I)+NTI(I)*RYMI(I)+VI* (UII(I)+U2I(I)) QYNI(I)KNTR(I)*RYNI(I)-IITI(I)*RYUR(I)-VI*(UIR(I)+U2R(I)) ELSE QYNR(I)0.0 QYNI(I)u0.0 END IF 28- CONTINUE CALL DERIV6(L,L2,SG,SIER,UlR) CALL DERIV6(L,L2,SG,SXEI,U1I) CALL DERtIVS(L,L2,SGSYER,U2R) CALL DERIV5(L,L2,SG,SYEI,U2I) CALL DEtIV4(L,L2,SG ISZNR,U3R) CALL DERIV4(L,L2,SG,SZNI,U3I) DO 29 I=1,L2 IF (SG(I).NE. 0) THEEN

265 QZntrI)=-NN(I)*RZuR(I)-NNI(I)*RZNI(I)+V2*(UIR(I)-U2R(I)) A+VI*U3I (I) QZNI(I)=-NNR(I)*RKZI(I)+NII(I)*RZNR(I)+V2*(UII(I)-U2I(I)) &-VI*U3R(I) ELSE QZNR(I)0.0 QuaI(I) u0. 0 END IF 29 CONTINUE CALL NORN22(L2,QIER,QIEI,SG,QNE) CALL NORN22(L2,QYER,QYEI,SG,QNYE) CALL N0RN22(L2,QDIR,Q1INISG,QINM) CALL 10RN22(L2,QYNR,QYNI,SG,QNYN) CALL NORN22(L2,QZNR,QZNI,SG,QNZN) GQ=QNIE+QNYE+QNIN4QNYN+QNZN BK-I.0/GQ C CONPUTE NEV SEARCH VECTOR C DO 30 Iinl,L2 IF (SG(I) NE9. 0) TEEN PxER(I)uPIER(I)+BK*QIER(I) PIEI(I)-PIEI(I)+BK*QIEI(I) PYER(I)=PYER(I)+BK*QYER(I) PYEI(I)-PYEI (I)+BZ*QYEI(I) PINqR(I)-PINR(I)+BI*QJ.U(I) PINI (I).PINI(I)+BI*QXNI(I) PYNK(I)-PYNR(I)+BI*QYNR(I) PYNI(I)-PYNI(I)+BI*QYNI(I) PZNR(I)-PZm(I)+BZ*QZM(I) PYJII(I)-PZHI (I)+BX*QZNI(I) ELSE PIE(I)0.0 PIEI(I-i0.0 PYER(I-0.0 PYEI(I)u0.0 PIUK(I-0.0 PXIMII=0.0 PYNRI)0.0 PYNI(I-0.0 PZNR(I)u0.0 PZNI(I-0.0 END IF 30 CONTINUE GO TO 300 999 CONTINUE 2 CONTINUE I CONTINUE C FORMATS C 500 FORMAT(//,' ALPHA ''PHill, THETA sill ITER I 91' RESIDUAL A,' RCS ',/I) 520 FORIAT(1I,F5.1,21,F5.l,2X,F5.1,21,I4,ElO.8,FIO.2) RETURN END

266 SUBROUTINE DMHALG(L,L2,NSDSPHI,PH2,TH1,TH2,DP,DT,KMA,TOL,SG,FG &,I,Y,IXIMR,KXIMIPYMR,IYNI,KXER,IIEI,KYER,KYEI,RZER,KZEI,RZMR,RIMI &,RYMR,RYMI,RZER,RXEI,RYER,RYEI,RZERRZEI,PMRPNIMI,PYNR,PYRI,PIER &,PIEI,PYER,PYEI,PZER,PZEI,QIMR,QNIMI QYNRQYMI IQXERQIEI,QYER,QYEI &,QZER,QZEI,SIMRSIMI,SYMR,SYMI,SIER,SIEI,SYER,SYEI,SZER,SZEI,HIR k,HII,HYR,HYI,EIR,EXI,EYR,EYI,EZR,EZI,ZEI,UIR,U1IIU2R,U2I,U3R,U31 &,ETR,ETI,ENR,ENI INTRNTI) C THIS SUBROUTINE USES A CONJUGATE GRADIENT FFT METHOD TO COMPUTE C C THE SURFACE CURRENT AND RCS OF A THIN DIELECTRIC PLATE ILLUMINATED C C WITH ANl H POLARIZATED PLANE WAVE C REAL IIER(*),KIEI(*),KYER(*),KYEI(*),IINR(*),IIMI(*),IYMR(*) &,IYNI(.),IZER(*),KZEI(*) 8EXR(*),EII(*),EYR(*),EYI(*),HIR(*),HII(*) k,HYR(*),HYI(*),EZR(*),EZI(*),RIER(*),RIEI(*),RYER(*),RYEI(*) k,RXMR(*),RMI(*),RYNR(*),RYMI(*),RZER(*),RZEI(*),PIER(*),PIEI(*) k,PYER(.),PYEI(*),PIMR(*),PIMI(*),PYMR(*),PYMI(*),PZER(*),PZEI(*) &,QIER(*),QXEI(*),QYER(*),QYEI(*),QINR(),QIMI(*),QYNR(*),QYMI(*) &,QZER(*),QZEI(*),SXER(*),SXEI(*),SYER(*),SYEI(*),SIMR(*),SIMI(*) &,SYNR(*),SYMI(*),SZER(*) 1SZEI(*),ZEI(*),UIR(*),UII(*),U2R(*) &,U21(*),U3R(*),U3I(*),ETR(*),ETI(*),MT(*),MTI(*),ENR(*),ENI(*) &,I(*),Y(*) INTEGER N(4),SG(*),FG(*),SIGN CALL TABLE(L,M,N) CALL DDAFGA(L,DS,ZE1,FG) DATA PI,TP,RAD /.3141593E+01,.6283196E+01,.1745329E-01/ Tlin2.0*(TP*PI*DS*DS-1.0) VIinl.0/(TP*DS*DS*L2) V2-1.0/(2.O*DS*L2) WRITE(6,500) ALinO.0 C STEP THROUGH EACH INCIDENT ANGLE C N1-INT( (PH2-PH1)/DP) N2=INT((TH2-TH1) /DT) DO 1 IPHIO0,N1 PH-PH1+IPHI*DP DO 2 ITHE-0,N2 TH-TH1+ITHE*DT CALL INHAN(L,SG,AL,PH,TH,X,Y,HIR,HZI,HYR,HYI) CALL INrETAN(LSG,AL,PH,TH,X,Y PEIREZI,EYR,EYI) CALL IEKEN OR(L,SG,AL,PHTH,I,Y,EZR,EZI) CALL N0RM22(L2 PHIR,HXII,SG,HNI) CALL NORM22(L2,HYR,HfYI,SG,HNY) CALL NIORM22(L2,EfR,EXII,SG,ENI) CALL NIORM22(L2,EY,EYI,SG,EN) CALL NORK22(L2,EZREZI,SG,EIZ) GEHNZ[+HNIY+ENX+ENIYeENZ RI-RAD*PH R2-IAD.TN CP=cOS (Rl) SP-SIN(Rl) CT-,COSi(R2) ST-SIN(R2) C INITIALIZE RESIDULE C CALL COPYME(L2,SG,KIMR,QXIMR) CALL COPYNE(L2,SG,KIMI,QIMI) CALL COPYME(L2,SG,IYMR,QYMR) CALL COPYME(L2,SG,IYNI,QYMI) CALL C0PYNE(L2,SG,IIER,QIER) CALL COPYME(L2,SG,KIEI,QIEI) CALL COPYNE(L2,SG,KYER,QYER) CALL COPYME(L2ISO,KYEI IQYEI)

267 CALL COPYNE(L2,SG,IZER,QZER) CALL COPYNE(L2,SG,IZEI,QZEI) SIGN —I CALL PFFFT2(L,NS,N,NQXIN,QINISIGN) CALL PFFFT2(L,NS,N,N,QYNR,QYNI,SIGI) CALL PFFFT2(L,NS,N,N,QIER,QIEI.SIGN) CALL PFFFT2(L,NS,N,N,QYER,QYEI,SIGN) CALL PFFFT2(L,NS,N,N,QZER,QZEI,SIGN) DO 3 Iu1,L2 IF (FG(I).EQ. 1) THEN SINR(I) —ZE1 I)*QINI () SINiI(I ZEI(I)*QINR(I) SYNR(I) —ZEI (I).QYNI (I) SYNI(I- ZE1(I)*QYNR(I) SIER(I)u-ZE1I(I)*QIEI () SIEI(I)- ZEI(I)*QIER(I) SYER(I)in-ZE1I(I) *QYEI (I) SYEI(I)u ZEI(I)*QYER(I) SZERt(I) —ZE1 (I) *QZEI (I) SZEI()n ZEI(I)*QZER(I) ELSE SUmMi- ZEi(I)*QINR(I) SIMI(I)s ZEI(I)*QINI(I) SYNR(I) ZE1(I)*QYNR(I) SYNI(I) ZEI(I)*QYNI(I) SIER(I)n ZEI(I)*QXER(I) SIEI(I) ZEI(I)*QIEI(I) SYERMI) ZEI(I)*QYER(I) SYEI(I- ZEI(I)*QYEI(I) SZER(I)w ZEI(I)*QZER(I) SZEI()u ZEI(I)*QZEI(I) END IF 3 CONTINUE 5101.1 CALL PFFFT2(L,NS,N,N,SINR,SINI,SIGN) CALL PFFFT2(L,NS,N.1,SYNR,SYNI,SIGN) CALL PFFFT2(L,NS,N,NDSIER,SIEI,SIGN) CALL PFFFT2(L,NS,NDN,SYER,SYEI,SIGN) CALL PFFFT2(L,NS,N,N,SZER,SZEI,SIGN) CALL DERIVI(L,L2,SG,T1,SINR,UIR) CALL DERIVI(L,L2,SG,TI,SDII,UII) CALL1 DERIV2(L,L2,SG,SYNR,U2R) CALLI DERIV2(L,L2,50,SYNI,U21) CALL DERIV6(L,L2,SG,SZER,U3R) CALL DERIV6(L,L2,SG,SZEI,U3I) DO 4 Inl,L2 IF (SG(I NE. 0) THEN QINR(I)uNTRT(I)*.KI(I)-NTI(I)*KINI(I)-VI*(UII(I)+U21(I)) A +V2*U3R(I) QINIMI).NT(1).IINI(I)+NTI(I)*KXJM (I)+VI* (UIR(I)+u2R(I)) &+V2*U3I(I) ELSE QINI(I)0O.O END IF 4 CONTINUE CALL DERIV2(L,I2,SG,SINR,UIR) CALL DERIV2(L,L2,SG,SINIUII) CALL DERIV3(L,L2,SGT1,SYNR,U2R) CALL DERIV3(L,L2,SG,TI1,SYNI,U2I) CALL DERIVS(L,L2,SG,SZER,U3R) CALL DERIV5(L,L2,SG,SZEI,U3I) DO 5 I=1,L2 IF (SG(I NE. 0) THEN & -V2*U3R(I)

268 QYIi(I)-uIM(i).KYI(I)e.NTI(I)*ImX(I)+VI* (UIR(I)+U2R(I)) & -V2*U31I(I) ELSE QYNR(I)-0.0 QYNI I-0.0 END IF 5 CONTINUE CALL DERIVI(L,L2,SG,T1,SIER,U1K) CALL DERIVI (L,L2,SG,T1,SEI,UII) CALL DERIV2(L,L2,SG,SYER,U2R) CALL DERIV2(L,L2,SG ISYEI,U2I) DO 6 Iin1,L2 IF (SG(I NE. 0) THEN QIER(I)-ETR(I).KXER(I)-ETI(I)*KXEI(I)-VI*(UII(I)+U2I(I)) QIEI(I)-ETR(I)*IIEI(I)+ETI(I)*KIER(I)+VI*(UIR(I)+U2R(I)) ELSE QIER(IMO 0 -QEII I-0.0 END IF 6 CONTINUE CALL DERIV2(LL2,SG,SIER,UlR) CALL DERIV2(L,L2,SG,SIEI,UII) CALL DERIV3(LL2,SG,TI,SYER,U2R) CALL DERIV3(L,L2,SG,T1,SYEI,U2I) DO 7 Iml,L2 IF (SG(I) NE. 0) THEN QYERt(I)uETR(I)*IYER(I)-ETI(I)*IYEI(I)-VI*(UII(I)+U2I (I)) QYEI(I)-ETR(I)*KYEI(I)+ETI(I)*IYER(I)+VI*(UIR(I)+U2R(l)) ELSE QYER(I-nO.0 QYEI (I)uO.0 END IF 7 CONITINUE CALL DERIV6(L,L2,SG,SIUR,UIR) CALL DERIV6(L,L2,SG,SINI,U1I) CALL DERIV6(L,L2,SG,SYNK,U2R) CALL DERIV5(L,L2,SGSYNI,U2I) CALL DERIV4(L,L2 ISG,SZER,U3R) CALL DERIV4(L,L2,SG,SZEI,U3I) DO 8 Iinl,L2 IF (SG(I) NRE. 0) THEN QZER(I) —ENR(I)*IZER(I)+ENI(I)*KZEI(I)-V2*(UIR(I)-U2R(I)) & -VI*U3I (I) QZEI(I) —ENR(I)*KZEI(I)-EII(I)*KZER(I)-V2*(UII(I)-U2I(I)) &+VI*U3R(I) ELSE QZER(I-0.0 QZEIMI-nO.0 END IF 8 CONTINUE DO 9 Iu1,L2 IF (SG(I.NE. 0) THEEN RUU(I).fRU(I)-QIUR(I) RINI(I)=ufhI(I)-QIMI(I) RYNI(I)=HYR(I)-QYUM(I) RYNI (I)HKYI(I)-QYEI(I) RIER(I)-EII(I-QlER(I) RYER(I)-EYR(I)-QYER(I) RYEI (I)-EYI (I) -QYEI (I) RZER(I)-EZR(I) -QZER(I) RZEI(I)-EZI(I) -QZEI (I) ELSE IWR(I-0.0 RMIl (I) -0.0 RYVR(I)-0.0%

269 RYNI(I)0.0 RXERX(I) 0. 0 RUEI(I-0.0 RYE(I)0.0 RYEI(I0.00 RZEK(I0uO.0 RZEI(IM 0 -END IF 9 CONTINUE CALL COPYNE(L2,SG,RIN,QlnI) CALL COPYNE(L2,SG,RXhI,QINI) CALL COPYNE(L2,SG,RYNR,QYNR) CALL COPYNE(L2,SG,RYNIDQYNqI) CALL COPYNE(L2,SG,RIER,QIER) CALL COPYNE(L2,SG,IRIEI,QIEI) CALL COPYNE(L2,SG,RYER,QYER) CALL COPYEE(L2,SGRYEI,QYEI) CALL COPYNE(L2,SG,RZER,QZER) CALL COPYNE(L2,SGRZEI,QZEI) SIGN —1 CALL PFFFT2(L,NS,N,NIQXIE,QINI,SIGN) CALL PFFFT2(L,NS,N,N,QYNI,QYNI,SIGN) CALL PFFFT2(L,NS,N,N,QIER,QIEI,SIGN) CALL PFFFT2(L,NS,N,N,QYER,QYEI,SIGN) CALL PFFFT2(L,IS,N,N,QZER,QZEI,SIGN) DO 10 Iu1,L2 IF (FG(I).EQ. 1) THEN SIM(I)a ZEI(I)*QINI(I) SNil(I)=-ZE1I(I)Q.QII(I SYNR(I) ZE1(I)*QYNI(I) SYNI()n-ZE1l(I).QYNR(I) SIER(I) ZE1(I)*QZEI(I) SIEI(I) —ZE1I(I) *QIER(I) SYER(I= ZEI(I)*QYEI(I) SYEI (I)w-ZE1l(I) *QYER(I) SZER(In ZEI(I)*QZEI(I) SZEI()=-ZE1l(I)*QZER(I) ELSE SXNR(I)- ZEI(I)*QINR(I) SINI(I)- ZEI(I)*QINI(I) SYNR(I)- ZE1I)M*QYNR(IM SYNI(I=i ZElMI*QYNI() S1ER(I)a ZEI(I)*QIER(I) S11E(). ZE1(I)*QIEI(I) SYER(I)w ZEI(I)*QYER(I) SYEI(I)s ZEI(I)*QYEI(I) SZERMI) ZEI(I)*QZER(I) SZEI()s ZEI(I)*QZEI(I) END IF 10 CONTINUE SIGN1 -CALL PFFFT2(L,NS,N,N,SXNR,SINI,SIGN) CALL PFFFT2(L,NIS,N,N,SYNR,SYNI,SIGN) CALL PFFFT2(L,NS,RN,,SXfl,SJEI,SIGN) CALL PFFFT2(L,NS,N,NISYER,SYEI,SIGN) CALL PFFFT2(L,NS,NN,SZER,SZEI,SIGN) CALL DERIVI (L,L2,SG,T1,SXIN,UIR) CALL DERtIVI(L,L2,SG,T1,SINI,UII) CALL DERIV2(L,L2,SG,SYNR,U2R) CALL DERIV2 (L,L2,SG,SYNI,U2I) CALL DERIV6(L,L2,SG,SZER,U3R) CALL DERIV6(LL2,SG,SZEI,U3I) DO 11 I-1,L2 IF (SG(I N1E. 0) TEEN QINR(I)=NTR(I)*RXJI(I)+NTI(I)*RINI(I)+VI*(UII(I)+U2I(I)) J V2U31(I)l fT

270 QINI (I)mNTR(I) *RNI(I) -KTI (I) *RXN(I) -VI* (URI+U2R(I)) &+V2*U3I (I ELSE QDIR(I)u0.0 QmIaI()u.0 END IF 11 CONTINUE CALL DERIV2(L,L2,SG,SZNR,UIR) CALL DERIV2(L,L2,SG,SXNIUII) CALL DERIV3(L,L2,SG,T1,SYNR,U2R) CALL DERIV3(L,L2,SG,T1,SYNI,U2I) CALL DERIV5(L,L2 ISG,SZER,U3R) CALL DERIVS(L,L2,SG,SZEI,U3I) DO 12 I=1,L2 IF (SG(I) NE. 0) THEN QYNR(I)NTRM(I) *RYxR(I)+NrI(I)*RYIII(I)+VI* (UII(I)+U21I(I)) &-V2*U3R(I) QYNI (I)-NTR(I) *RYNI(I) -NTI(I)*RYNR(I)-VI* (UIR(I)+U2R(I)) &-V2*U31I(I) ELSE QYNR(I)inO.0 QYNI(I)0.0 END IF 12 CONTINUE CALL DERIV1(L,L2,SG,TI,SIER,UIR) CALL DERIVI (L,L2,SG,TI ISIEI,UII) CALL DERIV2(L,L2,SG,SYER,U2R) CALL DERIV2(L,L2,SG,SYEI,U21) DO 13 I-1,L2 IF (SG(I) NE. 0) THEN QIER(I)=ETR(I) *RuE(I)+ETI(I)*RIEI(I)+VI*(UII(I)+U2I(I)) QIEI(I)-ETR(I)*RIEI(I)-ETI(I)*RIER(I)-VI*(UIR(I)+U2R(I)) ELSE QIER(I-0.0 QXEI(I-0.0 END IF 13 CONTINUE CALL DERIV2(L,L2,SG,SXER,U1R) CALL DERIV2(L,L2,SG,SIEI,U1I) CALL DERIV3(L,L2,SG,T1,SYERU2R) CALL DERIV3(L,L2,SG,TI,SYEI,U2I) DO 14 I-1,L2 IF (SG(I) NE. 0) TEEN QYER(I)=ETR(I)*RaYER(I)+ETI(I)*RYEI(I).VI* (UIII)+U2I (I)) QYEI(I)uETR(I) *RYEI(I)-ETI(I)*RYER(I)-VI*(U1I(I)+U2R(I)) ELSE QYER(I-0.0 QYEI(I)u0.0 END IF 14 CONTINUE CALL DEKtIV6(L,L2,SG,SINR,UIR) CALL DERIV6(L,L2,SG,SINI,UII) CALL DERIV5(L,L2,SG,SYNI,U2R) CALL DERI1V5(L,L2,SG,SYNIU2I) CALL DERIV4(L,L2,SG,SZERDU3R) CALL DERIV4(L,L2,SG,SZEI,U3I) DO 15 I-1,L2 IF (SG(I NE. 0) THEEN QZER(I) —ENR(I) *RZER(I)-ENI(I) *RZEI(I)-V2*(UlIR(I) -U2R(I)) & +VI*U31I(I) QZEI(I)u-ENR(I)*RZEI(I)+ENI(I)*RZER(I)-V2*(UII(I)-U21(I)) & -VI*U3R(I) ELSE QZER(I-zO.0 QZEII)0.0 END IFV

271 1s CONTINUE CALL NORN22(L2,QINR,QIN,SG,QIND) CALL N0RN22(L2,QYNI,QYNI,SG,QNYN) CALL NORN22(L2,QIER,QXIEI,SG,QNIE) CALL NORN22(L2,QYER,QYEI,SG,QNYE) CALL B01N22 (L2,QZERQZEI,SG,QNIZE) GQ-QNIN+QNYN+QNIE+QNYE+QNZE BOUI.0/GQ C INITIALIZE SEARCH VECTORS C DO 16 I-1,L2 IF (SG(I) NE. 0) THEN PINR(I)uBO*QINR(I) PX.HI(I)=BO*QINI(I) PYNR(I)inBO*QYNR(I) PYHI(I)=BO*QYNI(I) PIER(I)-BO*QIER(I) PIEX(I)-BO*QIEI(I) PYER(I)-BO*QYER(I) PYEI (I) -BO*QYEI (I) PZER(I)uBO*QZER(I) PZEI (I)=BO*QZEI (I) ELSE PINR(I)-0.0 PXIMII-0.0 PYNR(I)0.0 PYNI(I-0.0 PIERMI-uO.0 PIEI(I)u0.O PYEI(I)u0.0 PYEI(I)0O.0 PZERMI-0.0 PZEIMI)0.0 END IF 16 CONTINUE C BEGIN ITERATIONS C 1-0 300 CONTINUE 1-K+1 CALL COPYNE(L2,SG,PIHR,QmN) CALL COPYNE(L2,SG,PDNI,QDII) CALL COPYNE(L2,SG,PYNR,QYNR) CALL COPYNE(L2,SG,PYNI,QYNI) CALL COPYNE(L2,SG,PIER,QIER) CALL COPYNE(L2,SG,PIEI,QIEI) CALL COPYNE(L2,SG,PYER,QYER) CALL COPYNE(L2,SG,PYEIQYEI) CALL COPYNE(L2,3G,PZER,QZER) CALL COPYNE(L2,SGPZEI,QZEI) SIGNM-1 CALL PFFFT2(L,NS,HN,QINRQIHQXI,SIGN) CALL PFFFT2(L,NS,N,N,QYNR,QYNI,SIGN) CALL PFFFT2(LNS,RN,,QIER,QIEI,SIGN) CALL PFFFT2(L,NS,N,N,QYER,QYEI,SIGN) CALL PFFFT2(L,NS,N,N,QZER,QZEI,SIGN) DO 17 I-1,L2 IF (FG(I).EQ. 1) THEN SIHR(I) — ZE1 (I) *Qflfl (I) SMINII- ZEI(I)*QIHR(I) SYNR(I) —ZE1I(I)*QYNI(I) SYNI(I)m ZEI(I)*QYNR(I) SIER(I) —ZEI(I)*Qx.EI(I) SIEI(I)-. 7ZEI(I)*QInER(I)

272 SYER(I) —ZE1 MI *QYEI (I) SYEI()- ZEI(I)*QYER(I) SZER(I) —ZEI (I) *QZEI (I) SZEI(I) ZE1(I)*QZER(I) ELSE SINR(I)- ZEI(I)*QINR(I) SINI()m ZE1(I)*QINI(I) SYNR(I)- ZEI(I)*QYNR(I) SYNI(I-i ZEI(I)*QYNI(IM SIER(I)in ZEI(I)*QIEa(I) SIEI()=n ZEI(I)*QIEI(I) SYER(I) ZEI(I)*QYER(I) SYEI()n ZEI(I)*QYEI(I) SZER(I- ZEI(I)*QZER(I) SZEI(I-i ZE1(I)*QZEI(I) END IF 17 CONTINUE SIGN-I CALL PFFFT2(L,NS,NN9,SIXR,SINI,SIGN) CALL PFFFT2(L,NS,N,N,SYNRSYNISIGN) CALL PFFFT2(L,NS,N,N,SIER,SXEISIGN) CALL PFFFT2(L,NS,N,N,SYER,SYEI,SIGN) CALL PFFFT2(L,NS,N,N,SZER,SZEISIGN) CALL DERIVI(L,L2,SG,TI,SIN,UIR) CALL DERIVI(L,L2,SG,T1,SINI,UII) CALL DERIV2(L,L2,SG,SYNR,U2R) CALL DERIV2(L,L2,SG,SYNI,U2I) CALL DERIV6(L,L2,SG,SZER,U3R) CALL DERIV8(L,L2,SG,SZEI,U3I) DO 18 1-1,L2 IF (SG(I NE. 0) THEN QINR(I)UNTR(I) *PIR(l) -NTI(I)*PINI(I)-VI* (U1l(I)+U2I (I)) &+V2*U3R(I) QINI (I)-NTR(I) *PJMl(I)+NTI(I)*PXIN(I)+VI*(UIR(I)+U2R(I)) &+V2*U3I(I) ELSE QmN(I)-0.0 QXINI(I)-.0 END IF 18 CONTINUE CALL DERIV2(L,L2,SG,SXIN,U1R) CALL DERIV2(L,L2,SG,SINI,UII) CALL DERIV3(L,L2,SG,TI1,SYNR,U2R) CALL DERIV3(L,L2,SG,T1,SYNI,U2I) CALL DERIV5(L,L2,SG,SZER,U3R) CALL DERIVS(L,L2,SG,SZEI,U31) DO 19 I-1,L2 IF (SG(I NE. 0) THUN QYNR(I).NTR(I).PYNR(I)-NTI(I)*PYNI(I)-'VI*(UII(I)+U21(l)) &-V2*U3R(I) QYNI(IluKIh(I)*PYNI(I)4.NTI(I)*PYNR(I)+VI* (UIR(I)+U2R(I)) &-V2*U3I(I) ELSE QYNR(I)-0.0 QYNI(I)=O.0 END IF 19 CONTINUE CALL DERIVI(L,L2,SG,T1,SIEI,UIR) CALL DERIV1(L,L2,SG,T1,SIEI,UlI) CALL DERIV2(L,L2,SG,SYER,U2R) CALL DERIV2(L,L2,SG,SYEI,U2I) DO 20 I-1,L2 IF (SG(I NE. 0) THEEN QIER(I)-ETR(I) *PXER(I)-ETI(I)*PXEI(I)-VI* (UII(I)+U2I (I)) QIEI(I)-ETR(I)*PXEI(I)+ETI(I)*PXER(I)+VI*(UIR(I)+U2R(I)) ELSE

273 QIER(I)0.0 QIEI(l)-0.O END IF 20 CONTINUE CALL DERIV2(L,L2,SG,SIER,UIR) CALL DERIV2(L,L2,SG,SIEI,UII) CALL DERIV3(L,L2,SG,T1,SYER,U2R) CALL DERIV3(L,L2,SG,T1,SYEI,U2I) DO 21 I11,L2 IF (SG(I) NE. 0) TREEN QYER(I)-ETR(I)*PYER(I)-ETI(I)*PYEI(l)-VI*(UII(I)+U2I(I)) QYEI(I)=ETR(I)*PYEI(I)+ETI(I)*PYER(I)+VI*(UlR(I)+U2R(I)) ELSE QYER(Ii0.0 QYEI (I)=0.0 END IF 21 CONTINUE CALL DERIV6(L,L2,SG,SINR,UIR) CALL DERIV6(L,L2,SG,SINI,UII) CALL DERIV5(LjL2,SG,SYNRU2R) CALL DERIV5(L,L2,SG,SYIII,U2I) CALL DERIV4(L,L2,SG,SZER,U3R) CALL DERIV4(L,L2,SG,SZEI,13I) DO 22 In1,L2 IF (SG(I) NE. 0) TEEN QZER(I) —ENR(I)*PZER(I)+ENI(I)*PZEI(I)-V2*(UIR(I)-U2R(I)) &-VI*U31I(I) QZEI(l) —ENIR(I)*PZEI(I)-ENI(l)*PZER(I)-V2*(UII(I)-U2I(I)) &+VI*U3R(I) ELSE QZER(IMO.0 QZEI(I-0.0 END IF 22 CONTINUE CALL NORLN22(L2,QINR,QIJMIISG,QNIN) CALL NORN22(L2,QYNR,QYNI,SG,QNYN) CALL NORN22(L2,QJ.ER,QXEI,SG,QNXE) CALL N0RE22(L2,QYER,QYEI,SG,QNYE) CALL N03N22(L2,QZER,QZEI,SG,QNZE) GQ-QNIII4QNYN+QNIE+QNIYE+QNZE ~1-.1. /GQ C COMPUTE NEV CURRENT AND RESIDUAL VECTORS C DO 23 I-1,L2 IF (SG(I) NE. 0) TEEN IINR(I)KnXMR(I)+AK*PINMR(I) KINI(I)=KINI (I)+AI*PINI(I) IYNR(I)=IYNR(I)+AI.PYNR(I) KYNI (I)KYMI (I) +AI.PYNI(I) IIER(I)-KIER(I)+AI.PIER(I) KIEI(I)KIlEI(I)+AI*PIEI(I) IYER(I)-IYER(I)+AK*PYER(I) IYEI(I)mKYEI(I)+AK*PYEI(I) KZER(I)-KZER(I)+AK*PZER(I) KZEI(I)-KZEI(I)+AK.PZEI(I) RINMR(I)-RINR(I)-AK.QlMR(I) RINI(I)-RINI (I)-AI*QINI(I) RYNR(I)-RYNR(l)-AI.QYNR(I) RYNI(I)-RYNI (I) -AI*QYNI(I) RIER(I)-RlER(I)-AK*QIER(I) R.IEI(I)-RIEI (I)-AI.QIEI(I) RYER(l)-RYER(I)-AI*QYER(I) RYEI(I)-RYEI(I) -AK*QYEI(I) RZER(I)-RZER(I) -AK*QZER(I) RZEI (I)=RZEI (I) -AK*QZEI(I)

274 ELSE KIMR(I)O.0 IMI(I) 0.O XYMR(I)-0.0 KYNI(I)-O.O KXER(I)-O.O KEI(I)O-0.0 KYER(I) -. KYEI(I)0.O KZER(I)=0.0 KZEI(I)o0.0 RXR(I)io.0 RXII(I)M0.0 RYNR(I) O.0O RYMI (I)O =0.0 RIER(I)-O.0 XEI(I) -0.O0 RYER(I)-O.O RYEI (I)0O.0 RZER(I),0.0 RZEI(I)O.0 END IF 23 CONTINUE

275 C CHECK THE TERMINATION CRITERIA C CALL NORN22(L2,RINR,RIHI,SG,RNIN) CALL N01N22(L2,RYKR,RYHI,SG PRNYN) CALL NORH22(L2,RIER,RIEI,SG,RNIE) CALL NORN22(L2,RYER,RYEI,SG,RNYE) CALL 10RM22(L2,RZER,RZEI,SG IRlZE) GR-RNIH+RNIYN+RIE+MNE+RNZE ERR-SQRT(GR/GE) IF(ERR.LT. TOL) O0R. (1.GE. VIAl) THEN CALL BACSCD(L,I,Y,S0,ST,CT,SPCPKIER,KIEI,KYER,KYEI &,KZER,KZEI,KIER,KIHI,KYNR,KYHI1,DS,SDB) WRITE(6,520) AL,PH,TH,I,ERR,SDB GO TO 999 ELSE END IF CALL COPYNE(L2,SG,RlnR,QIU) CALLI COPYKE(L2,SG,RXIHI,QINI) CALL COPYNE(L2,SG,RYNR,QYNR) CALL COPYEE(L2,SG,RYNI,QYNI) CALL COPYRE(L2,SG,RIER,QIER) CALL COPYNE(L2,SG,RXEI,QIEI) CALL COPYNE(L2,SG,RYER,QYER) CALL COPYNE(L2,SG,RYEI,QYEI) CALL COPYRE(L2,SG,RZER,QZER) CALL COPYRE(L2 ISG,RZEI,QZEI) SIGN-In CALL PFFFT2(L,NSN,N,,QINR,QXNI,SIGN) CALL PFFFT2(L,NS,N,N,QYKR,QYNI,SIGN) CALL PFFFT2(L,NS,N,N,QIER,QIEI,SIGN) CALL PFFFT2(L,NS,N,N,QYER,QYEI,SIGN) CALL PFFFT2(L,NS,N,N,QZER,QZEI,SIGN) DO 24 I-1,L2 IF (FG(I).EQ. 1) THEN SINR(I)w ZE1(I)*QXNI(I) SXINI(I) u- ZE (I) *QINR(I) SYNR(I)u ZEI(I)*QYNI(I) SYNI(I)-'-ZE1I(I)*QYNR(I) SIER(I)u ZEI(I)*QIEI(I) SIHI ()=-ZE1l(I).QIER(I) SYER(I)m ZE1(I)*QYEI(I) SYEI(I)u-ZE1I(I)*QYER(I) SZER(I= ZEI(I)*QZEI(I) SZEI() —ZEIl(I*QZER(I ELSE SINR(I)= ZEI(I)*QINR(I) SINI(I)n ZEI(I)*QIRI(I SY111(I). ZEI(I)*QYNI(I) SY11(1)- ZE1(I)*QYNI(I) S1ER(I)- ZEI(I)*QIER(I) SIEI(I= ZEI(I)*QIEI(I) SYER(I)u ZEI(I)*QYER(I) SYEI()- ZE1(I)*QYEI(I) SZER(I)u ZEI(I)*QZER(I) SZEI(I- ZEI(I)*QZEI(I) END IF 24- CONTINUE SIGNal CALL PFFFT2(L,NS,N,N[,SDIR,SINI,SIGN) CALL PFFFT2(L,NS,N,N,SYN1,SYNI,SIGN) CALL PFFFT2(L,NS,N,N[,SIER,SIEI,SIGN) CALL PFFFT2(L,NS,N,N,SYER,SYEI,SIGN) CALL PFFFT2(LIS,NIN,SZERSZEI,SIGN) CALL DERIV1(L,L2,SGT1l,SXMR,U1R) CALL DERIVl(L,L2,SG,T1,SINI,UlI)

276 CALL DERIV2(L,L2,SG,SYNI,U2R) CALL DERIV2(L,L2,SG,SYNI,U2I) CALL DERIV6(L,L2,SG,SZERU3R) CALL DERIV6(L 1L2,SG,SZEI,U3I) DO 25 I-1,L2 IF (SG(I) NE. 0) TEEN QIN(I)UNTR(I) *R.JI(I)+NTI(I)*RINI(I)+VI* (UII(I)+U2I(I)) &+V2*U3R(I) QINI(I)41T1(I) *RIN(I)-NTI(I)*RIN(I)-VI* (UIR(I)+U2R(I)) k +V2*U3I (I) ELSE QINR(I)nO.0 QINI(I)nO.0 END IF 25 CONTINUE CALL DERIV2(LL2,SG,SIUM,U1R) CALL DERIV2(L,L2,SG,SINI,U1I) CALL DERIV3(L,L2,SG8TI,SYNR,U2R) CALL DERIV3(L,L2 ISGTI~i,SYNI,U2I) CALL DERIV5(L#L2,SG,SZER,U3R) CALL DERIV5(L,L2,SG,SZEI,U3I) DO 26 I-1,L2 IF (SG(I) NE. 0) THEEN QYNI(I)=NTK(I) *RYER(I)+NTI(I)*RKYI(I)+VI* (UII(I)+U21(I)) &-V2*U3R(I) QYNI(I)-nNTR(I)*RYEI(I)-NTI(I)*RYNR(I)-VI*(UIR(I)+U2R(I)) *-V2*U3I(I) ELSE QYNR(I)-0.0 QYNI(I-0.0 END IF 26 CONTINUE CALL DERIVl(L,L2,SG,T1,SIER,`UlR) CALL DERIVI(L,L2,SG,T1,SIEI,U1I) CALL DERIV2(L,L2,SG,SYER,U2R) CALL DERIV2(L,L2,SG,SYEI,U2I) DO 27 Im1,L2 IF (SG(I) NE. 0) THEN QIER(I)-ETR(I) *RXEa(I)+ETI(I).RIEI(I).VI*(UII(I)+U2I(I)) QIEI (I)-ETR(I) *RIEI (I) -ETI(I)*RXER(I)-VI*(UIR(I)+U2R(I)) ELSE QIER(I)=.0. QIEI(I)u0.0 END IF 27 CONTINUE CALL DERIV2(L,L2,SG,SIER,UIR) CALL DERIV2(LL2,SG,SIEI,UII) CALL DERIV3(L,L2,SG,T1,SYER,U2R) CALL DEIIV3(L,L2,SG,T1,SYEI,U2I) DO 28 Inl,L2 IF (SG(I) NE. 0) THEEN QYER(I)=ETR(I)*RYER(I)+ETI(I)*RYEI(I)+VI* (UII(I)+U2I(I)) ELSE QYER(I-nO.0 QYEI(I)0.0 END IF 28- CONTINUE CALL DERIV6(L,L2,SG,SINR,UIR) CALL DERIV6(L,L2,SG,SXMI,UII) CALL DERIV5(L,L2,SG,SYMR,U2R) CALL DERtIVS(L,L2,SG,SYNI,U2I) CALL DERIV4(L,L2,SG,SZER,U3R) CALL DERIV4(L,L2,SG,SZEI,U31) DO 29 I-1,L2 IF (SG(I) NE. 0) TlH'U

277 QZER(I)u-U]R(I)*RZER(I)-ENI(I)*RZEI(I)-V2*(UIR(I)-U2R(I)) A +VI*U31I(I) QZEI(I) —ENR(I) *RZEI (I)+ENII(I) *RZER(I)-V2*(U1II(I)-U2I(I)) &-VI*U3R(I) ELSE QZER(Ii0.0 QZEI(I)0O.0 END IF 29 CONTINUE CALL N0R122(L2,QXIRR QINIISG,QNIN) CALL NORN22(L2,QYNR,QYNI,SG,QNYN) CALL NORK22(L2,QIER,QXEI,SG IQIZE) CALL NORH22(L2,QYER,QYEI,SG,QNYE) CALL NORK22(L2,QZER,QZEI,SG,QNZE) GQ-QINI+QNYN4.QNIE+QNYE+QNZE BIU. 0/GQ C COMPUTE REV SEARCH VECTOR C DO 30 Inl,L2 IF (SG(I) NE. 0) THEN PDIMR(I)-PIHR(I)+Bl*QIHR(I) PXHI(I)-PlKI(I)+BI*QZHI(I) PYNR(I)-PYNR(I)+BK*QYNR(I) PYNI(I)-PYHI(I)+BI*QYNI(I) PZER(I)-PlER(I)+BI.QIER(I) PIEI (I)-PIEI(I)+BI.QZEI(I) PYER(l)-PYER(I)+BK*QYER(I) PYEI(I)-PYEI(I)+BI*QYEI(I) PZER(I)-PZER(I)+BI*QZER(I) PZEI(I)=PZEI(I)+BI*QZEI(I) ELSE PXNRIM n0.0 PZNI(IM0.0 PYNRMI-0.0 PYNI(I-0.0 PJ.ER(IMO.0 PIEI (I)-0.0 PYER(I-0.0 PYEI(I-0.0 PZER(I-0.0 PZEI(I)0.0 END IF 30 CONTINUE GO TO 300 999 CONTINUE 2 CONTINUE I CONTINUE C FORMATS C 500 FORNAT(//,' ALPHA ''PHI ' THETA ' ITER ' 'RESIDUAL a,, RCS ),1/) 520 FORNAT(1I,F5. I,21,F5.1,2X,FS.1,21,I4,E16.8,FIO.2) RETURN END

278 SUBROUTINE PERINI(L,L2,IS,NS,DS,SG,X,Y) C THIS SUBROUTINE GENERATES A CODED GEOMETRY C INTEGER SG(*) REAL I*), Y(*) REAL*8 XMIN,IMAI',YNIN,YNAI,D,R3,DX,10,YO,11,X2,13,Y1,Y2,Y3 NS-41 C GENERATE THE SHAPE WITHIN A BOUNDING BOX C IF (IS.EQ. 1) THEN C SQUARE C XININ-1. 0 IHAI-1.0 YNINU-1.0 YNI1.0 DXI(XMAX-ININ)/NS DS.=SNGL(DX) 10OININ+DI/2.0 YO=YNIN+DX/2.0 CALL RECTAN(L,ININ,YNIN,INAI,YNAI,X,Y,I0,YO,DI,SG) ELSE IF (IS.EQ. 2) THEN C CIRCLE C IC=O.0 YC.0.0 R-1.0 XININ-1.0 YNAY11.0 YXINU-1.0 YNI1.0 DS-SNGL(DI) X0J.NIN+DX/2.0 YO=YNIN+DX/2.0 CALL CIRCLE(L,XC,YC,R,X,Y,10,YO,DX,SG) ELSE IF (IS.EQ. 3) THEN C TRIANGLE VERTICES (11,YI), (12,Y2), (X3,Y3) C R3-DSQRT(3.0D0) Xlm-D Yl1-D/R3 12-D Y2 —D/R3 13.0.000 Y3-2.0*D/R3 C BOUNDING BOX AROUND TRIANGLE C XMAI*12 YKIN-YI YNAIY2 DX-(INAX-ININ)/IS DS-SNGL(DX) 101N1I+DX/2.0 Y0OYKIN+DX/2.0 CALL TRIANGO(L,I1,Y1,X2,Y2,13,Y3,X,Y,10,YO,DX,SG) ELSE

279 RETURI EID

280 SUBROUTINE RECTAI(L,ININ,YNIN,INAI,YKAI,X,Y,IO,YO,DI,SG) C THIS ROUTINE GENERATES A RECTANGULAR PLATE C REAL X(*),Y(*) REAL*8 XNIN,YNIN,INAI',YNA,I0,YO,DI INTEGER SG(* 1-0 DO I I=0,L-1 I1=I+1 Y(I1)UYO+I*DI DO 2 J-0,L-1 K-[+1 J1=J+1 X(Jl)10O+J*DI IF((I(JI).GT.ININ).AND.(I(J1).LT.INAX)) THEN IF ((Y(II).GT.YNIN).AND.(Y(Il).LT.YNAI)) THEEN SG(I1inl ELSE SG(K-io END IF ELSE SG(K)0 END IF 2 CONTINUE 1 CONTINUE RETURN END

281 SUBROUTINE CIRCLE(L,XC,R,,YC,,Y O,YO,DI,SG) C THIS ROUTINE GENERATES A CIRCULIR PLiTE C REAL I(),Y((*) REAL*8 IO,YO,DI IITEGER SG (*) KIO DO 1 I-O,L-1 II-I+l Y(I1) YO+I*DI DO 2 JsO,L-1 KK+l1 Jl-J+l x(J1)-XOeJ*DI DSQRT( (x(J1 )- *)C) (1)C+((I1)-YC)* (Y(I1)-YC) ) IF(D.LE. R) THEN SG(K)=1 ELSE SG(1) O END IF 2 CONTINUE I COTINUE RETURN END

282 SUBROUTINE TRIAG(L,1,Y I,12,Y2,13,Y3,,Y, l0,YO,DI,SG) C THIS ROUTINE GENERATES A TRIAIGULAR PLATE C REAL I(*),Y(*) REAL*8 tO,YO,DI,I1,Y1,12,Y2,X3,Y3 INTEGER SG(*) 1=-0 DO 1 I0,L-1 II"I+l Y(I1)sYO+I*DI DO 2 JO0,L-1 JlsJ+l X(J1)-IO+J*DI Zl-(X(J)-IXl)*(Y2-Y1)-(12-I1)*(Y(I1)-YI) Z2s(13-Xl)*(Y2-Y1)- (12-I1)*(Y3-YI) Z3is(X(J1) -I) (Y3-Y)-3)-(3-1)(Y(I1) -Yl) Z4 (X2-1 ) (Y2-Y1)- (2-1 ) * (Y2-Y1) Z5-(X(J1)-X2)*(Y3-Y2)-(X3-X2)*(Y(Il)-Y2) Z6s (X1-X2)* (Y3-Y2)- (13-X2)* (Y1-Y2) IF ( ((ZI.GE. 0.0).AID. (Z2.GE. 0.0)).OR. & ((Z1.LT. 0.0).AID. (Z2.LT. 0.0)) ) THEI IF-I1 ELSE IFluO END IF IF( ((U3.GE. 0.0).AND. (Z4.GE. 0.0)).OR. ((3.LT. 0.0).AD. (Z4.LT. 0.0)) ) THEN IF2-1 ELSE IF2-0 END IF IF( ((Z.GE. 0.0).AND. (ZS.GE. 0.0)).OR. ((Z5.LT. 0.0).AND. (ZG.LT. 0.0)) ) THEE IF3"1 ELSE IF3-0 END IF JS=IFI+IF2+IF3 IF(JS.Eq. 3) THEE SG(K)=1 ELSE SG(K)Mo END IF 2 CONTINUE I CONTINUE RETURN ENlD

283 SUBROUTINE SHIFTP(L,L2,SG,SGT) C THIS SUBROUTINE SHIFTS ALL TAGS ONE CELL UP AND TO THE RIGHT C C THIS IS DONE TO ALLOW USE OF CENTER DIFFERENCE DERIVATIVES C INTEGER SG(*),SGT(*) K'O DO 1 I=1,L DO 2 Js1,L K=K+1 SGT(K)0O 2 CONTINUE I CONTINUE K-0O DO 3 I-1,L-1 DO 4 J-1l,L-1 K-K+1 SGT(+ 1+L)-SG(K) 4 CONTINUE 3 CONTINUE K-0 DO 5 I-1,L DO 6 J-1,L Kin+1 SG(K)SGT(I) 6 CONTINUE 5 CONTINUE RETURN END

284 SUBROUTINE EPSUBR(L,L2, SG,, Y,EP1,EP2) C THIS SUBROUTINE GENERATES THE REAL AID IMAGINARY COMPOIEITS OF THE C C RELTIVE PERMITIVITY EPSILOI.R - EP1-jEP2 C REAL I(*),Y(*),EP1(*),EP2(*) IITEGER SG(*) K=O DO 1 I1L,L DO 2 J-1,L K-K+l IF(SG(K).EQ. 1) THEN EP (I)-F1(X(J),Y(I)) EP2(I)-F2(I(J),Y(I)) ELSE EPI (I)-0.O EP2 (I)0.0 END IF 2 CONTINUE 1 CONTINUE RETURN END FUNCTION F1 (,Y) C****~*4**4***** ************~~~************* ****~~***4***********C C THIS FUNCTION IS A USER SUPPLIED DISTRIBUTION OF EPI C F1-7.4 RETURN EID FUNCTION F2(I,Y) C THIS FUNCTION IS A USER SUPPLIED DISTRIBUTIOI OF EP2 C F2-1.11 RETURN END

285 SUBROUTIE TAIIP(L,L2,SG,T,EPI,EP2,ETR,ETI) C*~* *t **** *~***~********~**~**t**t* ******** *~** *~ q*** ******t*~t***C C THIS SUBROUTIIE COMPUTES THE IORMALIZED TAIGENTIAL IMPEDANCE C C**s**************^*******************************t*11****************C REAL EP1(*),EP2(*),ETR(*),ETI(*) IITEGER SG(*) TP-.6283196E+01 C1-TP*T DO 1 Il1,L2 IF(SG(I).EQ. 1) THEN El-EP1(I) E2rEP2(I) D-C1*((E1-1.0)*(El-1.0)+E2*E2) ETR(I)"E2/D ETI(I)(1.0-E1)/D ELSE ET(I)-O. 0 ETI(I)O.O END IF 1 COITINUE RETURN EID SUBROUTIIE NORIMP(L,L2,SG,T,EP1,EP2,ER,ENI) C**************** **********t44ii **********tC C THIS SUBROUTINE COMPUTES THE IORMALIZED IORMAL IMPEDAICE C Ct******************t**t* **************** t t************** ~~****t******C REAL EP1(),EP2(*),ER(*),ElI(*) IITEGER SG(*) TP.6283196E+01 C' TP*T DO 1 I-1,L2 IF(SG(I).EQ. 1) THEI E1-EP (I) E2-EP2(I) DC1*( (El-1.0)*(El-1.0)+E2*E2) EiR(I)sE2/D ENI(I)- (E1*(El-1.0)+E2*E2)/D ELSE EnR(I)0.0 ENI(I)=O.O EID IF 1 COITINUE RETURN EID

286 SUBROUTINE USUBR(L,L2, SG,X,Y,MU1,U2) C*********************************************************************** C THIS SUBROUTINE GEIERATES THE REAL AID IMAGINARY COMPOIEITS OF THE C C RELATIVE PERMEABILITY MU-R - MU1-jMU2 C REAL X(*),Y(*),M1(*),MU2(*) INTEGER SG(*) K-0 DO 1 I1,L DO 2 J1*,L 1KK+1 IF(SG().EQ. 1) THEN MUi1 (l F3(X(J),Y(I)) MU2(U)-F4(I(J),Y(I)) ELSE MUlI ()0.0 MU2 (I)-0.0 END IF 2 CONTINUE 1 CONTINUE RETURN ENID FUNCTION F3(I,Y) F31.4 RETURI END FUICTION F4(X,Y) F4-0.672 RETURI END

287 SUBROUTINE TANADN(L,L2,SG,T!1,NUM2,NTR,NTI) C THIS SUBROUTINE COMPUTES THE NORMALIZED TANGENTMIAADMITTANCE C REAL NUI(*),NU2(*),NTR(*),NTI(*) INTEGER, SG(* TP-.6283196E+01 C1-TP*T DO 1 Iinl,L2 IF(SG(I).EQ. 1) THEN ElMUN1l(I) E2-NU2 (I) DZC1*(E1-1.0)*(E1-1.0)+E2*E2) NTR(I)zE2/D MTI(I)=(1.0-E1)/D ELSE MTR(I).0.0 MTI(IMO.0 END IF I CONTINUE RETURN END SUBROUTINE NORADN(L,L2,SG,T,NU1I,NU2,MN,NNI) C THIS SUBROUTINE COMPUTES THE NORMALIZED NORMAL- ADNITTANCE C REAL NUIl(*),NU2(*),NNR(*),NNI(*) INTEGER SG(* TP.6283196E+01 CI=TP*T DO 1 I-1,1.2 IF(SG(I).EQ. 1) THEN EINMUI(I) E2=NU2 (I) DmC1*(E1-1.0)*(E1-1.0)+E2*E2) NNR(I)-E2/D MNI(I)=-(E1*(El-1.0)+E2*E2)/D ELSE NNR(I-uO.0 NNI(IMO.0 END IF I CONTINUE RETURN END

288 SUBROUTINE DDAFGA(L,DS,ZEI,FG) C THIS SUBROUTINE DISCRETELY SAMPLES THE ANALYTIC FOURIER TRANSFORMS C REAL ZEI(*) INTEGER FG(*) PI-.3141593E+01 FP-4. 0*PI DF=I.0/(L*DS) I-MNOD(L,2) IF (IN.EQ. 0) THEN IB-L/2 ELSE IB-(L+1)/2 END IF 1=0 DO 1 IFY-O,L-1 IF (IFY.LT. IB) THEN IN-IFY ELSE IMNIFY-L END IF FY-DF*IN FY2=FY*FY DO 2 IFX-O,L-1 K=K+1 IF (IFX.LT. IB) THEN IN=IFX ELSE IanIFI-L END IF FX=DF*IN F12=FI*FI F2-FX2+FY2 Z-ABS(F2-1.0) IF(F2.LT. 1.0) THEN FG(1)-l ZEI () —i. O/(FP*SQRT(Z)) ELSE FG(IK)= ZEI (1)1n./(FP*SQRT(Z)) END IF 2 CONTINUE I CONTINUE RETURN END

289 SUBROUTINE INETAN(L,SG,ALL,PH,TB,IY,EIR,EIIEYREYI) C THIS SUBROUTINE COMPUTES THE INCIDENT TANGENTIAL ELECTRIC FIELD C C ON THE PLATE C REAL EIR(*),EII(*),EYR(*),EYI(*),I(*),Y(*) INTEGER SG(*) DATA TP,RAD /.6283196E+01,.1745329E-01/ Rl1RAD*AL R2-RAD*PH R3URAD*TH CA-COS (Ri) SA-SINCRI) CP-COS (R2) SP-SIN(R2) CT-COS CR3) ST-SIN(R3) EZO-CA*CT*CP-SA*SP EYO-CA*CT*SP+SA*CP SX-TP*ST*CP SY-TP*ST*SP K-0 DO I IY-1,L DO 2 IXin1,L 1-1+1 IF(SG(I) NE. 0) THEEN ARG-SI*X(II)+SY*Y(IY) EIR(K)EI0*COS(ARG) ElI (K)ElO*SIN(ARG) EYR(K)-EYO*COS(ARG) EYI(K)EY0*SIN(ARG) ELSE EIR(K-nO.0 EXII(K0.0 EYR(KWn -. 0 EYI(K)0.0 END IF 2 CONTINUE I CONTINUE RETURN END

290 SUBROUTIIE IIENOR(L,SG,AL,PH,TH,X,Y,EZR,EZI) C************************************************* *********************C C THIS SUBROUTINE COMPUTES THE IICIDENT IORMAL ELECTRIC FIELD C C ON THE PLATE C REAL EZ(*),EZI(*),(*),Y(*) INTEGER SG(*) DATA TP,RAD /.6283196E+01,.1745329E-01/ R1IRAD*AL R2-RAD*PH R3-RAD*TH CACOS (R1) SA-SIN(RI) CP=COS (R2) SP"SII(R2) CT-COS(R3) ST-SII(R3) EZO —CA*ST SI-TP*ST*CP SY-TP*ST*SP K-O DO 1 IY1L,L DO 2 II-1,L K-K+1 IF(SG(I).E. 0) THEI ARG=SI*X(Il)+SY*Y(IY) EZR(XK)EZO*COS(ARG) EZI () EZO*SIN(ARG) ELSE EZR(K)O-.0 EZI(K)-O.O END IF 2 CONTINUE 1 CONTIIUE RETURI END

291 SUBROUTINE INHTAN(L,SG,AL,PH,TH,I,Y,HIRHII,HYR,HYI) C THIS SUBROUTINE COMPUTES THE INCIDENT TANGENTIAL MAGNETIC FIELD C C ON THE PLATE C REAL HIR(*),HII(*),HYR(*),HYI(*),X(*),Y(*) INTEGER SG(* DATA TP,RAD /.6283,196E+01,.1745329E-O1/ Rl=RAD*AL R2-RAD*PH R3URAD*TH CA-COS (Ri) SA=SIN(R1) CPmCOS(R2) SP-SIN(R2) CT-COS(R3) ST-SIN(R3) HIO-SA*CT*CP+CA*SP HYO-SA*CT*SP-CA*CP SX-TP*ST*CP SY-TP*ST*SP K-0 DO 1 IY-1,L DO 2 IX-1,L 1-1+1 IF(SG(I -EQ. 1) THEN ARG-SX*X(IX)+SY*Y(IY) HIR(I)HXO*C0S(ARG) HXII(KHIO.SIN(ARG) HYR(K)=HYO.COS (ARG) KYI(K-HYO*SIN(ARG) ELSE HIR(I)-o.O HXII(I0.O HYR(I)O.0 HYI(K-0.0 END IF 2 CONTINUE I CONTINUE RETURN END

292 SUBROUTINE INRNOR(L,SG,AL,PR,TR,X,Y,BZR,RZI) C THIS SUBROUTINE COMPUTES TEE INCIDENT NORMAL MAGNETIC FIELD C C ON THE PLATE C REAL IZR(*),HZI(*),I(*),Y(*) INTEGER SG(*) DATA TP,RAD /.6283196E+01,.1745329E-O1/ RI-RAD*AL R21RAD*PH R.3-RAD*TH.CACOS (Ri) SA=SIN(R1) CPUCOS (12) SP-SIN(R2) CT-COS (R3) ST-SIN(R3) HZO —SA*ST SI-TP*ST*CP SY-TP*ST*SP 1=0 DO 1 IY-1,L DO 2 IXin1,L 1=1+1 IF(SG(1).EQ. 1) THEN ARG=SX*I(II)+SY*Y(IY) HZR(XU=HZO*COS(ARG) HZI (1=RZO*SIN(ARG3) ELSE HZR(1-0.0 EZI(1-0.0 END IF 2 CONTINUE I CONTINUE RETURN END

293 SUBROUTINE BACSCA(L,I,Y,-SG,ST,CT,SP,CP,RIR,EII,IYR,IYI,DS,SDB) C THIS SUBROUTINE CALCULATES THE BACISCATTERING CROSS SECTION C REAL X(*),Y(*),IIR(*),KII(*),KYR(*),IYI(*) REAL NTR,NTI,NPR,NIPI INTEGER SG(* P1-.3141593E+01 P12u. 989604E+01 TPI.6283196E+01 RADU. 1745329E-01 C SIPIuIO.0*ALOGO1(PI) SIPI. 4971499E+01 CI=PI*DS C2-ST*CP C3-ST*SP IF ((ABS(ST).LT..00001).OR. (ABS(CP).LT..00001))THENI siNCI-c1 ELSE SINCX-SIN(C1*C2)/C2 END IF IF ((ABS(ST).LT..00001).OR. (ABS(SP).LT..00001))THENI SINCY-C1 ELSE SINCY-SIN(C1*C3)/C3 END IF FTP=SINCX*SINCY/PI2 T1ETPI*ST TI-T1*CP TY-Tl*SP TIRO0.0 TXIIO.0 TYR-0.0 TYIO0.0 1-0 DO 1 Jin1,L WY-TY*Y(J) DO 2 I=1,L 1-K+1 IF (SOG(1) NE. 0) THEN IWXTX*X(I) ARGWI+VWY CV3-COS(ARG) SW3-SINI(ARG) TIR-TXR+IKIR(X)*CW3-KII(X)*SW3 TXIITXI+KIR(X)*SV3+1II(1)*CW3 TYR-TYR+KYR(K)*CW3-KYI(1)*SW3 TYI-TYI+KYR(X)*SW3+XYI(K)*CV3 ELSE END IF 2 CONTINUE 1 CONTINUE SXR-TXR*FTP SXIITXIIFTP SYR-TYR*FTP SYI-TYI*FTP NTR-CT*(CP*SXR+SP*SYR) NTI-CT* (CP*SXI+SP*SYI) NPR —SP*SXR+CP*SYR RPI —SP*SII+CP*SYI SIG-NTR*NTR+NTI*NTI+NPR*NPR+NPI*NPI SDB-SIPI+10.0*ALOG10(SIG) RETURN END

294 SUBROUTINE BACSCB(L,X,Y,SG,ST,CT,SP,CP,KIR,KII,KYR,KYI,KZR,KZI &,DS,SDB) C THIS SUBROUTINE CALCULATES THE BACISCATTERING CROSS SECTION C REAL X(*),Y(*),KIR(*),KII(*),KYR(*),KYI(*),KZR(*),KZI(*) REAL NTR INTI,NPR,NPI INTEGER SG(*) PI-.3141593E+01 PI2=.9869604E+01 TPI-.6283196E+01 RAD-.1745329E-01 C SIPI=10.0*LOG1O(PI) SIPI-. 4971499E+01 Cl=PI*DS C2-ST*CP C3-ST*SP IF ((ABS(ST).LT..00001).OR. (ABS(CP).LT..00001))TEEN SINCI-CI ELSE SINCI-SIN(C1*C2)/C2 END IF IF ((ABS(ST).LT..00001) O0R. (ABS(SP).LT..00001))THEN SINCY-C1 ELSE SINCY=SIN(CI*C3)/C3 END IF FTP-SINCX*SINCY/PI2 T1=TPI*ST TIUT1*CP TY-T1*SP TR10.0 TZIIO.0 TYR-0.0 TYI-0.0 TZR=0.0 TZIO0.0 1-0 DO 1 J-1,L VYnTY*Y (3) DO 2 I11,L KuXl1 IF (SG(K).EQ. 1) THEN WI=TI*X(I) ARGWI+VWY CV3-COS(ARG) SV3USIN(ARG) TIRKTIR+KII(K)*CV3-KII(K)*SV3 TXIITII+KXR(X)*SV3+KII(K)*CV3 TYR=TYR+KYR(K)*CV3-KYI(1)*SV3 TYIOTYI+XYR(1)*SV3+KYI(1)*CV3 TZR=TZRK+ZRK()*CV3-IZI(X)*SV3 TZI=TZI+IZR(X)*SW3+IZI(X)*CV3 ELSE END IF 2 CONTINUE 1 CONTINUE SXRUTXR*FTP SXI1TXI*FTP SYR-TYR*FTP SYI-TYI*FTP SZR-TZR*FTP SZI=TZI*FTP NTR-CT*(CP*SIR+SP*SYR) -ST*SZR NTI-CT* (CP*SII+SP*SYI) -ST*SZI NPR=-SP*SIR+CvP.SYR

295 NpI —sP*sxI+CP*sYI SIG-NTR*ITRI+NTI*NTI+NPR*NPR+NPI*JPI SDB-SIPI+1O0.O*ALOG1O(SIG) RETURN END

296 SUBROUTINE BICSCC(L,X,Y,SG,ST,CT,SP,CPIIER,KIEI,KYER,KYEI &,KIERKINI,KYNR,IYNI,KZNR,IZNI,DS ISDB) C THIS SUBROUTINE CALCULATES THE BACXSCATTERINO CROSS SECTION C REAL 1(*),Y(*),KIER(*),KIEI(s),KYER(*),IYEI(*),KIKR(*),XILNI(*) k,KYNR(*),XYNI(*),KZNR(*),KZNI(*) REAL ITERNTEI,NTNR,NTHI,NPER,IPEI,NPNR,NPMI INTEGER SG(*) P1.3141593E+01 PI2=.9869604E+01 TPI-.6283196E+01 RAD-.1745329E-01 C SIPIinlO. 0*LOG10(PI) SIPI=. 4971499E+0i C1-PI*DS C2=ST*CP C3-ST*SP IF ((ABS(ST).LT..00001).OR. (ABS(CP).LT..00001))THEN SINCI-CI ELSE SINCXISIN(C1*C2)/C2 END IF IF ((ABS(ST).LT..00001).OR. (ABS(SP).LT..00001))THEN SIN[CY-CI ELSE SINCY=SIN(Cl*C3)/C3 END IF FTP-SIICX*SINCY/PI2 T1-TPI*ST TIUTl*CP TY-T1*SP TILERXO0.0 TIEIMO0.0 TYERO0.0 TYEIO0.0 TIMR-0.0 T11INI.0 TYMR-0.0 TYMIO0.0 TZIMR-0.0 TZNIO0.0 K=0 DO 1IJinl,L VY=TY*Y(J) DO 2 Inl,L K-K+1 IF (SG(K.EQ. 1) THEN WI=TX*X(I) ARG=VI+VY CW3=COS(ARG) SV3=SIN(ARG) TICER=TIER+IIER(X)*CV3-KIEI I) *SW3 TIEI-TIEI+KIER(I)*SV3+IIEI (I)*CW3 TYER=TYER+KYER(K)*CV3-IYEI (I)*SW3 TYEI=TYEI+IYER(XU*SW3+XYEI(I) *CW3 TINR=TINR+XIIR(K)*CW3-1KHI (I) *SW3 TX.I=TINI+XINR(X)*SW3+KXINI(I)*CW3 TYMR-TYNR+IYNR(K)*CW3-IYNI (1)*S113 TYMI-TYNI+XYNR(I)*SH3+XYNI (I)*CV3 C MULTIPLY IZNR BY -1 TO REFLECT THE CHANGE IN THE FORNMUATION C TZMRuTZNR-KZNR(K)*CW3+KZNI (I) *V3 TZMI-TZNI-KZMR(K)*SW3-KZNI (I)*CV3 ELSEe

297 END IF 2 CONTINUE I CONTINUE SIER=TIER*FTP SIEI=TIEI*FTP SYER=TYER*FTP SYEI-TYEI*FTP SINR=TINR*FTP SIMI=TINI*FTP SYPMRTYNR*FTP SYNI-TYNI*FTP SZPMRTZI(R*FTP SZNI-TZNI*FTP NTER=CT* (CP*SXER+SP*SYER) NTEI-CT*(CP*SXEI+SP*SYEI) NPER —SP*SXER+CP*SYER NPEI=-SP*SIEI+CP*SYEI xiNR-CT* (CP*SIUR+SP*SYNR)-ST*SZNI NTNI-CT* (CP*SIN+SP*SYNI)-ST*SZNI NIPNRi-SP*SINR+CP*SYUR NPNI —SP*SINI+CP*SYNI SIGU(NPNR+NTER)* (NPNR+NTER)+(NPNI+eNTEI)*(NPNI+NTEI) & +(NTNR-NPER)* (NTEK-NPER)e(NTNI-NPEI) *(NTEI-NPEI) SDB-SIPI+1O0.0*ALOG1O(SIG) RETURN END

298 SUBROUTINE BACSCD(L,I,Y,SG,ST,CT,SP,CPKIER,IIEI,KYER,IYEI k,IZER,IZEI,KINR,KINI,KYNR,IYNI,DSISDB) C THIS SUBROUTINE CALCULATES THE BACKSCATTERING CROSS SECTION C REAL I(*),Y(*),IIER(*),KIEI(*),KYER(*),XYEI(*),KZER(*),KZEI(*) &,KIM(*),IIJI(*),KYNR(*),IYMI(*) REAL NTER,NTEINTERITNI,NPERt,NPEI,NFPR,NPNI INTEGER SG(1 PI-.3141693E+01 PI2-.9869604E+01 TPI. 6283196E+01 RAD-.1745329E-01 C SIPI=10.O*LOGIO(PI) SIPI..4971499E+01 C1-PI*DS C2=ST*CP C3-ST*SP IF ((ABS(ST).LT..00001).OR. (ABS(CP).LT..00001))THENI SIlCI-C1 ELSE SINCX-SIN(CI*C2)/C2 END IF IF ((ABS(ST).LT..00001).OR. (ABS(SP).LT..00001))THEN SINCY-C1 ELSE SINCY=SIN(C1*C3)/C3 END IF FTP-SINCX*SINCY/PI2 T1=TPI*ST TI=T1*CP TY-Tl*SP TIER-0.0 TIEI-0.0 TYERU0.0 TYEI-0.0 TZER-0.0 TZEI-0.0 TIMR-O0.0 TIMiUO.0 TYNEUO0.0 TY1-0.0 K-0 DO 1 J-1,L WYWTY*Y(J) DO 2 I-1,L 1-1+1 IF (SG (I).EQ. 1) THEN VIUTI*I(I) ARG-VI+VY CII3COS(ARG) SV3-SIN(ARG) TIER=TIER+KIER(I)*CV3-IIEI (X)*SW3 TIEI-TIEI+KZER(I)*SV3+KXEI (I)*CV3 TYER'.TYER+KYER(I)*CV3-KYEI (I) *S3 TYEI=TYEI+KYER(I)*SV3.KYEI(K)*CW3 C MULTIPLY KZER BY -1 TO REFLECT THE CHANGE IN THE FORMUATION C TZER.TZER-KZER(K)*CV3+KZEI (I)*SV3 TZEI=TZEI-IZER(I).SW3-KZEI (I)*CV3 TINR=TINR4KXm(K)*CV3-KIMI(I) *SV3 TINI-TINKI+KDIR(X)*SV3+KII(I) *CVj3 TYNPinTYNR+IYNR(K)*CV3-KYNI (K) *SV3 TYNI=TYNI+KYNR(I)*SV3+KYKI (K)*CV3 E-LSE

299 Eli) IF 2 CONTINUE I CONTINUE SIER=TXER*FTP SXEI-TIEI*FTP SYERtMTYER*FTP SYEI=TYEI*FTP SZER=TZER*FTP SZEI=TZEI*FTP SIER=TINR*FTP SXI=ITINI*FTP SYIROTYNR*FTP SYNI=TYNI*FTP NTER-CT* (CP*SXER+SP*SYER)-ST*SZER NTEI-CT*(CP*SIEI+SP*SYEI)-ST*SZEI RPER —SP*SXER+CP*SYER NPEI —SP*SXEI+CP*SYEI NTNR=CT*(CP*SINR+SP*SYNR) NTHI-CT*(CP*SINI+SP*SYNI) NPNR=-SP*SINR+CP*SYNIR NPMI —SP*SINI+CP*SYNI SIGU(NPHR+NTER)*(NPNR+NTER)+(NPNI+NTEI)*(NPNI+NTEI) & +(NTNR-NPEt)* (NTNR-NPER)+(NTNI-NPEI) *(NTNI-NPEI) SDBUSIPI+1O0.O*ALOGIO(SIG) RETURNK END

300 SUBROUTINE DERIV1(L,L2,SG,T1,Z,ZII) C THIS SUBROUTINE COMPUTES NORUALIZED 21D DERIVATIVE OF Z WITH C C RESPECT TO X OF A TWO-DIMENSIONAL FUNCTION C C************************************************************************ REAL Z(*),ZIX(*) INTEGER SG(*) DO 1 I1,L2 IF (SG(I).EQ. 1) THEN ZXX(I)-Z(I+1)+T1*Z(I)+Z(I-1) ELSE ZXX(I)=O.O END IF CONTINUE RETURN END SUBROUTINE DERIV2(L,L2, SG, Z, ZIY) C************************************************************************ C THIS SUBROUTINE COMPUTES NORMALIZED 2ND DERIVATIVE OF Z WITH C C RESPECT TO X AND Y OF A TWO-DINENSIONAL FUNCTION C C************************************************************************ REAL Z(*),ZXY(*) INTEGER SG(*) DO 1 I-1,L2 IF (SG(I).EQ. 1) THEN S1-Z(I+L-1) S2-Z(I+L+1) S3Z (I-L-1) S4-Z(I-L+1) ZXY(I)-O. 25.*(S2+S3-S1-S4) ELSE ZXY(I)0.0 END IF 1 CONTINIUE RETURN END SUBROUTINE DERIV3(L,L2, SG,T1, Z,ZYY) C*~********************* * ******* *************** *********************eC C THIS SUBROUTINE COMPUTES NORMALIZED 2ND DERIVATIVE OF Z WITH C C RESPECT TO Y OF A TWO-DIMENSIONAL FUNCTION C C********************************e*************************************** REAL Z(*),ZYY(*) INTEGER SG (*) DO 1 I-1,L2 IF (SG(I).EQ. 1) THEN ZYY(I)-Z(I+L)+Tl*Z(I)+Z(I-L) ELSE ZYY(I)-0.0O END IF CONTINUE RETURN END SUBROUTINE DERIV4(L,L2,SG, Z,ZX2Y2) C THIS SUBROUTINE COMPUTES NORMALIZED SUM OF THE 2ND DERIVATIVES C OF Z WITH RESPECT TO I AIND THEN Y C C c*** ***** ** ***** *** ** ****~***** ******* *** ****** **** ************* ********** REAL Z(*),ZX2Y2(*) INTEGER SG(*) DO 1 I-1,L2 IF (SG(I).EQ. 1) THEN ZX2Y2(I)-Z(I+L)+Z(I+1)-4.0.Z(I)+Z(I-L)+Z(I-1) ELSE Z12Y2(I) 0.0 END IF CONTINUE

301 RETURN EID SUBROUTINE DERIVS(L,L2,SG,Z,ZI) C THIS SUBROUTINE COMPUTES NORMALIZED FIRST DERIVATIVE OF Z C C WITH RESPECT TO I C REAL Z(*),ZI(.) INTEGER SG(*) DO 1 I-1,L2 IF (SG(I).EQ. 1) THEN ZI(I)-Z(I+1)-Z(I-1) ELSE ZI(I)o.0 EID IF 1 COITIIUE RETURN EID SUBROUTINE DERIV6(L,L2,SG, Z,ZY) C THIS SUBROUTINE COMPUTES NORMALIZED FIRST DERIVATIVE OF Z C C WITH RESPECT TO Y C c**********************************************************************C REAL Z(*),ZY(*) IITEGER SG(*) DO 1 I-1,L2 IF (SG(I).EQ. 1) THEN ZY(I))Z(I+L)-Z(I-L) ELSE ZY(I)O0.O EID IF 1 COITIIUE RETURN END

302 SUBROUTINE PFFFT2(L,LP,,I,,Y, SIGN) C THIS SUBROUTINE COMPUTES A TWO - DIMENSIONAL FFT USING C C A PRIME FACTOR ALGORITHM C C***********************************************************************c REAL X(*),Y(*) INTEGER N(*),A(16),MB(16),I(16),SIG DATA C31,C32,C51,C52 /.86602540,.50000000,.95105652,1.5388418/ DATA C53,C54,C55,C71 /.36327126,.55901699,-1.250000,-1.1666667/ DATA C72,C73,C74,C75 /.79015647,.0558427,.7343022,.44095855/ DATA C76,C77,C78,C81 /.34087293,.53396936,.87484229,.70710678/ DATA C92,C93,C94,C96 /.93969262,-.17364818,.76604444,-.34202014/ DATA C97,C98,C162,C163 /-.98480775,-.64278761,.38268343,1.306563/ DATA C164,C165 /.54119610,.92387953/ IF(SIGN.EQ. 1) THEN DO I Is1,L*L Y(I) —Y(I) 1 COITINUE ELSE END IF C STEP THROUGH ROW AID COLUMN TRANSFORMS DOING ROWS FIRST AND C C THEN COLUMNS C IC1s2-L IC2"2*L-1 DO 2 IRCs1,2 ICI-ICI+L-1 IC2-IC2-L+1 C STEP THROUGH THE N STEPS C DO 3 Il1,M KIL/I(I) C COMPUTE THE PERMUTATION OUTPUT IAP FOR THE ROTATED DFTS C DO 4 IIl1,N(I) JT-(II-1) * MB(II)-MOD(JT,(I) )+1 4 CONTINUE C INITIALIZE THE FIRST GROUP OF POINTS AND CALL THE APPROPRIATE DFT C DO 5 IJO0,I(I)-1 KI(MB(IJ+1))OIC2*(IJ*1+1)+1-IC2 5 COITIIUE IF ( ((SIGN.EQ. -1).AND. (IRC.EQ. 1)) &.OR. ((SIGN.EQ. 1).AND. (IRC.EQ. 2)) ) THEN ILIMLP+2-1 ELSE ILIM-L-1 EID IF IF (N(I).EQ. 2) GO TO 100 IF (N(I).EQ. 3) GO TO 101 IF (N(I).EQ. 4) GO TO 102 IF (N(I).EQ. 5) GO TO 103 IF (N(I).EQ. 7) GO TO 104 IF (W(I).EQ. 8) GO TO 105 IF (W(I).EQ. 9) GO TO 106 IF (1(I).EQ. 16) GO TO 107 100 COITINUE C 2 POINT DFT C DO 6 J31,1

303 MA(l)-KI(l) MA(2)-KI(2) DO 7 IG-O,ILIM IO-IG*IC1 IlNlA(l)+IO I2NMA(2)+IO C*******2-POINT DFT E*IAL**********s************************ ******C T1I(I1) I(MA(MB(1))+IO)-Tl+X(I2) I(MA(NB(2))+IO)-T1-X(I2) T1Y-(I1) Y(MA(MB() )+IO)-Tl+Y(I2) Y(H A(PB(2))+IO) T1l-Y(I2) 7 CONTINUE KI(1)-KA(2)+IC2 II(2) -N(1 )+IC2 6 CONTINUE GO TO 998 101 CONTINUE C 3 POINT DFT C DO 8 J1,K MA(1),KI(l) MA(2)",I(2) MA(3)KI (3) DO 9 IG-0,ILIN IO-IG*ICl I1ilA(1)+IO I2M A(2)+IO I3u-A(3)+IO C*******3-POINT DFT KERSA******************************************C T1(X(I2)-X(I3))*C31 U1,(Y(I2)-Y(I3))*C31 RlI,(I2)+X (I3) SIY(I2)+Y(I3) T2:X(I1)-Rl*C32 U2~Y(I1)-S1*C32 I(xA(MB(1))+IO)-X(Il)+Rl Y(MA(MB(l))+IO)-Y(I1)+Sl I(MA(MB(2))+IO)-T2+U1 I(MA(MB(3))+IO)-T2-U1 Y(NA(MB(2))+IO)"U2-T1 Y(NA(MB(3))+IO)"U2+T1 9 CONTINUE KI(1)WAi(3)+IC2 KI(2)uWA(1)+IC2 II(3)-"A(2)+IC2 8 CONTINUE GO TO 998 102 CONTINUE C 4 POINT DFT C DO 10 J-l,l MA(1)-KI(1) MA (2)-KI(2) MA (3)KI(3) MA(4)-KI(4) DO 11 IG-O,ILIN IO-IG*IC1 I1IMA(1)+IO I2NMA(2)+IO I3=NA(3)+IO

304 I4=NA(4)+IO C*******4-POINT DFT IRA***********s*********** RluI(I1)+XI(3) R2u1(I1)-XI(3) 31-Y(11)+Y(I3) S2-Y(Il)-Y(I3) R3a.(I(2)+XI(4) R4in1(I2)-XI(4) S3-Y(I2)+Y(I4) S4=Y(I2)-Y(I4) XI(MA (NB(1)) +IO) -R1+R3 Il&(NAB(3))+IO)=R1-R3 YO(A(IB(l))+IO)-SI+S3 Y(IA(NB(3))+IO)-S1-S3 X(NA(NqB(2))+IO)=R2+S4 I(MA(NB(4))+IO)=R2-S4 Y(NA(NB(2))+IO)inS2-R4 Y(NA(NB(4) )+IO)=S2e14 11 CONTINUE II(1)=NA(4)+IC2 II (2)=NA(1)+IC2 KI(3)-NA(2)41C2 II(4)=NA(3)+IC2 10 CONTINUE GO TO 998 103 CONTINUE C 5 POINT DFT C DO 12 J-1,K KA(1)uII( NA(2)KI(2 N.A4)iKI(4 MA(S)K1I(S) DO 13 IG-0,ILIN IOuIG*ICI I2=NA(2)+IO I3xNA(3)+IO I4uNA(4)+IO I5=NA(5)+IO C*******5-POINIT DFT IRA*****.***.*.****s...**. Rt1-XI(2)+XIS) R2u1(I2)-1(15) S1*Y(I2)+Y(IS) S2=Y(I2)-Y(IS) R3-1(I3)+1(14) R4u1l(I3)-XI(4) S3-Y(I3)+Y(I4) S4=Y(I3)-Y(I4) Tlu(R.2+R4)*CSI Ulu(S2+S4)*C51 R2-Tl-R2*C52 S2=U1-S2*C52 R4-T1-R4*C53 S4-Ul-S4*C53 Tla(Rt1-R3)*C54 Ulu(S1-S3)*C54 T2RIn1+R.3 U2uS1+S3 I(NA(NB(1)+IO)=I(Il)+T2 Y(NA(NB(1)+IO)-Y(I1)+U2 T2-X(NA(NB(l) )+IO)+T2*C5S U2-Y (MA(KB(l1) )+Tn)+tU2*C5

305 Ri1T2+TI R3=T2-Tl SlIU2+U1 S3inU2-U1 I(NA(NB(2))+IO)=R1+S4 I(NA(NB(5))+IO)ufR1-S4 Y(IA(NB(2))+IO)-S1-R4 Y(NA(NB(5))+IO)-S1+R4 I(NA (NB(3) )+IO)=R3-S2 I(NA(NB(4) )+IO)-R3+S2 Y(NA(NB(3) )+IO)=S3+R2 Y(NA(NB(4))+IO)=S3-R2 13 CONTINUE II(1)-N.&(5)+IC2 KI(2)'mNA(1)+IC2 II (3)=NA(2)+IC2 KI(4)-NA(3)+IC2 KI(5)-NA(4)+IC2 12 CONTINUE GO TO 998 104 CONTINUE C 7 POINT DFT C DO 14 J-1,I NA(1)uI(1 N&(2)=KI(2) NA(3)uI(3 NA(4)KI(4 NA(5)iKI(5) N&(6)KI(8 NA(7)wII( DO 15 IGO0,ILIN IO0IG*ICI 111RA(1)+IO I2u1KA(2)+IO I3-1A(3)+IO I4mNA(4)+IO ISuNA(5)+IO I6=NA(6)+IO I7=NA(7)+IO C*******7-POINT DFT KRA*.*****.****.*.***..*** R1IX(I2)+X(I7) R2=X(I2)-XI(7) SI-Y(I2)+Y(IT) S2=Y(I2)-Y(I7) Rt3in1(13) +I1) R4in1(I3)-XI() S3-Y(I3)+Y(I8) S4-Y(I3)-Y(I6) RSm1(I4)+X(IS) R6a1(I4)-XIS) SS-Y(14)+Y(IS) S6UY(I4)-Y(I5) T111I+R3+Rt5 UJ1-Sl+S3+S6 X(NA(NB(1)+IO)-X(II)+T1l Y (MA (NB())+IO) -Y(I 1) +U TiZX (NA (B(1) +I0)+T1*C`7I Ul1Y(NA(NB(1))+IO)+UI*C71 T2=(R1-RS)*C72 U2-(S1-SS)*C72 T3- (RS -R3) *C73 U3-(SS-S3)*C73 T4-(R3-Rl1)*C74

306 U4=(S3-SI)*C74 R11T1+T2+T3 R3inT1-T2-T4 RS=TI-T3+T4 S1=UI+U2+U3 S3=U1-U2-U4 SS=U1-U3+U4 Uln(S2+S4-S6)*C75 T1u(R2+R4-R6)*C75 T2=(f2+Rt8)*C76 U2=(S2+S6)*C76 T3=(Rt4+RB)*C77 U3=(S4+S6)*C77 T4-(R4-R2)*C78 U4=(S4-S2)*C78 R2-T1+T2+T3 R4inTl-T2-T4 Rt6-T1-T3+T4 S2-U1+U2+U3 S4-Ul-U2-U4 S6-U1-U3+U4 I(JIA(NB(2))+IO)=ft1+S2 I (MA (NB(M)+IO) -R1-S2 Y(IA(IB(2))+IO)wSl-Rt2 Y(NA (NE(7) )+IO)-S1+R2 I(NA(IB(3) )+IO)=R3+S4 XI(NA (NB(6)) +IO) =R3-S4 Y(NA(NB(3) )+IO)-S3-R4 Y(IA(NB(6))+IO)inS3+Rt4 X(NA(NB(4) )+IO)-R5-S6 X(NA(IB(5))+1O)-R5+S6 Y(NA(NB(4))+IO)SS+R8 Y(NA(NB(5) )+IO)-S5-ft8 15 CONTINUE KI(1)NMA(7)+IC2 II(2)-nA(l)+IC2 II (3) =NA (2) +IC2 KII(4)u'IA(3)o1C2 II (5)-NA(4)+IC2 II(6)a'NA(5)+IC2 KI(7)-PIL(6)+IC2 14 CONTINUE GO TO 998 105 CONTINUE C 8 POINT DFT C DO 16 3m1,1 NA(1)KI(1 NA(2)u1(2) N&(3)nK1() NA(4)-1(4) NA(5)=KI(5) NA(8)KI(6) NAM7)KIM7 NA(8)u1I(8) DO 17 IO00,ILIN IO-IG*IC1 I~I-MA(1)+IO I2=NA(2)+IO I3-NA(3)+IO I4=PU(4)+IO 15NAi(5)+IO I6PUN(6)+IO I7=1I(7)+IO

307 18=uN(8)+IO C**s***s*8-POINT DFT IRA*********************** Rlul(I1)+X(I5) SluY(I1)+Y(15) S2wY(Il)-Y(I5) R4-X(I(2)-XI(8) S3'.Y(I2)+Y(I8) S4-Y(I2)-Y(I8) RS-X(I3).X(I7) R681(I3)-I(I7) S5.Y(I3)+Y(I7) S6-Y(I3)-Y(I7) R7-X(I4)+XI(6) RS81(14)-X(I6) S7-Y(I4)+Y(I6) S8=Y(I4)-Y(I6) TIK1l+RS T2-R1-R5 Ui-s1+55 U2-S1-SS T3=&3+R7 Rt3-(R3-R7)*CSI U3inS3+S7 S3-(S3-S7)*C81 T4-Rf4-RS R4-(R4+R18)*C8I U4-nS4-S8 S4-(S4+S8)*C81 TS3,2+13 T6mfR2-R3 USUS2+S3 U6-S2-S3 T7inR4+R8 T8inR4-R6 UTUS4+S6 U8-S4-S6 I(K&ONB(1) )+IO)-T1+T3 I(NA(HB(5))+IO)-T1-T3 YOIA(HB(1)+IO)-UI+U3 Y(NA(NB(5))+IO)=UI-U3 XIC.JA(IB(2))+IO)=T5+U7 X(RA(MB (8) )+IO)-T5-U7 Y(NA(NB(2) )+IO)-U6-T7 Y(NA(IB(8))+IO)inU5+T7 X(N&OIB(3) )+1O)-T2+U4 IOIA(NBM7)+IO)=T2-U4 Y(NA(IB(3))+IO)uU2-T4 Y(NA(NB(M) eO)=U2+T4 X(NA(NB(4))+IO)=TG+US IOIA(fB(6))+IO)=T6-U8 Y(MA (MB (4)) +IO)u=U6-T8 Y(NA(NB(6))+IO)mU6+T8 17 CONTINUE KI(1)-nA(8)+IC2 KII(2)-NA(1)+IC2 XII(3)-NA(2)+IC2 II (4)=KA(3)+IC2 II (5)=n.&(4)+IC2 KI (6)-NA(5)+IC2 II (7)-JIA(6)+IC2 KI (8) NR1(7) +IC2 16 COITINUE GO TO 998

308 106 CONTINUE C 9 POINT DFT C DO 18 J-I,I nA(2)-KI(2) NA(3)=KI(3) NA(4)11(4 K.&M7)KIM7 NA (8) UKI(8) NA(9)KII( DO 19 IG-O,ILIN IOIlG*ICI I11NA(1)+IO 12-NA(2)+IO I3-NA(3)+IO I4-MA(4)+IO I5UNA(5)+IO I6n1KA(6)+I0 I7-NAMT+I0 18inU(8)+IO I9=NA(9)+IO C***s*s*9-POINT DFT IRA**s****~*****s**.*****s R2in1(I2)-XI(9) S1-Y(I2)+Y(I9) S2-Y(I2)-Y(I9) R31X(I3)+XI(8) S3-Y(I3)+Y(I8) S4=Y(I3)-Y(I8) R51X(I4)+XI(7) T(I(1I7)-lI(4) )*C31 S5EY(I4)+Y(I7) U-(Y(I7)-Y(I4) )*C31 Rt7-XI()+XI(6) S7-Y(IS)+Y(I6) SSUY(15)-Y(16) R9-X(I1)+RS S9UY(I1)+S5 Tl1X(Il)-R.5*C32 T2in(R3-Rt7)*C92 U2- (S3-S7) *C92 T3in(RI-RtT) *C93 U3-(Sl-S7)*C93 T4in(R1-R3)*C94 U4in(S1-S3)*C94 RIO-Rt1+R3+R7 S1O*S1+53+S7 RluTl+T2+T4 R3-T1-T2-T3 R7-TI+T3-T4 S1-U1+U2+U4 S3-Ut-U2-U3 S7-U1+U3-U4 l(NAk(NB(1) )+IO)=19.Rl0 Y (MA (NB(1)+IO) -S9+SIO RS5R9-RIO*C32 SS-S9-SIO*C32 R6-n(R4-R2-Rt8) *C31 S6-(S4-S2-S8)*C31

309 T2-(R4+R8)*C96 U2-(S4+S8)*C96 T3=(R2-R8)*C97 U3-(S2-S8)*C97 T4-(R2+t4) *C98 U4in(S2+S4)*C98 R2=T+T2+T4 R4inT-T2-T3 Rt8-T+T3-T4 S2=U+U2+U4 S4-U-U2-U3 S8-U+U3-U4 X(NA(NB(2))+IO)-R1-S2 X(NA(NB(9) )+IO)-ft1+S2 Y (IA(NB (2) )+IO)-S1+R2 Y(NAOIB(9) )+IO)=S1-R2 X(N.&OIB(3) )+IO)-R3+S4 X(NA(NB(8))+IO)-R3-S4 Y (MA (NB (3)) +IO) S3-R4 Y (MA MB (8)) +IO) -S3+R4 X(NtA(NB(4) )+IO)=15-S6 X(NA(NB(7))+IO)=R5+S6 Y(NA(NB(4) )+IO)-SS+R6 Y(NA(MB(7))+IO)-SS-Rt6 I(NA(NB(5) )+IO)=R7-S8 X(NA(NB(6) )+IO)-R7+S8 Y(lA(NB(5))+IO)=S7+R8 Y(IA(NB(6))+IO)-S7-Rt8 19 CONTINUE II (1)=NA(9)+IC2 KI(2)-NA(1)+IC2 KI (3)-MNA(2) +IC2 11(4) NA(3)+IC2 II (5)sNA(4)+1C2 II (6)=NA(5)+IC2 II (7)=NA(6)+IC2 KII(8)-NA(7)+1C2 11(9) inN(8)+IC2 18 CONTINUE GO TO 998 107 CONTINUE C 16 POINT DFT C DO 20 Jml,1 NA (1) 1I(1) NA (2) 41(2) NA3W-KI(3 NA(4)41I(4) NA(5)KIl(5) NA (6) 4KI(6) NA(7)uKI(7) NA(8)=4I(8) NA(9)=KI(9) NA(10)u1I (10) NA (11)w4(11) MA (12)41I(12) NA (13)41( 13) NA(14)41I(14) Mlk(15)-KIC 15) NtA(16)41I(16) DO 21 IG-0,ILIN IO=IG*IC1 IINPA(1 )+IO I2NMA(2)+IO

310 I3-MA(3)+IO I4-MA(4)+IO I5-J(5)+IO I611A(6)+IO I7-MA(7)+IO I8S1A(8)+IO I9.=A(9)+IO I10sKA(10)+IO IlllA(11 )+IO I12=sA(12)+IO I13=NA(13)+IO I14MA(14)+IO I15sNA(15)+IO I16sMA(16)+IO C*******16-POINT DFT IERAL******************************************* RlIt(I1)+X(I9) R2-x(I1)-x(I9) Sl-Y(I1)+Y(I9) S2-Y(I1)-Y(I9) R31I(I2)+X(I1O) R4X (I2)-X(I10) S3,Y(I2)+Y(I1O) S4-Y(I2)-Y(I10) R5-I(I3)+I(I11) R6X (I3)-X(Ill) S5-Y(I3)+Y(I11) S6,Y(I3)-Y(I11) R7I X(I4)+X(I12) R8]X(I4)-X(I12) S7-Y(I4)+Y(I12) S8-Y(I4)-Y(II2) R9-X(I5)+1(I13) R10-(I5)-X (I13) S9,Y(I5)+Y(I13) SlO-Y(I5)-Y(I13) R11-X(I6)+X(I14) R12-1(I6)-X (I14) S11-Y(I6)+Y(I14) S12-Y(I6)-Y(I14) R13-X(I7)+X(115) R14-X(I7) -X(I15) S13-Y(I7)+Y(I15) S14-Y(I7)-Y(I15) R15-X(I8)+1(I16) R16-I(I8) -X(I16) S15-Y(I8)+Y(I16) S16~Y(I8)-Y(I16) TIRI+R9 T2-RI-R9 U1-SI+S9 U2-S1-S9 T3-R3+11l T4-R3-R11 U3-S3+S11 U4-S3-Sll TSR5+R13 T6,R5-R13 USS5S+S13 U6-S5-S13 T7"R7+R15 T8-R7-R15 U7~S7+S15 U8-S7-S15 T9-(T4+T8)*C81 T10-(T4-T8) *C81 U9-(U4+U8)*C81

311 U1Ou=u4-U8) *C81 RlmTl+T5 R3inT1-TS S1-UU+U5 S3=U1-US RS5T3+T7 R7-T3-T7 SS=U3+U7 S7-U3-U7 R9-T2+TIO Rll=T2-TIO S9-U2+UIO S11=U2-UIO Rt13uT6+T9 Rl15-T6-T9 S13=U6+U9 SS15U6-U9 T1=R4+R16 T2-R4-R16 U1=S4+516 U2-S4-S16 T3-(R8.R14) *CSI T4-(RW-R14) *C81 U3-(S6+514) *G81 U4in(S6-Sl4) *C81 T5-R8+Rl2 T6-R8-R12 U5=S8+Sl2 U6-S8-S12 T7U(T2-T6)*Cl62 T8-T2*C183-T7 T9inT6*C164-T7 TIO=R2+T4 T1I-R2-T4 R2=TIO+T8 R4inTIO-T8 R18T11+T9 R8-Tl1-T9 U7-(U2-U8)*C162 U8-U2*C163-U7 U9-U6eC184-U7 UIO=S2+U4 U11-S2-U4 S2=UIO+U8 S4mUIO-U8 S6=UI1+U9 S8=UII-U9 T7-(TI+TS)*C165 T8inT7-T1.C164 T9-TV-T~SCl63 TIO=I11+T3 T11-I11-T3 RIlO=TIO+T8 R12=TIO-TS R14inTll+T9 R1=IOT1T9 U7-(U1+U5)*C165 U8-U7-Cl64.Ul U9inU7-C163*US UIO=SIO+U3 UII-SlO-U3 S1O-U1O+U8 S12-UIO-US S14aU1 1+U9 S16-nUl1-U9 Iu(MI(B(t))+IO)=R1+RS

312 X(NA(NB(9))+IO)mK1-R5 Y(IA(IB(1))+IO)-S1+S5 YOL&(NB(9) )+IO)-S1-SS X(N.A(NB(2))+IO)1R2+SIO X(NAOIE(16) )+I0)-BR2-Sl0 Y(NA(IB(2) )+IO)-S2-RIO Y(LA(NB(16) )+IO)-S2+RI10 X(NA(NB(3))+IO)=R9+S13 X(NA(NB(16) )+IO)-R9-Sl3 Y(NA(NB(3) )+IO)-S9-R13 Y(NA(NB(15) )+IO)-S9+Rt13 X(NA(NB(4) )+IO)-R8-S16 X(NA(NB(14) )+IO)-R8+S16 Y(NA(NB(4) ).IO)-SS+R16 Y(NA(NB(14) )+10)-S8-R16 X(NA(NB(5) )+I0)-Rt3+S7 X(NA(NB(13) )+IO)-ft3-S7 Y(NA(NE(5))+IO)-S3-Rt7 Y(NA(NB(13) )+IO)-S3+R7 X(NA(NB(6))+IO)OR6+S14 X(NA(NB(12))+IO)=R8-S14 Y(NA(NB(8))+IO)nS6-R14 Y(NA(NB(12) )+IO)-S8+R14 X(NA(NB(7))+IO)-ft11-Sl5 X(NA(NB(11) )eIO)-R11+Sl5 Y(NA (NB(7) )+IO)-S11+Rl5 Y(NA(NB(11))+IO)-S11-Rl5 X(NA(NB(S))+IO)=R4-S12 X(NA(NB(10) )+IO)-R4+S12 Y(NA(NB(8))+IO)-S4+R12 Y(NA(NB(10) )+IO)-S4-R12 21 CONTINUE lI(1)-NA(16)+IC2 II(2)-NA(1)+IC2 ~I(3)-NA(2)e1C2 II (4)-NA(3)+IC2 II(5)-NA(4)+IC2 KI(6)-NA(5)+IC2 KI(7)u'NA(6)+IC2 11(8)-NA(7)+IC2 KI(9)-NA(8)+IC2 11(10)-NA (9)+IC2 KI(11)-NA(10)+IC2 KI(12)nKA(11)+IC2 KII(13)-NA(12)+IC2 II (14)-NA (13)+IC2 lI(15)=NA(14)+IC2 KI(16)NKA(15)+IC2 20 CONTINUE 998 CONTINUE 3 CONTINUE 2 CONTINUE IF(SIGN.EQ. 1) THEN DO 22 I-1,L*L y(I)u-.y(I) 22 CONTINUE ELSE END IF RETURN END

313 SUBROUTINE TABLE(L,N,I) C THIS SUBROUTINE RETURNS THE PRIME FACTORS OF L C INTEGER 1(*) INTEGER NF (59,4) DATA (IF( 1,J),J-1.4) /2,0,0,0/ DATA (IF( 2,J),J-1,4) /3,0,0,0/ DATA (IF( 3,J),J-1,4) /4,0,0,0/ DATA (IF( 4,J),J-1,4) /5,0,0,0/ DATA (IF( 5,J),J-1,4) /2,3,0,0/ DATA (NF( 6,J),Jinl,4) /7,0,0,0/ DATA (lF( 7,J),J-1,4) /8,0,0,0/ DATA (NF( 8,J),J-1,4) /9,0,0,0/ DATA (IF( 9,J),Jinl,4) /2,5,0,0/ DATA (NF(10,J),J-1,4) /3,4,0,0/ DATA (NF(11,J),J-1,4) /2,7,0,0/ DATA (NF(12,J),J-1,4) /3,5,0,0/ DATA (NF(13,J),J-1,4) /16,0,0,0/ DATA (IF(14,J),J-1.4) /2,9,0,0/ DATA (NF(15,J),J-1,4) /4,5,0,0/ DATA (NF(16,J),Jm1,4) /3,7,0,0/ DATA (NF(17,J),J-1,4) /3,8,0,0/ DATA (lF(18,J),Ju1,4) /4,7,0,0/ DATA (NF(19,J),J-1,4) /2,3,5,0/ DATA (ffF(20,J),J-1,4) /5,7,0,0/ DATA (NF(21,J),J-1,4) /4,9,0,0/ DATA (NF(22,J),J-1,4) /5,8,0,0/ DATA (NF(23,J),J-1,4) /2,3,7,0/ DATA (NF(24,J),3-1,4) /5,9,0,0/ DATA (IF(25,J),J-1,4) /3,16,0,0/ DATA (NF(26,J),J-1,4) /7,8,0,0/ DATA (NF(27,J),J-1,4) /3,4,5,0/ DATA (NF(28,J),J-1,4) /7,9,0,0/ DATA (NF(29,J),J-1,4) /2,5,7,0/ DATA (NF(30,J),J-l,4) /8,9,0,0/ DATA (JF(31,J),J-1,4) /6,16,0,0/ DATA (NF(32,J),J=1,4) /3,4,7,0/ DATA (NF(33,J),J-1,4) /2,5,9,0/ DATA (NF(34,J),J-1,4) /3,5,7,0/ DATA (EF(35,J),J=1,4) /7,16,0,0/ DATA (IF(36,J),J-1,4) /3,5,8,0/ DATA (NF(37,J),J-1,4) /2,7,9,0/ DATA (IF(38,J),J-1,4) /4,5,7,0/ DATA (NF(39,J),J-1,4) /9,16,0,0/ DATA (JF(40,J),J-1,4) /3,7,8,0/ DATA (IF(41,J),J-1,4) /4,5,9,0/ DATA (IF(42,J),J-1,4) /2,3,5,7/ DATA (NF(43,J),J-1,4) /3,5,16,0/ DATA (NF(44,J),J-1,4) /4,7,9,0/ DATA (lF(45,J),J-1,4) /5,7,8,0/ DATA (IF(46,J),J-1,4) /5,7,9,0/ DATA (NF(47,J),J-1,4) /3,7,16,0/ DATA (NF(48,J),J-1,4) /5,8,9,0/ DATA (IF(49,J),J-1,4) /3,4,5,7/ DATA (NF(50,J),J-1,4) /8,7,9,0/ DATA (NF(61,J),J-1,4) /5,7,16,0/ DATA (NF(52,J),J-1,4) /2,5,7,9/ DATA (NF(53,J),J-1,4) /5,9,16,0/ DATA (NF(54,J),J-1.4) /3,5,7,8/ DATA (JFF(55,J),J-1,4) /7,9,16,0/ DATA (lF(56,J),J-1,4) /4,5,7,9/ DATA (ffF(67,J),J-1,4) /3,5,7,16/ DATA (NF(58,J),J-1,4) /5,7,8,9/ DATA (NF(S9,J),J-1,4) /5,7,9,16/ IF(L.EQ. 2) THEE

314 NI1 1-1 lul ELSE IF(L.EQ. 3) THEi l-I 1-2 ELSE IF(L.EQ. 4) THEI N-1 K-3 ELSE IF(L.EQ. 5) THEI N-= K=4 ELSE IF(L.EQ. 6) THEI M-2 K15 ELSE IF(L.EQ. 7) THEN N-2 1-6 ELSE IF(L.EQ. 8) THEI NMI K-7 ELSE IF(L.EQ. 9) THEN NMi 1-8 ELSE IF(L.EQ. 10) THEI N-2 K19 ELSE IF(L.EQ. 12) THEI N-2 1-10 K=10 ELSE IF(L.EQ. 14) THEN X-2 ELSE IF(L.EQ. 15) THEI N=2 K112 ELSE IF(L.EQ. 16) THEN M-1 K-13 ELSE IF(L.EQ. 18) THEI N-2 1-14 ELSE IF(L.EQ. 20) THEI =-2 K115 ELSE IF(L.EQ. 21) THEI N-2 K116 ELSE IF(L.EQ. 24) THEN N=2 K=17 ELSE IF(L.EQ. 28) THEN N-2 1K18 ELSE IF(L.EQ. 30) THEN NM3 1K19 ELSE IF(L.EQ. 36) THEN N-2 1K20 ELSE IF(L.EQ. 36) THEI N-2 K-21 ELSE IF(L.EQ. 40) THEI =-2 K-22 ELSE IF(L.EQ. 42) THEI

315 1"3 1-23 ELSE IF(L 1-2 K1-24 ELSE IF(L M-2 1K25 ELSE IF(L M=2 K-26 ELSE IF(L "-3 1-27 ELSE IF(L M-2 1K28 ELSE IF(L -13 1K29 ELSE IF(L N=2 K-30 ELSE IF(L 1=2 1K31 ELSE IF(L Mf3 K132 ELSE IF(L M=3 K133 ELSE IF(L 1M3 K134 ELSE IF(L N-2 K-36 ELSE IF(L -13 1-36 ELSE IF(L NM3 1t37 ELSE IF(L N13 Ki38 ELSE IF(L =-2 K-39 ELSE IF(L ~-3 1t40 ELSE IF(L N13 1t41 ELSE IF(L ~-4 1-42 ELSE IF(L MR3 K143 ELSE IF(L Mr3 K144 ELSE IF(L.EQ..EQ..EQ..EQ..EQ..EQ..EQ..EQ..EQ..EQ..EQ..EQ..EQ..EQ..EQ..EQ..EQ..EQ..EQ..EQ. 45) THEN 48) THEI 56) THEN 60) THEN 63) THEI 70) THEN 72) THEI 80) THEN 84) THEN 90) THEI 105) THEN 112) THEI 120) THEN 126) THEI 140) THEN 144) THEN 168) THEN 180) THEI 210) THEN 240) THEN 262) THEN 280) THEN

316 M-3 K145 ELSE IF(L.EQ. 315) THEI M'3 1K46 ELSE IF(L.EQ. 336) THEI M-3 1=47 ELSE IF(L.EQ. 360) THEN N-3 K-48 ELSE IF(L.EQ. 420) THEI M-4 1t49 ELSE IF(L.EQ. 504) THEI M=3 Kt60 ELSE IF(L.EQ. 560) THEN M-3 K651 ELSE IF(L.EQ. 630) THE! N-4 1-52 ELSE IF(L.EQ. 720) THEI '=3 [-53 ELSE IF(L.EQ. 840) THEi M~4 '=4 K154 ELSE IF(L.EQ. 1008) THEI N=3 K-55 ELSE IF(L EQ. 1260) THEN N'4 1-56 ELSE IF(L.EQ. 1680) THEN '-4 1-57 ELSE IF(L.EQ. 2520) THEN '-4 1K58 ELSE IF(L.EQ. 5040) THEI '-4 K-59 ELSE END IF DO 1 Jt1,4 I(J)-NF(I, J) CONTINUE RETURN EID

317 SUBROUTINE COPYIE(L2,SG,A,B) C THIS SUBROUTIIE COPIES A IITO B C REAL A(*),B(*) IITEGER SG() DO 1 I1l,L2 IF(SG(I).IE. O) THEI B(I)=A(I) ELSE B(I)=0.O EID IF 1 COITIIUE RETURI EID SUBROUTINE NOR122(L2,UR,UI,SG,N) C NORM OF THE RESIDUIL C REAL UR(*),UI(*) IITEGER SG(*) RNIO. 0 DO 1 In1,L2 IF (SG(I).IE. 0) THEN RI-R+UR (I)U(I)UR)+UI (I)*UI(I) ELSE EID IF I COITINUE RETURN EID SUBROUTIIE NEGONE(L,A) C THIS SUBROUTIIE IULTIPLIE A BY (-1)**(I+J) C REAL A(*) K-0 DO 1 I1l,L DO 2 JIl,L 11+1 A(K),(-1)**(I+J)*A(I) 2 COITINUE 1 CONTINUE RETURN END

BIBLIOGRAPHY 318

319 BIBLIOGRAPHY [1] E. H. Newman and M. R. Schrote, "An open integral formulation for electromagnetic scattering by material plates",IEEE Trans. Antennas Propagat., vol. AP-32,No. 7, pp. 672-678, July, 1984. [2] M. Naor and T. B. A. Senior, "Scattering by resistive plates" Technical report no. 018803-1-T, Radiation Lab., Dept. of EECS, The University of Michigan, Sept., 1981. [3] A. W. Glisson and D. R. Wilton, "Simple and efficient numerical methods for problems of electromagnetic radiation and scattering from surfaces",IEEE Trans. Antennas Propagat., vol. AP-28,No. 5,Sept., pp. 593-603, 1980. [4] S. M. Rao, D. R. Wilton and A. W. Glisson, "Electromagnetic scattering by surfaces of arbitrary shape",IEEE Trans. Antennas Propagat., vol. AP-30,No. 3,May, pp. 409-418, 1982 [5] T. K. Sarkar,E. Arvas and S. M. Rao, "Application of FFT and the conjugate gradient method for the solution of electromagnetic radiation from electrically large and small conducting bodies",IEEE Trans. Antennas Propagat., vol. AP-34, pp. 635-640, May 1986. [6] C. G. Christodoulou and J. F. Kauffman, "On the electromagnetic scattering from infinite rectangular grids with finite conductivity ",IEEE Trans. Antennas Propagat., vol. AP-34, pp. 144-154, Feb., 1986. [7] M. R. Hestenes and E. Steifel, "Method of conjugate gradients for solving linear systems", J. Res. Nat. Bur. Standard., vol. 49, no. 6, pp.409-436, Dec. 1952. [8] M. R. Hestenes, "Conjugate direction methods in optimization", New York, Springer-Verlag,1980. [9] J. W. Daniel, "The conjugate gradient method for linear and nonlinear operator equations",Siam J. Numer. Anal., vol. 4, no. 1, pp. 10-26, 1967. [10] J. W. Golub and C. F. VanLoan, "Matrix computions", John Hopkins University Press, Baltimore, MD, 1983, pp. 363-379. [11] IEEE, "Special issue on the fast Fourier transform and its application to digital filtering and spectral analysis",IEEE Trans. Audio and Electroacoustics, Vol. AU-15, No.2, June, 1967.

320 [12] M. T. Heideman and C. S. Burrus, "A bibliography of fast transform and convolution algorithms II", Technical Report No. 8402, Dept. of Elec. Engin., Rice University, Houston, Texas, Feb. 24, 1984. [13] M. R. Hestenes, "Iterative methods for solving linear equations", NAML Report 52-9, National Bureau of Standards 1951. [14] E. Stiefel, "Uebereinige methoden der relaxationsrechnung", Z. Angew. Math. Physik (3) 1952. [15] A. Miele, "An appreciation of professor M. R. Hestenes", Journal of Optimization Theory and Applications, vol. 14, No. 5, 1974, pp. 445-451. [16] N. N. Bojarski, "K-space formulation of the electromagnetic scattering problem", Tech. Rep. AFAL-TR-71-5, Mar. 1971. [17] R. A. Horn and C. A. Johnson, "Matrix analysis", Cambridge University Press, London, 1985, ch. 4,7. [18] D. C. Champeney, "A handbook of Fourier theorems", Cambridge University Press, Cambridge CB2 1RP, 1987. [19] P. J. Davis and P. Rabinowitz, "Methods of numerical integration", 2nd Ed. Academic Press,pp. 51-198, 1984. [20] R. W. Hamming, "Numerical methods for scientists and engineers", 2nd Ed. McGraw-Hill, pp. 277-316., 1973. [21] J. W. Cooley and J. W. Tukey, "An algorithm for the machine calculation of complex Fourier series", Math. of Comput., Vol. 19, pp. 297-301. April 1985. [22] E. 0. Brigham, "The fast Fourier transform", Prentice-Hall, Englewood Cliffs, NJ, pp. 191-195, 1974. [23] D. T. Long, "Elementary introduction to number theory", 3rd Ed., PrenticeHall, Englewood Cliffs, NJ,pp. 117-123, 1987. [24] I. J. Good, "The relationship between two fast Fourier transforms", IEEE Trans. Computers, March 1971, pp. 310-317. [25] C. Temperton, "Implementation of a self-sorting in-place prime factor FFT algorithm", J. Comput. Phys., 58, pp. 283-299, 1985. [26] J. H. Rothweiler, "Implementation of the in-order prime factor transform for variable sizes", IEEE Trans. Acoust., Speech, Signal Processing, vol. ASSP30, no. 1, pp. 105-107, Aug. 1982. [27] C. S. Burrus and P. W. Eschenbacher, "An in-place, in-order prime factor FFT algorithm", IEEE Trans. Acoust., Speech, Signal Processing, vol. ASSP-29, no. 4, pp. 806-817, Aug. 1981.

321 [28] S. Winograd, "On computing the discrete Fourier transform", Math. Cornput., vol. 32, pp. 175-199, Jan. 1978. [29] H. W. Johnson and C. S. Burrus, "Large DFT modules: 11, 13, 17, 19 and 25", Technical Report No. 8105, Department of Electrical Engineering, Rice University, Houston, Texas, 1981. [30] T. J. Peters and J. L. Volakis, "Application of a conjugate gradient FFT method to scattering from thin planar material plates", IEEE Trans. Antennas Propagat., vol. AP-36, pp. 518-526, April 1988. [31] J. Meixner, "The behavior of fields at edges", IEEE Trans. Antennas Propagat., vol. AP-20, No. 4, July, 1972, pp. 442-446. [32] 0. C. Zienkiewicz, "The finite element method", 3rd Ed., McGraw-Hill, 1977. [33] J. A. Stratton and L. J. Chu, "Diffraction theory of electromagnetic waves", Phys. Rev., 56, 1939, 99-107. [34] I. S. Gradshteyn and I. M. Ryzhik, "Table of integrals, series, and products", Corrected and enlarged edition, p. 317, Academic Press, 1977. [35] T. M. Willis and H. Weil, "Disk scattering and absorption by an improved computational method", Appl. Opt. 2, pp. 3987-3995, Sept. 1987. [36] J. R. Rice, "A theory of condition",Siam J. Numer. Anal., vol. 3, No. 2, pp. 287-310, 1966. [37] B. H. McDonald and A. Wexler, "Finite element solution of unbounded field problems", Proc. I.E.E.E., MTT-20, No. 12, 1972. [38] M. V. K. Chari and P. P. Silvester, "Finite elements in electric and magnetic field problems",Wiley, [39] D. Colton and R. Kress, "Integral equation methods in scattering theory", Wiley, ch. 9, 1983. [40] A. Kirsch, "Optimal control of an exterior Robin problem", J. Math. Anal. Appl. 82, pp. 144-151, 1981. [41] T. S. Angell and R. E. Kleinman, "Generalized exterior boundary-value problems and optimization for the Helmholtz equation", J. Optimization Theory and Applications, 37, pp. 469-497, 1982. [42] I. Stakgold, "Boundary value problems of mathematical physics", Vol. I, Macmillan, pp. 220-222, 1967. [43] R. L. Haupt, "Synthesis of resistive tapers to control scattering patterns of strips", Ph.D. dissertation, Radiation laboratory, The University of Michigan, 1987.

322 [44] D. A. Wismer and R. Chattergy, "Introduction to nonlinear optimization",NorthHolland, pp. 197-218, 1978. [45] W. V. Lovitt, "Elementary theory of equations",Prentice-Hall, pp. 91-106, 1939. [46] D. B. Miron, "The singular integral problem in surfaces", IEEE Trans. Antennas Propagat., vol. AP-31, No. 3, pp. 507-509, July 1983. [47] J. G. Griffiths, "A bibliography of hidden-line and hidden-surface algorithms ", Computer Aided Design, 10(3), May 1978, pp.203-206. [48] S. Harrington, "Computer graphics", McGraw-Hill, 1983. [49] J. D. Foley and A. Van Dam, "Fundamentals of computer graphics", Addison Wesley, 1982. [50] W. M. Newman and R. F. Sproull, "Principles of interactive computer graphics", 2nd ed., McGraw-Hill, 1979. [51] M. A. Penna and R. R. Patterson, "Projective geometry and its applications to computer graphics", Prentice-Hall, pp. 225-270, 1986. [52] Adobe Systems Inc., "PostScript language reference manual", Addison Wesley, 1986. [53] -, "PostScript language tutorial and cookbook", Addison Wesley, 1986.