Photonics

Photonics

Calculating the phase in FDTD

    • roy.shuvajit
      Subscriber

      In reflection/transmission monitor how to see the phase of the reflected/transmitted wave. There is an angle option. That is not the phase of the wave. Phase information is needed for design for anomalous reflection or lens design. How to retrieve this information from the reflected/transmitted wave?

    • Guilin Sun
      Ansys Employee

      There are 2 steps using script to get the phase:
      1: get the field components. As you know, the phase is associated with Ex,Ey, Ez (or H components). So you can use
      E=getresult("monitor","E");
      Ex=E.Ex;
      Ey=E.Ey;
      Ez=E.Ez;
      similarly you can get x,y,z and f.
      2: get the phase. for example for Ex, you can write
      xphase=angle(Ex);
      which will be a function of xyz and f.

      In addition:
      1: you can use Ex=getdata("monitor","EX") if you know you want Ex
      2: you can use pinch to remove singular dimension: https://optics.ansys.com/hc/en-us/articles/360034405674-pinch-Script-command 

      Please note that, a plannar frequency-domain monitor gives E/H/P as a function of x,y,z and wavelength/frequency. So in general the phase extracted from a monitor will have 4 dimensions, although one of the xyz will be singleton.

      You can specify a particular dimension. Say you have a xy plane monitor. The phase will be

      Phase(1:nx,1:ny,1,1:nf)

      Using pinch to remove z singleton; phase=pinch(phase).

      If you want to image phase or a specific wavelength, you can specify the frequency point, say fn (1<=fn<=nf), then

      Image(x,y, pinch(phase(:,:fn)), “x”,”y”,”phase”);

Viewing 1 reply thread
  • You must be logged in to reply to this topic.