Photonics

Photonics

Topics related to Lumerical and more.

How to simulate multiple plane wave sources with different wavevectors?

    • ngu
      Subscriber

      Hello,

      I want to reproduce a complex source by a summation of plane waves. These plane waves will each have a different propagation direction (wavevector). The structure will be periodic.

      Because of this, Bloch boundary conditions should be used. However, they cannot be used with multiple sources:

    • Guilin Sun
      Ansys Employee
      Unfortunately, you cannot simulate more than one angled plane waves using Bloch BCs or even BFAST. this is because they are built only for ONE incident plane wave.
      If you want to get results with different plane waves, I would suggest you to so separate simulations, extract the original fields, and they coherently sum them, and then calculate other quantities such as transmission, etc.
      example can be found here: Ansys Insight: Custom TFSF source ÔÇö Ansys Learning Forum
      The ALF policy does not allow us to upload script files, so I pasted in screenshots there. Please have a look for reference. Basically you use script to get Ex,Ey, Ez, Hx, Hy and Hz from each simulation, then add them together. Actually you can save matrix by packing them into one matrix from each simulation, eg, E1(x,y,z,f,ExEyEz), the 5th dimension is 3, 1st one is Ex, 2nd is Ey and 3rd is Ez, if you want to avoid using too many variables.

      One thing please keep in mind: Since you want to simulate more than one angled plane waves at the same time, I assume you want to get coherent result which is the above suggestion. If you want to get incoherent results, you only need to extract the intensity/power quantities, such as abs(E)^2, R,T etc.
      If it is coherent, please note that the result (intensity peaks etc) will depend the plane waves' initial phase, and relative locations. Any phase difference between them may lead to different results, in particularly the fields and intensity. Please think over the physical meaning of doing so.
    • ngu
      Subscriber
      gsun Thanks for the advice. I will look into that method.
      I think there will be too many plane waves to simulate each one separately however. In that case, can I have all plane waves in one simulation where instead of using Bloch BCs with one repeating unit cell, I explicitly model many tens of unit cells and use PML BCs instead? I may have to reduce the simulation to 2D to keep the run time short, but this will be fine for now. Lumerical can handle multiple (perhaps dozens or more) plane waves with differing wavevectors simultaneously?
      Thank you.
    • Guilin Sun
      Ansys Employee
      "many tens of unit cells and use PML BCs" will be roughly ok. However keep in mind plane waves extend infinitely so if you truncated them using PML there is diffraction.
      Could you please elaborate more on this, why do you simulate many different plane waves and are they coherent?
      You can sweep the incident angle if you want. Usually it is quite fast.

    • ngu
      Subscriber
      I don't know what journals you have access to, but I am trying to reproduce this paper: "FDTD Simulation of a Partially-Coherent Gaussian Schell-Model Beam." They use 225 plane waves in a single simulation to approximate a Hermite Gauss mode, which is itself part of another decomposition of the original source which is partially coherent. Since FDTD is a coherent simulation method, the many plane waves are an attempt to reproduce partial coherence using components that are fully coherent.
    • Guilin Sun
      Ansys Employee
      Fortunately I am a Senior member of IEEE so I can access this paper.
      The paper clear mentions that
      The reason to use TFSF is, the structure is not periodic and the real source has finite size. So you will need to sweep the incident angles. Please do a simple test such as sweeping 3 angles, so you will know what to expect and what data you need to export, and test your script to get the results from the sweep.
      if the structure has symmetry with polarization, you can save half of the simulation angles. If so, please refer this article https://support.lumerical.com/hc/en-us/articles/360041616754
      A lot of works need to be done is the post process. If there is question, please write a new post.

    • ngu
      Subscriber
      Yes, each coherent mode is simulated separately, but the coherent modes themselves consist of plane waves which are simulated simultaneously. For example, in the section 5 they mention
      There are 16 modes, so 16 simulations what they mention. Within each mode (each simulation) there are 225 plane waves used, not 225 simulations. At least, that is how I read it. Otherwise they would need to run 16x225 simulations, which is quite a lot.
    • Guilin Sun
      Ansys Employee
      We have to realize that FDTD is coherent simulation, and works only for a given angled TFSF for a single wavelength. If each mode needs 225 plane waves, which is 225 simulations, then 16 modes do need 16*225 simulations. This is the reality. Currently TFSF can work for one wavelength at angle at a time. Fortunately this paper describes only (quasi) monochromatic. If it is broadband, it will needs more than 16*255 simulations. Actually 16*255 is only 3600, which is a lot, but not exceptionally lots, since users have simulated hundreds of thousands times in order to get some results, without actual prototyping devices. You could first simulate fewer, such as 3*3 first to test everything. Once it works, you can use large HPCs/clusters, or you could have more engine licenses for a short period of time, if necessary. Please contact your account manager for such licenses. You can even use Ansys Cloud or AWS to speed up the simulations.
    • ngu
      Subscriber
      I see. I will have to work on that then. I will probably need to use 2D simulation since I want to do a parameter sweep over the features on my device as well, not just the sweep of the plane wave angles. So for me it would be like 16x225x(number of sweeps for feature size), which certainly could approach hundreds of thousands.
      So if I am looking to use this method with a periodic structure, will using the default plane wave source with Bloch BCs work? I thought there was something about the TFSF method that allowed more than one plane wave to be used at once, but if that is not the case then just using the standard built-in plane wave source with Bloch BCs and one unit cell of my device should be fine?
    • Guilin Sun
      Ansys Employee
      Periodic BCs are for infinite-size plane wave only. However, the Gaussian Schell-Model Beam has finite size. I would suggest that you follow the paper's method. I am not sure what you really want: finite-sized source and infinite periodic structure? they are very different and cannot mathematically process them at the same time, without approximation. does your structure have periodicity and will you illuminate it with infinite source or finite-sized source, in theory?
      Please take a moment to think what exactly you want to simulate. Then we may have better solutions.
    • ngu
      Subscriber
      Well, they are not simulating the GSM beam directly (this cannot be done) but they are using a sum of plane waves instead. Is this not what periodic BCs are for? The source size comes into play when determining how many coherent modes there are; explicitly the ratio of the beam size to the coherence area determines the weights of the HG components and therefore how many significant modes contribute and hence how many modes need to be simulated. But the actual simulations are of plane waves.
    • Guilin Sun
      Ansys Employee
      Before we go any details further, I wish you narrow down to the structure and the source (synthesized): are they periodic or can be considered to be infinite, or finite sized? this is the key point. Once this is clear, we can find a solution. TFSF is a kind of plane wave but with finite size. regular plane wave is infinite. they will need to use different boundary conditions : Ansys Insight: How to correctly set the boundary conditions in FDTD simulations
      When I read that paper, I found they simulated "A finite, x-oriented rectangular groove". So they did not simulate periodic structure using periodic -type of BCs. When you use periodic-type of BCs, it means the structure is infinitely large, mathematically speaking.
      I would suggest:
      1: give finite number of periods for the structure
      2: use TFSF and PML BCS to some simulation. The region of TFSF determines the size of illumination and thus the finite size of the grooves.
      If any periodic BCs are used, the paper should mention this. You could contact the authors to make it clear.
    • ngu
      Subscriber
      Thanks gsun.
      So to be clear, I would like to simulate an infinite structure using a partially coherent source.
      I understand and have simulated this kind of structure with the normal plane wave source. I sweep the width/height/orientation/etc. of a nanopillar in a unit cell using Bloch BCs, and the information I record is the transmission and phase imparted. I obtain a transmission map and phase map from the sweep.
      I would like to do the same thing with a partially coherent source. To do this, I am trying to use the decomposition into a sum of plane waves to do so. Is it fine to use the same method as above, but with separate runs for each plane wave followed by some post-processing? I am not interested in the paper's structure, but in how they recreate a partially coherent source in FDTD so that I can use that with my own structure, which is periodic. Do you still think TFSF is necessary for me, in your experience with FDTD?
    • Guilin Sun
      Ansys Employee
      Ok, so you want to simulate the infinite/periodic structure with a partially coherent source, right?
      If your definition about the partially coherent source is exactly the same as the paper, you may not be able to simulate the infinite structure correctly without approximation: the paper actually simulated limited size of the periodic structure, as shown here

      This is because, according to my shallow understanding to the paper, the Partially-Coherent Gaussian Schell-Model Beam has limit size. This is why the authors used TFSF source.
      When you want to simulate periodic/infinite structure, it will need a source with infinite size, which can only be available from plane wave, with periodic-type BCs.
      As far as I know, partially coherent beam can have different definitions , which can be spatially, and temporally. So once again, please check if the partially coherent source you want to simulate is the same as in the paper, and if you really want to simulate infinite structure with interaction of light everywhere in the structure. If the structure is infinite, but the source has finite size, You may not be able to use periodic-type BCs as they are for infinite structure AND source, without approximation.
      Please note that you are exploring new feasibility beyond the normal capacity of FDTD which is pretty much appreciated, but we need to understand the theory behind the simulation carefully.
Viewing 13 reply threads
  • The topic ‘How to simulate multiple plane wave sources with different wavevectors?’ is closed to new replies.