I have been trying to measure the reflection of Gallium Phosphide grating when illuminating from inside the substrate and was getting a reflection of more the one. To check this I used referance simulation of thin layer of gold on top of GaP substrate and compered to the analytical solution (using stackrt()), when I placed the monitor behind the source, the reflection spectrum showed ascillations, which increased when placing the source and monitor further away from the gold/GaP interface. When measuring the reflection infront of the source and placing the source and monitor closer to interfece, I got quite good aggreement with analytical solution. Also when replacing the substrate with glass, I did not observe those oscillations (I tried also with Silicon and then I did see oscillations). Why this is happening??- What is the reason for this oscillations? and how is it related to the attampt to measure the reflectance inside of a non-zero absorbing material? Will love to undarstand this better.
(the simulation is 2D, though Im quite sure that I saw this in 3D as well)
A couple of comments:
Since GaP has loss, you need to take this into account when comparing the analytical stackrt with the FDTD results from the reflection/transmission monitors. The stackrt calculation as you currently have it assumes that you are looking at the reflection right at the interface of the substrate and gold since the first element in the thickness array d is zero. This means that the loss in GaP is not taken into account. Since the monitors inside GaP are at some distance from the interface, their results will be affected by loss so you need to take this into account. In other words, there will be transmission, absorption and reflection in the GaP medium.
The additional loss in GaP is not directly responsible for the oscillations but since you got good agreement when using glass, I suspect the oscillations are the result of poor absorption by the PML at the lower boundary and/or early termination of the simulation. I would suggest checking the following:
- Is the auto shutoff triggered? If not, increase the simulation time.
- Is the distance from the GaP-Gold interface to the PML at least half the maximum wavelength? This is a safe distance to minimize evanescent fields at the PML.
- Make sure you are using stretched-coordinate PML with standard profile and increase the number of PML layers to see if the deviations are minimized.
If there is no improvement, I am happy to take a look at your simulation file if you want to share it.
Hope this helps!
Thank you for your reply.
I am using PML stretched coordinate with standard profile. I tried to increase the number of PML layers, it made no difference at all. The auto shutoff is triggered and set to 1e-6. The bottom PML boundary is 3um away.
You are right that the stackrt did not take into consideration GaP properties. I tried to change the d from zero to 500um (which is the thickness of my sample) and got analytical solution that is very oscillating, which I’m not sure if that makes sense. Besides, above wavelength of 481 nm the k in the sampled data is 0, so there should be no absorption. Even the FDTD fit to k is very small (less than 0.07), so even if the simulation is counting for absorption it should be very low, no?
In the end, the main thing is the GaP grating structure. When I compare the 1-T, R behind the source and reflection in front of the source, they don’t match. I assumed that it’s due to artificial absorption (because actually it shouldn’t be there), and that 1-T is the most accurate result to calculate R above 500nm (where it should be lossless). Do you think that it is reasonable assumption? or is there something wrong with the simulation?
Please have a look at my simulation file and let me know.
Thanks (288.6 KB)
plot_fromSimulation.lsf (1.5 KB)
These are some comments and suggestions:
I think the origin of the oscillations in the stackrt calculation is that you set the first index to be 1 as if the source was incident from air:
Consequently, in the stackrt calculation the substrate is finite, and so you can have Fabry-Perot oscillations due to the reflections at the air-GaP and GaP-gold interfaces.
You are right. The absorption should be very small. By tuning the fit parameters you can actually get a fit where the imaginary part of the refractive index is smaller:
You need to take into account the absorption in the gold layer so 1-T, T being the transmission measured above the structure, won’t be the same as the reflection.
I got the following results for the reflection measured using monitors behind and in front of the source:
Note that the agreement is much better when using the monitor in front of the source. This is due to source injection errors as explained here. These are the simulation files I used: Giro_GaP_1_modFG.fsp (279.2 KB) comaparison_stackrt.lsf (981 Bytes).
I think the original settings in your simulation were fine but I made some changes to speed up the simulation:
- Used antisymmetric boundary conditions.
- Reduced the y span making sure there is a distance of at least half the maximum wavelength between the gold layer and the PML boundaries.
I should also point out that, strictly speaking, the plane wave source is not designed to inject fields in dispersive materials. This is the origin of the source-injection error in the reflection measured behind the source. If, in addition, the material has significant loss you can end up with more injection errors. Depending on how strong is the frequency-dependence or the loss in the material, the source-injection errors can be more significant. If the loss is significant it probably means you also need to consider if it makes sense to place the source inside the material.
Depending on the situation, there are ways to correct for the source injection errors, but this requires a careful analysis of the source behavior inside the dispersive material. For instance, you could run a simulation that only includes the source embedded in the material (covering the entire simulation region) and look at the fields and transmission values at different places. I suggest taking a look at this page where we discuss source-injection errors in reflection measurements.
Thank you very much. This information is very helpful.