# PCB轴向磁通电机自动化仿真系统设计方案介绍

| 项目 | 内容 |
|---|---|
| 文档版本 | V1.1 |
| 作者 | Car.Lin |
| 编制日期 | 2026-08-26 |
| 文档状态 | 初稿 / 待评审 |
| 参考原型 | axial_mag_pull（Motor-CAD 轴向磁拉力仿真项目） |

---

## 1. 项目背景与目标

### 1.1 背景

轴向磁通电机（AFM）因其高功率密度、短轴向尺寸的优势，在电动汽车、航空航天、工业驱动等领域得到广泛应用。但其设计过程涉及多拓扑（SSSR / DRSS / SDSR）、多物理场（电磁 / 热 / 结构 / NVH）、多目标（效率 / 功率密度 / 扭矩 / 成本）的耦合优化，传统的"人工调参 → 单次仿真 → 人工分析"模式效率极低，且高度依赖工程师个人经验。

现有 `axial_mag_pull` 项目已验证了"知识库驱动 + 脚本化执行 + 结果校验"的微缩闭环可行性，但仅覆盖单一目标（轴向磁拉力）、单一拓扑（SSSR）、单一工具（Motor-CAD）。本项目在此基础上，构建一个**通用的、可扩展的、双系统解耦的轴向磁通电机自动化仿真平台**。

### 1.2 核心目标

1. **方案生成智能化**：用户输入边界条件后，系统基于经验库 + 知识库 + AI推理，自动生成可执行的仿真方案（参数扫描范围、扫描顺序、工况列表、校验规则）。
2. **仿真执行自动化**：执行程序读取方案后，自动驱动仿真工具完成全部迭代，记录每次结果，输出汇总数据表。
3. **双系统解耦**：方案系统（网页端、需联网/AI）与执行程序（本地exe、无需联网/AI）通过标准化接口通信，可独立迭代。
4. **知识自动沉淀**：每次仿真的方案、结果、结论自动结构化存储，反哺经验库和知识库，实现系统自我进化。
5. **人在回路**：AI推荐方案 → 人工确认 → 执行，关键决策点保留人工审核权。

---

## 2. 系统总体架构

### 2.1 双系统解耦架构

```
┌─────────────────────────────────────────────────────────────────┐
│                    企业内网（需登录 / 权限控制）                     │
│                                                                   │
│  ┌─────────────────────────────────────────────────────────┐    │
│  │           系统一：仿真方案生成及优化系统（Web端）            │    │
│  │                                                           │    │
│  │  ┌──────────┐  ┌──────────┐  ┌──────────────────────┐  │    │
│  │  │ 前端UI    │  │ 后端服务  │  │ 数据层               │  │    │
│  │  │ (Vue/React)│→│ (FastAPI) │→│ PostgreSQL + 向量库   │  │    │
│  │  └──────────┘  └────┬─────┘  └──────────────────────┘  │    │
│  │                      │                                     │    │
│  │         ┌────────────┼────────────┐                       │    │
│  │         ▼            ▼            ▼                       │    │
│  │   ┌──────────┐ ┌──────────┐ ┌──────────┐                │    │
│  │   │方案生成引擎│ │结果分析引擎│ │知识库管理 │                │    │
│  │   │(规则+AI)  │ │(敏感性+Pareto)│ │(经验+知识)│                │    │
│  │   └──────────┘ └──────────┘ └──────────┘                │    │
│  └─────────────────────────────────────────────────────────┘    │
│                              │                                    │
│                              │ 接口：simulation_plan.json         │
│                              │ (手动导出 / 内网API)                │
│                              ▼                                    │
│  ┌─────────────────────────────────────────────────────────┐    │
│  │           系统二：仿真执行程序（本地 EXE）                   │    │
│  │                                                           │    │
│  │  ┌─────────────────────────────────────────────────┐    │    │
│  │  │  用户界面 (PyQt/PySide)                            │    │    │
│  │  │  方案加载 → 执行监控 → 结果导出 → 日志查看          │    │    │
│  │  └──────────────────────┬──────────────────────────┘    │    │
│  │                         │                                 │    │
│  │         ┌───────────────┼───────────────┐                 │    │
│  │         ▼               ▼               ▼                 │    │
│  │  ┌───────────┐  ┌───────────┐  ┌───────────┐            │    │
│  │  │执行引擎    │  │仿真适配器  │  │结果记录器  │            │    │
│  │  │(循环+断点) │  │(Motor-CAD/│  │(CSV+JSON+ │            │    │
│  │  │            │  │ Maxwell/  │  │ 日志)      │            │    │
│  │  │            │  │ JMAG/Flux)│  │            │            │    │
│  │  └───────────┘  └───────────┘  └───────────┘            │    │
│  └─────────────────────────────────────────────────────────┘    │
│                              │                                    │
│                              │ 结果：simulation_results.csv       │
│                              │ (手动导入 / 内网API)                │
│                              ▼                                    │
│                    反馈到系统一进行分析迭代                          │
└─────────────────────────────────────────────────────────────────┘
```

### 2.2 设计原则

| 原则 | 说明 |
|---|---|
| **解耦优先** | 方案生成与仿真执行完全独立，通过标准化JSON接口通信，任一侧升级不影响另一侧 |
| **工具无关** | 仿真工具通过"适配器"模式抽象，新增工具只需实现适配器接口 |
| **拓扑可扩展** | 电机拓扑以配置化方式管理，新增拓扑只需定义参数体系和仿真模板 |
| **人在回路** | AI生成的方案和知识库迭代内容均需人工确认后才生效 |
| **知识驱动** | 所有方案生成均基于经验库检索 + 物理规则约束 + AI推理，三者交叉验证 |
| **结果可校验** | 每次仿真结果自动通过可插拔的校验规则集，不通过的标记为异常 |

---

