微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微波和射频技术 > 微波射频仿真学习讨论 > matlab编程自动运行hfss

matlab编程自动运行hfss

时间:10-02 整理:3721RD 点击:

  1. clear all;  

  2. false = 0;  
  3. true = 1;  

  4. % HFSS执行路径  
  5. hfssExePath = 'D:\"Program Files"\Ansoft\HFSS10\hfss.exe';  

  6. % 临时文件路径  
  7. tmpPrjFile = 'E:\ansoft\temp\my_conicalhorn_3.6GHz.hfss';  
  8. %tmpDataFile = 'E:\ansoft\temp\tmpData.dat';  
  9. tmpScriptFile = 'E:\ansoft\temp\my_conicalhorn_3.6GHz.vbs';  

  10. unit = 'mm'; % 单位设置  
  11. freq = 3.6e9; % 工作频率  
  12. lambda = 0.3e9/freq; % 工作波长  

  13. % 圆柱波导尺寸  
  14. wgr = 62.5; % 波导半径  
  15. wgh = 125; % 波导长度  

  16. % 小圆台尺寸  
  17. sbr = wgr; % 底半径  
  18. str = 100; % 顶半径  
  19. sh = 150; % 高度  

  20. % 过渡圆波导  
  21. gwgr = str;  
  22. gwgh = 100;  

  23. % 大圆台尺寸  
  24. bbr = gwgr; % 底半径  
  25. btr = 300; % 顶半径  
  26. bh = 1000; % 高度  

  27. % 小圆片尺寸  
  28. ssr = wgr; % 圆片半径  
  29. ssh = -1; % 圆片高度  

  30. % 创建一个新的HFSS临时脚本文件  
  31. fid = fopen(tmpScriptFile, 'wt'); % 'wt'表示以文本模式打开文件,可写,覆盖原有内容  

  32. % 创建一个新的工程并插入一个新的设计  
  33. hfssNewProject(fid);  
  34. hfssInsertDesign(fid, 'conicalhorn_3.6GHz');  

  35. % 创建圆柱波导  
  36. hfssCylinder(fid, 'Cylinder1', 'Z', [0, 0, 0], wgr, wgh, unit);  

  37. % 创建小圆台  
  38. hfssCone(fid, 'Cone1', 'Z', [0, 0, wgh], sbr, str, sh, unit);  

  39. % 创建过渡波导  
  40. hfssCylinder(fid, 'Cylinder2', 'Z', [0, 0, (wgh+sh)], gwgr, gwgh, unit);  

  41. % 创建大圆台  
  42. hfssCone(fid, 'Cone2', 'Z', [0, 0, (wgh+sh+gwgh)], bbr, btr, bh, unit);  

  43. % 组合圆柱和圆台  
  44. hfssUnite(fid, {'Cylinder1','Cone1','Cylinder2','Cone2'});  

  45. % 设置边界条件PE  
  46. hfssAssignPE_face(fid, 'horn_pec', [7,16,25,34]);  

  47. % 喇叭尾部小圆片  
  48. hfssCylinder(fid, 'small_Cylinder', 'Z', [0, 0, 0], ssr, ssh, unit);  

  49. % 设置圆片的材料为pec  
  50. hfssAssignMaterial(fid, 'small_Cylinder', 'pec');  

  51. % 创建辐射圆柱  
  52. hfssCylinder(fid, 'Cylinder_Radiation', 'Z', [0, 0, ssh], (btr+lambda/4.0*1000), (wgh+sh+gwgh+bh+lambda/4.0*1000), unit);  

  53. % 添加辐射边界条件  
  54. hfssAssignRadiation(fid, 'Radiation', 'Cylinder_Radiation');  

  55. % 添加激励waveport  
  56. hfssAssignWavePort_face(fid, 'waveport', 8, 1, true, [0,-wgr,0], [0,wgr,0], unit);  

  57. % 添加求解安装  
  58. hfssInsertSolution(fid, 'horn_solve', freq/1e9);  

  59. % 设置远场球坐标系  
  60. hfssFarFieldSphere(fid, 'FFSphere', -180, 180, 2, 0, 360, 2);  

  61. % 求解计算  
  62. %hfssSolveSetup(fid, 'horn_3.6GHz');  

  63. % 保存工程到临时文件夹  
  64. hfssSaveProject(fid, tmpPrjFile, true);  

  65. % 关闭HFSS脚本文件  
  66. fclose(fid);  

  67. % 利用HFSS执行脚本程序  
  68. %disp('Solving using HFSS ...');  
  69. %hfssExecuteScript(hfssExePath, tmpScriptFile);

复制代码

后面的代码是乱码吗?

是的,有些是乱码,影响使用不?

是小编原创不?

如果是自己原创,请整理下

元柱 整理i好了
以前不知道怎么搞的
全乱了
我没注意看
好像有点小问题
请高手指点
给点奖励吧

帮顶 LZ辛苦

不管怎样,也算是挺辛苦啦

印象里,有个HFSSAPI基本上可以实现全部的HFSS建模仿真工作。

帮顶了,,,,,

虽然不知道,帮助顶一下

虽然不知道,帮助顶一下

帮顶 LZ辛苦

这么说,,如何在matlab中调用HFss的仿真结果,,作图呢?

感謝~

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top