Variable timestepping for FDTD?

Give some feedback on openEMS.

Moderators: thorsten, sebastian

Post Reply
Posts: 90
Joined: Mon 30 Sep 2013, 22:27

Variable timestepping for FDTD?

Post by montanaviking » Fri 21 Feb 2014, 17:29

Hi Thorsten,
I'm simulating structures which have a large difference between the largest and smallest mesh size because there are thin conductors and semiconductors mixed with RF transmission lines. From what I gather about FDTD, the timestep must be set to accommodate the smallest mesh grid size in the problem and in my case, this means gridpoints spaced much closer than 1/20th a wavelength and correspondingly small timesteps which are dictated by electromagnetic transit time between these close meshpoints.
What would happen if one could divide the problem up spatially and simulate the areas which have closely-spaced meshpoints with the necessary short timesteps while simulating areas with widely-spaced meshpoints with widely-spaced timesteps? In other words, find the widest meshpoints and use this to determine the base timestep points. Simulate all meshpoints at these widely-spaced base timesteps.
Then add timesteps, as needed, between the base timesteps, to simulate ONLY the portions of the problem having the narrow-spaced meshpoints - and simulate the finely spaced meshpoint regions with the densest timesteps. I'm thinking that the above would be more efficient since I think that only the parts of the problem having the narrowly-spaced meshpoints would need the corresponding narrowly-spaced timesteps and the other parts of the problem would remain stable with more widely-spaced time steps - requiring less computer resources.

Is this already being done in OpenEMS or any other software? I might have missed something. Does it make sense?
Thanks again for this package,

Posts: 1393
Joined: Mon 27 Jun 2011, 12:26

Re: Variable timestepping for FDTD?

Post by thorsten » Fri 21 Feb 2014, 18:01


yes there are paper talking about this local mesh refinements. But it really is not easy to do, you get artificial reflections on the boundaries, instabilities etc.
I have no plans to implement such subgrid's. But openEMS is open source, give it a try ;)


Post Reply