HFSS仿完提醒

文摘   2024-03-05 13:37   山西  

仿真总是很慢的,仿的时候就想做些别的事情。但是又可能工作太投入了,HFSS那边都仿完了都不知道。于是就需要能感知到HFSS仿真完成。鬼畜的方法比如“电脑突然不卡了”。最好还是能仿完有个提示音。

思路也简单,HFSS仿真的时候,会调起一个进程,仿完就关掉了。所以只要检测这个进程在不在就可以。我把需求提交给chatgpt后,它立刻就帮我写出了一段可用的matlab代码:

% 初始化进程状态标志isRunning = false;
while true % 使用 system 函数调用 tasklist 命令检查 HFSSCOMENGINE.exe 进程是否存在 [~, result] = system('tasklist /FI "IMAGENAME eq HFSSCOMENGINE.exe"');
% 检查进程是否正在运行 if contains(result, 'HFSSCOMENGINE.exe') % 如果进程正在运行,更新状态标志 if ~isRunning disp('HFSSCOMENGINE.exe 已启动。'); end isRunning = true; else % 如果进程不在运行,并且之前的状态是运行中,则发出提示音 if isRunning disp('HFSSCOMENGINE.exe 已停止。发出提示音。'); % 发出提示音 beep; end isRunning = false; end
% 暂停一段时间(例如,5秒)再次检查,以减少系统资源的使用 pause(5);end

用了一会感觉还不错。为什么不把它封装成一个小程序呢?因为我几年前其实也写过。后来HFSS版本迭代,进程名换了,它就失效了。感觉还不如matlab源码来的方便。用着也简单,打开matlab,新建脚本,代码一粘,运行一直放着就可以。

这个程序有一定概率,会误触发,因为在网格迭代的时候,会频繁关闭又立刻调起这个进程。如果希望降低误触发的概率,把那个检测间隔时间改大一些就可以。


电磁小技
微波电磁技术中,富有乐趣的小技巧。