Update well dims keyword for refinement.

This commit is contained in:
Kristian Bendiksen committed 2025-12-01 14:20:49 +01:00
1 parent 6d1a4eb35c
commit 475e05da88
2 files changed
+26

No files matched your search

@@ -111,6 +111,11 @@ std::expected<void, QString> RigSimulationInputTool::exportSimulationInput( RimE
return result;
}
if ( auto result = updateWelldimsKeyword( &eclipseCase, settings, deckFile ); !result )
{
return result;
}
if ( auto result = addBorderBoundaryConditions( &eclipseCase, settings, deckFile ); !result )
{
return result;
@@ -408,6 +413,24 @@ std::expected<void, QString> RigSimulationInputTool::replaceEqualsKeywordIndices
return {};
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::expected<void, QString> RigSimulationInputTool::updateWelldimsKeyword( RimEclipseCase* eclipseCase,
const RigSimulationInputSettings& settings,
RifOpmFlowDeckFile& deckFile )
{
auto wellDims = deckFile.welldims();
if ( wellDims.empty() ) return std::unexpected( QString( "Missing WELLDIMS keyword" ) );
// Scale the max connections with the refinement
int newMaxConnections = wellDims[1] * static_cast<int>( settings.refinement().x() * settings.refinement().y() * settings.refinement().z() );
deckFile.setWelldims( wellDims[0], newMaxConnections, wellDims[2], wellDims[3] );
return {};
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@@ -63,6 +63,9 @@ private:
const RigSimulationInputSettings& settings,
RifOpmFlowDeckFile& deckFile );
static std::expected<void, QString>
updateWelldimsKeyword( RimEclipseCase* eclipseCase, const RigSimulationInputSettings& settings, RifOpmFlowDeckFile& deckFile );
static std::expected<void, QString>
addBorderBoundaryConditions( RimEclipseCase* eclipseCase, const RigSimulationInputSettings& settings, RifOpmFlowDeckFile& deckFile );