Numerical methods: what is dispersion?

Its been a while since I posted so feeling a bit rusty… I thought it might be nice to post about some aspects of my area that are not well understood. So, here goes!

Numerical modelling and simulation are well established as valuable tools in the Photonics community (you can see my post Photonics and numerical modelling on the OSA blog and others on my own blog). To use these tools people do not have to be experts, especially with the commercial GUI software packages. For the most part this works well except for cases where nuances that effect the results/device design may not be known to all. 

Numerical dispersion is one such factor that effects all modelling methods. The root cause of numerical dispersion is this: In numerical methods the electric and magnetic fields are approximated in some way which does not exactly match the variation of the actual field. Even by decreasing the spacing between mesh points to zero (basically reaching the continuous limit) the interpolation error is not zero. For example, in the Finite Element (FE) based methods, shape or interpolation functions are used to approximate the field. Since the shape functions (usually polynomials) cannot capture the field variation exactly, the resulting interpolation error (in both the field and the gradient of the field), leads to dispersion. That is, as we vary the direction of propagation of the field, the wavelength/frequency of the wave, and/or the mesh (explained below) the accuracy of the numerical solution (and the numerically computed field) varies.

Additional factors that effect dispersion:

Space discretization: Many numerical methods require some sort of grid/mesh/discretization to represent the physical domain. The device/structure is then defined in this mesh which has both a finite physical extent and finite number of mesh points. It is possible to change the location of (and spacing between) mesh points, thus having a fine or coarse mesh. If mesh is not isotropic, that is, the number of points per unit wavelength that the approximated field encounters is not the same in every direction, it adds to the dispersion. Therefore, arrangement of the mesh is another way to control the dispersion.

Time discretization: for time dependent methods the time stepping scheme also leads to dispersion. However, the contribution of time stepping is to introducing phase lag/error in propagation of fields, which is independent of the direction the waves travel in.

Why should dispersion bother us?

So when using a software package or even our own code, we may not realise how the choice of mesh, FE shape functions etc. is introducing error in our solutions. Waves travelling at different angles (and thus different modes) have different accuracy. There can be error in the velocity of the wave! So device design can be effected especially at the nanoscale where tolerances in device dimension is critical.

Dealing with numerical dispersion: for each method, ways have been devised to reduce dispersion to below tolerable levels. In a recent paper with my colleagues, I discuss the improvements in FE based time domain method to reduce dispersion while also reducing computational costs. You can find it here! I would love to hear your comments!


2 comments on “Numerical methods: what is dispersion?

  1. Nice information. It would be great to have a description of the difference between dissipation and dispersion.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s