## 3. 系统一：仿真方案生成及优化系统（Web端）

### 3.1 前端用户界面

前端采用单页应用（SPA），分为四个核心工作区：

#### 3.1.1 边界条件输入区

| 输入类别 | 字段示例 | 说明 |
|---|---|---|
| 电机拓扑 | SSSR / DRSS / SDSR（单选，带拓扑示意图） | 初期支持SSSR和DRSS，SDSR后续扩展 |
| 轴向尺寸 | 总轴向长度上限（mm） | 约束条件 |
| 径向尺寸 | 外径上限 / 内径下限（mm） | 约束条件 |
| 性能目标 | 输出功率（kW）、额定扭矩（Nm）、峰值扭矩（Nm） | 目标值 |
| 效率要求 | 额定点效率目标（%）、高效区范围 | 目标值 |
| 转速范围 | 额定转速 / 最高转速（rpm） | 工况定义 |
| 冷却方式 | 自然冷却 / 水冷 / 油冷 | 影响热仿真边界 |
| 约束条件 | 温升上限、磁钢最高工作温度、成本上限 | 硬约束 |

#### 3.1.2 方案预览与编辑区

- AI生成的方案以**可视化形式**展示：
  - 参数扫描矩阵（变量 × 范围 × 步长 × 优先级）
  - 扫描顺序甘特图（先扫哪些参数、后扫哪些）
  - 预估总耗时（基于历史单次仿真时间 × 迭代次数；**初期按现有案例数据参考（单次电磁仿真约88~151秒），后续根据实际仿真结果和运行日志不断自动修正耗时基准**）
  - 工况列表（空载 / 负载 / 不同温度点）
- 支持**人工微调**：修改参数范围、调整优先级、增删工况
- 每个参数建议附带**依据标签**（历史案例 / 物理约束 / 经验公式 / AI推理）

#### 3.1.3 结果分析仪表盘

- **迭代结果数据表**：每次迭代的输入参数 + 输出指标 + 校验状态
- **参数敏感性热力图**：各参数对各目标的影响程度（Morris/Sobol指数）
- **Pareto前沿图**：多目标优化的非支配解集（如效率 vs 功率密度）
- **收敛曲线**：最优值随迭代次数的变化趋势
- **异常点标记**：校验不通过的迭代点红色标记，可查看错误详情

#### 3.1.4 知识库管理区

- **经验案例库**：按拓扑 / 功率段 / 应用场景分类浏览
- **相似案例检索**：输入新需求，自动检索Top-N最相似历史案例
- **知识条目审核**：AI自动生成的知识条目进入待审核队列，专家确认后入库
- **知识库版本管理**：每条知识有版本历史，可追溯修改记录

### 3.2 后端核心模块

#### 3.2.1 方案生成引擎

方案生成采用**三源融合**策略：

```
用户边界条件
     │
     ├──→ ① 经验库检索：找Top-N相似历史案例，提取其参数范围和扫描策略
     │
     ├──→ ② 规则引擎：基于物理约束确定参数可行域（如磁钢厚度受轴向尺寸约束、
     │                 气隙受加工精度约束、电流密度受冷却约束）
     │
     └──→ ③ AI推理：基于经验和规则，推荐扫描顺序、采样方法、优化算法
              │
              ▼
         三源交叉验证 → 生成候选方案 → 人工确认 → 输出 simulation_plan.json
```

- **经验库检索**：使用向量相似度检索（边界条件向量化后在经验库中匹配），返回最相似的3-5个历史案例，其参数范围和扫描策略作为方案初值
- **规则引擎**：内置电机设计的物理约束规则集（如 `磁钢厚度 ≤ 轴向长度 × 0.4`、`气隙 ≥ 0.3mm（加工精度下限）`、`电流密度 ≤ 12 A/mm²（自然冷却）`），自动裁剪参数可行域
- **AI推理**：在经验初值和规则约束的基础上，AI推荐扫描策略（全因子 / LHS / 贝叶斯）、参数优先级、采样密度

#### 3.2.2 结果分析引擎

执行程序返回结果后，结果分析引擎自动完成：

1. **数据清洗**：剔除校验不通过的异常点，标记缺失值
2. **敏感性分析**：
   - 初步筛选：Morris方法（计算量小，区分关键/非关键参数）
   - 精确分析：Sobol方法（对关键参数做全局方差分解，量化主效应和交互效应）
3. **代理模型构建**：对关键参数构建Kriging / RSM代理模型，用于快速预测
4. **多目标优化**：在代理模型上运行NSGA-II / MOPSO，搜索Pareto前沿
5. **迭代方案生成**：基于分析结果，自动生成下一轮仿真方案（如缩小参数范围、加密采样、聚焦Pareto最优区域）

#### 3.2.3 知识库管理模块

- **经验库**（结构化案例数据）：
  - 每条案例包含：边界条件、仿真方案、迭代结果、最优解、结论标签
  - 支持向量检索（按边界条件相似度匹配）
  - 支持按拓扑 / 功率段 / 应用场景筛选
  - **冷启动策略**：初期不做历史数据批量导入（暂无结构化历史数据），经验库从空白开始，**重点在于在实际案例测试、仿真结果输出、运行日志记录的过程中自动积累经验**。每完成一次仿真，系统自动提取关键参数组合与结果对应关系，结构化存入经验库；随着测试案例增多，经验库质量自然提升
- **知识库**（方法论文档）：
  - 参数语义字典（各拓扑下各参数的物理含义、取值范围、易错点）
  - 仿真方法SOP（各工具的操作流程、已知坑、探测技术）
  - 校验规则集（可插拔的结果可信度判据）
  - 物理公式库（用于解析量级校验、参数初值估算）
- **自动迭代机制**：
  - 每次仿真完成后，AI自动提取"可沉淀的知识"（如"XX拓扑下，气隙对效率的影响显著高于磁钢厚度"）
  - 生成知识条目草稿，进入待审核队列
  - 专家审核通过后正式入库，并关联到对应案例

