Finite difference time domain (FDTD) allows to solve differential equations for time evolution. For example, we can analyze ultra-short pulses in free space by solving the Maxwell's equations.

The pulse above is plane wave with gaussian shape in the time domain that propagates in $z$ direction. The wave $E_x$ does not have have shape in $x$ direction it is simple plane wave, $E_x (x,t) = \exp(-t^2/\tau^2 - i \omega_0 t)$)

How does one add transverse dimensions (just $x$ direction) to the FDTD method to solve for Gaussian pulse in space ($x$ direction) and Gaussian pulse in time that propagates in $z$ direction?

How to propagate $$E_x (x,t) = \exp(-t^2/\tau^2 - i \omega_0 t) \exp(-x^2/w_o^2)~?$$

  • $\begingroup$ The pulse as you've written it is not a plane wave propagating in the $z$ direction ─ it would need a factor of $e^{ik_z z}$ to be that. $\endgroup$ – Emilio Pisanty Nov 6 '17 at 18:16

If you use Lumerical or MEEP to do the FDTD calculation, you can simply add a Gaussian source polarized along $x$-direction but propagating along $z$-direction with the given pulse width and $\tau$ and frequency. Alternatively, you can make both $y$ and $z$ components equal to zero for the source. Is this what you want?

  • $\begingroup$ Thank you. I would like to understand the FDTD a bit better, what are the update equations and how many dimensions I need to propagate Ex(x,t)=exp(−t2/τ2−iω0t)exp(−x2/w2o) . And how is the source field inserted. I am sure there programs can do it. $\endgroup$ – Anonymous Oct 6 '15 at 20:10
  • $\begingroup$ That is a little bit technical. You can refer to the manuals of those software products. For example, you can find examples for MEEP here for inserting Gaussian sources by using (make source (src (make gaussian-src (frequency fcen) (fwidth df))) (component Ex)...) sentence. $\endgroup$ – Xiaodong Qi Oct 6 '15 at 20:21

Your question is unclear. If you add transverse dimensions, your problem is no longer 1-dimensional.

If you mean adding transverse components of your interested quantities, then there is no change needed to the usual FDTD method. For example, if you are analysing the propagation of an electromagnetic plane wave in one-dimension, say the positive $z$ direction, we know that the electric field will be linearly polarized in the $x$ direction and the magnetic field will be linearly polarised in the $y$ direction. Your computational domain will consist of $E_x (z)$ and $B_y(z)$ values, then.

If you are interested in gaussian pulses, you can simply set your source to be a propagating gaussian and run a FDTD simulation as usual.

A good resource for the FDTD method applied to electromagnetism is Computational Electrodynamics, by Allen Taflove and Susan C. Hagness.

  • $\begingroup$ Thank you it is a good book, but I can not find that example discussed there. $\endgroup$ – Anonymous Oct 6 '15 at 20:11
  • $\begingroup$ I still don't quite understand your question. It seems obvious to me, and it is the starting point of any FDTD implementation to work with the field components that are applicable to your problem - in the case of a 1D problem, that is automatically the transverse components of the E and B fields. $\endgroup$ – Julio Nicolini Oct 7 '15 at 7:59

Generally to propagate, one needs a term like $\mathbf{k} \cdot \mathbf{x}$ in the exponent (i.e., a finite phase velocity). The last term you showed should not propagate anywhere. It's envelope is a modulated Gaussian (i.e., from the $e^{-x^{2}}$ term) and its amplitude grows in time (i.e., from the $e^{-t^{2}}$ term) while it oscillates as a standing wave (i.e., from the $e^{-i \ \omega \ t}$ term).

Since I do not see any wave numbers ($\mathbf{k}$), I am curious how you are propagating a signal. You could multiply by something simple like $e^{i \ \mathbf{k} \cdot \mathbf{x}}$ to get the finite phase velocity required for the phase fronts to propagate. Then ensure that $\partial \omega / \partial \mathbf{k} \neq 0$ to get the envelope to propagate (i.e., finite group velocity).

  • $\begingroup$ Thank you. Ex(x,t)=exp(−t2/τ2−iω0t)) is happily propagating in the FDTD method. I would like to understand the FDTD better, what are the update equations and how many dimensions I need to propagate Ex(x,t)=exp(−t2/τ2−iω0t)exp(−x2/w2o) . And how is the source field inserted. The term k.z might be needed. Basically a procedure. $\endgroup$ – Anonymous Oct 6 '15 at 20:14
  • $\begingroup$ That's the thing, it should not be propagating unless there are other equations you have not shown in your question. The first expression for $E_x$ in your comment is just a growing/damping standing wave that does not propagate. The second expression for $E_x$ in your comment adds the Gaussian term, which also does nothing to propagate the waveform, it merely modifies the wave packet envelope. $\endgroup$ – honeste_vivere Oct 7 '15 at 11:40
  • $\begingroup$ @honeste_vivere the wave propagates because the FDTD method implements a numerical solution to Maxwell's equations at each point in the grid. So, if you set one point as a time-varying wave (but with no space propagation, as you say), the grid itself will propagate that information through the solution of the numerical equations at each grid point. $\endgroup$ – Julio Nicolini Oct 7 '15 at 12:16
  • $\begingroup$ @JulioNicolini - So in a vacuum (i.e., no source charges or currents), the propagation is just a numerical artifact of the discretization of the solutions? $\endgroup$ – honeste_vivere Oct 7 '15 at 12:58
  • $\begingroup$ @honeste_vivere If you input no sources, then there should be nothing propagating, as all FDTD algorithms initialize all field components in all grid points to zero. Numerical artefacts are indeed a problem that needs to be addressed when using FDTD, though, of course. $\endgroup$ – Julio Nicolini Oct 7 '15 at 13:43

I assume that you are integrating the following equation:

$$\frac{\partial^{2}E}{\partial z^{2}}+\frac{\partial^{2}E}{\partial x^{2}}-\frac{1}{v^{2}(\omega)}\frac{\partial^{2}E}{\partial t^{2}}=0$$

With an "initial" condition: $$E(x,t, z=0) = f(x,t).$$

First thing you have to do is transforming $x$ and $t$ derivatives to finite differences:

$$\frac{\partial^{2}E}{\partial x^{2}}=\frac{E_{k+1}+E_{k-1}-2 E_{k}}{\Delta x^{2}} \equiv X_k(z),$$

$$\frac{\partial^{2}E}{\partial t^{2}}=\frac{E_{m+1}+E_{m-1}-2 E_{m}}{\Delta t^{2}} \equiv T_m(z),$$

Where I introduced shorthand notations $X_k(z)$ and $T_m(z)$ because I'm too lazy to type those double differences on mobile.

Next, you have to discretize your f(x,t) on $xt$ plane: turn it into a grid of $(x_k, t_m)$ points with discretization steps $\Delta x$ and $\Delta t$. Let's assume you have $K$ points along $x$ and $M$ points along $t$. Thus, your second order PDE turns into a system of $K \times M$ coupled second-order ODEs.

$$\left\{ \begin{array}{c} E''+X_1(z)-\frac{1}{v^2} T_1(z) = 0\\ E''+X_2(z)-\frac{1}{v^2} T_1(z) = 0\\ ...\\ E''+X_K(z)-\frac{1}{v^2} T_1(z)=0\\ E''+X_1(z)-\frac{1}{v^2} T_2(z) = 0\\ ...\\ E''+X_K(z)-\frac{1}{v^2} T_M(z) = 0 \end{array}\right.$$

Where $E'' \equiv \frac{d^2 E}{d z^2}$. From here, you can just use standard procedure as in the 1D case.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.