mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#1836 Add region selection threshold fields
This commit is contained in:
parent
fa943226bc
commit
c736e10ad5
@ -93,6 +93,8 @@ RimFlowCharacteristicsPlot::RimFlowCharacteristicsPlot()
|
|||||||
CAF_PDM_InitFieldNoDefault(&m_selectedTracerNames, "SelectedTracerNames", " ", "", "", "");
|
CAF_PDM_InitFieldNoDefault(&m_selectedTracerNames, "SelectedTracerNames", " ", "", "", "");
|
||||||
m_selectedTracerNames.uiCapability()->setUiEditorTypeName(caf::PdmUiListEditor::uiEditorTypeName());
|
m_selectedTracerNames.uiCapability()->setUiEditorTypeName(caf::PdmUiListEditor::uiEditorTypeName());
|
||||||
CAF_PDM_InitFieldNoDefault(&m_showRegion, "ShowRegion", "", "", "", "");
|
CAF_PDM_InitFieldNoDefault(&m_showRegion, "ShowRegion", "", "", "", "");
|
||||||
|
CAF_PDM_InitField(&m_minCommunication, "MinCommunication", 0.0, "Min Communication", "", "", "");
|
||||||
|
CAF_PDM_InitField(&m_maxTof, "MaxTof", 146000, "Max Time of Flight [days]", "", "", "");
|
||||||
m_showRegion.xmlCapability()->setIOWritable(false);
|
m_showRegion.xmlCapability()->setIOWritable(false);
|
||||||
m_showRegion.xmlCapability()->setIOReadable(false);
|
m_showRegion.xmlCapability()->setIOReadable(false);
|
||||||
m_showRegion.uiCapability()->setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName());
|
m_showRegion.uiCapability()->setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName());
|
||||||
@ -363,6 +365,16 @@ void RimFlowCharacteristicsPlot::defineUiOrdering(QString uiConfigName, caf::Pdm
|
|||||||
{
|
{
|
||||||
regionGroup->add(&m_cellFilterView);
|
regionGroup->add(&m_cellFilterView);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (m_cellFilter() == RigFlowDiagResults::CELLS_COMMUNICATION)
|
||||||
|
{
|
||||||
|
regionGroup->add(&m_minCommunication);
|
||||||
|
}
|
||||||
|
else if (m_cellFilter() == RigFlowDiagResults::CELLS_DRAINED ||
|
||||||
|
m_cellFilter() == RigFlowDiagResults::CELLS_FLOODED)
|
||||||
|
{
|
||||||
|
regionGroup->add(&m_maxTof);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -602,7 +614,12 @@ void RimFlowCharacteristicsPlot::loadDataAndUpdate()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
auto flowCharResults = flowResult->flowCharacteristicsResults(timeStepIdx, m_cellFilter(), selectedTracerNames, m_maxPvFraction());
|
auto flowCharResults = flowResult->flowCharacteristicsResults(timeStepIdx,
|
||||||
|
m_cellFilter(),
|
||||||
|
selectedTracerNames,
|
||||||
|
m_maxPvFraction(),
|
||||||
|
m_minCommunication(),
|
||||||
|
m_maxTof());
|
||||||
timeStepToFlowResultMap[timeStepIdx] = flowCharResults;
|
timeStepToFlowResultMap[timeStepIdx] = flowCharResults;
|
||||||
}
|
}
|
||||||
lorenzVals[timeStepIdx] = timeStepToFlowResultMap[timeStepIdx].m_lorenzCoefficient;
|
lorenzVals[timeStepIdx] = timeStepToFlowResultMap[timeStepIdx].m_lorenzCoefficient;
|
||||||
|
@ -104,6 +104,9 @@ private:
|
|||||||
caf::PdmField< std::vector<QString> > m_selectedTracerNames;
|
caf::PdmField< std::vector<QString> > m_selectedTracerNames;
|
||||||
caf::PdmField<bool> m_showRegion;
|
caf::PdmField<bool> m_showRegion;
|
||||||
|
|
||||||
|
caf::PdmField<double> m_minCommunication;
|
||||||
|
caf::PdmField<int> m_maxTof;
|
||||||
|
|
||||||
std::vector<int> m_currentlyPlottedTimeSteps;
|
std::vector<int> m_currentlyPlottedTimeSteps;
|
||||||
|
|
||||||
QPointer<RiuFlowCharacteristicsPlot> m_flowCharPlotWidget;
|
QPointer<RiuFlowCharacteristicsPlot> m_flowCharPlotWidget;
|
||||||
|
@ -695,7 +695,9 @@ std::vector<int> RigFlowDiagResults::calculatedTimeSteps(RigFlowDiagResultAddres
|
|||||||
RigFlowDiagSolverInterface::FlowCharacteristicsResultFrame RigFlowDiagResults::flowCharacteristicsResults(int frameIndex,
|
RigFlowDiagSolverInterface::FlowCharacteristicsResultFrame RigFlowDiagResults::flowCharacteristicsResults(int frameIndex,
|
||||||
CellFilter cellSelection,
|
CellFilter cellSelection,
|
||||||
const std::vector<QString>& tracerNames,
|
const std::vector<QString>& tracerNames,
|
||||||
double max_pv_fraction)
|
double max_pv_fraction,
|
||||||
|
double minCommunication,
|
||||||
|
int maxTof)
|
||||||
{
|
{
|
||||||
std::set<std::string> injectorNames;
|
std::set<std::string> injectorNames;
|
||||||
std::set<std::string> producerNames;
|
std::set<std::string> producerNames;
|
||||||
@ -734,7 +736,7 @@ RigFlowDiagSolverInterface::FlowCharacteristicsResultFrame RigFlowDiagResults::f
|
|||||||
|
|
||||||
for (size_t i = 0; i < communicationResult->size(); ++i)
|
for (size_t i = 0; i < communicationResult->size(); ++i)
|
||||||
{
|
{
|
||||||
if (communicationResult->at(i) != HUGE_VAL && communicationResult->at(i) >= 0)
|
if (communicationResult->at(i) != HUGE_VAL && communicationResult->at(i) >= minCommunication)
|
||||||
{
|
{
|
||||||
selectedCellIndices.push_back(i);
|
selectedCellIndices.push_back(i);
|
||||||
if (allInjectorResults != nullptr) injectorResults.push_back(allInjectorResults->at(i));
|
if (allInjectorResults != nullptr) injectorResults.push_back(allInjectorResults->at(i));
|
||||||
@ -748,7 +750,7 @@ RigFlowDiagSolverInterface::FlowCharacteristicsResultFrame RigFlowDiagResults::f
|
|||||||
{
|
{
|
||||||
for (size_t i = 0; i < allInjectorResults->size(); ++i)
|
for (size_t i = 0; i < allInjectorResults->size(); ++i)
|
||||||
{
|
{
|
||||||
if (allInjectorResults->at(i) != HUGE_VAL)
|
if (allInjectorResults->at(i) != HUGE_VAL && allInjectorResults->at(i) <= maxTof)
|
||||||
{
|
{
|
||||||
selectedCellIndices.push_back(i);
|
selectedCellIndices.push_back(i);
|
||||||
injectorResults.push_back(allInjectorResults->at(i));
|
injectorResults.push_back(allInjectorResults->at(i));
|
||||||
@ -770,7 +772,7 @@ RigFlowDiagSolverInterface::FlowCharacteristicsResultFrame RigFlowDiagResults::f
|
|||||||
{
|
{
|
||||||
for (size_t i = 0; i < allProducerResults->size(); ++i)
|
for (size_t i = 0; i < allProducerResults->size(); ++i)
|
||||||
{
|
{
|
||||||
if (allProducerResults->at(i) != HUGE_VAL)
|
if (allProducerResults->at(i) != HUGE_VAL && allProducerResults->at(i) <= maxTof)
|
||||||
{
|
{
|
||||||
selectedCellIndices.push_back(i);
|
selectedCellIndices.push_back(i);
|
||||||
producerResults.push_back(allProducerResults->at(i));
|
producerResults.push_back(allProducerResults->at(i));
|
||||||
|
@ -84,7 +84,9 @@ public:
|
|||||||
RigFlowDiagSolverInterface::FlowCharacteristicsResultFrame flowCharacteristicsResults(int frameIndex,
|
RigFlowDiagSolverInterface::FlowCharacteristicsResultFrame flowCharacteristicsResults(int frameIndex,
|
||||||
CellFilter cellSelection,
|
CellFilter cellSelection,
|
||||||
const std::vector<QString>& tracerNames,
|
const std::vector<QString>& tracerNames,
|
||||||
double max_pv_fraction);
|
double max_pv_fraction,
|
||||||
|
double minCommunication,
|
||||||
|
int maxTof);
|
||||||
|
|
||||||
RigFlowDiagSolverInterface::FlowCharacteristicsResultFrame flowCharacteristicsResults(int frameIndex,
|
RigFlowDiagSolverInterface::FlowCharacteristicsResultFrame flowCharacteristicsResults(int frameIndex,
|
||||||
const std::vector<char>& visibleActiveCells,
|
const std::vector<char>& visibleActiveCells,
|
||||||
|
Loading…
Reference in New Issue
Block a user