Compare commits

..

No commits in common. 'develop' and 'feature/Sensitivity-20261012' have entirely different histories.

Binary file not shown.

Binary file not shown.

@ -25,17 +25,6 @@ HistorySouceF=1,16,255,0,0,0,1,0,0,255,0,0,0.4,0
SemiSouce=0,14,255,0,0,0,1,1,6,255,0,0,0.4,0
SemiTheorySouce=1,14,0,255,0,0,1,0,0,255,0,0,0.4,0
# ===== 反褶积 =====
Souce_Dv=0,14,192,0,0,0,1,1,6,0,192,0,0.3,1
Deriv_Dv=0,14,192,0,0,0,1,1,3,192,0,0,0.4,0
TheorySouce_Dv=1,14,192,0,0,0.25,1,0,0,192,0,0,0.4,0
TheoryDeriv_Dv=1,14,64,64,64,0.25,1,0,0,192,0,0,0.4,0
SemiSouce_Dv=0,14,192,0,0,0,1,1,6,192,0,0,0.4,0
SemiTheorySouce_Dv=1,14,0,192,0,0,1,0,0,192,0,0,0.4,0
HistorySouce_Dv=0,14,105,105,105,0,1,1,7,192,0,0,0.4,0
HistoryFit_Dv=1,14,0,192,0,0,1,0,0,192,0,0,0.4,0
HistorySouceF_Dv=1,16,192,0,0,0,1,0,0,192,0,0,0.4,0
# ===== IPR曲线组 =====
IprSource=0,15,255,0,0,0,1,1,3,255,0,0,0.4,0
IprFit=1,14,0,255,0,0,1,0,3,255,0,0,0.4,0
@ -52,4 +41,4 @@ WdtResultEx=0,14,0,0,255,0,1,1,5,0,0,255,0.8,1
# ===== 其他曲线 =====
Ppd=0,14,255,0,255,0,1,1,3,255,0,255,0.4,0
TheoryPpd=1,14,255,0,255,0,1,0,0,255,0,0,0.4,0
s_Ppd_Curve=1,14,255,0,255,0,1,0,0,255,0,0,0.4,0

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1,31 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<mapping>
<!-- 每条 item = 一条基准参数 → 数据库字段 的映射 -->
<item table="B_WELL" field="FieldName" index="2" group="井基础信息" name="FieldName" alias="油田名称" unit=""/>
<item table="B_WELL" field="BlockName" index="4" group="井基础信息" name="BlockName" alias="区块名称" unit=""/>
<item table="B_WELL" field="WellName" index="6" group="井基础信息" name="WellName" alias="井名" unit=""/>
<item table="B_WELL" field="WellCode" index="5" group="井基础信息" name="WellCode" alias="井号" unit=""/>
<item table="B_WELL" field="WellClass" index="7" group="井基础信息" name="WellClass" alias="井别" unit=""/>
<item table="B_WELL" field="WellType" index="8" group="井基础信息" name="WellType" alias="井型" unit=""/>
<item table="B_WELL" field="WellRadius" index="9" group="井基础信息" name="rw" alias="井径" unit="m"/>
<item table="P_DATA_RES" field="FormationPress" index="9" group="基础参数" name="Pe" alias="原始地层压力" unit="MPa"/>
<item table="P_DATA_RES" field="EffThickness" fieldAlias="储层有效厚度" index="4" group="储层参数" name="h" alias="储层厚度" unit="m"/>
<item table="P_DATA_RES" field="Por" index="7" group="储层参数" name="Phi" alias="孔隙度" unit=""/>
<item table="P_DATA_RES" field="K" index="8" group="储层参数" name="K" alias="渗透率" unit="mD"/>
<item table="P_DATA_FLUID" field="OilCF" fieldAlias="地层原油压缩系数" index="4" group="流体性质" name="Co" alias="油压缩系数" unit="1/MPa"/>
<item table="P_DATA_FLUID" field="OilVF" fieldAlias="地层原油体积系数" index="5" group="流体性质" name="Bo" alias="油体积系数" unit=""/>
<item table="P_DATA_FLUID" field="OilDens" fieldAlias="地层原油密度" index="7" group="流体性质" name="Rhoo" alias="油密度" unit="kg/m^3"/>
<item table="P_DATA_FLUID" field="OilVisc" fieldAlias="地层原油黏度" index="6" group="流体性质" name="Miuo" alias="油相黏度" unit="mPa.s"/>
<item table="P_DATA_FLUID" field="GasDens" fieldAlias="地层天然气密度" index="11" group="流体性质" name="Rhog" alias="气体密度" unit="kg/m^3"/>
<item table="P_DATA_FLUID" field="GasVisc" fieldAlias="地层天然气黏度" index="9" group="流体性质" name="Miug" alias="气黏度" unit="mPa.s"/>
<item table="P_DATA_FLUID" field="GasVF" fieldAlias="地层天然气体积系数" index="10" group="流体性质" name="Bg" alias="气体积系数" unit=""/>
<item table="P_DATA_FLUID" field="WaterCF" fieldAlias="地层水压缩系数" index="12" group="流体性质" name="Cw" alias="水压缩系数" unit="1/MPa"/>
<item table="P_DATA_FLUID" field="WaterVF" fieldAlias="地层水体积系数" index="13" group="流体性质" name="Bw" alias="水体积系数" unit=""/>
<item table="P_DATA_FLUID" field="WaterDens" fieldAlias="地层水密度" index="15" group="流体性质" name="Rhow" alias="水密度" unit="kg/m^3"/>
<item table="P_DATA_FLUID" field="WaterVisc" fieldAlias="地层水黏度" index="14" group="流体性质" name="Miuw" alias="水相黏度" unit="mPa.s"/>
<item table="P_DATA_FLUID" field="GOR" fieldAlias="溶解气油比" index="3" group="流体性质" name="Rs" alias="气油比" unit="m^3/m^3"/>
<item table="P_DATA_RES" field="TotalCF" fieldAlias="综合压缩系数" index="11" group="流体性质" name="Ct" alias="综合压缩系数" unit="1/MPa"/>
</mapping>

@ -1,78 +0,0 @@
#dat文本格式数据
基础参数——
井径[rw](m):
原始地层压力[Pe](MPa):
参考压力[Pref](MPa):
初始压力[Pi](MPa):
地层压力[Pit](MPa):
复合半径[Ri](m):
储层参数——
井筒储集系数[C](m^3/MPa):
初末井筒储集系数比[CidRatio]:
储层厚度[h](m):
孔隙度[phi]:
内区孔隙度[phi1]:
外区孔隙度[phi2]:
渗透率[K](mD):
油相渗透率[Ko](mD):
气相渗透率[Kg](mD):
水相渗透率[Kw](mD):
水平渗透率[Kh](mD):
垂向渗透率[Kv](mD):
表皮系数[S]:
总表皮系数[St]:
界面表皮[Sinf]:
特殊储层参数——
导压系数比[sigma]:
弹性储容比[D]:
裂缝弹性储容比[omegaf]:
窜流系数[lambda]:
流度[MKu](mD/(mPa.s)):
流度比[M]:
应力敏感系数[gamma](1/MPa):
参考温度[rt](°C):
流体性质——
综合压缩系数[Ct](1/MPa):
岩石压缩系数[Cf](1/MPa):
含水率[Fw](%):
油压缩系数[Co](1/Mpa):
油体积系数[Bo]:
油密度[Rhoo](kg/m^3):
油相黏度[Miuo](mPa.s):
气体偏差因子[Zg]:
气体压缩系数[Cg](1/Mpa):
气体密度[Rhog](kg/m^3):
气相黏度[Miug](mPa.s):
气体积系数[Bg]:
水压缩系数[Cw](1/Mpa):
水体积系数[Bw]:
水密度[Rhow](kg/m^3):
水相黏度[Miuw](mPa.s):
气油比[Rs](m^3/m^3):
气水比[Rsw](m^3/m^3):
边界
边界距离1[x1](m):
边界距离2[x2](m):
边界距离3[x3](m):
边界距离4[x4](m):
其他参数
裂缝长度[Lf](m):
裂缝半长[xf](m):
裂缝倾角[theta_f](°):
裂缝宽度[wf](m):
裂缝导流能力[Fc](mD.m):

@ -5913,7 +5913,7 @@ Converted xmlfile successfully.
<message>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/tCurvePlotView.cpp" line="455"/>
<source> Current Pos:%1-%2</source>
<translation>当前位置:%1-%2</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