### 3.3 AI协同的定位

AI在系统中扮演**"检索 + 推理 + 解释"的助手**角色，而非黑盒决策者：

| AI能力 | 应用场景 | 人工审核点 |
|---|---|---|
| 相似案例检索 | 新需求进来，自动匹配历史案例 | 无（检索结果仅供参考） |
| 方案生成 | 基于经验+规则+AI，生成仿真方案草稿 | **必须人工确认后才下发执行** |
| 结果分析 | 自动计算敏感性、构建代理模型、生成Pareto前沿 | 无（分析结果客观呈现） |
| 迭代方案推荐 | 基于分析结果，推荐下一轮扫描方案 | **必须人工确认后才下发执行** |
| 知识提取 | 从仿真结果中自动提取可沉淀的经验 | **必须专家审核后才入库** |

---

## 4. 系统二：仿真执行程序（本地 EXE）

### 4.1 用户界面

基于PyQt/PySide的桌面应用，封装为独立exe（PyInstaller打包）。**目标用户为仿真工程师**，可接受较专业的界面，注重参数透明度、过程可控性和调试信息的完整性。界面分为四个区域：

| 区域 | 功能 |
|---|---|
| **方案加载区** | 导入 `simulation_plan.json`，解析并展示执行计划（总迭代次数、参数组合列表、预估耗时） |
| **执行监控区** | 实时显示：当前第N次/共M次、当前参数组合、已用时间/预计剩余时间、Motor-CAD/Maxwell窗口状态 |
| **结果展示区** | 已完成迭代的结果数据表（输入参数 + 输出指标 + 校验状态），支持实时刷新 |
| **日志查看区** | 分级日志（INFO / WARNING / ERROR），仿真工具原始输出归档，支持按级别筛选和导出 |

操作按钮：`开始仿真` / `暂停` / `继续` / `停止` / `导出结果` / `导出日志`

### 4.2 执行引擎

执行引擎是一个**通用的方案解释器**，核心逻辑：

```
加载 simulation_plan.json
     │
     ▼
解析 scan_strategy → 生成参数组合队列（按优先级排序）
     │
     ▼
┌─── 循环：对每个参数组合 ──────────────────────────────┐
│                                                         │
│  1. 检查断点：如果该组合已完成（结果文件存在且校验通过），跳过 │
│  2. 调用仿真适配器：设置参数 → 运行仿真 → 提取结果          │
│  3. 运行校验规则集：对结果做可信度校验                       │
│  4. 记录结果：写入CSV + JSON + 日志                         │
│  5. 更新进度：刷新UI显示                                    │
│                                                         │
│  异常处理：                                                │
│  - 仿真工具崩溃 → 自动重启，重试最多3次 → 仍失败则标记跳过   │
│  - 许可证失效 → 暂停执行，提示用户检查许可证                  │
│  - 求解不收敛 → 记录警告，标记结果为uncertain，继续执行      │
│                                                         │
└─────────────────────────────────────────────────────────┘
     │
     ▼
全部完成 → 输出汇总数据表 simulation_results.csv + 执行报告
```

#### 关键特性：

- **断点续跑**：每次迭代结果独立存储，程序中断后重启可从上次未完成的点继续（通过检查结果文件完整性判断）
- **错误恢复**：仿真工具崩溃自动重启重试，许可证失效暂停等待，求解不收敛标记后继续
- **无人值守模式**：可选模式，遇到非致命错误自动跳过继续，致命错误才暂停
- **前台运行**：仿真工具默认前台弹出（方便人工检查），可切换为后台模式

### 4.3 仿真适配器（多工具兼容）

采用**适配器模式**抽象仿真工具，每个工具实现统一接口：

```python
class SimulationAdapter(ABC):
    @abstractmethod
    def connect(self) -> bool: ...        # 连接/启动仿真工具

    @abstractmethod
    def load_model(self, model_path: str) -> bool: ...  # 加载模型

    @abstractmethod
    def set_parameter(self, name: str, value: float) -> bool: ...  # 设置参数

    @abstractmethod
    def run_simulation(self, case: dict) -> bool: ...  # 运行仿真

    @abstractmethod
    def extract_result(self, metric: str) -> float: ...  # 提取结果

    @abstractmethod
    def disconnect(self) -> None: ...  # 断开/关闭
```

#### 适配器规划：

| 优先级 | 仿真工具 | 自动化接口 | 物理场 | 状态 |
|---|---|---|---|---|
| P0 | Motor-CAD | PyMotorCAD (Python API) | 电磁（初期） | 已有验证基础（axial_mag_pull项目） |
| P1 | Ansys Maxwell 3D | PyAEDT (Python API) / VBScript | 电磁 / 结构 | 规划中 |
| P2 | JMAG | JSAT / Python API | 电磁 / 热 / 结构 | 规划中 |
| P3 | Flux | Python API / 脚本 | 电磁 / 热 | 规划中 |

> **初期重点**：先完成Motor-CAD电磁仿真适配器，验证全流程闭环后再扩展其他工具。

### 4.4 结果记录与日志

#### 输出文件结构：

```
output/
├── simulation_results.csv       # 汇总数据表（所有迭代的输入+输出+校验状态）
├── simulation_results.json      # 完整结果（含波形数据、校验详情）
├── iteration_001/               # 每次迭代的独立目录
│   ├── params.json              # 该次的输入参数
│   ├── results.json             # 该次的输出结果
│   ├── model_working.mot        # 工作模型副本（原模型不污染）
│   └── raw_output.log           # 仿真工具原始输出
├── execution_log.txt            # 执行程序日志（分级）
└── execution_report.md          # 执行报告（汇总统计、异常列表、耗时分析）
```

