Added fracture active index

p4#: 20294
This commit is contained in:
Magne Sjaastad
2013-01-30 09:30:48 +01:00
parent f57ed233a1
commit 76721130eb
6 changed files with 56 additions and 34 deletions

View File

@@ -38,10 +38,10 @@ RigCell::RigCell() :
m_mainGridCellIndex(cvf::UNDEFINED_SIZE_T),
m_subGrid(NULL),
m_hostGrid(NULL),
m_isMatrixActive(true),
m_isInvalid(false),
m_isWellCell(false),
m_globalMatrixActiveIndex(cvf::UNDEFINED_SIZE_T),
m_globalFractureActiveIndex(cvf::UNDEFINED_SIZE_T),
m_cellIndex(cvf::UNDEFINED_SIZE_T)
{
memcpy(m_cornerIndices.m_array, undefinedCornersArray, 8*sizeof(size_t));

View File

@@ -37,8 +37,13 @@ public:
caf::SizeTArray8& cornerIndices() { return m_cornerIndices;}
const caf::SizeTArray8& cornerIndices() const { return m_cornerIndices;}
bool matrixActive() const { return m_isMatrixActive; }
void setMatrixActive(bool val) { m_isMatrixActive = val; }
bool matrixActive() const { return m_globalMatrixActiveIndex != cvf::UNDEFINED_SIZE_T; }
size_t globalMatrixActiveIndex() const { return m_globalMatrixActiveIndex; }
void setGlobalMatrixActiveIndex(size_t val) { m_globalMatrixActiveIndex = val; }
bool fractureActive() const { return m_globalFractureActiveIndex != cvf::UNDEFINED_SIZE_T; }
size_t globalFractureActiveIndex() const { return m_globalFractureActiveIndex; }
void setGlobalFractureActiveIndex(size_t val) { m_globalFractureActiveIndex = val; }
bool isInvalid() const { return m_isInvalid; }
void setInvalid( bool val ) { m_isInvalid = val; }
@@ -49,8 +54,6 @@ public:
size_t cellIndex() const { return m_cellIndex; }
void setCellIndex(size_t val) { m_cellIndex = val; }
size_t globalMatrixActiveIndex() const { return m_globalMatrixActiveIndex; }
void setGlobalMatrixActiveIndex(size_t val) { m_globalMatrixActiveIndex = val; }
RigLocalGrid* subGrid() const { return m_subGrid; }
void setSubGrid(RigLocalGrid* subGrid) { m_subGrid = subGrid; }
@@ -73,7 +76,6 @@ public:
private:
caf::SizeTArray8 m_cornerIndices;
bool m_isMatrixActive;
bool m_isInvalid;
bool m_isWellCell;
@@ -85,6 +87,8 @@ private:
size_t m_parentCellIndex; ///< Grid cell index of the cell in the parent grid containing this cell
size_t m_mainGridCellIndex;
size_t m_globalMatrixActiveIndex; ///< This cell's running index of all the active calls in the reservoir. Used for result mapping
size_t m_globalMatrixActiveIndex; ///< This cell's running index of all the active calls in the reservoir. Used for result mapping
size_t m_globalFractureActiveIndex; ///< This cell's running index of all the active calls in the reservoir. Used for result mapping
size_t m_cellIndex; ///< This cells index in the grid it belongs to.
};

View File

@@ -134,6 +134,7 @@ void RigReservoirBuilderMock::appendCubeNodes(const cvf::Vec3d& min, const cvf::
//--------------------------------------------------------------------------------------------------
void RigReservoirBuilderMock::appendCells(size_t nodeStartIndex, size_t cellCount, RigGridBase* hostGrid, std::vector<RigCell>& cells)
{
size_t activeCellIndex = 0;
size_t i;
for (i = 0; i < cellCount; i++)
{
@@ -152,7 +153,15 @@ void RigReservoirBuilderMock::appendCells(size_t nodeStartIndex, size_t cellCoun
riCell.cornerIndices()[7] = nodeStartIndex + i * 8 + 7;
riCell.setParentCellIndex(0);
if (!(i % 5)) riCell.setMatrixActive(false);
if (!(i % 5))
{
riCell.setGlobalMatrixActiveIndex(cvf::UNDEFINED_SIZE_T);
}
else
{
riCell.setGlobalMatrixActiveIndex(activeCellIndex++);
}
cells.push_back(riCell);
}
@@ -283,7 +292,6 @@ bool RigReservoirBuilderMock::inputProperty(RigReservoir* reservoir, const QStri
bool RigReservoirBuilderMock::staticResult(RigReservoir* reservoir, const QString& result, std::vector<double>* values)
{
size_t k;
size_t rIdx = 0;
for (k = 0; k < reservoir->mainGrid()->cells().size(); k++)
{
@@ -298,10 +306,6 @@ bool RigReservoirBuilderMock::staticResult(RigReservoir* reservoir, const QStrin
{
values->push_back(500);
}
cell.setGlobalMatrixActiveIndex(rIdx);
++rIdx;
}
}
@@ -326,7 +330,6 @@ bool RigReservoirBuilderMock::dynamicResult(RigReservoir* reservoir, const QStri
double offsetValue = 100 * resultIndex;
size_t k;
size_t rIdx = 0;
for (k = 0; k < reservoir->mainGrid()->cells().size(); k++)
{
RigCell& cell = reservoir->mainGrid()->cells()[k];
@@ -341,9 +344,6 @@ bool RigReservoirBuilderMock::dynamicResult(RigReservoir* reservoir, const QStri
{
values->push_back(500);
}
cell.setGlobalMatrixActiveIndex(rIdx);
++rIdx;
}
}