GSvit documentation

open source FDTD solver with GPU support

User Tools

Site Tools


docs:become

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
docs:become [2020/03/28 22:37]
pklapetek
docs:become [2020/04/14 14:06]
pklapetek
Line 9: Line 9:
 ===== 2D calculation ===== ===== 2D calculation =====
  
-Calculations in 2D are performed using the GSvit2D solver which is an almost unused extension of GSvit to 2D calculations. As this was very outdated, most of the algorithms had to be implemented,​ incuding near-to-far field calculation and various materials treatment including dispersive metal treatment via PLRC algorithm. To test the correctness of the newly implemented code we compared a simple transmission grating diffraction pattern to the analytically known solution. ​The metal +Calculations in 2D are performed using the GSvit2D solver which is an almost unused extension of GSvit to 2D calculations. As this was very outdated, most of the algorithms had to be implemented,​ incuding near-to-far field calculation and various materials treatment including dispersive metal treatment via PLRC algorithm. To test the correctness of the newly implemented code we compared a simple transmission grating diffraction pattern to the analytically known solution.  
-handling was tested via comparing the spectral reflectivity ​to the database ​data.+There are at least two possible ways how to treat the grating in FDTD calculation. First of all, we can setup the grating physically in the computation domain, as large as possible, run the calculation and evaluated the far field response. As we are usually interested in an infinite grating response, this would mean an infinite computational domain. Instead, we can use periodic boundary conditions, compute only one motive and evaluate the far field data. This still does not provide the results if the far field data are evaluated only from the single motive, we need to evaluate it from many virtual repetitions to get the impact of some number of motives. 
 +In most of the graphs here we show complete diffraction pattern. 
 +However, if we are interested in the maximum in some diffraction order direction, it is much simpler and it seems that this is the preferably used approach - we calculate the far field value only at the diffraction order maximum. Luckily enough, this value is dependent on the aperture only, which constructs the envelope for the diffraction pattern, so in this case one could work only with a single aperture. However, to construct the diffraction pattern is a good way how to debug the problem. 
  
 The Become benchmark grating was setup with voxel spacing of 5 nm in every direction. The total computational domain size was 240x100 voxels. The grating was formed by silver, using the PLRC metal handling approach. Periodic boundary conditions were used to introduce the grating periodicity. Total/​scattered field approach was used to inject the plane wave normally to the surface. TE mode calculation was used for this 2D case, which should be the p-polarisation case as requested. Near-to-far field calculation domain was set up to be outside of the plane wave source region, so only reflected and scattered electric field was propagated to the far-field. Time domain far field calculation was used. Far field data were calculated for wide range of angles for debugging purposes (i.e. not only for the directions of the particular diffraction orders). The Become benchmark grating was setup with voxel spacing of 5 nm in every direction. The total computational domain size was 240x100 voxels. The grating was formed by silver, using the PLRC metal handling approach. Periodic boundary conditions were used to introduce the grating periodicity. Total/​scattered field approach was used to inject the plane wave normally to the surface. TE mode calculation was used for this 2D case, which should be the p-polarisation case as requested. Near-to-far field calculation domain was set up to be outside of the plane wave source region, so only reflected and scattered electric field was propagated to the far-field. Time domain far field calculation was used. Far field data were calculated for wide range of angles for debugging purposes (i.e. not only for the directions of the particular diffraction orders).
 +The model setup and a calculation snapshot of the periodic area are shown in the following figure.
 +The far field was evaluated from a fixed number of repetitions of the near-field values, the presented results therefore represent scattering by a finite size grating. The far field value in the direction of the maxima is however not affected by size of grating (number of repetitions),​ only its sharpness is affected.
 +
 +{{:​docs:​model.png?​600|}}
 +
  
 To get the data normalization to the incident wave intensity we used a similar model where the grating was replaced by a perfect electric conductor plane. The electric field intensity in To get the data normalization to the incident wave intensity we used a similar model where the grating was replaced by a perfect electric conductor plane. The electric field intensity in
Line 18: Line 26:
 in all the other calculations. in all the other calculations.
  
-The image below shows the normalized angular dependence of the diffraction from the grating.+The image below shows the normalized angular dependence of the diffraction from the (finite size) grating.
 {{:​docs:​become_grating_2d_normalised.png?​600|}} {{:​docs:​become_grating_2d_normalised.png?​600|}}
  
-It can be seen that there is a slight asymmetry in the result which needs to be analyzed, probably due to wrong placement of far-field points. The average intensity of the s+1 and s-1 diffraction orders is 0.183 of the incident intensity.+When inspected in detail, it can be seen that there is a slight asymmetry in the result which needs to be analyzed, probably due to wrong placement of far-field points. The average intensity of the s+1 and s-1 diffraction orders is 0.178 of the incident intensity ​for the default silver model (not the Become one). 
 + 
 +As we use the PLRC metal handling we can not enter the refractive index directly to the calculation. Instead we need to use some dispersive model, in our case based on two critical points. We have fitted part of the optical database data by the model to get closer to the prescribed values, however there are still small differences (unless we restrict the fitting spectral region much more, which would lead to quite unrealistic dispersive model). The correspondence of the fitted refractive index and database data is shown below. 
 + 
 +{{:​docs:​becomefit.png?​600|}} 
 + 
 +To compare its impact on results, here is a list of different metal model settings and results: 
 + 
 +   * metal setting: 6 1.03583 0 1.37537e+16 1.25733e+14 ​ 2.1735 -0.504659 7.60514e+15 4.28131e+15 ​  ​0.554478 -1.48944 6.13809e+15 6.62262e+14 means n=(0.129 + 3.87i) and leads to first order diffraction of 0.172  
 +   * default metal setting: 6 0.89583 0 13.8737e15 0.0207332e15 1.3735 -0.504659 7.59914e15 4.28431e15 0.304478 -1.48944 6.15009e15 0.659262e15 means n=(0.036 + 4.147i) and leads to first order diffraction of 0.178 
 + 
 +Dependence on problem size: 
  
 ===== 3D calculation ===== ===== 3D calculation =====
Line 33: Line 53:
  
 The aspects that need further investigation or tuning: The aspects that need further investigation or tuning:
-  * polarisation correctness (TE mode is p-polarisation) 
   * far-field calculation postprocessing speedup, now very slow, printing many debugging data.   * far-field calculation postprocessing speedup, now very slow, printing many debugging data.
-  * cross-check metal refractive index (now relying on pre-fitted database data) +  * cross-check metal refractive index (now relying on pre-fitted database data, which is wrong
-  * correct placement of far field points (get rid of the slight asymmetry ​observed)+  * there is still slight asymmetry
   * evaluate the voxel size vs. speed vs. accuracy for the benchmark.   * evaluate the voxel size vs. speed vs. accuracy for the benchmark.
  
  
docs/become.txt · Last modified: 2020/04/24 12:27 by pklapetek