#### 汇总数据表字段（CSV）：

| 字段 | 说明 |
|---|---|
| iteration_id | 迭代序号 |
| timestamp | 执行时间戳 |
| topology | 电机拓扑 |
| param_1, param_2, ... | 各扫描参数的取值（动态列） |
| case_id | 工况ID |
| metric_1, metric_2, ... | 各输出指标的数值（动态列） |
| validation_status | 校验状态（PASS / FAIL / UNCERTAIN） |
| validation_details | 校验详情（各判据的偏差值） |
| solve_time_s | 本次求解耗时 |
| error_message | 错误信息（如有） |

---

## 5. 接口设计（双系统通信契约）

### 5.1 仿真方案 JSON Schema

两个系统之间的核心契约是 `simulation_plan.json`，结构定义如下：

```json
{
  "plan_id": "SP-20260826-001",
  "plan_version": "1.0",
  "created_at": "2026-08-26T22:00:00+08:00",
  "created_by": "engineer_001",
  "status": "draft",

  "motor_spec": {
    "topology": "SSSR",
    "model_template": "MARS-12S10P_SSSR.mot",
    "axial_length_max_mm": 30,
    "outer_diameter_max_mm": 150,
    "inner_diameter_min_mm": 60,
    "output_power_kw": 5,
    "rated_torque_nm": 10,
    "peak_torque_nm": 20,
    "rated_speed_rpm": 5000,
    "max_speed_rpm": 10000,
    "target_efficiency": 0.92,
    "cooling_method": "water",
    "constraints": {
      "max_temperature_c": 120,
      "max_magnet_temp_c": 150,
      "cost_max_rmb": 500
    }
  },

  "scan_strategy": {
    "method": "sequential_screening",
    "description": "先Morris筛选关键参数，再LHS采样构建代理模型，最后NSGA-II多目标优化",
    "max_total_iterations": 100,
    "variables": [
      {
        "name": "Airgap",
        "display_name": "气隙",
        "unit": "mm",
        "range": [0.6, 1.5],
        "step": 0.3,
        "priority": 1,
        "screening_phase": "morris",
        "basis": "历史案例SP-20260801-003显示气隙对轴向力影响最大（磁负刚度~207N/mm）"
      },
      {
        "name": "Magnet_Length",
        "display_name": "磁钢轴向厚度",
        "unit": "mm",
        "range": [2, 5],
        "step": 1,
        "priority": 2,
        "screening_phase": "morris",
        "basis": "物理约束：磁钢厚度 ≤ 轴向长度 × 0.4"
      }
    ],
    "sampling": {
      "method": "latin_hypercube",
      "n_samples": 30,
      "seed": 42
    },
    "optimization": {
      "method": "NSGA-II",
      "population_size": 50,
      "max_generations": 30,
      "objectives": [
        {"metric": "efficiency", "direction": "maximize"},
        {"metric": "power_density", "direction": "maximize"}
      ],
      "constraints": [
        {"metric": "torque_nm", "operator": ">=", "value": 10},
        {"metric": "temperature_c", "operator": "<=", "value": 120}
      ]
    }
  },

  "cases": [
    {
      "id": "OC_100C",
      "name": "空载热态",
      "type": "no_load",
      "magnet_temp_c": 100,
      "rms_current_a": 0
    },
    {
      "id": "OL_rated",
      "name": "额定负载",
      "type": "load",
      "magnet_temp_c": 100,
      "rms_current_a": 21,
      "speed_rpm": 5000
    }
  ],

  "output_metrics": [
    {"name": "axial_force_n", "display_name": "轴向磁拉力", "unit": "N"},
    {"name": "torque_nm", "display_name": "输出扭矩", "unit": "Nm"},
    {"name": "efficiency", "display_name": "效率", "unit": "%"},
    {"name": "core_loss_w", "display_name": "铁耗", "unit": "W"},
    {"name": "copper_loss_w", "display_name": "铜耗", "unit": "W"}
  ],

  "validation_rules": [
    {
      "rule_id": "action_reaction",
      "name": "作用-反作用校验",
      "description": "定转子合力反号，偏差<5%",
      "threshold_pct": 5,
      "enabled": true
    },
    {
      "rule_id": "analytic_magnitude",
      "name": "解析量级校验",
      "description": "FEA结果与解析估算同量级（比值0.5~2.0）",
      "ratio_range": [0.5, 2.0],
      "enabled": true
    },
    {
      "rule_id": "torque_crosscheck",
      "name": "转矩交叉校验",
      "description": "Σ(Ft×r)与转矩图偏差<10%",
      "threshold_pct": 10,
      "enabled": true
    }
  ],

  "stop_criteria": [
    {"type": "objective_met", "condition": "efficiency >= 0.92 AND torque_nm >= 10"},
    {"type": "max_iterations", "value": 100},
    {"type": "convergence", "metric": "best_efficiency", "tolerance": 0.001, "patience": 10}
  ],

  "execution_config": {
    "simulation_tool": "MotorCAD",
    "tool_version": "2026R1",
    "model_path": "MARS-12S10P_SSSR_D76-C150_V5.0-0819.mot",
    "foreground": true,
    "max_retries": 3,
    "timeout_per_iteration_s": 600,
    "checkpoint_enabled": true
  }
}
```

### 5.2 结果数据格式

执行程序输出 `simulation_results.csv`（汇总表）和 `simulation_results.json`（完整数据），JSON结构：

