Document not found! Please try again

Explicit and Unconditionally Stable FDTD Method ... - IEEE Xplore

6 downloads 663 Views 231KB Size Report
eigenvalue solutions. In this method, we find the relationship between the unstable modes and the fine meshes, and use this relationship to directly identify the ...
Explicit and Unconditionally Stable FDTD Method Without Eigenvalue Solutions Jin Yan and Dan Jiao School of Electrical and Computer Engineering, Purdue University, West Lafayette, IN 47907, USA

Abstract—Existing explicit and unconditionally stable FDTD methods rely on a partial eigenvalue solution of a global system matrix to find the unstable modes that cannot be stably simulated by the given time step. In this paper, we develop a fast explicit and unconditionally stable FDTD method requiring no global eigenvalue solutions. In this method, we find the relationship between the unstable modes and the fine meshes, and use this relationship to directly identify the source of instability. We then upfront eradicate the source of instability from the numerical system before performing an explicit time marching. The resultant simulation is absolutely stable for the given time step irrespective of how large it is. If the time step is chosen based on accuracy, the accuracy of the proposed method is also guaranteed. Numerical experiments have demonstrated a significant speedup of the proposed method over the conventional FDTD as well as state-of-the-art explicit and unconditionally stable methods. Index Terms—Explicit methods, finite-difference time-domain method (FDTD), stability, unconditionally stable methods.

I. I NTRODUCTION The time step of a conventional FDTD [1] is restricted by space step for stability. To overcome this barrier, researchers have developed implicit unconditionally stable FDTD methods, but the matrix-free advantage of the conventional FDTD is sacrificed. When the problem size is large, the efficiency of the implicit unconditionally stable FDTD methods can become a concern. Recently, advanced research [2], [3] has been pursued to identify the source of instability, and subsequently eradicate it from the underlying numerical system to make an explicit FDTD unconditionally stable. It is shown that the source of instability is the eigenmodes of the discretized curlcurl operator corresponding to the largest eigenvalues. These eigenvalues are higher than what can be stably simulated by the given time step. To find these unstable modes, in [3], a global eigenvalue solution is computed. Although, in general, only a small set of the largest eigenpairs of the system matrix need to be found, and the matrix is also sparse, the computational overhead of the resultant scheme may still be too high to tolerate when matrix size is large. The time step required for a stable explicit simulation is limited by the largest eigenvalue of the system matrix. However, the finer the space step, the larger the largest eigenvalues of the system matrix. Therefore, there should exist a relationship between the fine cells present in a space discretization and the unstable modes that cannot be stably simulated by the given time step. We do not have to perform a brute-force eigenvalue solution to identify the unstable modes. Instead, we can utilize the relationship between the fine cells and the

unstable modes to develop a more efficient explicit and unconditionally stable method. Along this line of thought, in this work, we propose an efficient algorithm to find the unstable modes directly from the system matrix’s component in fine cells, and subsequently deduct these unstable modes from the numerical system to achieve an explicit time marching with unconditional stability. The unstable modes extracted in this work may not be the same as the largest eigenmodes of the global system matrix. However, using the proposed algorithm, one can obtain equally stable and accurate results. Numerical experiments have demonstrated a significant speedup of the proposed method over the conventional FDTD and the stateof-the-art explicit and unconditionally stable methods. The essential idea of this work can also be applied to other timedomain methods. II. P ROPOSED M ETHOD The FDTD solution of Maxwell’s equations can be written as 1

1

{h}n+ 2 = {h}n− 2 − ∆tSe {e}n n+ 12

{e}n+1 = {e}n + ∆tSh {h}

(1) n+ 21

− ∆tD 1 {j}

,

(2)

where superscripts n, n + 1, and n ± 21 denote time instants, ∆t represents time step, {e} is the vector of electric field unknowns, while {h} represents the vector of magnetic field unknowns, and {j} is the current source vector. The Se {e} denotes a discretized µ1 ∇×E operation, and Sh {h} represents a discretized 1 ∇ × H operation. The D 1 in (2) is diagonal and its diagonal entry is 1 . The two first-order equations (1) and (2) can also be solved by eliminating {h}, obtaining a second-order equation in time for {e} as the following {e}n+1 − 2{e}n + {e}n−1 + Sh Se {e}n = {f }n , (3) ∆t2 where {f } denotes the terms moved to the right hand side when deriving (3). The above is actually a central-difference based discretization of ∂ 2 {e} + S{e} = {f }, ∂t2