@ -3245,9 +3245,6 @@ No valid error was returned; keep the last accepted result and reduce the step.<
<message><source>Logarithmic scale requires positive property and display ranges.</source><translation>对数色标要求属性范围和显示范围均为正值。</translation></message>
<message><source>Unable to construct the color mapping.</source><translation>无法构造颜色映射。</translation></message>
<message><source>Unable to apply the color settings.</source><translation>无法应用颜色设置。</translation></message>
<message><source>The filter settings no longer match the current result.</source><translation>筛选设置已不再对应当前结果。</translation></message>
<message><source>The filter settings are invalid.</source><translation>筛选设置无效。</translation></message>
<message><source>Unable to apply the filter settings.</source><translation>无法应用筛选设置。</translation></message>
<message><source>Below min</source><translation>低于最小值</translation></message>
<message><source>Above max</source><translation>高于最大值</translation></message>
</context>
@ -3263,7 +3260,7 @@ No valid error was returned; keep the last accepted result and reduce the step.<
<message><source>Result playback is unavailable.</source><translation>结果回放不可用。</translation></message>
<message><source>The selected result property is unavailable.</source><translation>所选结果属性不可用。</translation></message>
<message><source>The selected result frame is unavailable.</source><translation>所选结果帧不可用。</translation></message>
<message><source>Playback speed must be between %1 and %2 steps/second.</source><translation>播放速度必须为 %1 至 %2 步/秒。</translation></message>
<message><source>Playback speed must be a positive integer.</source><translation>播放速度必须为正整数。</translation></message>
</context>
<context>
<name>nmFFmpegVideoWriter</name>
@ -3349,12 +3346,6 @@ No valid error was returned; keep the last accepted result and reduce the step.<
</context>
<context>
<name>nmWxPebiResultControlBar</name>
<message><source>Solid Color</source><translation>纯色</translation></message>
<message><source>Display</source><translation>显示</translation></message>
<message><source>Point</source><translation>点</translation></message>
<message><source>Wireframe</source><translation>线框</translation></message>
<message><source>Surface</source><translation>表面</translation></message>
<message><source>Contour</source><translation>轮廓</translation></message>
<message><source>Property</source><translation>属性</translation></message>
<message><source>Display property</source><translation>显示属性</translation></message>
<message><source>Color settings</source><translation>颜色设置</translation></message>
@ -3394,9 +3385,6 @@ No valid error was returned; keep the last accepted result and reduce the step.<
<message><source>Unable to convert the range to the selected unit.</source><translation>无法将范围换算为所选单位。</translation></message>
<message><source>Minimum must be less than maximum.</source><translation>最小值必须小于最大值。</translation></message>
<message><source>Unable to read the committed color settings.</source><translation>无法读取已提交的颜色设置。</translation></message>
<message><source>Apply</source><translation>应用</translation></message>
<message><source>OK</source><translation>确定</translation></message>
<message><source>Cancel</source><translation>取消</translation></message>
</context>
<context>
<name>nmWxPebiResultAnimationSettingsDlg</name>
@ -3404,53 +3392,12 @@ No valid error was returned; keep the last accepted result and reduce the step.<
<message><source>Loop enabled</source><translation>启用循环</translation></message>
<message><source>Speed (steps/second)</source><translation>速度(步/秒)</translation></message>
</context>
<context>
<name>nmWxPebiResultFilterSettingsDlg</name>
<message><source>Filtering settings</source><translation>筛选设置</translation></message>
<message><source>Enable filtering</source><translation>启用筛选</translation></message>
<message><source>Filter on</source><translation>筛选属性</translation></message>
<message><source>Above min (&gt;=)</source><translation>下限 (&gt;=)</translation></message>
<message><source>Below max (&lt;=)</source><translation>上限 (&lt;=)</translation></message>
<message><source>Apply</source><translation>应用</translation></message>
<message><source>OK</source><translation>确定</translation></message>
<message><source>Cancel</source><translation>取消</translation></message>
<message><source>Unable to read the current result filter settings.</source><translation>无法读取当前结果筛选设置。</translation></message>
<message><source>A filter property must be selected.</source><translation>必须选择筛选属性。</translation></message>
<message><source>Filter limits must be finite numbers.</source><translation>筛选上下限必须是有限数。</translation></message>
<message><source>Unable to convert the filter limits to the selected unit.</source><translation>无法将筛选上下限换算为所选单位。</translation></message>
<message><source>The minimum filter limit cannot exceed the maximum.</source><translation>筛选下限不能大于上限。</translation></message>
<message><source>Filtering is unavailable during playback or export.</source><translation>播放或导出期间无法设置筛选。</translation></message>
<message><source>Unable to apply the filter settings.</source><translation>无法应用筛选设置。</translation></message>
</context>
<context>
<name>nmWxPebiResultViewWidget</name>
<message><source>No result data.</source><translation>暂无结果数据。</translation></message>
<message><source>Color Scale</source><translation>色标</translation></message>
<message><source>Scale Grid</source><translation>比例网格</translation></message>
<message><source>Well Names</source><translation>井名</translation></message>
<message><source>Data Filtering...</source><translation>数据筛选...</translation></message>
<message><source>Region Average Pressure</source><translation>区域平均压力</translation></message>
<message><source>Statistics</source><translation>统计结果</translation></message>
<message><source>Cancel Region Drawing</source><translation>取消区域绘制</translation></message>
<message><source>Switch to Top View or Isometric View before drawing a pressure region.</source><translation>请切换到顶视图或等轴视图后再绘制压力统计区域。</translation></message>
<message><source>Unable to start region pressure drawing.</source><translation>无法开始绘制压力统计区域。</translation></message>
<message><source>Draw a non-degenerate region with at least three points.</source><translation>请绘制一个至少包含三个点且非退化的区域。</translation></message>
<message><source>The displayed result changed while the region was drawn.</source><translation>绘制区域期间,当前显示结果已发生变化。</translation></message>
<message><source>Unable to prepare the selected pressure region.</source><translation>无法准备所选压力统计区域。</translation></message>
<message><source>Unable to calculate region pressure statistics.</source><translation>无法计算区域压力统计。</translation></message>
<message><source>Unable to preserve the selected pressure region.</source><translation>无法保留所选压力统计区域。</translation></message>
<message><source>Region average pressure</source><translation>区域平均压力</translation></message>
<message><source>Weighted by cell area, thickness and porosity.</source><translation>按单元面积、厚度和孔隙度加权。</translation></message>
<message><source>Minimum pressure</source><translation>压力下限</translation></message>
<message><source>Maximum pressure</source><translation>压力上限</translation></message>
<message><source>Pressure time</source><translation>压力时间</translation></message>
<message><source>Selected cells</source><translation>选中单元</translation></message>
<message><source>MPa</source><translation>MPa</translation></message>
<message><source>Unable to calculate region average pressure.</source><translation>无法计算区域平均压力。</translation></message>
<message><source>No cells intersect the selected region.</source><translation>所选区域内没有相交单元。</translation></message>
<message><source>No valid cells are available for region average pressure.</source><translation>所选区域内没有可用于计算平均压力的有效单元。</translation></message>
<message><source>%1 selected cells were excluded because their data is invalid.</source><translation>有 %1 个选中单元因数据无效未参与统计。</translation></message>
<message><source>Close</source><translation>关闭</translation></message>
<message><source>Unable to display the latest result.</source><translation>无法显示最新结果。</translation></message>
<message><source>Unable to display the latest result: %1</source><translation>无法显示最新结果:%1</translation></message>
<message><source>Current inputs have changed. Showing the last successful result.</source><translation>当前输入已修改,正在显示上一次成功求解的结果。</translation></message>
@ -3465,66 +3412,9 @@ No valid error was returned; keep the last accepted result and reduce the step.<
%1</source><translation>结果动画已保存到:
%1</translation></message>
<message><source>Unable to export the result animation.</source><translation>无法导出结果动画。</translation></message>
<message>
<source>Import 3D Model</source>
<translation>导入三维模型</translation>
</message>
<message>
<source>Import 3D Model...</source>
<translation>导入三维模型…</translation>
</message>
<message>
<source>Loading 3D model...</source>
<translation>正在加载三维模型…</translation>
</message>
<message>
<source>Replace 3D Model...</source>
<translation>更换三维模型…</translation>
</message>
<message>
<source>Return to Calculation Result</source>
<translation>返回计算结果</translation>
</message>
<message>
<source>Slice</source>
<translation>切片</translation>
</message>
<message>
<source>Unable to display the 3D model.</source>
<translation>无法显示三维模型。</translation>
</message>
<message>
<source>Unable to return to the latest calculation result: %1</source>
<translation>无法返回最新计算结果:%1</translation>
</message>
<message>
<source>VTK Volume Mesh (*.vtk *.vtu)</source>
<translation>VTK 三维体网格 (*.vtk *.vtu)</translation>
</message>
<message>
<source>Show Slice</source>
<translation>显示切片</translation>
</message>
<message>
<source>Slice Settings...</source>
<translation>切片设置…</translation>
</message>
<message>
<source>The slice plane does not intersect the model.</source>
<translation>切片平面与模型无交集。</translation>
</message>
<message>
<source>Unable to display the slice.</source>
<translation>无法显示截面。</translation>
</message>
</context>
<context>
<name>nmWxPebiGridViewWidget</name>
<message><source>Display</source><translation>显示</translation></message>
<message><source>Point</source><translation>点</translation></message>
<message><source>Wireframe</source><translation>线框</translation></message>
<message><source>Surface</source><translation>表面</translation></message>
<message><source>Contour</source><translation>轮廓</translation></message>
<message><source>No grid data.</source><translation>暂无网格数据。</translation></message>
<message><source>Scale Grid</source><translation>比例网格</translation></message>
<message><source>The grid preview data is invalid.</source><translation>网格预览数据无效。</translation></message>
@ -5321,20 +5211,16 @@ Supported types: Vertical, Vertical Fractured, and Horizontal Multi-Fractured We
<context>
<name>nmWxChangeAnal</name>
<message>
<source>Switch analysis</source>
<translation>切换分析</translation>
</message>
<message>
<source>Analysis</source>
<translation>分析</translation>
<source>AnalChange</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>OK</source>
<translation>确定</translation>
<translation type="unfinished">确定</translation>
</message>
<message>
<source>Cancel</source>
<translation>取消</translation>
<translation type="unfinished">取消</translation>
</message>
</context>
<context>
@ -5357,7 +5243,7 @@ Supported types: Vertical, Vertical Fractured, and Horizontal Multi-Fractured We
</message>
<message>
<source>N/A</source>
<translation>未知来源</translation>
<translation></translation>
</message>
<message>
<source>Origin</source>
@ -5598,38 +5484,6 @@ Please choose a smaller length.</source>
</context>
<context>
<name>nmWxDFNLoadFromFile</name>
<message>
<source>Paste from clipboard</source>
<translation>从剪贴板粘贴</translation>
</message>
<message>
<source>Clipboard</source>
<translation>剪贴板</translation>
</message>
<message>
<source>Invalid numeric value at data row %1, column %2.</source>
<translation>第 %1 行数据、第 %2 列不是有效数值。</translation>
</message>
<message>
<source>Column</source>
<translation>列</translation>
</message>
<message>
<source>Type</source>
<translation>字段类型</translation>
</message>
<message>
<source>Unit</source>
<translation>单位</translation>
</message>
<message>
<source>Column %1</source>
<translation>第 %1 列</translation>
</message>
<message>
<source>UnDefined</source>
<translation>忽略</translation>
</message>
<message>
<source>Load from file...</source>
<translation>从文件加载…</translation>
@ -5672,11 +5526,11 @@ Please choose a smaller length.</source>
</message>
<message>
<source>Open Text File</source>
<translation>打开文本文件</translation>
<translation>打开Text文件</translation>
</message>
<message>
<source>Text Files (*.txt);;All Files (*)</source>
<translation>文本文件 (*.txt);;所有文件 (*)</translation>
<translation></translation>
</message>
<message>
<source>Error</source>
@ -5688,11 +5542,11 @@ Please choose a smaller length.</source>
</message>
<message>
<source>Open Excel File</source>
<translation>打开 Excel 文件</translation>
<translation>打开Excel文件</translation>
</message>
<message>
<source>Excel Files (*.xls *.xlsx);;All Files (*)</source>
<translation>Excel 文件 (*.xls *.xlsx);;所有文件 (*)</translation>
<translation></translation>
</message>
<message>
<source>Please select an Excel file (.xls or .xlsx)</source>
@ -5729,8 +5583,7 @@ Please choose a smaller length.</source>
<message>
<source>Failed to import Excel :
</source>
<translation>无法导入 Excel 文件:
</translation>
<translation>无法导入Excel文件:</translation>
</message>
</context>
<context>
@ -6093,7 +5946,6 @@ Please check your input coordinates.</source>
<message><source>Isometric View</source><translation>等轴测视图</translation></message>
<message><source>Reset Rotation Center</source><translation>重置旋转中心</translation></message>
<message><source>Set Rotation Center</source><translation>设置旋转中心</translation></message>
<message><source>Show Rotation Center Marker</source><translation>显示旋转中心标记</translation></message>
<message><source>Save as Image</source><translation>保存图片</translation></message>
<message><source>Copy Image</source><translation>复制图片</translation></message>
<message><source>Print</source><translation>打印</translation></message>
@ -6898,59 +6750,59 @@ Please check your input coordinates.</source>
<name>nmWxPerforationClosing</name>
<message>
<source>Perforation closing intervals</source>
<translation>射孔封堵时段</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add</source>
<translation>添加</translation>
<translation type="unfinished">添加</translation>
</message>
<message>
<source>Remove</source>
<translation>移除</translation>
<translation type="unfinished">移除</translation>
</message>
<message>
<source>Show dates</source>
<translation>显示日期</translation>
<translation type="unfinished">显示日期</translation>
</message>
<message>
<source>Time unit:</source>
<translation>时间单位:</translation>
<translation type="unfinished">时间单位:</translation>
</message>
<message>
<source>Perforation</source>
<translation>射孔段</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Perforation #%1</source>
<translation>射孔段 #%1</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation>全部</translation>
<translation type="unfinished">全部</translation>
</message>
<message>
<source>OK</source>
<translation>确定</translation>
<translation type="unfinished">确定</translation>
</message>
<message>
<source>Cancel</source>
<translation>取消</translation>
<translation type="unfinished">取消</translation>
</message>
<message>
<source>Start time</source>
<translation>开始时间</translation>
<translation type="unfinished">开始时间</translation>
</message>
<message>
<source>Perforation state</source>
<translation>射孔状态</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Closed</source>
<translation>关闭</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Open</source>
<translation>开启</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>
@ -7525,22 +7377,6 @@ Average pressure in contour: %2 MPa</source>
</context>
<context>
<name>nmWxSensitive</name>
<message>
<source>Result plots</source>
<translation>结果图</translation>
</message>
<message>
<source>Loglog plot</source>
<translation>双对数图</translation>
</message>
<message>
<source>History plot</source>
<translation>历史曲线</translation>
</message>
<message>
<source>Histogram</source>
<translation>直方图</translation>
</message>
<message>
<source>Sensitivity</source>
<translation>敏感性分析</translation>
@ -7784,66 +7620,6 @@ Average pressure in contour: %2 MPa</source>
</context>
<context>
<name>nmWxTimeDependentSkin</name>
<message>
<source>Select a well with valid model results before estimating skin.</source>
<translation>请先选择具有有效模型结果的井,再估算表皮。</translation>
</message>
<message>
<source>Skin estimation requires a single perforation.</source>
<translation>自动估算表皮仅支持单射孔。</translation>
</message>
<message>
<source>Skin estimation does not yet support perforation closing intervals.</source>
<translation>自动估算表皮暂不支持设有射孔封堵区间的模型。</translation>
</message>
<message>
<source>Generate a model with the current inputs and a constant skin before computing skin steps.</source>
<translation>请先使用当前输入和恒定表皮生成模型结果,再计算各段表皮。</translation>
</message>
<message>
<source>The model result does not match this well&apos;s pressure and rate data. Generate the model again.</source>
<translation>模型结果与当前井的压力、流量数据不一致,请重新生成模型。</translation>
</message>
<message>
<source>Observation wells have no controlled rate for skin estimation.</source>
<translation>观察井没有可用于估算表皮的自身控制流量。</translation>
</message>
<message>
<source>Skin estimation requires model and measured pressure curves.</source>
<translation>自动估算表皮需要模型压力曲线和实测压力曲线。</translation>
</message>
<message>
<source>The model requires valid permeability, thickness and skin.</source>
<translation>模型的渗透率、厚度和表皮参数必须有效。</translation>
</message>
<message>
<source>Skin estimation supports single-phase oil, gas, water and oil-water models only.</source>
<translation>自动估算表皮支持单相油、气、水以及油水两相模型。</translation>
</message>
<message>
<source>Set positive reference volume factors and viscosities in the analysis PVT settings.</source>
<translation>请在分析的 PVT 设置中填写有效的参考体积系数和黏度,数值必须大于零。</translation>
</message>
<message>
<source>Oil-water estimation requires finite phase rates with the same flow direction.</source>
<translation>油水两相估算要求各相流量有效,且油、水流动方向一致。</translation>
</message>
<message>
<source>Variable-PVT skin estimation requires finite, positive B and viscosity values on a monotonic pressure table.</source>
<translation>变 PVT 表皮估算要求压力表严格单调,体积系数和黏度均为有效正数。</translation>
</message>
<message>
<source>Cannot read reference PVT values from this analysis.</source>
<translation>无法读取本分析的 PVT 参考值。</translation>
</message>
<message>
<source>The model rate schedule or pressure conversion factor is invalid.</source>
<translation>模型的流量制度或压力换算系数无效。</translation>
</message>
<message>
<source>No skin steps could be estimated. Check pressure data, non-zero rate steps and the gas PVT pressure range.</source>
<translation>没有可估算的表皮分段。请检查压力数据、非零流量段及气体 PVT 压力范围。</translation>
</message>
<message>
<source>Time Dependent Skin</source>
<translation>时间相关表皮系数</translation>
@ -7878,7 +7654,7 @@ Average pressure in contour: %2 MPa</source>
</message>
<message>
<source>Skin vs Rate</source>
<translation>表皮系数与流量</translation>
<translation type="unfinished">表皮系数对比</translation>
</message>
<message>
<source>Split Steps</source>
@ -7914,19 +7690,19 @@ Average pressure in contour: %2 MPa</source>
</message>
<message>
<source>hr</source>
<translation>hr</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>MPa</source>
<translation>MPa</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Time</source>
<translation>时间</translation>
<translation type="unfinished">持续时间(hr)</translation>
</message>
<message>
<source>Flow</source>
<translation>流量</translation>
<translation type="unfinished">流量</translation>
</message>
<message>
<source>m^3/D</source>
@ -7958,7 +7734,7 @@ Average pressure in contour: %2 MPa</source>
</message>
<message>
<source>dS/dQ</source>
<translation>表皮关于产量的变化率</translation>
<translation type="unfinished">表皮关于产量的变化率</translation>
</message>
</context>
<context>
@ -8951,10 +8727,6 @@ Average pressure in contour: %2 MPa</source>
</context>
<context>
<name>nmWxForecast</name>
<message>
<source>Result plots</source>
<translation>结果图</translation>
</message>
<message>
<source>Forecast</source>
<translation>预测</translation>
@ -9044,243 +8816,4 @@ Average pressure in contour: %2 MPa</source>
<translation>模型已发生变化,请重新生成预测。</translation>
</message>
</context>
<context>
<name>nmPebiGridDiagnostics</name>
<message><source>Only two-dimensional grid input is supported.</source><translation>当前仅支持二维网格输入。</translation></message>
<message><source>Grid spacing must be finite and greater than zero (current value: %1).</source><translation>网格尺度必须为有限正数,当前值:%1。</translation></message>
<message><source>The boundary must contain at least three edges.</source><translation>工区边界至少需要三条边。</translation></message>
<message><source>Boundary edge %1 has missing or non-finite coordinates.</source><translation>边界第 %1 条边的坐标缺失或不是有限数值。</translation></message>
<message><source>Boundary edge %1 has zero length. Check coincident points and coordinate rounding.</source><translation>边界第 %1 条边长度为零,请检查重合点及坐标取整造成的重合。</translation></message>
<message><source>Vertical well %1 has missing or non-finite coordinates/radius.</source><translation>第 %1 口直井的坐标或井半径缺失,或不是有限数值。</translation></message>
<message><source>Vertical well %1 has invalid radius %2 m; it must be greater than zero.</source><translation>第 %1 口直井的半径 %2 m 无效,井半径必须大于零。</translation></message>
<message><source>Vertical well %1: radius %2 m is too small to represent at coordinates (%3, %4) m.</source><translation>第 %1 口直井的半径 %2 m 相对于坐标(%3,%4)m 过小,已超出浮点数的可分辨精度。</translation></message>
<message><source>Grid input capture/preparation failed. Check the boundary and participating wells.</source><translation>网格输入读取或准备失败,请检查工区边界及参与计算的井。</translation></message>
<message><source>Unable to load HX_NWTM.dll (Windows error %1). Check the DLL and its runtime dependencies.</source><translation>无法加载 HX_NWTM.dll(Windows 错误码 %1),请检查网格库及其运行库依赖。</translation></message>
<message><source>HX_NWTM_GRID is missing from the DLL (Windows error %1). Check the library version.</source><translation>网格库缺少 HX_NWTM_GRID 入口(Windows 错误码 %1),请检查库版本。</translation></message>
<message><source>The grid algorithm encountered an access violation (0xC0000005).</source><translation>网格算法内部发生内存访问异常(0xC0000005)。</translation></message>
<message><source>The grid algorithm returned empty grid data. Check the license and geometry inputs.</source><translation>网格算法返回了空网格,请检查授权文件及几何输入。</translation></message>
<message><source>The generated grid cannot be displayed: invalid points, cell indices or degenerate cells.</source><translation>生成的网格无法显示,可能存在无效节点、单元索引错误或退化单元。</translation></message>
<message><source>Grid calculation raised an exception: %1</source><translation>网格计算发生异常:%1</translation></message>
<message><source>Grid calculation raised an unknown exception.</source><translation>网格计算发生未知异常。</translation></message>
<message><source>Unable to capture the grid boundary. Check that the analysis has a boundary.</source><translation>无法读取工区边界,请确认当前分析已设置边界。</translation></message>
<message><source>Unable to capture well geometry. Check participating well types and fracture endpoints.</source><translation>无法读取井几何信息,请检查参与计算的井类型及裂缝端点。</translation></message>
<message><source>Unable to capture fault/fracture geometry.</source><translation>无法读取断层或裂缝几何信息。</translation></message>
<message><source>Participating wells do not match the grid well list. Check the primary well and included wells.</source><translation>参与计算的井与网格井列表不匹配,请检查主井及包含井设置。</translation></message>
<message><source>The grid result was discarded because the analysis inputs changed. Generate the grid again.</source><translation>划分期间分析输入已改变,本次网格未提交,请重新划分网格。</translation></message>
<message><source>Grid generation failed: %1</source><translation>网格划分失败:%1</translation></message>
<message><source>Check whether the well radius is too small, and check grid spacing and geometry positions.</source><translation>请检查井半径是否过小、网格尺度及几何位置是否合适。</translation></message>
</context>
<context>
<name>nmWxChartWidget</name>
<message>
<source>Liquid rate [STB/D]</source>
<translation>产液量 [STB/D]</translation>
</message>
<message>
<source>Skin</source>
<translation>表皮系数</translation>
</message>
</context>
<context>
<name>nmVolumeData</name>
<message>
<source>Not enough memory to import the volume mesh.</source>
<translation>内存不足,无法导入三维网格。</translation>
</message>
<message>
<source>Only linear tetrahedron, voxel, hexahedron, wedge and pyramid volume cells are supported.</source>
<translation>当前仅支持线性四面体、体素、六面体、楔形和金字塔体单元。</translation>
</message>
<message>
<source>Select a .vtk or .vtu volume mesh file.</source>
<translation>请选择 .vtk 或 .vtu 三维体网格文件。</translation>
</message>
<message>
<source>Skipped invalid scalar array: %1</source>
<translation>已跳过无效标量属性:%1</translation>
</message>
<message>
<source>Skipped scalar array without finite values: %1</source>
<translation>已跳过没有有限值的标量属性:%1</translation>
</message>
<message>
<source>The file contains no volume mesh.</source>
<translation>文件中没有有效的三维体网格。</translation>
</message>
<message>
<source>The mesh connectivity is invalid.</source>
<translation>网格连接关系无效。</translation>
</message>
<message>
<source>The mesh contains an invalid point index.</source>
<translation>网格包含越界的节点索引。</translation>
</message>
<message>
<source>The mesh contains non-finite coordinates.</source>
<translation>网格包含无效坐标(NaN 或无穷值)。</translation>
</message>
<message>
<source>The mesh contains repeated cell vertices.</source>
<translation>网格单元包含重复顶点。</translation>
</message>
<message>
<source>The mesh must have a finite extent in all three directions.</source>
<translation>三维网格必须在三个方向均具有有效范围。</translation>
</message>
<message>
<source>The temporary directory path cannot be read by VTK.</source>
<translation>VTK 无法读取当前临时目录路径。</translation>
</message>
<message>
<source>The volume mesh file is empty or cannot be opened.</source>
<translation>三维网格文件为空或无法打开。</translation>
</message>
<message>
<source>Unable to create a temporary file for this path.</source>
<translation>无法为该文件路径创建临时文件。</translation>
</message>
<message>
<source>Unable to read the volume mesh file.</source>
<translation>无法读取三维网格文件。</translation>
</message>
<message>
<source>VTK could not read the volume mesh: %1</source>
<translation>VTK 无法读取三维网格:%1</translation>
</message>
<message>
<source>Volume import canceled.</source>
<translation>已取消三维模型导入。</translation>
</message>
</context>
<context>
<name>nmVolumeSceneController</name>
<message>
<source>Not enough memory to display the volume mesh.</source>
<translation>内存不足,无法显示三维网格。</translation>
</message>
<message>
<source>Unable to bind the volume scalar property.</source>
<translation>无法绑定三维模型的标量属性。</translation>
</message>
<message>
<source>The color settings are invalid.</source>
<translation>颜色设置无效。</translation>
</message>
<message>
<source>The selected color map is unavailable.</source>
<translation>所选色带不可用。</translation>
</message>
<message>
<source>The manual range must contain two finite increasing values.</source>
<translation>手工范围必须为两个有限数值,且最小值小于最大值。</translation>
</message>
<message>
<source>Unable to construct the color mapping.</source>
<translation>无法构建颜色映射。</translation>
</message>
<message>
<source>The color settings no longer match the current volume property.</source>
<translation>颜色设置已不匹配当前三维模型属性,请重新打开设置窗口。</translation>
</message>
<message>
<source>Unable to apply the color settings.</source>
<translation>无法应用颜色设置。</translation>
</message>
</context>
<context>
<name>nmVolumeImportTask</name>
<message>
<source>An unexpected error occurred while importing the volume mesh.</source>
<translation>导入三维网格时发生意外错误。</translation>
</message>
</context>
<context>
<name>nmVolumeSliceSettings</name>
<message>
<source>Origin and normal must contain finite numbers.</source>
<translation>原点和法向必须为有限数值。</translation>
</message>
<message>
<source>The plane normal must not be zero.</source>
<translation>平面法向不能为零向量。</translation>
</message>
</context>
<context>
<name>nmVolumeSlicePipeline</name>
<message>
<source>No volume model is available.</source>
<translation>当前没有可用的三维模型。</translation>
</message>
<message>
<source>Unable to compute a valid slice. The previous view has been kept.</source>
<translation>无法生成有效截面,已保留原画面。</translation>
</message>
<message>
<source>Not enough memory to compute the slice.</source>
<translation>内存不足,无法计算截面。</translation>
</message>
</context>
<context>
<name>nmWxVolumeSliceSettingsDlg</name>
<message>
<source>Origin %1</source>
<translation>原点 %1</translation>
</message>
<message>
<source>Normal %1</source>
<translation>法向 %1</translation>
</message>
<message>
<source>Plane Parameters</source>
<translation>平面参数</translation>
</message>
<message>
<source>Display Options</source>
<translation>显示选项</translation>
</message>
<message>
<source>Slice Settings</source>
<translation>切片设置</translation>
</message>
<message>
<source>Origin</source>
<translation>原点</translation>
</message>
<message>
<source>Normal</source>
<translation>法向</translation>
</message>
<message>
<source>Model Center</source>
<translation>模型中心</translation>
</message>
<message>
<source>Show Plane</source>
<translation>显示平面</translation>
</message>
<message>
<source>Show Original Model</source>
<translation>显示原模型</translation>
</message>
<message>
<source>Apply</source>
<translation>应用</translation>
</message>
<message>
<source>Reset</source>
<translation>重置</translation>
</message>
<message>
<source>Close</source>
<translation>关闭</translation>
</message>
<message>
<source>Enter valid numbers for origin and normal.</source>
<translation>请为原点和法向输入有效数值。</translation>
</message>
<message>
<source>Drag the center or outline to move the plane; drag arrows to rotate.</source>
<translation>拖动中心手柄或平面轮廓移动平面,拖动箭头旋转平面。</translation>
</message>
</context>
</TS>

