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);
|
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 cellScalar(size_t gridLocalCellIndex) const;
|
||||||
virtual double cellFaceScalar(size_t gridLocalCellIndex, cvf::StructGridInterface::FaceType faceId) 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:
|
private:
|
||||||
const RigActiveCellInfo* m_activeCellInfo;
|
const RigActiveCellInfo* m_activeCellInfo;
|
||||||
const RigGridBase* m_grid;
|
const RigGridBase* m_grid;
|
||||||
|
|||||||
@@ -64,3 +64,29 @@ double RigCellEdgeResultAccessor::cellFaceScalar(size_t gridLocalCellIndex, cvf:
|
|||||||
return HUGE_VAL;
|
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 cellScalar(size_t gridLocalCellIndex) const;
|
||||||
virtual double cellFaceScalar(size_t gridLocalCellIndex, cvf::StructGridInterface::FaceType faceId) 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:
|
private:
|
||||||
caf::FixedArray<cvf::ref<RigResultAccessor>, 6> m_resultAccessObjects;
|
caf::FixedArray<cvf::ref<RigResultAccessor>, 6> m_resultAccessObjects;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -22,6 +22,8 @@
|
|||||||
#include "RigGridBase.h"
|
#include "RigGridBase.h"
|
||||||
|
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
|
#include "RigCell.h"
|
||||||
|
#include "RigMainGrid.h"
|
||||||
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -147,3 +149,22 @@ double RigCombMultResultAccessor::nativeMultScalar(size_t gridLocalCellIndex, cv
|
|||||||
return faceScalar;
|
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 cellScalar(size_t gridLocalCellIndex) const;
|
||||||
virtual double cellFaceScalar(size_t gridLocalCellIndex, cvf::StructGridInterface::FaceType faceId) 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:
|
private:
|
||||||
double nativeMultScalar(size_t gridLocalCellIndex, cvf::StructGridInterface::FaceType faceId) const;
|
double nativeMultScalar(size_t gridLocalCellIndex, cvf::StructGridInterface::FaceType faceId) const;
|
||||||
|
|||||||
@@ -22,6 +22,8 @@
|
|||||||
#include "RigGridBase.h"
|
#include "RigGridBase.h"
|
||||||
|
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
|
#include "RigCell.h"
|
||||||
|
#include "RigMainGrid.h"
|
||||||
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -137,3 +139,22 @@ double RigCombTransResultAccessor::cellFaceScalar(size_t gridLocalCellIndex, cvf
|
|||||||
return HUGE_VAL;
|
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 cellScalar(size_t gridLocalCellIndex) const;
|
||||||
virtual double cellFaceScalar(size_t gridLocalCellIndex, cvf::StructGridInterface::FaceType faceId) 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:
|
private:
|
||||||
double neighborCellTran(size_t gridLocalCellIndex, cvf::StructGridInterface::FaceType faceId, const RigResultAccessor* transAccessor) const;
|
double neighborCellTran(size_t gridLocalCellIndex, cvf::StructGridInterface::FaceType faceId, const RigResultAccessor* transAccessor) const;
|
||||||
|
|
||||||
|
|
||||||
cvf::ref<RigResultAccessor> m_xTransAccessor;
|
cvf::ref<RigResultAccessor> m_xTransAccessor;
|
||||||
cvf::ref<RigResultAccessor> m_yTransAccessor;
|
cvf::ref<RigResultAccessor> m_yTransAccessor;
|
||||||
cvf::ref<RigResultAccessor> m_zTransAccessor;
|
cvf::ref<RigResultAccessor> m_zTransAccessor;
|
||||||
|
|||||||
@@ -36,3 +36,19 @@ double RigHugeValResultAccessor::cellFaceScalar(size_t gridLocalCellIndex, cvf::
|
|||||||
{
|
{
|
||||||
return cellScalar(gridLocalCellIndex);
|
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:
|
public:
|
||||||
virtual double cellScalar(size_t gridLocalCellIndex) const = 0;
|
virtual double cellScalar(size_t gridLocalCellIndex) const = 0;
|
||||||
virtual double cellFaceScalar(size_t gridLocalCellIndex, cvf::StructGridInterface::FaceType faceId) 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:
|
public:
|
||||||
virtual double cellScalar(size_t gridLocalCellIndex) const;
|
virtual double cellScalar(size_t gridLocalCellIndex) const;
|
||||||
virtual double cellFaceScalar(size_t gridLocalCellIndex, cvf::StructGridInterface::FaceType faceId) 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