Is there something like a rule of thumb for an adequate time-step size when solving Maxwell's equation for the interaction of light with matter?

I guess a single wave oscillation has to be resolved within at least ~10 steps, which would give a time-step below 1 fs for visible light?

I really hope it's not that bad. What's your experience?

  • I suppose that you are using an explicit FDTD. Have you read about the CFL condition? – nicoguaro Sep 21 '17 at 0:20
up vote 1 down vote accepted

For visible light, a timestep on the order fs is correct. But you have to balance that against the fact that you would typically only need to use FDTD (or any fullwave technique) when your scatterers/structures are on the scale of the wavelength anyway. And since they're so small, the total interaction time is probably not especially long. It's probably in nanoseconds unless they are extremely high Q resonators (and if they are high-Q, use a frequency domain technique directly, like finite elements or method of moments, instead of just waiting ages for a transient solver to reach oscillatory steady state). I don't mean to imply that optical FDTD models are inexpensive, just pointing out that you rarely need to model long time durations with tiny timesteps (and you may have ways to escape, anyway).

When structures are vastly larger than a wavelength (ie too big for full-wave/FDTD) then asymptotic/raytracing-like techniques grow increasingly accurate. They are not bound by the nyquist rate in space nor the courant criteria in time, so their runtime is not so strongly sensitive to frequency (just their accuracy).

I do admit and agree that there's still a large "unconquered middle" of important structures that are electrically/optically large, yet still packed with enough fine detail to demand fullwave accuracy (antenna arrays, photonic crystals, computer chips, many more). Even here, there might be tricks (periodicity, for instance, in the case of an array) that allow for a tailor-made full wave solution.

  • Thank you for your detailed answer. I got another question if you dont't mind: My structures are way smaller than the wavelength (I'd like to simulate the influence of a metals surface structure on laser energy absorption). The nodes in my finite difference grid correspond to cubic cells having volumes of about 0.001 nm³ (or even smaller). Is FDTD appropriate in my situation? – OD IUM Sep 21 '17 at 8:28
  • That's certainly small.. dx on the order of 1/1000 of a wavelength for visible light? With a correspondingly tiny dt due to CFL criteria. There are implicit methods that could be of interest: alternating-direction-implicit (ADI), and FETD-Newmark spring to mind. The former is probably easier to program and integrate with the usual FDTD ecosystem (PML, nonlinear models, etc). The latter is full-blown unstructured FEM, complicated but good for general geometry (no staircasing). I would start with ADI, it's similar to Yee FDTD. You could always open a new question for a second opinion. – rchilton1980 Sep 21 '17 at 20:49
  • Sorry .. realized I omitted an important detail: you don't pick implicit-ness for its own sake, rather you do so because both of those methods are unconditionally stable (independent of time step, no CFL criteria). – rchilton1980 Sep 22 '17 at 0:45
  • Thanks for your hints. Indeed, my structures are very small...I guess I'll arrive at a timestep of about 1E-17 s. In 3D, with millions of nodes this can become troublesome. I guess a pure implicit method is not feasible in this case, simply due to the huge memory requirements of the resulting matrices. I'll check out ADI. As far as I get it, it's alternating implicit, keeping the other directions explicit during a 1/3 substep. Sounds quite challenging though ^^ – OD IUM Sep 22 '17 at 8:39

There is a very simple rule of thumb for the time step in FDTD: set it as large as possible while still satisfying the CFL condition. Basically your space discretization dicatates you your time step.

rchilton1980 wrote:

It's probably in nanoseconds unless they are extremely high Q resonators (and if they are high-Q, use a frequency domain technique directly, like finite elements or method of moments, instead of just waiting ages for a transient solver to reach oscillatory steady state).

This remark seems to assume that you excite the domain by a delta pulse in the time domain. However, it often makes more sense to use a pulse of finite width (Hann window aka raised cosine modulated by the desired frequency, size should be a multiple of modulation), because it will significantly reduce the transient time in case of high-Q structures. My advice: use (=increase) the transient time to cover for wave propagation delay, and use (=increase) the pulse width to deal with high-Q effects.

This remark remains true even if you use ADI instead of FDTD. If you use ADI, another rule of thumb for the time step will be required. I would use around 20 per wavecycle for a start. Then you can find out whether it is too slow or too inaccurate, and change accordingly.

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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