#3036 Fracture Truncation : Remove obsolete flag

This commit is contained in:
Magne Sjaastad 2018-06-25 09:24:48 +02:00
parent 56a02358df
commit a60fc3f43b
3 changed files with 22 additions and 39 deletions

View File

@ -37,8 +37,7 @@ RimFractureContainment::RimFractureContainment()
CAF_PDM_InitField(&m_baseKLayer, "BaseKLayer", 0, " Base Layer", "", "", "");
CAF_PDM_InitField(&m_truncateAtFaults, "TruncateAtFaults", false, "Truncate At Faults", "", "", "");
CAF_PDM_InitField(&m_useFaultThrow, "UseFaultThrow", false, " Use Fault Throw", "", "If Fault Throw is larger than limit, truncate at fault", "");
CAF_PDM_InitField(&m_maximumFaultThrow, "FaultThrowValue", 0.0f, " Maximum Fault Throw", "", "If Fault Throw is larger than limit, truncate at fault", "");
CAF_PDM_InitField(&m_minimumFaultThrow, "FaultThrowValue", 0.0f, " Minimum Fault Throw", "", "If Fault Throw is larger than limit, truncate at fault", "");
}
//--------------------------------------------------------------------------------------------------
@ -49,11 +48,11 @@ RimFractureContainment::~RimFractureContainment() {}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
double RimFractureContainment::maximumFaultThrow() const
double RimFractureContainment::minimumFaultThrow() const
{
if (m_truncateAtFaults() && m_useFaultThrow())
if (m_truncateAtFaults())
{
return m_maximumFaultThrow;
return m_minimumFaultThrow;
}
return -1.0;
@ -141,19 +140,9 @@ void RimFractureContainment::defineUiOrdering(QString uiConfigName, caf::PdmUiOr
m_baseKLayer.uiCapability()->setUiReadOnly(!m_useContainment());
uiOrdering.add(&m_truncateAtFaults);
uiOrdering.add(&m_useFaultThrow);
uiOrdering.add(&m_maximumFaultThrow);
uiOrdering.add(&m_minimumFaultThrow);
m_useFaultThrow.uiCapability()->setUiReadOnly(!m_truncateAtFaults());
if (m_truncateAtFaults() && m_useFaultThrow())
{
m_maximumFaultThrow.uiCapability()->setUiReadOnly(false);
}
else
{
m_maximumFaultThrow.uiCapability()->setUiReadOnly(true);
}
m_minimumFaultThrow.uiCapability()->setUiReadOnly(!m_truncateAtFaults());
}
//--------------------------------------------------------------------------------------------------
@ -172,7 +161,7 @@ void RimFractureContainment::fieldChangedByUi(const caf::PdmFieldHandle* changed
}
}
if (changedField == &m_useFaultThrow || changedField == &m_useContainment || changedField == &m_truncateAtFaults)
if (changedField == &m_useContainment || changedField == &m_truncateAtFaults)
{
RimFractureTemplate* fractureTemplate = nullptr;
this->firstAncestorOrThisOfType(fractureTemplate);

View File

@ -39,7 +39,7 @@ public:
void setTopKLayer(int topKLayer);
void setBaseKLayer(int baseKLayer);
double maximumFaultThrow() const; // Negative value means do not test for fault throw
double minimumFaultThrow() const; // Negative value means do not test for fault throw
private:
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
@ -51,6 +51,5 @@ private:
caf::PdmField<int> m_baseKLayer;
caf::PdmField<bool> m_truncateAtFaults;
caf::PdmField<bool> m_useFaultThrow;
caf::PdmField<float> m_maximumFaultThrow;
caf::PdmField<float> m_minimumFaultThrow;
};

View File

