Commit Graph

61 Commits (768632b54666ab7b62f635d14816d19a7700e00a)

Author SHA1 Message Date
lh fa459f6ba7 fix(nmNum): 区分流量记录身份与计算可用性
- 主井工作多相数据仅覆盖唯一且身份有效的 Gauge 记录
- 防止重复 Gauge Code 被重新标记为可用
- 包含井保留合法全零流量记录的 Code 和流动段索引
- 无非零产量的分相仍归一为关闭且不显示在下拉框中
- 仅在原 Flow Code 无效时自动回退其他记录
- 按当前已启用的非零产量相判断井是否可参与计算
1 day ago
lh add2ec7b5f fix(nmNum): 收紧成果压力 Gauge 选择校验
- 非空压力 Gauge Code 必须唯一命中可参与历史计算的记录
- 拒绝仅包含一个压力点的选中压力记录
- 保持流量记录按井角色校验的现有规则
1 day ago
lh 3e87db437e fix(nmNum): 修正重复 Gauge Code 身份校验
- 分别统计压力和流量记录中的 Gauge Code
- 将空 Code 和同井全部重复 Code 记录标记为身份无效
- 避免重复记录被默认选中后导致数值成果保存失败
1 day ago
lh 5d3012abb7 fix(nmNum): 修正主井多相工作数据生效条件
- 根据 Flow Gauge Code 和四向量矩阵结构决定工作数据是否生效
- 移除对流动段多相标志的额外依赖
- 精简数据上下文 Provider 和 Controller 的多相数据接口
1 day ago
lh ce10b43327 fix(nmNum): 统一压力流量记录默认选择规则
- 区分 Gauge 数据解析状态与参与计算条件
- 压力记录要求至少两个点,流量记录要求至少一相存在非零产量
- 统一首次默认选择、Preferred Code 恢复及包含井筛选规则
- 复用井级非零产量判断,清理重复的局部实现
- 保留全部可解析记录用于预览,并完善 Usable 状态注释
2 days ago
lh 29b1840fde feat(nmNum): 数值成果保存完整压力流量副本
- 按井 UUID 保存全部压力和流量 Gauge 记录及记录级流动段索引
- 成果加载只恢复保存副本,不再访问框架或自动回退 Gauge Code
- 严格恢复选中记录、分相开关和井级流动段索引
- 为规范化 Gauge 输入生成固定格式 SHA-1 签名
- 将历史曲线与 Gauge 输入签名原子更新并校验一致性
- 求解快照区分当前、陈旧和未来版本,陈旧快照保持独立可查看
- 增加文件哈希、UUID、路径、枚举、数值和二进制边界校验
- 使用候选数据管理器加载成果,失败时保持当前窗口状态不变
- 数值项目格式升级至 v5,快照格式升级至 v3,不兼容旧成果
2 days ago
lh 34d745ff60 fix(nmNum): 修正流量数据读取并优化包含井表格
- 按 GaugeDataEx2 实际内容判断单相与多相流量
- 将多相数据中的空相按零流量处理
- 优化包含井表格样式、序号和自适应尺寸
- 隐藏不可用的压力流量下拉项
- 更新中文翻译文件
3 days ago
lh 2be80141cd feat(nmNum): 支持包含井配置压力记录与分相产量
- 在包含井对话框中增加井别、压力、分相产量和流动段选择
- 使用 Gauge Code 关联并保存各井压力流量记录
- 支持独立启用油、气、水相产量并同步求解输入
- 完善记录切换、结果失效、中文翻译及界面提示
3 days ago
lh 8356fe0b8f feat(nmNum): 支持多记录选择与多相流量求解
- 支持每口井多条压力和流量记录的读取、选择及持久化
- 按 GaugeDataEx2 的 N×4 格式读取油气水多相流量
- 将公共段时长及 qo/qg/qw 原样传入 PEBI 求解器
- 修正包含井多相产量状态与流量记录识别
- 增加压力流量数据诊断信息
- 解耦独立建网与流量、PVT 等求解输入
3 days ago
lh 882592dd40 feat(nmSubWxs): 井编辑页新增压力/流量记录选择与显示相下拉
- nmWellPressureFlowPage 新增压力记录、流量记录、显示相三个下拉框,
  支持按 Gauge Code 选择记录,多相流量记录整体选中(不可分相切换)
- 显示相下拉为纯展示状态,仅影响预览曲线,不改变记录内容、井别、
  m_nIndexF 或求解器输入
- 流量记录切换后自动恢复/校验该记录自身的流动段索引,并写回
  井级 m_nIndexF (nmDataWellBase::switchSelectedFlowGaugeCode)
- 修复 nmWellEditorSession::copySharedWellData 在井型切换时把
  记录列表压缩为单条匿名记录的问题,改为整体拷贝记录列表与
  选中状态
