top of page

Common Questions

Answers You Need

Due to the interactive nature of our discussions and topics, we understand that many questions may come up for our members. We’ve compiled a collection of the questions we get asked the most, which you can browse below. If you still have doubts after going through the list, get in touch and someone from our team will get back to you ASAP.

  • Can it do perfectly matched boundary layers?
    - No, but it can do better: Osnabrugge, Gerwin, Maaike Benedictus, and Ivo M. Vellekoop. "Ultra-thin boundary layer for high-accuracy simulations of light propagation." Optics express 29.2 (2021): 1649-1658.
  • Does Wavesim support birefringent materials?
    Not yet, but if you require this feature, please contact us to discuss customization options.
  • Does Wavesim always converge?
    Yes.
  • Can it simulate nonlinear phenomena?
    No, Wavesim does not have the capability to simulate nonlinear phenomena.
  • Can Wavesim solve Maxwell’s equations too?
    Yes
  • Can it be used for high refractive indices?
    Wavesim works with high refractive indices just as well, though slower.
  • Does it matter that some terms of the series are omitted?
    Wavesim is an iterative solver that converges monotonically to the correct solution. This means that the residual decreases with every step. If it is small enough, Wavesim stops the iterations. The effect of this truncation is somewhat similar to terminating a time-resolved simulation (like FDTD) at some point. Each iteration in Wavesim spreads out the solution through space, somewhat analogous to a wave propagating (we call this pseudo propagation). This means that if you want to simulate a cavity with a high Q-factor (with waves bouncing around many times), you need to iterate long enough for the 'pseudo propagating' waves bouncing around in the cavity to decay sufficiently.
  • What limits the accuracy?
    The scattering potential is sampled on a grid. This quantization error limits the accuracy. Truncation of the iteration. At some point you want to stop, even though there may be some low-intensity waves ‘bouncing around.’ Note: Holds for all methods in one way or another.
  • Do you have Python code available?
    Yes! We recently released the Python code on GitHub. This implementation solves the modified Born series through domain decomposition, allowing simulations to be split and run over multiple GPUs. Currently, this code is limited to the Helmholtz equation.
  • Can it be used for acoustic wave propagation?
    Yes, you can adjust the parameters in Wavesim to simulate acoustic wave propagation.
  • Does Wavesim support vector electromagnetic solutions?
    Yes, it supports both scalar and vector solutions.
  • What determines the speed?
    The lower the scattering potential, the higher the convergence rate. For light, the contrast is relatively low compared to sound, this simulations are fast. The longer the waves reside in the simulation domain, the longer the simulation takes (‘pseudo propagation’). Note: These constraints are true for other methods as well.
  • Can it do time-resolved waves?
    Yes, by performing a simulation for each frequency ω and Fourier transform. See pulse2d.m for an example.
  • Can it simulate gain media?
    No, Wavesim does not currently support the simulation of gain media.
bottom of page