```json
{
  "plan_id": "SP-20260826-001",
  "executed_at": "2026-08-26T23:00:00+08:00",
  "execution_duration_s": 7200,
  "total_iterations": 45,
  "successful": 42,
  "failed": 3,
  "iterations": [
    {
      "iteration_id": 1,
      "timestamp": "2026-08-26T23:01:00+08:00",
      "parameters": {"Airgap": 0.6, "Magnet_Length": 2},
      "case_id": "OC_100C",
      "results": {
        "axial_force_n": 513.1,
        "torque_nm": null,
        "efficiency": null
      },
      "validation": {
        "status": "PASS",
        "checks": {
          "action_reaction": {"deviation_pct": 1.7, "passed": true},
          "analytic_magnitude": {"ratio": 1.41, "passed": true}
        }
      },
      "solve_time_s": 151,
      "error": null
    }
  ],
  "summary": {
    "best_efficiency": 0.935,
    "best_torque_nm": 12.5,
    "pareto_front": [{"efficiency": 0.935, "power_density": 4.2}, ...]
  }
}
```

### 5.3 通信方式

| 阶段 | 方式 | 说明 |
|---|---|---|
| **初期（手动）** | 文件交换 | 方案系统导出 `simulation_plan.json` → U盘/共享文件夹拷贝 → 执行程序导入；执行完成后导出 `simulation_results.csv` → 拷贝回方案系统导入 |
| **中期（内网API）** | REST API | 方案系统提供内网API：`POST /api/plan/{id}/download`（下载方案）、`POST /api/plan/{id}/upload-results`（上传结果）；执行程序可配置API地址自动拉取方案和回传结果 |
| **远期（全自动）** | 消息队列 | 方案系统下发任务到消息队列，执行程序监听队列自动领取任务、执行、回传结果；支持多执行节点并行 |

> 两种通信方式的**数据格式完全一致**（JSON/CSV），只是传输通道不同，确保平滑升级。

---

## 6. 方案生成引擎算法选型

基于检索到的电机优化领域论文和专利（Kriging-PSO、SVM多目标优化、Morris/Sobol灵敏度分析、LHS采样等），结合轴向磁通电机的设计特点，方案生成引擎采用**四阶段分层优化策略**：

### 6.1 第一阶段：参数筛选（Morris灵敏度分析）

**目标**：从众多设计参数中快速筛选出对目标影响显著的关键参数，降低后续优化维度。

**方法**：Morris初等效应法
- 属于全局灵敏度分析的One-Factor-At-a-Time（OAT）方法
- 计算每个参数的初等效应均值（μ）和标准差（σ）
- μ大 → 参数主效应显著；σ大 → 参数交互效应或非线性强
- 计算量小（通常k个参数需要10~50次评估），适合初步筛选

**输出**：参数分类
- **核心参数**（μ大、σ大）：进入第二阶段精细优化
- **敏感参数**（μ大、σ小）：线性影响显著，可固定为最优值或粗扫
- **普通参数**（μ小）：影响不显著，固定为经验值，不参与扫描

**参考依据**：《基于代理模型的电机多学科优化关键技术综述》（电工技术学报）指出Morris方法逻辑清晰、易于实现，适合参数维度高时的初步筛选；IEEE综述《Review of Sensitivity Analysis Methods for Optimal Design Parameters of Motors》确认Sobol方法可信度高但计算量大，Morris方法适合预筛选。

### 6.2 第二阶段：实验设计与采样（LHS拉丁超立方）

**目标**：在关键参数的设计空间内均匀采样，为代理模型构建提供高质量训练数据。

**方法**：拉丁超立方采样（Latin Hypercube Sampling, LHS）
- 在每个维度上分层采样，确保边缘分布均匀
- 比全因子设计和随机采样更高效，能以较少样本覆盖设计空间
- 适合构建代理模型的训练数据

**样本量**：通常为参数维度的5~10倍（如5个关键参数，取30~50个样本）

**参考依据**：《基于Kriging-PSO算法的双转子PCB轴向磁通电机优化设计与分析》（电机工程学报）采用LHS方法采样优化变量并进行全局敏感性分析；MDPI论文《Design, Optimization, and Validation of a Dual Three-Phase YASA Axial Flux Machine》采用LHS+RSM+GA的代理模型优化框架。

### 6.3 第三阶段：代理模型构建（Kriging）

**目标**：用代理模型近似仿真输入-输出关系，大幅加速后续优化搜索。

**方法**：Kriging（克里金）代理模型
- 基于高斯过程的插值模型，能给出预测值和预测不确定性
- 对非线性、多峰的电机设计空间拟合精度高
- 预测不确定性可用于指导后续采样（加点准则）

**备选**：响应面法（RSM）—— 适合强线性关系，计算更简单；神经网络 —— 适合极高维，但需要更多训练数据

**验证**：用留一法交叉验证（LOOCV）或R²指标评估代理模型精度，R²>0.9才用于优化

**参考依据**：Kriging-PSO是国内电机优化论文的主流方法组合（电机工程学报多篇论文采用）；安世亚太CAE+AI融合方案也采用"自动仿真生成数据→训练代理模型→AI优化算法搜索"的标准化流程。

### 6.4 第四阶段：多目标优化（NSGA-II）

**目标**：在代理模型上搜索多目标Pareto最优解集。

**方法**：NSGA-II（非支配排序遗传算法）
- 最经典的多目标进化算法，收敛性和分布性均衡
- 输出Pareto前沿（非支配解集），供决策者权衡选择
- 适合电机设计中"效率 vs 功率密度 vs 成本"的多目标权衡

**备选**：MOPSO（多目标粒子群）—— 收敛更快，但容易早熟；SMS-EMOA —— 注重解集分布性

**输出**：Pareto前沿解集，每个解包含完整参数组合和预测性能

**参考依据**：PMC论文《Multi-objective optimization of dual-stator permanent magnet motor based on composite algorithm》采用"灵敏度分析分类→Taguchi优化显著变量→Kriging+GA优化非显著变量"的复合算法；IET论文采用多级优化框架。

### 6.5 第五阶段：精确验证与迭代

**目标**：对Pareto最优解做精确FEA验证，确认代理模型预测的准确性。

