037821-2-T ABOR USERS MANUAL M.A. Abdel Moneum Z. Shen J.L. Volakis Science and Applied Technologies 21050 Califa Street Woodland Hills, CA 91367-5103 August 1999 37821-2-T = RL-2516

PROJECT INFORMATION PROJECT TITLE: Dielectric Radome Simulation with Fast Algorithms REPORT TITLE: U-M REPORT No.: CONTRACT START DATE: END DATE: DATE: SPONSOR: SPONSOR CONTRACT No.: U-M PRINCIPAL INVESTIGATOR: ABOR Users Manual 037821-2-T September 1998 September 1999 August 1999 Dr. Odell Graham Science and Applied Technologies 21050 Califa St. Woodland Hills, CA 91367-5103 Phone: (818)887-0844 x107 Fax: (818)887-1447 P.O. SW01073 John L. Volakis EECS Dept. University of Michigan 1301 Beal Ave Ann Arbor, MI 48109-2122 Phone: (313) 764-0500 FAX: (313) 647-2106 volakis @umich.edu http://www-personal.engin.umich.edu/-volakis/ PROJECT PEOPLE: M. A. Abdelmoneum, Z. Shen and J.L. Volakis

ABOR User's Manual M. A. Abdel Moneum, Z. Shen and J. L. Volakis Radiation Laboratory Department of Electrical Engineering and Computer Science The University of Michigan Ann Arbor, MI 48109-2122 Prepared for: Science and Applied Technology, Inc. Woodland Hills, CA 91367 1

Contents 1 Description of ABOR, a Computer Program for Antenna Radiation Through Radomes 3 1.1 Acquiring Data.................................... 3 1.2 Computing and Decomposing the Near-Zone Fields................ 4 1.3 PO Currents..................................................... 4 1.4 Moment Method Solution.............................. 5 1.5 M ain Program..................................... 5 1.6 Standard Auxiliary Subroutines........................... 6 2 Running the Program ABOR (ABOR Manual) 7 2.1 Sample Input Date Files............................... 9 2.2 Sample Data File for Defining the Radome's Shape................ 11 2.3 Data File Storing the Aperture Field Distribution................. 12 3 The Von Karman Radome 14 4 Input Variables Description 15 2

1 Description of ABOR, a Computer Program for Antenna Radiation Through Radomes ABOR is a computer program for evaluating antenna radiation through radomes. This code can be divided into six sections. The first section of the program needs the user-provided parameters,including radome's length, diameter, shape and dielectric constant, aperture size as well as the location and orientation and field distribution on the aperture surface. The second section of the program calculates the near-zone radiated field from the antenna aperture interior to the radome. This section of the program can, of course, be changed for different antenna apertures. The third section of the program determines the PO equivalent surface currents on both the interior and exterior radome surfaces. The next section of the program carries out the moment method solution for the hybrid implementation and uses the antenna radiated fields and the PO currents on the radome's surfaces as excitation. The fifth section of the program combines all available information to calculate the far-zone radiation pattern through the dielectric radome. The latter section of the program is a collection of standard subroutines, such as LU decomposition, spline interpolations for curved arcs and surfaces. The following subsections describe all six sections of the program mentioned above. Two new features has been added in this version. Shadowing by the reflector struts and gimbal of the reflector structure was included in the analysis. To account for the antenna displacement due to the gimbal, a modification of the coordinate transformation was required. In the current version there are two coordinate systems. One for the reflector with no gimbal and another for the case of a reflector with a gimbal. 1.1 Acquiring Data The subroutines that fulfill the task of acquiring the input data are: * radome-inpu Subroutine radome-inpu gets the information pertaining to the radome shape, radome length and bottom diameter, dielectric constant 6r. 3

