+ All Categories
Home > Documents > Development of Analytical and Experimental Tools for Microwave

Development of Analytical and Experimental Tools for Microwave

Date post: 03-Feb-2022
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
51
Development of Analytical and Experimental Tools for Microwave Breast Imaging Research Fuqiang Gao Department of Electrical and Computer Engineering, Madison, WI [email protected] Introduction The incidence rate of breast cancer is the highest of any cancer among women in the United States, and its mortality rate is second only to lung cancer. It is well known that early detection is crucial to successful treatment of breast cancer. X-ray mammography has been the standard clinical tools for detecting and treating breast cancer for many years. However, the sensitivity and specificity of this method are significantly lower in women with extremely dense breasts, and it also involves breast compression and exposure to ionizing. Hence, there is a critical need of alternative non- ionizing molecular imaging technologies that are capable of 3D tomographic breast imaging and suitable for low-cost cancer screening particularly in high-risk patients. Microwave imaging, which utilizes the dielectric contrast between malignant and normal breast tissues, has shown great potential to meet these needs in recent studies. My master’s project involves development of both analytical and experimental tools for microwave breast imaging research. In the analytical part, the potential of incorporating both dielectric and elastic contrasts for improving breast tumor detection is studied. This work resulted in a comment that is published in IEEE Antennas and Wireless Propagation Letters. In the experimental part, a technique to fabricate 3D realistic breast phantom is successfully developed. The fabricated breast phantoms can be used for rigorous pre-clinical validation of microwave breast imaging systems. A manuscript based on this work has been submitted to a journal for peer-review. Hence, the main body of this report consists of the aforementioned two materials. The appendix includes the MATLAB codes used to generate the results in the IEEE AWPL comment.
Transcript
Page 1: Development of Analytical and Experimental Tools for Microwave

Development of Analytical and Experimental Tools for Microwave Breast Imaging Research

Fuqiang GaoDepartment of Electrical and Computer Engineering, Madison, WI

[email protected]

Introduction

The incidence rate of breast cancer is the highest of any cancer among women in the United States, and its mortality rate is second only to lung cancer. It is well known that early detection is crucial to successful treatment of breast cancer. X-ray mammography has been the standard clinical tools for detecting and treating breast cancer for many years. However, the sensitivity and specificity of this method are significantly lower in women with extremely dense breasts, and it also involves breast compression and exposure to ionizing. Hence, there is a critical need of alternative non-ionizing molecular imaging technologies that are capable of 3D tomographic breast imaging and suitable for low-cost cancer screening particularly in high-risk patients. Microwave imaging, which utilizes the dielectric contrast between malignant and normal breast tissues, has shown great potential to meet these needs in recent studies.

My master’s project involves development of both analytical and experimental tools for microwave breast imaging research. In the analytical part, the potential of incorporating both dielectric and elastic contrasts for improving breast tumor detection is studied. This work resulted in a comment that is published in IEEE Antennas and Wireless Propagation Letters. In the experimental part, a technique to fabricate 3D realistic breast phantom is successfully developed. The fabricated breast phantoms can be used for rigorous pre-clinical validation of microwave breast imaging systems. A manuscript based on this work has been submitted to a journal for peer-review. Hence, the main body of this report consists of the aforementioned two materials. The appendix includes the MATLAB codes used to generate the results in the IEEE AWPL comment.

Page 2: Development of Analytical and Experimental Tools for Microwave

Copyright (c) 2010 IEEE. Personal use is permitted. For any other purposes, Permission must be obtained from the IEEE by emailing [email protected].

This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication.

IEEE ANTENNAS AND WIRELESS PROPAGATION LETTERS, VOL. 9, 2010 1

Comments and Replies

Comments on “Numerical Study of Microwave Scatteringin Breast Tissue via Coupled Dielectric

and Elastic Contrasts”

Fuqiang Gao, Student Member, IEEE,Susan C. Hagness, Fellow, IEEE, andBarry D. Van Veen, Fellow, IEEE

In [1], the dielectric properties in the 2-D ��� validation study ofFig. 1 were stated incorrectly as (�� � ��� �� � ����� S/m) for thecylinder and (�� � ��� �� � ��� S/m) for the background. Theactual properties for the results presented in Fig. 1 in [1] are (�� �

��� �� � � S/m) and (�� � ��� �� � � S/m), respectively. Also, therewas an inconsistency in the definition of � � �

�. The corrected Fig. 1is presented here.A validation for the lossy case (cylinder: �� � ��� �� � ����� S/m;

background: �� � ��� �� � ��� S/m) is presented in Fig. 2.The excellent agreement between the two curves in Fig. 2 supportsour conclusion in [1] regarding the accuracy of the FDTD-SBCimplementation.The peak applied strain of Fig. 3 in [1] was stated incorrectly as 10%.

The correct peak applied strain is 8%.The results shown in Fig. 4 in [1] were obtained for lossless ver-

sions of the materials stated; that is, �� � � S/m for all tissues. Theresults based on the lossy material properties stated in [1] are presentedin Fig. 3. These results support our conclusion in [1] regarding the en-hancement of the overall microwave scattering contrast using the hy-brid modality.

REFERENCES

[1] M. Zhao, J. D. Shea, S. C. Hagness, D. W. van der Weide, B. D. VanVeen, and T. Varghese, “Numerical study of microwave scattering inbreast tissue via coupled dielectric and elastic contrasts,” IEEE An-tennas Wireless Propag. Lett., vol. 7, pp. 247–250, 2008.

Manuscript received July 26, 2010; accepted July 26, 2010. Date of publica-tion August 05, 2010; date of current version nulldate.F. Gao, S. C. Hagness, and B. D. Van Veen are with the Department of Elec-

trical and Computer Engineering, University of Wisconsin-Madison, Madison,WI 53706 USA (e-mail: [email protected]; [email protected]; [email protected]).Digital Object Identifier 10.1109/LAWP.2010.2063450

Fig. 1. Comparison of the amplitudes of the normalized Doppler componentcomputed via the finite-difference time-domain method with sheet boundaryconditions (FDTD-SBC) (dashed line) and the normalized difference betweenstationary scattered field solutions computed via FDTD with repositionedboundaries (FDTD-REP) (solid line). the 2-D scattering object is a deforming4-mm-diameter lossless circular cylinder undergoing a peak radial displace-ment of 0.45 mm.

Fig. 2. Comparison of the amplitudes of the normalized Doppler componentcomputed via FDTD-SBC (dashed line) and the normalized difference betweenstationary scattered field solutions computed via FDTD-REP (solid line). The2-D scattering object is a deforming 4-mm-diameter lossy circular cylinder un-dergoing a peak radial displacement of 0.45 mm.

Fig. 3 Computed Doppler components in the backward (� � ��� ) and for-ward (� � � ) scattered fields under different peak applied strains, for malig-nant and normal fibroglandular scatterers.

1536-1225/$26.00 © 2010 IEEE

Page 3: Development of Analytical and Experimental Tools for Microwave

Heterogeneous Anthropomorphic Phantoms with Realistic Dielectric

Properties for Microwave Breast Imaging Experiments

Alireza Mashal, Fuqiang Gao, and Susan C. Hagness

Department of Electrical and Computer Engineering, University of Wisconsin, Madison, WI, 53706 USA

e-mail: [email protected], [email protected], [email protected]

Abstract

We present a technique for fabricating realistic breast phantoms for microwave imaging system

validation. Using oil-in-gelatin dispersions that mimic the dielectric properties of breast tissue,

we constructed four phantoms, spanning the full range of volumetric breast densities. We

obtained CT scans and performed dielectric properties measurements to characterize each

phantom.

Key terms: microwave imaging, breast phantoms, dielectric spectroscopy

1. INTRODUCTION

Microwave breast imaging is a non-ionizing molecular imaging technique that senses the

endogenous -- and possibly exogenously influenced -- dielectric properties of breast tissue.

Microwave imaging shows much promise as a safe, low-cost, three-dimensional tomographic

imaging modality. Potential applications include early-stage breast cancer detection, breast

density evaluation, and cancer treatment monitoring. Definitive, quantitative validation of

microwave imaging techniques is a critical component in the development of this technology.

Clinical studies with human subjects provide the ultimate test domain but also pose the most

challenging validation scenario due to the fact that the true in vivo properties are not known. This

emphasizes the important role of realistic physical phantoms in pre-clinical validation studies.

Phantoms have the potential to provide an anthropomorphic test domain with known structure

and known dielectric properties that reasonably mimic tissue in the breast.

Page 4: Development of Analytical and Experimental Tools for Microwave

Table 1. summarizes the features of numerous breast phantoms that have been reported over

the past decade. The shape and structural complexity of the phantoms vary considerably, ranging

from simple geometrically defined volumes with predominantly homogeneous interiors to

realistically shaped volumes with heterogeneous interiors. The materials in these phantoms range

from those with dielectric properties that roughly approximate breast tissue properties at select

frequencies to tissue-mimicking (TM) materials [1] that closely match the dielectric properties of

certain tissues in the breast over a wide frequency range. However, none of the phantoms

reported to date include fibroglandular mimicking materials with properties that match those

reported in the large-scale Wisconsin-Calgary study of breast tissue [2].

Our present investigation is motivated not only by the need for individual realistic breast

phantoms that accurately model the shape, structural complexity, and microwave-frequency

dielectric properties of fatty and fibroglandular tissue in the human breast, but also by the need

for sets of realistic breast phantoms that span the full range of volumetric breast densities

observed in the general patient population. Breast density refers to the percentage of

fibroglandular tissue in the breast. High breast density is one of the strongest predictors of breast

cancer risk [3] and also impedes mammographic screening [4]. Accordingly, it is of great interest

and importance to evaluate the performance of microwave imaging across the full range of breast

densities.

In this paper, we present a method for constructing stable, heterogeneous anthropomorphic

breast phantoms with realistic dielectric properties. We illustrate the approach by constructing

four phantoms with different breast densities. We select oil-in-gelatin TM materials that

accurately model the dielectric properties of skin, fat, and fibroglandular breast tissues. The

percentage of fibroglandular TM material is varied to create low and high breast density

phantoms. CT images of the completed phantoms are obtained to confirm the interior spatial

distribution of the various TM materials. We confirm the integrity of the dielectric properties

Page 5: Development of Analytical and Experimental Tools for Microwave

distribution by cutting each breast phantom in half and conducting direct dielectric-properties

measurements of the different regions of the interior.

The remainder of this paper is organized as follows. In Section 2 we discuss the TM materials

employed in constructing the phantoms, the phantom construction method, and dielectric

measurement techniques. In Section 3 we report the measured dielectric properties and CT-

imaged structural composition of the constructed phantoms. Our conclusions are presented in

Section 4.

2. MATERIALS AND METHODS

2.1 Design of tissue-mimicking materials

We created the TM materials from oil-in-gelatin dispersions reported by [1]. The TM materials

are composed of water, gelatin, oil (1:1 mixture of kerosene and safflower oil), and preservatives.

Varying the concentration of oil alters the dielectric properties. Higher oil concentrations result

in materials with dielectric properties that are similar to those of lower-water-content tissue, while

lower oil concentrations result in materials that mimic higher water-content tissues. These

materials are relatively inexpensive to fabricate, can conform to any shape, and have stable

dielectric properties even when placed in direct contact with other TM materials. In addition, the

fabrication procedure may be altered to allow for the inclusion of contrast agents, such as carbon

nanotubes [14].

The TM materials in our breast phantoms were designed to achieve a close match to the breast

tissue properties reported in [2] and wet and dry skin properties reported in [15]. [2] categorized

breast tissue into three different groups based on adipose composition; hereafter we refer to these

groups as fibroglandular (0-30% adipose), heterogeneous mix (31-84% adipose), and fat (85-100%

adipose). We designed one or two TM materials for each of these groups of breast tissue, and one

TM material for skin. An even greater level of dielectric heterogeneity in the phantom may be

achieved by designing two or more distinct TM materials (e.g., with different oil concentrations)

for each breast tissue group.

Page 6: Development of Analytical and Experimental Tools for Microwave

2.2 Dielectric characterization of tissue-mimicking materials

We conducted two sets of dielectric characterization measurements. The purpose of the first set

was to design the TM materials, as described above. The purpose of the second set was twofold:

1) to investigate the within-sample variability of the dielectric properties of a given TM material,

and 2) to investigate the stability of the dielectric properties of each TM material when placed in

contact with other TM materials, in an environment similar to that of the constructed phantom. A

portion of each TM material fabricated during the phantom construction phase of this study was

set aside for the second set of experiments.

Two multi-layer cylindrical test volumes were constructed, each from a different batch of the

TM materials, as follows. A 1-cm-thick layer of the skin-mimicking material was poured into a

10-cm-diameter cylindrical container and allowed to congeal. Layers of 4-cm-thick fat-,

heterogeneous-mix-, and fibroglandular-mimicking materials were added one-by-one in a similar

manner, yielding a 13-cm-high test volume. After one week, each test volume was removed from

its cylindrical container and the layers were separated. We note that the ease of separation served

as one indication that no osmosis had occurred between adjacent layers.

We measured the dielectric properties at three different locations on each surface (top and

bottom) of each TM material layer from each of the two test volumes. Thus we obtained

dielectric properties data from a total of 12 measurement sites for each TM material. The

dielectric measurements were conducted using the wideband open-ended coaxial probe technique

described in [16].

2.3 Phantom construction

Each breast phantom was constructed in three stages using an outer and inner mold. The outer

mold (~ 400 mL volume) was shaped similar to the human breast in a prone position; identical

outer molds were used for all four phantoms. The inner mold was unique to each phantom as it

was used to control the volume of the heterogeneous mix and fibroglandular content in relation to

Page 7: Development of Analytical and Experimental Tools for Microwave

the fat content. In addition, the inner mold was configured to provide a unique structurally

complex interface between the fat and fibroglandular regions.

In the first stage of phantom construction, we created a thin skin layer (1-2 mm) on the inner

surface of the outer mold by pouring a small amount of the skin-mimicking material into the outer

mold in its liquid state and rotating the mold as the TM material cooled and congealed on the

inner surface of the mold. The skin-mimicking material was also used to create a slightly thicker

layer at the anterior end of the mold. This feature provided a reasonably good model of the areola.

The skin layer was allowed to fully congeal for 5 hours before proceeding to the next stage.

In the second stage, the fat layer was added on the top of the skin layer. This was

accomplished by suspending the inner mold inside the outer mold and pouring the fat-mimicking

material into the space between the inner and outer molds. The volume of each inner mold was

chosen to achieve a representative breast density for that phantom class. For example, for a class

I phantom (mostly fat), the volume of the heterogeneous mix and fibroglandular content was

chosen to be approximately 10% of the total breast volume. Similarly we chose inner-mold

volumes to be approximately 30%, 50%, and 70% of the total breast volume to construct class II

(scattered fibroglandular), class III (heterogeneously dense), and class IV (extremely dense)

phantoms, respectively.

In the final stage, after allowing the fat layer to congeal for 12 hours, the heterogeneous-mix-

mimicking material was added to the void left by the removal of the inner mold. Randomly

shaped pieces of already congealed fibroglandular-mimicking materials were added to the

heterogeneous mix as it was poured. Once the phantom was completed, it was covered by a thin

sheet of polyethylene material and allowed to set for approximately one week before it was

removed from the outer mold.

3. RESULTS AND DISCUSSION

3.1 Dielectric properties characterization of TM materials

Page 8: Development of Analytical and Experimental Tools for Microwave

The dielectric properties of the TM materials used for the construction of the four different

phantoms are shown in Figures 1 and 2. In these figures, each curve with vertical bars represents

the average properties (relative permittivity or effective conductivity) of 12 measurements made

on the different cylindrical TM samples described in Section 2.2. The vertical bars span the

maximum and minimum values at specific frequencies. The small variability across

measurements of each TM material demonstrate the spatial uniformity and stability of the

dielectric properties of the TM materials even when placed in contact with TM materials of

different oil concentrations.

We used 20% and 30% -oil TM materials to represent fibroglandular tissue, 40%-oil to

represent the heterogeneous mix, and 80%-oil to represent fat. Figure 1 shows that these TM

materials closely mimic the dielectric properties of the corresponding breast tissue types reported

in [2] across the 1-6 GHz frequency range. For all the breast tissue types, the dielectric properties

of the TM materials fall within the range of the 25th and 75th percentile of the breast tissue group

they represent.

A 30%-oil TM material was chosen to represent skin tissue. Figure 2 shows the dielectric

properties of wet and dry skin tissue types [15] and 30%-oil TM material. The relative

permittivity of the skin-mimicking material falls between that of wet and dry skin in the 1-6 GHz

frequency range. The effective conductivity of the skin-mimicking material is slightly higher

than that of wet skin. This small discrepancy in conductivity should have a negligible effect on

microwave scattering since the skin layer is only 1-2 mm thick.

3.2 Phantom characterization

Figure 3 shows a photograph of one of the four completed phantoms after the outer mold has

been removed. The height of the phantom is approximately 8 cm. The diameter at the base is

approximately 12 cm. A CT scan of each of the four phantoms was acquired approximately one

week after construction. Figure 4 shows a sagittal and coronal CT image of a central cross-

section of each phantom. These images confirm the integrity of each of the spatial features of the

Page 9: Development of Analytical and Experimental Tools for Microwave

phantoms. For each phantom, the CT images clearly show the presence of skin and areola

(medium grey), fat (black), heterogeneous mix (medium grey), and fibroglandular tissue (light

grey). In addition, the CT images show the variations in fibroglandular tissue density across the

four different phantoms. The small dark circles in the images are air bubbles (typically less than

1 mm in diameter) that are introduced unintentionally during fabrication of the TM materials. The

dielectric properties of the various TM materials inside the phantom were verified by making a

coronal cross-sectional cut through each phantom and making measurements at approximately 1

cm intervals along a trans-sectional line across the exposed coronal plane. Figures 5, 6 (a),(b)

show the dielectric properties in the 1-6 GHz range at various trans-sectional positions for class I

and class IV phantoms. This data confirms that a large dielectric contrast (>5:1 in some cases)

between fatty and fibroglandular content is present, as desired. Parts (c) and (d) of Figures 5 and

6 show the dielectric properties of the phantoms at 3 GHz as a function of position. These graphs

provide a spatial snapshot of the interior heterogeneity as well as the increasing fibroglandular

density with phantom class number. For example, a comparison of Figures 5(c) and 5(d) and

Figures 6(c) and 6(d) shows that there is significantly more higher-water-content TM material in

the class IV phantom (extremely dense) than the class I phantom (mostly fat), as desired.

These phantoms are well suited for experimental imaging tests. The phantoms are relatively

sturdy and are not easily damaged during gentle handling. In addition, the TM materials used to

construct these phantoms have been shown to be stable over a nine-week period as long as they

are not exposed to air for long periods of time [1]. The TM materials are also stable in oil (1:1

mixture of kerosene and safflower oil); this is an important feature for experiments that require

the phantoms to be immersed in a coupling medium.

4. CONCLUSIONS

We have described the construction of four different realistic breast phantoms, each representing

a different volumetric breast density classification. The phantoms were constructed using TM

materials that accurately represent the dielectric properties of various breast tissues. The

Page 10: Development of Analytical and Experimental Tools for Microwave

phantoms were heterogeneous, each with a skin layer and a complex network of fibroglandular

and fatty tissues. We verified the integrity of the internal structure of the phantom by obtaining

CT images. The dielectric properties of the phantom constituents were verified by cutting the

phantoms in half and measuring the dielectric properties of the phantom cross-section. These

phantoms were constructed using simple techniques and have long term stability when not

exposed to air for long periods of time. The techniques described here may be easily modified to

construct phantoms with malignant lesions.

ACKNOWLEDGMENTS

The authors would like to thank Christine Jaskowiak (University of Wisconsin, School of

Medicine and Public Health) for her assistance in obtaining the CT images. This work was

supported by the Department of Defense Breast Cancer Research Program under grant

W81XWH-07-1-0629 and the National Institutes of Health under grant R01CA112398 awarded

by the National Cancer Institute.

Page 11: Development of Analytical and Experimental Tools for Microwave

TABLE 1 Summary of Previously Published Work on Breast Phantoms for Microwave Imaging Applications

Materials used for construction

Breast shape

�r, �(S/m) of constituents Frequency (GHz)

Citation Skin Fat Fibroglandular Tumor

Corn syrup, NaCl, agar Cylinder

�r=23 �=0.2

�r=53.5 �=1.2 1.35 [5]

Corn syrup, agar Cylinder �r=42

�=0.67 �r=74 �=1.6 0.9 [6]

Silicone sheet, dough, alginate Cylinder

�r ~ 34.3 �=2-4

�r=4.5-4 �=0.06-0.2

�r ~ 43.7 �=5-8 1-7 [7]

Oil-in-gelatin Realistic �r=40-30

�=0.6-10.5 �r=8-7.1

�=0.05-1.1

1-11 [8]

Liquid, gelatin, polythene

Hemi-sphere

�r=35 � NA

�r=10 � NA

�r=27 � NA

�r=50 � NA 3 [9]

Dough, water Truncated

cone �r=80-64

�=0.1-15 �r=50-27 �=0.1-9 1-9 [10]

Isoparaffin, salt, sugar, water Realistic

�r=40.8 �=1.79

�r=5.3 �=0.13

2.5 [11]

Oil-in-gelatin Realistic �r=34-21 �=0.5-10

�r=7.5-5.5 �=0.01-1.8

�r=25-22.5 �=0.5-10

�r=47.5-30 �=0.5-015 0.05-13.51 [12]

Oil-in-gelatin Cylinder �r=46-35

�=12.5-18 �r=5-4.5

� ~ 1 �r=26-20 �=2.5-5

�r=55-40 �=15-21 0.5-8 [13]

Page 12: Development of Analytical and Experimental Tools for Microwave

Figure 1. Comparison of the dielectric properties of (a)-(b) fibroglandular, (c)-(d) heterogeneous

mix (both fibroglandular and fatty tissue), and (e)-(f) fatty tissue and the TM materials used to

construct the four different breast phantoms. The curves without vertical bars are the 75th (dashed

lines), 50th (solid lines), and 25th (dash-dotted lines) percentile breast tissue data reported in [2].

The solid curves with vertical bars are the average of 12 dielectric properties measurements made

on two TM material samples with the specified concentration of oil; the vertical bars span the

maximum and minimum property values at specific frequencies.

Page 13: Development of Analytical and Experimental Tools for Microwave

Figure 2. Comparison of the dielectric properties of wet and dry skin [15] and the 30%-oil TM

material. The solid curve with vertical bars is the average of 12 dielectric properties measurement

made on two 30%-oil TM material samples; the vertical bars span the maximum and minimum

property values at specific frequencies.

Figure 3. Photograph of a breast phantom after construction.

Page 14: Development of Analytical and Experimental Tools for Microwave

(a) (b)

(c) (d)

(e) (f)

(g) (h)

Page 15: Development of Analytical and Experimental Tools for Microwave

Figure 4. CT images of sagittal (left) and coronal (right) cross-sections of four phantoms: (a)-(b)

class I (mostly fat), (c)-(d) class II (scattered fibroglandular), (e)-(f) class III (heterogeneously

dense), and (g)-(h) class IV (extremely dense). Features present in each phantom include a skin

layer and areola (medium grey), fat (black), heterogeneous mix (medium grey), and

fibroglandular (light grey) tissue.

Figure 5. Dielectric properties at nine positions along an interior trans-sectional line through the

class I phantom. (a)-(b) Dielectric properties across the 1-6 GHz frequency range. (c)-(d)

Dielectric properties at 3 GHz as a function of position.

Page 16: Development of Analytical and Experimental Tools for Microwave

Figure 6. Dielectric properties at nine positions along an interior trans-sectional line through the

class IV phantom. (a)-(b) Dielectric properties across the 1-6 GHz frequency range. (c)-(d)

Dielectric properties at 3 GHz as a function of position.

Page 17: Development of Analytical and Experimental Tools for Microwave

REFERENCES

1. M. Lazebnik, E. L. Madsen, G. R. Frank and S. C. Hagness, Tissue-mimicking phantom materials for narrowband and ultrawideband microwave applications, Physics in Medicine and Biology 50 (2005), no. 18, 4245-4258.

2. M. Lazebnik, L. McCartney, D. Popovic, C. B. Watkins, M. J. Lindstrom, J. Harter, S. Sewall, A. Magliocco, J. H. Booske, M. Okoniewski and S. C. Hagness, A large-scale study of the ultrawideband microwave dielectric properties of normal breast tissue obtained from reduction surgeries, Physics in Medicine and Biology 52 (2007), no. 10, 2637-2656.

3. K. Kerlikowske, L. Ichikawa, D. L. Miglioretti, D. S. M. Buist, P. M. Vacek, R. Smith-Bindman, B. Yankaskas, P. A. Carney and R. Ballard-Barbash, Longitudinal measurement of clinical mammographic breast density to improve estimation of breast cancer risk, Journal of the National Cancer Institute 99 (2007), no. 5, 386-395.

4. P. A. Carney, D. L. Miglioretti, B. C. Yankaskas, K. Kerlikowske, R. Rosenberg and C. M. Rutter, Individual and combined effects of age, breast density, and hormone replacement therapy use on the accuracy of screening mammography, Annals of Internal Medicine 138 (2003), no. 3, 168-175.

5. P. M. Meaney, N. K. Yagnamurthy and K. D. Paulsen, Pre-scaled two-parameter Gauss-Newton image reconstruction to reduce property recovery imbalance, Physics in Medicine and Biology 47 (2002), no. 7, 1101-1119.

6. D. Li, P. M. Meaney, T. D. Tosteson, S. Jiang, T. E. Kerner, T. O. McBride, B. W. Pogue, A. Hartov and K. D. Paulsen, Comparisons of three alternative breast modalities in a common phantom imaging experiment, Medical Physics 30 (2003), no. 8, 2194-2205.

7. J. M. Sill and E. C. Fear, Tissue sensing adaptive radar for breast cancer detection – experimental investigation of simple tumor models, IEEE Transactions on Microwave Theory and Techniques 53 (2005), no. 11, 3312-3319.

8. D. W. Winters, J. D. Shea, E. L. Madsen, G. R. Frank, B. D. Van Veen and S. C. Hagness, Estimating the breast surface using UWB microwave monostatic backscatter measurements, IEEE Transactions on Biomedical Engineering 55 (2008), no. 1, 247-256.

9. M. Klemm, J. A. Leendertz, D. Gibbins, I. J. Craddock, A. Preece and R. Benjamin, Microwave radar-based breast cancer detection: Imaging in inhomogeneous breast phantoms, IEEE Transactions Antennas and Wireless Propagation Letters 8 (2009), 1349-1352.

10. S. M. Salvador and G. Vecchi, Experimental tests of microwave breast cancer detection on phantoms, IEEE Transactions on Antennas and Propagation 57 (2009), no. 6, 1705-1712.

11. M. Miyakawa, S. Takata and K. Inotsume, Development of non-uniform breast phantom and its microwave imaging for tumor detection by CP-MCT, Conf Proc IEEE Eng Med Biol Soc (2009), 2723-2726.

12. J. Croteau, J. Sill, T. Williams and E. Fear, Phantoms for testing radar-based microwave breast imaging, 13th International Symposium on Antenna Technology and Applied Electromagnetics and Canadian Radio Sciences Meeting (2009).

13. M. Ostadrahimi, R. Reopelle, S. Noghanian, S. Pistorius, A. Vahedi and F. Safari, A heterogeneous breast phantom for microwave breast imaging, Conf Proc IEEE Eng Med Biol Soc (2009), 2727-2730.

14. A. Mashal, B. Sitharaman, X. Li, P. K. Avti, A. V. Sahakian, J. H. Booske and S. C. Hagness, Toward carbon-nanotube-based theranostic agents for microwave detection and treatment of breast cancer: Enhanced dielectric and heating response of tissue-mimicking materials, IEEE Trans Biomed Eng 57 (2010), no. 8, 1831-1834.

15. S. Gabriel, R. W. Lau and C. Gabriel, The dielectric properties of biological tissues: III.

Page 18: Development of Analytical and Experimental Tools for Microwave

Parametric models for the dielectric spectrum of tissues, Physics in Medicine and Biology 41 (1996), no. 11, 2271-2293.

16. D. Popovic, L. McCartney, C. Beasley, M. Lazebnik, M. Okoniewski, S. C. Hagness and J. H. Booske, Precision open-ended coaxial probes for in vivo and ex vivo dielectric spectroscopy of biological tissues at microwave frequencies, IEEE Transactions on Microwave Theory and Techniques 53 (2005), no. 5, 1713-1722.

Page 19: Development of Analytical and Experimental Tools for Microwave

Appendix 1. FDTD_SBC.m %This function calls the corresponding subroutines to perform the FDTD-SBC %algorithm function FDTD_SBC(nmax) [fi1 E_i Ei ez_boundary ez_obs]=background_UPML(nmax); [ez_boundarys ez_obst]=scatter_UPML(nmax); eoz=ez_boundarys; [fi2 Ed ez_obss Jz rc]=sbc(nmax,eoz); Ed_m=Ed; plot(fi1,10*log10(abs(Ed).^2/abs(E_i)^2)); 2. background_UPML.m %********************************************************************** % 2D scatter problem, without scatter % a current line source is launched 7.5cm away from the center. The % electric field is recorded at the points 4.0cm away from the center. the % update coefficients for the main grid use the media pointer, and the upml % update equations are only used on the boundary. "On the fly" DFT is taken % for both observation points and the source, so that the final Ez_b is % nomalized %********************************************************************** % Program author: Fuqiang Gao % Department of Electrical and Computer Engineering % University of Wisconsin-Madison % 1415 Engineering Drive % Madison, WI 53706-1691 % [email protected] %********************************************************************** function [fi E_i Ez_b ez_boundary ez_obs]=background_UPML(nmax) %********************************************************************** % Fundamental constants %********************************************************************** cc=2.99792458e8; %speed of light in free space muz=4.0*pi*1.0e-7; %permeability of free space epsz=1.0/(cc*cc*muz); %permittivity of free space %********************************************************************** % Source Parameters %********************************************************************** epsrb=44.0; sigrb=0; epsrs=50.0; sigrs=0; %Parameter for lossy case % epsrb=44.0; % sigrb=4.162; % epsrs=50.0;

Page 20: Development of Analytical and Experimental Tools for Microwave

% sigrs=4.91; freq=5e9; %frequency omega=2*pi*freq; %********************************************************************** % Grid parameters %********************************************************************** beta=omega*sqrt(muz*epsz*epsrb)*sqrt(1/2*(sqrt(1+(sigrb/omega/epsz/epsrb)^2)+1)); lamda=2*pi/beta; delta=2.5e-4; %space increment in 2-D lattice dt=delta*sqrt(epsrb)/(2.0*cc); %time increment ie=round((0.25)/delta); je=round((0.25)/delta); ih=ie-1; jh=je-1; upml=10; ie_tot=ie+2*upml; je_tot=je+2*upml; ih_tot=ie_tot-1; jh_tot=je_tot-1; i_cen=round(ie_tot/2); %center location j_cen=round(je_tot/2); i_src=i_cen-round(0.075/delta); %source location j_src=j_cen; x=linspace(delta,ih_tot*delta,ih_tot); y=linspace(delta,jh_tot*delta,jh_tot); tau=3e-10;%1/(pi*(fmax-freq)); ndecay=tau/dt; n0=3*ndecay; %********************************************************************** % Material parameters %********************************************************************** MEDIAez=ones(ie_tot,je_tot); MEDIAhx=ones(ie_tot,jh_tot); MEDIAhy=ones(ih_tot,je_tot); ez(ie_tot,je_tot)=0.0; dz=ez; hx(ie_tot,jh_tot)=0.0; bx=hx; hy(ih_tot,je_tot)=0.0; by=hy; C1ez=ones(size(ez)); C2ez=ones(size(ez)); C3ez=ones(size(ez));

Page 21: Development of Analytical and Experimental Tools for Microwave

C4ez=ones(size(ez)); C5ez=ones(size(ez)); C6ez=ones(size(ez)); D1hx=ones(size(hx)); D2hx=ones(size(hx)); D3hx=ones(size(hx)); D4hx=ones(size(hx)); D5hx=ones(size(hx)); D6hx=ones(size(hx)); D1hy=ones(size(hy)); D2hy=ones(size(hy)); D3hy=ones(size(hy)); D4hy=ones(size(hy)); D5hy=ones(size(hy)); D6hy=ones(size(hy)); C1=(2*epsrb*epsz*1-sigrb*dt)/(2*epsrb*epsz*1+sigrb*dt); C2=2*epsrb*epsz*dt/(2*epsrb*epsz*1+sigrb*dt); C3=(2*epsrb*epsz*1-sigrb*dt)/(2*epsrb*epsz*1+sigrb*dt); C4=1.0/(2*epsrb*epsz*1+sigrb*dt)/(epsrb*epsz); C5=2.0*epsrb*epsz; C6=2.0*epsrb*epsz; D1x=(2*epsrb*epsz*1-sigrb*dt)/(2*epsrb*epsz*1+sigrb*dt); D2x=2*epsrb*epsz*dt/(2*epsrb*epsz*1+sigrb*dt); D3x=1.0; D4x=1.0/(2*epsrb*epsz)/muz; D5x=2.0*epsrb*epsz+sigrb*dt; D6x=2.0*epsrb*epsz-sigrb*dt; D1y=1.0; D2y=dt; D3y=(2*epsrb*epsz*1-sigrb*dt)/(2*epsrb*epsz*1+sigrb*dt); D4y=1.0/(2*epsrb*epsz+sigrb*dt)/muz; D5y=2.0*epsrb*epsz+sigrb*dt; D6y=2.0*epsrb*epsz-sigrb*dt; %Assign main domain parameters to whole region, then modify the PML region C1ez=C1*C1ez; C2ez=C2*C2ez; C3ez=C3*C3ez; C4ez=C4*C4ez; C5ez=C5*C5ez; C6ez=C6*C6ez; D1hx=D1x*D1hx; D2hx=D2x*D2hx;

Page 22: Development of Analytical and Experimental Tools for Microwave

D3hx=D3x*D3hx; D4hx=D4x*D4hx; D5hx=D5x*D5hx; D6hx=D6x*D6hx; D1hy=D1y*D1hy; D2hy=D2y*D2hy; D3hy=D3y*D3hy; D4hy=D4y*D4hy; D5hy=D5y*D5hy; D6hy=D6y*D6hy; %Get index of observation points I=ones(1,2); J=ones(1,2); index=1; for i=1:ie_tot for j=1:je_tot if (((i-i_cen)^2+(j-j_cen)^2)>=(0.04/delta)^2 && ((i-i_cen)^2+(j-j_cen)^2)<(0.04/delta+1)^2) I(index)=i; J(index)=j; index=index+1; end; end end %Get index of source locations Id=ones(1,2); Jd=ones(1,2); index=1; for i=1:ie_tot for j=1:je_tot if (((i-i_cen)^2+(j-j_cen)^2)>(0.002/delta+0.4)^2 && ((i-i_cen)^2+(j-j_cen)^2)<(0.002/delta+1.4)^2) Id(index)=i; Jd(index)=j; index=index+1; end; end end source=[i_src-i_cen 0]; phi=ones(1,size(Id,2)); for i=1:size(Id,2) a=[Id(i)-i_cen Jd(i)-j_cen]; l=sqrt(source(1)^2+source(2)^2)*sqrt(a(1)^2+a(2)^2); cfi=dot(a,source)/l; phi(i)=acos(cfi);

Page 23: Development of Analytical and Experimental Tools for Microwave

if a(2)<0 phi(i)=2*pi-phi(i); end end for i=1:length(phi)-1 for j=i+1:length(phi) if phi(j)<phi(i) temp=phi(i); phi(i)=phi(j); phi(j)=temp; temp=Id(i); Id(i)=Id(j); Id(j)=temp; temp=Jd(i); Jd(i)=Jd(j); Jd(j)=temp; end end end %*********************************************************************** % compute observation points angle %*********************************************************************** source=[i_src-i_cen 0]; fi=ones(1,size(I,2)); for i=1:size(I,2) a=[I(i)-i_cen J(i)-j_cen]; l=sqrt(source(1)^2+source(2)^2)*sqrt(a(1)^2+a(2)^2); cfi=dot(a,source)/l; fi(i)=acos(cfi); if a(2)<0 fi(i)=2*pi-fi(i); end end for i=1:size(fi,2)-1 for j=i+1:size(fi,2) if fi(j)<fi(i) temp=fi(i); fi(i)=fi(j); fi(j)=temp; temp=I(i); I(i)=I(j); I(j)=temp; temp=J(i); J(i)=J(j); J(j)=temp; end end

Page 24: Development of Analytical and Experimental Tools for Microwave

end %delete some observation points, avoid 'noisy' data i=1; while (i<length(fi)) if abs(fi(i)-fi(i+1))<0.02 fi(i+1)=[]; I(i+1)=[]; J(i+1)=[]; else i=i+1; end end eps=[epsrb epsrs]; sig=[sigrb sigrs]; mu=[1.0 1.0]; sigstar=[0.0 0.0]; %*********************************************************************** % Main Grid Coefficients %*********************************************************************** ca=(1.0-(dt*sig)./(2.0*epsz*eps))./(1.0+(dt*sig)./(2.0*epsz*eps)); cb=(dt./epsz./eps./delta)./(1.0+(dt*sig)./(2.0*epsz*eps)); da=(1.0-(sigstar*dt)./(2.0*muz*mu))./(1.0+(dt*sigstar)./(2.0*muz*mu)); db=(dt./muz./mu./delta)./(1.0+(dt*sigstar)./(2.0*muz*mu)); %*********************************************************************** % UPML Coefficients %*********************************************************************** %Update coefficients in PML region R0=exp(-16); %reflection error m=4; %order of polynomial grading d=upml*delta; %thickness of pml slabs; eta=sqrt(muz/epsrb/epsz); %x-direction sigxmax=-(m+1)*log(R0/100)/2/d/eta; kxmax=1.0; sigfactor=sigxmax/(m+1)/(d^m)/delta; kfactor=(kxmax-1)/(m+1)/(d^m)/delta; for i=1:upml %coefficients on the boundary x2=(upml-i+1.5)*delta; x1=(upml-i+0.5)*delta; sigx=(x2^(m+1)-x1^(m+1))*sigfactor; kx=1+(x2^(m+1)-x1^(m+1))*kfactor; C1=(2*epsrb*epsz*kx-sigx*dt)/(2*epsrb*epsz*kx+sigx*dt); C2=(2*epsrb*epsz*dt)/(2*epsrb*epsz*kx+sigx*dt);

Page 25: Development of Analytical and Experimental Tools for Microwave

D5=(2*epsrb*epsz*kx+sigx*dt); D6=(2*epsrb*epsz*kx-sigx*dt); C1ez(i,:)=C1; C1ez(ie_tot-i+1,:)=C1; C2ez(i,:)=C2; C2ez(ie_tot-i+1,:)=C2; D5hx(i,:)=D5; D5hx(ie_tot-i+1,:)=D5; D6hx(i,:)=D6; D6hx(ie_tot-i+1,:)=D6; %coefficients in the center x2=(upml-i+1)*delta; x1=(upml-i)*delta; sigx=(x2^(m+1)-x1^(m+1))*sigfactor; kx=1+(x2^(m+1)-x1^(m+1))*kfactor; D3=(2*epsrb*epsz*kx-sigx*dt)/(2*epsrb*epsz*kx+sigx*dt); D4=1.0/(2*epsrb*epsz*kx+sigx*dt)/muz; D3hy(i,:)=D3; D3hy(ih_tot-i+1,:)=D3; D4hy(i,:)=D4; D4hy(ih_tot-i+1,:)=D4; end % Model PEC walls C1ez(1,:)=-1.0; C1ez(ie_tot,:)=-1.0; C2ez(1,:)=0.0; C2ez(ie_tot,:)=0.0; %y-direction sigymax=-(m+1)*log(R0/100)/2/d/eta; kymax=1.0; sigfactor=sigymax/(m+1)/(d^m)/delta; kfactor=(kymax-1)/(m+1)/(d^m)/delta; for j=1:upml %coefficients on the boundary y2=(upml-j+1.5)*delta; y1=(upml-j+0.5)*delta; sigy=(y2^(m+1)-y1^(m+1))*sigfactor; ky=1+(y2^(m+1)-y1^(m+1))*kfactor; C3=(2*epsrb*epsz*ky-sigy*dt)/(2*epsrb*epsz*ky+sigy*dt); C4=1.0/(2*epsrb*epsz*ky+sigy*dt)/epsrb/epsz; D5=(2*epsrb*epsz*ky+sigy*dt); D6=(2*epsrb*epsz*ky-sigy*dt); C3ez(:,j)=C3;

Page 26: Development of Analytical and Experimental Tools for Microwave

C3ez(:,je_tot-j+1)=C3; C4ez(:,j)=C4; C4ez(:,je_tot-j+1)=C4; D5hy(:,j)=D5; D5hy(:,je_tot-j+1)=D5; D6hy(:,j)=D6; D6hy(:,je_tot-j+1)=D6; %coefficients in the center y2=(upml-j+1)*delta; y1=(upml-j)*delta; sigy=(y2^(m+1)-y1^(m+1))*sigfactor; ky=1+(y2^(m+1)-y1^(m+1))*kfactor; D1=(2*epsrb*epsz*ky-sigy*dt)/(2*epsrb*epsz*ky+sigy*dt); D2=2*epsrb*epsz*dt/(2*epsrb*epsz*ky+sigy*dt); D1hx(:,j)=D1; D1hx(:,jh_tot-j+1)=D1; D2hx(:,j)=D2; D2hx(:,jh_tot-j+1)=D2; end % Model PEC walls C3ez(:,1)=-1.0; C3ez(:,je_tot)=-1.0; C4ez(:,1)=0.0; C4ez(:,je_tot)=0.0; %*********************************************************************** % BEGIN TIME-STEPPING LOOP %*********************************************************************** ez_obs(nmax,size(I,2))=0.0; ez_boundary=zeros(nmax,length(Id)); %store ez field on boundary at every time step hx_boundary=zeros(nmax,length(Id)); %store ez field on boundary at every time step hy_boundary=zeros(nmax,length(Id)); %store ez field on boundary at every time step ftr(1,size(I,2))=0.0; fti(1,size(I,2))=0.0; E_i=0; for n=1:nmax %*********************************************************************** % Update electric fields %*********************************************************************** es=ez; ez(upml+1:ie_tot-upml,upml+1:je_tot-upml)=ca(MEDIAez(upml+1:ie_tot-upml,upml+1:je_tot-upml)).*ez(upml+1:ie_tot-upml,upml+1:je_tot-upml)+... cb(MEDIAez(upml+1:ie_tot-upml,upml+1:je_tot-upml)).*... (hy(upml+1:ie_tot-upml,upml+1:je_tot-upml)-hy(upml:ih_tot-upml,upml+1:je_tot-upml)+...

Page 27: Development of Analytical and Experimental Tools for Microwave

hx(upml+1:ie_tot-upml,upml:jh_tot-upml)-hx(upml+1:ie_tot-upml,upml+1:je_tot-upml)); ds=dz; dz(2:upml,2:je_tot-1)=C1ez(2:upml,2:je_tot-1).*dz(2:upml,2:je_tot-1)+... C2ez(2:upml,2:je_tot-1)./delta.*((hy(2:upml,2:je_tot-1)-hy(1:upml-1,2:je_tot-1))-... (hx(2:upml,2:je_tot-1)-hx(2:upml,1:je_tot-2))); ez(2:upml,2:je_tot-1)=C3ez(2:upml,2:je_tot-1).*es(2:upml,2:je_tot-1)+... C4ez(2:upml,2:je_tot-1).*(C5ez(2:upml,2:je_tot-1).*dz(2:upml,2:je_tot-1)-C6ez(2:upml,2:je_tot-1).*ds(2:upml,2:je_tot-1)); dz(upml+1:ie_tot-1,2:upml)=C1ez(upml+1:ie_tot-1,2:upml).*ds(upml+1:ie_tot-1,2:upml)+... C2ez(upml+1:ie_tot-1,2:upml)./delta.*((hy(upml+1:ie_tot-1,2:upml)-hy(upml:ie_tot-2,2:upml))-... (hx(upml+1:ie_tot-1,2:upml)-hx(upml+1:ie_tot-1,1:upml-1))); ez(upml+1:ie_tot-1,2:upml)=C3ez(upml+1:ie_tot-1,2:upml).*es(upml+1:ie_tot-1,2:upml)+... C4ez(upml+1:ie_tot-1,2:upml).*(C5ez(upml+1:ie_tot-1,2:upml).*dz(upml+1:ie_tot-1,2:upml)-... C6ez(upml+1:ie_tot-1,2:upml).*ds(upml+1:ie_tot-1,2:upml)); dz(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1)=C1ez(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1).*ds(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1)+... C2ez(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1)./delta.*... ((hy(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1)-hy(upml:ie_tot-2,je_tot-upml+1:je_tot-1))-... (hx(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1)-hx(upml+1:ie_tot-1,je_tot-upml:je_tot-2))); ez(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1)=C3ez(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1).*es(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1)+... C4ez(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1).*... (C5ez(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1).*dz(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1)-... C6ez(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1).*ds(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1)); dz(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml)=C1ez(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml).*ds(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml)+... C2ez(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml)./delta.*... ((hy(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml)-hy(ie_tot-upml:ie_tot-2,upml+1:je_tot-upml))-... (hx(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml)-hx(ie_tot-upml+1:ie_tot-1,upml:je_tot-upml-1))); ez(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml)=C3ez(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml).*es(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml)+... C4ez(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml).*... (C5ez(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml).*dz(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml)-...

Page 28: Development of Analytical and Experimental Tools for Microwave

C6ez(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml).*ds(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml)); ez(i_src,j_src)=ez(i_src,j_src)-cb(MEDIAez(i_src,j_src))*delta*exp(-((n-n0)/ndecay)^2)*sin(omega*(n-n0)*dt); %*********************************************************************** % Update magnetic fields %*********************************************************************** hs=hx; hx(upml+1:ie_tot-upml,upml+1:jh_tot-upml)=da(MEDIAhx(upml+1:ie_tot-upml,upml+1:jh_tot-upml)).*hx(upml+1:ie_tot-upml,upml+1:jh_tot-upml)+... db(MEDIAhx(upml+1:ie_tot-upml,upml+1:jh_tot-upml)).*(ez(upml+1:ie_tot-upml,upml+1:jh_tot-upml)-ez(upml+1:ie_tot-upml,upml+2:je_tot-upml)); bs=bx; bx(1:upml,:)=D1hx(1:upml,:).*bx(1:upml,:)-D2hx(1:upml,:).*(ez(1:upml,2:je_tot)-ez(1:upml,1:jh_tot))./delta; hx(1:upml,:)=D3hx(1:upml,:).*hx(1:upml,:)+D4hx(1:upml,:).*(D5hx(1:upml,:).*bx(1:upml,:)-D6hx(1:upml,:).*bs(1:upml,:)); bx(upml+1:ie_tot,1:upml)=D1hx(upml+1:ie_tot,1:upml).*bs(upml+1:ie_tot,1:upml)-... D2hx(upml+1:ie_tot,1:upml).*(ez(upml+1:ie_tot,2:upml+1)-ez(upml+1:ie_tot,1:upml))./delta; hx(upml+1:ie_tot,1:upml)=D3hx(upml+1:ie_tot,1:upml).*hs(upml+1:ie_tot,1:upml)+D4hx(upml+1:ie_tot,1:upml).*... (D5hx(upml+1:ie_tot,1:upml).*bx(upml+1:ie_tot,1:upml)-D6hx(upml+1:ie_tot,1:upml).*bs(upml+1:ie_tot,1:upml)); bx(ie_tot-upml+1:ie_tot,upml+1:jh_tot)=D1hx(ie_tot-upml+1:ie_tot,upml+1:jh_tot).*bs(ie_tot-upml+1:ie_tot,upml+1:jh_tot)-... D2hx(ie_tot-upml+1:ie_tot,upml+1:jh_tot).*(ez(ie_tot-upml+1:ie_tot,upml+2:jh_tot+1)-ez(ie_tot-upml+1:ie_tot,upml+1:jh_tot))./delta; hx(ie_tot-upml+1:ie_tot,upml+1:jh_tot)=D3hx(ie_tot-upml+1:ie_tot,upml+1:jh_tot).*... hs(ie_tot-upml+1:ie_tot,upml+1:jh_tot)+D4hx(ie_tot-upml+1:ie_tot,upml+1:jh_tot).*... (D5hx(ie_tot-upml+1:ie_tot,upml+1:jh_tot).*bx(ie_tot-upml+1:ie_tot,upml+1:jh_tot)-... D6hx(ie_tot-upml+1:ie_tot,upml+1:jh_tot).*bs(ie_tot-upml+1:ie_tot,upml+1:jh_tot)); bx(upml+1:ie_tot-upml,jh_tot-upml+1:jh_tot)=D1hx(upml+1:ie_tot-upml,jh_tot-upml+1:jh_tot).*bs(upml+1:ie_tot-upml,jh_tot-upml+1:jh_tot)-... D2hx(upml+1:ie_tot-upml,jh_tot-upml+1:jh_tot).*... (ez(upml+1:ie_tot-upml,jh_tot-upml+2:jh_tot+1)-ez(upml+1:ie_tot-upml,jh_tot-upml+1:jh_tot))./delta; hx(upml+1:ie_tot-upml,jh_tot-upml+1:jh_tot)=D3hx(upml+1:ie_tot-upml,jh_tot-upml+1:jh_tot).*... hs(upml+1:ie_tot-upml,jh_tot-upml+1:jh_tot)+D4hx(upml+1:ie_tot-upml,jh_tot-upml+1:jh_tot).*...

Page 29: Development of Analytical and Experimental Tools for Microwave

(D5hx(upml+1:ie_tot-upml,jh_tot-upml+1:jh_tot).*bx(upml+1:ie_tot-upml,jh_tot-upml+1:jh_tot)-... D6hx(upml+1:ie_tot-upml,jh_tot-upml+1:jh_tot).*bs(upml+1:ie_tot-upml,jh_tot-upml+1:jh_tot)); hs=hy; hy(upml+1:ih_tot-upml,upml+1:je_tot-upml)=da(MEDIAhy(upml+1:ih_tot-upml,upml+1:je_tot-upml)).*... hy(upml+1:ih_tot-upml,upml+1:je_tot-upml)+db(MEDIAhy(upml+1:ih_tot-upml,upml+1:je_tot-upml)).*... (ez(upml+2:ie_tot-upml,upml+1:je_tot-upml)-ez(upml+1:ih_tot-upml,upml+1:je_tot-upml)); bs=by; by(1:upml,:)=D1hy(1:upml,:).*by(1:upml,:)-D2hy(1:upml,:).*(-(ez(2:upml+1,1:je_tot)-ez(1:upml,1:je_tot)))./delta; hy(1:upml,:)=D3hy(1:upml,:).*hy(1:upml,:)+D4hy(1:upml,:).*(D5hy(1:upml,:).*by(1:upml,:)-D6hy(1:upml,:).*bs(1:upml,:)); by(upml+1:ih_tot,1:upml)=D1hy(upml+1:ih_tot,1:upml).*bs(upml+1:ih_tot,1:upml)-... D2hy(upml+1:ih_tot,1:upml).*(-(ez(upml+2:ih_tot+1,1:upml)-ez(upml+1:ih_tot,1:upml)))./delta; hy(upml+1:ih_tot,1:upml)=D3hy(upml+1:ih_tot,1:upml).*hs(upml+1:ih_tot,1:upml)+D4hy(upml+1:ih_tot,1:upml).*... (D5hy(upml+1:ih_tot,1:upml).*by(upml+1:ih_tot,1:upml)-D6hy(upml+1:ih_tot,1:upml).*bs(upml+1:ih_tot,1:upml)); by(ih_tot-upml+1:ih_tot,upml+1:je_tot)=D1hy(ih_tot-upml+1:ih_tot,upml+1:je_tot).*bs(ih_tot-upml+1:ih_tot,upml+1:je_tot)-... D2hy(ih_tot-upml+1:ih_tot,upml+1:je_tot).*(-(ez(ih_tot-upml+2:ih_tot+1,upml+1:je_tot)-ez(ih_tot-upml+1:ih_tot,upml+1:je_tot)))./delta; hy(ih_tot-upml+1:ih_tot,upml+1:je_tot)=D3hy(ih_tot-upml+1:ih_tot,upml+1:je_tot).*hs(ih_tot-upml+1:ih_tot,upml+1:je_tot)+... D4hy(ih_tot-upml+1:ih_tot,upml+1:je_tot).*(D5hy(ih_tot-upml+1:ih_tot,upml+1:je_tot).*by(ih_tot-upml+1:ih_tot,upml+1:je_tot)-... D6hy(ih_tot-upml+1:ih_tot,upml+1:je_tot).*bs(ih_tot-upml+1:ih_tot,upml+1:je_tot)); by(upml+1:ih_tot-upml,je_tot-upml+1:je_tot)=D1hy(upml+1:ih_tot-upml,je_tot-upml+1:je_tot).*bs(upml+1:ih_tot-upml,je_tot-upml+1:je_tot)-... D2hy(upml+1:ih_tot-upml,je_tot-upml+1:je_tot).*... (-(ez(upml+2:ih_tot-upml+1,je_tot-upml+1:je_tot)-ez(upml+1:ih_tot-upml,je_tot-upml+1:je_tot)))./delta; hy(upml+1:ih_tot-upml,je_tot-upml+1:je_tot)=D3hy(upml+1:ih_tot-upml,je_tot-upml+1:je_tot).*hs(upml+1:ih_tot-upml,je_tot-upml+1:je_tot)+... D4hy(upml+1:ih_tot-upml,je_tot-upml+1:je_tot).*... (D5hy(upml+1:ih_tot-upml,je_tot-upml+1:je_tot).*by(upml+1:ih_tot-upml,je_tot-upml+1:je_tot)-...

Page 30: Development of Analytical and Experimental Tools for Microwave

D6hy(upml+1:ih_tot-upml,je_tot-upml+1:je_tot).*bs(upml+1:ih_tot-upml,je_tot-upml+1:je_tot)); %*********************************************************************** % Get obseverations, compute phasor quantities(Ei) %*********************************************************************** for i=1:size(I,2) ez_obs(n,i)=ez(I(i),J(i)); ftr(i)=ftr(i)+ez_obs(n,i)*cos(omega*n*dt); fti(i)=fti(i)+ez_obs(n,i)*sin(omega*n*dt); end E_i=E_i+ez(i_cen,j_cen)*(cos(omega*n*dt)-1j*sin(omega*n*dt)); for i=1:length(Id) ez_boundary(n,i)=ez(Id(i),Jd(i)); hx_boundary(n,i)=hx(Id(i),Jd(i)); hy_boundary(n,i)=hy(Id(i),Jd(i)); end end Ez_b=(ftr-1j*fti); 3. scatter_UPML.m %*********************************************************************** % 2D scatter problem, with scatter. the scatter is put in the center of % the grid. and it's diameter is 4mm. %*********************************************************************** % % Program author: Fuqiang Gao % Department of Electrical and Computer Engineering % University of Wisconsin-Madison % 1415 Engineering Drive % Madison, WI 53706-1691 % [email protected] % %*********************************************************************** function [ez_boundarys ez_obs]=scatter_UPML(nmax) %*********************************************************************** % Fundamental constants %*********************************************************************** cc=2.99792458e8; %speed of light in free space muz=4.0*pi*1.0e-7; %permeability of free space epsz=1.0/(cc*cc*muz); %permittivity of free space % nmax=1000; %***********************************************************************

Page 31: Development of Analytical and Experimental Tools for Microwave

% Source Parameters %*********************************************************************** epsrb=44.0; sigrb=0; epsrs=50.0; sigrs=0; %Parameter for lossy case % epsrb=44.0; % sigrb=4.162; % epsrs=50.0; % sigrs=4.91; freq=5e9; %frequency omega=2*pi*freq; %*********************************************************************** % Grid parameters %*********************************************************************** beta=omega*sqrt(muz*epsz*epsrb)*sqrt(1/2*(sqrt(1+(sigrb/omega/epsz/epsrb)^2)+1)); lamda=2*pi/beta; delta=2.5e-4; %space increment in 2-D lattice dt=delta*sqrt(epsrb)/(2.0*cc); %time increment ie=round((0.25)/delta); je=round((0.25)/delta); ih=ie-1; jh=je-1; upml=10; ie_tot=ie+2*upml; je_tot=je+2*upml; ih_tot=ie_tot-1; jh_tot=je_tot-1; i_cen=round(ie_tot/2); %center location j_cen=round(je_tot/2); i_src=i_cen-round(0.075/delta); %source location j_src=j_cen; x=linspace(delta,ih_tot*delta,ih_tot); y=linspace(delta,jh_tot*delta,jh_tot); fmax=1e10; tau=3e-10;%1/(pi*(fmax-freq)); ndecay=tau/dt; n0=3*ndecay; %*********************************************************************** % Material parameters %*********************************************************************** MEDIAez=ones(ie_tot,je_tot); MEDIAhx=ones(ie_tot,jh_tot); MEDIAhy=ones(ih_tot,je_tot);

Page 32: Development of Analytical and Experimental Tools for Microwave

ez(ie_tot,je_tot)=0.0; dz=ez; hx(ie_tot,jh_tot)=0.0; bx=hx; hy(ih_tot,je_tot)=0.0; by=hy; C1ez=ones(size(ez)); C2ez=ones(size(ez)); C3ez=ones(size(ez)); C4ez=ones(size(ez)); C5ez=ones(size(ez)); C6ez=ones(size(ez)); D1hx=ones(size(hx)); D2hx=ones(size(hx)); D3hx=ones(size(hx)); D4hx=ones(size(hx)); D5hx=ones(size(hx)); D6hx=ones(size(hx)); D1hy=ones(size(hy)); D2hy=ones(size(hy)); D3hy=ones(size(hy)); D4hy=ones(size(hy)); D5hy=ones(size(hy)); D6hy=ones(size(hy)); C1=(2*epsrb*epsz*1-sigrb*dt)/(2*epsrb*epsz*1+sigrb*dt); C2=2*epsrb*epsz*dt/(2*epsrb*epsz*1+sigrb*dt); C3=(2*epsrb*epsz*1-sigrb*dt)/(2*epsrb*epsz*1+sigrb*dt); C4=1.0/(2*epsrb*epsz*1+sigrb*dt)/(epsrb*epsz); C5=2.0*epsrb*epsz; C6=2.0*epsrb*epsz; D1x=(2*epsrb*epsz*1-sigrb*dt)/(2*epsrb*epsz*1+sigrb*dt); D2x=2*epsrb*epsz*dt/(2*epsrb*epsz*1+sigrb*dt); D3x=1.0; D4x=1.0/(2*epsrb*epsz)/muz; D5x=2.0*epsrb*epsz+sigrb*dt; D6x=2.0*epsrb*epsz-sigrb*dt; D1y=1.0; D2y=dt; D3y=(2*epsrb*epsz*1-sigrb*dt)/(2*epsrb*epsz*1+sigrb*dt); D4y=1.0/(2*epsrb*epsz+sigrb*dt)/muz; D5y=2.0*epsrb*epsz+sigrb*dt;

Page 33: Development of Analytical and Experimental Tools for Microwave

D6y=2.0*epsrb*epsz-sigrb*dt; %Assign main domain parameters to whole region, then modify the PML region C1ez=C1*C1ez; C2ez=C2*C2ez; C3ez=C3*C3ez; C4ez=C4*C4ez; C5ez=C5*C5ez; C6ez=C6*C6ez; D1hx=D1x*D1hx; D2hx=D2x*D2hx; D3hx=D3x*D3hx; D4hx=D4x*D4hx; D5hx=D5x*D5hx; D6hx=D6x*D6hx; D1hy=D1y*D1hy; D2hy=D2y*D2hy; D3hy=D3y*D3hy; D4hy=D4y*D4hy; D5hy=D5y*D5hy; D6hy=D6y*D6hy; %assing media pointers to scatter for i=1:ie_tot for j=1:je_tot if ((i-i_cen)^2+(j-j_cen)^2)<=(0.002/delta)^2 %scatter MEDIAez(i,j)=2; MEDIAhx(i,j)=2; MEDIAhy(i,j)=2; end end end %Get index of observation points I=ones(1,2); J=ones(1,2); index=1; for i=1:ie_tot for j=1:je_tot if (((i-i_cen)^2+(j-j_cen)^2)>=(0.04/delta)^2 && ((i-i_cen)^2+(j-j_cen)^2)<(0.04/delta+1)^2) I(index)=i; J(index)=j; index=index+1; end; end end

Page 34: Development of Analytical and Experimental Tools for Microwave

%Get index of source locations Id=ones(1,2); Jd=ones(1,2); index=1; for i=1:ie_tot for j=1:je_tot if (((i-i_cen)^2+(j-j_cen)^2)>(0.002/delta+0.4)^2 && ((i-i_cen)^2+(j-j_cen)^2)<(0.002/delta+1.4)^2) Id(index)=i; Jd(index)=j; index=index+1; end; end end source=[i_src-i_cen 0]; phi=ones(1,size(Id,2)); for i=1:size(Id,2) a=[Id(i)-i_cen Jd(i)-j_cen]; l=sqrt(source(1)^2+source(2)^2)*sqrt(a(1)^2+a(2)^2); cfi=dot(a,source)/l; phi(i)=acos(cfi); if a(2)<0 phi(i)=2*pi-phi(i); end end for i=1:length(phi)-1 for j=i+1:length(phi) if phi(j)<phi(i) temp=phi(i); phi(i)=phi(j); phi(j)=temp; temp=Id(i); Id(i)=Id(j); Id(j)=temp; temp=Jd(i); Jd(i)=Jd(j); Jd(j)=temp; end end end eps=[epsrb epsrs 1/2*(epsrb+epsrs)]; sig=[sigrb sigrs 1/2*(sigrs+sigrb)]; mu=[1.0 1.0 1.0]; sigstar=[0.0 0.0 0.0];

Page 35: Development of Analytical and Experimental Tools for Microwave

%*********************************************************************** % Main Grid Coefficients %*********************************************************************** ca=(1.0-(dt*sig)./(2.0*epsz*eps))./(1.0+(dt*sig)./(2.0*epsz*eps)); cb=(dt./epsz./eps./delta)./(1.0+(dt*sig)./(2.0*epsz*eps)); da=(1.0-(sigstar*dt)./(2.0*muz*mu))./(1.0+(dt*sigstar)./(2.0*muz*mu)); db=(dt./muz./mu./delta)./(1.0+(dt*sigstar)./(2.0*muz*mu)); %*********************************************************************** % UPML Coefficients %*********************************************************************** %Update coefficients in PML region R0=exp(-16); %reflection error m=4; %order of polynomial grading d=upml*delta; %thickness of pml slabs; eta=sqrt(muz/epsrb/epsz); %x-direction sigxmax=-(m+1)*log(R0/100)/2/d/eta; kxmax=1.0; sigfactor=sigxmax/(m+1)/(d^m)/delta; kfactor=(kxmax-1)/(m+1)/(d^m)/delta; for i=1:upml %coefficients on the boundary x2=(upml-i+1.5)*delta; x1=(upml-i+0.5)*delta; sigx=(x2^(m+1)-x1^(m+1))*sigfactor; kx=1+(x2^(m+1)-x1^(m+1))*kfactor; C1=(2*epsrb*epsz*kx-sigx*dt)/(2*epsrb*epsz*kx+sigx*dt); C2=(2*epsrb*epsz*dt)/(2*epsrb*epsz*kx+sigx*dt); D5=(2*epsrb*epsz*kx+sigx*dt); D6=(2*epsrb*epsz*kx-sigx*dt); C1ez(i,:)=C1; C1ez(ie_tot-i+1,:)=C1; C2ez(i,:)=C2; C2ez(ie_tot-i+1,:)=C2; D5hx(i,:)=D5; D5hx(ie_tot-i+1,:)=D5; D6hx(i,:)=D6; D6hx(ie_tot-i+1,:)=D6; %coefficients in the center x2=(upml-i+1)*delta; x1=(upml-i)*delta; sigx=(x2^(m+1)-x1^(m+1))*sigfactor; kx=1+(x2^(m+1)-x1^(m+1))*kfactor;

Page 36: Development of Analytical and Experimental Tools for Microwave

D3=(2*epsrb*epsz*kx-sigx*dt)/(2*epsrb*epsz*kx+sigx*dt); D4=1.0/(2*epsrb*epsz*kx+sigx*dt)/muz; D3hy(i,:)=D3; D3hy(ih_tot-i+1,:)=D3; D4hy(i,:)=D4; D4hy(ih_tot-i+1,:)=D4; end % Model PEC walls C1ez(1,:)=-1.0; C1ez(ie_tot,:)=-1.0; C2ez(1,:)=0.0; C2ez(ie_tot,:)=0.0; %y-direction sigymax=-(m+1)*log(R0/100)/2/d/eta; kymax=1.0; sigfactor=sigymax/(m+1)/(d^m)/delta; kfactor=(kymax-1)/(m+1)/(d^m)/delta; for j=1:upml %coefficients on the boundary y2=(upml-j+1.5)*delta; y1=(upml-j+0.5)*delta; sigy=(y2^(m+1)-y1^(m+1))*sigfactor; ky=1+(y2^(m+1)-y1^(m+1))*kfactor; C3=(2*epsrb*epsz*ky-sigy*dt)/(2*epsrb*epsz*ky+sigy*dt); C4=1.0/(2*epsrb*epsz*ky+sigy*dt)/epsrb/epsz; D5=(2*epsrb*epsz*ky+sigy*dt); D6=(2*epsrb*epsz*ky-sigy*dt); C3ez(:,j)=C3; C3ez(:,je_tot-j+1)=C3; C4ez(:,j)=C4; C4ez(:,je_tot-j+1)=C4; D5hy(:,j)=D5; D5hy(:,je_tot-j+1)=D5; D6hy(:,j)=D6; D6hy(:,je_tot-j+1)=D6; %coefficients in the center y2=(upml-j+1)*delta; y1=(upml-j)*delta; sigy=(y2^(m+1)-y1^(m+1))*sigfactor; ky=1+(y2^(m+1)-y1^(m+1))*kfactor; D1=(2*epsrb*epsz*ky-sigy*dt)/(2*epsrb*epsz*ky+sigy*dt); D2=2*epsrb*epsz*dt/(2*epsrb*epsz*ky+sigy*dt); D1hx(:,j)=D1; D1hx(:,jh_tot-j+1)=D1; D2hx(:,j)=D2;

Page 37: Development of Analytical and Experimental Tools for Microwave

D2hx(:,jh_tot-j+1)=D2; end %*********************************************************************** % BEGIN TIME-STEPPING LOOP %*********************************************************************** ez_obs(nmax,size(I,2))=0.0; ez_boundarys=zeros(nmax,length(Id)); %store ez field on boundary at every time step hx_boundarys=zeros(nmax,length(Id)); %store ez field on boundary at every time step hy_boundarys=zeros(nmax,length(Id)); %store ez field on boundary at every time step Je=0.0; for n=1:nmax %*********************************************************************** % Update electric fields %*********************************************************************** es=ez; ez(upml+1:ie_tot-upml,upml+1:je_tot-upml)=ca(MEDIAez(upml+1:ie_tot-upml,upml+1:je_tot-upml)).*ez(upml+1:ie_tot-upml,upml+1:je_tot-upml)+... cb(MEDIAez(upml+1:ie_tot-upml,upml+1:je_tot-upml)).*... (hy(upml+1:ie_tot-upml,upml+1:je_tot-upml)-hy(upml:ih_tot-upml,upml+1:je_tot-upml)+... hx(upml+1:ie_tot-upml,upml:jh_tot-upml)-hx(upml+1:ie_tot-upml,upml+1:je_tot-upml)); ds=dz; dz(2:upml,2:je_tot-1)=C1ez(2:upml,2:je_tot-1).*dz(2:upml,2:je_tot-1)+... C2ez(2:upml,2:je_tot-1)./delta.*((hy(2:upml,2:je_tot-1)-hy(1:upml-1,2:je_tot-1))-... (hx(2:upml,2:je_tot-1)-hx(2:upml,1:je_tot-2))); ez(2:upml,2:je_tot-1)=C3ez(2:upml,2:je_tot-1).*es(2:upml,2:je_tot-1)+... C4ez(2:upml,2:je_tot-1).*(C5ez(2:upml,2:je_tot-1).*dz(2:upml,2:je_tot-1)-C6ez(2:upml,2:je_tot-1).*ds(2:upml,2:je_tot-1)); dz(upml+1:ie_tot-1,2:upml)=C1ez(upml+1:ie_tot-1,2:upml).*ds(upml+1:ie_tot-1,2:upml)+... C2ez(upml+1:ie_tot-1,2:upml)./delta.*((hy(upml+1:ie_tot-1,2:upml)-hy(upml:ie_tot-2,2:upml))-... (hx(upml+1:ie_tot-1,2:upml)-hx(upml+1:ie_tot-1,1:upml-1))); ez(upml+1:ie_tot-1,2:upml)=C3ez(upml+1:ie_tot-1,2:upml).*es(upml+1:ie_tot-1,2:upml)+... C4ez(upml+1:ie_tot-1,2:upml).*(C5ez(upml+1:ie_tot-1,2:upml).*dz(upml+1:ie_tot-1,2:upml)-... C6ez(upml+1:ie_tot-1,2:upml).*ds(upml+1:ie_tot-1,2:upml)); dz(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1)=C1ez(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1).*ds(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1)+... C2ez(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1)./delta.*...

Page 38: Development of Analytical and Experimental Tools for Microwave

((hy(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1)-hy(upml:ie_tot-2,je_tot-upml+1:je_tot-1))-... (hx(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1)-hx(upml+1:ie_tot-1,je_tot-upml:je_tot-2))); ez(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1)=C3ez(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1).*es(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1)+... C4ez(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1).*... (C5ez(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1).*dz(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1)-... C6ez(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1).*ds(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1)); dz(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml)=C1ez(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml).*ds(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml)+... C2ez(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml)./delta.*... ((hy(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml)-hy(ie_tot-upml:ie_tot-2,upml+1:je_tot-upml))-... (hx(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml)-hx(ie_tot-upml+1:ie_tot-1,upml:je_tot-upml-1))); ez(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml)=C3ez(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml).*es(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml)+... C4ez(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml).*... (C5ez(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml).*dz(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml)-... C6ez(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml).*ds(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml)); ez(i_src,j_src)=ez(i_src,j_src)-cb(MEDIAez(i_src,j_src))*delta*exp(-((n-n0)/ndecay)^2)*sin(omega*(n-n0)*dt); %*********************************************************************** % Update magnetic fields %*********************************************************************** hs=hx; hx(upml+1:ie_tot-upml,upml+1:jh_tot-upml)=da(MEDIAhx(upml+1:ie_tot-upml,upml+1:jh_tot-upml)).*hx(upml+1:ie_tot-upml,upml+1:jh_tot-upml)+... db(MEDIAhx(upml+1:ie_tot-upml,upml+1:jh_tot-upml)).*(ez(upml+1:ie_tot-upml,upml+1:jh_tot-upml)-ez(upml+1:ie_tot-upml,upml+2:je_tot-upml)); bs=bx; bx(1:upml,:)=D1hx(1:upml,:).*bx(1:upml,:)-D2hx(1:upml,:).*(ez(1:upml,2:je_tot)-ez(1:upml,1:jh_tot))./delta; hx(1:upml,:)=D3hx(1:upml,:).*hx(1:upml,:)+D4hx(1:upml,:).*(D5hx(1:upml,:).*bx(1:upml,:)-D6hx(1:upml,:).*bs(1:upml,:)); bx(upml+1:ie_tot,1:upml)=D1hx(upml+1:ie_tot,1:upml).*bs(upml+1:ie_tot,1:upml)-... D2hx(upml+1:ie_tot,1:upml).*(ez(upml+1:ie_tot,2:upml+1)-ez(upml+1:ie_tot,1:upml))./delta;

Page 39: Development of Analytical and Experimental Tools for Microwave

hx(upml+1:ie_tot,1:upml)=D3hx(upml+1:ie_tot,1:upml).*hs(upml+1:ie_tot,1:upml)+D4hx(upml+1:ie_tot,1:upml).*... (D5hx(upml+1:ie_tot,1:upml).*bx(upml+1:ie_tot,1:upml)-D6hx(upml+1:ie_tot,1:upml).*bs(upml+1:ie_tot,1:upml)); bx(ie_tot-upml+1:ie_tot,upml+1:jh_tot)=D1hx(ie_tot-upml+1:ie_tot,upml+1:jh_tot).*bs(ie_tot-upml+1:ie_tot,upml+1:jh_tot)-... D2hx(ie_tot-upml+1:ie_tot,upml+1:jh_tot).*(ez(ie_tot-upml+1:ie_tot,upml+2:jh_tot+1)-ez(ie_tot-upml+1:ie_tot,upml+1:jh_tot))./delta; hx(ie_tot-upml+1:ie_tot,upml+1:jh_tot)=D3hx(ie_tot-upml+1:ie_tot,upml+1:jh_tot).*... hs(ie_tot-upml+1:ie_tot,upml+1:jh_tot)+D4hx(ie_tot-upml+1:ie_tot,upml+1:jh_tot).*... (D5hx(ie_tot-upml+1:ie_tot,upml+1:jh_tot).*bx(ie_tot-upml+1:ie_tot,upml+1:jh_tot)-... D6hx(ie_tot-upml+1:ie_tot,upml+1:jh_tot).*bs(ie_tot-upml+1:ie_tot,upml+1:jh_tot)); bx(upml+1:ie_tot-upml,jh_tot-upml+1:jh_tot)=D1hx(upml+1:ie_tot-upml,jh_tot-upml+1:jh_tot).*bs(upml+1:ie_tot-upml,jh_tot-upml+1:jh_tot)-... D2hx(upml+1:ie_tot-upml,jh_tot-upml+1:jh_tot).*... (ez(upml+1:ie_tot-upml,jh_tot-upml+2:jh_tot+1)-ez(upml+1:ie_tot-upml,jh_tot-upml+1:jh_tot))./delta; hx(upml+1:ie_tot-upml,jh_tot-upml+1:jh_tot)=D3hx(upml+1:ie_tot-upml,jh_tot-upml+1:jh_tot).*... hs(upml+1:ie_tot-upml,jh_tot-upml+1:jh_tot)+D4hx(upml+1:ie_tot-upml,jh_tot-upml+1:jh_tot).*... (D5hx(upml+1:ie_tot-upml,jh_tot-upml+1:jh_tot).*bx(upml+1:ie_tot-upml,jh_tot-upml+1:jh_tot)-... D6hx(upml+1:ie_tot-upml,jh_tot-upml+1:jh_tot).*bs(upml+1:ie_tot-upml,jh_tot-upml+1:jh_tot)); hs=hy; hy(upml+1:ih_tot-upml,upml+1:je_tot-upml)=da(MEDIAhy(upml+1:ih_tot-upml,upml+1:je_tot-upml)).*... hy(upml+1:ih_tot-upml,upml+1:je_tot-upml)+db(MEDIAhy(upml+1:ih_tot-upml,upml+1:je_tot-upml)).*... (ez(upml+2:ie_tot-upml,upml+1:je_tot-upml)-ez(upml+1:ih_tot-upml,upml+1:je_tot-upml)); bs=by; by(1:upml,:)=D1hy(1:upml,:).*by(1:upml,:)-D2hy(1:upml,:).*(-(ez(2:upml+1,1:je_tot)-ez(1:upml,1:je_tot)))./delta; hy(1:upml,:)=D3hy(1:upml,:).*hy(1:upml,:)+D4hy(1:upml,:).*(D5hy(1:upml,:).*by(1:upml,:)-D6hy(1:upml,:).*bs(1:upml,:)); by(upml+1:ih_tot,1:upml)=D1hy(upml+1:ih_tot,1:upml).*bs(upml+1:ih_tot,1:upml)-... D2hy(upml+1:ih_tot,1:upml).*(-(ez(upml+2:ih_tot+1,1:upml)-ez(upml+1:ih_tot,1:upml)))./delta; hy(upml+1:ih_tot,1:upml)=D3hy(upml+1:ih_tot,1:upml).*hs(upml+1:ih_tot,1:upml)+D4hy(upml+1:ih_tot,1:upml).*...

Page 40: Development of Analytical and Experimental Tools for Microwave

(D5hy(upml+1:ih_tot,1:upml).*by(upml+1:ih_tot,1:upml)-D6hy(upml+1:ih_tot,1:upml).*bs(upml+1:ih_tot,1:upml)); by(ih_tot-upml+1:ih_tot,upml+1:je_tot)=D1hy(ih_tot-upml+1:ih_tot,upml+1:je_tot).*bs(ih_tot-upml+1:ih_tot,upml+1:je_tot)-... D2hy(ih_tot-upml+1:ih_tot,upml+1:je_tot).*(-(ez(ih_tot-upml+2:ih_tot+1,upml+1:je_tot)-ez(ih_tot-upml+1:ih_tot,upml+1:je_tot)))./delta; hy(ih_tot-upml+1:ih_tot,upml+1:je_tot)=D3hy(ih_tot-upml+1:ih_tot,upml+1:je_tot).*hs(ih_tot-upml+1:ih_tot,upml+1:je_tot)+... D4hy(ih_tot-upml+1:ih_tot,upml+1:je_tot).*(D5hy(ih_tot-upml+1:ih_tot,upml+1:je_tot).*by(ih_tot-upml+1:ih_tot,upml+1:je_tot)-... D6hy(ih_tot-upml+1:ih_tot,upml+1:je_tot).*bs(ih_tot-upml+1:ih_tot,upml+1:je_tot)); by(upml+1:ih_tot-upml,je_tot-upml+1:je_tot)=D1hy(upml+1:ih_tot-upml,je_tot-upml+1:je_tot).*bs(upml+1:ih_tot-upml,je_tot-upml+1:je_tot)-... D2hy(upml+1:ih_tot-upml,je_tot-upml+1:je_tot).*... (-(ez(upml+2:ih_tot-upml+1,je_tot-upml+1:je_tot)-ez(upml+1:ih_tot-upml,je_tot-upml+1:je_tot)))./delta; hy(upml+1:ih_tot-upml,je_tot-upml+1:je_tot)=D3hy(upml+1:ih_tot-upml,je_tot-upml+1:je_tot).*hs(upml+1:ih_tot-upml,je_tot-upml+1:je_tot)+... D4hy(upml+1:ih_tot-upml,je_tot-upml+1:je_tot).*... (D5hy(upml+1:ih_tot-upml,je_tot-upml+1:je_tot).*by(upml+1:ih_tot-upml,je_tot-upml+1:je_tot)-... D6hy(upml+1:ih_tot-upml,je_tot-upml+1:je_tot).*bs(upml+1:ih_tot-upml,je_tot-upml+1:je_tot)); for i=1:size(I,2) ez_obs(n,i)=ez(I(i),J(i)); end for i=1:length(Id) ez_boundarys(n,i)=ez(Id(i),Jd(i)); hx_boundarys(n,i)=hx(Id(i),Jd(i)); hy_boundarys(n,i)=hy(Id(i),Jd(i)); end end

4. sbc.m

function [fi Ed ez_obs Jz rc]=sbc(nmax,eoz)

%***********************************************************************

% Fundamental constants

%***********************************************************************

cc=2.99792458e8; %speed of light in free space

Page 41: Development of Analytical and Experimental Tools for Microwave

muz=4.0*pi*1.0e-7; %permeability of free space

epsz=1.0/(cc*cc*muz); %permittivity of free space

% nmax=1000;

%***********************************************************************

% Source Parameters

%***********************************************************************

epsrb=44.0;

sigrb=0;

epsrs=50.0;

sigrs=0;

%Parameter for lossy case

% epsrb=44.0;

% sigrb=4.162;

% epsrs=50.0;

% sigrs=4.91;

freq=5e9; %frequency

omega=2*pi*freq;

%***********************************************************************

% Grid parameters

%***********************************************************************

beta=omega*sqrt(muz*epsz*epsrb)*sqrt(1/2*(sqrt(1+(sigrb/omega/epsz/epsrb)^2)+1));

lamda=2*pi/beta;

delta=2.5e-4;%2.5e-4;%lamda/8.9/10; %space increment in 2-D lattice

dt=delta*sqrt(epsrb)/(2.0*cc); %time increment

ie=round((0.25)/delta);

je=round((0.25)/delta);

ih=ie-1;

jh=je-1;

upml=10;

ie_tot=ie+2*upml;

je_tot=je+2*upml;

ih_tot=ie_tot-1;

jh_tot=je_tot-1;

i_cen=round(ie_tot/2); %center location

j_cen=round(je_tot/2);

i_src=i_cen-round(0.075/delta); %source location

j_src=j_cen;

x=linspace(delta,ih_tot*delta,ih_tot);

y=linspace(delta,jh_tot*delta,jh_tot);

fmax=1e10;

tau=3e-10;%1/(pi*(fmax-freq));

ndecay=tau/dt;

n0=3*ndecay;

%***********************************************************************

% Material parameters

%***********************************************************************

MEDIAez=ones(ie_tot,je_tot);

MEDIAhx=ones(ie_tot,jh_tot);

Page 42: Development of Analytical and Experimental Tools for Microwave

MEDIAhy=ones(ih_tot,je_tot);

ez(ie_tot,je_tot)=0.0;

dz=ez;

hx(ie_tot,jh_tot)=0.0;

bx=hx;

hy(ih_tot,je_tot)=0.0;

by=hy;

C1ez=ones(size(ez));

C2ez=ones(size(ez));

C3ez=ones(size(ez));

C4ez=ones(size(ez));

C5ez=ones(size(ez));

C6ez=ones(size(ez));

D1hx=ones(size(hx));

D2hx=ones(size(hx));

D3hx=ones(size(hx));

D4hx=ones(size(hx));

D5hx=ones(size(hx));

D6hx=ones(size(hx));

D1hy=ones(size(hy));

D2hy=ones(size(hy));

D3hy=ones(size(hy));

D4hy=ones(size(hy));

D5hy=ones(size(hy));

D6hy=ones(size(hy));

C1=(2*epsrb*epsz*1-sigrb*dt)/(2*epsrb*epsz*1+sigrb*dt);

C2=2*epsrb*epsz*dt/(2*epsrb*epsz*1+sigrb*dt);

C3=(2*epsrb*epsz*1-sigrb*dt)/(2*epsrb*epsz*1+sigrb*dt);

C4=1.0/(2*epsrb*epsz*1+sigrb*dt)/(epsrb*epsz);

C5=2.0*epsrb*epsz;

C6=2.0*epsrb*epsz;

D1x=(2*epsrb*epsz*1-sigrb*dt)/(2*epsrb*epsz*1+sigrb*dt);

D2x=2*epsrb*epsz*dt/(2*epsrb*epsz*1+sigrb*dt);

D3x=1.0;

D4x=1.0/(2*epsrb*epsz)/muz;

D5x=2.0*epsrb*epsz+sigrb*dt;

D6x=2.0*epsrb*epsz-sigrb*dt;

D1y=1.0;

D2y=dt;

D3y=(2*epsrb*epsz*1-sigrb*dt)/(2*epsrb*epsz*1+sigrb*dt);

D4y=1.0/(2*epsrb*epsz+sigrb*dt)/muz;

D5y=2.0*epsrb*epsz+sigrb*dt;

D6y=2.0*epsrb*epsz-sigrb*dt;

Page 43: Development of Analytical and Experimental Tools for Microwave

%Assign main domain parameters to whole region, then modify the PML region

C1ez=C1*C1ez;

C2ez=C2*C2ez;

C3ez=C3*C3ez;

C4ez=C4*C4ez;

C5ez=C5*C5ez;

C6ez=C6*C6ez;

D1hx=D1x*D1hx;

D2hx=D2x*D2hx;

D3hx=D3x*D3hx;

D4hx=D4x*D4hx;

D5hx=D5x*D5hx;

D6hx=D6x*D6hx;

D1hy=D1y*D1hy;

D2hy=D2y*D2hy;

D3hy=D3y*D3hy;

D4hy=D4y*D4hy;

D5hy=D5y*D5hy;

D6hy=D6y*D6hy;

%assing media pointers to scatter

for i=1:ie_tot

for j=1:je_tot

if ((i-i_cen)^2+(j-j_cen)^2)<=(0.002/delta)^2 %scatter

MEDIAez(i,j)=2;

MEDIAhx(i,j)=2;

MEDIAhy(i,j)=2;

% elseif ((i-i_cen)^2+(j-j_cen)^2)<=(0.002/delta)^2 && ((i-i_cen)^2+(j-

j_cen)^2)>(0.002/delta-1)^2 %scatter

% MEDIAez(i,j)=3;

% MEDIAhx(i,j)=3;

% MEDIAhy(i,j)=3;

end

end

end

%Get index of observation points

I=ones(1,2);

J=ones(1,2);

index=1;

for i=1:ie_tot

for j=1:je_tot

if (((i-i_cen)^2+(j-j_cen)^2)>=(0.04/delta)^2 && ((i-i_cen)^2+(j-

j_cen)^2)<(0.04/delta+1)^2)

I(index)=i;

J(index)=j;

index=index+1;

end;

Page 44: Development of Analytical and Experimental Tools for Microwave

end

end

%Get index of source locations

Id=ones(1,2);

Jd=ones(1,2);

index=1;

for i=1:ie_tot

for j=1:je_tot

if (((i-i_cen)^2+(j-j_cen)^2)>(0.002/delta+0.4)^2 && ((i-i_cen)^2+(j-

j_cen)^2)<(0.002/delta+1.4)^2)

Id(index)=i;

Jd(index)=j;

index=index+1;

end

end

end

source=[i_src-i_cen 0];

phi=ones(1,size(Id,2));

for i=1:size(Id,2)

a=[Id(i)-i_cen Jd(i)-j_cen];

l=sqrt(source(1)^2+source(2)^2)*sqrt(a(1)^2+a(2)^2);

cfi=dot(a,source)/l;

phi(i)=acos(cfi);

if a(2)<0

phi(i)=2*pi-phi(i);

end

end

for i=1:length(phi)-1

for j=i+1:length(phi)

if phi(j)<phi(i)

temp=phi(i);

phi(i)=phi(j);

phi(j)=temp;

temp=Id(i);

Id(i)=Id(j);

Id(j)=temp;

temp=Jd(i);

Jd(i)=Jd(j);

Jd(j)=temp;

end

end

end

%***********************************************************************

% compute observation points angle

%***********************************************************************

Page 45: Development of Analytical and Experimental Tools for Microwave

source=[i_src-i_cen 0];

fi=ones(1,size(I,2));

for i=1:size(I,2)

a=[I(i)-i_cen J(i)-j_cen];

l=sqrt(source(1)^2+source(2)^2)*sqrt(a(1)^2+a(2)^2);

cfi=dot(a,source)/l;

fi(i)=acos(cfi);

if a(2)<0

fi(i)=2*pi-fi(i);

end

end

for i=1:size(fi,2)-1

for j=i+1:size(fi,2)

if fi(j)<fi(i)

temp=fi(i);

fi(i)=fi(j);

fi(j)=temp;

temp=I(i);

I(i)=I(j);

I(j)=temp;

temp=J(i);

J(i)=J(j);

J(j)=temp;

end

end

end

%delete some observation points, avoid 'noisy' data

i=1;

while (i<length(fi))

if abs(fi(i)-fi(i+1))<0.02

fi(i+1)=[];

I(i+1)=[];

J(i+1)=[];

else i=i+1;

end

end

eps=[epsrb epsrs 1/2*(epsrb+epsrs)];

sig=[sigrb sigrs 1/2*(sigrb+sigrs)];

mu=[1.0 1.0 1.0];

sigstar=[0.0 0.0 0.0];

disp=0.45e-3;

rc=-(sqrt(epsrs)-sqrt(epsrb))/(sqrt(epsrs)+sqrt(epsrb));

%***********************************************************************

% Compute Sources

%***********************************************************************

Page 46: Development of Analytical and Experimental Tools for Microwave

Jz=zeros(nmax-1,length(Id));

for i=2:nmax

Jz(i-1,:)=-(disp.*(epsrs*epsz-epsrb*epsz).*(eoz(i,:)-eoz(i-1,:))./dt+disp*(sigrs-

sigrb)*(eoz(i,:)+eoz(i-1,:))/2);

end

Jz=Jz./delta;

%***********************************************************************

% Main Grid Coefficients

%***********************************************************************

ca=(1.0-(dt*sig)./(2.0*epsz*eps))./(1.0+(dt*sig)./(2.0*epsz*eps));

cb=(dt./epsz./eps./delta)./(1.0+(dt*sig)./(2.0*epsz*eps));

da=(1.0-(sigstar*dt)./(2.0*muz*mu))./(1.0+(dt*sigstar)./(2.0*muz*mu));

db=(dt./muz./mu./delta)./(1.0+(dt*sigstar)./(2.0*muz*mu));

%***********************************************************************

% UPML Coefficients

%***********************************************************************

%Update coefficients in PML region

R0=exp(-16); %reflection error

m=4; %order of polynomial grading

d=upml*delta; %thickness of pml slabs;

eta=sqrt(muz/epsrb/epsz);

%x-direction

sigxmax=-(m+1)*log(R0/100)/2/d/eta;

kxmax=1.0;

sigfactor=sigxmax/(m+1)/(d^m)/delta;

kfactor=(kxmax-1)/(m+1)/(d^m)/delta;

for i=1:upml

%coefficients on the boundary

x2=(upml-i+1.5)*delta;

x1=(upml-i+0.5)*delta;

sigx=(x2^(m+1)-x1^(m+1))*sigfactor;

kx=1+(x2^(m+1)-x1^(m+1))*kfactor;

C1=(2*epsrb*epsz*kx-sigx*dt)/(2*epsrb*epsz*kx+sigx*dt);

C2=(2*epsrb*epsz*dt)/(2*epsrb*epsz*kx+sigx*dt);

D5=(2*epsrb*epsz*kx+sigx*dt);

D6=(2*epsrb*epsz*kx-sigx*dt);

C1ez(i,:)=C1;

C1ez(ie_tot-i+1,:)=C1;

C2ez(i,:)=C2;

C2ez(ie_tot-i+1,:)=C2;

D5hx(i,:)=D5;

D5hx(ie_tot-i+1,:)=D5;

D6hx(i,:)=D6;

D6hx(ie_tot-i+1,:)=D6;

Page 47: Development of Analytical and Experimental Tools for Microwave

%coefficients in the center

x2=(upml-i+1)*delta;

x1=(upml-i)*delta;

sigx=(x2^(m+1)-x1^(m+1))*sigfactor;

kx=1+(x2^(m+1)-x1^(m+1))*kfactor;

D3=(2*epsrb*epsz*kx-sigx*dt)/(2*epsrb*epsz*kx+sigx*dt);

D4=1.0/(2*epsrb*epsz*kx+sigx*dt)/muz;

D3hy(i,:)=D3;

D3hy(ih_tot-i+1,:)=D3;

D4hy(i,:)=D4;

D4hy(ih_tot-i+1,:)=D4;

end

% Model PEC walls

C1ez(1,:)=-1.0;

C1ez(ie_tot,:)=-1.0;

C2ez(1,:)=0.0;

C2ez(ie_tot,:)=0.0;

%y-direction

sigymax=-(m+1)*log(R0/100)/2/d/eta;

kymax=1.0;

sigfactor=sigymax/(m+1)/(d^m)/delta;

kfactor=(kymax-1)/(m+1)/(d^m)/delta;

for j=1:upml

%coefficients on the boundary

y2=(upml-j+1.5)*delta;

y1=(upml-j+0.5)*delta;

sigy=(y2^(m+1)-y1^(m+1))*sigfactor;

ky=1+(y2^(m+1)-y1^(m+1))*kfactor;

C3=(2*epsrb*epsz*ky-sigy*dt)/(2*epsrb*epsz*ky+sigy*dt);

C4=1.0/(2*epsrb*epsz*ky+sigy*dt)/epsrb/epsz;

D5=(2*epsrb*epsz*ky+sigy*dt);

D6=(2*epsrb*epsz*ky-sigy*dt);

C3ez(:,j)=C3;

C3ez(:,je_tot-j+1)=C3;

C4ez(:,j)=C4;

C4ez(:,je_tot-j+1)=C4;

D5hy(:,j)=D5;

D5hy(:,je_tot-j+1)=D5;

D6hy(:,j)=D6;

D6hy(:,je_tot-j+1)=D6;

%coefficients in the center

y2=(upml-j+1)*delta;

y1=(upml-j)*delta;

sigy=(y2^(m+1)-y1^(m+1))*sigfactor;

ky=1+(y2^(m+1)-y1^(m+1))*kfactor;

D1=(2*epsrb*epsz*ky-sigy*dt)/(2*epsrb*epsz*ky+sigy*dt);

Page 48: Development of Analytical and Experimental Tools for Microwave

D2=2*epsrb*epsz*dt/(2*epsrb*epsz*ky+sigy*dt);

D1hx(:,j)=D1;

D1hx(:,jh_tot-j+1)=D1;

D2hx(:,j)=D2;

D2hx(:,jh_tot-j+1)=D2;

end

% Model PEC walls

C3ez(:,1)=-1.0;

C3ez(:,je_tot)=-1.0;

C4ez(:,1)=0.0;

C4ez(:,je_tot)=0.0;

%***********************************************************************

% BEGIN TIME-STEPPING LOOP

%***********************************************************************

ez_obs(nmax,size(I,2))=0.0;

ftr(1,size(I,2))=0.0;

fti(1,size(I,2))=0.0;

for n=1:nmax-1

%***********************************************************************

% Update electric fields

%***********************************************************************

es=ez;

ez(upml+1:ie_tot-upml,upml+1:je_tot-upml)=ca(MEDIAez(upml+1:ie_tot-

upml,upml+1:je_tot-upml)).*ez(upml+1:ie_tot-upml,upml+1:je_tot-upml)+...

cb(MEDIAez(upml+1:ie_tot-upml,upml+1:je_tot-upml)).*...

(hy(upml+1:ie_tot-upml,upml+1:je_tot-upml)-hy(upml:ih_tot-upml,upml+1:je_tot-

upml)+...

hx(upml+1:ie_tot-upml,upml:jh_tot-upml)-hx(upml+1:ie_tot-upml,upml+1:je_tot-

upml));

ds=dz;

dz(2:upml,2:je_tot-1)=C1ez(2:upml,2:je_tot-1).*dz(2:upml,2:je_tot-1)+...

C2ez(2:upml,2:je_tot-1)./delta.*((hy(2:upml,2:je_tot-1)-hy(1:upml-1,2:je_tot-1))-...

(hx(2:upml,2:je_tot-1)-hx(2:upml,1:je_tot-2)));

ez(2:upml,2:je_tot-1)=C3ez(2:upml,2:je_tot-1).*es(2:upml,2:je_tot-1)+...

C4ez(2:upml,2:je_tot-1).*(C5ez(2:upml,2:je_tot-1).*dz(2:upml,2:je_tot-1)-

C6ez(2:upml,2:je_tot-1).*ds(2:upml,2:je_tot-1));

dz(upml+1:ie_tot-1,2:upml)=C1ez(upml+1:ie_tot-1,2:upml).*ds(upml+1:ie_tot-1,2:upml)+...

C2ez(upml+1:ie_tot-1,2:upml)./delta.*((hy(upml+1:ie_tot-1,2:upml)-hy(upml:ie_tot-

2,2:upml))-...

(hx(upml+1:ie_tot-1,2:upml)-hx(upml+1:ie_tot-1,1:upml-1)));

ez(upml+1:ie_tot-1,2:upml)=C3ez(upml+1:ie_tot-1,2:upml).*es(upml+1:ie_tot-1,2:upml)+...

C4ez(upml+1:ie_tot-1,2:upml).*(C5ez(upml+1:ie_tot-

1,2:upml).*dz(upml+1:ie_tot-1,2:upml)-...

Page 49: Development of Analytical and Experimental Tools for Microwave

C6ez(upml+1:ie_tot-1,2:upml).*ds(upml+1:ie_tot-1,2:upml));

dz(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1)=C1ez(upml+1:ie_tot-1,je_tot-upml+1:je_tot-

1).*ds(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1)+...

C2ez(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1)./delta.*...

((hy(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1)-hy(upml:ie_tot-2,je_tot-upml+1:je_tot-

1))-...

(hx(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1)-hx(upml+1:ie_tot-1,je_tot-upml:je_tot-

2)));

ez(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1)=C3ez(upml+1:ie_tot-1,je_tot-upml+1:je_tot-

1).*es(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1)+...

C4ez(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1).*...

(C5ez(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1).*dz(upml+1:ie_tot-1,je_tot-

upml+1:je_tot-1)-...

C6ez(upml+1:ie_tot-1,je_tot-upml+1:je_tot-1).*ds(upml+1:ie_tot-1,je_tot-

upml+1:je_tot-1));

dz(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml)=C1ez(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-

upml).*ds(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml)+...

C2ez(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml)./delta.*...

((hy(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml)-hy(ie_tot-upml:ie_tot-

2,upml+1:je_tot-upml))-...

(hx(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml)-hx(ie_tot-upml+1:ie_tot-

1,upml:je_tot-upml-1)));

ez(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml)=C3ez(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-

upml).*es(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml)+...

C4ez(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml).*...

(C5ez(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml).*dz(ie_tot-upml+1:ie_tot-

1,upml+1:je_tot-upml)-...

C6ez(ie_tot-upml+1:ie_tot-1,upml+1:je_tot-upml).*ds(ie_tot-upml+1:ie_tot-

1,upml+1:je_tot-upml));

for i=1:length(Id)

ez(Id(i),Jd(i))=ez(Id(i),Jd(i))-cb(MEDIAez(Id(i),Jd(i)))*delta*Jz(n,i);

end

%***********************************************************************

% Update magnetic fields

%***********************************************************************

hs=hx;

hx(upml+1:ie_tot-upml,upml+1:jh_tot-upml)=da(MEDIAhx(upml+1:ie_tot-

upml,upml+1:jh_tot-upml)).*hx(upml+1:ie_tot-upml,upml+1:jh_tot-upml)+...

db(MEDIAhx(upml+1:ie_tot-upml,upml+1:jh_tot-upml)).*(ez(upml+1:ie_tot-

upml,upml+1:jh_tot-upml)-ez(upml+1:ie_tot-upml,upml+2:je_tot-upml));

bs=bx;

bx(1:upml,:)=D1hx(1:upml,:).*bx(1:upml,:)-D2hx(1:upml,:).*(ez(1:upml,2:je_tot)-

ez(1:upml,1:jh_tot))./delta;

hx(1:upml,:)=D3hx(1:upml,:).*hx(1:upml,:)+D4hx(1:upml,:).*(D5hx(1:upml,:).*bx(1:upml,:)-

D6hx(1:upml,:).*bs(1:upml,:));

Page 50: Development of Analytical and Experimental Tools for Microwave

bx(upml+1:ie_tot,1:upml)=D1hx(upml+1:ie_tot,1:upml).*bs(upml+1:ie_tot,1:upml)-...

D2hx(upml+1:ie_tot,1:upml).*(ez(upml+1:ie_tot,2:upml+1)-

ez(upml+1:ie_tot,1:upml))./delta;

hx(upml+1:ie_tot,1:upml)=D3hx(upml+1:ie_tot,1:upml).*hs(upml+1:ie_tot,1:upml)+D4hx(u

pml+1:ie_tot,1:upml).*...

(D5hx(upml+1:ie_tot,1:upml).*bx(upml+1:ie_tot,1:upml)-

D6hx(upml+1:ie_tot,1:upml).*bs(upml+1:ie_tot,1:upml));

bx(ie_tot-upml+1:ie_tot,upml+1:jh_tot)=D1hx(ie_tot-

upml+1:ie_tot,upml+1:jh_tot).*bs(ie_tot-upml+1:ie_tot,upml+1:jh_tot)-...

D2hx(ie_tot-upml+1:ie_tot,upml+1:jh_tot).*(ez(ie_tot-upml+1:ie_tot,upml+2:jh_tot+1)-

ez(ie_tot-upml+1:ie_tot,upml+1:jh_tot))./delta;

hx(ie_tot-upml+1:ie_tot,upml+1:jh_tot)=D3hx(ie_tot-upml+1:ie_tot,upml+1:jh_tot).*...

hs(ie_tot-upml+1:ie_tot,upml+1:jh_tot)+D4hx(ie_tot-upml+1:ie_tot,upml+1:jh_tot).*...

(D5hx(ie_tot-upml+1:ie_tot,upml+1:jh_tot).*bx(ie_tot-upml+1:ie_tot,upml+1:jh_tot)-...

D6hx(ie_tot-upml+1:ie_tot,upml+1:jh_tot).*bs(ie_tot-upml+1:ie_tot,upml+1:jh_tot));

bx(upml+1:ie_tot-upml,jh_tot-upml+1:jh_tot)=D1hx(upml+1:ie_tot-upml,jh_tot-

upml+1:jh_tot).*bs(upml+1:ie_tot-upml,jh_tot-upml+1:jh_tot)-...

D2hx(upml+1:ie_tot-upml,jh_tot-upml+1:jh_tot).*...

(ez(upml+1:ie_tot-upml,jh_tot-upml+2:jh_tot+1)-ez(upml+1:ie_tot-upml,jh_tot-

upml+1:jh_tot))./delta;

hx(upml+1:ie_tot-upml,jh_tot-upml+1:jh_tot)=D3hx(upml+1:ie_tot-upml,jh_tot-

upml+1:jh_tot).*...

hs(upml+1:ie_tot-upml,jh_tot-upml+1:jh_tot)+D4hx(upml+1:ie_tot-upml,jh_tot-

upml+1:jh_tot).*...

(D5hx(upml+1:ie_tot-upml,jh_tot-upml+1:jh_tot).*bx(upml+1:ie_tot-upml,jh_tot-

upml+1:jh_tot)-...

D6hx(upml+1:ie_tot-upml,jh_tot-upml+1:jh_tot).*bs(upml+1:ie_tot-upml,jh_tot-

upml+1:jh_tot));

hs=hy;

hy(upml+1:ih_tot-upml,upml+1:je_tot-upml)=da(MEDIAhy(upml+1:ih_tot-

upml,upml+1:je_tot-upml)).*...

hy(upml+1:ih_tot-upml,upml+1:je_tot-upml)+db(MEDIAhy(upml+1:ih_tot-

upml,upml+1:je_tot-upml)).*...

(ez(upml+2:ie_tot-upml,upml+1:je_tot-upml)-ez(upml+1:ih_tot-upml,upml+1:je_tot-

upml));

bs=by;

by(1:upml,:)=D1hy(1:upml,:).*by(1:upml,:)-D2hy(1:upml,:).*(-(ez(2:upml+1,1:je_tot)-

ez(1:upml,1:je_tot)))./delta;

hy(1:upml,:)=D3hy(1:upml,:).*hy(1:upml,:)+D4hy(1:upml,:).*(D5hy(1:upml,:).*by(1:upml,:)-

D6hy(1:upml,:).*bs(1:upml,:));

by(upml+1:ih_tot,1:upml)=D1hy(upml+1:ih_tot,1:upml).*bs(upml+1:ih_tot,1:upml)-...

D2hy(upml+1:ih_tot,1:upml).*(-(ez(upml+2:ih_tot+1,1:upml)-

ez(upml+1:ih_tot,1:upml)))./delta;

Page 51: Development of Analytical and Experimental Tools for Microwave

hy(upml+1:ih_tot,1:upml)=D3hy(upml+1:ih_tot,1:upml).*hs(upml+1:ih_tot,1:upml)+D4hy(u

pml+1:ih_tot,1:upml).*...

(D5hy(upml+1:ih_tot,1:upml).*by(upml+1:ih_tot,1:upml)-

D6hy(upml+1:ih_tot,1:upml).*bs(upml+1:ih_tot,1:upml));

by(ih_tot-upml+1:ih_tot,upml+1:je_tot)=D1hy(ih_tot-

upml+1:ih_tot,upml+1:je_tot).*bs(ih_tot-upml+1:ih_tot,upml+1:je_tot)-...

D2hy(ih_tot-upml+1:ih_tot,upml+1:je_tot).*(-(ez(ih_tot-upml+2:ih_tot+1,upml+1:je_tot)-

ez(ih_tot-upml+1:ih_tot,upml+1:je_tot)))./delta;

hy(ih_tot-upml+1:ih_tot,upml+1:je_tot)=D3hy(ih_tot-

upml+1:ih_tot,upml+1:je_tot).*hs(ih_tot-upml+1:ih_tot,upml+1:je_tot)+...

D4hy(ih_tot-upml+1:ih_tot,upml+1:je_tot).*(D5hy(ih_tot-

upml+1:ih_tot,upml+1:je_tot).*by(ih_tot-upml+1:ih_tot,upml+1:je_tot)-...

D6hy(ih_tot-upml+1:ih_tot,upml+1:je_tot).*bs(ih_tot-upml+1:ih_tot,upml+1:je_tot));

by(upml+1:ih_tot-upml,je_tot-upml+1:je_tot)=D1hy(upml+1:ih_tot-upml,je_tot-

upml+1:je_tot).*bs(upml+1:ih_tot-upml,je_tot-upml+1:je_tot)-...

D2hy(upml+1:ih_tot-upml,je_tot-upml+1:je_tot).*...

(-(ez(upml+2:ih_tot-upml+1,je_tot-upml+1:je_tot)-ez(upml+1:ih_tot-upml,je_tot-

upml+1:je_tot)))./delta;

hy(upml+1:ih_tot-upml,je_tot-upml+1:je_tot)=D3hy(upml+1:ih_tot-upml,je_tot-

upml+1:je_tot).*hs(upml+1:ih_tot-upml,je_tot-upml+1:je_tot)+...

D4hy(upml+1:ih_tot-upml,je_tot-upml+1:je_tot).*...

(D5hy(upml+1:ih_tot-upml,je_tot-upml+1:je_tot).*by(upml+1:ih_tot-upml,je_tot-

upml+1:je_tot)-...

D6hy(upml+1:ih_tot-upml,je_tot-upml+1:je_tot).*bs(upml+1:ih_tot-upml,je_tot-

upml+1:je_tot));

%***********************************************************************

% Get obseverations, compute phasor quantities

%***********************************************************************

for i=1:size(I,2)

ez_obs(n,i)=ez(I(i),J(i));

ftr(i)=ftr(i)+ez_obs(n,i)*cos(omega*n*dt);

fti(i)=fti(i)+ez_obs(n,i)*sin(omega*n*dt);

end

end

Ed=(ftr-1j*fti);


Recommended