Boundary Conditions and PML settings in FDE Solver


> What boundary conditions should I use when creating simulation in MODE - FDE Solver? Should I use PML? If yes, what PML parameters should I use? Those are some typical questions and I hope that this post will help you to make the right decision.

Generally, FDE uses metal boundaries by default and that is also what is recommended when starting with a new simulation.

PML should be used only when there is a good reason for it - for example when you have radiative loss such as in bent waveguide or when you are interested in exact loss parameters. In such situations, the default PML settings should be sufficient in most cases as you do not have to worry about the numerical instability in frequency domain(as opposed to FDTD)

Here is the default PML settings:

If you find that the PML is not being completely absorbing, for examplewhen the incident light and the field is non-zero when it reaches the end of PML, then you can increase the number of layers.

You should not need to adjust the parameters kappa and sigma. Sigma is exaggerated by default(sigma=5) in FDE and kappa is related to spatial distribution of PML and the default settings kappa=1 should be usually a good option for your simulations. On contrary, making kappa too large could cause that perfectly matched layer is not matched anymore.

For detailed understanding of the PML model and the related parameters, you can read the following paper that describes the detailed meaning of each parameter and the PML concept as a whole:

S. D. Gedney and B. Zhao, An Auxiliary Differential Equation Formulation for the Complex-Frequency Shifted PML, IEEE Trans. on Antennas & Propagat., vol. 58, no. 3, 2010

Additionally, you might notice that compared to FDTD, the parameter alpha is not available in FDE. The reason is that alpha is a stability factor that is not used in FDE since it is frequency domain solver.


It is nice to see you guys take initiatives and address common questions in detail or post usable scripts.

Keep up the good work.

All the best


It is said above: “If you find that the PML is not being completely absorbing, for examplewhen the incident light and the field is non-zero when it reaches the end of PML, then you can increase the number of layers.” What does it excely mean? Where can I check field value? Is it related with propagating losses of mode?

Best regards

The modal field profiles shown in the mode plot include the PML region. Therefore, you can see if the fields are zero at the end of PML.

As an example, I have setup an incorrect simulation where the modes are artificially confined by PML. You can see that the fields extend all the way through PML.

Note that displaying the plot in log scale can be very useful for this purpose.

Thank you for replay.

So to calculate losses I should choose simulation region span wide enough to get zero field value at the end of simulation region? Higher order modes or when bending occurs there is much wider field so do I must ensure that the region span is correct for the widest mode? I noticed that varying region span has huge impact on results and I don’t know which value could be reasonable.
And more technical question: how can I expand mode list as you have on the screenshot?

Best regards

You should determine the necessary simulation span by conducting convergence testing. If your results are changing with the simulation span, it is a good indication that there is some problem and you most likely need to use larger simulation size.

If you have bent waveguide, PML must be used to absorb the loss due to radiation, but you still need to make sure that PML does not interact with the actual modal fields as it would introduce artificial loss.

Please post your questions related to specific simulations and non-PML related FDE settings in a separate topic to keep this topic easy to read for others.