@ -75,12 +75,12 @@ void RimFractureContainmentTools::appendNeighborCellForFace(const std::set<size_
size_t currentCell,
cvf::StructGridInterface::FaceType face,
std::set<size_t>& connectedCells,
double maximumFaultThrow)
double minimumFaultThrow)
{
size_t candidate = findNeighborReservoirCellIndex(mainGrid, face, currentCell);
if (candidate != cvf::UNDEFINED_SIZE_T)
{
appendNeighborCells(allFracturedCells, mainGrid, candidate, connectedCells, maximumFaultThrow);
appendNeighborCells(allFracturedCells, mainGrid, candidate, connectedCells, minimumFaultThrow);
}
}
@ -125,16 +125,11 @@ void RimFractureContainmentTools::checkFaultAndAppendNeighborCell(const std::set
size_t globalReservoirCellIndex,
cvf::StructGridInterface::FaceType face,
std::set<size_t>& connectedCells,
double maximumFaultThrow)
double minimumFaultThrow)
{
const RigFault* fault = mainGrid->findFaultFromCellIndexAndCellFace(globalReservoirCellIndex, face);
if (fault)
{
if (maximumFaultThrow < 0.0)
{
return;
}
else
{
// See RigMainGrid::calculateFaults() for reference
@ -155,14 +150,14 @@ void RimFractureContainmentTools::checkFaultAndAppendNeighborCell(const std::set
mainGrid, neighborGlobalReservoirCellIndex, cvf::StructGridInterface::oppositeFace(face));
double faultThrow = fabs(currentCellAvgZ - neighborCellAvgZ);
if (faultThrow > maximumFaultThrow)
if (faultThrow > minimumFaultThrow)
{
return;
}
}
}
appendNeighborCellForFace(allFracturedCells, mainGrid, globalReservoirCellIndex, face, connectedCells, maximumFaultThrow);
appendNeighborCellForFace(allFracturedCells, mainGrid, globalReservoirCellIndex, face, connectedCells, minimumFaultThrow);
}
//--------------------------------------------------------------------------------------------------
@ -172,7 +167,7 @@ void RimFractureContainmentTools::appendNeighborCells(const std::set<size_t>& al
const RigMainGrid* mainGrid,
size_t currentCell,
std::set<size_t>& connectedCells,
double maximumFaultThrow)
double minimumFaultThrow)
{
if (std::find(connectedCells.begin(), connectedCells.end(), currentCell) != connectedCells.end())
{
@ -190,19 +185,19 @@ void RimFractureContainmentTools::appendNeighborCells(const std::set<size_t>& al
// Check faults in IJ directions
checkFaultAndAppendNeighborCell(
allFracturedCells, mainGrid, currentCell, cvf::StructGridInterface::NEG_I, connectedCells, maximumFaultThrow);
allFracturedCells, mainGrid, currentCell, cvf::StructGridInterface::NEG_I, connectedCells, minimumFaultThrow);
checkFaultAndAppendNeighborCell(
allFracturedCells, mainGrid, currentCell, cvf::StructGridInterface::POS_I, connectedCells, maximumFaultThrow);
allFracturedCells, mainGrid, currentCell, cvf::StructGridInterface::POS_I, connectedCells, minimumFaultThrow);
checkFaultAndAppendNeighborCell(
allFracturedCells, mainGrid, currentCell, cvf::StructGridInterface::NEG_J, connectedCells, maximumFaultThrow);
allFracturedCells, mainGrid, currentCell, cvf::StructGridInterface::NEG_J, connectedCells, minimumFaultThrow);
checkFaultAndAppendNeighborCell(
allFracturedCells, mainGrid, currentCell, cvf::StructGridInterface::POS_J, connectedCells, maximumFaultThrow);
allFracturedCells, mainGrid, currentCell, cvf::StructGridInterface::POS_J, connectedCells, minimumFaultThrow);
// Append cells without fault check in K direction
appendNeighborCellForFace(
allFracturedCells, mainGrid, currentCell, cvf::StructGridInterface::NEG_K, connectedCells, maximumFaultThrow);
allFracturedCells, mainGrid, currentCell, cvf::StructGridInterface::NEG_K, connectedCells, minimumFaultThrow);
appendNeighborCellForFace(
allFracturedCells, mainGrid, currentCell, cvf::StructGridInterface::POS_K, connectedCells, maximumFaultThrow);
allFracturedCells, mainGrid, currentCell, cvf::StructGridInterface::POS_K, connectedCells, minimumFaultThrow);
}
//--------------------------------------------------------------------------------------------------
@ -230,7 +225,7 @@ std::set<size_t> RimFractureContainmentTools::fracturedCellsTruncatedByFaults(co
double maximumFaultThrow = -1.0;
if (fracture && fracture->fractureTemplate())
{
maximumFaultThrow = fracture->fractureTemplate()->fractureContainment()->maximumFaultThrow();
maximumFaultThrow = fracture->fractureTemplate()->fractureContainment()->minimumFaultThrow();
}
appendNeighborCells(cellsIntersectingFracturePlane,