Optical

Optical

Topics relate to SPEOS, VRXPERIENCE and Optical Measurement Devices

conversion efficiency with the sweep

    • hyedusa
      Subscriber

      hi, i want to demo this paper, but it's too difficult :( (i'm a biginner) i wnat to find conversion efficiency for the sweep data like a figure  c,d. How can i make that plot ??

    • Guilin Sun
      Ansys Employee

      The sweep is nested for width and length. you will need to be able to output the so-called conversion efficiency from an analysis group, from model or any monitor that has this quqnatity.

      Creating nested parameter sweeps

       

      I guess the important thing is to get the conversion efficiency. Do you know its mathematical definition that you can follow and compute it? if so, it should be simple.

       

       

    • hyedusa
      Subscriber

      Hi, thank you for reply.

      I missed explaining something. I already did the width and length sweep!
      and i used for conversion efficiency formula but it doesn't work well. i can't import the sweep data.. what can i add some script???

       

      switchtolayout;

      setnamed("s_params","polarization angle",0);

      setnamed("FDTD","mesh accuracy",2);

      setglobalmonitor("frequency points",100);

      run;

       

      S_pol1=getresult("s_params","S_polarization");

      refractive_index_1= real (getdata("s_params::R_index","index_x"));

      refractive_index_2= real (getdata("s_params::T_index","index_x"));

      s21_x=s_poll.s21_Gn;

      s21_x = s21_x/sqrt(refractive_index_1/refractive_index_2);

       

      switchtolayout;

      setnamed("s_params","polarization angle",90);

      run;

       

      S_pol2=getresult("s_params","S_polarization");

      s21_y=s_pol2.s21_Gn;

      s21_y = s21_x/sqrt(refractive_index_1/refractive_index_2);

       

      f = getdata("s_params::T","f");

       

      s21_L = (s21_x +1i*s21_y)/sqrt(2);

      s21_R = (s21_x -1i*s21_y)/sqrt(2);

      s21_L = (s21_L(:,1) - 1i*s21_L(:,2))/sqrt(2);

       

      effect = abs(s21_RL)^2;

      plot(c/f*1e9,effect);

    • Guilin Sun
      Ansys Employee

      not sure how did you do the sweep.

      If it is from script, and you already got the sweep result,you can check the result to know the dimensions.

      if it is from sweep object, and the result should be in a matrix of (nf,nwidth, nlength) after extracting the result from getsweepresult, where nf is the number of frequency point, nwidth and nlength are the sweep points for width and length (you may check their lengths with matrix dimensions and make sure they match. do not use the same number of points in order to better distinguish them).

      then you can plot

      fn=1; for the first frequency point. you can change the number for different frequencies.

      image(width,length,pinch(result(fn,:,:)),"width","length","conversion efficiency");

      please read getsweepresult - Script command for more information.

      Please note:

      1: "length" is a script command, you cannot directly use it. I just use it as isslutration. Please use other name for this variable.

      2: result is the matrix for your conversion data, since it should be a 3D matrix.

      3: your script seems to get the conversion (effect) at one pair of width and length.

      If you are using script to do the sweep, please do not plot at each point. otherwise there will be too many figures and sometimes it can freeze your computer, due to display issue (it needs graphic memory).

      Please try.

       

       

Viewing 3 reply threads
  • You must be logged in to reply to this topic.