* apertureinpu Subroutine aperture-inpu acquires the information for the aperture antenna, including the radius rap of the circular aperture, files storing the field distribution on the aperture surface, distance s, and steering angle Q. * input(mode, ang, angi, ang2, nang, npir, npor, nplo, np2o) This subroutine reads-in the following parameters: mode, ang, angl, ang2, nang, npir, npor, nplo, np2o, bk, and 1mm. These variables are explained in section 5. * DBORIN This subroutine calculates the required parameters such as information for the discretization of the radome arc and the basis functions based on the entered parameters. This subroutine must be changed for multilayered radome structures. 1.2 Computing and Decomposing the Near-Zone Fields * subroutine nfint(r,phi,xa,ya,za,sph, cph,sth, cth, efr,eft, efp,hfr,hft,hfp) Subroutine nfint defines the functions for all six near-zone field components (three electric components and three magnetic field components) at a given point (r, phi) for a known aperture field distribution. * subroutine nearfd(nip,zp, rop, some, come,fepr,fepa,fepe,fhpr,fhpa,fhpe) This subroutine calculates the near-zone electric and magnetic fields. * subroutine ecomp(mode,npir) Subroutine ecomp decomposes all six field components into modes and stores all the computed results into six two-dimensional array, which are called later for computing the PO fields (interior and exterior of the radome) and the MM excitation fields. 1.3 PO Currents Subroutine pof(n, mode,npir, npor, npl o, np2o, cfv, cfi, cfo) calculates the PO equivalent surface currents on the interior and exterior surfaces of the radome, for a given mode. 4

1.4 Moment Method Solution * SUBRO UTINE LOP Subroutine LOP(Z, ISYM, N, C, MU, EPS, NPI, RSI, ZSI, DSI, SVI, CVI, TI, TPI, NPJ, RSJ, ZSJ, DSJ, SVJ, CVJ, TJ, TPJ) calculates the L operator for a given boundary and a specified region. * SUBRO UTINE KOP Subroutine KOP(Z, ISYM, N, C, MU, EPS, NPI, RSI, ZSI, DSI, SVI, CVI, TI, NPJ, RSJ, ZSJ, DSJ, SVJ, CVJ, TJ) calculates the K operator for a given boundary and a specified region. * SUBROUTINE CZGEN(N,Z,Z1) Subroutine CZGEN assembles the computed L and K operators into a matrix, which is then factorized into two triangular matrices (LU decomposition). * SUBRO UTINE RCRGEN(N,NPIR,NPOR,NP1 0,NP20, CFV, CFI, CFO, CBR) Subroutine RCRGEN generates the right-hand side of the hybrid matrix equations. This subroutine also calls another one named LKOP(N, C, MU, EPS, NPI, RSI, ZSI, DSI, SVI, CVI, TI, TPI, NPJ, RSJ, ZSJ, DSJ, SVJ, CVJ, TJ, TPJ, QLTT, QLTP, QLPT, QLPP, QKTT, QKTP, QKPT, QKPP) for the L and K operators of the PO part. 1.5 Main Program The main program utilizes all available information and controls the execution. The far-zone radiation pattern is computed at the end of the main program by calling the subroutine RCSPAT(N,NPOR, TH,RBT,RBP). Matrix dimension check is also done in the main program. It should be mentioned that after gathering all entered information, the main program calls a subroutine named RECOVE(NPIR,MODE,ANG, ANGl,ANG2,NANG,rsum) to calculate the radiation pattern directly from the field distribution on the aperture antenna. 5

1.6 Standard Auxiliary Subroutines The following standard auxiliary subroutines are used in the program 'ABOR'. * SUBROUTINE GAUSS(WT, ASC,N,AA,BB) Subroutine GA USS calculates the weights and integration points of coordinates for performing Gaussian quadrature of a given order. * SUBROUTINE BESJ(X,N,BJM,BJ,BJP) Subroutine BESJ computes the Jn, Jn+i, and J+1 Bessel functions for a given argument x and order n. * SUBROUTINE CGECO(A,LDA,N,IPVT,RCOND,Z) This standard subroutine from ULINPACK does the LU decomposition for a complex matrix A. Some other similar subroutines such as SUBROUTINE CGEFA(A, LDA, N, IPVT, INFO) and CGESL(A, LDA, N, IPVT, B, JOB) are also needed to solve a linear matrix equation. * subroutine curvl (n,x,y,slpl,slpn, islpsw,yp, temp,sigma, ierr) Subroutine curvl determines the parameters necessary to compute an interpolatory spline under tension through a sequence of functional values. Another function curv2 (t,n,x,y,yp,sigma) is used to interpolates a curve at a given point using a spline under tension. * subroutine surfl Subroutine surfl(m, n, x, y, z, iz, zxl, zxm, zyl, zyn, zxyll, zxyml, zxyln, zxymn, islpsw, zp, temp, sigma, ierr) determines the parameters necessary to compute an interpolatory surface passing through a rectangular grid of functional values. A follow-up function surf2(xx, yy, m, n, x, y, z, iz, zp, sigma) interpolates a surface at a given coordinate pair using a bi-spline under tension. * Functions bessjd(n,x) and BESSJ(N,X) These two functions calculate the Bessel Jn,(x) and its derivative J,(x) using double precision. 6

