EEE 431 Computational Methods in Electrodynamics Lecture 10
- Slides: 20
EEE 431 Computational Methods in Electrodynamics Lecture 10 By Dr. Rasime Uyguroglu Rasime. uyguroglu@emu. edu. tr 1
FINITE DIFFERENCE TIME DOMAIN METHOD (FDTD) 2
FINITE DIFFERENCE TIME DOMAIN METHOD (FDTD) l l One dimensional free space formulation: Assume a plane wave with the electric filed having Ex, magnetic field having Hy components and traveling in the z direction. 3
FINITE DIFFERENCE TIME DOMAIN METHOD (FDTD) l Maxwell’s Equations become: 4
FINITE DIFFERENCE TIME DOMAIN METHOD (FDTD) l Taking central difference approximation for both temporal and spectral derivatives: 5
FINITE DIFFERENCE TIME DOMAIN METHOD (FDTD) 6
FINITE DIFFERENCE TIME DOMAIN METHOD (FDTD) l The coefficients can be written as: 7
FINITE DIFFERENCE TIME DOMAIN METHOD (FDTD) l /* 1 D FDTD simulation with a hard source. */ l #include <stdio. h> #include <math. h> #define KE 200 int main() { double ez[KE]={0. }, hy[KE]={0. }, imp=377. 0, s=0. 5; int n, n. Time=250, k; FILE *fp, *fp 1; fp 1=fopen("E. dat", "w"); /* do time stepping */ for (n=0; n<n. Time; n++) { /* update magnetic field */ for (k=0; k<KE-1; k++) hy[k] = hy[k] + s*(ez[k+1] - ez[k])/imp; /* update electric field */ for (k=1; k<KE; k++) ez[k] = ez[k] + s*imp*(hy[k] - hy[k-1]); l l l l l l /* source point */ ez[0] = exp(-(n-30. )*(n-30)/100); fprintf(fp 1, "%gn", ez[50]); } fclose(fp 1); return 0; } 8
FINITE DIFFERENCE TIME DOMAIN METHOD (FDTD) l Source at k=0, field at k=50 w. r. t. the time, 250 time steps. 9
FINITE DIFFERENCE TIME DOMAIN METHOD (FDTD) l Source at k=100, Ex at k=100 10
FINITE DIFFERENCE TIME DOMAIN METHOD (FDTD) l Ez w. r. t. space steps 11
FINITE DIFFERENCE TIME DOMAIN METHOD (FDTD) l Ez w. r. t. the time steps. 12
FINITE DIFFERENCE TIME DOMAIN METHOD (FDTD) l Ez w. r. t. the time steps 13
FINITE DIFFERENCE TIME DOMAIN METHOD (FDTD) with ABC’s l Using the boundary condition discussed in Lecture 9 : l Store a value of Ex(1) for two time steps and then put it in Ex(0). 14
FINITE DIFFERENCE TIME DOMAIN METHOD (FDTD) with ABC’s l A. B. C. in C computer code assume that the domain ends at k=KE: 15
FINITE DIFFERENCE TIME DOMAIN METHOD (FDTD) with ABC’s l Ez w. r. t. the time steps 16
FINITE DIFFERENCE TIME DOMAIN METHOD (FDTD) with ABC’s l /* 1 D FDTD simulation with ABC. */ l l #include <stdio. h> #include <math. h> l #define KE 200 l int main() { double ez[KE]={0. }, hy[KE]={0. }, imp=377. 0, s=0. 5; int n, n. Time=1000, k; float ez_low_m 1=0, ez_low_m 2=0, ez_high_m 1=0, ez_high_m 2=0; FILE *fp, *fp 1; fp 1=fopen("E. dat", "w"); /* do time stepping */ for (n=0; n<n. Time; n++) { // printf( " %6. 2 fn", n. Time); l l l l l 17
FINITE DIFFERENCE TIME DOMAIN METHOD (FDTD) with ABC’s l l l /* update magnetic field */ for (k=0; k<KE-1; k++) hy[k] = hy[k] + s*(ez[k+1] - ez[k])/imp; l /* update electric field */ for (k=1; k<KE; k++) ez[k] = ez[k] + s*imp*(hy[k] - hy[k-1]); l /*Absorbing Boundary Conditions*/ l l l l ez[0] = ez_low_m 2; ez_low_m 2 = ez_low_m 1; ez_low_m 1 = ez[1]; ez[KE-1] = ez_high_m 2; ez_high_m 2 = ez_high_m 1; ez_high_m 1 = ez[KE-2]; 18
FINITE DIFFERENCE TIME DOMAIN METHOD (FDTD) with ABC’s l l l l /* hardwire a source node */ ez[100] = exp(-(n-30. )*(n-30)/100); fprintf(fp 1, "%gn", ez[50]); if(n==150){ fp=fopen("Ez. dat", "w"); for (k=1; k<=KE; k++) {fprintf(fp, "%6. 2 fn", ez[k]); } fclose(fp); l /* Write Hy in a file "Hy"*/ l fp=fopen("Hy. dat", "w"); for(k=1; k<=KE; k++) {fprintf(fp, " %6. 2 fn", hy[k]); } fclose(fp); } l l l l } fclose(fp 1); return 0; } 19
FINITE DIFFERENCE TIME DOMAIN METHOD (FDTD) with ABC’s l Ez with ABC and without ABC 20
- Eee 431
- Eee 431
- Eee 431
- Eee 431
- Eee 431
- Eee 431
- Eee 431
- Computational methods in plasma physics
- Quantum electrodynamics applications
- Continuity equation in electrodynamics
- Griffiths electrodynamics chapter 7 solutions
- Weber
- Magnetsl
- Electrodynamics
- Electrodynamics
- Yukawa potential derivation
- 01:640:244 lecture notes - lecture 15: plat, idah, farad
- Cse 431
- Cs 431
- Cse 431
- Bio 431