Skip to content

Releases

v2026.4.11

Choose a tag to compare

@Patisight Patisight released this 11 Apr 08:24

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.py
  • core/trainer_process.py
  • core/surrogate.py
  • core/surrogate_hotswap.py
  • gui.py
  • utils/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+

⚠️ 已知问题

  1. Clear solution cache 警告

    [WARN] Clear solution cache: Failed to execute gRPC AEDT command: DeleteSetupData
    

    不影响优化结果,可能是 HFSS 权限问题。

  2. 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

Choose a tag to compare

@Patisight Patisight released this 09 Apr 20:05

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

Choose a tag to compare

@Patisight Patisight released this 03 Apr 06:00

HFSS-Optimizer V2026.4.3 Release Notes

发布日期: 2026年4月3日
上一版本: V2026.3.25


新增功能

  1. GPflow SVGP 代理模型 - 基于稀疏变分高斯过程的增量学习代理模型,支持精确不确定性估计
  2. 公式化目标函数 - 支持复杂S参数表达式,如 dB(S(1,1)) + max(dB(S(2,1)))
  3. PyQt6 现代化GUI - 全新图形界面,7列目标函数配置表格
  4. 代理模型诊断日志 - 自动记录预测结果和模型参数,便于问题排查
  5. 双线优化监控 - 支持同时监控多个优化进程

Bug修复

  1. 代理模型不确定性崩溃 - 修复likelihood方差和outputscale可能崩溃到极小值导致"自信地胡说八道"的问题
  2. 代理模型使用predict_f而非predict_y - 改用predict_y返回真实预测方差
  3. 代理模型缺少输入标准化 - 添加StandardScaler自动处理
  4. 诱导点初始化不当 - 改用K-Means聚类选择代表性诱导点
  5. 可视化update()方法字典类型错误 - 添加防御性错误处理
  6. 评估器约束默认值错误 - 修复从'value'到'max'的问题
  7. S参数real/imag数据处理 - 修复数据为None时的异常

优化改进

  1. 训练迭代次数 - 最小200次,partial_fit动态计算
  2. 参数保护机制 - likelihood方差和outputscale强制下限
  3. 危险检测警告 - 预测误差大但不确定性低时输出CRITICAL警告
  4. 配置向后兼容 - 支持旧版配置文件格式

新增文件

  1. utils/formula.py - 公式解析器
  2. gui_pyqt6.py - PyQt6 GUI
  3. core/surrogate_hotswap.py - 代理模型热切换
  4. core/shared_memory.py - 共享内存模块
  5. gui/dual_line_monitor.py - 双线监控
  6. run_dual_line.py - 双线优化入口

依赖更新

pip install gpflow tensorflow

V2026.3.25

Choose a tag to compare

@Patisight Patisight released this 25 Mar 14:38
conpleted

update-2026.3.25