**方法**：
1. 从Pareto前沿选取3~5个代表性候选解（如最高效率、最高功率密度、折中解）
2. 用真实仿真工具精确计算（不通过代理模型）
3. 对比代理模型预测值与FEA真实值，偏差>5%的标记为代理模型失准
4. 将验证结果加入训练集，更新代理模型，必要时重新优化

**闭环**：如果验证结果不满足目标，或代理模型精度不足，自动生成下一轮仿真方案（在失准区域加密采样），进入下一轮迭代。

### 6.6 算法选型总结

```
用户边界条件
     │
     ▼
┌─────────────────────────────────────────────┐
│ 阶段1: Morris筛选 (10~50次仿真)              │
│ 输出: 参数分类 (核心/敏感/普通)               │
└──────────────────┬──────────────────────────┘
                   ▼
┌─────────────────────────────────────────────┐
│ 阶段2: LHS采样 (30~50次仿真)                 │
│ 输出: 训练数据集                               │
└──────────────────┬──────────────────────────┘
                   ▼
┌─────────────────────────────────────────────┐
│ 阶段3: Kriging代理模型构建 (0次仿真, 纯计算)  │
│ 输出: 代理模型 + 精度验证(R²)                 │
└──────────────────┬──────────────────────────┘
                   ▼
┌─────────────────────────────────────────────┐
│ 阶段4: NSGA-II多目标优化 (0次仿真, 纯计算)    │
│ 输出: Pareto前沿解集                           │
└──────────────────┬──────────────────────────┘
                   ▼
┌─────────────────────────────────────────────┐
│ 阶段5: 精确FEA验证 (3~5次仿真)                │
│ 输出: 验证后的最优解                           │
└──────────────────┬──────────────────────────┘
                   ▼
          不满足 → 生成下一轮方案 → 循环
          满足 → 输出最终设计方案
```

**总仿真次数估算**：约50~110次/轮（相比全因子扫描的数百上千次，效率提升5~10倍）

---

## 7. 多物理场仿真规划

### 7.1 分阶段实施

| 阶段 | 物理场 | 仿真工具 | 目标 | 优先级 |
|---|---|---|---|---|
| **第一期** | 电磁 | Motor-CAD | 电磁性能（扭矩、效率、损耗、轴向力） | P0 |
| **第二期** | 热 | Motor-CAD热模块 / Flux热 | 温升分布、热点温度、冷却效果 | P1 |
| **第三期** | 结构力学 | Maxwell结构 / Workbench | 转子应力、变形、模态分析 | P2 |
| **第四期** | NVH | Maxwell + Workbench谐响应 | 电磁噪声、振动 | P3 |

### 7.2 多物理场耦合策略

- **单向耦合**（初期）：电磁仿真输出损耗 → 作为热仿真的热源 → 热仿真输出温度 → 修正电磁仿真的材料属性（磁钢Br温度系数、绕组电阻温度系数）
- **双向耦合**（远期）：电磁-热-结构全耦合迭代，直到温度和应力收敛

### 7.3 接口预留

- `simulation_plan.json` 中 `cases` 字段支持多物理场工况定义
- 仿真适配器接口支持多物理场结果提取
- 校验规则集支持多物理场专属判据（如热仿真的温升限值、结构仿真的应力限值）

---

## 8. 电机拓扑覆盖规划

### 8.1 拓扑参数体系

| 拓扑 | 缩写 | 特点 | 关键参数 | 优先级 |
|---|---|---|---|---|
| 单定子单转子 | SSSR | 结构简单，有不平衡轴向力 | 气隙、磁钢厚度、定子参数 | P0 |
| 双转子单定子 | DRSS | 轴向力对消，功率密度高 | 双气隙、双磁钢厚度、定子参数 | P0 |
| 双定子单转子 | SDSR | 转子居中，散热好 | 双气隙、双定子参数、磁钢厚度 | P1 |

### 8.2 拓扑管理方式

- 每种拓扑定义独立的**参数语义字典**（参数名、物理含义、取值范围、与其他拓扑的对应关系）
- 每种拓扑有独立的**仿真模板**（基础.mot模型、默认工况、默认校验规则）
- 方案生成引擎根据拓扑选择对应的参数体系和仿真模板
- 新增拓扑只需：定义参数字典 + 提供基础模型模板 + 配置默认规则，无需修改引擎核心代码

### 8.3 初期重点

- **SSSR**：基于现有 `axial_mag_pull` 项目直接迁移，**默认模板采用 `MARS-12S10P_SSSR_D76-C150_V5.0-0819.mot`**，最快验证全流程闭环
- **DRSS**：轴向磁通电机的主流高功率密度拓扑，**基础模型模板后续补充**，待SSSR流程验证稳定后启动开发

---

## 9. 技术栈选型

### 9.1 系统一（Web端）

| 层级 | 技术选型 | 说明 |
|---|---|---|
| 前端框架 | Vue 3 + TypeScript + Element Plus | 企业级UI组件丰富，适合数据密集型仪表盘 |
| 可视化 | ECharts + D3.js | ECharts做常规图表（热力图、Pareto图、收敛曲线），D3.js做自定义架构图/拓扑图 |
| 后端框架 | Python FastAPI | 异步高性能，自动生成API文档，与仿真脚本同语言便于维护 |
| 关系数据库 | PostgreSQL | 存储用户、项目、方案、结果等结构化数据 |
| 向量数据库 | pgvector（PostgreSQL扩展） | 存储经验案例的向量表示，支持相似度检索；无需额外部署独立向量库 |
| AI推理 | 可插拔LLM接口（API-Key / 内网部署） | **初期**：通过API-Key调用大模型（数据经内网代理网关，敏感字段脱敏）；**第二期**：迁移到企业内网部署的大模型（Ollama + 本地模型 / 私有API网关），数据完全不出内网 |
| 优化算法库 | scikit-learn + pymoo + SALib | scikit-learn做代理模型，pymoo做NSGA-II多目标优化，SALib做Morris/Sobol灵敏度分析 |
| 任务队列 | Celery + Redis | 异步处理方案生成、结果分析、知识提取等耗时任务 |
| 部署 | Docker + Nginx | 容器化部署，内网服务器运行 |

### 9.2 系统二（本地EXE）

| 层级 | 技术选型 | 说明 |
|---|---|---|
| GUI框架 | PySide6 (Qt for Python) | LGPL许可，比PyQt5更宽松；Qt Designer可视化设计界面 |
| 仿真驱动 | PyMotorCAD / PyAEDT / 各工具Python API | 适配器模式封装 |
| 数据处理 | pandas + openpyxl | 结果数据表处理，支持导出Excel |
| 打包 | PyInstaller | 打包为单文件exe，约40~80MB |
| 日志 | loguru | 比标准logging更易用，支持分级、轮转、彩色输出 |
| 配置 | YAML / JSON | 执行程序配置（工具路径、API地址等） |

### 9.3 共用组件

| 组件 | 说明 |
|---|---|
| 方案JSON Schema | 两个系统共用的接口契约定义（JSON Schema格式） |
| 校验规则引擎 | 可插拔的结果可信度校验框架，两个系统共用（执行端实时校验，方案端批量复核） |
| 参数语义字典 | 各拓扑的参数定义，两个系统共用 |

---

## 10. 数据安全与权限管理

### 10.1 部署环境

- 系统一部署在**企业内网服务器**，不暴露到公网
- 数据库仅在内网访问，设置防火墙规则
- 执行程序在工程师本地电脑运行，通过内网API与系统一通信（或纯文件交换）

### 10.2 用户权限管理

| 角色 | 权限 |
|---|---|
| **工程师** | 创建/编辑自己的项目、输入边界条件、确认方案、查看自己项目的结果、导出方案/结果 |
| **专家** | 工程师全部权限 + 审核知识库条目 + 查看所有项目（只读） + 管理校验规则集 |
| **管理员** | 全部权限 + 用户管理 + 系统配置 + 数据库备份/恢复 |

- 项目级权限：每个项目有创建者和共享成员列表，非成员不可见
- 操作审计：所有关键操作（方案确认、知识审核、数据导出）记录审计日志

### 10.3 数据加密

- 传输加密：内网HTTPS
- 存储加密：敏感数据（电机设计参数）数据库加密存储
- 导出控制：数据导出操作记录审计，可配置导出审批流程

---

## 11. 实施路线图

### 11.1 总体节奏

```
月份:  1    2    3    4    5    6    7    8    9    10   11   12
       ├────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
Phase1 │████████████│                                              │
  最小闭环  接口定义+执行程序(Motor-CAD电磁)+SSSR拓扑+手动文件交换   │
       │    ├─────────────────┤                                    │
Phase2 │    │█████████████████████████│                            │
  方案系统  Web端基础框架+经验库+规则引擎+方案生成+结果分析+人在回路  │
       │         ├─────────────────────────────┤                   │
Phase3 │         │██████████████████████████████████│              │
  算法增强  Morris筛选+LHS+Kriging+NSGA-II+DRSS拓扑+内网API通信    │
       │              ├──────────────────────────────────────────┤│
Phase4 │              │██████████████████████████████████████████││
  扩展完善  热/结构仿真+SDSR拓扑+Maxwell/JMAG适配器+知识库自动迭代  │
```

### 11.2 各阶段详细目标

#### Phase 1：最小闭环验证（第1-2月）

**目标**：验证双系统解耦架构和接口契约的可行性

- [ ] 定义 `simulation_plan.json` 和 `simulation_results.csv` 的完整Schema
- [ ] 开发执行程序核心框架（PySide6 UI + 方案解析 + 执行引擎 + 结果记录）
- [ ] 实现Motor-CAD电磁仿真适配器（基于axial_mag_pull项目迁移）
- [ ] 支持SSSR拓扑
- [ ] 支持手动文件交换（导出JSON → 执行 → 导入CSV）
- [ ] 用现有轴向磁拉力案例做端到端验证

**交付物**：执行程序V0.1（exe）、接口规范文档V1.0、验证报告

#### Phase 2：方案系统基础（第2-5月）

**目标**：Web端方案系统可用，实现人在回路的方案生成和结果分析

- [ ] Web端基础框架（Vue3 + FastAPI + PostgreSQL）
- [ ] 用户管理和权限系统
- [ ] 项目管理（创建/编辑/共享）
- [ ] 边界条件输入界面
- [ ] 经验库（结构化存储 + 向量检索）
- [ ] 规则引擎（物理约束裁剪参数可行域）
- [ ] 方案生成（经验检索 + 规则 + AI推荐，人工确认）
- [ ] 方案预览与编辑界面
- [ ] 结果导入与分析仪表盘（数据表 + 基础图表）
- [ ] 知识库管理（手动录入 + 审核流程）

**交付物**：方案系统V0.5（内网可访问）、使用手册

#### Phase 3：算法增强与拓扑扩展（第4-8月）

**目标**：实现完整的四阶段优化算法，支持DRSS拓扑，内网API通信

- [ ] Morris灵敏度分析模块
- [ ] LHS拉丁超立方采样模块
- [ ] Kriging代理模型构建与验证
- [ ] NSGA-II多目标优化模块
- [ ] 四阶段分层优化策略整合
- [ ] 参数敏感性热力图
- [ ] Pareto前沿可视化
- [ ] 收敛曲线
- [ ] DRSS拓扑支持（参数字典 + 仿真模板）
- [ ] 内网API通信（方案下载 + 结果上传）
- [ ] 迭代方案自动推荐（结果分析 → 下一轮方案）

**交付物**：方案系统V1.0、执行程序V1.0、算法验证报告

