Problem with implicit FDTD method
时间:03-30
整理:3721RD
点击:
Hello for all!
I have problem with simulation using simple implicit FDTD method.
It's a simple 1D simulation in vacuum with PEC boundary conditions and sine source at cell Ex(0). Propagation direction is in positive Z-Axis.
As reference I'm using the Yee FDTD algorithm with the same grid. Yee method is working fine, i have some identical waves that propagate to the right end of modeling domain and reflect back to the domain then.
But when I'm starting my implicit scheme it seems that the waves are smoothing along the z-axis (my amplitude decreases constantly and the wave form gets wider).
I'm guessing that I'm doing something wrong but I can't understand what exactly.
For the equations:
(1)
(2)
I"m doing the discretization:
(3)
(4)
Then I"m writing from (4):
(5)
(6)
Then I"m writing from (3):
(7)
Then subsituting (5) and (6) into (7) I have:
Now I"m writing all that refers to {m+1} step to the left:
Then for all Ex except boundary conditions I have the linear system of equations in following form:
[ 1+2AB ; -AB ; 0 ; ... ; 0 ]
[ -AB ; 1+2AB ; -AB ; ... 0 ]
...
[0 ; ... ; -AB ; 1+2AB; -AB]
[0 ; .... ; 0 ; -AB ; 1+2AB]
and vector in form of
...
...
Solving this (I tried to solve this with matlab linsolve, then with matlab left division (matrix\vector) and with thomas algoritm - and get the same result) we have Ez at grid cells except boundary conditions.
Then I use this values to explicitly calculate Hy from (5) and proceed to the next iteration.
It"s a bit tricky for me to understand what am I doing wrong.
I have problem with simulation using simple implicit FDTD method.
It's a simple 1D simulation in vacuum with PEC boundary conditions and sine source at cell Ex(0). Propagation direction is in positive Z-Axis.
As reference I'm using the Yee FDTD algorithm with the same grid. Yee method is working fine, i have some identical waves that propagate to the right end of modeling domain and reflect back to the domain then.
But when I'm starting my implicit scheme it seems that the waves are smoothing along the z-axis (my amplitude decreases constantly and the wave form gets wider).
I'm guessing that I'm doing something wrong but I can't understand what exactly.
For the equations:
(1)
(2)
I"m doing the discretization:
(3)
(4)
Then I"m writing from (4):
(5)
(6)
Then I"m writing from (3):
(7)
Then subsituting (5) and (6) into (7) I have:
Now I"m writing all that refers to {m+1} step to the left:
Then for all Ex except boundary conditions I have the linear system of equations in following form:
[ 1+2AB ; -AB ; 0 ; ... ; 0 ]
[ -AB ; 1+2AB ; -AB ; ... 0 ]
...
[0 ; ... ; -AB ; 1+2AB; -AB]
[0 ; .... ; 0 ; -AB ; 1+2AB]
and vector in form of
...
...
Solving this (I tried to solve this with matlab linsolve, then with matlab left division (matrix\vector) and with thomas algoritm - and get the same result) we have Ez at grid cells except boundary conditions.
Then I use this values to explicitly calculate Hy from (5) and proceed to the next iteration.
It"s a bit tricky for me to understand what am I doing wrong.