Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Really limit processing of deck to actnum to determine active cells. #4361

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

blattms
Copy link
Member

@blattms blattms commented Nov 26, 2024

When setting up the EclipseGrid, we create a temporary FieldProps object for getting the ACTNUM array. Somehow we processed all EQUALS statements in the GRID section for this. This seems overkill here.

Hence we now only honor EQUALS ACTNUM to save some processing.

Not relevant for the manual.

When setting up the EclipseGrid, we create a temporary FieldProps
object for getting the ACTNUM array. Somehow we processed all EQUALS
statements in the GRID section for this. This seems overkill here.

Hence we now only honor EQUALS ACTNUM to save some processing.

Not relevant for the manual.
@blattms
Copy link
Member Author

blattms commented Nov 26, 2024

jenkins build this please

Copy link
Member

@bska bska left a comment

Choose a reason for hiding this comment

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

Fair enough, but we need to account for the box updates even if we're not processing any of the other operations.

Comment on lines +1659 to +1661
if (onlyACTNUM && target_kw != "ACTNUM") {
continue;
}
Copy link
Member

Choose a reason for hiding this comment

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

If we're going to make this optimisation, then the continue statement should at least be after box.update(). We absolutely need to account for those updates because they give the default box bounds for the next record.

Copy link
Member Author

Choose a reason for hiding this comment

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

I don't necessarily agree. My interpretation is that within Equals the box information only is used per target keyword. I can very well be wrong here.

You do have a point though: For the first occurrence of the target keyword the default box is the one specified by the last BOX/ENDBOX declaration. Which means that master also neglects this...

Summoning @gdfldm

Copy link
Member

Choose a reason for hiding this comment

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

My interpretation is that within Equals the box information only is used per target keyword

If we have something like

EQUALS
  'PERMX' 100  3 9  3 9  3 9 /
  'PERMY' 100 /
  'PERMZ'  10  2*   5 7  4 /
/

then the PERMX box is {3..9, 3..9, 3..9}, the PERMY box is also {3..9, 3..9, 3..9} while the PERMZ box is {3..9, 5..7, 4..9}. That's why it's essential that we capture those box settings.

For the first occurrence of the target keyword the default box is the one specified by the last BOX/ENDBOX declaration.

For the most part, yes. However, the input box is reset to the default global dimensions of {1..NX, 1..NY, 1..NZ} at the end of each section (i.e., GRID/EDIT/PROPS &c).

Which means that master also neglects this...

I believe the current master souces do the right thing. Handle_keyword() takes a reference to the current input box and updates it when encountering a BOX (or ENDBOX) keyword. That box is then copied into handle_operation() and updated according to whatever box specification is provided in the operation keyword records. On the other hand, those updates do not propagate back out of the operation keyword.

Copy link
Contributor

Choose a reason for hiding this comment

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

I agree, all of the box definitions need to be parsed to keep track of the current default box.

@blattms blattms marked this pull request as draft November 26, 2024 15:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants