Download - fdtd simulation
-
8/10/2019 fdtd simulation
1/37
-
8/10/2019 fdtd simulation
2/37
-
8/10/2019 fdtd simulation
3/37
A finite-difference time-domain (FDTD) software 301
Canonical FDTD Form [10]):
Hn+ 1
2
r(i,j,k) = Hn 1
2
r(i,j,k) t
Enr(i,j,k) (1)
En+1r(i,j,k) = E
nr(i,j,k)+
t
r(i,j,k)
H
n+ 12
r(i,j,k) Jn+ 1
2
r(i,j,k)
(2)
where r = x, y, z. Here Hn+ 1
2
r(i,j,k) and Enr(i,j,k) are shorthand,
for instance for x component these are [6, 7]:
Enx(i,j,k) =En
z(i,j+1,k) Enz(i,j,k)
y
En
y(i,j,k+1) Eny(i,j,k)
z
(3a)
Hn+ 1
2
x(i,j,k) =H
n+ 12
z(i,j,k) Hn+ 1
2
z(i,j1,k)
y
Hn+ 1
2
y(i,j,k) Hn+ 1
2
y(i,j,k1)
z (3b)
Equation (1) and (2) are derived from Maxwells Curl equations ofEand H fields respectively by replacing the differential operators withfinite difference. The term r(i,j,k) is the effective permittivity of the
medium while J
n+ 12
r(i,j,k) is the effective current density. Both terms canbe dependent on location, orientation and previous field componentvalues. The detailed derivation of the update equations for the fieldcomponents will not be repeated here, but the reader is referred to theappropriate references [212].
The focus of this paper is on the designing of a versatile FDTDsoftware for PCB modeling. This paper summarizes the works of [212], particularly [6, 7, 10] and shows in a systematic way how a fullfledge FDTD software for 3D PCB modeling can be developed using
object-oriented programming (OOP) language. Section 2 describes indetail how a 3D PCB model with complicated conducting structurescan be modeled by using dielectric cubes with various conductingpatches on the surface. A summary of incorporating lumped linearand nonlinear components is also presented. Issues of stability andabsorbing boundary condition (ABC) are briefly discussed in Section 3.An efficient syntax to describe a 3D model is then shown in Section 4,followed by an overview of the architecture of the FDTD softwarein Section 5. Finally Section 6 shows some simulation examples to
validate the work.
-
8/10/2019 fdtd simulation
4/37
302 Kung and Chuah
N=1 N=2 N=3
N=5 N=7 N=8 N=9
N=10 N=12N=13 N=14
N=15 N=16 N=18N=19
N=20 N=21
PEC surface
N=17
Figure 2. Perfect electric conductor (PEC) patches on cube surfacewith integer identification.
2. BUILDING A 3D MODEL FROM CUBES
Since a PCB assembly contains metallic structures, a range of cubes,with different conducting patches on the surface is proposed, asillustrated in Fig. 2. Notice that in Fig. 2 an integer is assignedto each cube pattern, this allows the user to differentiate between
the distinct cubes. Combining and stacking these cubes allows oneto achieve a realistic approximate 3D model of a PCB assemblywith various conducting structures. Since the conducting traces ona PCB is usually made of gold-plated copper-beryllium alloy with verylarge conductivity, it will be assumed as perfect electric conductor(PEC) here for simplicity. Moreover each cube can be assigned withsome properties, which include the dielectric constant r and theconductivity of the cube. These two parameters can be constant,or change with frequency and field intensity. This allows modeling
of dielectric properties such as (1) linear, lossless, non-dispersive (2)linear, lossy, non-dispersive (3) linear, lossless and dispersive and (4)nonlinear. In a homogeneous, linear and lossless dielectric, the generalelectric field update equation of (2) would be simplified to:
-
8/10/2019 fdtd simulation
5/37
A finite-difference time-domain (FDTD) software 303
En+1r(i,j,k)=E
nr(i,j,k)+
t
r
H
n+ 12
r(i,j,k)
(4)
If the dielectric is non-homogeneous, the permittivity r in (4)
will be the average permittivity of the 4 cubes surrounding the electricfield component [9]. Linear dispersive dielectric can be accounted forby Recursive Convolution Method [11] (also described extensively inChapter 9 of [3]) or the Z-transform method [12]. The Z-transformmethod can also handle nonlinear dielectric quite effectively. Inboth approaches the electric update equation will again assume the
general form of (2), with the effective current density Jn+ 1
2
r(i,j,k) due to
the contribution from previous field components. Jn+ 1
2
r(i,j,k) will be a
nonlinear function of the field components for a nonlinear dielectric.
Dielectric
Conducting trace
PEC on top faceTriangular PEC
patch on top face
Figure 3. Top view of a section of a PCB surface and the equivalentFDTD model.
2.1. Incorporating Conducting Structures
Using the cubes of Fig. 2, a conducting trace with bend can easily beconstructed as shown in Fig. 3. To model a PEC patch on the top faceof a cube, all the corresponding E field components on the edges ofthe face will be permanently set to zero. To model a triangular patchon the surface of a cube, a method called Diagonal split-cell model forPEC surface ([3], Chapter 10) is employed. The formulation is basedon application of integral form of Faradays Law, the detail is discussedin [3] and [9]. Here only the result is given. Consider Fig. 4 where thetop face of the cube is a PEC conducting patch, the update equation
for Hn+ 12z(i,j,k+1) is:
Hn+ 1
2
z(i,j,k+1)=Hn 1
2
z(i,j,k+1)
2t
yEnx(i,j,k+1)+
2t
xEny(i+1,j,k+1)
(5)
-
8/10/2019 fdtd simulation
6/37
304 Kung and Chuah
x
y
z
Cube (i,j,k)
Hz(i,j,k+1)
Ex(i,j+1,k+1)
Ex(i,j,k+1)
Ey(i,j,k+1)
Ey(i+1,j,,k+1)
PEC
Figure 4. Top face of Cube (i,j,k) being partially covered withtriangular PEC patch.
Equation (5) together with En+1x(i,j+1,k+1) = 0 and E
n+1y(i,j,k+1) =
0 account for the triangular PEC patch on the top surface ofCube (i,j,k). The update equations for En+1
x(i,j,k+1)
and En+1
y(i+1,j,k+1)remain unchanged. Fig. 5 shows the other orientations for triangularPEC patches and the corresponding update equations for Hz fieldcomponent. This can be easily extended to triangular conductingpatches in other surfaces.
2.2. Lumped Components
In FDTD method, a lumped component is assumed to coincide withan E field component. Associated with each lumped element is thecurrent-voltage (IV) relation. A potential difference imposed acrossthe lumped element will result in a current flowing through the lumpedelement with negligible delay. Maxwells Curl equation for H is thenused to derive the update equation for the corresponding E fieldcomponent. Update equation for Hfield components surrounding thelumped component is not affected.
2.2.1. Linear Lumped Components
Linear lumped components encompass elements such as short lengthof wire, resistor, capacitor, inductor and resistive voltage source.The IV relation for the lumped component is linear. Here it isassumed the lumped element coincides withEfield componentEn
z(i,j,k),
-
8/10/2019 fdtd simulation
7/37
A finite-difference time-domain (FDTD) software 305
x
y
z
Hz(i,j,k+1)
Cube(i,j,k)
Hz(i,j,k+1)
Cube(i,j,k)
Hz(i,j,k+1)
Cube(i,j,k)
++= +
++
-+
+
+n
kjiyxtn
kjixytn
kjiz
n
kjizEEHH )1,,(
2)1,1,(
2)1,,()1,,(
2
1
2
1
-+= ++
++
-+
+
+n
kjiyxtn
kjixytn
kjiz
n
kjiz EEHH )1,,1(
2)1,1,(
2)1,,()1,,(
2
1
2
1
++= +
+
-+
+
+n
kjiyxtn
kjixytn
kjiz
n
kjizEEHH )1,,(
2)1,,(
2)1,,()1,,(
2
1
2
1
Figure 5. Update equations for Hz field component for varioustriangular PEC patches on top surface of Cube (i,j,k).
generalization to other Efield components can be easily carried out.Table 1 provides the update equations for the En+1
z(i,j,k) field component
when it is assumed that the above lumped components coincide with
it. The derivation is described in [2]. Update equations for Hn+ 1
2
x(i,j,k),
H
n+ 12
x(i,j1,k), H
n+ 12
y(i,j,k) and H
n+ 12
y(i1,j,k) remain unchanged.
2.2.2. Nonlinear Lumped Components
In this section, the technique of incorporating lumped diode andbipolar junction transistor (BJT) will be described. The IV relationsfor diode and BJT are nonlinear. The discrete diode or BJT inclusiveof the packaging may be larger than the cubes used to discretized thecomputational domain, but the actual size of the PN junction within
the diode and BJT is usually smaller than the length of the cubes, thuscan be considered as lumped. In this section, modeling of field effecttransistor (FET) will not be covered as the method proposed for thediode and BJT can be directly extended to include the FET, see [5]
-
8/10/2019 fdtd simulation
8/37
306 Kung and Chuah
Table 1. Update equations for En+1z(i,j,k) of various linear lumped
elements.
Resistor21
),,(
2
),,(
2
21
),,(
11
1 +
+
++
+
=
n
kjiz
yxRzt
tnkjiz
yxRzt
yxRztn
kjiz HEE
where ( )( ) ( ) ( ) ( )
y
HH
x
HHn
kjiz
n
kjix
n
kjix
n
kjiy
n
kjiyH
+
+-
-
+
=21
,1,21
,,21
,,121
,,21
,,
Capacitor21
),,(),,(1
),,(1
+
+
++=
n
kjiz
yxzC
tn
kjizn
kjizHEE
Inductor ( ) =
++ +=
n
m
mkjizyxL
tzn
kjiztn
kjizn
kjiz EHEE
1),,(),,(),,(
1),,(
221
Resistive Voltage Source
1
-
11
1
21n
s
21
V
2
),,(
2
),,(
2
21),,(
+
++
+
=
+
+
+
zyxR
zt
yxR
zt
n
kjiz
yxR
zt
tn
kjiz
yxR
zt
yxR
ztn
kjizHEE
nsV can be a constant to represent d.c. source, a sinusoidal
function, a pulse function or any other arbitrary function of n.
Wire 01 ),,( =+n kjizE
y
x
zCube
with
permittivity
C
y
x
z
y
x
z
z
y
x
R
+
- VS
y
x
z
(i,j,k)
L
-
8/10/2019 fdtd simulation
9/37
A finite-difference time-domain (FDTD) software 307
for instance.The diode model used here is similar to the model used in SPICE
circuit simulator [13]. Here Taylor expansion is used to approximate
the current-voltage (IV) relationship across the PN junction locally.The Taylor expansion will result in a quadratic expression for the IVrelation, which changes dynamically as the operating point of the PN
junction shifts during simulation. The advantage of this approach issimplicity in that the update equation for the electric field is explicit.Full details are presented in [6]. Unlike the linear components the PN
junction is a polarized device, i.e., the current flow in the positive andnegative direction is not the same. Assuming the lumped diode tobe oriented along z-axis, it can be oriented in two modes along the z
direction. We call these the positive and negative orientation, denotedby integer N. This is illustrated in Fig. 6. The positive orientationcorresponds to forward bias current flowing in the positive z-axis andvice-versa for the negative orientation. The effective voltage across thePN junction is then given by:
V =N Ez(i,j,k)z (6)
The bipolar junction transistor (BJT) is modeled as two back-to-backPN junctions. In this paper Gummel-Poon model is used instead
as it is more accurate over the older Ebers-Moll BJT model [13].Following the spirit of incorporating the diode into FDTD formulation,the IV relations across the base-emitter (BE) and base-collector(BC) junctions of the BJT are approximated by two variables Taylorexpansion. Ignoring higher order terms leads to two update equationsfor the electric fields across the BE and BC junctions. Full details arepresented in [7]. Table 2A and Table 2B summarize the formulationfor diode and BJT into the FDTD framework based on the methodsdescribed in [6] and [7]. This is shown for diode that is oriented along
z-axis and BJT along x-axis, again orientation in other directions caneasily be accommodated.
I
+ve OrientationN= +1
I
-ve OrientationN= -1
+ZV
V
-Z
Figure 6. Positive and negative orientation of the diode.
-
8/10/2019 fdtd simulation
10/37
-
8/10/2019 fdtd simulation
11/37
-
8/10/2019 fdtd simulation
12/37
310 Kung and Chuah
Table 2B. continued.
z
HH
y
HHn
kjiC
n
ckcjciy
n
ckcjciy
n
ckcjciz
n
ckcjciz
cccH
-
-+
+
-
+
+
-
+
=
2
1
)1,,(2
1
),,(
2
1
),1,(2
1
),,(21
),,(
z
HH
y
HHn
kjiE
n
ekejeiy
n
ekejeiy
n
ekejeiz
n
ekejeiz
eeeH
-
-+
+
-
+
+
-
+
=
2
1
)1,,(2
1
),,(
2
1
),1,(2
1
),,(2
1
),,(
ECCCLEES IIIIF
++=
11 CCECLCCS IIII
R
++=
11
121
1 +
+=
t
C
VV
I
zyxt
nC
nBC
BC
ES
B
=
+
21
),,(1n
kjiCtn
CSzy
tN
ccc
C HIC
nBE
BE
CSEC
VV
I
zy
NxNtE
=21
nBC
ESEC
V
I
zy
NxNtB
=22
=+
2
1
),,(2n
kjiEtn
ESzy
tN
eee
E HIC
,*For the example illustrated in the figure above,NC= -1 andNE= 1.
y
x
z
E
B
C
y
E2 = txyz
VBC
1
2
ICS
VBE VBEn+
CE
n
+ 1
En +1
x( )cic c i,,j k=E
x( c,jc kc)
n
+
C1E2 2 1CEB B2E1 1E2 E
n +1
x( ie ej k ki je e e, , ,,
,,
E) =n
x( )e + 1
1 1
1 2
22
2C CBB
B E B E
Ex(ie je
k
ke)
Ex (ic,jc, c)
x
t
3. THE ISSUE OF STABILITY AND ABSORBINGBOUNDARY CONDITION
The proposed scheme of incorporating nonlinear diode and BJT intoFDTD simulation is efficient. Since it is a one-step method and explicit,the scheme can be easily integrated into an FDTD program. Theissue of using too large a time step, rendering the result inaccuratedoes not occur. Since in requiring the space and time discretizationto fulfill acceptable dispersion and CFL Stability Criterion [3, 8, 9],the time step is usually limited to one tenth of the period of highestharmonics encountered. This itself is sufficient to guarantee adequateaccuracy. Furthermore, in [10], a new general stability criterion hasbeen developed which can accommodate nonhomogeneous dielectricand lumped components (both linear and nonlinear). It is shownin [10] if the lumped components formulation does not contributenumerical energy to the system then the FDTD formulation is stable
-
8/10/2019 fdtd simulation
13/37
A finite-difference time-domain (FDTD) software 311
Perfect conducting wireps0.1mm52.0mm8.0mm8.0 ==== tzyx
x
y
B
E
C
Transistor outline
Yees cell
PEC wire
Ex(ic, jc, kc)
Ex(ie, je, ke)
y
x
B
E
C
Transistor
x
y
Transistor outline
E
Transistor
E
B C
),,( eee kjixE
B
E
C
Yees cell ),,( ccc kjiyE
E
Figure 7. Representing an NPN transistor in SOT23 and SOT143packages in FDTD framework.
(a condition known as proper formulation). For the case of PCB
assembly, the space and time discretization fulfills almost similarcondition as the CFL Stability Criterion. It is illustrated in [10]that all the lumped component formulations in Section 2 are properor conditionally proper, thus the FDTD system so developed will bestable.
In this paper the Murs first order absorbing boundary condition(ABC) ([3]) is used for the following reasons:
1. Murs first order ABC can be applied to boundary with dielectric
discontinuities. For boundary with dielectric discontinuity it isdiscovered that the application of Murs second order ABC willcause large spurious wave component to be generated in thecomputational domain, which defeat the purpose of having an
-
8/10/2019 fdtd simulation
14/37
312 Kung and Chuah
ps0.1mm52.0mm8.0mm8.0 ==== tzyx
60 mils
30 mils
0603 package component
Solder pad
R/2
R/2
x
y
80 mils
50 mils
0805 package
component
Conductive
terminals
Solder padPEC Wires
R/3
R/3
R/3
Yees cell
Figure 8. Representing a resistor R in 0805 and 0603 packages inFDTD framework.
Differentdielectric
Application of Mur's
second order ABC on
this E field component
will result in large
spurious wave.y
x
z
Figure 9. BoundaryEfield component between two layers of differentdielectrics.
ABC with better absorbing property. The reason for this iselectromagnetic wave travels at different velocity for dielectricwith different permittivity. Murs second order ABC ([3]) assumesall associatedEfield components to have similar permittivity andvelocityc, which is not true when the boundaryEfield componentis sandwiched between two different dielectrics. This is shown inFig. 9 for y = 0 boundary with a discontinuous dielectric alongz-axis. This results in substantial error during the interpolationprocess, which then propagates back to the computational domain.
-
8/10/2019 fdtd simulation
15/37
A finite-difference time-domain (FDTD) software 313
2. Computationally Murs first order ABC is much easier toimplement as compare to other ABCs.
3. For many PCB modeling problems, the spurious reflection from
Murs first order ABC is still acceptable as long as sufficient buffercubes are allocated.
4. THE MODEL DEFINITION FILE
With the method to model a 3D PCB assembly in place, a syntax isneeded to describe the 3D model. Here we propose a syntax calledthe Model Definition File (MDF). The MDF is a text file, consistingof lines of text which describe a single cube, or a collection of similar
cubes, until all cubes are taken into account in the model. Each linestarts with one of the following keywords: cube, region, comp,probe, param and *. A brief description of the keywords isprovided in Table 3.
A simple MDF file listing is shown in Table 4. The MDF contentof Table 4 describes the physical model illustrated in Fig. 10. Thecorresponding electrical schematic is shown in Fig. 11. Fig. 10 shows
x
z
y
x
air
A
B
Resistive
termination
Microstrip line
Top view of the model
Front view of the modelResistive
voltage source
Layers of buffer cubesTop ABC
Layers of buffer cubes
Region of interest
Right
ABCBottom ABC
Ground plane
PCB
dielectric
Left
ABC
Figure 10. Top view and front view of a simple model.
-
8/10/2019 fdtd simulation
16/37
-
8/10/2019 fdtd simulation
17/37
-
8/10/2019 fdtd simulation
18/37
316 Kung and Chuah
Figure 11. The electrical schematic of the model of Figure 10.
Ground planes
PEC wires
At end-point A (see Fig. 10) At end-point B
Resistive voltage
sourceResistive termination
x
z
Figure 12. End-points of the microstrip line.
Every line beginning with the keyword * is a comment and will beignored.
5. THE FDTD SIMULATION ENGINE ANOVERVIEW
The basic simulation engine is divided into two modules: the interfaceto the WindowsTM operating system and the actual simulation engine.This is shown in Fig. 13. In this paper only an overview of the programwill be given. Emphasis is on the concepts of organizing the data inthe program systematically so that many different conditions can bemodeled.
The WindowsTM Interface Block is coded in C Language, as thereare many standard templates for creating a WindowsTM based programin C. The FDTD Simulation Engine is coded in C++ Language
-
8/10/2019 fdtd simulation
19/37
A finite-difference time-domain (FDTD) software 317
Windows Interface Module
Routines to create a Windows based
application.
Handle user interface such as dialog boxes,menu, mouse, keyboard etc.Read and parse input files.
Set up all the datatypes and variables in theprogram.
Print output results.Coded in C.
FDTD Simulation Engine
Preprocessing and determining
computation coefficients.
Perform E and H fields update.Enforce boundary condition.Coded using object-oriented language
C++.Can be ported to other platforms such
as UNIX or LINUX operating
systems.
Input file (MDF) Output Files
Simulation
results
Instructionsand settings
for simulation
TM
Figure 13. Major software blocks for the FDTD simulation program.
with future upgrade and expansion in mind. Using object-orientedprogramming language such as C++ allows efficient code reuse andproject management [15]. Standard C++ syntaxs complying with
ANSI (American National Standard Institute) are used, thus ensuringthat the FDTD Simulation Engine can be compiled and run in otherplatforms such as UNIX or LINUX. The output of the software containstwo files, an output file (data.out) containing the electric field ormagnetic field components and a header file (data.hdr) containing alisting of the field components plotted out in the output file. Thedata.out file is stored in binary format as this saves disk space whilethe data.hdr file is stored in text format. Thus visualizing softwareis required to view the output file. Software such as MATLAB or
MATHCAD can be employed in visualizing the output file. Due tospace constraint, the details of the output file will not be discussed,but full description can be obtained from the software online help [16].
5.1. Software Flow
Fig. 14 shows the high-level flow of the FDTD Simulation Enginemodule. The flow is typical of a FDTD algorithm except for theinitialization part. There are more steps in the initialization portion
as compare to standard FDTD flow as the FDTD simulation engineneeds to accommodate different types of elements with various updatefunctions. Furthermore frequently used values are pre-computed andstored as computational coefficients. A system is therefore needed
-
8/10/2019 fdtd simulation
20/37
318 Kung and Chuah
Create entry based onlumped components
Assign computationalmode based on surface
characteristics of cubes
Assign computational
mode based on dielectric
characteristics of cubes
Create entry based on
cubes
Standard FDTD
routinesEnd of iteration?
Update H field
components in field object
Update E field
components in field object
Initialize field objects
Parse input file
Start
Initialize cube object
Print output data
Yes
End
Update Boundary E fields
Set up computation
coefficient look-up
No
Figure 14. Computation flow of the FDTD program.
to track the location of each coefficient in the computer memory.The following sections will attempt to provide in more details thekey components of the software flow. Some familiarity with C/C++language syntax and datatype are assumed.
5.2. Pre-Computation and Look-up Table
In order to hasten the update of all electric and magnetic fieldcomponents, regularly used expressions are pre-computed and stored
-
8/10/2019 fdtd simulation
21/37
-
8/10/2019 fdtd simulation
22/37
320 Kung and Chuah
In the software, the actual computation coefficient table is implementedas an array of structures instead of a two-dimensional floating-pointarray (note: the term Structure here is a form of datatype in C/C++
Language [15]). Each field component, Ex, Ey, Ez, Hx, Hy, Hz hasits own look-up table. The structures are named stCCEx, stCCEy,stCCEz, stCCHx, stCCHy and stCCHz. Each structure containsten double type variables fC0 to fC9, a char type variable umodeand avoidpointerplist. Fig. 15 shows an example of the look-up tablefor Ex field components:
stCCEx[0]
stCCEx[1]
stCCEx[2]
stCCEx[m-1]
stCCEx[m]
fC0 fC1 fC2 fC9 umode plist
stCCEx [1]
value
next
value
nextvalue
next
NULL
value
next
Optional linked-list
Computational CoefficientsLook-up Table for Ex
Structure
stCCEx
Figure 15. Computational coefficients look-up table for Ex fieldcomponents.
Each entry stCCEx[i] can store up to ten coefficients. Thevariable umodeis an 8-bit unsigned integer (known as char datatypein C/C++) used to identify the type of lumped element associatedwith the Ex field component using these coefficients. For instance
umode= 0 means the Exfield is in a linear, lossless and non-dispersivedielectric, umode = 100 means the Ex field component coincide witha lumped resistor and so forth. The values assigned to umodeare thesame as that used to differentiate various lumped components [16].
-
8/10/2019 fdtd simulation
23/37
A finite-difference time-domain (FDTD) software 321
The void pointerplistcan point to a linked-list [15]. This is used whenthe ten variables fC0fC9 are not sufficient to store the computationcoefficients, and extra memory locations are needed. This happens
for instance for update equations ofE fields in dispersive dielectric.The linked-list provides a mechanism of variable length storage. Itwill be questioned why not do away with fC0fC9, having justplistand umode. The reason is retrieving information from a linked-list is computationally slower and more cumbersome than directlyreading from an array. To access fC2 in stCCEx[1], the followingstatement is used in C/C++: stCCEx[1].fC2. To access the thirdelements in the linked-list, we have to access the first element, thenthe second and finally the third in a sequential manner [15]. Most
update functions forE
andH
field components usually do not requireso many coefficients, so having ten variables in the structure and therest in an optional linked-list provide a compromise between computermemory requirement and speed.
5.3. Other Important Objects in the Simulation Engine
In the parlance of object-oriented programming, there is no variableor datatype. Instead there are only objects or class as it is calledin C++ [15]. Each object consists of a number of members, whichcan be a data storage element such as integer, floating-point (float),long floating-point (double), character (char), structures etc. andfunctions/subroutines. The functions within an object are known asmethods. The members of an object have different visibility scope,some members are accessible by functions outside of the object, whileothers are only accessible by other members within the object. Anobject can be inherited by other objects, making all its member dataand functions available to the child object. The inherited object isusually called the parent object. The child object can add its ownmembers on top of the parents members, this features form the basisof code reuse in object-oriented technology.
A number of objects are declared for the FDTD SimulationEngine as shown in Fig. 16. Among the more important objectsare the electric field object (tEfield), magnetic field object (tHfield)and Absorbing Boundary Condition object (tABC). The electric fieldobject contains the variables to store all the Efield components in themodel. Similarly the magnetic field object contains the variables tostore all Hfield components in the model. The Absorbing BoundaryCondition object contains some variables and functions for updatingtheEfields tangential to the model boundary. These three are the baseobjects, sometimes also called the parent objects. A child object, theFDTD field object (tEHfdtd)inherits both tEfieldandtHfieldobjects.
-
8/10/2019 fdtd simulation
24/37
322 Kung and Chuah
tEfield tHfield tCube tABC
tEHfdtdChild object or
class
Parent objects or classes
Figure 16. Various objects declared in the FDTD simulation engine.
fEx
umodex
uparamex
Ex
fHx
umodhx
uparamhx
Hx
Figure 17. Three data storage locations are needed for each fieldcomponent.
There is also another base object, the cube object (tCube) which isused during the initialization stage and for creating the computationcoefficient look-up table. The cube object tCube is used to store thecharacteristics of every cube in the model as the MDF file is readand parsed. Information contained in tCube is then used to assist inconstructing the look-up table depicted in Fig. 15 for E and H fieldcomponents. The object tCube will be removed from the computermemory once initialization is completed.
Associated with each field component are three variables. A charvariable to specify the update mode for the field such as Equations (7a)or (9), another charvariable specifies the row index for the associatedcomputation coefficients look-up table, and lastly a double variableto store the current value of the field component. Fig. 17 illustratesthis concept for Ex and Hx components. In Fig. 17, uparamex anduparamhxare the variables associated with the row index of the look-up tables for Ex and Hx field respectively. The variablesumodexandumodhxare associated with the update mode. Lastly the current valuesfor the fields are stored in fEx and fHx. All these variables are
-
8/10/2019 fdtd simulation
25/37
-
8/10/2019 fdtd simulation
26/37
324 Kung and Chuah
Access
coefficients based
on uparamex
Check umodex
Update Exn+
using Equation(1)
Update Exn+
using Equation
(2)
Update Exn+
using Equation(3)
Sample E field update functions
Update H field componentsin field object
Update E field componentsin field object
Update Boundary E fields
( )( )
:
:
:(3)Equation
0
:(2)Equation
21
21
21
21
21
21
21
21
)1,,(),,(1
),1,(),,(1),,(1
),,(
1),,(
)1,,(),,(
),1,(),,(),,(1
),,(
-
-+=
=
-
-+=
+
-
+
+
+
-
+
++
+
+
-
+
+
-
+
+
n
kjiy
n
kjiyz
t
n
kjiz
n
kjizy
tnkjix
nkjix
nkjix
n
kjiy
n
kjiyzt
n
kjiz
n
kjizytn
kjixn
kjix
HH
HHEE
E
HH
HHEE
zyzC
zyzC
C0 C1 C2 umode pList
stCCEx
Computation Coefficient Look-upTable for Ex
C0 C1 C2 umode pList
stCCEx [1]
C0 C1 C2 umode pList
stCCEx [2]
C0 C1 C2 umode pList
stCCEx[m]
From
Figure 14
umodex = 1
umodex = 3
umodex = 2
( )
( )
[0]
Equation (1):
Figure 19. Update E field component sequence, as seen for Excomponent.
during the initialization stages can be found in [9]. The proceduresshown in Fig. 19 are then repeated for Ey, Ez, Hx, Hy and Hzfield components. There are also other objects or data structures not
described by this short discussion. These includes a linked-list to storethe information for field components to probe or save to the outputfile, and a linked-list for storing the information for various lumpedcomponents.
-
8/10/2019 fdtd simulation
27/37
A finite-difference time-domain (FDTD) software 325
WinFDTD
WinFDTD_draw Plot
Figure 20. Screen shots of WinFDTD, WinFDTD draw andPlot.
5.4. The Complete Package
The complete FDTD simulation package developed for this projectconsists of three separate programs whose screen shots are shown inFig. 20.
1. The FDTD simulation engine called WinFDTD.
2. A utility called WinFDTD draw which is a program for theuser to draw the three-dimensional model layer-by-layer. Theprogram then automatically generates the model definition file(MDF) which is then read by WinFDTD.
3. A simple utility called Plot, to read the output files and plotthe field components, or the equivalent voltages and currents.
Both WinFDTD draw and Plot are also WindowsTM
basedprograms that are created using the programming language VisualBasic 6.0 by Microsoft Corp. The details will not be described, asthese are merely helper programs.
-
8/10/2019 fdtd simulation
28/37
326 Kung and Chuah
Z
c
= 5 0
T
d
= 1 5 0 p s
V
i n
V
L
x
y
z
t
x
y
z
y
x
z
PEC Conductor
M icrostrip line
Murs
first
order
ABCs
= 0.7mm
= 0.8mm
= 0.52mm
= 1ps
16 cells along
45 cells along
13 cells along
-axis
-axis
-axis
Resistive voltage
source along -axis
Lumped
inductor
Lumped
resistor
Figure 21. Schematic and top view of the model.
6. SAMPLE SIMULATION EXAMPLES
Transmission Line Loaded with Series RL ImpedanceThe first simulation example shows a resistive voltage source
driving a short length of transmission line with a series RL load. Theschematic and top view of the model is shown in Fig. 21. Vs is atrapezoidal pulse source, with rise/fall time of 200 ps, amplitude of
3.3 V, high period of 600 ps and low period of 1000 ps. TransmissionlineT1is a lossles microstrip line, it is designed to have a characteristicimpedance of 50 , and propagation delay of 150 ps. The printedcircuit board (PCB) is assumed to be linear, lossless with r = 4.2.Thickness of the PCB is three cells along thez-axis. A PEC conductingplane covers the bottom of the PCB. At the top and four sides of themodel, Murs first order ABC is employed. The simulation results areshown in Fig. 22. The effective voltages are obtained by performinga numerical line integration of the corresponding Efield components.
For instance the lumped resistor RL coincides with Ey(9,37,5) and thelumped inductor LLcoincides withEy(9,34,5). Thus the effective voltage
-
8/10/2019 fdtd simulation
29/37
A finite-difference time-domain (FDTD) software 327
0 1000 2000 3000 4000 5000 6000
0
1
2
3
V2n
V4n
0 1000 2000 3000 4000 5000 6000
0
1
2
3
V1n
V3n
Vin
FDTD
PSPICE
ps
Volts
VL
FDTD
PSPICE
Volts
ps
Figure 22. The effective voltage across the series RL load.
across the series RL load can be computed as:
VnL =
E dl = Ny
Eny(9,37,5)+E
ny(9,34,5)
(11)
where N = 1 because positive current flows in positive y direction.The schematic of Fig. 21 is also implemented in PSPICE circuitsimulator and the results are superimposed with the FDTD results.
Crosstalk SimulationThe second example is a simulation of electromagnetic coupling
between two adjacent microstrip lines. This is the classic crosstalksimulation. The schematic and top view of the model are shown inFig. 23. In the schematic, both the active and passive transmissionlines are terminated with its own characteristic impedance of 50 .Vs is a trapezoidal pulse source, rise/fall time of 200 ps, amplitudeof 3.3 V, high period of 600 ps and low period of 1000 ps. As theelectromagnetic energy from Vs travels along the active transmission
-
8/10/2019 fdtd simulation
30/37
328 Kung and Chuah
x = 0.7mm
y = 0.8mm
z = 0.52mm
t= 1ps21 cells alongx-axis
51 cells alongy-axis
13 cells alongz-axis
50Active line
V1 V2
V3 V4
50
50
50
50
Active microstrip line
Passive microstrip lineVs
Coupled
50Passive line
x
y
Source end Load end
Figure 23. Schematic and top view of the coupled microstrip linemodel.
line, energy is also coupled to the passive transmission line via electricand magnetic field coupling. The coupled electromagnetic energyappears as voltages across the source and load end of the passivetransmission line, known as Near-End Crosstalk (NEXT) and Far-End Crosstalk (FEXT) respectively in the literature [17, 18]. FDTDsimulated voltages on the source and load ends of the active and passivetransmission lines are shown in Fig. 24, together with waveformsobtained using the RF/microwave CAD software Advance DesignSystem (ADSTM) from Agilent Technologies. The coupled microstripline model used by ADSTM is based on the model proposed in [24]. Asobserved there is good agreement of both results.
Oscillator SimulationA simple UHF oscillator is designed and constructed on FR4
substrate printed circuit board using the schematic shown in Fig. 25.The oscillator configuration is based on the Clapp-Gouriet design [19]and is operational from 800 MHz to 1900 MHz. For demonstrationpurpose the oscillator frequency is tuned to around 1300 MHz. Againthe reasons for using this frequency is similar to that of [7], in that the
FR4 dielectric can be considered lossless and non-dispersive at lowerfrequency. The discretization used is x = 0.8mm, y = 0.8mm,z = 0.52mm and t = 1.0 ps, 24 cells along x-axis, 43 cells alongy-axis and 14 cells along z-axis. Thickness of the printed circuit board
-
8/10/2019 fdtd simulation
31/37
A finite-difference time-domain (FDTD) software 329
0 1000 2000 3000 4000 5000 60000.5
0
0.5
1
1.5
2
V1n
V2n
V3n
V4n
n Int
1 2 3 4 50 6
0.0
0.5
1.0
1.5
-0.5
2.0
time, ns ec
V1
V2
V3
V4
V1
V2
V3
V4
ps
WinFDTD Simulation Result
ADSSimulation Result
ns
V1V2
V3V4
V1
V2
V3
V4
Figure 24. Voltages on the active and passive transmission lines.
Near-End Crosstalk (V3), Far-End Crosstalk (V4).
is 3 cells. First order Mur ABC is employed at the model boundaries.The BJT employed in the oscillator is BFG520, a wide-band 9 GHzNPN transistor in SOT-143 plastic package [20]. The diode D1 isa schottky diode, HSMS-2820 from Agilent Technologies [21]. It ishoused in SOT-23 plastic package. The SPICE models for both theBJT and schottky diode can be obtained from the manufacturers
website. InductorL1 is a ceramic-core SMD inductor in 0805 package.From the datasheet ofL1, the minimum self-resonating frequency andQ factor of the inductor are 4000 MHz and 40 (measured at 250 MHz)respectively (www.epcos.com). Thus for operating frequency below
-
8/10/2019 fdtd simulation
32/37
330 Kung and Chuah
Gummel-Poon Model
for BFG520
Iss=1.01677E-15
F=220.182
R=100.714
nF=1.00065
nR=0.99811VA=48.062
IK F=0.51004
ISE =2.83095E-13
nE=2.0357VB=1.6929
IK R=2.3526E-3
ISC =2.44898E-17
nC =1.02256
VJE=0.60
mE =0.258153
CJE=1.24548E-12
F=8.61625E-12
VJC =0.189234mC =0.3333
CJC =4.47646E-13
R=0
BFG520
HSMS-2820
3.0V
Is = 2.20E-08Cjo = 0.7E-12
n = 1.08
D = 11.54nsM =0.50
FC=0.5
Vj = 0.65
Rs = 6.0
HSMS-2820
Output SMA
connector
Output with
50 Ohms
load
BFG520
Parameters for HS MS-2820
Figure 25. Top view of the oscillator, FDTD model and actual printed
circuit board.
-
8/10/2019 fdtd simulation
33/37
A finite-difference time-domain (FDTD) software 331
0 1000 2000 3000 40000.4
0.2
0
0.2
0.4
Vmn
Sn Offset+
n 10ps
Measured
Simulated
Figure 26. Comparison between simulation and measurement voltagewaveforms at the output of the oscillator.
2000 MHz, the inductor can be considered ideal with very little skin-
effect loss. InductorL2 is implemented on the printed circuit board asspiral inductor [22]. The capacitors are high-quality SMD multi-layerceramic capacitor in 0603 package while the resistors are high qualitySMD resistors in 0805 package. The connector at the output is a 50 3.5 mm SMA connector.
A two-step simulation scheme similar to that in [7] is employed.Initially all the lumped capacitors are removed and the lumpedinductor is replaced with a short circuit. Simulation is carried out for70000 time-steps (t= 1.0 ps) until d.c. steady state is achieved. After
this all the lumped capacitors and inductor are inserted back to themodel. TheEandHfield components at time-stepn = 70000 are usedas the initial conditions, and the simulation is then rerun until transientsteady state is achieved. This two-step scheme shortens the timerequired to achieve transient steady state [7]. A comparison betweensimulation and measured waveform at the output port is shown inFig. 26 for transient steady state. The measured waveform is obtainedusing the TDS8000 digital-sampling oscilloscope from Tektronix. Fullmeasurement details are presented in [9]. It is observed that the
measured oscillation period is approximately 760 ps while the simulatedoscillation period is approximately 710 ps. Translated into frequencies,the measured frequency is 1.32 GHz while the simulated frequency is1.41 GHz. The difference could be attributed to a number of factors:
-
8/10/2019 fdtd simulation
34/37
332 Kung and Chuah
1. Tolerance and nonideal characteristics of the SMD capacitors andinductor.
2. The SPICE models of the schottky diode and transistor also play
a role in the dicrepancy.3. Discontinuity and reflection from the measurement setup.
7. CONCLUSION
A simulation framework for modeling electromagnetic wave propaga-tion in a PCB environment using FDTD approach has been describedin this paper. FDTD is chosen, as it is a time-domain method, whichmade it suitable for incorporating nonlinear components. Moreover be-ing a time-domain method allows examination of the behaviors of themodel during transient state. This is advantageous for studying thetransient behavior for microwave oscillator circuits and circuits con-taining high-speed digital signals. Section 4 introduces a convenientnotation to describe a complex three-dimensional model cube-by-cube.This notation is very flexible and compact, with ample capacity to in-clude new features in the future. In Section 5, the algorithms presentedin Sections 24 are systematically converted into a computer program.Object-oriented programming (OOP) technology is used to enable codereuse for future upgrade. Emphasis is on how to store the informationdescribing the model, how to speed up the computation by performingpre-calculation and cross-referencing each field components with theappropriate update functions and coefficients. The software is codedusing C++ programming language as it is widely supported at the mo-ment. Conversion to other OOP languages such as JAVA can be easilydone as both share many similarities in the syntax. The architectureand data structures (or objects as it is called in OOP) of the softwareallow a lot of room for expansion in the future. Berenger Perfectly
Matched Layer (PML) ABC, ([3, 23]) can also be employed in placeof Murs first order ABC. This can be easily done by modifying thetABCobject of Section 5. Again this demonstrate the ease with whichsoftware written in OOP language can be modified while maintainingthe integrity of the whole software. Furthermore, digital integratedcircuits can also be incorporated by using the approach of Analog Be-havioral Modeling (ABM) [25]. Finally, it must be mentioned that theFDTD formulation does have its limitation at present. For circuits,which emphasize on steady-state sinusoidal response, the FDTD ap-
proach would be considerably slower than Method of Moments (MoM)or Finite Element Methods (FEM).
-
8/10/2019 fdtd simulation
35/37
-
8/10/2019 fdtd simulation
36/37
334 Kung and Chuah
13. Massobrio, G. and P. Antognetti, Seminconductor DeviceModeling with SPICE, 2nd edition, McGraw-Hill, 1993.
14. Strauss, R.,Surface Mount Technology, Butterworth-Heinemann,
1994.15. Murray III, W. H. and C. H. Pappas, Borland C++ in Depth,
McGraw-Hill, 1996.
16. http://pesona.mmu.edu.my/wlkung/winfdtd exe.zip.
17. Blood, W. R., MECL System Design Handbook, 3rd edition,Motorola Semiconductor Products Inc., 1980.
18. Johnson, H. W. and M. Graham,High-Speed Digital Design Ahandbook of black magic, Prentice Hall, 1993.
19. Smith, J. R., Modern Communication Circuits, 2nd edition,McGraw-Hill, 1998.
20. Phillips Semiconductor, BFG520; BFG520/X, BFG520/XR,NPN 9 GHz wideband transistor, Technical Data,www.semiconductors.com, Oct. 1997.
21. Agilent Technologies, Surface mount RF Schottkybarrier diodes: HSMS-282x series, Technical Data,www.semiconductor.agilent.com, 2000.
22. Robertson, I. D. and S. Lucyszyn, RFIC and MMIC Design and
Technology, The Institution of Electrical Engineers, 2001.23. Taflove, A. (ed.),Advances in Computational Electrodynamics
The finite-difference time-domain method, Artech House, 1998.
24. Kirschning, M. and R. H. Jansen, Accurate wide-rangedesign equations for frequency-dependent characteristic of parallelcoupled microstrip lines, IEEE Trans. Microwave Thoery andTechniques, Vol. 32, 8390, Jan. 1984 (Note, a correction of thepaper appears on Vol. 33 on the same journal, page 288).
25. Duran, P. A., A Practical Guide to Analog Behavioral Modelingfor IC System Design,Kluwer Academics Publishers, 1998.
F. Kungobtained his B.Eng. and M.Eng.Sc. in electrical engineeringfrom University of Malaya in 1994 and 1997 respectively. He workedin Intel Technology in Penang, Malaysia from May 1994May 1996,and in GMS Technology, in Selangor, Malaysia from June 1997June1999. He obtained his Ph.D. in electrical engineering, from Multimedia
University, Malaysia, in 2003.
-
8/10/2019 fdtd simulation
37/37
A finite-difference time-domain (FDTD) software 335
H. T. Chuah obtained his B.Eng., M.Eng.Sc. and Ph.D., all inelectrical engineering, from University of Malaya, Malaysia. He iscurrently the Dean of Faculty of Engineering, Multimedia University.
Chuah was the recipient of the inaugural Young Engineer Awardby the Institution of Engineers, Malaysia in 1991, and the NationalYoung Scientist Award (Industrial Sector) by the Malaysian Ministryof Science, Technology and the Environment. His research interestsare in applied electromagnetic, microwave remote sensing, and devicephysics.