Broadband Fixed Angle Source Technique (BFAST) beta testing feedback



The Broadband Fixed Angle Source Technique (BFAST) is a major new feature in the 2016a (November 2015) product release of FDTD and MODE Solutions. This feature allows broadband injection of plane waves at a fixed angle, which is a major improvement over the wavelength dependent angle that occurs in all prior versions. For more information on the BFAST feature as well as the wavelength dependent angle problem, see the following KB pages.
BFAST feature introduction
Wavelength dependent angle issue

Lumerical has provided beta versions of FDTD Solutions to select customers in advance of the main product release to obtain customer feedback. This topic is intended for discussions of the BFAST beta feature.

If you are interested in beta testing the BFAST feature, please contact to apply for access to the beta version.

Note: This topic may be closed or removed once the BFAST feature is officially released.

sweep using BFAST

A simple example where you can see BFAST at work is the calculation of the transmission spectrum for a multilayer structure. In this case we can compare the numerical results from BFAST with an analytical calculation:

Note the excellent agreement over a wide range of angles of incidence. These plots were obtained by a sweep over the angle; for each angle only one broadband simulation is required using BFAST.

You can try this simulation yourself downloading the attached files. The script file will run the angle sweep and the analytical calculation, generating the color plots shown above.

plane_4layer_bfast.fsp (244.6 KB)
plane_4layer_bfast.lsf (1.5 KB)


BFAST webinar on Nov 10-12:


How to use BFAST:

the new feature is now done in the sources. Plane wave sources have a new choice of “plane wave type” which can be Bloch/periodic, bfast or diffracting. Just choose “BFAST” and it will work.


BFAST FDTD is fundamentally different from standard FDTD because the core electromagnetic field update equations are changed, in addition to the boundary condition. As a result, there are some limitations:

  1. The time step, dt, must be reduced compared to standard FDTD as the angle of incidence increases in order to preserve numerical stability. As a result, steep angle simulations will take more time to run. For this reason, it is important to consider if BFAST is the right method for your application. If your bandwidth is small, or your angle of incidence is low, you may get faster results by using Bloch boundaries conditions. Certainly, if you are only looking for results at a single wavelength, you should use Bloch boundary conditions.

  2. Nonlinear materials are not compatible with the split field method. As a result, nonlinear and all flexible
    material plugin materials will not function using BFAST. However, graphene may be used.

  3. Injection above the critical angles for total internal reflection (TIR) is not allowed. There is no possible
    stable time step dt in this case. For example, injecting light at 50 degrees in glass that is incident on a glass/air interface is not stable. However, if you are injecting light in a lower index medium onto a higher index medium, then it is allowed. For example, if you are injecting light from glass onto a higher index substrate, such as silicon, then you can use BFAST – however, the value of “bfast alpha” should be set equal to the smallest refractive index used anywhere in your simulation.

Numerical Stability

BFAST is more unstable numerically from standard FDTD. There are several sources of instability and most problems can be solved by adjusting certain settings. Most problems and their solutions are listed here:

  1. Dispersive media can become unstable much more easily. These problems can typically be fixed by reducing the “dt multiplier”. This multiplier is an additional factor that is applied to the usual FDTD BFAST time step over the theoretically stable limit – which is already less than conventional FDTD. If you are only using dielectric media, you can consider setting this value to 1, thereby gaining a factor of 2 in simulation speed over the default setting of 0.5. However, the default value of 0.5 is stable for most dispersive media.

  2. When using dispersive media, the numerical stability is greatly increased by using a uniform mesh over the
    dispersive materials in the direction transverse to the source injection axis. In most cases, the automatic mesh generation will create a mesh that satisfies this requirement but there can be exceptions. For example, when considering the scattering of a gold particle on a surface, as shown below for a 2D simulation, automatic mesh generation will generate a uniform mesh that extends at least 1*dx outside of the gold region and this will ensure stability in most cases. However, if the substrate is also dispersive, as shown in the final figure, the simulation can become unstable because the x mesh is graded in dispersive media. In this case, a mesh override region should be used to force a uniform mesh in x – but does not have to force a uniform mesh in y.

sweep using BFAST

Does this source work in 3D simulations? I tried it and the source object disappears after the simulation is run.


It should work.

Could you please tell us which version you are using, which OS, and a screenshot of the issue? or send us your file so we can check. The newest version is 8.15.679.


I’m using version 8.15.678 and running it on windows 7. It worked quite well in 2D but the source disappeared after moving to 3D and the only result available with the DFT monitor was E (see image).


This bug has been fixed a while ago. Please send me an email at so I can send you the newest version.


The BFAST feature is now available to everyone in the official 2016a product release.

Closing this ‘beta testing feedback’ thread.

closed #10