2 Running the Program ABOR (ABOR Manual) The program ABOR consists of two subprograms: ABOR.f and ABORSUBS.f. On unix, one can use the command f77 -o ABOR ABOR.f ABORSUBS.f -O Alternatively, ABOR.f and ABOR-SUBS.f can be imported into a project when Microsoft or Digital Fortran is used on a PC to build the executable file "ABOR". A detailed description of the input data required to execute ABOR is given below. The definition of each input variable is also provided. * read(*,*) BK - Input the free-space wave number (27r/A) * read(*,*) MODE - Read number of modes considered. The recommended number of modes is the closest integer to kpmax + 1. * read(*,*)IRS - Specify the radome shape IRS = 1, for Von Karman Radome IRS = 2, for Radome shape defined by the user as data files. * Read(*,*) L1, D1, L2, D2,S and dgimbal if IRS = 1 - Give the values of Von Karman radome's interior length, interior diameter, exterior length, exterior diameter, shift s along the z-axis and the gimbal length. * Read(*,*) s,dgimbal if IRS = 2 --- Input the shift s along the z-axis and the gimbal length. * Read(*,*) radin.dat if IRS = 2 - Input the file name storing the interior curve of the dielectric radome (see 2.2 for definition of format). 7

* Read(*,*) radout.dat if IRS = 2 - Input the file name storing the exterior curve of the dielectric radome (see 7.2 for definition of format). * Read(*,*) real(Er), imag(Er) - Read the real and imaginary parts of the complex dielectric constant of the radome material. * Read(*,*) Lmm - Read the length along the z-axis defining the radome arc over which moment method will be performed. * Read(*,*) Phi - Define the X angle (in degrees) at which the radiation pattern will be computed. * Read(*,*) Angi, Ang2, Nang - Input the starting angle and stop angle (in degrees) of 0 and the number of sampling points between Ang1 and Ang2. * Read(*,*) Omega --- Define the angle Q for antenna's rotated direction. * Read(*,*) Rapa, RsubrAstruteffective, Nrad, Nphi - Enter the radius of the circular aperture antenna, radius of the circular sub-reflector, effective radius of the struts [1], number of sampling points in the radial direction, number of sampling points in the azimuthal direction. * Read(*,*) Ex.dat - Input the name of the data file for reading the x component of electric field on the aperture surface (see section 2.3 for definition of data file format). 8

* Read(*,*) Ey.dat -- Input the name of the data file for reading the y component of electric field on the aperture surface (see section 2.3 for definition of data file format). Lpri i d'. Lii ---- L- -: - ____ _ -L2,, Figure 1: Radome Geometry Fig. 1 shows the dimensions L1, L2, D1, D2, S, dgimbal, Rapr and Rsubr. To familiarize the user with the input data file, two sample data files are given in Subsection 2.1. Subsection 2.2 demonstrate the structure of the data file defining the radome shape. Subsection 2.3 details the structure of the data files storing the aperture E-field distribution. 2.1 Sample Input Date Files This section gives two examples for the input data file. The first is for a Von Karman radome, and the other is for a radome specified by the user. Example One: Von Karman Radome 6.2832 9

10 1 10.0, 5.0, 10.2, 5.2, 0.0, 0.0 1.0 0.0 1.0 0.0 0., 90., 91 0.0 2.,11.0.0, 20, 20 Ex.dat Ey.dat Example Two: User-Defined Radome 6.2832 10 1 0.0, 0.0 radin.dat radou.dat 2.2, 0.0 3.0 0.0 0., 90., 91 0.0 2.,1.,.5, 20, 20 Ex.dat Ey.dat 10