@ -1,91 +0,0 @@
#dat文本格式数据
基础参数——
油田名称[FieldName]:
区块名称[BlockName]:
井名[WellName]:
井号[WellCode]:
井别[WellClass]:
井型[WellType]:
井径[rw](m): 0.07068
原始地层压力[Pe](MPa):
参考压力[Pref](MPa): 54.7256
初始压力[Pi](MPa):
地层压力[Pit](MPa):
复合半径[Ri](MPa):
储层参数——
井筒储集系数[C](m^3/MPa):0.01616
初末井筒储集系数比[CidRatio]:
储层厚度[h](m): 7.4
孔隙度[phi]:0.188955
内区孔隙度[phi1]:
外区孔隙度[phi2]:
渗透率[K](mD):258.2
油相渗透率[Ko](mD):258.2
气相渗透率[Kg](mD):
水相渗透率[Kw](mD):
水平渗透率[Kh](mD):
垂向渗透率[Kv](mD):
表皮系数[S]:-0.36855
总表皮系数[St]:
界面表皮[Sinf]:
特殊储层参数——
导压系数比[sigma]:
弹性储容比[D]:
裂缝弹性储容比[omegaf]:
窜流系数[lambda]:
流度[MKu](mD/(mPa.s)):
流度比[M]:
应力敏感系数[gamma](1/MPa):
参考温度[rt](°C):100
流体性质——
综合压缩系数[Ct](1/MPa):0.00122234
岩石压缩系数[Cf](1/MPa):0.000559053
含水率[Fw](%):
油压缩系数[Co](1/Mpa):
油体积系数[Bo]:1.18267
油密度[Rhoo](kg/m^3):
油相黏度[Miuo](mPa.s):2.7441
气体偏差因子[Zg]:
气体压缩系数[Cg](1/Mpa):
气体密度[Rhog](kg/m^3):
气相黏度[Miug](mPa.s):
气体积系数[Bg]:
水压缩系数[Cw](1/Mpa):
水体积系数[Bw]:
水密度[Rhow](kg/m^3):
水相黏度[Miuw](mPa.s):
气油比[Rs](m^3/m^3):0
气水比[Rsw](m^3/m^3):
边界
边界距离1[x1](m):588.553
边界距离2[x2](m):
边界距离3[x3](m):
边界距离4[x4](m):
其他参数
裂缝长度[Lf](m):
裂缝半长[xf](m):
裂缝倾角[theta_f](°):
裂缝宽度[wf](m):
裂缝导流能力[Fc](mD.m):

