NNC: Show IJK values in Result Info

This commit is contained in:
Magne Sjaastad 2013-12-20 14:29:08 +01:00
parent 1c80a9dbe8
commit e8137ff78a
4 changed files with 62 additions and 15 deletions

View File

@ -245,6 +245,7 @@ bool RifReaderEclipseOutput::transferGeometry(const ecl_grid_type* mainEclGrid,
CVF_ASSERT(activeCellInfo && fractureActiveCellInfo);
RigMainGrid* mainGrid = eclipseCase->mainGrid();
CVF_ASSERT(mainGrid);
{
cvf::Vec3st gridPointDim(0,0,0);
gridPointDim.x() = ecl_grid_get_nx(mainEclGrid) + 1;
@ -253,6 +254,10 @@ bool RifReaderEclipseOutput::transferGeometry(const ecl_grid_type* mainEclGrid,
mainGrid->setGridPointDimensions(gridPointDim);
}
// std::string mainGridName = ecl_grid_get_name(mainEclGrid);
// ERT returns file path to grid file as name for main grid
mainGrid->setGridName("Main grid");
// Get and set grid and lgr metadata
size_t totalCellCount = static_cast<size_t>(ecl_grid_get_global_size(mainEclGrid));

View File

@ -1818,27 +1818,69 @@ void RimReservoirView::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimReservoirView::appendNNCResultInfo(size_t gridIndex, size_t nncIndex, QString* resultInfo)
void RimReservoirView::appendNNCResultInfo(size_t nncIndex, QString* resultInfo)
{
if (gridIndex != 0)
{
return;
}
CVF_ASSERT(resultInfo);
if (m_reservoir && m_reservoir->reservoirData())
{
RigCaseData* eclipseCase = m_reservoir->reservoirData();
RigMainGrid* grid = eclipseCase->mainGrid();
RigNNCData* nncData = grid->nncData();
const RigConnection& conn = nncData->connections()[nncIndex];
CVF_ASSERT(grid);
cvf::StructGridInterface::FaceEnum face(conn.m_c1Face);
RigNNCData* nncData = grid->nncData();
CVF_ASSERT(nncData);
resultInfo->append(QString("NNC Transmissibility : %1\n").arg(conn.m_transmissibility));
resultInfo->append(QString("NNC Cell 1 : %1, Face: %2\n").arg(conn.m_c1GlobIdx).arg(face.text()));
resultInfo->append(QString("NNC Cell 2 : %1\n").arg(conn.m_c2GlobIdx));
if (nncData)
{
const RigConnection& conn = nncData->connections()[nncIndex];
cvf::StructGridInterface::FaceEnum face(conn.m_c1Face);
resultInfo->append(QString("NNC Transmissibility : %1\n").arg(conn.m_transmissibility));
{
CVF_ASSERT(conn.m_c1GlobIdx < grid->cells().size());
const RigCell& cell = grid->cells()[conn.m_c1GlobIdx];
RigGridBase* hostGrid = cell.hostGrid();
size_t localCellIndex = cell.cellIndex();
size_t i, j, k;
if (hostGrid->ijkFromCellIndex(localCellIndex, &i, &j, &k))
{
// Adjust to 1-based Eclipse indexing
i++;
j++;
k++;
QString gridName = QString::fromStdString(hostGrid->gridName());
resultInfo->append(QString("NNC Cell 1 : IJK %1 %2 %3 (%4)\n").arg(i).arg(j).arg(k).arg(gridName));
}
}
{
CVF_ASSERT(conn.m_c2GlobIdx < grid->cells().size());
const RigCell& cell = grid->cells()[conn.m_c2GlobIdx];
RigGridBase* hostGrid = cell.hostGrid();
size_t localCellIndex = cell.cellIndex();
size_t i, j, k;
if (hostGrid->ijkFromCellIndex(localCellIndex, &i, &j, &k))
{
// Adjust to 1-based Eclipse indexing
i++;
j++;
k++;
QString gridName = QString::fromStdString(hostGrid->gridName());
resultInfo->append(QString("NNC Cell 2 : IJK %1 %2 %3 (%4)\n").arg(i).arg(j).arg(k).arg(gridName));
}
}
resultInfo->append(QString("Face: %2\n").arg(face.text()));
}
}
}

View File

@ -159,7 +159,7 @@ public:
// Picking info
bool pickInfo(size_t gridIndex, size_t cellIndex, const cvf::Vec3d& point, QString* pickInfoText) const;
void appendCellResultInfo(size_t gridIndex, size_t cellIndex, QString* resultInfoText) ;
void appendNNCResultInfo( size_t gridIndex, size_t nncIndex, QString* resultInfo );
void appendNNCResultInfo(size_t nncIndex, QString* resultInfo);
// Does this belong here, really ?
void calculateVisibleWellCellsIncFence(cvf::UByteArray* visibleCells, RigGridBase * grid);

View File

@ -462,7 +462,7 @@ void RiuViewer::handlePickAction(int winPosX, int winPosY)
{
size_t nncIndex = rivSourceInfo->m_NNCIndices->get(faceIndex);
m_reservoirView->appendNNCResultInfo(gridIndex, nncIndex, &resultInfo);
m_reservoirView->appendNNCResultInfo(nncIndex, &resultInfo);
}
}
}