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

New defaults #5157

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open

New defaults #5157

wants to merge 3 commits into from

Conversation

totto82
Copy link
Member

@totto82 totto82 commented Feb 2, 2024

I think it is time to change some defaults in Flow related to accuracy and performance.
Motivation:

  • $10^{-6}$ mb tol sometimes leads to too large accumulated mass balance errors
  • drift compensation sometimes leads to significant convergence issues (and are not needed if mb = $10^{-7}$)
  • ilu0 leads to tool many iterations for mb $10^{-7}$
  • for cases where we force small timesteps (for instance using TUNING) 1 newton iteration is often sufficient)

I have run with these parameters for many cases for a long time.

This will need extensive testing before it can be merged.

@totto82
Copy link
Member Author

totto82 commented Feb 2, 2024

jenkins build this please

@GitPaean
Copy link
Member

GitPaean commented Feb 2, 2024

not sure about the best way to do this. Do you think it might be easier to get things in if you split them among multiple PRs? The combined effects can be tricky to test.

@totto82
Copy link
Member Author

totto82 commented Feb 5, 2024

not sure about the best way to do this. Do you think it might be easier to get things in if you split them among multiple PRs? The combined effects can be tricky to test.

I see your point, but

  1. I would like a common discussion about the new defaults
  2. They are all interlinked (the fourth one could be taken independently)
  3. They all effect results, and it will be a large effort to check all the failed tests.

@totto82
Copy link
Member Author

totto82 commented Feb 5, 2024

benchmark please

@alfbr
Copy link
Member

alfbr commented Feb 5, 2024

From our end, this is a highly welcome initiative. We will probably need some time to do proper testing as this will impact all models we run.

@totto82
Copy link
Member Author

totto82 commented Feb 6, 2024

for cases where we force small timesteps (for instance using TUNING) 1 newton iteration is often sufficient)

The change to the minimum newton iterations created some strange failure. As suggested by @GitPaean I will split that out to another PR.

There are 6 significant test failures that needs to be addressed.

  1. MICP. Seg-faults with CPR
  2. 2D_POLYMER_INJECTIVITY also have problems with CPR
    3-4) SPE1CASE1_BRINE and SPE1CASE1_PRECSALT starts oscillating takes forever to complete with mb=1e-7.
    5-6) NETWORK-01-RESTART and NETWORK-01-REROUTE-RESTART related to restart.

The rest is either minor or needs more careful examination of the results.

@totto82
Copy link
Member Author

totto82 commented Feb 6, 2024

The MICP case seg-faults in extractCPRPressureMatrix with CPRW (works for the other variants) The MICP model is a one-phase (water) model with 5 components.

@alfbr
Copy link
Member

alfbr commented Feb 6, 2024

benchmark please

@totto82
Copy link
Member Author

totto82 commented Feb 7, 2024

SPE1CASE1_BRINE and SPE1CASE1_PRECSALT starts oscillating takes forever to complete with mb=1e-7.

For this case the simplest solution is to introduce a relaxed_tol_mb (ala TUNING 2-7).

@blattms
Copy link
Member

blattms commented Feb 12, 2024

Posting missing ytelses results:

Test Configuration Relative
opm-git OPM Benchmark: drogon - Threads: 1 0.998
opm-git OPM Benchmark: drogon - Threads: 8 0.999
opm-git OPM Benchmark: punqs3 - Threads: 1 0.982
opm-git OPM Benchmark: punqs3 - Threads: 8 1.006
opm-git OPM Benchmark: smeaheia - Threads: 1 0.963
opm-git OPM Benchmark: smeaheia - Threads: 8 1
opm-git OPM Benchmark: spe10_model_1 - Threads: 1 1.003
opm-git OPM Benchmark: spe10_model_1 - Threads: 8 1.003
opm-git OPM Benchmark: flow_mpi_extra - Threads: 1 - FOIT (Total Oil Injection At End Of Run) 1
opm-git OPM Benchmark: flow_mpi_extra - Threads: 8 - FOIT (Total Oil Injection At End Of Run) 1
opm-git OPM Benchmark: flow_mpi_norne - Threads: 1 0.995
opm-git OPM Benchmark: flow_mpi_norne - Threads: 8 1.009
opm-git OPM Benchmark: flow_mpi_norne_4c_msw - Threads: 1 1.006
opm-git OPM Benchmark: flow_mpi_norne_4c_msw - Threads: 8 0.999
  • Speed-up = Total time master / Total time pull request. Above 1.0 is an improvement. *

@totto82
Copy link
Member Author

totto82 commented Feb 20, 2024

jenkins build this please

2 similar comments
@totto82
Copy link
Member Author

totto82 commented Mar 5, 2024

jenkins build this please

@akva2
Copy link
Member

akva2 commented Mar 5, 2024

jenkins build this please

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.

None yet

5 participants