Photonics – Chinese

Photonics – Chinese

Topics related to Lumerical and more, in Chinese language

如何將調正後的電場dataset利用farfieldexacr3d計算遠場

    • LK22
      Subscriber

      老師您好,

      為了改善 TFSF 在散射場的 monitor 邊緣場強度不夠小(沒有接近零)的問題,

      我對 monitor 中的電場 data 透過 super Gaussian function (平頂高斯函數) 把邊緣強度進行調整。

      想要透過這個調整後的 dataset 來計算遠場強度和角度分布。

      這邊是我的 dataset 內容:

    • Guilin Sun
      Ansys Employee
      你的工作空间似乎没有datasetname这个量。如果有(平面拷贝没有选择正确),可能还有两个原因:

      1:dataset必须同时有电场E和磁场H,你可以在E的基础上再添加H

      datasetname.addattribute("H",Hx,Hy,Hz);

      2: 你的软件版本不支持直接从Dataset里计算,请下载最新版。
    • LK22
      Subscriber
      謝謝回復,
      1:"E = farfieldexact3d(datasetname,x,y,z)" 這邊的 datasetname 是 E_edited ,依照官方的腳本裡面有說可以只使用電場(E)的資料。
      同時我也測試了加入磁場(H),一樣遇到相同的報錯: "... ... in farfieldexact3d, the requested monitor with the necessary data cannot be found."
      我這邊的 E 和 H data 選取是從 visualize 中取 Ex, Ey, Ez, Hx, Hy, Hz 中的 Re 和 Im data 資料,請問這個資料選取方式是有問題的嗎?

      2:我的軟體版本是 2021 R2.5 ,請問我該怎麼確認我的版本是否能支持這樣的計算要求呢?

    • Guilin Sun
      Ansys Employee
      A 1: KB是说输出是E,但是输入的Dataset 必须同时有E和H!你先看看你监视器里有没有H,先对监视器数据做farfieldexact,成功后再转用dataset。

      生成这个dataset 是 (电场的你已经会的,这是磁场)datasetname.addattribute("H",Hx,Hy,Hz);电磁场E和H的6个分量本身就是复数,不分Re 和 Im 。

      你可以从Visualizer里的近场取,不过既然用脚本, 根本不必劳烦visualizer, 直接提取:

      EH=getresult("monitor","E"); 提取E

      Hx=getdata("monitor","Hx");

      EH.addattribute("H",Hx,getdata("monitor","Hy"),getdata("monitor","Hz"));这里用不同方法获得数据

      visualize(EH);

      如此就将监视器上的E和H转为DATASET,你可以做远场变换了。 其它请参考 Ansys Insight: 几个简单实用的脚本Script命令:用于结果分析

      请下载最新版测试。
    • LK22
      Subscriber
      感謝老師的回應,
      這邊會從visualizer取data是因為:我是透過matalab來進行data數據的調整,再把調整後的資料讀進FDTD中進行遠場計算。
      我會嘗試看看直接在FDTD中直接調整,感覺會省去不少步驟。

      也謝謝老師我對於文章內理解的更正,不過我比較有問題的部分是:
      farfieldexact3d 函數裡的參數dataset 只需要"E", "H" 資料就能計算嗎?還是需要包含其他數據(results 中的所有資料,包含"E", "H", "T", "P" 等...)?
      因為似乎沒有找到上述dataset 內容要求的介紹。
    • Guilin Sun
      Ansys Employee
      只需要E、H和坐标以及频率波长。
    • LK22
      Subscriber
      謝謝老師的回答,
      但我還是不能成功進行farfieldexact 腳本計算,這邊附上我的程式碼和workspace給您參考,看是哪邊出了問題。

      # 參數mname 是我模擬時的monitor
      我直接用監視器中的data來創建dataset測試,來進行farfieldexact/ farfieldexact3d 腳本計算。
      在第31行這邊出現報錯: line 31: in farfieldexact, the requested monitor with the necessary data cannot be found.


    • Guilin Sun
      Ansys Employee
      唯一可能的原因是,版本太旧,这个功能是较新版本才有的。我这边测试没有问题啊。

      EH=getresult("monitor_1","E");

      H=getresult("monitor_1","H");

      EH.addattribute("H",H.Hx,H.Hy,H.Hz);

      x=1:2;

      y=1:2;

      z=0;

      m="monitor";

      E_far=farfieldexact(EH,x,y,z,{"field":"E"});

      ?E_far;

      result:

      9.78775e-12-2.17429e-11i -9.78776e-12+2.17429e-11i 1.40648e-11-3.12396e-11i

      9.91755e-12-6.61666e-12i -9.91755e-12+6.61666e-12i 1.42501e-11-9.50612e-12i
    • LK22
      Subscriber
      感謝老師,
      已經將版本更新,並且也能利用老師提供的代碼得到結果。
      我再檢查看看自己的程式碼哪邊需要修正。
      謝謝老師的回答。
Viewing 8 reply threads
  • The topic ‘如何將調正後的電場dataset利用farfieldexacr3d計算遠場’ is closed to new replies.