A stable algorithm for non-homogeneous waveguide equation

0 downloads 0 Views 347KB Size Report
homogeneous waveguide equation based on DtN maps ... For two dimensional waveguide, in frequency domain, the governing equation is Helmholtz equation.
A stable algorithm for non non--homogeneous waveguide equation based on DtN maps Yin Wang, Jinyang Huang1 College of Science, Beijing University of Chemical Technology, CHINA Abstract Abstract:: A new stable computational method for non-homogeneous waveguide equation with a piecewise uniform structure along the main propagation direction is constructed, based on the modified Dirichlet-to-Neumann (DtN) map of each uniform segment. For segments with the same structure, only a DtN map needs to be calculated on such a segment, and then the solution of the equation can be derived recursively. Numerical examples demonstrate that it is a stable and efficient algorithm for the waveguide equations. This method can greatly reduces the requirement of internal memory and the amount of computation compared with the traditional algorithms. Keyword: non-homogeneous waveguide equation, DtN map, piecewise uniform waveguide 1. Introduction For two dimensional waveguide, in frequency domain, the governing equation is Helmholtz equation. The traditional algorithms for it lead to large linear systems in the calculation process, with time-consuming and memory-consuming. For homogeneous Helmholtz equation, some numerical methods based on DtN maps came out in 1996 and they have been improved in the practical waveguide calculation[1,2,5,6]. The waveguide propagation with inside light sources can be described by non-homogeneous Helmholtz equation. The numerical methods for the equation mainly are the traditional algorithms. Optical waveguides with piecewise uniform structure along the main propagation direction are widely used. Efficient algorithms for such waveguides are required in the design. In this paper, an efficient algorithm for non-homogeneous Helmholtz equation with piecewise uniform structure is derived, based on the modified DtN map of each uniform segment. The DtN map is computed numerically by a method using a difference approximation of 4th order to the second derivative for each segment. For segments with the same structure, the DtN map of each segment is the same, so only a DtN map needs to be calculated . With the computed DtN maps, the solution of the equation can be derived recursively. In section 2, non-homogeneous Helmholtz equation and the related boundary conditions are described. The new algorithm is introduced in section 3. Two numerical examples are given in section 4. 2. Non-homogeneous Helmholtz Equation For transverse electric polarization with inside light source, the governing equation in frequency domain is

uzz + uxx + k02 n 2 ( x, z )u = f ( x, z ) Where

u is the y-component of the electric field, k 0 is the free space wavenumber, n( x, z ) is the

refractive index of the medium and

f ( x, z ) is the function of the inside light source.

We assume the waveguide axis is z and the waveguide is z-invariant for z-invariant in [ z0 , zm ] . Namely, we assume

1

(1)

corresponding author, Email: [email protected]

z < z0 and z > zm and piecewise

z−1 = −∞, z0 < z1 < L < zm , zm +1 = ∞ , and

n( x, z ) = n j ( x ) for z j −1 < z < z j , j = 0,1,..., m + 1 For an open structure, we use perfectly matched layer (PML) technique[3] to truncate unbounded domains. The waveguide problem with the inside light source and incident wave of the same time frequency becomes:

⎧∂ 2z u + Lu = f ( x, z ) ( x ∈ ( − D, D ), z ∈ ( z0 , zm ) ) ⎪ ⎪( L = 1 ∂ ( 1 ∂ ) + k02n 2 ( x, z ) ) ⎪ s( x ) ∂x s( x ) ∂x ⎪ ⎨u( − D, z ) = u ( D, z ) = 0 ⎪ − − + − ⎪(∂ z u + i L( z0 ) u ) |z = z0 = 2i L( z0 ) u ( x, z0 ) ⎪ + ⎪(∂ z u − i L( zm ) u ) |z = zm = 0 ⎩ where

(2)

u + is the incident wave, u − the reflected wave, and s ( x) = 1 + iσ ( x) , σ ( x ) ≥ 0 .

3. The new stable algorithm based on DtN maps For the non-homogeneous Helmholtz equation, let the Riccati operator operator Y , the functions

Q and the fundamental solution

g ( x, z ) and h( x, z ) satisfy: ⎧u z = Q ( z )u + g ( z0 < z < z m ) ⎪ ⎪Q ( z m ) = i L ( z m+ ) , g ( z m ) = 0 ⎨ ⎪Y ( z )u ( x , z ) + h = u ( x , z m ) ( z0 < z < z m ) ⎪Y ( z ) = I , h ( z ) = 0 ⎩ m m

We set a DtN map M j and a vector valued function

(3)

s j in the interval ( z j −1 , z j ) to satisfy

⎡u ( x, z j −1 )⎤ ⎡∂ z u ( x, z j −1 )⎤ Mj⎢ + s = ⎥ ⎢ ∂ u ( x, z ) ⎥ j j ⎦ ⎣ u ( x, z j ) ⎦ ⎣ z

(4)

M

M

12 ⎞ M j is the same for each segment with the same waveguide structure. Denote M j = ⎛⎜⎜ 11 ⎟⎟ in block ⎝ M 21 M 22 ⎠

form, and s j of

= ( s1 , s2 )T . Once M j and s j are computed, from (3) and (4), we can get a recurrence formula

Q , Y , g and h : ⎧Q ( z j −1 ) = M 11 + M 12 (Q ( z j ) − M 22 ) −1 M 21 ⎪ −1 ⎪Y ( z j −1 ) = Y ( z j )(Q ( z j ) − M 22 ) M 21 ⎨ −1 ⎪ g ( z j −1 ) = s1 + M 12 (Q ( z j ) − M 22 ) ( s2 − g ( z j )) ⎪h( z ) = h( z ) + Y ( z )(Q ( z ) − M ) −1 ( s − g ( z )) j j j 22 2 j ⎩ j −1

(5)

From Q ( zm ) = i L( zm+ ) , Y ( zm ) = I , g ( zm ) = 0 , h ( zm ) = 0 , we can get

(k = m − 1,L ,0)

recursively.

Q ( z0 ), Y ( z0 ), g ( z0 ), h( z0 )

If

{Q ( zk ), Y ( zk ), g ( zk ), h ( zk )} have

been

obtained,

from

∂ z u ( x, z 0 ) = Q( z 0 )u ( x, z 0 ) + g ( z 0 ) and (∂ z u + i L( z0− ) u ) |z = z0 = 2i L( z0− ) u + ( x, z0− ) , we can get

u ( x , z0 ) = (Q ( z0 ) + i L ( z0− ) ) −1 ( 2i L ( z0− )u + ( x , z0− ) − g ( z0 ) ) Then, from

(6)

Y ( z )u( x, z ) + h = u( x, zm ) we can obtained u( x, zm ) and u( x, zk )( k = 1,2,L, m − 1) .

Noting we only need compute the DtN map M of a segment for all segments with the same structure, the algorithm can significantly save computing time and memory. We give an algorithm for computing the DtN map M in the following. We know there is the following approximation 1 [ f ′′( x j −1 ) + 10 f ′′( x j ) + f ′′( x j +1 )] 12 1 = 2 [ f ( x j −1 ) − 2 f ( x j −1 ) + f ( x j −1 )] + O(h4 ) h

(7)

For the interval ( z j −1 , z j ) , we set

z j −1 = ξ 0 < ξ1 < L < ξ q = z j , ξ k = ξ 0 + kh

(8)

Applying the approximation formula (7), we can get approximately: ⎡10 ⎢ 1 ⎢1 12 ⎢ ⎢ ⎣

1 10 O O O 1

⎡ −2 ⎢ 1 1 = 2⎢ h ⎢ ⎢ ⎣

⎡ u ′′(ξ 1 ) ⎤ ⎤ ⎢ u ′′(ξ ) ⎥ ⎥ 2 ⎢ ⎥ ⎥ ⎢ M ⎥ 1⎥ ⎢ ⎥ ⎥ 10 ⎦ q −1× q −1 ⎢⎣ u ′′(ξ q −1 ) ⎥⎦

1 −2 O

O O 1

(9)

⎡ u (ξ 0 ) ⎤ ⎤ ⎡ u (ξ1 ) ⎤ ⎢ 0 ⎥ ⎥ ⎢ u (ξ ) ⎥ 2 ⎥+ 1 ⎢ ⎥− 1 ⎥⎢ 1 ⎥ ⎢ M ⎥ h 2 ⎢ M ⎥ 12 ⎥ ⎢ ⎥ ⎥⎢ − 2 ⎦ ⎢⎣ u (ξ q −1 ) ⎥⎦ ⎢⎣ u (ξ q ) ⎥⎦

⎡ u ′′(ξ 0 ) ⎤ ⎢ 0 ⎥ ⎢ ⎥ ⎢ M ⎥ ⎢ ′′ ⎥ ⎢⎣ u (ξ q ) ⎥⎦

Denoting ⎡10 1 ⎤ ⎡ −2 1 ⎤ ⎢ 1 10 O ⎥ ⎢ 1 −2 O ⎥ 1 ⎥ ⎥ A= ⎢ ,B = ⎢ ⎢ O O 1⎥ O O 1⎥ 12 ⎢ ⎢ ⎥ ⎢ ⎥ 1 10 ⎦ ( q −1)×(q −1) 1 −2 ⎦ ⎣ ⎣ ⎡ u (ξ1 ) ⎤ ⎢ u (ξ ) ⎥ 2 ⎥ U =⎢ , ⎢ M ⎥ ⎢ ⎥ ⎢⎣u (ξ q −1 ) ⎥⎦

⎡1 ⎤ ⎢0 ⎥ a0 = ⎢ ⎥ , ⎢M⎥ ⎢ ⎥ ⎣0 ⎦

⎡0 ⎤ ⎢M ⎥ aq = ⎢ ⎥ ⎢0 ⎥ ⎢ ⎥ ⎣1 ⎦

we have

AU zz = From (2) we have

1 1 [a0u ( x, z j −1 ) + BU + aq u ( x, z j )] − [a0u′′( x, z j −1 ) + aq u′′( x, z j )] . 2 h 12

U zz + LU = F where

(10)

F = [ f ( x, ξ1 ),L , f ( x , ξ q −1 )]T . Using u′′( x, z j −1 ) = − Lu ( x , z j −1 ) + f ( x , z j −1 ) and

u′′( x, z j ) = − Lu( x, z j ) + f ( x, z j ) , we can get LU +

where

1 1 ) 1 ) ) DU = − 2 [a0u ( x , z j −1 ) + a qu ( x , z j )] − [a0 Lu ( x , z j −1 ) 2 h h 12 1 ) ) ) + a q Lu ( x , z j )] + [a0 f ( x , z j −1 ) + a q f ( x , z j )] + F 12

(11)

D = A−1 B, aˆ0 = A−1a0 , aˆq = A−1aq . Diagonalizing similarly the matrix D , we have ⎡ µ1 ⎢ D = R⎢ ⎢ ⎢ ⎣⎢

µ2

⎤ ⎥ ⎥ R −1 ⎥ O ⎥ µ q −1 ⎦⎥

(12)