#### Phase 4：多物理场与工具扩展（第6-12月）

**目标**：扩展物理场和仿真工具，完善知识库自动迭代

- [ ] 热仿真模块（Motor-CAD热模块 / Flux）
- [ ] 结构力学仿真模块（Maxwell结构 / Workbench）
- [ ] SDSR拓扑支持
- [ ] Ansys Maxwell 3D仿真适配器
- [ ] JMAG仿真适配器（可选）
- [ ] 知识库自动提取与迭代（AI从仿真结果中提取经验，专家审核入库）
- [ ] 多物理场耦合（电磁-热单向耦合）
- [ ] NVH仿真（可选）

**交付物**：方案系统V2.0、执行程序V2.0、多物理场验证报告

---

## 12. 风险与应对

| 风险 | 影响 | 概率 | 应对措施 |
|---|---|---|---|
| **仿真工具API不稳定** | 执行程序频繁出错 | 高 | 适配器模式隔离变化；内置重试和错误恢复；保留手动操作兜底 |
| **代理模型精度不足** | 优化结果偏离真实最优 | 中 | 严格的R²验证门槛；Pareto解必须FEA验证；失准区域自动加密采样 |
| **经验库冷启动质量差** | 初期方案生成不可靠 | 高 | 初期以规则引擎为主，AI推荐为辅；手动录入标杆案例；每轮仿真后人工审核知识提取 |
| **多拓扑参数体系差异大** | 方案生成引擎难以通用 | 中 | 拓扑配置化管理，参数字典独立定义；引擎核心不依赖具体拓扑 |
| **仿真耗时长，迭代周期慢** | 用户体验差 | 高 | 四阶段优化策略减少总仿真次数；断点续跑；远期支持多节点并行 |
| **企业内网部署限制** | AI模型无法调用公网API | 中 | 支持内网部署的大模型；初期可用API网关代理，后期迁移内网模型 |
| **数据安全合规** | 电机设计数据泄露 | 低 | 内网部署 + 权限管理 + 操作审计 + 导出控制 |
| **多物理场耦合复杂** | 后期扩展困难 | 中 | 接口预留多物理场字段；先做单向耦合，双向耦合作为远期目标 |

---

## 13. 参考资料

### 13.1 学术论文

1. 《基于Kriging-PSO算法的双转子PCB轴向磁通电机优化设计与分析》— 电机工程学报，采用LHS采样+全局敏感性分析+Kriging响应面+PSO优化
2. 《基于代理模型的电机多学科优化关键技术综述》— 电工技术学报，2022，系统综述Morris/Sobol灵敏度分析、代理模型、优化算法
3. *Design, Optimization, and Validation of a Dual Three-Phase YASA Axial Flux Machine* — MDPI Energies, 2025，采用LHS+RSM+GA的代理模型优化框架
4. *A General SVM-Based Multi-Objective Optimization Methodology for Axial Flux Motor Design* — ResearchGate，基于SVM的多目标优化方法
5. *Review of Sensitivity Analysis Methods for Optimal Design Parameters of Motors* — IEEE Xplore，电机优化参数灵敏度分析方法综述
6. *Multi-objective optimization of dual-stator permanent magnet motor based on composite algorithm* — PMC, 2024，灵敏度分析分类+Taguchi+Kriging+GA复合算法

### 13.2 专利与行业方案

1. CN202511697293 — 电机系统多学科协同设计与工程数字化平台（NLP+多物理场仿真+自动化工艺生成）
2. CN107944666A — 一种电机云设计平台（云基础服务+设计资源库+核心设计云服务）
3. 基于AI辅助的多物理场耦合电机优化设计方法及系统（2026专利）— LHS采样+AI代理模型+LPTN热网络双向耦合
4. Ansys Maxwell + OptiSlang — 商业电机优化方案（OptiSlang做敏感性分析和优化，Maxwell做仿真）
5. 安世亚太CAE+AI融合方案 — 标准化AI仿真研发流程（参数化模型→自动仿真→代理模型→AI优化→验证）

### 13.3 内部参考

1. `axial_mag_pull` 项目 — Motor-CAD轴向磁拉力仿真（本系统的原型验证）
2. `docs/KNOWLEDGE_BASE.md` — 知识库原型（方法/参数语义/探测技术/SOP）
3. `axial_force_final.py` — 仿真脚本原型（PyMotorCAD驱动+三判据校验）

---

## 附录A：术语表

| 术语 | 全称 | 说明 |
|---|---|---|
| AFM | Axial Flux Motor | 轴向磁通电机 |
| SSSR | Single Stator Single Rotor | 单定子单转子 |
| DRSS | Dual Rotor Single Stator | 双转子单定子 |
| SDSR | Single Rotor Dual Stator | 双定子单转子 |
| LHS | Latin Hypercube Sampling | 拉丁超立方采样 |
| RSM | Response Surface Methodology | 响应面法 |
| GA | Genetic Algorithm | 遗传算法 |
| PSO | Particle Swarm Optimization | 粒子群优化 |
| NSGA-II | Non-dominated Sorting Genetic Algorithm II | 非支配排序遗传算法第二代 |
| MOPSO | Multi-Objective Particle Swarm Optimization | 多目标粒子群优化 |
| DOE | Design of Experiments | 实验设计 |
| FEA | Finite Element Analysis | 有限元分析 |
| YASA | Yokeless And Segmented Armature | 无轭分段电枢（轴向磁通电机拓扑） |

---

*文档结束 — V1.1，作者 Car.Lin，2026-08-26*

> **V1.1 更新说明**：明确AI模型部署策略（初期API-Key，第二期内网部署）；SSSR默认模板采用MARS-12S10P模型；执行程序目标用户为仿真工程师；经验库冷启动策略调整为运行中自动积累；仿真耗时基准按现有案例参考、后续日志自动修正。
