Commit Graph

18 Commits

Author SHA1 Message Date
Arne Morten Kvarving
2dda16bc71 Transmissibility::applyAllZMultipliers: simplify by passing FaceInfo structs 2025-01-17 16:55:24 +01:00
Arne Morten Kvarving
68dfd12a3c Transmissibility::applyNtg_: simplify by passing FaceInfo struct
and make it static
2025-01-17 16:55:24 +01:00
Arne Morten Kvarving
6c292a9d4a Transmissibility::computeFaceProperties: simplify by passing FaceInfo structs 2025-01-17 16:55:24 +01:00
Arne Morten Kvarving
81de485575 Transmissibility: introduce a FaceInfo struct
use this to group variables in ::update()
2025-01-17 16:55:23 +01:00
Arne Morten Kvarving
50c5369c39 Transmissibility::computeHalfDiffusivity_: use return value instead of out-param
and make it static
2025-01-17 16:54:59 +01:00
Arne Morten Kvarving
9ce9fe49f2 Transmissibility::computeHalfTrans_: use return value instead of out-param
and make it static
2025-01-17 16:54:59 +01:00
Arne Morten Kvarving
9a97bf41c5 Transmissibility: add a cache for centroids and use this in update()
The loops repeatedly calls distanceVector which recalculates
the centroid for a cell. This is not a trivial calculation
2025-01-16 11:53:09 +01:00
Markus Blatt
4b3808fa93 [Refactor] Adapt to PINCH NNC separated from the normal ones.
This is also a preparation for correct MULTZ processing.
2024-10-01 11:15:11 +02:00
Markus Blatt
a56526607c Remove unneeded parameter from applyAllZMultipliers_ 2024-10-01 11:15:11 +02:00
Markus Blatt
e816ae4df3 Correctly treat transmissibilities for PINCH option(4) ALL.
In that case processEclipseFormat will create NNCs over the pinched
out cells with correct transmissibilities. Those NNCs are marked as
being created in PINCH and used to overwrite calculated
transmissibilties for the horizontal intersections (transmissibilities
of normal NNCs are usually added).

Note that the trnasmissibilities (without the multipliers) do not
change later. Only the multipliers can change them in the schedule and
that will still happen.
2024-10-01 11:15:11 +02:00
Markus Blatt
3ee2830d28 Change distanceVector_ to take the element index instead of centroid 2024-07-04 14:40:28 +02:00
Markus Blatt
d7c869d01a [refactor] Remove unnecessary copy in axisCentroid and simply code.
We stored 3 copies of each cell centroid in axisCentroid. This seemed
to be a waste of memory and also made the function distanceVector_ hard
to understand.

With this change we omit this copy of information and simplify distanceVector_
2024-06-27 15:15:33 +02:00
Markus Blatt
6921db4282 omit unnescessary function parameter for EDINCC 2024-06-10 14:50:55 +02:00
Markus Blatt
fc67eaeeda Prevent spurious warnings about NNCs when applying EDITNNC in parallel.
If we use transmissibilities for loadbalancing, then we calculate
transmissibilities twice. First on the global grid before
loadbalancing and then on the local grid after that. This is the
default. In this case all warnings will be shown correctly when
calculating the global transmissibilities.

If the user requests the same weights for all faces (command line
parameter --edge-weights-method=0) then the transmissibilities are only
calculated on the loadbalanced grid. Unfortunately, in this case only
rank 0 will issue warnings for his part including the false positives
mentioned below.

Due to load balancing many NNCs might be stored on another process,
but we still use all EDITNNC entries when computing transmissibilties
locally. Hence when applying EDITNNC on the loadbalanced grid we
will issue warnings for cases where there are no problems (e.g. NNC
between two overlap cells.

With this PR we will only warn when computing the transmissibilities
for the first time. For the default settings this will remove spurious
and duplicate warnings.

Not that for --edge-weights-method=0 nothing changes and we will still
see only warnings for the first rank including spurious one.
2024-06-10 14:50:55 +02:00
Kai Bao
8f67881809 using enum class to replace boolean onlyTrans for
Transmissibility::update() for better readability, which is suggested by the reviewer.
2024-06-06 20:09:44 +02:00
Kai Bao
303a677a81 only allocate trans_ for globalTrans_
others are not needed for globalTrans_ for now. It will help to flatten
the peak memory usage for rank 0 during a parallel running.
2024-06-05 21:35:46 +02:00
Arne Morten Kvarving
600e7ea2f7 Transmissibility: consistently use Scalar type 2024-05-23 08:42:51 +02:00
Arne Morten Kvarving
57905c1069 move ebos/ecltransmissibility[_impl].[hh|cc] to opm/simulators/flow 2024-03-08 12:39:48 +01:00