Lecture #16b Numerical Implementation of Transformation Optics · 2019-08-11 · 3/9/2018 1 ECE...

Post on 08-Jul-2020

0 views 0 download

transcript

3/9/2018

1

ECE 5322 21st Century Electromagnetics

Instructor:Office:Phone:E‐Mail:

Dr. Raymond C. RumpfA‐337(915) 747‐6958rcrumpf@utep.edu

Numerical Implementation of

Transformation Optics

Lecture #16b

Lecture 16b -- Numerical TO 1

Lecture Outline

• Numerical solution of Laplace’s equation

• Calculating spatial transforms using Laplace’s equation

• Calculating permeability and permittivity from spatial transforms

Lecture 16b ‐‐ Numerical TO Slide 2

3/9/2018

2

Numerical Solution of

Laplace’s Equation

(Not Yet TO)

Meaning of Laplace’s Equation

Lecture 16b ‐‐ Numerical TO 4

2 0u

Laplace’s equation is

2 is a 3D second‐order derivative. 

A second‐order derivative quantifies curvature.

But, we set the second‐order derivative to zero.

Functions satisfying Laplace’s equation vary linearly.

3/9/2018

3

Laplace’s Equation as a “Number Filler Inner”

Lecture 16b ‐‐ Numerical TO 5

Given known values at certain points (e.g. physical boundary conditions), Laplace’s equation calculates the numbers everywhere else so they vary linearly.

Map of known values (boundary values) Laplace’s equation is solved to fill in the values away from the boundaries.

Numerical Solution of Laplace’s Equation (1 of 3)

Lecture 16b ‐‐ Numerical TO 6

Step 1 – Use the finite‐difference method to express Laplace’s equation in matrix form.

2 22 2 2

2 22 2

, ,, 0 0 x y

x y

u x y u x yu x y

x y

Lu 0D u D u 0

L D D

Step 2 – Build a function b(x,y) containing the boundary values.

,b x yThis function contains the values at the locations that we wish to force u(x,y) to.  The other points in b(x,y) can be set to anything, but zero is convenient.

,b x y

3/9/2018

4

Numerical Solution of Laplace’s Equation (2 of 3)

Lecture 16b ‐‐ Numerical TO 7

Step 3 – Build a diagonal force matrix.

Step 4 – Incorporate the boundary values into Laplace’s equation.

This function contains 1’s at the positions where we wish to force values in u(x,y).  It contains 0’s everywhere else.  We set it to 1’s where we have our boundary values.

,f x y

diag ,f x y F

L F I F L

b FbNote: both F and I should be stored as sparse matrices!

Numerical Solution of Laplace’s Equation (3 of 3)

Lecture 16b ‐‐ Numerical TO 8

Step 5 – Solve Laplace’s equation

The function u(x,y) has all of the forced values, but also contains all of the numbers in between.

,u x y

1 u L b

3/9/2018

5

Enclosed Problems

Lecture 16b ‐‐ Numerical TO 9

Sometimes we only wish to obtain a solution that is perfectly enclosed by the boundary values.

Boundary values enclose some volume.

We only wish to solve Laplace’s equation here.

We do not care about outside of the enclosed boundary.

Reducing Enclosed Problems(1 of 3)

Lecture 16b ‐‐ Numerical TO 10

Step 1 – Make a map M(x,y) of where we wish to solve Laplace’s equation.

,M x y ,b x y Solve here.

Do not solve here.

3/9/2018

6

Reducing Enclosed Problems(2 of 3)

Lecture 16b ‐‐ Numerical TO 11

Step 2 – Eliminate the rows and columns that correspond to points where we do not wish to solve.

% REDUCE LAPLACE’S EQUATIONind = find(M(:));L = L(ind,ind);b = b(ind);

L u b

L u b

Reducing Enclosed Problems(3 of 3)

Lecture 16b ‐‐ Numerical TO 12

Step 3 – Solve Laplace’s equation.

1 u L b

Step 4 – Insert solutionback into grid.

% SOLVE LAPLACE'S EQUATIONu = L\b;

% INSERT SOLUTION BACK INTO GRIDU = zeros(Nx,Ny);U(ind) = u;

3/9/2018

7

CalculatingSpatial Transforms