@ -1,84 +0,0 @@
#dat文本格式数据
基础参数——
油田名称[FieldName]:
区块名称[BlockName]:
井名[WellName]:
井号[WellCode]:
井别[WellClass]:
井型[WellType]:
井径[rw](m): 0.07068
原始地层压力[Pe](MPa):
参考压力[Pref](MPa): 54.7256
初始压力[Pi](MPa):
地层压力[Pit](MPa):
复合半径[Ri](MPa):
储层参数——
井筒储集系数[C](m^3/MPa):0.01616
初末井筒储集系数比[CidRatio]:
储层厚度[h](m): 7.4
孔隙度[phi]:0.188955
内区孔隙度[phi1]:
外区孔隙度[phi2]:
渗透率[K](mD):258.2
油相渗透率[Ko](mD):258.2
气相渗透率[Kg](mD):
水相渗透率[Kw](mD):
水平渗透率[Kh](mD):
垂向渗透率[Kv](mD):
表皮系数[S]:-0.36855
总表皮系数[St]:
界面表皮[Sinf]:
特殊储层参数——
导压系数比[sigma]:
弹性储容比[D]:
裂缝弹性储容比[omegaf]:
窜流系数[lambda]:
流度[MKu](mD/(mPa.s)):
流度比[M]:
应力敏感系数[gamma](1/MPa):
参考温度[rt](°C):100
流体性质——
综合压缩系数[Ct](1/MPa):0.00122234
岩石压缩系数[Cf](1/MPa):0.000559053
含水率[Fw](%):
油压缩系数[Co](1/Mpa):
油体积系数[Bo]:1.18267
油密度[Rhoo](kg/m^3):
油相黏度[Miuo](mPa.s):2.7441
气体偏差因子[Zg]:
气体压缩系数[Cg](1/Mpa):
气体密度[Rhog](kg/m^3):
气相黏度[Miug](mPa.s):
气体积系数[Bg]:
水压缩系数[Cw](1/Mpa):
水体积系数[Bw]:
水密度[Rhow](kg/m^3):
水相黏度[Miuw](mPa.s):
气油比[Rs](m^3/m^3):0
气水比[Rsw](m^3/m^3):
边界
边界距离1[x1](m):588.553
边界距离2[x2](m):
边界距离3[x3](m):
边界距离4[x4](m):
其他参数
裂缝长度[Lf](m):
裂缝半长[xf](m):
裂缝倾角[theta_f](°):
裂缝宽度[wf](m):
裂缝导流能力[Fc](mD.m):

