|
|
|
|
@ -101,8 +101,17 @@ static QString solverModelDisplayName(NM_SOLVER_MODEL_TYPE eType)
|
|
|
|
|
return nmWxNumericalDesign::tr("Water single-phase variable pvt");
|
|
|
|
|
case SMT_Gas_VariablePvt:
|
|
|
|
|
return nmWxNumericalDesign::tr("Gas single-phase variable pvt");
|
|
|
|
|
case SMT_Oil_Gas_TwoPhase:
|
|
|
|
|
return nmWxNumericalDesign::tr(
|
|
|
|
|
"Oil-gas two-phase (solver unavailable)");
|
|
|
|
|
case SMT_Oil_Water_TwoPhase:
|
|
|
|
|
return nmWxNumericalDesign::tr("Oil-water two-phase");
|
|
|
|
|
case SMT_Gas_Water_TwoPhase:
|
|
|
|
|
return nmWxNumericalDesign::tr(
|
|
|
|
|
"Gas-water two-phase (solver unavailable)");
|
|
|
|
|
case SMT_Oil_Gas_Water_ThreePhase:
|
|
|
|
|
return nmWxNumericalDesign::tr(
|
|
|
|
|
"Oil-gas-water three-phase (solver unavailable)");
|
|
|
|
|
default:
|
|
|
|
|
return QString();
|
|
|
|
|
}
|
|
|
|
|
@ -338,6 +347,15 @@ void nmWxNumericalDesign::updateCurrentModelDisplay()
|
|
|
|
|
NM_PHASE_TYPE ePhase = (pReservoir != nullptr) ? pReservoir->getPhaseType() : PHASE_UNKNOWN;
|
|
|
|
|
NM_SOLVER_MODEL_TYPE eCurrentType = pManager->getSolverModelType();
|
|
|
|
|
|
|
|
|
|
const bool bCurrentModelSupported =
|
|
|
|
|
nmIsSupportedPebiSolverModel(eCurrentType);
|
|
|
|
|
if(!bCurrentModelSupported) {
|
|
|
|
|
// 未开放模型仍显示分析页传入的真实相态,但不允许用户切换。
|
|
|
|
|
const QString sCurrentModelName = solverModelDisplayName(eCurrentType);
|
|
|
|
|
if(!sCurrentModelName.isEmpty()) {
|
|
|
|
|
m_pCurrentModelCombo->addItem(sCurrentModelName, eCurrentType);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
switch(ePhase) {
|
|
|
|
|
case PHASE_Oil:
|
|
|
|
|
m_pCurrentModelCombo->addItem(solverModelDisplayName(SMT_Oil_ConstPvt), SMT_Oil_ConstPvt);
|
|
|
|
|
@ -356,13 +374,15 @@ void nmWxNumericalDesign::updateCurrentModelDisplay()
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int nIndex = m_pCurrentModelCombo->findData(eCurrentType);
|
|
|
|
|
if(nIndex >= 0) {
|
|
|
|
|
m_pCurrentModelCombo->setCurrentIndex(nIndex);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
m_pCurrentModelCombo->setEnabled(true);
|
|
|
|
|
m_pCurrentModelCombo->setEnabled(
|
|
|
|
|
bCurrentModelSupported && m_pCurrentModelCombo->count() > 0);
|
|
|
|
|
m_bFillingCurrentModelCombo = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|