Commit Graph

760 Commits

Author SHA1 Message Date
Bård Skaflestad
8082e72d32 Add Top Level Container for Saturation Function Consistency Checks
This commit introduces a new top-level "manager" for all saturation
function consistency checks.  This component associates collections
of saturation function curves with per-cell or per-region end-point
definitions and provides an interface to run all checks for all
interior entities (i.e., active cells) in a DUNE grid view.  We form
one set of SatfuncConsistencyChecks objects for each
SatfuncCheckPointInterface<> object, thereby enabling running the
same set of consistency checks for both the unscaled, tabulated,
per-region saturation functions and the per-cell scaled saturation
functions.  The latter is executed only if the run enables end-point
scaling for the saturation functions while the former is executed
only if the run does not enable end-point scaling.

At present we're limited to reversible and non-directional
saturation functions for the drainage process only, but those
restrictions will be lifted in due time.

As an aid to enabling the pertinent individual checks, we add a
private factory function which considers the run's active phases and
whether or not the run uses the alternative, three-point horizontal
scaling method ("SCALECRS = YES").
2024-10-16 09:32:19 +02:00
Bård Skaflestad
257e5a2d2a Add Protocol for Populating Saturation Function End Points per Cell
This commit introduces a set of callback functions, packaged in an
abstract base class SatfuncCheckPointInterface<Scalar>, for querying
and populating the saturation function end-points that get probed by
the individual consistency checks.  Member function

    SatfuncCheckPointInterface::pointID(cellIdx)

translates the active cell index 'cellIdx' into a point ID, assumed
to be unique on at least the current MPI rank.  This function will
return 'nullopt' if the 'cellIdx' is not eligible for this
particular end-point.  This typically happens for the region based
tabulated (unscaled) saturation function checks when the 'cellIdx'
happens to be in a region that's already been visited.  Member
function

    SatfuncCheckPointInterface::populateCheckPoint(cellIdx, endPoints)

fills in (assigns) all data members of the 'endPoints' structure
with the pertinent values for the active cell 'cellIdx'.