@ -2,14 +2,13 @@
[Global]
AppID = WTAI ;AppID
AppLogo = iWeTai2.png ;Logo
AppDescCN = 试井软件;[试用版];中文
AppLogo = WTAI.png ;Logo
AppDescCN = 新一代试井处理解释软件;中文
AppDescEN = iWeTai;英文
Dev = 中国石油勘探开发研究院;
DebugLevel = 0; 1 为Debug模式,可以打印更多日志,比如SQL语句
AppVer = c4ca4238a0b923820dcc509a6f75849b; 内定的编码,则为常规版本,否则为 临时版本
;ProductVer = Ver1.0.1.0;
Customer = 研究院、工艺院及测试公司\r\n试井相关研究人员;\r\n试用版[2027-12-31到期];
Customer = 研究院\r\n试井相关研究人员;
PtyAdvanced = 1; 属性采用高级模式
[GX6Config]
@ -87,9 +86,7 @@ wLineCountPerSpan = 461e8b88f5f7119a7c45dc91a59fa029; 导出word时,内部描
NaviShowMode = 1; 模型导航模式,1:为菜单模式,其它:原来模式
SegMaxToTrim = 5; 一旦流动段多于该数,则仅仅对当前段进行处理
CustomThin = 1; 是否允许定制抽稀参数
CustomAutoFitMethod = 0; 是否更换拟合方法
UnitConvert = 1; 是否允许单位转换
MixMiuSupported = 0; 是否允许设置混合黏度
TailorOffset = 0; (范围0-50,%)
BaseResolutionW = 1920; 基准分辨率 1024 1920
BaseResolutionH = 1080;768 1080

@ -84,78 +84,10 @@ div.block_latest
<div class='block_latest'>
<h2 class="title">软件版本:V1.0(20261026)</h2>
<ol>
<li class="li_important">帮助手册版本,包括产能、不包括智能</li>
</ol>
<h2 class="title">软件版本:20261021</h2>
<ol>
<li class="li_important">新增:DAT格式数据批量导入[新建井时]</li>
<li class="li_important">新增:解释参数批量修改[处理解释]</li>
<li class="li_important">新增:整合智能模块(打包方式待定)</li>
<li>新增:反褶积功能集成,增加双对数曲线显示</li>
<li>新增:西安华线模型拟合更新为开源方法,索引为40(但是只给了Release版本)</li>
<li class="li_important">新增:底层增加日期时间类型坐标轴,基本测试通过,待后续功能挂接</li>
<li>新增:混合黏度计算功能,待具体功能挂接</li>
<li class="li_important">优化:优化besselk,支持小数(不仅仅0,1),H震荡问题优化</li>
<li>优化:直井+圆形边界震荡优化,误差函数问题</li>
<li>优化:数据库db改用引用&来调用,提高并发访问稳定性</li>
<li>优化:测试ZxSysmtem空闲iDle函数,暂时屏蔽,因为其eventFilter常引起无所谓的异常</li>
<li>优化:Ribbon高度优化,以更好地支持跨平台</li>
<li>优化:Icon/Scaled大小处理与判断,Pixmap is a null pixmap</li>
<li>优化:日志单例改为QObject,日志保存问题优化,规避死锁,提高稳定性</li>
<li>优化:加载成果,总是弹出错误日志,C找不到</li>
<li>优化:去除信号找不到的Warning,提高稳定性</li>
<li>优化:更改iWxWelcomeNew的eventFilter(map、detach),提高稳定性</li>
<li class="li_important">修复:自动拟合过程稳定性修复,算法与图形刷新死锁</li>
<li>修复:自动拟合界面表格参数叠影问题</li>
<li>修复:自动拟合次数偏小时进度条不刷新</li>
<li>修复:Ribbo收缩后,弹窗,无法恢复的问题</li>
<li class="li_important">修复:加载成果、解释、保存、关闭工区崩溃</li>
<li>修复:纹理格式刷修复:QBrush: Incorrect use of TexturePattern</li>
<li>修复:光标跨线程通讯修复:QObject::connect: Cannot queue arguments of type 'QTextCursor'</li>
<li>修复:文件夹循环拷贝问题</li>
<li>修复:文件/文件夹原生对话框启用问题</li>
<li>修复:读取旧日志内容中文乱码修复</li>
<li>调整:复合半径与裂缝半长关系</li>
<li>调整:完善工区管理按钮</li>
<li>调整:数据加载界面,时间格式改为中文</li>
<li>调整:调整产能曲线显示</li>
<li>调整:产能图例默认置于右上</li>
<li>调整:更新代码行统计工具</li>
</ol>
<h2 class="title">软件版本:V1.0(20260906)试用版</h2>
<ol>
<li class="li_important">新增:整合集成数值试井模块</li>
<li class="li_important">新增:线性复合模型</li>
<li class="li_important">新增:干扰试井模型</li>
<li>新增:针对多相,放开主相、次相的物性参数</li>
<li>优化:更改小数位置(坐标轴范围)</li>
<li>优化:参数特殊配置,saveBk/restoreBk逻辑处理优化</li>
<li>优化:更新光滑因子后实时刷新</li>
<li>优化:PVT高级计算中So/Sg/Sw小数位数调整</li>
<li>优化:PVT页面调整综合压缩系数的顺序</li>
<li>修复:PVT参数传递(孔隙度/岩石压缩系数),原先是可以的,是修改单位之后引起</li>
<li class="li_important">修复:拖拽加载解释成果,然后直接拖动特征线,左侧K/S未改动(信号未关联)</li>
<li>修复:Ribbon返回按钮</li>
<li>修复:保存的分析里,表格标题异常,1.储层名称 列为空,2.岩石压缩系数列,标题只有单位</li>
<li>修复:首页面操作崩溃,未复现,盲猜盲改</li>
<li>调整:产能计算放开参数结果刷新</li>
<li>调整:产能模块、智能模块默认暂时不再发布</li>
<li>规范:版本信息,V1.0</li>
</ol>
<h2 class="title">软件版本:20260819</h2>
<ol>
<li class="li_important">优化:气相拟压力换算问题,解决压力史锯齿问题</li>
<li class="li_important">优化:不再启用两条实际压力导数,模型统一进行处理</li>
<h2 class="title_latest">软件版本:20260819</h2>
<ol>
<li class="li_important_latest">优化:气相拟压力换算问题,解决压力史锯齿问题</li>
<li class="li_important_latest">优化:不再启用两条实际压力导数,模型统一进行处理</li>
<li>调整:流动段选择压力曲线改为点模式</li>
<li>修复:表皮系数输入负值,在切换不同模型之后,保持红色的问题</li>
<li>修复:所有水平井模型下井储系数单位不显示</li>

@ -1,5 +1,5 @@
[GX6]
Url=https://www.pre.ideas.cnpc/api/epaiasi-server/asiPlatform-assy/serverConfig/getServerConfig
Id=WeTest-86446517-v1.0
User=86446517
Pwd=ccc
Id=WeTest-86469831-v1.0
User=
Pwd=

File diff suppressed because it is too large Load Diff

@ -0,0 +1,110 @@
'******************************************************************************
'* File: excel2pdm.vbs
'* Purpose: 将在excel中设计的表导入到pdm文件
'* Category:
'* Version: 1.0
'* time : 2014-6-11
'* 因为喜欢在excel中做数据库表设计,所以用该程序导入到pdm。
'* 该程序对联合主键联合唯一没有做很好的处理,需要导入后手工修改。
'*该程序参考了网络上其他人的代码,但是这里是可以将sheet中所有的表一次导入。
'*
'* 所有的表设计都放在一个excel的一个sheet中,每个表中间空一行,表体都有表头说明如下,
'* 再前面一行是表名和表的说明,分别在A和C列。下面格式直接拷贝到excel中就可以看到,空格是制表符。
'******************************************************************************
' Excel 格式如下
'icontract_master_t 文件头表
'列名 类型 键 非空 注释
'contract_m_id NUMBER 主键 N 主键
'******************************************************************************
Option Explicit
Dim mdl ' the current model
Set mdl = ActiveModel
If (mdl Is Nothing) Then
MsgBox "There is no Active Model"
End If
Dim HaveExcel
Dim RQ
RQ = vbYes 'MsgBox("Is Excel Installed on your machine ?", vbYesNo + vbInformation, "Confirmation")
If RQ = vbYes Then
HaveExcel = True
' Open & Create Excel Document
Dim x1 '
Set x1 = CreateObject("Excel.Application")
x1.Workbooks.Open "E:\Run\mWTAI\Bin\Doc\iWTAI_DataStructure.xlsx"
x1.Workbooks(1).Worksheets("Table").Activate '指定要打开的sheet名称
Else
HaveExcel = False
End If
a x1, mdl
sub a(x1, mdl)
dim rwIndex
dim tableName
dim colname
dim table
dim col
dim count
dim abc
on error Resume Next
'--------------------------------
'下面是读取excel,添加表实体属性
'--------------------------------
For rwIndex = 2 To 457 '指定要遍历的Excel行标 由于第2行是表头,从第1行开始,看你这个表设计多少行
With x1.Workbooks(1).Worksheets("Table")'需要循环的sheet名称
If .Cells(rwIndex,1).Value <> "" And .Cells(rwIndex,3).Value <> "" And .Cells(rwIndex,4).Value = "Table" Then
set table = mdl.Tables.CreateNew '创建一个表实体
table.Code = .Cells(rwIndex,3).Value'从excel中取得表名称和编码
table.Name = .Cells(rwIndex,1).Value'
table.Comment = .Cells(rwIndex,1).Value '指定列说明
count = count + 1
'MsgBox .Cells(rwIndex,1).Value + .Cells(rwIndex,3).Value + .Cells(rwIndex,4).Value, vbOK + vbInformation, "表"
Continue
End If
If .Cells(rwIndex,2).Value = "" Or .Cells(rwIndex,3).Value = "" Or (.Cells(rwIndex,1).Value = "序号" And .Cells(rwIndex,2).Value = "列名")Then
continue
Else
set col =table.Columns.CreateNew '创建一列/字段
col.Name = .Cells(rwIndex, 2).Value '指定列name
col.Code = .Cells(rwIndex, 3).Value '指定列code
col.DataType = .Cells(rwIndex, 4).Value '指定列数据类型
If.Cells(rwIndex, 5).Value <> "" Then'指定主键
col.Primary =true
End If
If.Cells(rwIndex, 8).Value = "Y" Then'指定列是否可空 true 为不可空
col.Mandatory =true
End If
col.Comment = .Cells(rwIndex, 2).Value '指定列说明
'col.Length =.Cells(rwIndex, 4).Value '指定字段长度
'col.Precision =.Cells(rwIndex, 5).Value '指定字段长度
End If
End With
Next
MsgBox "生成数据表结构共计 " + CStr(count), vbOK + vbInformation, "表"
Exit Sub
End sub