(4)

S = Sh Se .

(5)

where In a traditional FDTD method, a matrix-less notation is used, which prevents one from seeing the structure of S easily. Next, we reveal the structure of S, and also present an efficient

978-1-5090-0698-4/16/$31.00 ©2016 IEEE

approach to build S. This approach facilitates the development of the proposed unconditionally stable method as well. Let the total number of E unknowns be Ne , and the total number of H unknowns be Nh . The Se in (1) is a sparse matrix of size Nh by Ne , and the Sh in (2) is a sparse matrix of size Ne by Nh . Multiplying each row of Se by {e} is nothing but to perform the operation of µ1 ∇ × E, for obtaining the H field at a patch center from the four E unknowns along the four sides forming the patch. Each row of Se thus corresponds to one H unknown and thereby one patch. It has at most four nonzero elements. Specifically, the i-th row of Se can be written as S(i) e =

1 1 1 1 1 { , − , , − } ⊕ zeros(1, Ne ), µ li li wi wi

(6)

which has only four nonzero elements with li and wi being the two side lengths of the i-th patch, respectively. The ⊕ denotes an extended addition by adding the four nonzero elements upon a zero vector of length Ne based on the global indexes of the four E unknowns located on the patch. Similarly, Sh {h} is to perform the operation of 1 ∇ × H. Each column of Sh corresponds to one H unknown, and thereby one patch. It has four nonzero elements also, corresponding to the four E unknowns encircling the H unknown on a patch. In a uniform grid, the curl operation of Sh is simply the transpose of Se . For example, the i-th column of Sh can be written as 1 1 1 1 1 { , − , , − }T ⊕ zeros(Ne , 1). (7)  li li wi wi In a non-uniform grid, the Se stays the same, but the l and w in Sh are altered to use an average cell size. Since S has two explicit factors Se and Sh as shown in (5), this factorized form can be used to obtain S readily as follows: (i)

Sh =

S=

Nh X

(i)

Sh

S(i) . Ne ×1 e 1×Ne

(8)

i=1

Notice that the above is a summation over all patches instead of cells. In a 2-D grid, each patch makes a single cell. But in a 3-D grid, six patches make a single cell. Given any desired time step ∆t, the proposed method starts from categorizing the cells in the grid into two groups. One group has regular cell sizes and permits the use of the desired time step, while the other group includes all the fine cells that require a smaller time step for a stable simulation. The fine cells can be arbitrarily located in the grid. They do not have to be connected. Accordingly, S can be split into the following two components S = Sf + Sc , (9) where Sf is S assembled from fine cells, and Sc is from the rest of the cells that are coarse. Based on (8), the Sf is nothing (i) (i) but the summation of the rank-1 matrix Sh Se over all the patches in the fine cells, and hence being Sf =

k X

Let the E and H unknown number in the fine cells be n, and (i) k respectively. Obviously, n < Ne , and k < Nh . The Sh in (10) is only nonzero in the rows corresponding to the fine-cell (i) unknowns. Similarly, the Se is only nonzero in the columns associated with the fine-cell unknowns. If we eliminate the (i) (i) zero rows of Sh and zero columns of Se , (10) becomes a small n by n matrix, which can be written as (f )

Sf

n×n

= An×k BTk×n , (i)

where A stores all the k columns of Sh , and BT consists (i) of all the rows of Se with zeros removed. Since k is less (f ) than n, the Sf is further a low-rank matrix. We then extract unstable modes Fh from it, the complexity of which is only k 2 O(n). This is much smaller than O(k 02 Ne ) of [3], which is the complexity of a global eigenvalue solution with k 0 Arnoldi steps for finding k largest eigenpairs, since k < k 0 , and n

Suggest Documents