diff --git a/ApplicationLibCode/ProjectDataModel/Faults/RimFaultReactivationEnums.h b/ApplicationLibCode/ProjectDataModel/Faults/RimFaultReactivationEnums.h index a20e99a7a6..e9504aab6c 100644 --- a/ApplicationLibCode/ProjectDataModel/Faults/RimFaultReactivationEnums.h +++ b/ApplicationLibCode/ProjectDataModel/Faults/RimFaultReactivationEnums.h @@ -31,7 +31,8 @@ enum class BorderSurface { UpperSurface, FaultSurface, - LowerSurface + LowerSurface, + Seabed }; enum class Boundary diff --git a/ApplicationLibCode/ProjectDataModel/Faults/RimFaultReactivationModel.cpp b/ApplicationLibCode/ProjectDataModel/Faults/RimFaultReactivationModel.cpp index 4c74534500..178aeaba65 100644 --- a/ApplicationLibCode/ProjectDataModel/Faults/RimFaultReactivationModel.cpp +++ b/ApplicationLibCode/ProjectDataModel/Faults/RimFaultReactivationModel.cpp @@ -82,8 +82,8 @@ RimFaultReactivationModel::RimFaultReactivationModel() CAF_PDM_InitFieldNoDefault( &m_baseDir, "BaseDirectory", "Working Folder" ); CAF_PDM_InitField( &m_modelThickness, "ModelThickness", 100.0, "Model Cell Thickness" ); - CAF_PDM_InitField( &m_modelExtentFromAnchor, "ModelExtentFromAnchor", 2000.0, "Horz. Extent from Anchor" ); - CAF_PDM_InitField( &m_modelMinZ, "ModelMinZ", 0.0, "Start Depth" ); + CAF_PDM_InitField( &m_modelExtentFromAnchor, "ModelExtentFromAnchor", 3000.0, "Horz. Extent from Anchor" ); + CAF_PDM_InitField( &m_modelMinZ, "ModelMinZ", 0.0, "Seabed Depth" ); CAF_PDM_InitField( &m_modelBelowSize, "ModelBelowSize", 500.0, "Depth Below Fault" ); CAF_PDM_InitFieldNoDefault( &m_startCellIndex, "StartCellIndex", "Start Cell Index" ); @@ -91,9 +91,9 @@ RimFaultReactivationModel::RimFaultReactivationModel() m_startCellIndex = 0; m_startCellFace = cvf::StructGridInterface::FaceType::NO_FACE; - CAF_PDM_InitField( &m_faultExtendUpwards, "FaultExtendUpwards", 100.0, "Above Reservoir" ); + CAF_PDM_InitField( &m_faultExtendUpwards, "FaultExtendUpwards", 0.0, "Above Reservoir" ); m_faultExtendUpwards.uiCapability()->setUiEditorTypeName( caf::PdmUiDoubleSliderEditor::uiEditorTypeName() ); - CAF_PDM_InitField( &m_faultExtendDownwards, "FaultExtendDownwards", 100.0, "Below Reservoir" ); + CAF_PDM_InitField( &m_faultExtendDownwards, "FaultExtendDownwards", 0.0, "Below Reservoir" ); m_faultExtendDownwards.uiCapability()->setUiEditorTypeName( caf::PdmUiDoubleSliderEditor::uiEditorTypeName() ); CAF_PDM_InitField( &m_showModelPlane, "ShowModelPlane", true, "Show 2D Model" ); diff --git a/ApplicationLibCode/ReservoirDataModel/RigGriddedPart3d.cpp b/ApplicationLibCode/ReservoirDataModel/RigGriddedPart3d.cpp index 33ee6b4ccc..cc7ac64de7 100644 --- a/ApplicationLibCode/ReservoirDataModel/RigGriddedPart3d.cpp +++ b/ApplicationLibCode/ReservoirDataModel/RigGriddedPart3d.cpp @@ -87,6 +87,9 @@ std::vector RigGriddedPart3d::generateConstantLayers( double zFrom, doub std::vector layers; double diff = zTo - zFrom; + + if ( diff == 0.0 ) return layers; + if ( std::abs( diff ) <= maxSize ) { layers.push_back( std::min( zFrom, zTo ) ); @@ -362,6 +365,7 @@ void RigGriddedPart3d::generateGeometry( const std::array& input m_elementIndices.resize( (size_t)( ( nVertCells - 1 ) * nHorzCells * nThicknessCells ) ); m_elementKLayer.resize( (size_t)( ( nVertCells - 1 ) * nHorzCells * nThicknessCells ) ); + m_borderSurfaceElements[RimFaultReactivation::BorderSurface::Seabed] = {}; m_borderSurfaceElements[RimFaultReactivation::BorderSurface::UpperSurface] = {}; m_borderSurfaceElements[RimFaultReactivation::BorderSurface::FaultSurface] = {}; m_borderSurfaceElements[RimFaultReactivation::BorderSurface::LowerSurface] = {}; @@ -392,6 +396,7 @@ void RigGriddedPart3d::generateGeometry( const std::array& input const int nextLayerIdxOff = ( (int)nHorzCells + 1 ) * ( nThicknessCells + 1 ); const int nThicknessOff = nThicknessCells + 1; + const int seaBedLayer = (int)( nVertCells - 2 ); for ( int v = 0; v < (int)nVertCells - 1; v++ ) { @@ -421,6 +426,10 @@ void RigGriddedPart3d::generateGeometry( const std::array& input { m_boundaryElements[Boundary::Bottom].push_back( elementIdx ); } + else if ( v == seaBedLayer ) + { + m_borderSurfaceElements[RimFaultReactivation::BorderSurface::Seabed].push_back( elementIdx ); + } if ( h == 0 ) { m_boundaryElements[Boundary::FarSide].push_back( elementIdx );