Binary file not shown.

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Lock xmlns="http://schemas.mindjet.com/MindManager/Lock/2003"><LockOwner UserEmail="" UserName=""/></Lock>

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Lock xmlns="http://schemas.mindjet.com/MindManager/Lock/2003"><LockOwner UserEmail="" UserName=""/></Lock>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

@ -72,15 +72,6 @@
<Tab ID="0" Name="WelCome" Alias="开始(O)" >
<Group Name="ProjManager" Alias="项目管理">
<Cmd ID="1001" Bounds="0,0,2,1" Name="ProjNew" Type="9" Alias="项目管理" Icon="NewProj" Visible="0" />
<Cmd ID="1001" Bounds="0,0,2,1" Name="ProjNew" Alias="新建项目" Icon="NewProj" />
<Cmd ID="1002" Bounds="0,1,2,1" Name="ProjOpen" Alias="打开项目" Icon="OpenProj" />
<Cmd ID="1005" Bounds="0,2,2,1" Name="ProjSave" Alias="保存项目" Icon="SaveProj" />
<Cmd ID="1003" Bounds="0,3,2,1" Name="ProjClose" Alias="关闭项目" Icon="CloseProj" />
</Group>
<Group Name="DataManager" Alias="数据准备">
<Cmd ID="1099" Bounds="0,0,2,1" Name="WellNew" Alias="新建井(W)" Icon="WellNew" />
<Cmd ID="2005" Bounds="0,1,2,1" Name="DataRate" Alias="流量数据(Q)" ExtInfo="P_DATA_GAUGE_F" Icon="RateData" />
@ -94,7 +85,7 @@
<Cmd ID="9102" Bounds="1,1" Name="VisibleAnalPVT" Alias="PVT数据" Icon="InputFluid" />
</Group>
<Group Name="FlowSegment" Alias="流动段分析">
<Group Name="Analytical" Alias="流动段分析">
<Cmd ID="3003" Bounds="0,0,2,1" Name="AnalPF" Alias="流动段选择" ExtInfo="PF" Icon="PF" />
<Cmd ID="3004" Bounds="0,1,2,1" Name="AnalFlowSeg" Alias="流动段分析" Icon="FlowPeriod" />
</Group>
@ -116,11 +107,16 @@
<Cmd ID="5202" Bounds="0,3,2,1" Name="AnalPF" Alias="辅助拟合" ExtInfo="PF" Icon="RunOther" Visible="0"/>
</Group>
<Group Name="Rsts" Alias="成果管理">
<Group Name="Jobs" Alias="成果管理">
<Cmd ID="1008" Bounds="0,0" Name="RstLoad" Alias="加载成果" Icon="LoadJobs" />
<Cmd ID="1009" Bounds="1,0" Name="RstSave" Type="1" ExtNames="RstSaveCur;RstSaveAll" ExtInfo="保存当前成果;保存所有成果" Alias="保存成果" Icon="SaveJobs" />
<Cmd ID="1005" Bounds="0,1,2,1" Name="ProjSave" Alias="保存项目" Icon="SaveProj" />
</Group>
<Group Name="WellMap" Alias="井位图">
<Cmd ID="3008" Bounds="0,0,2,1" Name="AnalMap" Alias="井位图" Icon="Map2D" Visible="1" />
<Cmd ID="3018" Bounds="0,1,2,1" Name="AnalInterfere" Alias="干扰设定" Icon="Map2D" Visible="0" />
@ -144,18 +140,18 @@
<Tab ID="2" Name="DataManager" Alias="数据管理(D)" >
<Group Name="DataWell" Alias="井">
<Group Name="DataManager" Alias="井">
<Cmd ID="1099" Bounds="0,0,2,1" Name="WellNew" Alias="新建井(W)" Icon="WellNew" />
</Group>
<Group Name="DataBasic" Alias="基础数据">
<Group Name="DataManager" Alias="基础数据">
<Cmd ID="2001" Bounds="0,0,2,1" Name="DataWellBasic" Alias="井基础数据(B)" ExtInfo="B_WELL" Icon="BasicData" />
<Cmd ID="2002" Bounds="0,1,2,1" Name="DataLayer" Alias="地质分层数据(L)" ExtInfo="B_LAYER" Icon="LayerData" />
<Cmd ID="2003" Bounds="0,2,2,1" Name="DataRes" Alias="储层数据(R)" ExtInfo="P_DATA_RES" Icon="ResData" />
<Cmd ID="2004" Bounds="0,3,2,1" Name="DataFlu" Alias="流体性质数据(F)" ExtInfo="P_DATA_FLUID" Icon="FluidProperty" />
</Group>
<Group Name="DataPF" Alias="压力流量">
<Group Name="DataManager" Alias="压力流量">
<Cmd ID="2005" Bounds="0,0,2,1" Name="DataRate" Alias="流量数据(Q)" ExtInfo="P_DATA_GAUGE_F" Icon="RateData" />
<Cmd ID="2006" Bounds="0,1,2,1" Name="DataPre" Alias="压力数据(P)" ExtInfo="P_DATA_GAUGE_P" Icon="PressureData" />
</Group>
@ -200,8 +196,8 @@
<Cmd ID="3103" Bounds="0,4,2,1" Name="PlateFit" Alias="敏感性分析" Icon="PlateFit" />
</Group>
<Group Name="AITest" Alias="智能试井(Debug)">
<Cmd ID="3901" Bounds="0,0,2,1" Name="ModelClassify" Alias="模型识别(Debug)" Icon="ModelClassify" />
<Group Name="AITest" Alias="智能试井">
<Cmd ID="3901" Bounds="0,0,2,1" Name="ModelClassify" Alias="模型识别" Icon="ModelClassify" />
</Group>
<Group Name="RelativeTool" Alias="相关工具">
@ -217,7 +213,7 @@
<Cmd ID="9201" Bounds="0,1,2,1" Name="MixViscosity" Alias="混合黏度(Debug)" Icon="MixViscosity" Visible="0" />
</Group>-->
<Group Name="Rsts" Alias="成果管理">
<Group Name="Jobs" Alias="成果管理">
<Cmd ID="1008" Bounds="0,0" Name="RstLoad" Alias="加载成果" Icon="LoadJobs" />
<Cmd ID="1009" Bounds="1,0" Name="RstSave" Type="1" ExtNames="RstSaveCur;RstSaveAll" ExtInfo="保存当前成果;保存所有成果" Alias="保存成果" Icon="SaveJobs" />
<Cmd ID="1011" Bounds="0,1,2,1" Name="ToNumerical" Alias="To-数值" Icon="LoadJobs" Visible="0" />
@ -303,6 +299,7 @@
<Cmd ID="5999" Bounds="0,0,2,1" Name="NmDebug" Alias="框架代码调试" Icon="PrepareGrid" />
</Group>
</Tab>
<Tab ID="4" Name="MiniFrac" Alias="小型压裂(F)(Debug)" >
@ -322,13 +319,14 @@
<Cmd ID="4007" Bounds="2,3" Name="CalLogLog" Alias="双对数" Icon="RunOther" />
</Group>
<Group Name="FA" Alias="排量分析">
<Cmd ID="4102" Bounds="0,0,2,1" Name="MiniFrAnalFA" Alias="排量准备" ExtInfo="IPR" Icon="MiniFrAnalFA" />
<Cmd ID="4103" Bounds="0,1" Name="MiniFrFAUp" Alias="阶梯升" Icon="StepUp" />
<Cmd ID="4104" Bounds="1,1" Name="MiniFrFADown" Alias="阶梯降" Icon="StepDown" />
</Group>
<Group Name="Rsts" Alias="成果管理" Visible="0">
<Group Name="Jobs" Alias="成果管理" Visible="0">
<Cmd ID="1008" Bounds="0,0" Name="RstLoad" Alias="加载成果" Icon="LoadJobs" />
<Cmd ID="1009" Bounds="1,0" Name="RstSave" Type="1" ExtNames="RstSaveCur;RstSaveAll" ExtInfo="保存当前成果;保存所有成果" Alias="保存成果" Icon="SaveJobs" />
</Group>
@ -344,7 +342,7 @@
</Tab>
<Tab ID="401" Name="WDT" Alias="产能试井(P)" >
<Tab ID="401" Name="WDT" Alias="产能试井(P)(Debug)" >
<Group Name="AnalEdit" Alias="分析管理" Visible="0">
<Cmd ID="3006" Bounds="0,0" Name="AnalNew" Alias="新建分析" Icon="JobNew" />
@ -362,30 +360,30 @@
<Cmd ID="6104" Bounds="0,3,2,1" Name="WdtModel" Alias="基础模型" Icon="WdtModel" />
</Group>
<Group Name="WdtAnal" Alias="产能解释">
<Cmd ID="6201" Bounds="0,0,2,1" Name="WdtCal" ExtInfo="WDT" Alias="产能解释" Icon="WdtCal" />
<Cmd ID="6202" Bounds="0,1,2,1" Name="WdtAnal" Alias="产能分析" Icon="WdtAnal" />
<Group Name="IPR" Alias="产能解释">
<Cmd ID="6201" Bounds="0,0,2,1" Name="WdtCal" ExtInfo="WDT" Alias="储层产能计算" Icon="WdtCal" />
<Cmd ID="6202" Bounds="0,1,2,1" Name="WdtAnal" Alias="储层产能分析" Icon="WdtAnal" />
</Group>
<Group Name="WdtDataPreprocess" Alias="一体化建模(Debug)">
<Group Name="WdtDataPreprocess" Alias="一体化建模">
<Cmd ID="6102" Bounds="0,0,2,1" Name="WdtMF" Alias="井筒多相流" Icon="WdtMF" />
</Group>
<Group Name="WdtRpc" Alias="一体化分析(Debug)">
<Group Name="IPR" Alias="一体化分析">
<Cmd ID="6301" Bounds="0,0,2,1" Name="WdtGwlcc" Alias="气井携液能力" Icon="WdtGwlcc" />
<Cmd ID="6302" Bounds="0,1,2,1" Name="WdtIpc" Alias="一体化产能分析" Icon="WdtTipc" Visible="0"/>
<Cmd ID="6303" Bounds="0,2,2,1" Name="WdtRpc" Alias="一体化产能计算" Icon="WdtRpc" />
<Cmd ID="6302" Bounds="0,1,2,1" Name="WdtIpc" Alias="一体化产能分析" Icon="WdtTipc" />
<Cmd ID="6303" Bounds="0,2,2,1" Name="WdtRpc" Alias="合理产能计算" Icon="WdtRpc" />
<Cmd ID="6304" Bounds="0,3,2,1" Name="WdtPdp" Alias="生产动态潜力" Icon="WdtPdp" />
<Cmd ID="6305" Bounds="0,4,2,1" Name="WdtExt" Alias="产能试井[扩展]" Icon="WdtExt" Visible="0"/>
<Cmd ID="6305" Bounds="0,4,2,1" Name="WdtExt" Alias="产能试井[扩展]" Icon="WdtExt"/>
</Group>
<Group Name="Run" Alias="产能计算">
<Group Name="IPR" Alias="产能计算">
<Cmd ID="6901" Bounds="0,0,2,1" Name="WdtRun" Alias="计算" ExtInfo="WDT" Icon="RunEx" />
</Group>
<Group Name="Rsts" Alias="成果管理">
<Group Name="Jobs" Alias="成果管理">
<Cmd ID="1008" Bounds="0,0" Name="RstLoad" Alias="加载成果" Icon="LoadJobs" />
<Cmd ID="1009" Bounds="1,0" Name="RstSave" Type="1" ExtNames="RstSaveCur;RstSaveAll" ExtInfo="保存当前成果;保存所有成果" Alias="保存成果" Icon="SaveJobs" />
</Group>
@ -422,7 +420,7 @@
</Group>
<Group Name="AITest" Alias="智能试井(Debug)">
<Cmd ID="3901" Bounds="0,0,2,1" Name="ModelClassify" Alias="模型识别(Debug)" Icon="ModelClassify" />
<Cmd ID="3901" Bounds="0,0,2,1" Name="ModelClassify" Alias="模型识别" Icon="ModelClassify" />
</Group>
<Group Name="RelativeTool" Alias="相关工具" Visible="0">
@ -437,7 +435,7 @@
<Cmd ID="9201" Bounds="0,1,2,1" Name="MixViscosity" Alias="混合黏度(Debug)" Icon="MixViscosity" />
</Group>
<Group Name="Rsts" Alias="成果管理" Visible="0">
<Group Name="Jobs" Alias="成果管理" Visible="0">
<Cmd ID="1008" Bounds="0,0" Name="RstLoad" Alias="加载成果" Icon="LoadJobs" />
<Cmd ID="1009" Bounds="1,0" Name="RstSave" Type="1" ExtNames="RstSaveCur;RstSaveAll" ExtInfo="保存当前成果;保存所有成果" Alias="保存成果" Icon="SaveJobs" />
</Group>
@ -455,54 +453,32 @@
<Tab ID="7" Name="AiTest" Alias="智能试井(I)(Debug)">
<Group Name="Demo1" Alias="智能试井">
<Cmd ID="7001" Bounds="0,0,2,1" Name="SmartRecommendation" Alias="智能推荐" Icon="AssisAnal" />
<Cmd ID="7002" Bounds="0,1,2,1" Name="SmartFitting" Alias="智能拟合" Icon="AutoFit" />
<Cmd ID="7003" Bounds="0,2,2,1" Name="SmartFeedbackFitting" Alias="反馈拟合" Icon="QuickMatch" Visible="0" />
<Group Name="Demo1" Alias="样例菜单1">
<Cmd ID="7001" Bounds="0,0,2,1" Name="ActionName1" Alias="临时测试1" Icon="TODO1" />
<Cmd ID="7002" Bounds="0,1,2,1" Name="ActionName2" Alias="临时测试2" Icon="TODO2" />
</Group>
<Group Name="WellTestLLM" Alias="试井大模型" Visible="1">
<Cmd ID="7998" Bounds="0,0,2,1" Name="WellTestLLM" Alias="试井大模型" Icon="aiOpenAI32" Visible="1" />
<Cmd ID="7989" Bounds="0,1,2,1" Name="WellTestModelConfig" Alias="配置模型" Icon="WTAI32" Visible="1" />
</Group>
<Group Name="AiTools" Alias="软件助手" Visible="1">
<Cmd ID="7997" Bounds="0,0,2,1" Name="SoftwareAssistant" Alias="智能解释" Icon="Help32" Visible="1" />
</Group>
<Group Name="AiReport" Alias="智能报告" Visible="1">
<Cmd ID="7988" Bounds="0,0,2,1" Name="AiReportOneClick" Alias="一键报告" Icon="jReport" Visible="1" />
<Cmd ID="7996" Bounds="0,1" Name="AiReportSettings" Alias="报告设置" Icon="jReport" Visible="1" />
<Cmd ID="7995" Bounds="0,2" Name="AiReportDataEdit" Alias="数据修改" Icon="VisibleParameters" Visible="1" />
<Cmd ID="7994" Bounds="0,3" Name="AiReportAnalyze" Alias="生成分析" Icon="aiOpenAI" Visible="1" />
<Cmd ID="7993" Bounds="1,1" Name="AiReportPreview" Alias="报告预览" Icon="PrePrint" Visible="1" />
<Cmd ID="7992" Bounds="1,2" Name="AiReportPrint" Alias="打印/PDF" Icon="Print" Visible="1" />
<Cmd ID="7991" Bounds="1,3" Name="AiReportExportWord" Alias="导出Word" Icon="Word16" Visible="1" />
</Group>
<Group Name="AiDataExtraction" Alias="数据智能拾取" Visible="1">
<Cmd ID="7990" Bounds="0,0,2,1" Name="AiDataExtraction" Alias="数据智能拾取" Icon="AssisAnal" Visible="1" />
</Group>
<Group Name="Demo2" Alias="样例菜单2" Visible="0">
<Group Name="Demo2" Alias="样例菜单2">
<Cmd ID="7101" Bounds="0,0,2,1" Name="ActionName3" Alias="临时测试3" Icon="TODO3" />
<Cmd ID="7102" Bounds="0,1,2,1" Name="ActionName4" Alias="临时测试4" Icon="TODO4" />
</Group>
<Group Name="Demo3" Alias="样例菜单3" Visible="0">
<Group Name="Demo3" Alias="样例菜单3">
<Cmd ID="7201" Bounds="0,0,2,1" Name="ActionName4" Alias="临时测试5" Icon="TODO5" />
<Cmd ID="7202" Bounds="0,1,2,1" Name="ActionName5" Alias="临时测试6" Icon="TODO6" />
</Group>
<Group Name="NmDebug" Alias="框架测试(Debug)" Visible="0">
<Group Name="NmDebug" Alias="框架测试(Debug)">
<Cmd ID="7999" Bounds="0,0,2,1" Name="NmDebug" Alias="框架代码调试" Icon="PrepareGrid" />
</Group>
</Tab>
<Tab ID="8" Name="Result" Alias="成果管理(R)" >
<Group Name="Rsts" Alias="成果管理">
<Group Name="Jobs" Alias="成果管理">
<Cmd ID="1008" Bounds="0,0" Name="RstLoad" Alias="加载成果" Icon="LoadJobs" />
<Cmd ID="1009" Bounds="1,0" Name="RstSave" Type="1" ExtNames="RstSaveCur;RstSaveAll" ExtInfo="保存当前成果;保存所有成果" Alias="保存成果" Icon="SaveJobs" />
</Group>
@ -565,7 +541,7 @@
<Cmd ID="10008" Bounds="0,2,2,1" Name="UpdateLists" Alias="更新列表(I)" Icon="UpdateLists" />
</Group>
<Group Name="Lang" Alias="语言(Debug)">
<Group Name="Lang" Alias="语言">
<Cmd ID="10009" Bounds="0,0,2,1" Name="LangSwap" Alias="切换语言" Icon="LangSwap" />
</Group>

