Skip to content

Conversation

@ElyesAhmed
Copy link
Contributor

@ElyesAhmed ElyesAhmed commented Oct 7, 2025

This draft PR introduces experimental support for the EQUIL keyword with N>0 input parameter on tilted fault blocks. The implementation explores different approaches to handle tilted grid geometries in equilibrium initialization.
Changes Made

  • Added support for tilted grid equilibration when N>0 is specified in the EQUIL keyword

  • Simplified approach: Uses dip angle to estimate weighting factors for tilted cells

  • Complex one approach: Computes actual horizontal cross-section areas at different depths (more accurate but computationally very expensive on Volve)

TESTS

@GitPaean GitPaean added the manual:new-feature This is a new feature and should be described in the manual label Oct 7, 2025
@OPM OPM deleted a comment from ElyesAhmed Oct 28, 2025
auto elemIt = gridView.template begin</*codim=*/0>();
const auto& elemEndIt = gridView.template end</*codim=*/0>();
centroids_.resize(gridView.size(0));
for (; elemIt != elemEndIt; ++elemIt) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unconventional to not just define elemIt in the loop header

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not fixed since same is used in many other locations (will keep this fix for some clean-up later)

rec[r], this->rsFunc_[r], this->rvFunc_[r], this->rvwFunc_[r],
this->tempVdTable_[r], this->saltVdTable_[r], this->regionPvtIdx_[r]
};
vspan[0] = std::min(vspan[0], std::min(eqreg.zgoc(), eqreg.zwoc()));
Copy link
Member

@multitalentloes multitalentloes Nov 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

std::min({a, b, c}) again here

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not fixed since same is used in many other locations (will keep this fix for some clean-up later)

rec[r], this->rsFunc_[r], this->rvFunc_[r], this->rvwFunc_[r],
this->tempVdTable_[r], this->saltVdTable_[r], this->regionPvtIdx_[r]
};
vspan[0] = std::min(vspan[0], std::min(eqreg.zgoc(), eqreg.zwoc()));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

std::min({a, b, c}) again here

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not fixed since same is used in many other locations (will keep this fix for some clean-up later)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

manual:new-feature This is a new feature and should be described in the manual

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants