AnsysLink/simulation_mode_removal_checklist.md
2025-08-11 13:58:59 +08:00

160 lines
5.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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. 清理工具类中的仿真模式
### 阶段2API层清理
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. 在测试环境充分验证后再部署到生产环境