# how can I calculate the reflected light which is far from the reflect surface

#1

Recently I was studying the paper http://www.nature.com/ncomms/2014/141112/ncomms6386/extref/ncomms6386-s1.pdf

in the attached Supplementary figure 4 and figure 5, how can I calculate the diffracted power in different order? as the author showed in Supplementary table 1.

#2

It looks like the plots are showing the far field projection of the diffracted fields. Far field projections are discussed in this chapter of the Knowledge Base:
https://kb.lumerical.com/en/index.html?solvers_far_field_projections.html

This example shows how you can plot the far field projection result directly from a frequency domain power or profile monitor:
https://kb.lumerical.com/en/index.html?solvers_far_field_projections_simple_example.html

After the simulation has been run, right-click on the monitor which measures the transmitted or reflected fields and visualize the “farfield” result.

Please try it out and let me know if there are any further questions!

#3

Hi

Thanks for you replay.

Maybe I didn’t make myself clear enough to understand, I want to know how to calculate the power of the two spots in figure 4 and figure 5, and then I can use the calculated power of each spot to get the extinction ratio in table 1.

#4

Thanks for the clarification. You can determine the amount of power in the far field within a specified range of angles using the farfield3dintegrate script command, and there are details about the syntax for this script command here:
https://kb.lumerical.com/en/index.html?ref_scripts_farfield3dintegrate.html

There is also an example which uses this script command here:
https://kb.lumerical.com/en/index.html?ref_scripts_farfield3dintegrate.html

Hopefully this helps!

#5

Hi nlui

Thanks for reply, the method works well.

Cheers

#6

Hi @nlui

As far as I know, when I conduct the far field projection, I have to do it at one single wavelength, is there any ways I can get the far field projection with respect to the wavelength?

#7

Yes, you can use a “for” loop to loop through each frequency point recorded by the monitor. For example, you could use something like the following code:

f = getdata("monitor","f"); # get the vector of frequency points
res = 150; # resolution of far field projection
E2 = matrix(res,res,length(f)); # initialize variable to hold projected fields for all frequency points

for(i=1:length(f)){ # loop through each frequency point
E2(1:res,1:res,i)=farfield3d("monitor",f(i),res,res); # calculate projection at current frequency point
} # end loop

#8

Thanks @nlui

The method works well.