mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
To prepare for well log extraction
This commit is contained in:
@@ -57,3 +57,26 @@ double RigActiveCellsResultAccessor::cellFaceScalar(size_t gridLocalCellIndex, c
|
||||
return cellScalar(gridLocalCellIndex);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
double RigActiveCellsResultAccessor::cellScalarGlobIdx(size_t reservoirCellIndex) const
|
||||
{
|
||||
if (m_reservoirResultValues == NULL || m_reservoirResultValues->size() == 0) return HUGE_VAL;
|
||||
|
||||
size_t resultValueIndex = m_activeCellInfo->cellResultIndex(reservoirCellIndex);
|
||||
if (resultValueIndex == cvf::UNDEFINED_SIZE_T) return HUGE_VAL;
|
||||
|
||||
CVF_TIGHT_ASSERT(resultValueIndex < m_reservoirResultValues->size());
|
||||
|
||||
return m_reservoirResultValues->at(resultValueIndex);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
double RigActiveCellsResultAccessor::cellFaceScalarGlobIdx(size_t globCellIndex, cvf::StructGridInterface::FaceType faceId) const
|
||||
{
|
||||
return cellScalarGlobIdx(globCellIndex);
|
||||
}
|
||||
|
||||
|
||||
@@ -36,6 +36,9 @@ public:
|
||||
virtual double cellScalar(size_t gridLocalCellIndex) const;
|
||||
virtual double cellFaceScalar(size_t gridLocalCellIndex, cvf::StructGridInterface::FaceType faceId) const;
|
||||
|
||||
virtual double cellScalarGlobIdx(size_t globCellIndex) const;
|
||||
virtual double cellFaceScalarGlobIdx(size_t globCellIndex, cvf::StructGridInterface::FaceType faceId) const;
|
||||
|
||||
private:
|
||||
const RigActiveCellInfo* m_activeCellInfo;
|
||||
const RigGridBase* m_grid;
|
||||
|
||||
@@ -64,3 +64,29 @@ double RigCellEdgeResultAccessor::cellFaceScalar(size_t gridLocalCellIndex, cvf:
|
||||
return HUGE_VAL;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
double RigCellEdgeResultAccessor::cellScalarGlobIdx(size_t globCellIndex) const
|
||||
{
|
||||
// TODO: How to handle when we get here?
|
||||
CVF_ASSERT(false);
|
||||
|
||||
return cvf::UNDEFINED_DOUBLE;
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
double RigCellEdgeResultAccessor::cellFaceScalarGlobIdx(size_t globCellIndex, cvf::StructGridInterface::FaceType faceId) const
|
||||
{
|
||||
const RigResultAccessor* resultAccessObj = m_resultAccessObjects[faceId].p();
|
||||
if (resultAccessObj != NULL)
|
||||
{
|
||||
return resultAccessObj->cellFaceScalarGlobIdx(globCellIndex, faceId);
|
||||
}
|
||||
|
||||
return HUGE_VAL;
|
||||
}
|
||||
|
||||
|
||||
@@ -37,6 +37,9 @@ public:
|
||||
virtual double cellScalar(size_t gridLocalCellIndex) const;
|
||||
virtual double cellFaceScalar(size_t gridLocalCellIndex, cvf::StructGridInterface::FaceType faceId) const;
|
||||
|
||||
virtual double cellScalarGlobIdx(size_t globCellIndex) const;
|
||||
virtual double cellFaceScalarGlobIdx(size_t globCellIndex, cvf::StructGridInterface::FaceType faceId) const;
|
||||
|
||||
private:
|
||||
caf::FixedArray<cvf::ref<RigResultAccessor>, 6> m_resultAccessObjects;
|
||||
};
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
#include "RigGridBase.h"
|
||||
|
||||
#include <cmath>
|
||||
#include "RigCell.h"
|
||||
#include "RigMainGrid.h"
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -147,3 +149,22 @@ double RigCombMultResultAccessor::nativeMultScalar(size_t gridLocalCellIndex, cv
|
||||
return faceScalar;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
double RigCombMultResultAccessor::cellScalarGlobIdx(size_t globCellIndex) const
|
||||
{
|
||||
CVF_TIGHT_ASSERT(false);
|
||||
|
||||
return HUGE_VAL;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
double RigCombMultResultAccessor::cellFaceScalarGlobIdx(size_t globCellIndex, cvf::StructGridInterface::FaceType faceId) const
|
||||
{
|
||||
size_t gridLocalCellIndex = m_grid->mainGrid()->cell(globCellIndex).gridLocalCellIndex();
|
||||
return this->cellFaceScalar(gridLocalCellIndex, faceId);
|
||||
}
|
||||
|
||||
|
||||
@@ -44,6 +44,8 @@ public:
|
||||
|
||||
virtual double cellScalar(size_t gridLocalCellIndex) const;
|
||||
virtual double cellFaceScalar(size_t gridLocalCellIndex, cvf::StructGridInterface::FaceType faceId) const;
|
||||
virtual double cellScalarGlobIdx(size_t globCellIndex) const;
|
||||
virtual double cellFaceScalarGlobIdx(size_t globCellIndex, cvf::StructGridInterface::FaceType faceId) const;
|
||||
|
||||
private:
|
||||
double nativeMultScalar(size_t gridLocalCellIndex, cvf::StructGridInterface::FaceType faceId) const;
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
#include "RigGridBase.h"
|
||||
|
||||
#include <cmath>
|
||||
#include "RigCell.h"
|
||||
#include "RigMainGrid.h"
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -137,3 +139,22 @@ double RigCombTransResultAccessor::cellFaceScalar(size_t gridLocalCellIndex, cvf
|
||||
return HUGE_VAL;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
double RigCombTransResultAccessor::cellScalarGlobIdx(size_t globCellIndex) const
|
||||
{
|
||||
CVF_TIGHT_ASSERT(false);
|
||||
|
||||
return HUGE_VAL;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
double RigCombTransResultAccessor::cellFaceScalarGlobIdx(size_t globCellIndex, cvf::StructGridInterface::FaceType faceId) const
|
||||
{
|
||||
size_t gridLocalCellIndex = m_grid->mainGrid()->cell(globCellIndex).gridLocalCellIndex();
|
||||
return this->cellFaceScalar(gridLocalCellIndex, faceId);
|
||||
}
|
||||
|
||||
|
||||
@@ -40,9 +40,13 @@ public:
|
||||
|
||||
virtual double cellScalar(size_t gridLocalCellIndex) const;
|
||||
virtual double cellFaceScalar(size_t gridLocalCellIndex, cvf::StructGridInterface::FaceType faceId) const;
|
||||
virtual double cellScalarGlobIdx(size_t globCellIndex) const;
|
||||
virtual double cellFaceScalarGlobIdx(size_t globCellIndex, cvf::StructGridInterface::FaceType faceId) const;
|
||||
|
||||
private:
|
||||
double neighborCellTran(size_t gridLocalCellIndex, cvf::StructGridInterface::FaceType faceId, const RigResultAccessor* transAccessor) const;
|
||||
|
||||
|
||||
cvf::ref<RigResultAccessor> m_xTransAccessor;
|
||||
cvf::ref<RigResultAccessor> m_yTransAccessor;
|
||||
cvf::ref<RigResultAccessor> m_zTransAccessor;
|
||||
|
||||
@@ -36,3 +36,19 @@ double RigHugeValResultAccessor::cellFaceScalar(size_t gridLocalCellIndex, cvf::
|
||||
{
|
||||
return cellScalar(gridLocalCellIndex);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
double RigHugeValResultAccessor::cellScalarGlobIdx(size_t globCellIndex) const
|
||||
{
|
||||
return HUGE_VAL;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
double RigHugeValResultAccessor::cellFaceScalarGlobIdx(size_t globCellIndex, cvf::StructGridInterface::FaceType faceId) const
|
||||
{
|
||||
return HUGE_VAL;
|
||||
}
|
||||
|
||||
@@ -34,6 +34,8 @@ class RigResultAccessor : public cvf::Object
|
||||
public:
|
||||
virtual double cellScalar(size_t gridLocalCellIndex) const = 0;
|
||||
virtual double cellFaceScalar(size_t gridLocalCellIndex, cvf::StructGridInterface::FaceType faceId) const = 0;
|
||||
virtual double cellScalarGlobIdx(size_t globCellIndex) const = 0;
|
||||
virtual double cellFaceScalarGlobIdx(size_t globCellIndex, cvf::StructGridInterface::FaceType faceId) const = 0;
|
||||
};
|
||||
|
||||
//==================================================================================================
|
||||
@@ -44,4 +46,6 @@ class RigHugeValResultAccessor : public RigResultAccessor
|
||||
public:
|
||||
virtual double cellScalar(size_t gridLocalCellIndex) const;
|
||||
virtual double cellFaceScalar(size_t gridLocalCellIndex, cvf::StructGridInterface::FaceType faceId) const;
|
||||
virtual double cellScalarGlobIdx(size_t globCellIndex) const;
|
||||
virtual double cellFaceScalarGlobIdx(size_t globCellIndex, cvf::StructGridInterface::FaceType faceId) const;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user