Repository navigation
Releases
Releases · Patisight/HFSS-Optimizer
v2026.4.11
HFSS Optimizer v2026.4.11 Release Notes
发布日期
2026-04-11
主要更新
🔧 pyaedt 0.25.x 兼容性修复
问题: pyaedt 0.25.0+ 版本进行了重大 API 变更,导致程序无法正常运行。
解决方案:
- 添加
PYAEDT_NEW_API兼容层,自动检测并适配新旧版本 - 新增
_get_solution_data_value()函数,统一处理SolutionData数据获取 - 支持新版导入方式
from ansys.aedt.core import Hfss - 适配新版参数命名
project/design替代projectname/designname
影响文件:
core/hfss_controller.py- 核心兼容层实现tests/test_validate.py- 测试文件更新tests/test_message_api.py- 测试文件更新
✨ 新功能
1. 依赖包一键升级
python setup_env.py --upgrade新增 --upgrade 参数,可将所有依赖包升级到最新版本,包括:
- numpy, pandas, scipy, matplotlib
- pyaedt, scikit-learn, scikit-optimize
- PyQt6, psutil, loguru, pydantic
- (可选) gpflow, tensorflow
2. 改进的 HFSS 连接逻辑
- 检测到 HFSS 已运行时,优先连接已有实例
- 第三次重试时自动移除锁文件 (
remove_lock=True) - 更友好的错误提示信息
🐛 Bug 修复
1. GUI 配置保存问题
问题: 点击"保存配置"后 self.config 未更新,导致自检使用旧配置。
修复:
- 重构
save_config()方法,确保同步更新self.config - 新增
_update_config_from_gui()独立方法 - 点击保存时显示"配置已保存"日志确认
2. surrogate_hotswap.py 属性访问错误
问题: SurrogateModel 对象没有 X_samples 属性导致测试失败。
修复: 修正 X_samples/y_samples 的访问路径。
3. 多个文件缺少 logger 导入
问题: 部分文件使用 logger 但未导入。
修复: 添加 from loguru import logger 到:
config/default_config.pycore/trainer_process.pycore/surrogate.pycore/surrogate_hotswap.pygui.pyutils/formula.py
4. lambda 变量捕获问题
问题: gui.py 中 lambda 表达式捕获异常变量 e 导致 UnboundLocalError。
修复: 使用默认参数捕获 lambda err=e:
📦 项目结构改进
新增文件
pyproject.toml- Python 项目配置 (PEP 621).github/workflows/ci.yml- GitHub Actions CI/CD 配置tests/test_validate.py- 标准化测试文件
代码质量
- 使用
black格式化所有代码 - 使用
isort统一导入排序 - 修复
flake8检测的所有错误 - 添加
mypy类型检查支持
📋 兼容性
| 组件 | 支持版本 |
|---|---|
| Python | 3.8 - 3.11 |
| pyaedt | 0.7.0 - 0.25.x (自动适配) |
| HFSS | 2022 R1+ |
⚠️ 已知问题
-
Clear solution cache 警告
[WARN] Clear solution cache: Failed to execute gRPC AEDT command: DeleteSetupData不影响优化结果,可能是 HFSS 权限问题。
-
PyQt6 升级权限问题
如果升级 PyQt6 失败,请关闭所有 GUI 程序后重试:pip install --upgrade PyQt6
📝 升级指南
从 v2026.4.10 升级:
# 1. 拉取最新代码
git pull origin main
# 2. 升级依赖包
python setup_env.py --upgrade
# 3. 运行测试验证
pytest tests/ -v🙏 贡献者
感谢所有参与测试和反馈的用户!
📥 下载
完整更新日志: v2026.4.10...v2026.4.11
v2026.4.10
HFSS-Optimizer v2026.4.10 Release Notes
🚀 New Features
Z 参数支持
- 新增 Z 参数公式解析 - 支持
Z(1,1)、Z(2,1)等 Z 参数表达式 - 新增 ZParamNode 类 - 在公式解析器中添加 Z 参数语法树节点
- 更新 SParameterData 类 - 添加
z_data字典、set_z_param()、get_complex_z()、get_z_real()、get_z_imag()方法 - 更新 HFSS 控制器 - 重写
get_z_parameters()方法,支持多个 Z 参数端口,返回格式与get_s_parameters()保持一致 - 更新目标评估器 - 添加对 'Z参数' 目标类型的处理,同时获取 S 参数和 Z 参数数据
- 更新 GUI - 在目标类型下拉框中添加 'Z参数' 选项,默认公式为
mag(Z(1,1)) - 更新公式验证器 - 添加 Z 参数标识符验证和语法检查
公式解析器增强
- 支持同时使用 S 参数和 Z 参数的混合公式
- 新增 Z 参数正则表达式匹配
- 优化 Z 参数的空格处理
🐛 Bug Fixes
- 修复
_evaluate_z_real()和_evaluate_z_imag()方法,正确访问新的 Z 参数数据结构 - 修复目标类型转换逻辑,支持 'Z参数' 类型的保存和加载
- 优化公式数据筛选,同时处理 S 参数和 Z 参数的频率掩码
📚 Documentation
- 重写 README.md,采用标准 GitHub 风格
- 添加 MIT 许可证徽章和 Python 版本徽章
- 使用 emoji 美化文档
- 更新项目结构说明
- 添加 Z 参数支持的说明和示例
- 更新 GUI 帮助文档,新增 'Z参数' 类型说明
🎨 UI/UX Improvements
- 在目标类型下拉框中新增 'Z参数' 选项
- 当选择 'Z参数' 类型时,自动显示公式输入框
- 默认公式设置为
mag(Z(1,1)) - 更新帮助表格,添加 Z 参数说明
📦 Dependencies
- 保持现有依赖不变
- Python 3.8+
- PyAEDT
- NumPy, SciPy, scikit-learn
- GPflow, TensorFlow (推荐)
- PyQt6
🚀 Getting Started
Installation
pip install -r requirements.txt
pip install gpflow tensorflow # 推荐安装
python setup_env.py # 一键配置Quick Start
python gui_pyqt6.py # 现代化 GUI(推荐)📝 License
MIT License
update-v2026.4.3
HFSS-Optimizer V2026.4.3 Release Notes
发布日期: 2026年4月3日
上一版本: V2026.3.25
新增功能
- GPflow SVGP 代理模型 - 基于稀疏变分高斯过程的增量学习代理模型,支持精确不确定性估计
- 公式化目标函数 - 支持复杂S参数表达式,如
dB(S(1,1)) + max(dB(S(2,1))) - PyQt6 现代化GUI - 全新图形界面,7列目标函数配置表格
- 代理模型诊断日志 - 自动记录预测结果和模型参数,便于问题排查
- 双线优化监控 - 支持同时监控多个优化进程
Bug修复
- 代理模型不确定性崩溃 - 修复likelihood方差和outputscale可能崩溃到极小值导致"自信地胡说八道"的问题
- 代理模型使用predict_f而非predict_y - 改用predict_y返回真实预测方差
- 代理模型缺少输入标准化 - 添加StandardScaler自动处理
- 诱导点初始化不当 - 改用K-Means聚类选择代表性诱导点
- 可视化update()方法字典类型错误 - 添加防御性错误处理
- 评估器约束默认值错误 - 修复从
'value'到'max'的问题 - S参数real/imag数据处理 - 修复数据为None时的异常
优化改进
- 训练迭代次数 - 最小200次,partial_fit动态计算
- 参数保护机制 - likelihood方差和outputscale强制下限
- 危险检测警告 - 预测误差大但不确定性低时输出CRITICAL警告
- 配置向后兼容 - 支持旧版配置文件格式
新增文件
utils/formula.py- 公式解析器gui_pyqt6.py- PyQt6 GUIcore/surrogate_hotswap.py- 代理模型热切换core/shared_memory.py- 共享内存模块gui/dual_line_monitor.py- 双线监控run_dual_line.py- 双线优化入口
依赖更新
pip install gpflow tensorflow