官方淘宝店 易迪拓培训 旧站入口
首页 > 仿真设计 > 射频仿真设计学习 > matlab编程自动运行hfss

matlab编程自动运行hfss

05-08

  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的仿真结果,,作图呢?

感謝~

Top