mirror of
https://github.com/OPM/ResInsight.git
synced 2026-10-12 08:25:03 -05:00
Add seabed border surface
Fix issue with 0 fault extension
This commit is contained in:
1 parent
222c42aadc
commit
5f962ae89d
3 files changed
+15
-5
No files matched your search
@@ -31,7 +31,8 @@ enum class BorderSurface
|
|||||||
{
|
{
|
||||||
UpperSurface,
|
UpperSurface,
|
||||||
FaultSurface,
|
FaultSurface,
|
||||||
LowerSurface
|
LowerSurface,
|
||||||
|
Seabed
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class Boundary
|
enum class Boundary
|
||||||
|
|||||||
@@ -82,8 +82,8 @@ RimFaultReactivationModel::RimFaultReactivationModel()
|
|||||||
CAF_PDM_InitFieldNoDefault( &m_baseDir, "BaseDirectory", "Working Folder" );
|
CAF_PDM_InitFieldNoDefault( &m_baseDir, "BaseDirectory", "Working Folder" );
|
||||||
CAF_PDM_InitField( &m_modelThickness, "ModelThickness", 100.0, "Model Cell Thickness" );
|
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_modelExtentFromAnchor, "ModelExtentFromAnchor", 3000.0, "Horz. Extent from Anchor" );
|
||||||
CAF_PDM_InitField( &m_modelMinZ, "ModelMinZ", 0.0, "Start Depth" );
|
CAF_PDM_InitField( &m_modelMinZ, "ModelMinZ", 0.0, "Seabed Depth" );
|
||||||
CAF_PDM_InitField( &m_modelBelowSize, "ModelBelowSize", 500.0, "Depth Below Fault" );
|
CAF_PDM_InitField( &m_modelBelowSize, "ModelBelowSize", 500.0, "Depth Below Fault" );
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault( &m_startCellIndex, "StartCellIndex", "Start Cell Index" );
|
CAF_PDM_InitFieldNoDefault( &m_startCellIndex, "StartCellIndex", "Start Cell Index" );
|
||||||
@@ -91,9 +91,9 @@ RimFaultReactivationModel::RimFaultReactivationModel()
|
|||||||
m_startCellIndex = 0;
|
m_startCellIndex = 0;
|
||||||
m_startCellFace = cvf::StructGridInterface::FaceType::NO_FACE;
|
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() );
|
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() );
|
m_faultExtendDownwards.uiCapability()->setUiEditorTypeName( caf::PdmUiDoubleSliderEditor::uiEditorTypeName() );
|
||||||
|
|
||||||
CAF_PDM_InitField( &m_showModelPlane, "ShowModelPlane", true, "Show 2D Model" );
|
CAF_PDM_InitField( &m_showModelPlane, "ShowModelPlane", true, "Show 2D Model" );
|
||||||
|
|||||||
@@ -87,6 +87,9 @@ std::vector<double> RigGriddedPart3d::generateConstantLayers( double zFrom, doub
|
|||||||
std::vector<double> layers;
|
std::vector<double> layers;
|
||||||
|
|
||||||
double diff = zTo - zFrom;
|
double diff = zTo - zFrom;
|
||||||
|
|
||||||
|
if ( diff == 0.0 ) return layers;
|
||||||
|
|
||||||
if ( std::abs( diff ) <= maxSize )
|
if ( std::abs( diff ) <= maxSize )
|
||||||
{
|
{
|
||||||
layers.push_back( std::min( zFrom, zTo ) );
|
layers.push_back( std::min( zFrom, zTo ) );
|
||||||
@@ -362,6 +365,7 @@ void RigGriddedPart3d::generateGeometry( const std::array<cvf::Vec3d, 12>& input
|
|||||||
m_elementIndices.resize( (size_t)( ( nVertCells - 1 ) * nHorzCells * nThicknessCells ) );
|
m_elementIndices.resize( (size_t)( ( nVertCells - 1 ) * nHorzCells * nThicknessCells ) );
|
||||||
m_elementKLayer.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::UpperSurface] = {};
|
||||||
m_borderSurfaceElements[RimFaultReactivation::BorderSurface::FaultSurface] = {};
|
m_borderSurfaceElements[RimFaultReactivation::BorderSurface::FaultSurface] = {};
|
||||||
m_borderSurfaceElements[RimFaultReactivation::BorderSurface::LowerSurface] = {};
|
m_borderSurfaceElements[RimFaultReactivation::BorderSurface::LowerSurface] = {};
|
||||||
@@ -392,6 +396,7 @@ void RigGriddedPart3d::generateGeometry( const std::array<cvf::Vec3d, 12>& input
|
|||||||
|
|
||||||
const int nextLayerIdxOff = ( (int)nHorzCells + 1 ) * ( nThicknessCells + 1 );
|
const int nextLayerIdxOff = ( (int)nHorzCells + 1 ) * ( nThicknessCells + 1 );
|
||||||
const int nThicknessOff = nThicknessCells + 1;
|
const int nThicknessOff = nThicknessCells + 1;
|
||||||
|
const int seaBedLayer = (int)( nVertCells - 2 );
|
||||||
|
|
||||||
for ( int v = 0; v < (int)nVertCells - 1; v++ )
|
for ( int v = 0; v < (int)nVertCells - 1; v++ )
|
||||||
{
|
{
|
||||||
@@ -421,6 +426,10 @@ void RigGriddedPart3d::generateGeometry( const std::array<cvf::Vec3d, 12>& input
|
|||||||
{
|
{
|
||||||
m_boundaryElements[Boundary::Bottom].push_back( elementIdx );
|
m_boundaryElements[Boundary::Bottom].push_back( elementIdx );
|
||||||
}
|
}
|
||||||
|
else if ( v == seaBedLayer )
|
||||||
|
{
|
||||||
|
m_borderSurfaceElements[RimFaultReactivation::BorderSurface::Seabed].push_back( elementIdx );
|
||||||
|
}
|
||||||
if ( h == 0 )
|
if ( h == 0 )
|
||||||
{
|
{
|
||||||
m_boundaryElements[Boundary::FarSide].push_back( elementIdx );
|
m_boundaryElements[Boundary::FarSide].push_back( elementIdx );
|
||||||
|
|||||||
Reference in new issue
Block a user