2.2 Sample Data File for Defining the Radome's Shape This subsection gives a sample data file for defining the radome's interior and exterior surface. Both interior and exterior use the same data structure. The number of sampling points will be determined by the program from this input data file. Sampling points can be non-uniformly distributed over the radome arc. z p(z).0000000 1.5000000.5000000 1.4859140 1.0000000 1.4604454 1.5000000 1.4277130 2.0000000 1.3891178 2.5000000 1.3454080 3.0000000 1.2970309 3.5000000 1.2442598 4.0000000 1.1872478 4.5000000 1.1260552 5.0000000 1.0606601 5.5000000.9909589 6.0000000.9167565 6.5000000.8377454 7.0000000.7534657 7.5000000.6632326 8.0000000.5659961 8.5000000.4600385 9.0000000.3421973 9.5000000.2050837 10.0000000.0000000 11

2.3 Data File Storing the Aperture Field Distribution This subsection provides a sample data file for storing values of the electric field components on the aperture surface. Both x- and y-directed components have the same data structure and the same sampling points. For the example considered here, we assume Nrad = 4 and Nphi = 6. The location of these sampling points is shown in Fig. 2. (1.0, 0.0) (1.0, 0.0) (1.0, 0.0) (1.0, 0.0) (1.0, 0.0) (1.0, 0.0) (1.0, 0.0) (1.0, 0.0) (1.0, 0.0) (1.0, 0.0) (1.0, 0.0) (1.0, 0.0) (1.0, 0.0) (1.0, 0.0) (1.0, 0.0) (1.0, 0.0) (1.0, 0.0) (1.0, 0.0) (1.0, 0.0) (1.0, 0.0) (1.0, 0.0) (1.0, 0.0) (1.0, 0.0) (1.0, 0.0) 12

Here Nrad=4, Nphi=8 Reflector covers the shaded area Data file format List the value Ex In Ex.dat file for the Inner circle Ex at phi = 0 Ex at phi = 45 deg ex at pnli oaW Ex at phi = 135 C Ex at phi = 180 c Ex at phi = 225 Ex at phi = 270 < Ex at phi = 315 Ex at phi = 360 a9 Extra data circle de9 outside the reflector dog needed for derivative de (eat data equal to those dog of the next Interior circle or as deg computed) oeg Figure 2: Aperture Feed Sampling 13

3 The Von Karman Radome The governing equation for the Von Karman radome is PDZ) = [4- 0.5 sin(24)]1/2 (Al) where cos-1 (2z - 1). p'z =-Dsin J tL/o - 0.5 sin(2l) (A2) A typical Von Karman radome is shown in Fig. 3 z 0 /2 D2/2 X Figure 3: Von Karman Radome 14

4 Input Variables Description ANG ANG1 ANG2 BK DI D2 Er Ex.dat Ey.dat IRS L1 L2 S dgimbal Astrutsef fective Mode NANG NPIR NPOR NP10 NP20 Fixed Xq angle (degrees). Starting 0 angle (degrees). Stop 0 angle (degrees). Wave number (27r/Ao for the problem (meters-l). Diameter of the interior bottom surface. Diameter of the exterior bottom surface. Dielectric constant of the radome material. File name that stores the x-component of E-field over antenna aperture. File name that stores the y-component of E-field over antenna aperture. Index for radome shape. IRS=1 for Von Karman radome; IRS=2 for radome shape defined by the user as data files. Length of the interior radome surface. Length of the exterior radome surface. Aperture shift along the Z axis. Gimbal length in the aperture supporting structure. reflector supporting struts effective radius. Number of modes considered. Maximum number can be set to kpmax + 1. Number of varied 0 angles. Number of sampling points on radome's interior surface. Number of sampling points on radome's exterior surface. Number of Sampling points for the PO-part on the interior surface. Number of Sampling points for the PO-part on the exterior surface. Number of sampling points in the azimuthal direction for aperture field distribution. 15

Nrad radin.dat radou.dat Rapa Rsubr AstrutsEffective S Q Number of sampling points in the radial direction for aperture field distribution. File name storing the interior curve of the radome (IRS=2). File name storing the exterior curve of the radome (IRS=2). Radius of the circular aperture antenna. Radius of the circular sub-reflector. Effective Radius of the struts. Distance from radome's bottom center to antenna's location (meters). Steering angle of the antenna (degrees). 16

References [1] Constantine A. Balanis, "Antenna Theory Analysis and Design, " John Wiley and Sons, Inc., pp.456. 17