Commit Graph

2028 Commits

Author SHA1 Message Date
Tor Harald Sandve
036a021c63 fix well model for gasoil thermal 2021-01-21 11:37:25 +01:00
tqiu
dba20adf04 Bugfix: extra swap was done on odd number of sweeps 2021-01-20 11:00:30 +01:00
Tor Harald Sandve
36ba423d42 Add guard around solve well equation. 2021-01-20 08:46:58 +01:00
tqiu
48ebef7808 Updated comments 2021-01-19 11:06:39 +01:00
tqiu
123e3fa89e Use std::find and added comments 2021-01-18 17:10:46 +01:00
Tor Harald Sandve
62e485cbea adapt to changes in the schedule class 2021-01-18 15:12:17 +01:00
Tor Harald Sandve
b6fe8cbd77 only update individual wells after solve eq 2021-01-18 15:12:17 +01:00
Tor Harald Sandve
27bea2fa4f Solve well equation for the first iteration 2021-01-18 15:12:17 +01:00
Tor Harald Sandve
fbcd230eb2 substitute solveWellEq with one inner solve for newly opened wells 2021-01-18 15:12:17 +01:00
tqiu
a8e524fc9d Minor C to C++ changes 2021-01-18 14:11:07 +01:00
Atgeirr Flø Rasmussen
3a0dbdc6e7
Merge pull request #2993 from blattms/stdwell-comm-rebase-split-cont-clean
Final fixes to make distributed wells work for Norne.
2021-01-15 15:42:45 +01:00
Joakim Hove
17fcdfc87a Use ScheduleState to handle VFP propertes + simplifications 2021-01-14 19:22:34 +01:00
tqiu
0f9ae3695d Made reordering optional for WellContributions
Removed unnecessary alloc
2021-01-13 12:34:56 +01:00
Joakim Hove
5b129a3304 Use ScheduleState to manage network properties 2021-01-13 00:58:03 +01:00
Joakim Hove
b32f3f7546 Manage GConSale and GConSump with ScheduleState object 2021-01-12 18:29:59 +01:00
tqiu
f26e58c6ca Reordering is now actually skipped when NONE is chosen.
Also made reordering optional for openclSolver.
2021-01-12 15:25:47 +01:00
tqiu
71692ff52b Disabled FGPILU by default 2021-01-12 15:21:19 +01:00
tqiu
9f92a69037 Added CPU and GPU implementations of Fine-Grained Parallel ILU (FGPILU) 2021-01-12 15:21:19 +01:00
Joakim Hove
c1a1bf8683 Use ScheduleState to manage well test configuration 2021-01-12 14:08:41 +01:00
Joakim Hove
914bbeca82 Fetch messagelimits from ScheduleState 2021-01-12 07:44:10 +01:00
Joakim Hove
237eb2b7ee Fetch events from ScheduleState 2021-01-11 17:42:30 +01:00
Joakim Hove
8983b8d532
Merge pull request #3009 from GitPaean/moving_aquifer_folder
adapting to the directory change in opm-common related to aquifer
2021-01-09 10:35:03 +01:00
Kai Bao
a3004580e6 adapting to the directory change in opm-common related to aquifer 2021-01-08 23:18:41 +01:00
Kai Bao
00ca6dc492 putting all the pressure assmeble function to one function
assemblePressureEq for MSW
2021-01-08 16:46:32 +01:00
Kai Bao
2dc63b7a57 putting the three ICD assembleEq function to be one
to reduce the code duplication.
2021-01-08 15:09:27 +01:00
Kai Bao
286a7d2e5b
Merge pull request #3002 from totto82/moveWellOpCheck
move well operability check for STW
2021-01-08 11:28:35 +01:00
Joakim Hove
c6f0ea3ae2
Merge pull request #3004 from joakim-hove/nupcol
Use ScheduleState to access nupcol
2021-01-07 15:48:49 +01:00
Joakim Hove
a8be103173
Merge pull request #3005 from joakim-hove/sched-tuning
Access tuning class from ScheduleState
2021-01-07 07:49:29 +01:00
Joakim Hove
fe788cdb05 Access tuning class from ScheduleState 2021-01-06 16:26:13 +01:00
Joakim Hove
c1e10d81ba Use ScheduleState to access nupcol 2021-01-06 15:10:05 +01:00
Tor Harald Sandve
5ee75c45e3 move well operability check for STW 2021-01-05 15:10:40 +01:00
Joakim Hove
f5653af392 Output typeid(T).name() for types without packing support 2021-01-05 12:00:46 +01:00
Joakim Hove
fff19a2cf3 Serialize std::chrono::system_clock::time_point through std::time_t 2021-01-03 10:30:51 +01:00
Markus Blatt
c037bd762d
Merge pull request #2990 from atgeirr/testing-precfactory-operators
Only add AMG preconditioners to factory if sensible.
2020-12-22 09:52:53 +01:00
Tor Harald Sandve
967f99500c dont copy the well model in computeWellPotentials 2020-12-22 09:25:56 +01:00
Atgeirr Flø Rasmussen
02f93984f3
Merge pull request #2995 from totto82/stopfix
don't shut stopped wells
2020-12-21 15:51:36 +01:00
Bård Skaflestad
a657f2371a
Merge pull request #2996 from totto82/outputStoppedWells
output stopped wells
2020-12-21 15:22:25 +01:00
Tor Harald Sandve
33e3102983 output stopped wells 2020-12-21 13:51:21 +01:00
Arne Morten Kvarving
b812088519 further avoidance of overlap cells 2020-12-21 12:54:34 +01:00
Arne Morten Kvarving
faa04b5c4d changed: put initializeConnections in base aquifer class 2020-12-21 12:54:34 +01:00
Arne Morten Kvarving
4cdb3e85c0 make initializeConnection similar in aquifer classes 2020-12-21 12:54:34 +01:00
Arne Morten Kvarving
5f844bc3a4 fixed: no reason to calculate this inside the loop 2020-12-21 12:54:34 +01:00
Arne Morten Kvarving
86d7666e5c enable aquifers in parallel 2020-12-21 12:54:34 +01:00
Arne Morten Kvarving
fa90bc0709 add some parallel reductions in aquifer code 2020-12-21 12:54:34 +01:00
Arne Morten Kvarving
91336f30e7 fixed: do not process aquifers attached to overlap cells 2020-12-21 12:02:54 +01:00
Tor Harald Sandve
bcdf6c8d02 don't shut stopped wells 2020-12-21 09:25:57 +01:00
Bård Skaflestad
eb4aabc71a
Merge pull request #2986 from totto82/scalePot
Initial well rates with the well potentials and scale the segment rates
2020-12-18 23:03:37 +01:00
Markus Blatt
ef6c953e0f [bugfix] Fix partial sum
the total number of entries gathered was computed wrong, and we wrote
out ouf memory.
2020-12-18 14:48:19 +01:00
Markus Blatt
5b943761d7 Fixes StandardWell::computeConnectionDensities.
This computation is serial and needs a complete representation
of data attached to all preforations (even those stored on
another process). This commit uses the newly created factory to
correctly compute the connection densities for distributed wells.
2020-12-18 14:48:19 +01:00
Markus Blatt
69fd6495c0 Added factory to construct the global representation of perf data.
Some of our computations are heavily serial and need a complete
representation of the data attached to all perforation no matter
whether a perforation lives on the local partition or not. This commit
adds a factory that allows to easily create such a representaion and
helps writing data back to the local representation.
2020-12-18 14:48:19 +01:00
Markus Blatt
53b51eeba7 Use int as global index type in IndexSet
That is what seems to be used by ECL schedule, too.
2020-12-18 14:48:19 +01:00
Markus Blatt
4dff6fb168 Fixes StandardWell::updateProductivityIndex for distributed wells. 2020-12-18 14:48:19 +01:00
Markus Blatt
12f5a6aaff Fixes StandardWell::allDrawDownWrongDirection for distributed wells. 2020-12-18 14:48:19 +01:00
Markus Blatt
ba1feadb63 Added missing parallel reduction to computeCurrentWellRates.
This is supposed to be summation over values at all perforations.
Hence, it needs a parallel sum.
2020-12-18 14:48:19 +01:00
Markus Blatt
fc4a7fa3c1 Fixes StandardWell::updateIPR for distributed wells.
Of course the summation needs to be over all perforations of the
wells, no matter where they reside. Hence we need communication.
2020-12-18 14:48:19 +01:00
Markus Blatt
c09797355d Sum well rates in computeWellRatesWithBhp for distributed wells.
This needs summation over all procs that share the well as it needs
information from all perforations. Some of them might reside on other
processes.
2020-12-18 14:48:19 +01:00
Alf Birger Rustad
673328a4e1 Remove WSEGAICD from missing features 2020-12-18 11:23:26 +01:00
Atgeirr Flø Rasmussen
d910d42f6e Only add AMG preconditioners to factory if sensible.
Also add test using a new operator class, that would not compile
without the change.
2020-12-17 14:54:59 +01:00
Tor Harald Sandve
273538e1f4 some cleanup 2020-12-16 12:58:17 +01:00
Tor Harald Sandve
30ce605713 use the old initSegmentRates when opening up wells 2020-12-15 15:15:59 +01:00
Atgeirr Flø Rasmussen
81419aa001
Merge pull request #2975 from totto82/dunify_aquifers
Dunify aquifers
2020-12-15 09:46:21 +01:00
Tor Harald Sandve
d027205c34 Initial well rates with the well potentials and scale the segment rates
Initialize the well rates with well potentials when computing rates from bhp or bhp(thp)
The bhp was already initialized.