We implement this interface for the tabulated/unscaled end-points in
derived class UnscaledSatfuncCheckPoint<Scalar> and for the scaled
end-points in derived class ScaledSatfuncCheckPoint<Scalar>.  The
former keeps track of which saturation regions have been visited
and short-circuits its 'pointID()' member function based on that
information while the latter uses an instance of the former in order
initialise the 'endPoints' structure in its populateCheckPoint()
member function.
2024-10-11 11:47:50 +02:00
Tobias Meyer Andersen
9bdc361368 fix cmake and cuda bugs 2024-09-25 13:43:00 +02:00
Tobias Meyer Andersen
e6b6add193 Add tests for AD objects and TwoPhaseMaterial
The tests verify that these objects can be used
inside of GPU kernels
2024-09-25 11:22:27 +02:00
Arne Morten Kvarving
3ee3dc2b5f newtonmethod: move parameters to dedicated struct with a translation unit 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
1b19fa02f4 newtonmethodparameters.hh: rename to newtonmethodparams.hpp 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
e0af58a7cf vtktemperaturemodule: move parameters to dedicated struct with a translation unit 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
e093101d1c vtktemperaturemodule.hh: rename to vtktemperaturemodule.hpp 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
4eb70830cf vtkptflashmodule: move parameters to dedicated struct with a translation unit 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
29f2a35694 vtkptflashmodule.hh: rename to vtkptflashmodule.hpp 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
023328bed2 vtkprimaryvarsparams: move parameters to dedicated struct with a translation unit 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
be4026ecce vtkprimaryvarsmodule.hh: rename to vtkprimaryvarsmodule.hpp 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
adb6438d84 vtkphasepresencemodule: move parameters to dedicated struct with a translation unit 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
08b9c78ddd vtkphasepresencemodule.hh: rename to vtkphasepresencemodule.hpp 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
f5e2b46c37 vtkmultiphasemodule: move parameters to dedicated struct with a translation unit 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
a895678c30 vtkmultiphasemodule.hh: rename to vtkmultiphasemodule.hpp 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
924da68d02 vtkenergymodule: move parameters to dedicated struct with a translation unit 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
85bbba93fa vtkenergymodule.hh: rename to vtkenergymodule.hpp 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
b1afd79cd9 vtkdiscretefracturemodule: move parameters to dedicated struct with a translation unit 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
ca56913816 vtkdiscretefracturemodule.hh: rename to vtkdiscretefracuremodule.hpp 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
28995d3624 vtkdiffusionmodule: move parameters to dedicated struct with a translation unit 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
6ab0fbe6c2 vtkdiffusionmodule.hh: rename to vtkdiffusionmodule.hpp 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
2d000835a7 vtkcompositionmodule: move parameters to dedicated struct with a translation unit 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
c7c15fbe23 vtkcompositionmodule.hh: rename to vtkcompositionmodule.hpp 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
72d3395e51 vtkblackoilsolventmodule: move parameters to dedicated struct with a translation unit 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
3af8ed8994 vtkblackoilsolventmodule.hh: rename to vtkblackoilsolventmodule.hpp 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
3733e548bb vtkblackoilpolymermodule: move parameters to dedicated struct with a translation unit 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
18ddfc8fb2 vtkblackoilpolymermodule.hh: rename to vtkblackoilpolymermodule.hpp 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
ce4e57dab3 vtkblackoilmicpmodule: move parameters to dedicated struct with a translation unit 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
28bbe60b6e vtkblackoilmicpmodule.hh: rename to vtkblackoilmicpmodule.hpp 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
7a92006ffe vtkblackoilenergymodule: move parameters to dedicated struct with a translation unit 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
e50cd2fb82 vtkblackoilenergymodules.hh: rename to vtkblackoilenergymodules.hpp 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
a44640bc65 vtkblackoilmodule: move parameters to dedicated struct with a translation unit 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
6a1b33c793 vtkblackoilmodule.hh: rename to vtkblackoilmodule.hpp 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
44503c25e8 blackoilnewtonmethodparameters.hpp: rename to blackoilnewtonmethodparams.hpp
for consistency
2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
2daf51f45e BlackoilNewtonMethod: add struct holding parameters and put in blackoilnewthonmethodparameters.cpp 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
ae1a1ce57e blackoilnewtonmethod.hh: rename to blackoilnewtonmethod.hpp 2024-09-15 22:43:30 +02:00
Kjetil Olsen Lye
567a3bc0fa
Merge pull request #5606 from multitalentloes/fix_opmcuilu0_name
update OpmCuILU0 to OpmGpuILU0
2024-09-13 10:25:10 +02:00
Tobias Meyer Andersen
0bab02f809 update name of opm cuilu0 to match gpuistl 2024-09-13 09:15:19 +02:00
Kai Bao
4f51eb35d5 addressing reviewing comments 2024-09-11 15:53:35 +02:00
Kai Bao
2c75adf165 adding a compositional simulator
flowexp_comp
2024-09-11 14:58:33 +02:00
Kai Bao
85513754bc splitting Blackoil related to FlowProblemBlackoil
so FlowProblem can be used for compositional or other setting
2024-09-11 14:58:14 +02:00
Arne Morten Kvarving
93d796ef22 restart: add translation unit 2024-09-05 15:02:52 +02:00
Arne Morten Kvarving
e22276b91a restart.hh: rename to restart.hpp 2024-09-05 13:58:09 +02:00
Arne Morten Kvarving
478ddb5e52 added: opm/models/simulatorutils.[ch]pp
move humanReadableTime from simulator.hh into it
2024-09-05 13:32:15 +02:00
Arne Morten Kvarving
ec3081baab
Merge pull request #5580 from akva2/add_terminal_tu
added: translation unit for terminal manipulation stuff
2024-09-05 12:03:07 +02:00
Arne Morten Kvarving
909aa53efc added: opm/models/utils/terminal.[ch]pp
holds some terminal related methods that used to sit
in parametersystem
2024-09-05 10:58:42 +02:00
Bård Skaflestad
3de20b46b6 Add Saturation Function Consistency Checks for SCALECRS
This commit introduces consistency checks for the scaled displacing
saturation in the three point horizontal scaling method
(SCALECRS=YES).  These plug into the framework introduced in commit
c3939c544 (PR #5438).  We implement the following two checks

  - SGCR < 1-SOGCR-SWL < SGU
  - SWCR < 1-SOWCR-SGL < SWU

which collectively guarantee a mobile displacing oil saturation in
the two phase gas/oil and oil/water systems.
2024-09-05 10:36:43 +02:00
Arne Morten Kvarving
bc83bb6e1c parametersystem: introduce translation unit 2024-09-05 10:07:40 +02:00
Arne Morten Kvarving
05f01bf819 parametersystem.hh: rename to .hpp 2024-09-05 10:07:40 +02:00