160 lines
5.5 KiB
Markdown
160 lines
5.5 KiB
Markdown
# 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. 在测试环境充分验证后再部署到生产环境 |