Minimum number of elements (mesh size) for electromagnetic simulation

Does someone have a reference for the minimum number of elements (or maximum mesh size) for electromagnetic simulations where a mathematical or numerical explanation is given?

I have found several recommendations but alas no justification:

• For instance, here at least 5 second-order elements per wavelength are recommended.
• On page 190 of "Principles and Techniques of Electromagnetic Compatibility" from Christopolous at least 10 elements per wavelength are recommended.
• On page 269 of "MATLAB-based Finite Element Programming in Electromagnetic Modeling" from Özgün and Kuzouglu at least 20 elements per wavelength are recommended.
• On page 10 of "Transmission Lines in Digital and Analog Electronic Systems" from Paul, it says that a transmission line is short if it is shorter than wavelength/10 because the wave "only" has a phase shift of 36° (that seems a lot to me!)
• Why the downvote? – Ken Grimes Mar 6 at 16:30
• Your question is good and very on-topic. – Anton Menshov Mar 6 at 23:20
• The "10 elements" and "20 elements" recommendations are meaningless unless the interpolation order of the elements is specified (and it could be not just first-order but zero-order!) – alephzero Mar 7 at 0:15

The Maxwell system is a wave equation at heart, so your ansatz (the space where you seek solutions, the combination of your mesh and basis functions) must be able to faithfully represent waves. The Nyquist criterion sets an absolute lower limit to the "sample rate" of your mesh: two points per wavelength. In practice, you must upsample by a considerable margin in order to get a solution that really "looks" like a wave. The figure below shows the same wave, with $$\lambda/4$$, $$\lambda/5$$, $$\lambda/8$$ and $$\lambda/12$$ sampling:

The requirement that your interpolant "looks" like a wave lacks mathematical rigor, but you can certainly develop quantitative criteria from the same basic idea. For instance, integrate the L2 error between the interpolant and an exact sine wave. Or maybe derive the discrete dispersion relation of your ansatz, and use that to bound how much phase error it will accumulate per wavelength.

Bear in mind that the "thumb rules" ($$\lambda/20$$ sampling, or whatever) are method and problem dependent, FDTD in particular seems to need a ton of sampling because it's just collocation (not weighting or integrating the error out). High order methods (eg piecewise quadratic instead of piecewise linear splines) can tolerate much larger element sizes. This is offset somewhat because each element now has more degrees of freedom / more work associated with it, but you generally come out ahead.

There's certainly more on the subject of error control that you could drill into (how to model non-wave solutions like singularities, how "pollution error" enters the picture, to name two biggies). But this idea ("resolve the wave") is a good start that can take you pretty far.

It sounds like you are interested in a finite-element analysis, which is out of my area of expertise. But I can hopefully provide some insight from the perspective of finite-difference methods which may still have some relevance to your problem (since it is also used to solve wave equations).

In general, a good rule of thumb is that specification of a particular mesh size/spacing is largely meaningless if not accompanied by some consideration of the natural length/time scale of the problem. For example, in a finite-difference computation you will typically want to evolve for a time $$T \gg \Delta t$$ and use a mesh size $$L \gg \Delta x$$, where $$\Delta t$$ and $$\Delta x$$ are your time step and grid spacing, respectively. This will especially be true for lower-order finite-difference approximations.

This idea was already hinted at by @rchilton1980 in their answer: you need to pick a mesh with enough grid points so that the waves can be adequately resolved. In this case, the relevant length scale might be the wavelength, and the spacing should be much smaller than this.

Of course, one should generally perform convergence tests using different mesh spacings to confirm that you are indeed converging to the continuum solutions; after all, it is the continuum behavior that you are really after. This will be the only real test of whether you have used enough mesh points.