@ -430,10 +430,12 @@
<Tab ID="7" Name="SysTool" Alias="System Configuration Tools(T)" Visible="0" >
<Group Name="Demo1" Alias="AI Well Testing">
<Cmd ID="7001" Bounds="0,0,2,1" Name="SmartRecommendation" Alias="Smart Recommendation" Icon="AssisAnal" />
<Cmd ID="7002" Bounds="0,1,2,1" Name="SmartFitting" Alias="Smart Fitting" Icon="AutoFit" />
<Cmd ID="7003" Bounds="0,2,2,1" Name="SmartFeedbackFitting" Alias="Feedback Fitting" Icon="QuickMatch" Visible="0" />
<Group Name="SysTool" Alias="Configuration Tools">
<Cmd ID="7001" Bounds="0,1,2,1" Name="SysTools" Alias="System Configuration Tools" Icon="SysTools" />
</Group>
<Group Name="ModelManager" Alias="Model Management">
<Cmd ID="7002" Bounds="0,0,2,1" Name="ModelScan" Alias="Model View" Icon="ModelScan" />
</Group>
</Tab>

@ -189,7 +189,7 @@
<ParaItem Name="Pe" Alias="原始地层压力" LayerMode="1" Unit="MPa" Default="30" Max="500" Min="0.1" Digit="5" Desc="initial formation pressure"/>
<ParaItem Name="Pref" Alias="参考压力" LayerMode="1" Unit="MPa" Default="30" Max="500" Min="0.1" Digit="5" Desc="Reference pressure"/>
<ParaItem Name="Pi" Alias="初始压力" LayerMode="1" Unit="MPa" Default="30" Max="500" Min="0.1" Digit="5" Desc="initial pressure"/>
<ParaItem Name="Pit" Alias="地层压力" LayerMode="1" Unit="MPa" Default="30" Max="200" Min="1e-05" Digit="5" Desc="initial pressure1"/>
<ParaItem Name="Pit" Alias="地层压力" LayerMode="1" Unit="MPa" Default="30" Max="100" Min="1e-05" Digit="5" Desc="initial pressure1"/>
<ParaItem Name="N" Alias="储量" Unit="m^3" Default="100000" Max="1e+30" Min="1e-05" Digit="3" Desc="reserves"/>
<ParaItem Name="gamma" Alias="渗透率模量" Unit="1/MPa" Default="0.001" Max="1" Min="0" Scientific="1" Digit="10" Desc="stress sensitivity coefficient"/>
@ -208,7 +208,7 @@
<ParaGroup Name="" Alias="储层参数">
<ParaItem Name="Transmissibility" Alias="地层系数" LayerMode="1" Unit="mD.m" Default="100" Max="1e+30" Min="0" Digit="6" UseMode="7" Desc="Transmissibility"/>
<ParaItem Name="Rc" Alias="探测半径" Unit="m" UseMode="7" LayerMode="1" Default="100" Max="1e+30" Min="0" Digit="3" Desc="radius of investigation"/>
<ParaItem Name="Rc" Alias="探测半径" LayerMode="1" Unit="m" Default="100" Max="1e+30" Min="0" Digit="3" UseMode="7" Desc="radius of investigation"/>
<ParaItem Name="dt" Alias="测试时间" LayerMode="1" Unit="h" Default="100" Max="1e+30" Min="0" Digit="6" UseMode="7" Desc="test time"/>
<ParaItem Name="K" Alias="渗透率" Unit="mD" Default="5" Max="10000" Min="0" Digit="6" Desc="permeability"/>
@ -339,7 +339,7 @@
<ParaItem Name="lambdavf" Alias="溶孔向裂缝窜流系数" Unit="" Default="0.000001" Max="1" Min="0" Scientific="1" Digit="10" Desc="cross flow coefficient of inner vug"/>
<!--XA"-->
<ParaItem Name="MKu" Alias="流度" Unit="mD/(mPa.s)" UseMode="7" Default="5" Max="100000" Min="1e-05" Digit="3" Desc="mobility"/>
<ParaItem Name="MKu" Alias="流度" Unit="mD/(mPa.s)" Default="5" Max="100000" Min="1e-05" Digit="3" UseMode="7" Desc="mobility"/>
<ParaItem Name="M" Alias="流度比" Unit="" Default="5" Max="1000" Min="0.001" Digit="3" Desc="mobility ratio"/>
<ParaItem Name="ML1" Alias="层一流度比" Unit="" Default="1" Max="1000" Min="0.001" Digit="3" Desc="mobility ratio of layer1"/>
<ParaItem Name="ML2" Alias="层二流度比" Unit="" Default="1" Max="1000" Min="0.001" Digit="3" Desc="mobility ratio of layer2"/>

