# Simulation Mode Removal Checklist ## 概述 本文档列出了需要移除的所有simulation_mode相关代码,基于代码库扫描结果。 ## 需要移除的文件和代码 ### 1. 核心PyMechanical组件 #### 1.1 backend/pymechanical/session_manager.py **需要移除的代码:** - `__init__(self, simulation_mode: bool = False)` 参数 - `self.simulation_mode = simulation_mode` 赋值 - 所有 `if self.simulation_mode:` 条件分支(约15处) - 仿真模式回退逻辑: ```python self.simulation_mode = True return self.start_session(batch_mode) ``` - `get_session_info()` 中的 `"simulation_mode": self.simulation_mode` **具体位置:** - 第38行:`self.simulation_mode = simulation_mode` - 第69行:`if self.simulation_mode:` - 第154行:`self.simulation_mode = True` - 第160行:`self.simulation_mode = True` - 第183行:`if not self.simulation_mode and not os.path.exists(file_path):` - 第189行:`if self.simulation_mode:` - 第305行:`if self.simulation_mode:` - 第403行:`if self.simulation_mode:` - 第463行:`if self.simulation_mode:` - 第507行:`if self.simulation_mode:` - 第559行:`if self.simulation_mode:` - 第635行:`if self.simulation_mode:` - 第700行:`if self.simulation_mode:` - 第793行:`if self.simulation_mode:` - 第841行:`if self.simulation_mode:` - 第931行:`if self.simulation_mode:` - 第980行:`if self.simulation_mode:` - 第1065行:`"simulation_mode": self.simulation_mode,` #### 1.2 backend/pymechanical/mesh_quality_checker.py **需要移除的代码:** - 仿真模式检测逻辑(第74-78行) - `self.simulation_mode` 属性设置 - `if self.simulation_mode:` 条件分支(第92行) - `_simulate_quality_check()` 方法 #### 1.3 backend/utils/visualization_exporter.py **需要移除的代码:** - 仿真模式检测逻辑(第67-71行) - `self.simulation_mode` 属性设置 - `if self.simulation_mode:` 条件分支(第103行、第440行) - `_simulate_image_export()` 方法 - `get_export_summary()` 中的 `'simulation_mode': self.simulation_mode` #### 1.4 backend/utils/mechdb_reader.py **需要移除的代码:** - `__init__(self, simulation_mode: bool = False)` 参数 - `self.simulation_mode = simulation_mode` 赋值 - `if self.simulation_mode:` 条件分支(第47行) - `_simulate_mechdb_reading()` 方法 ### 2. API路由层 #### 2.1 backend/api/routes.py **需要移除的代码:** - `generate_mesh()` 函数中的simulation_mode参数处理: ```python simulation_mode = False if request.is_json and request.json: simulation_mode = request.json.get('simulation_mode', False) ``` - 传递给处理函数的simulation_mode参数 #### 2.2 backend/utils/mesh_processor.py **需要移除的代码:** - `process_blade_mesh_with_state_updates()` 函数的simulation_mode参数 - `process_blade_mesh()` 函数的simulation_mode参数 - 传递给ANSYSSessionManager的simulation_mode参数 ### 3. 测试文件 #### 3.1 需要更新的测试文件 以下测试文件需要移除simulation_mode参数: **真实ANSYS测试(移除simulation_mode=False):** - test/test_verify_mesh.py - test/test_simple_verify.py - test/test_simple_mesh.py - test/test_real_ansys.py - test/test_pymechanical_debug.py - test/test_named_selections.py - test/test_mesh_success.py - test/test_mesh_like_example.py - test/test_mesh_generation.py - test/test_mesh_files.py - test/test_mesh_controller.py - test/test_integrated_mesh_controls.py - test/test_geometry_import.py **仿真模式测试(需要删除或重写):** - test/test_suite.py 中的 `test_session_manager_simulation_mode()` - test/test_named_selections.py 中的 `test_simulation_mode()` - test/test_mesh_quality.py 中的仿真模式测试 - test/test_mesh_processor.py 中的simulation_mode=True调用 - test/test_mesh_generation.py 中的仿真模式测试 - test/test_mesh_controller.py 中的仿真模式测试 - test/test_integrated_mesh_controls.py 中的 `test_simulation_mode()` - test/test_visualization_exporter.py 中的仿真模式断言 - test/test_mechdb_reader.py 中的仿真模式测试 ### 4. 配置和文档 #### 4.1 需要更新的文档 - 移除用户文档中关于仿真模式的说明 - 更新API文档移除simulation_mode参数 - 更新README中的使用示例 ## 移除策略 ### 阶段1:核心组件清理 1. 从ANSYSSessionManager开始,移除所有仿真逻辑 2. 更新其他PyMechanical组件 3. 清理工具类中的仿真模式 ### 阶段2:API层清理 1. 移除API路由中的simulation_mode参数处理 2. 更新mesh_processor函数签名 3. 确保所有调用都使用真实模式 ### 阶段3:测试更新 1. 移除所有仿真模式测试 2. 更新真实ANSYS测试移除simulation_mode参数 3. 确保测试覆盖真实功能 ### 阶段4:文档和配置 1. 更新所有相关文档 2. 清理配置文件 3. 更新部署脚本 ## 验证清单 - [ ] 代码库中不再包含"simulation_mode"字符串(除了注释和文档) - [ ] 所有ANSYSSessionManager调用都不传递simulation_mode参数 - [ ] 所有API调用都只使用真实ANSYS功能 - [ ] 测试套件运行正常且只测试真实功能 - [ ] 文档已更新移除仿真模式说明 ## 风险评估 ### 高风险区域 1. **ANSYSSessionManager**: 核心组件,影响所有功能 2. **API路由**: 影响前端集成 3. **测试套件**: 需要确保测试覆盖度不降低 ### 缓解措施 1. 分步骤进行,每步都进行测试验证 2. 保留备份版本以便回滚 3. 在测试环境充分验证后再部署到生产环境