Commit Graph

30 Commits (4542d1132a8eb2e813405a016b1bbbecb95d95ef)

Author SHA1 Message Date
lh 4542d1132a fix(nmNum): 冻结结果井流量制度并同步刷新历史曲线
- 在求解输入和结果快照中保存公共段时长、三相流量、分相启用状态、制度参考相及流动段索引
- 求解完成后将实际使用的流量制度写入结果快照,避免结果切换依赖实时井数据
- 切换结果井时同步刷新历史压力、计算压力、参考相流量曲线和流动段高亮
- 多相流量完整保留给求解器,历史窗口按求解时的制度参考相显示单条流量曲线
- 将 Snapshot.json 格式升级至 v4,不再兼容旧格式结果快照
17 hours ago
lh 45ee68645b feat(nmCalculation): 补充数值求解失败原因提示
- 记录输入捕获、网格生成、DLL 调用及结果处理等失败原因
- 将任务侧失败原因传递至求解完成提示
- 区分求解失败、用户取消和输入变化导致的结果丢弃
- 补充中文翻译并更新语言包
2 days ago
lh 29b1840fde feat(nmNum): 数值成果保存完整压力流量副本
- 按井 UUID 保存全部压力和流量 Gauge 记录及记录级流动段索引
- 成果加载只恢复保存副本,不再访问框架或自动回退 Gauge Code
- 严格恢复选中记录、分相开关和井级流动段索引
- 为规范化 Gauge 输入生成固定格式 SHA-1 签名
- 将历史曲线与 Gauge 输入签名原子更新并校验一致性
- 求解快照区分当前、陈旧和未来版本,陈旧快照保持独立可查看
- 增加文件哈希、UUID、路径、枚举、数值和二进制边界校验
- 使用候选数据管理器加载成果,失败时保持当前窗口状态不变
- 数值项目格式升级至 v5,快照格式升级至 v3,不兼容旧成果
2 days ago
lh 2be80141cd feat(nmNum): 支持包含井配置压力记录与分相产量
- 在包含井对话框中增加井别、压力、分相产量和流动段选择
- 使用 Gauge Code 关联并保存各井压力流量记录
- 支持独立启用油、气、水相产量并同步求解输入
- 完善记录切换、结果失效、中文翻译及界面提示
4 days ago
lh 8356fe0b8f feat(nmNum): 支持多记录选择与多相流量求解
- 支持每口井多条压力和流量记录的读取、选择及持久化
- 按 GaugeDataEx2 的 N×4 格式读取油气水多相流量
- 将公共段时长及 qo/qg/qw 原样传入 PEBI 求解器
- 修正包含井多相产量状态与流量记录识别
- 增加压力流量数据诊断信息
- 解耦独立建网与流量、PVT 等求解输入
4 days ago
lh 39733d2e71 fix(numerical): 修正包含井流量相别与流动段索引
- 根据井别读取并写入对应的 qo、qg、qw 流量
- 统一流动段一基索引及可选零点占位处理
- 在求解输入和结果快照中保存并校验井别
- 升级数值项目及结果快照格式版本
- 在编辑井和包含井界面展示正确井别与流量列
1 week ago
lh 3cf01e046b refactor(nmNum): 清理PEBI旧结果状态并统一使用结果快照
- 删除 AnalysisCase 中旧结果状态和结果井字段
- 删除 Manager 中旧结果网格、压力帧及井位置载荷
- 求解任务统一提交完整结果快照
- 井结果 getter 改为仅从快照弱引用读取
- 增加快照提交内存异常保护
1 week ago
lh 3bf169cd54 feat(numerical): 完成 PEBI 结果界面快照化
- 结果井、曲线、三维场图及参数页统一读取结果快照
- 支持已删除井继续显示历史结果
- 排除无产量井的结果下拉项并修正空曲线校验
- 使用受控 VTK 适配器降低动画和导出内存开销
1 week ago
lh acb39fe350 feat(numerical): 实现 PEBI 结果快照原子提交
- 在工作线程构建并校验完整结果快照候选
- 在主线程按输入版本、井 UUID 和槽位顺序一次发布
- 失败、取消、结果过期或内存不足时保留旧快照
- 通过弱引用兼容 nmDataWellBase 现有结果 getter
- 转移井曲线容器并隔离旧 UI 结果网格,降低复制和污染风险
- 保持自动拟合逻辑不变
1 week ago
lh 5427b97308 fix(numerical): 完善求解结果状态与窗口提示
- 区分求解失败与输入变化导致的结果丢弃
- 根据结果窗口实际创建状态显示完成或失败提示
- 延迟首次结果页面填充及最终提示,避免 Qt 4.8 布局重入
- 补充相关中文翻译并更新 qm 文件
2 weeks ago
lh 69895a6717 perf(numerical): 降低复用网格求解的内存峰值
- 复用缓存网格时直接将 DLL 输出复制到任务结果,移除中间局部副本
- 将 DLL 网格输出峰值由三套降低为两套
- 直接使用 GRID 构造模型输入,避免临时模型输入产生的完整网格复制
2 weeks ago
lh cc7300668e feat(numerical): 优化网格生成与模型求解流程,增加进度与停止处理
- 拆分求解输入准备、网格生成和模型求解流程,减少界面阻塞
- 增加计算进度提示和协作式停止处理
- 完善输入快照隔离、结果提交校验及窗口关闭时的任务清理
- 保持网格与求解 DLL 的串行互斥保护
- 优化后处理结果刷新并更新中文翻译
2 weeks ago
lh d8af516478 Merge branch 'feature/refactor-numerical-model-panel-20260824' into develop 2 weeks ago
lvjunjie c210cd7b39 1.流量为空时,流量段数量设为 0,不会出现 -1 被转换成巨大数组长度的问题。
2.计算误差时跳过目标曲线第一个点,修复公共时间轴端点的浮点误差
3 weeks ago
lh 8b7f63f063 fix(nmNum): 修复求解完成后PEBI网格数量显示为0
- 网格划分完成后、卸载DLL前保存getPEBInum返回值
- 求解完成弹框同时显示PEBI网格数量和求解耗时
- 更新中文翻译资源
3 weeks ago
lvjunjie 0afcfaa6ca Merge branch 'feature/Auotfit-20260817' into develop 3 weeks ago
lvjunjie a551c3e283 1.生成不同算例的压力流量数据 2.压裂井的裂缝宽度从界面读取 3.油水两相导入流量传给qo,qg和qw使用等长零数组(临时) 3 weeks ago
lh d0ab4cd518 feat(nmNum): 集成PEBI CPU加速求解器配置
- 新增求解器库、OpenMP线程数和ILU复用步数设置
- 支持求解器配置的工程保存与恢复
- 计算前将加速参数传递给PEBI求解器DLL
- 记录PEBI网格数量并在计算完成后显示求解耗时
- 更新CPU加速运行库和中文翻译资源
3 weeks ago
lh 7204c54b07 Merge branch 'feature/ReservoirPropertiesDlg-Refactoring-20260813' into develop
# Conflicts:
#	Bin/Config/Common/ModelParaDefinesNM_cn.dat   resolved by feature/ReservoirPropertiesDlg-Refactoring-20260813 version
#	Bin/Config/Common/ModelParaDefinesNM_en.dat   resolved by feature/ReservoirPropertiesDlg-Refactoring-20260813 version
#	Bin/Config/Common/UnitDefault_cn.dat   resolved by feature/ReservoirPropertiesDlg-Refactoring-20260813 version
#	Bin/Config/Lang/cn/nmNum_cn.qm   resolved by develop version
#	Bin/XmlFiles/ModelParaDefinesNM_cn.xml
#	Bin/XmlFiles/ModelParaDefinesNM_en.xml
#	Src/nmNum/nmData/nmDataAutomaticFitting.cpp
#	Src/nmNum/nmSubWxs/nmWxAutomaticFitting.cpp
4 weeks ago
lvjunjie 1d5c0bfdb6 Merge branch 'feature/MultiWellAutoFit-20260805' into develop
# Conflicts:
#	Bin/Config/Lang/cn/nmNum_cn.qm   resolved by feature/MultiWellAutoFit-20260805 version
4 weeks ago
lh 8eebf98ba2 refactor(nmNum): 统一渗透率基准单位为 mD
- 统一储层、诊断、自动拟合及属性插值的渗透率单位
- 调整渗透率默认值、拟合范围和参数配置
- 在 PEBI 求解器入口将 mD 转换为 D
- 移除储层参数面板对 D/d 单位歧义的特殊处理
4 weeks ago
lvjunjie d58d083981 接入网格属性插值求解流程 1 month ago
lvjunjie eb6ef39007 优化多井自动拟合求解流程 1 month ago
lvjunjie c64dc6ce88 结果拟压力转换 2 months ago
lh aa1c498180 refactor: fillPvtInputByModel压力横坐标读取移入各分支,ConstPvt不依赖pPvt
1. 移除顶部公共压力读取,各VariablePvt分支内部自行读取pPvt->getPressure()
2. ConstPvt分支完全不碰pPvt参数,职责更清晰
3 months ago
lh a94bc0ac70 fix: ConstPvt模型补充压力横坐标占位数组,修复数组长度不匹配问题 3 months ago
lh e81c9e0b41 refactor: 重构PVT初始化逻辑,按相态获取参数并简化代码结构
1. nmDataReservoir新增Gas/Water独立字段(Bg/Miug/Bw/Miuw),消除复用Bo/Miuo的语义混淆
2. nmDataReservoir成员变量按相态分组排列(油/气/水),构造/拷贝/序列化/getter-setter顺序同步
3. 重构initPvtParaFromSubFit:提取tryFetchPhasePvtCurves辅助函数,234行→~80行
4. 重构createReservoir:拆分为readPvtSingleValues/populateReservoirByPhase/createDefaultLayer,206行→~50行
5. solver task新增fillPvtInputByModel,ConstPvt从reservoir单值扩展为200元素数组
6. Ct/Cf统一获取,不再按ConstPvt/VariablePvt互斥
7. 移除油水两相多余的PVT.Sw传递,与PEBI示例对齐
3 months ago
lvjunjie 6f3246690e 1.调整求解前计算网格的逻辑,避免部分变量为空 2.获取参数时,如果有一个获取不到就都用默认参数 3 months ago
lvjunjie e9cc8313a7 修改求解器参数获取 3 months ago
lh 34209bc128 feat:初始化仓库代码 4 months ago