6 days ago
lh def8b945ba feat(numerical): 支持多记录压力/流量数据读取与三相流量拆分
- 枚举工程井下全部压力、流量测量记录,不再只取第一条
- 新增 NM_GAUGE_RECORD_STATUS 记录可用状态:Usable/Empty/Corrupt/InvalidIdentity
- 新增 nmPressureGaugeRecord/nmFlowGaugeRecord 记录结构,压力/流量、单相/多相字节块统一解析判定
- 单条记录损坏或为空不再阻止建井,仅工程井对象为空或井别无效时才放弃
- nmDataWellBase 改为存储记录列表 + 选中 Gauge Code,getPressurePoints/getFlowPoints 等既有接口委托到当前选中记录
- 井型切换、绘图侧重新勾选井等历史数据拷贝逻辑同步适配三相流量分别读写
6 days ago
lh 2d5b56fe21 feat(numerical): 按井位置初始化边界并适配 Map 坐标轴
- 根据全部有效数值井的包围盒创建默认矩形边界
- 默认边界在井位置四周各保留 1500 米范围
- Map 首次打开时根据可见内容和绘图区比例适配坐标轴
- 首次适配后保留用户调整的坐标轴范围,不再自动刷新
- 修正 Map 初始化和分析切换时的数据管理器绑定
- 完整重建 Map 图元,避免不同数值分析之间残留绘图对象
7 days ago
lh 39733d2e71 fix(numerical): 修正包含井流量相别与流动段索引
- 根据井别读取并写入对应的 qo、qg、qw 流量
- 统一流动段一基索引及可选零点占位处理
- 在求解输入和结果快照中保存并校验井别
- 升级数值项目及结果快照格式版本
- 在编辑井和包含井界面展示正确井别与流量列
1 week ago
lh 6eeb77a962 fix: 将 nmDebug.log 移至系统临时目录 1 week ago
lh d7ad840956 fix(nmNum): 修复成果加载后自动拟合结果绑定丢失 1 week ago
lh 42298f70eb fix(nmNum): 禁止删除固定主分析井
- 固定创建数值分析时绑定的主井编码
- 在数据层和 Map 删除入口阻止主井删除
- 仅在井数据删除成功后解除图元绑定
- 允许删除非主井的当前查看井
1 week ago
lh 3cf01e046b refactor(nmNum): 清理PEBI旧结果状态并统一使用结果快照
- 删除 AnalysisCase 中旧结果状态和结果井字段
- 删除 Manager 中旧结果网格、压力帧及井位置载荷
- 求解任务统一提交完整结果快照
- 井结果 getter 改为仅从快照弱引用读取
- 增加快照提交内存异常保护
1 week ago
lh 50c2ab93f4 fix(nmNum): 完善v3成果保存加载及无Map恢复
- 接入跨窗口数值成果保存会话和代次发布
- 使用候选Manager加载,失败时保留原分析数据
- 完整恢复井UUID、数值面板、网格及结果窗口
- 支持未打开Map和网格时保存数值成果
- 修复成果加载后延迟打开Map时边界图元不可见
- 补充v3持久化回归测试
1 week ago
lh e0577d1649 feat(numerical): 实现 PEBI 结果快照 v3 持久化
- 增加快照网格、压力帧和井曲线的流式序列化
- 增加三级 SHA-1 引用链及载荷安全校验
- 增加显式保存会话和 Windows 根清单原子发布
- 数值成果保存与加载切换至 v3,并明确拒绝 v2
- 增加 v3 持久化回归测试
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 0086e07d88 feat(numerical): 建立 PEBI 结果快照数据模型与渲染基线
- 为井对象增加稳定 UUID,并校验井型替换时的身份一致性
- 新增结果快照、Builder 及完整性校验
- 增加 Manager 快照发布、查询和清理接口
- 新增受控 VTK 共享与复制渲染适配器
- 补充 PVT 结构校验及快照模型测试
1 week ago
lh 82d2ace443 fix(numerical): 修复无流量观察井出现在成果下拉框
- 求解完成时冻结成果可选井列表
- 保存并恢复成果可选井编码,保证重载后下拉框一致
- 保留观察井内部计算结果,仅从成果井选择界面过滤
2 weeks ago
lh cdc18b59b9 fix(numerical): 保留参数或网格变化后的求解结果
- 分离结果存在状态与当前输入匹配状态
- 独立持久化最后一次结果的井顺序和结果文件
- 兼容旧成果并按结果井顺序恢复结果界面
2 weeks ago
lh 98a63a9ee3 feat(numerical):避免建网未完成时求解重复生成网格
- 增加 DataManager 建网状态和版本跟踪
- 求解前等待当前网格完成主线程提交
- 支持等待建网期间立即停止求解
- 完善连续刷新、失败及窗口关闭时的状态清理
- 更新求解等待提示的中文翻译
2 weeks ago
lh d8af516478 Merge branch 'feature/refactor-numerical-model-panel-20260824' into develop 2 weeks ago
lh 2cd87a57cc fix: 修复时间变表皮对齐流量变化配置无法回读
统一 IsSnapToRateChanges 的序列化与反序列化字段名,
确保工程重新加载后能够正确恢复配置。
2 weeks ago
lh b4321842f2 refactor(nmNum): 重构编辑井并统一参数字段体系
- 新增 nmWxWellEditor 会话式编辑井窗口
- 引入 nmWellEditorSession,按井型维护独立工作副本
- 新增参数目录和动态参数面板,按井型生成分组界面
- 抽取 nmParameterField 和 nmIParameterUnitService 通用字段单位层
- 将井名和井型整合到基础参数分组并统一列布局
- 统一编辑井与储层参数的单位绑定、范围校验和显示样式
- 完整校验全部射孔范围、顺序和重叠关系
- 使用射孔快照原子提交井长、井底 MD 和射孔修改
- 隔离垂直井族与多段压裂水平井的射孔缓存
- 保证多段压裂水平井至少保留一段基准射孔
- 增加井数据集中替换入口并同步当前井、计算井和属性注册表
- 优化轨迹视图连接、刷新入口、工具提示和空射孔保护
- 更新中英文参数定义、翻译资源和 Qt 4 工程文件
- 保留旧编辑井窗口及原有数据和求解器兼容逻辑
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
3 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
3 weeks ago
lh 8eebf98ba2 refactor(nmNum): 统一渗透率基准单位为 mD
- 统一储层、诊断、自动拟合及属性插值的渗透率单位
- 调整渗透率默认值、拟合范围和参数配置
- 在 PEBI 求解器入口将 mD 转换为 D
- 移除储层参数面板对 D/d 单位歧义的特殊处理
4 weeks ago
lvjunjie e73b5ab453 1.增加压裂井裂缝半长拟合参数 2.参数物理边界统一用框架中的 4 weeks ago
lvjunjie e8563506b9 增加压裂井导流能力 Dfc 自动拟合参数 4 weeks ago
lh efc590edc6 feat(nmNum): 重构储层参数设置对话框
- 新增模块化参数页面、字段目录和编辑会话
- 通过数据源注入实现工作副本及统一提交
- 支持单位换算、参数校验和分类联动
- 无对应对象时禁用分类按钮
- 统一渗透率基准单位为 D
4 weeks ago
lvjunjie 5539150b5b 1.自动拟合参数范围设置与校验 2.移除GA相关代码 1 month ago
lvjunjie da033b5a82 扩展网格属性插值数据配置 1 month ago
lvjunjie 0e091ff593 完善网格属性插值测点管理功能
- 支持多数据组创建、删除及插值参数保存读取
- 支持地图选点、测点标记和当前数据组显隐管理
1 month ago
lvjunjie 0a1350b188 统一渗透率和井筒储集系数单位
- 将渗透率显示单位统一为 mD
- 将井筒储集系数单位统一为 m^3/MPa
- 更新中英文参数配置及加密数据文件
1 month ago
lvjunjie 34a82fe087 Merge branch 'feature/nm-para-property-20260615' into develop
# Conflicts:
#	3rd/Pebi/include/pch.h
#	Bin/Config/Common/MenuDefines_Ribbon_cn.dat   resolved by feature/nm-para-property-20260615 version
#	Bin/Config/Common/ModelParaDefinesNM_cn.dat   resolved by feature/nm-para-property-20260615 version
#	Bin/Config/Common/ModelParaDefinesNM_en.dat   resolved by feature/nm-para-property-20260615 version
#	Src/nmNum/nmData/nmDataAnalyzeManager.cpp
#	Src/nmNum/nmPlot/nmGuiPlot.cpp
#	Src/nmNum/nmPlot/nmObjPointWell.cpp
1 month ago
lvjunjie 705e2f11f8 Merge branch 'feature/Model-20260625' into develop
# Conflicts:
#	3rd/Pebi/include/pch.h
1 month ago
lvjunjie baa38e99e3 调整自动拟合参数并移除初始压力 1 month ago
lvjunjie bfbcfd2f3b 支持气井数据集拟压力转换
- 接入当前气井的压力与拟压力转换表
- 仅在T5场景和数据集中保存转换表
- Runner将气井求解压力转换为拟压力后生成曲线
- 增加转换表完整性和单调性检查
1 month ago
lh 4deee62207 fix(nmNum): 修复数值面板初始化和多段压裂水平井适配
- 补充数值面板初始化失败提示和空数据保护
- 统一使用 HorizontalMultiFracturedWell 井型
- 防止求解结果为空时发生越界
- 优化 Release 下左侧面板高度分配
- 同步中文翻译
2 months ago
lvjunjie 00d5cfdca1 移除15代之后误差小于目标两倍就停止的逻辑 2 months ago
lvjunjie 09d7f1b9d9 调整综合压缩系数范围 2 months ago
lvjunjie 11833dc5a1 调整生成数据集以及参数标准化 2 months ago
lvjunjie 955b2e19fe 删除自动拟合不需要的参数 2 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 c6d08b13cf 根据PVT参数获取情况调整Base参数的获取 3 months ago