# 轴向磁拉力仿真 GUI 工具 基于 PyQt5 的桌面工具,调整参数后一键运行 Motor-CAD 轴向磁拉力仿真,无需 AI token。 ## 快速开始(直接用 exe) 1. 确保本机已安装 **Motor-CAD 2026R1** 且许可证可用 2. 双击 `dist/AxialForceGUI.exe` 3. 确认模型文件路径(默认指向仓库内 MARS 模型) 4. 调整工况参数(RMS 电流 / 转速 / 气隙 / 磁钢温度) 5. 点击「运行单点仿真」或切换到「气隙扫描」标签页 6. 等待 ~2 分钟,结果显示在右下方面板,可导出 JSON/CSV ## 两种运行模式 | 模式 | 说明 | |---|---| | 单点仿真 | 当前参数跑一次求解,输出空载+负载净轴向力、纹波、三判据 | | 气隙扫描 | 设置起始/结束气隙和步长,依次求解,输出力-气隙曲线 + 磁负刚度 | > 气隙扫描点数超过 10 个时会弹窗确认(每点约 2~3 分钟)。 ## 可调参数 | 参数 | 默认值 | 对应 .mot 变量 | |---|---|---| | RMS 电流 | 21 A | `RMSCurrent`(RMS 口径,勿用 PeakCurrent) | | 转速 | 5000 rpm | `ShaftSpeed` | | 气隙 | 1.0 mm | `Airgap` | | 磁钢温度 | 100 °C | `Magnet_Temperature`(热态;冷态对标用 20°C) | ## 开发模式运行 ```bash pip install -r requirements.txt python main.py ``` ## 重新打包 exe > **为什么仓库里没有 exe?** > `dist/AxialForceGUI.exe`(约 40MB)是 PyInstaller 打包的二进制生成物,按项目 > 纪律"生成物不入库"不纳入 git 版本管理。原因:① 二进制文件不适合 git 差异管理, > 每次重新打包都会产生 40MB 的全新 blob,仓库体积会快速膨胀;② exe 与本机 Python > 环境/PyQt 版本绑定,源码 + `build.bat` 才是可复现的交付物;③ 同事拿到源码后 > 运行 `build.bat` 即可在自己机器上一键打包(约 1 分钟),或直接向维护者拷贝 exe。 ```bash build.bat ``` 或手动执行: ```bash pyinstaller --onefile --windowed --name AxialForceGUI ^ --hidden-import solver --collect-submodules ansys main.py ``` 生成的 `dist/AxialForceGUI.exe` 可独立运行(约 40MB)。 ## 三判据(结果可信的依据) 1. **作用-反作用**:定/转子合力反号,偏差 < 5% 2. **转矩交叉**:Σ(Ft×r) 与转矩图偏差 < 10% 3. **解析量级**:B²A/2μ₀ 与 FEA 同量级(解析偏高 ~1.4× 属正常) ## 注意事项 - 仅支持 AFM(轴向磁通)模型;径向机的 Fr 不是轴向力 - 仿真运行时 Motor-CAD 会前台弹出,求解期间请勿关闭 - 若 Motor-CAD 窗口不可见(任务栏有图标点不开),工具已内置 `set_visible(True)` 自动修复 - 结果文件默认输出到仓库 `output_motorcad/`(不入库)