- function [Ezo, Hxo, Hyo] = leapFrog2D(Ezi, Hxi, Hyi, parameters)
-
- Ezo = Ezi;
- Hxo = Hxi;
- Hyo = Hyi;
-
-
- c1 = parameters.c1;
- c2 = parameters.c2;
- c3 = parameters.c3;
- c4 = parameters.c4;
- dx = parameters.dx;
- dy = parameters.dy;
- boundary = parameters.boundary;
- wire = parameters.wire;
-
-
- Nx = size(Ezi,1);
- Ny = size(Ezi,2);
-
- j_p_0_E = 1:Nx-1;
- j_p_0_E = 1:Ny-1;
-
- i_p_1_E = 2:Nx;
- j_p_1_E = 2:Ny;
-
- i_p_0_H = 1:Nx-1;
- j_p_0_H = 1:Ny-1;
-
- i_p_1_H = 2:Nx;
- j_p_1_H = 2:Ny;
-
-
- % transverse electric
-
- Ezo(i_p_1_E, j_p_1_E) = c1(i_p_1_E, j_p_1_E).*Ezi(i_p_1_E, j_p_1_E) + c2(i_p_1_E, j_p_1_E).*( ( wire(i_p_1_E, j_p_1_E).*Hyi(i_p_1_E, j_p_1_E) - wire(i_p_0_E, j_p_1_E).*Hyi(i_p_0_E, j_p_1_E) )/dx - ( wire(i_p_1_E, j_p_1_E).*Hxi(i_p_1_E, j_p_1_E) - wire(i_p_1_E, j_p_0_E).*Hxi(i_p_1_E, j_p_0_E) )/dy );
-
- Hxo(i_p_0_H, j_p_0_H) = Hxi(i_p_0_H, j_p_0_H) + c3(i_p_0_H, j_p_0_H).*( ( wire(i_p_0_H, j_p_0_H).*Ezo(i_p_0_H, j_p_0_H) - wire(i_p_0_H, j_p_1_H).*Ezo(i_p_0_H, j_p_1_H) )/dy );
- Hyo(i_p_0_H, j_p_0_H) = Hyi(i_p_0_H, j_p_0_H) + c4(i_p_0_H, j_p_0_H).*( ( wire(i_p_1_H, j_p_0_H).*Ezo(i_p_1_H, j_p_0_H) - wire(i_p_0_H, j_p_0_H).*Ezo(i_p_0_H, j_p_0_H) )/dx );
- end