Scale the segment rates and pressure to adapt to changes in well rate and bhp

Improves convergence of the well potential calculations
2020-12-15 08:39:22 +01:00
Joakim Hove
ab143d15c7 Make sure well is open before copying MSW well state from previous 2020-12-14 09:01:42 +01:00
Joakim Hove
aa345a36f1 Fetch connpos and number of perforations from WellInfo for MSW wells 2020-12-14 09:01:37 +01:00
Markus Blatt
065e2f34f1 Do not include config.h in header (not even in *_impl.hpp)
I was getting warnings about redefined definitions (e.g. HAVE_PARMETIS).
2020-12-11 17:53:24 +01:00
Markus Blatt
924bf5ed19 Use old style traits class approach to check for face tag support.
Old version failed due to a gcc compiler
bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77446 with error:
"non-constant condition for static assertion"
2020-12-11 17:39:55 +01:00
Joakim Hove
cd19e987cf
Merge pull request #2981 from joakim-hove/skip-prev-closed-well
Skip previously shut wells in WellState init
2020-12-11 17:01:46 +01:00
Markus Blatt
9097907857
Merge pull request #2983 from blattms/stdwell-comm-works-on-spe9-2
use random access to simplify code at second occasion
2020-12-11 17:00:07 +01:00
Tor Harald Sandve
7a42a82c55 add check for gridType 2020-12-11 15:33:25 +01:00
Markus Blatt
fa83ed2fdc use random access to simplify code at second occasion 2020-12-11 14:25:56 +01:00
Markus Blatt
354ae1f319
Merge pull request #2976 from blattms/stdwell-comm-works-on-spe9
Make distributed standard well work on SPE9.
2020-12-11 13:43:03 +01:00
Tor Harald Sandve
e09eff6063
Merge pull request #2979 from totto82/prepostreport
Add report for pre/post time
2020-12-11 13:38:58 +01:00
Tor Harald Sandve
6cf91e7f19 Get compressed to cartesian mapping and depths from the vanguard 2020-12-11 12:48:01 +01:00
Tor Harald Sandve
8a0fde9104 dunify the aquifer models 2020-12-11 12:48:01 +01:00
Markus Blatt
b4ed86313e use random access to simplify code during partial_sum of dist wells 2020-12-11 11:24:51 +01:00
Markus Blatt
02bab0957d
Merge pull request #2982 from totto82/fixPot
move the try-catch inside the compute potential loop
2020-12-11 11:24:21 +01:00
Tor Harald Sandve
2deee380f9 move the try-catch inside the compute potential loop 2020-12-11 08:26:52 +01:00
Joakim Hove
8c17172f08 Skip previously shut wells in WellState init 2020-12-10 16:41:10 +01:00
Tor Harald Sandve
6b7c0e630a report pre/post time 2020-12-10 13:40:41 +01:00
Atgeirr Flø Rasmussen
2673af7db5
Merge pull request #2978 from joakim-hove/use-well-status
Use enum Well::Status for well status in WellState
2020-12-10 12:43:40 +01:00
Markus Blatt
c0c1897ea9 Fix computeConnectionPressureDelta for distributed wells.
As this is as sequential (ordering matters!) as it can get we need to
communicate all perforations, do the partial sum with them and save
result back to the local perforations.
2020-12-10 11:32:52 +01:00
Markus Blatt
35218bf042 Added possibility to communicate values from perforations below. 2020-12-10 11:06:28 +01:00
Markus Blatt
3c66b729e1 Fixes perf rate initialization for distributed wells. 2020-12-10 11:06:28 +01:00
Joakim Hove
f5f3d8a98e Introduce WellState::stopWell() 2020-12-10 09:54:37 +01:00
Atgeirr Flø Rasmussen
6e87ec6266
Merge pull request #2955 from blattms/stdwell-comm-rebase-split-pwell-info
Last part of current distributed standard wells.
2020-12-10 08:56:00 +01:00
Joakim Hove
bd3fa0af88 Use enum Well::Status for well status in WellState 2020-12-10 08:11:19 +01:00
Bård Skaflestad
a9e739d0a2
Merge pull request #2977 from joakim-hove/connpos
Change access to connpos to use WellMap instead of index counting
2020-12-09 20:50:03 +01:00
Joakim Hove
e4303c6784 Change access to connpos to use WellMap instead of index counting 2020-12-09 16:49:10 +01:00
Bård Skaflestad
b83f8f0397
Merge pull request #2949 from totto82/msw_operability2
Check operability for MSW
2020-12-09 15:06:21 +01:00
Markus Blatt
1d9d04161d Use std::partial_sum to calculate displacements. 2020-12-09 12:30:48 +01:00
Markus Blatt
b97385c963 Fix and move changes to commented code to code to WellGroupHlper.hpp 2020-12-09 12:29:56 +01:00
Tor Harald Sandve
73439070f7
Merge pull request #2963 from totto82/extbo_conv
add convergence check for extended blackoil model
2020-12-09 08:51:11 +01:00
Atgeirr Flø Rasmussen
f6353535c9
Merge pull request #2973 from blattms/include-config.h
[bugfix] Include config.h in WellGroupHelpers.cpp
2020-12-09 07:36:33 +01:00
Markus Blatt
4f93b2b7c6 Include config.h in WellGroupHelpers.cpp
as should be done in all cpp files.
2020-12-08 21:21:02 +01:00
Atgeirr Flø Rasmussen
6a376b3212
Merge pull request #2922 from atgeirr/make-new-well-rate-init-default
Make --alternative-well-rate-init=true the default.
2020-12-08 16:25:12 +01:00
Tor Harald Sandve
21fd76ccf6 add convergence check for extended blackoil model 2020-12-08 13:09:58 +01:00
Tor Harald Sandve
ba8d2068ea pass trivial B_avg to init method in wellPI calculation 2020-12-08 12:51:25 +01:00
Tor Harald Sandve
5fb73c9714 Only check well operability for wells under THP and BHP limits 2020-12-08 12:38:25 +01:00
Tor Harald Sandve
8ca9cc241a remove unused warnings 2020-12-08 12:38:25 +01:00
Tor Harald Sandve
bc04fb68ef check the sum not individual phases for operability 2020-12-08 12:38:25 +01:00