Giter VIP home page Giter VIP logo

Comments (9)

bska avatar bska commented on August 17, 2024

use the original relperm upscaling code

Just out of curiosity, do you have an idea of what time point corresponds to the original relperm upscaling code? I.e., whether it was based on sources from one year ago, three years ago, five years ago or ten years ago?

from opm-upscaling.

alfbr avatar alfbr commented on August 17, 2024

We can double check tomorrow, but I believe we went back to the sang based code to get a reference solution.

from opm-upscaling.

alfbr avatar alfbr commented on August 17, 2024

Just checked. We seem to have incorrect results all the way back to May 2012. Louis can send you a test case.

from opm-upscaling.

bska avatar bska commented on August 17, 2024

We seem to have incorrect results all the way back to May 2012.

Okay, that does at least narrow the search region a bit.

Louis can send you a test case.

Yes please.

from opm-upscaling.

bska avatar bska commented on August 17, 2024

There's a wonderful dichotomy in the discretisation of the gravity term in the upscale_relperm utility (and maybe others, I haven't verified this). While the grid constructor assumes that all lengths and depths are given in units of metres the gravity term discretisation assumes that the depths are given in units of centimetres.

I think I know the historical reason for this assumption. All of the models used in the original development of the upscaling utility used centimetre length scales. Would you mind, as a quick check/hack, to run the tests using

-gravity 981

rather than 9.81 and see if you get better results this way?

from opm-upscaling.

bska avatar bska commented on August 17, 2024

Today I finally had occasion to look into this more closely. My preliminary conclusion is that the gravity handling is fundamentally broken (not to mention, explicitly turned off in the low-level upscaling code, despite being actively queried in upscale_relperm.cpp).

Moreover, some parts of the code assume centi-metre length scales, while others use metres. That, in turn, affects pressure gradients and flow rates--at least when the flow is driven by pressure drops.

Fixing this will require days of implementation work--not to mention substantial testing efforts--and will affect code in other OPM modules.

from opm-upscaling.

bska avatar bska commented on August 17, 2024

I have finished my initial implementation of this feature so I'd like to enlist some testing help to assess the state of completion. At this time I'm a little reluctant to create a PR because there may still be a lot of work remaining depending on the testing outcome. Therefore, if you would like to help test, please use the following commands to access my branch

git checkout -b bska_capillary-gravity-upscaling
git pull git://github.com/bska/opm-upscaling.git capillary-gravity-upscaling

from opm-upscaling.

atgeirr avatar atgeirr commented on August 17, 2024

Excellent! I can confirm that the branch builds (when merged on top of master, to account for the opm-parser API change). There is a test failure:

14/16 Test #14: upscale_relperm_BCf_pts30_surfTens11_stoneAniso_stoneAniso_27cellsAniso ............................***Failed    0.18 sec

This is expected since this test essentially is a regression test, and the fixed bugs should be expected to change the results for some of the tests.

from opm-upscaling.

atgeirr avatar atgeirr commented on August 17, 2024

This was fixed a year ago, closing.

from opm-upscaling.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.