kπ ) q ⎛ jkπ ⎞ where µk = 12 , k = 1,..., q − 1 , and R = ⎜⎜ sin( ) ⎟⎟ . kπ q ⎝ ⎠ 5 + cos( ) q −1 + cos(

Finally, we get

Lwk +

q − 1 independent ordinary differential equations :

1 1 1 µ k wk = − 2 [α k u ( x , z j −1 ) + β k u ( x , z j )] − [α k Lu ( x , z j −1 ) 2 h h 12 1 + β k Lu ( x , z j )] + [α k f ( x , z j −1 ) + β k f ( x , z j )] + ζ k ( k = 1,L , q − 1) 12

(13)

where

⎡ w1 ⎤ ⎢w ⎥ ⎢ 2 ⎥ = R −1U , ⎢ M ⎥ ⎢ ⎥ ⎣⎢ wq −1 ⎦⎥ Solving (11), we can get If we can compute (4) , we can get the map Using

⎡ α1 ⎤ ⎢α ⎥ ⎢ 2 ⎥ = R −1a , 0 ⎢ M ⎥ ⎢ ⎥ ⎣⎢α q −1 ⎦⎥

⎡ β1 ⎤ ⎡ f ( x , ξ1 ) ⎤ ⎡ ζ1 ⎤ ⎢β ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ 2 ⎥ = R −1a , ⎢ ζ 2 ⎥ = R −1 F , F = ⎢ f ( x, ξ 2 ) ⎥ q ⎢ M ⎥ ⎢ M ⎥ ⎢ M ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ β ζ f ( x , ξ ) q −1 ⎦ ⎣⎢ q −1 ⎦⎥ ⎣ q −1 ⎦ ⎣

(14)

wk ( x) and then U . ∂ z u ( x, z j −1 ) and ∂ z u ( x, z j ) from any given u( x, z j −1 ) and u ( x , z j ) , then from

M j and the vector s j .

u′′( x , z ) = − Lu ( x , z ) + f ( x , z ) , we have the following approximations with error O ( h 4 )

u ( x, ξ 2 ) − u ( x , z j −1 ) 2h [ − Lu( x , z j −1 ) + f ( x , z j −1 )] + 2[ − Lu( x , ξ1 ) + f ( x , ξ1 )] −h 3

(15)

u ( x, z j ) − u( x, ξ q −2 ) 2h 2[ − Lu ( x , ξ q −1 ) + f ( x , ξ q −1 )] + [ − Lu ( x , z j ) + f ( x , z j )] +h 3

(16)

∂ z u ( x , z j −1 ) ≈

∂ zu( x, z j ) ≈

If we discrete

[− D, D ] with − D = x0 < x1 < L < x N +1 = D , xn = x0 + nh x , ( n = 0,1,L, N + 1 ),

from (4), we get approximately:

⎡∂ z u ( x1 , z j −1 ) ⎤ ⎢M ⎥ ⎢ ⎥ ⎢∂ z u ( x N , z j −1 ) ⎥ ⎢ ⎥= ⎢∂ z u ( x1 , z j ) ⎥ ⎢M ⎥ ⎢ ⎥ ⎢⎣∂ z u ( x N , z j ) ⎥⎦ Here

⎡ M 11 ⎢M ⎣ 21

⎡u ( x1 , z j −1 ) ⎤ ⎡ s1 ( x1 ) ⎤ ⎢M ⎥ ⎢M ⎥ ⎢ ⎥ ⎢ ⎥ M 12 ⎤ ⎢u ( x N , z j −1 ) ⎥ ⎢ s1 ( x N ) ⎥ ⎢ ⎥+⎢ ⎥ M 22 ⎥⎦ ⎢u ( x1 , z j ) ⎥ ⎢ s2 ( x1 ) ⎥ ⎢M ⎥ ⎢M ⎥ ⎢ ⎥ ⎢ ⎥ ⎢⎣u ( x N , z j ) ⎥⎦ ⎣ s2 ( x N ) ⎦

(17)

M ij (i, j = 1,2) are N × N matrices. The equations (13) becomes: LWk +

1 1 1 1 µ kWk = − 2 (α kU j −1 + β kU j ) − [α k LU j −1 + β k LU j ] + [α k F j −1 + β k F j ] + Z k 2 h h 12 12

(18)

where

⎛ u ( x1 , z j −1 ) ⎞ ⎛ u( x1 , z j ) ⎞ ⎛ wk ( x1 ) ⎞ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ Wk = ⎜ M ⎟,U j = ⎜ M ⎟, ⎟, U j −1 = ⎜ M ⎜ u( x , z ) ⎟ ⎜ u( x , z ) ⎟ ⎜ w (x )⎟ N j −1 ⎠ N j ⎠ ⎝ k N ⎠ ⎝ ⎝ ⎛ f ( x1 , z j −1 ) ⎞ ⎛ f ( x1 , z j ) ⎞ ⎛ ζ k ( x1 ) ⎞ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ F j −1 = ⎜ M ⎟, F j = ⎜ M ⎟, Z k = ⎜ M ⎟ ⎜ f (x , z )⎟ ⎜ f (x , z )⎟ ⎜ζ ( x ) ⎟ N j −1 ⎠ N j ⎠ ⎝ k N ⎠ ⎝ ⎝ ⎡u ( x1 , z j −1 ) ⎤ ⎡0⎤ ⎥ ⎢ ⎥ and and L is a N × N matrix which approximates the operator L in (2). First, we put ⎢ M ⎢ ⎥ = ⎢ M⎥ ⎢u ( x N , z j −1 )⎥ ⎢⎣0⎥⎦ ⎣ ⎦ ⎡u ( x1 , z j ) ⎤ ⎡0 ⎤ ⎢ ⎥ ⎢ ⎥ . For every M ⎢ ⎥ = ⎢ M⎥ ⎢u ( x N , z j ) ⎥ ⎢⎣0 ⎥⎦ ⎣ ⎦

k , we can get Wk from (18) and then U ( x j ) = R [ w1 ( x j ),L , wq−1 ( x j )]T

⎡∂ z u ( x1 , z j ) ⎤ ⎡∂ z u ( x1 , z j −1 ) ⎤ ⎥ from (15) and (16) and then give ⎢ ⎥ from (14). Next, we can compute and ⎢ M M ⎢ ⎥ ⎢ ⎥ ⎢∂ z u ( x N , z j ) ⎥ ⎢∂ z u ( x N , z j −1 )⎥ ⎣ ⎦ ⎣ ⎦

⎡ s1 ( x1 , z j −1 ) ⎤ ⎢ ⎥ and M ⎢ ⎥ ⎢ s1 ( x N , z j −1 )⎥ ⎣ ⎦

⎡ s2 ( x1 , z j −1 ) ⎤ ⎢ ⎥ from (17). M ⎢ ⎥ ⎢ s2 ( x N , z j −1 ) ⎥ ⎣ ⎦

After that, similarly, if we take column of the unit matrix of

[u( x1 , z j −1 ),L , u( xN , z j −1 ), u( x1, z j ), L, u( xN , z j )]T

as each

(2 N ) × (2 N ) respectively , we can get each column of the matrix M j .

4. Example We use the developed algorithm to compute an example of COST 268 modeling task[4] with an addition of non-homogeneous term

f ( x, z ) but without incident wave.

Fig4-1 Bragg grating in a planar waveguide It is about a high-contrast optical waveguide with a deeply etched short Bragg grating. The Bragg grating is composed of 20 rectangular grooves. The widths of the “tooth” and “groove” both are equal to 0.215μm. The numerical results are shown in the following figure.

Fig4-2 The intensity of left and right outgoing waves for waveguide with inside light source

f ( x, z ) = cos(

πx πz at the center tooth and wavelengths from 1 μm to 1.8 μm ) sin( ) 2D 0.215

Fig4-3 Left and right outgoing waves for waveguide with inside light source

f ( x, z ) = cos(

πx πz at the center tooth and wavelength 1.8 μm ) sin( ) 2D 0.215

Fig4-4 The intensity of left and right outgoing waves for waveguide with inside light source

f ( x, z ) = cos(

πx πz nd ) sin( ) at the 2 tooth from left and wavelengths from 0.8 μm to 1.8 μm 2D 0.215

Fig4-5 Left and right outgoing waves for waveguide with inside light source

f ( x, z ) = cos(

πx πz nd ) sin( ) at the 2 tooth from left and wavelength 1.8 μm 2D 0.215

5. Conclusions Using the DtN map, for non-homogeneous Helmholtz equation with a piecewise uniform structure, the new algorithm can greatly reduce the computing time and memory, because, for segments with the same piecewise uniform structure, the DtN map of each segment is the same, the calculation of the DtN map can be reduced to solving some independent ordinary differential equations, and the solution of the non-homogeneous Helmholtz equation can be computed by marching on in the main propagation direction. Similarly, if solving the equation (11) directly, the algorithm is also efficient for waveguides with general periodic structure or partial periodic structure because the DtN map of each periodic section is the same too. The numerical examples demonstrate that the algorithm is a stable and efficient. References [1] Y. Y. Lu. Some techniques for computing wave propagation in optical waveguides [J] .Communications in Computational Physics, 2006, 1(6): 1056-1075. [2] Y. Y. Lu, J. R. McLaughlin. The Riccati Method for the Helmholtz equation [J] .Journal of the Acoustical Society of America, 1996, 100(3): 1432-1446. [3] J. P. Berenger, A perfectly matched layer for the absorption of Electromagnetic waves, J Comput 114(2): 185-200,

Phys,

1994

[4] J. Ctyroky, et al. Bragg waveguide grating as a 1D photonic band gap structure: COST 268 modelling task [J] .Optical and Quantum Electronics, 2002, 34: 455-470. [5] L. Yuan, Y. Y. Lu. An efficient bidirectional propagation method based on Dirichlet-to-Neumann maps [J] .IEEE Photonics Technology Letters, 2006, 18: 1967-1969. [6] Lijun Yuan and Ya Yan Lu, A recursive doubling Dirichlet-to-Neumann map method for periodic waveguides,

Journal of Lightwave Technology, Vol. 25, pp. 3649-3656, Nov. 2007.

Suggest Documents