UsingLaplace’s Equation

Step 1: Construct Object and Cloak

Lecture 16b ‐‐ Numerical TO 14

Object to CloakOBJ

Cloak ShapeCLK

1’s

0’s

3/9/2018

8

Step 2: Identify Edges of Cloak and Object (1 of 2)

Lecture 16b ‐‐ Numerical TO 15

Edge of ObjectEOBJ

Edge of CloakECLK

1’s

0’s

Step 2: Identify Edges of Cloak and Object (2 of 2)

Lecture 16b ‐‐ Numerical TO 16

All edges are detected at positions outside of the cloak region.

This places the edge of the object to be inside of the object.

Cloak Region

Object

ExternalRegion

3/9/2018

9

Step 3: Mask Meshgrid to Set Initial Boundary Values

Lecture 16b ‐‐ Numerical TO 17

X

Y

F

F

XF

YF

.*

.* =

=

Step 4: Force Coordinates on Object to Zero

Lecture 16b ‐‐ Numerical TO 18

XF

YF

3/9/2018

10

Step 5: Fill In Missing Coordinates (1 of 4)

Lecture 16b ‐‐ Numerical TO 19

XB

YB

XF

YF

2

Solve

0x

2

Solve

0y

Step 5: Fill In Missing Coordinates (2 of 4)

Lecture 16b ‐‐ Numerical TO 20

Step 1/3 – Construct ordinary Laplacian matrix equation.

2 2

column vector of forced values ,

x y

b x y

L D D

b

Step 2/3 – Enforce physical boundary conditions.

L F I F L

b Fb

Step 3/3 – Eliminate don’t care points.

L L

b b

The matrix equation is constructed in three steps:

3/9/2018

11

Step 5: Fill In Missing Coordinates (3 of 4)

Lecture 16b ‐‐ Numerical TO 21

Step 1/2 – Solve for u’’.

Step 2/2 – Insert points in u’’ back into full grid.

1 u L b

The matrix equation is solved in two steps:

u u

Step 5: Fill In Missing Coordinates (4 of 4)

Lecture 16b ‐‐ Numerical TO 22

Alternate view of coordinate transform:

Grid Before Transform Grid After Transform

3/9/2018

12

CalculatingPermittivity and

Permeability from the Spatial Transform

Step 6: Initialize Background Permittivity and Permeability

Lecture 16b ‐‐ Numerical TO 24

r r

1’s

1’s

1’s

0’s 0’s

0’s0’s

0’s 0’s

3/9/2018

13

Step 7: Calculate Derivatives of Transformed Grid

Lecture 16b ‐‐ Numerical TO 25

x

x

x

D x

x

y

x

D y

y

x

y

D x

y

y

y

D y

Step 8: Build UR and ER(1 of 4)

Lecture 16b ‐‐ Numerical TO 26

This step loops through each point on the grid.For each point in the cloak region…

a. Build [r] and [r] background tensors.

xx xy xz

r yx yy yz

zx zy zz

xx xy xz

r yx yy yz

zx zy zz

3/9/2018

14

Step 8: Build UR and ER (2 of 4)

Lecture 16b ‐‐ Numerical TO 27

This step loops through each point on the grid.  For each point…

b. Build Jacobian.

0

0

0 0 1

x x

x y

y yJ

x y

Step 8: Build UR and ER (3 of 4)

Lecture 16b ‐‐ Numerical TO 28

This step loops through each point on the grid.  For each point…

c. Transform [r] and [r] using inverse of Jacobian.

1

det

det

Tr

r

Tr

r

G J

G G

G

G G

G

% Transform UR and ERJ = inv(J);UR = J*UR*J.'/det(J);ER = J*ER*J.'/det(J);

3/9/2018

15

Step 8: Build UR and ER (4 of 4)

Lecture 16b ‐‐ Numerical TO 29

This step loops through each point on the grid.  For each point…

d. Populate grid with transformed values of [r] and [r].

xx xy xz

r yx yy yz

zx zy zz

xx xy xz

r yx yy yz

zx zy zz

Step 9: Done!

Lecture 16b ‐‐ Numerical TO 30

Numerical TO is done!  The material tensors can be imported into a CEM code for simulation.

r

r