|
|
|
@ -20,9 +20,11 @@ static const char* const s_pCatalogTranslationMarkers[] =
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Homogeneous"),
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Homogeneous"),
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Dual porosity pseudo steady state"),
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Dual porosity pseudo steady state"),
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Fault flow model"),
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Fault flow model"),
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Region flow model"),
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Boundary type"),
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Leaky"),
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Leaky"),
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Composite limit"),
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Composite limit"),
|
|
|
|
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Permeable boundary"),
|
|
|
|
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Composite boundary"),
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Fracture flow model"),
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Fracture flow model"),
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Finite conductivity"),
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Finite conductivity"),
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Infinite conductivity"),
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Infinite conductivity"),
|
|
|
|
@ -36,11 +38,11 @@ static const char* const s_pCatalogTranslationMarkers[] =
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Vertical well"),
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Vertical well"),
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Fractured vertical well"),
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Fractured vertical well"),
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Multistage fractured horizontal well"),
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Multistage fractured horizontal well"),
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Dual-medium parameters"),
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Reservoir medium parameters"),
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Geometry"),
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Geometry"),
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Flow properties"),
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Flow properties"),
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Conductivity properties"),
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Conductivity properties"),
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Region properties")
|
|
|
|
QT_TRANSLATE_NOOP("nmWxReservoirPropertiesEditor", "Boundary properties")
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/** @brief 返回当前语言下的界面文字。 */
|
|
|
|
/** @brief 返回当前语言下的界面文字。 */
|
|
|
|
@ -108,19 +110,21 @@ nmReservoirParameterFieldInfo reservoirModelField(
|
|
|
|
return oField;
|
|
|
|
return oField;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/** @brief 创建断层或复合区流动模型字段。 */
|
|
|
|
/** @brief 按指定显示文字创建断层或复合区流动模型字段。 */
|
|
|
|
nmReservoirParameterFieldInfo leakageModelField(
|
|
|
|
nmReservoirParameterFieldInfo leakageModelField(
|
|
|
|
const QString& sParameterId,
|
|
|
|
const QString& sParameterId,
|
|
|
|
const char* pLabel)
|
|
|
|
const char* pLabel,
|
|
|
|
|
|
|
|
const char* pLeakyText,
|
|
|
|
|
|
|
|
const char* pCompositeText)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
nmReservoirParameterFieldInfo oField;
|
|
|
|
nmReservoirParameterFieldInfo oField;
|
|
|
|
oField.m_sParameterId = sParameterId;
|
|
|
|
oField.m_sParameterId = sParameterId;
|
|
|
|
oField.m_sLabel = editorText(pLabel);
|
|
|
|
oField.m_sLabel = editorText(pLabel);
|
|
|
|
oField.m_eEditorType = NM_RESERVOIR_EDITOR_ENUM;
|
|
|
|
oField.m_eEditorType = NM_RESERVOIR_EDITOR_ENUM;
|
|
|
|
oField.m_bUnitEnabled = false;
|
|
|
|
oField.m_bUnitEnabled = false;
|
|
|
|
oField.m_listOptions.append(enumOption("leaky", "Leaky"));
|
|
|
|
oField.m_listOptions.append(enumOption("leaky", pLeakyText));
|
|
|
|
oField.m_listOptions.append(enumOption(
|
|
|
|
oField.m_listOptions.append(enumOption(
|
|
|
|
"composite_limit", "Composite limit"));
|
|
|
|
"composite_limit", pCompositeText));
|
|
|
|
return oField;
|
|
|
|
return oField;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -154,6 +158,7 @@ nmReservoirParameterGroupInfo parameterGroup(
|
|
|
|
oGroup.m_nRowSpan = 1;
|
|
|
|
oGroup.m_nRowSpan = 1;
|
|
|
|
oGroup.m_nColumnSpan = nColumnSpan;
|
|
|
|
oGroup.m_nColumnSpan = nColumnSpan;
|
|
|
|
oGroup.m_bValueRightAligned = false;
|
|
|
|
oGroup.m_bValueRightAligned = false;
|
|
|
|
|
|
|
|
oGroup.m_bFieldsCentered = false;
|
|
|
|
return oGroup;
|
|
|
|
return oGroup;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -535,7 +540,8 @@ nmReservoirParameterCatalog::createObjectInfos(
|
|
|
|
oSnapshot.m_vecRegionMarks[nIndex].getRegionMarkName();
|
|
|
|
oSnapshot.m_vecRegionMarks[nIndex].getRegionMarkName();
|
|
|
|
|
|
|
|
|
|
|
|
nmReservoirParameterGroupInfo oDual =
|
|
|
|
nmReservoirParameterGroupInfo oDual =
|
|
|
|
parameterGroup("Dual-medium parameters", 0, 0, 2);
|
|
|
|
parameterGroup("Reservoir medium parameters", 0, 0, 2);
|
|
|
|
|
|
|
|
oDual.m_bFieldsCentered = true;
|
|
|
|
oDual.m_listFields
|
|
|
|
oDual.m_listFields
|
|
|
|
<< reservoirModelField(prefixed(
|
|
|
|
<< reservoirModelField(prefixed(
|
|
|
|
oInfo.m_sObjectCode, "RM_ReservoirType"))
|
|
|
|
oInfo.m_sObjectCode, "RM_ReservoirType"))
|
|
|
|
@ -584,7 +590,9 @@ nmReservoirParameterCatalog::createObjectInfos(
|
|
|
|
oFlow.m_listFields
|
|
|
|
oFlow.m_listFields
|
|
|
|
<< leakageModelField(prefixed(
|
|
|
|
<< leakageModelField(prefixed(
|
|
|
|
oInfo.m_sObjectCode, "FT_FlowModel"),
|
|
|
|
oInfo.m_sObjectCode, "FT_FlowModel"),
|
|
|
|
"Fault flow model")
|
|
|
|
"Fault flow model",
|
|
|
|
|
|
|
|
"Leaky",
|
|
|
|
|
|
|
|
"Composite limit")
|
|
|
|
<< numericField(prefixed(
|
|
|
|
<< numericField(prefixed(
|
|
|
|
oInfo.m_sObjectCode, "FT_Leakage"),
|
|
|
|
oInfo.m_sObjectCode, "FT_Leakage"),
|
|
|
|
"FT_Leakage");
|
|
|
|
"FT_Leakage");
|
|
|
|
@ -659,11 +667,14 @@ nmReservoirParameterCatalog::createObjectInfos(
|
|
|
|
oSnapshot.m_vecRegions[nIndex].getRegoinName();
|
|
|
|
oSnapshot.m_vecRegions[nIndex].getRegoinName();
|
|
|
|
|
|
|
|
|
|
|
|
nmReservoirParameterGroupInfo oRegion =
|
|
|
|
nmReservoirParameterGroupInfo oRegion =
|
|
|
|
parameterGroup("Region properties", 0, 0, 2);
|
|
|
|
parameterGroup("Boundary properties", 0, 0, 2);
|
|
|
|
|
|
|
|
oRegion.m_bFieldsCentered = true;
|
|
|
|
oRegion.m_listFields
|
|
|
|
oRegion.m_listFields
|
|
|
|
<< leakageModelField(prefixed(
|
|
|
|
<< leakageModelField(prefixed(
|
|
|
|
oInfo.m_sObjectCode, "R_FlowModel"),
|
|
|
|
oInfo.m_sObjectCode, "R_FlowModel"),
|
|
|
|
"Region flow model")
|
|
|
|
"Boundary type",
|
|
|
|
|
|
|
|
"Permeable boundary",
|
|
|
|
|
|
|
|
"Composite boundary")
|
|
|
|
<< numericField(prefixed(
|
|
|
|
<< numericField(prefixed(
|
|
|
|
oInfo.m_sObjectCode, "R_Leakage"),
|
|
|
|
oInfo.m_sObjectCode, "R_Leakage"),
|
|
|
|
"R_Leakage");
|
|
|
|
"R_Leakage");
|
|
|
|
|