@ -218,7 +218,7 @@
<FieldInfo eDataType="4" Alias="流量2" FieldName="GaugeDataEx2"/>
<FieldInfo eDataType="4" Alias="流量3" FieldName="GaugeDataEx3"/>
<FieldInfo eDataType="1" Alias="多相" FieldName="MultiPhase" Visible="0"/>
<FieldInfo Alias="阶梯类型" FieldName="StepType" Visible="0"/>
<FieldInfo Alias="阶梯类型" FieldName="StepType"/>
<FieldInfo Alias="创建人" FieldName="Creator"/>
<FieldInfo Alias="创建时间" FieldName="CreatedTime"/>
<FieldInfo Alias="修改人" FieldName="Modifier"/>

@ -13,17 +13,6 @@ public:
public:
// TODO 注意,对于matlab的bessel函数,其实是有 besseli(0, q1, 1) 这种写法的
// 即:存在 第三个参数 1,即修正bessel方式,
// 如果不输入这个参数(或输入 0)时,besseli 直接计算函数值。
// 当自变量 q1 较大时,函数值会急剧增大,很容易超出双精度浮点数的上限(即“上溢”),
// 导致计算结果变为 Inf 而失效
// 如果输入这个参数 1 之后,MATLAB 会计算 缩放后的值,也就是说,它会乘上一个指数衰减因子
// exp(-abs(x)) 来抵消函数本身的高速增长。
// 即:
// besseli(0, q1) → 等价于 besseli(0, q1, 0) → 不乘衰减因子,直接算原函数值。
// besseli(0, q1, 1) → 才乘衰减因子 exp(-abs(q1))
// 贝塞尔函数(基础函数部分)
bool besselI0(double x, double &b);
double getbesselI0(double x);

@ -51,9 +51,6 @@ public:
// 注:该函数目前被yinw算法+xieh算法中均有应用
static double besselk(double nu, double z);
// 20260908 xieh 再次针对震荡情形,对besselk函数做了优化升级
static double besselk_opt(double nu, double z);
// 伽马函数 Gamma(z)
static double gamma(double z);

@ -1,74 +0,0 @@
#pragma once
#include <QApplication>
#include <IxSystem.h>
#include "ZxDynamic.h"
#include "iAppBase_global.h"
QT_BEGIN_NAMESPACE
class QSettings;
class QTimer;
class QAction;
QT_END_NAMESPACE
class ZxIdleEventFilter;
// 存放全局对象/路径等信息
class I_APPBASE_EXPORT ZxSystem
: public QObject
, virtual public IxSystem
, virtual public IxDynObj
{
Q_OBJECT
ZX_DECLARE_DYNAMIC
public:
ZxSystem();
~ZxSystem();
// 初始化
virtual bool init();
// 配置载体
virtual QSettings* getSettings(const QString& sModule, \
bool bResetIfExists = false);
// 版本
virtual QString getAppVer() const;
// 图标加载(缓存)
virtual QIcon loadIcon(const QString& name, int wh = -1) const;
// 加载css
virtual void loadCss(const QString& cssFile = "", \
QApplication* pApp = nullptr) const;
private slots:
// void onAppDestroyed();
void onAppAboutToQuit();
private:
void onIdle();
private:
// 配置载体
QMap<QString, QSettings*> m_mapSettings;
// 空闲处理
//QObject* m_pIdleEventFilter;
ZxIdleEventFilter* m_pIdleEventFilter;
bool m_bInited;
friend class ZxModuleInfo;
friend class ZxIdleEventFilter;
};

@ -1,17 +1,11 @@
#pragma once
#include <QObject>
#include <QTextEdit>
#include "Defines.h"
#include "iLogs_global.h"
// 日志单例
// 202609020 改为QObject 以支持跨线程写入
class I_LOGSSHARED_EXPORT zxLogInstance : public QObject
class I_LOGSSHARED_EXPORT zxLogInstance
{
Q_OBJECT
public:
// 获取对象,单例模式
@ -28,7 +22,7 @@ public:
void writeLogI(QString sLog);
void writeLogF(QString sLog);
void writeLogW(QString sLog);
void writeLog(const QString& msg);
void writeLog(const QString& msg);
void openLog(); //打开日志
void preSaveLog(); //当大于16M时,备份文件
@ -46,36 +40,6 @@ public:
// 该函数返回的结果是ini中配置的AppDescEN,如CNPC-TEST
QString getAppDescEN();
signals:
///////////////////////////////////////////////////////
// 由工作线程 emit,交由 MainWindow 主线程执行
// 参数只用基础类型,确保跨线程安全
// 追加日志内容
void sigAppendLog(const QString& msg, \
const QColor& color);
// 清空日志内容
void sigClearLog();
///////////////////////////////////////////////////////
private slots:
///////////////////////////////////////////////////////
// 以下槽函数在 zxLogInstance 所属线程(MainWindow 主线程)执行,
// 在这里才真正操作 QTextEdit
// 追加日志内容
void onAppendLog(const QString& msg, \
const QColor& color);
// 清空日志内容
void onClearLog();
///////////////////////////////////////////////////////
private:
zxLogInstance();
@ -91,3 +55,7 @@ private:
QString m_sAppDescCN;
QString m_sAppDescEN;
};

@ -16,7 +16,7 @@ public:
static ZxDbSimple* getInstance();
// 关闭
static void exit();
static void closeDb();
// 设置路径,如果_s_ini非空,则从ini文件获取
static void setURL(QString _s_url,
@ -24,18 +24,15 @@ public:
bool bForceReopen = false);
// 获得数据库连接
virtual QSqlDatabase& getSimpleDb();
virtual QSqlDatabase getSimpleDb();
virtual QSqlDatabase* getSimpleDbPtr();
// 是否数据载体(链接)
virtual void releaseDb();
#ifdef _SINGLE_WELL_MODE_
// 针对湛江模式,启用一口井一个db文件模式
bool isDbExtActivated();
void setDbUrlExt(QString url,
bool bForceReopen = false);
virtual QSqlDatabase& getSimpleDbExt();
virtual QSqlDatabase getSimpleDbExt();
virtual QSqlDatabase* getSimpleDbExtPtr();
#endif
@ -44,9 +41,6 @@ public:
void connCommit(QString connectionStr = "");
void connRollback(QString connectionStr = "");
// 尝试长路径,暂未成功
static QString toUncPath(const QString& s);
public:
ZxDbSimple();

@ -163,8 +163,6 @@ protected:
QToolButton* m_pGroupBt;
//内容区容器(折叠时隐藏,展开时显示)
QWidget* m_pContentWx;
// 内容区原先所在的布局,弹窗关闭后需放回原位置。
QLayout* m_pContentHostLayout;
//主布局
QVBoxLayout* m_pLayoutMain;
@ -181,6 +179,4 @@ protected:
// 弹出过程中标志,防止 setParent 引起的 hide 触发恢复逻辑
bool m_bPopupShowing;
int m_nContentMinHeight;
int m_nContentMaxHeight;
};

@ -13,7 +13,7 @@ class I_GUI_RIBBON_EXPORT iWxGroupBar : public QWidget
public:
explicit iWxGroupBar(iRibbonXmlGroup* pGroupXml = nullptr, \
explicit iWxGroupBar(iRibbonXmlGroup* pGroupXml = NULL, \
QWidget *parent = 0);
~iWxGroupBar();
@ -32,9 +32,6 @@ public:
// 返回该 Group 内创建的所有子控件
QVector<QWidget*>& getSubCtrls() ;
//得到里面控件个数是否需要折叠按钮
bool bCollapse();
public:
//初始化
virtual void initUI();
@ -48,10 +45,6 @@ protected:
void initGroupBt();
//初始化控件上部分(主要功能区)
void initCtrlTopUI();
//两种布局
void initCtrlTopGridUI();//网格
void initCtrlTopHorUI(); //水平
//初始化控件下部分(标签区+折叠按钮)
void initCtrlBotUI();
@ -59,6 +52,7 @@ protected:
QWidget* createTabBy(iRibbonXmlTab* pTab);
QWidget* createGroupBy(iRibbonXmlGroup* pGroup);
QWidget* createCmdBy(iRibbonXmlCmd* pCmd, bool bAdd = true);
QWidget* createCmdBy_Btn(iRibbonXmlCmd* pCmd);
QWidget* createCmdBy_Combo(iRibbonXmlCmd* pCmd);
QWidget* createCmdBy_Check(iRibbonXmlCmd* pCmd);

@ -40,13 +40,6 @@ public:
bool fillUIOfRecentProjects(); //更新最近打开菜单项
bool removeFromRecentProjects(QString sUrl);
// 对于
/// @brief 设置某个Tab下某个Group是否
/// @param sID菜单ID
/// @param sName菜单名称
//void setTabGroupCollapse(QString sID, QString sName);
protected:
// paint
@ -141,6 +134,7 @@ protected:
QString m_sAppDescCN;
QString m_sAppDescEN;
// 最近打开项目
enum { MaxRecentProjects = 5 };
QAction* m_oRecentProjectActs[MaxRecentProjects];

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save