Commit Graph

1213 Commits

Author SHA1 Message Date
Arne Morten Kvarving
cf2ab1cb41 eclproblem: use if constexpr for enableSolvent 2021-05-26 14:38:35 +02:00
Arne Morten Kvarving
836251aca1 eclproblem: use if constexpr for enableExperiments 2021-05-26 14:31:57 +02:00
Arne Morten Kvarving
b51f57a5c3 eclproblem: replace typedef with using 2021-05-26 14:30:50 +02:00
Arne Morten Kvarving
df4fdc9794 eclproblem: use maybe_unused attribute instead of macro 2021-05-26 14:19:23 +02:00
Arne Morten Kvarving
8ed738b188 eclproblem: anonymize unused parameters 2021-05-26 14:18:44 +02:00
Arne Morten Kvarving
d55df4330e fixed: do not use Opm:: prefix when inside namespace Opm 2021-05-25 12:06:06 +02:00
Arne Morten Kvarving
70ece6d25a eclwriter: split in typetag dependent and typetag-independent parts 2021-05-22 13:21:09 +02:00
Joakim Hove
23180e06d2 Rename WellStateFullyImplicitBlackoil -> WellState 2021-05-21 15:07:21 +02:00
Bård Skaflestad
3299baf5e8
Merge pull request #3262 from akva2/ecltransmissibility_bool_params
remove template parameters for enableEnergy/Diffusion in transmissibility
2021-05-21 13:01:27 +02:00
Atgeirr Flø Rasmussen
dee7030784
Merge pull request #3273 from akva2/clang_cleanups
Quell various clang warnings
2021-05-21 09:22:31 +02:00
Arne Morten Kvarving
ffc3d8fbd6 eclgenericoutputblackoilmodule: split in typetag dependent/independent parts 2021-05-20 09:16:44 +02:00
Arne Morten Kvarving
86fc165af6 remove template parameters for enableEnergy/Diffusion in transmissibility
- the diffusion one is basically done on runtime anyways
- the energy one gives some small code elimination gains
  however, it complicates the writing of downstream templates.
2021-05-20 08:53:40 +02:00
Bård Skaflestad
91dae1aa6f
Merge pull request #3269 from akva2/small_cleanups
Some small cleanups
2021-05-19 23:50:01 +02:00
Tor Harald Sandve
89e5b6758b fix building with dunefem 2021-05-18 15:31:57 +02:00
Arne Morten Kvarving
59d02d42c9 changed: make externalLoadBalancer a namespace scoped symbol
clang get confused and claims there's no explicit instantation
when it's a template member.
2021-05-18 12:12:05 +02:00
Arne Morten Kvarving
a7507cf544 fixed: forward structs as structs
clang warns
2021-05-18 12:07:04 +02:00
Arne Morten Kvarving
c78630cff0 fixed: add virtual dtor to class with virtual functions 2021-05-18 12:06:09 +02:00
Arne Morten Kvarving
8c34172ef0 remove some Opm:: qualifiers inside Opm namespace 2021-05-18 10:09:45 +02:00
Arne Morten Kvarving
5fa02055d4 split eclalternativeblackoilindices to separate file 2021-05-18 10:09:45 +02:00
Arne Morten Kvarving
6df23090bc ecloutputblackoilmodule: remove unused methods
furthermore, they do not compile as there are duplicate
entries in switch statements.
2021-05-18 10:09:45 +02:00
Joakim Hove
842e0a53a4
Merge pull request #3263 from akva2/move_ecldeck_param
changed: move Deck parameter to BlackoilModelParametersEbos
2021-05-18 08:19:19 +02:00
Joakim Hove
b7700d1077
Merge pull request #3259 from akva2/ecltracer_vanguard_separate
ecltracermodel: split in typetag dependent and typetag-independent parts
2021-05-18 08:15:40 +02:00
Arne Morten Kvarving
0a8f3213ae ecloutputblackoilmodule: use tracer info from EclipseState
to reduce reliance on typetag dependent type
2021-05-17 21:27:11 +02:00
Arne Morten Kvarving
8cab13c08a ecloutputblackoilmodule: use empty() instead of size() 2021-05-16 22:12:03 +02:00
Arne Morten Kvarving
638490d6ff ecloutputblackoilmodule: use std::array 2021-05-16 00:00:42 +02:00
Arne Morten Kvarving
8d1a8126ea changed: move Deck parameter to BlackoilModelParametersEbos
it is used there. now eclbasevanguard.hh includes
BlackoilModelParametersEbos, instead of the other way around.
2021-05-15 14:42:50 +02:00
Arne Morten Kvarving
30414bf0ff ecltracermodel: split in typetag dependent and typetag-independent parts
this allows using explicit template instantation to only
compile this code per grid, not per simulator object
2021-05-14 14:06:18 +02:00
Joakim Hove
3ed51c28f9
Merge pull request #3256 from akva2/eclthresholdpressure_vanguard_separate
eclthresholdpressure: split in typetag dependent/independent parts
2021-05-14 09:07:36 +02:00
Arne Morten Kvarving
eaa09a3905 quell warnings in serial build 2021-05-13 22:40:39 +02:00
Arne Morten Kvarving
f5fa602abb eclthresholdpressure: split in typetag dependent and typetag-independent parts
this allows using explicit template instantation to only
compile this code per grid, not per simulator object
2021-05-13 21:09:38 +02:00
Markus Blatt
af68511a63
Merge pull request #3223 from akva2/ecltransmissibility_vanguard_separate
Separate eclctransmissibility.hh into typetag dependent/independent code
2021-05-13 09:33:59 +02:00
Arne Morten Kvarving
7ff44d9093 ecltransmissibility: separate from typetag
this allows using explicit template instantation to only
compile this code per grid, not per simulator object
2021-05-12 12:10:29 +02:00
Arne Morten Kvarving
b053cb4161 unique_ptrs are default initialized to nullptr 2021-05-12 11:08:12 +02:00
Arne Morten Kvarving
924fdec296 use type alias 2021-05-12 11:07:38 +02:00
Arne Morten Kvarving
e8f69223e6 changed: use constexpr value and ifs
to disable code compile time instead of having
runtime conditionals
2021-05-12 10:52:37 +02:00
Markus Blatt
ba9f4c5b50
Merge pull request #3219 from akva2/eclcpgrid_vanguard_separate
Separate eclcpgridvanguard.hh into typetag dependent/independent code
2021-05-12 10:47:44 +02:00
Bård Skaflestad
aea80db23a
Merge pull request #3238 from akva2/fix_equil_cart_mapper_regression
fix regression: do not unconditionally dereference equilCartMapper
2021-05-11 16:36:56 +02:00
Arne Morten Kvarving
c7c29483e7 fix regression: unconditional dereferences
equilGrid and equilCartesianMapper can only
be dereferenced on rank 0.
2021-05-11 15:21:50 +02:00
Arne Morten Kvarving
a192ccb417
Merge pull request #3232 from totto82/fixDuneFemBuild
explicity add gridView from Dune::Fem in collectDataToIORank
2021-05-11 13:24:14 +02:00
Arne Morten Kvarving
215a8b7c25 eclcpgridvanguard: split in typetag dependent and typetag-independent parts 2021-05-11 11:30:35 +02:00
Tor Harald Sandve
f091781ee2 explicity add gridView from Dune::Fem in collectDataToIORank 2021-05-11 09:40:19 +02:00
Arne Morten Kvarving
bba700e7a2 changed: this is better kept a compile time error 2021-05-11 09:15:11 +02:00
Arne Morten Kvarving
3397cd6252 eclbasevanguard: split in template and non-template parts 2021-05-11 09:15:11 +02:00
Arne Morten Kvarving
5aa1b43e41 eclbasevanguard: pass parameters to updateOutputDir
to avoid typetag dependence in the code
2021-05-11 09:15:11 +02:00
Arne Morten Kvarving
6e3cce1fc4 eclbasevanguard: no reason for zoltanImbalanceTol to be a scalar
make it a double always
2021-05-11 09:15:11 +02:00
Arne Morten Kvarving
4dd5dc902b eclbasevanguard: no reason for externalSetupTime to be a scalar
make it a double always
2021-05-11 09:15:11 +02:00
Arne Morten Kvarving
dbf834518e eclbasevanguard: pass parameters to createParseContext
to avoid typetag dependence in the code
2021-05-11 09:15:11 +02:00
Arne Morten Kvarving
86bc095e3a eclbasevanguard: change canonicalDeckPath to std::string
makes use of filesystem an implementation detail
2021-05-11 09:15:11 +02:00
Markus Blatt
d462aee2f8
Merge pull request #3204 from akva2/collect_separate_compile_unit
CollectDataToIORank: move to separate compile unit
2021-05-07 08:55:47 +02:00
Arne Morten Kvarving
a4c0af09d9 fixed: do not use Opm:: prefix when inside namespace Opm 2021-05-05 11:59:18 +02:00
Bård Skaflestad
9ae3329c5f
Merge pull request #3202 from totto82/item9notSupported
add throw for unsupported positive item 9 in EQUIL
2021-05-03 15:13:14 +02:00
Arne Morten Kvarving
543dbe7114 CollectDataToIORank: move to separate compile unit
make it a template for grid types. this allows using
explicit template instantation and compile this code
only once per grid type, instead of once per simulator object.
2021-05-03 13:45:52 +02:00
Tor Harald Sandve
f71f0932c9 add throw for unsupported positive item 9 in EQUIL 2021-05-03 13:03:08 +02:00
Bård Skaflestad
7be6e5bbf1
Merge pull request #3196 from akva2/use_forwarding
Use forwarding where possible in some headers
2021-04-30 16:00:41 +02:00
Arne Morten Kvarving
a200853148 anonymize unused parameters to quell warnings 2021-04-30 13:09:25 +02:00
Arne Morten Kvarving
bce4590404 ebos headers: use forwarding 2021-04-29 12:36:38 +02:00
Joakim Hove
1de5c9539c
Merge pull request #3174 from joakim-hove/use-groupstate2
Use groupstate2
2021-04-27 14:15:49 +02:00
Joakim Hove
590c9443ec Record the correct simulation time in ActionState 2021-04-27 11:44:03 +02:00
Joakim Hove
e1d117c59f Extract group state and create WGState to manage well & group state 2021-04-27 10:55:38 +02:00
Joakim Hove
979279b31c Call endEpisode() for WellModel and Aquifer model 2021-04-26 14:14:58 +02:00
Kai Bao
2ee51c2e0d fixing the serial running due to including of eclmpiserializer.hh 2021-04-21 15:59:26 +02:00
Joakim Hove
763503d13c
Merge pull request #3134 from GitPaean/using_pinched_grid_numerical_aquifers
Using pinched grid for numerical aquifers
2021-04-21 13:03:58 +02:00
Kai Bao
06fa81f4e3 following interface change for processEcipseFormat 2021-04-20 11:27:15 +02:00
Tor Harald Sandve
c55864b1be extrapolate saltvd table 2021-04-20 09:24:26 +02:00
Kai Bao
9f360c5c6d fixing the mistakes due to rebasing 2021-04-14 13:16:30 +02:00
Kai Bao
364187aa1a updating NNC after grid processing for parallel case
numerical aquifers might modify NNCs during grid processing, while it
only updates in the root process. Other processes need to be updated
too.
2021-04-14 09:47:57 +02:00
Joakim Hove
c939ca90e6 Throw exception in not implemented function 2021-04-13 11:44:51 +02:00
Joakim Hove
138e3b2af3 Report cell volume removed due to MINPV/MINPVV 2021-04-12 21:44:42 +02:00
Bård Skaflestad
9def2fab12 Unpack Aquifer Subobjects Too
This is needed to properly communicate type-specific parameters to
other processes.  In particular, outputting the Carter-Tracy summary
vectors AAQTD and AAQPD needs this in a parallel simulation run.
2021-04-10 17:28:57 +02:00
Bård Skaflestad
160f20975b Support Block-Level Two-Phase Subsystem Kro Summary Output
This commit adds support for calculating and reporting block-level
values of the relative permeability of oil in the two-phase oil/gas
and oil/water subsystems of a three-phase simulation run.  These are
activated through summary keywords BKROG and BKROW, respectively.
2021-04-07 08:09:46 +02:00
Joakim Hove
b71a273ada Commit wellstate after appplyActions 2021-03-29 16:20:10 +02:00
Joakim Hove
98f6a9a7ac Update collection of wells after ACTIONX 2021-03-29 16:20:10 +02:00
Joakim Hove
405b9d2244 Add accessor functions to maintain WellState objects in well model 2021-03-29 15:30:32 +02:00
Bård Skaflestad
ee20d1c1c1
Merge pull request #3138 from totto82/debugThermal
Fix thermal conductivity
2021-03-27 13:59:59 +01:00
Tor Harald Sandve
ef325dd08d Store both inside and outside thermal half transmissibility 2021-03-26 15:29:05 +01:00
Tor Harald Sandve
838b230b64 Align the thermal transmissibility computations with the diffusion computations. 2021-03-26 15:28:17 +01:00
Joakim Hove
3d226abd24 Remove references to RestartConfig 2021-03-26 08:03:07 +01:00
Bård Skaflestad
498efe11a7
Merge pull request #3133 from GitPaean/fixing_segmentation_fault_drsdt
only when both oil and gas exist, we handle drsdt and drvdt
2021-03-25 12:03:28 +01:00
Kai Bao
6072cb20a2 only when both oil and gas exist, we handle drsdt and drvdt 2021-03-25 08:36:25 +01:00
Kai Bao
6061b5f5b0 updating the interface of function processEclipseFormat 2021-03-23 20:27:10 +01:00
Bård Skaflestad
120afea99a
Merge pull request #3079 from totto82/testDiff
FOR TESTING. Enable Diffusion by default
2021-03-19 23:49:19 +01:00
Bård Skaflestad
c220d7f127 Push 'corners' Object into Assert
That way we don't get "unused variable" warnings when someone
defines NDEBUG.  While here, also switch to using Geometry
references where appropriate to avoid needlessly copying Geometry
objects.
2021-03-19 09:42:27 +01:00
Joakim Hove
cd7c4d9927
Merge pull request #3112 from totto82/refact_ginj
Add support for explicit guiderate for injection groups
2021-03-18 17:03:53 +01:00
Tor Harald Sandve
3df75f5ab6
Merge pull request #3076 from totto82/drsdt_dyn
Implement convective dissolution rate
2021-03-18 08:45:46 +01:00
Tor Harald Sandve
f4ac7f555b Add support for explicit guiderate for injection groups
With this commit the guiderate logic used for the production groups is also used for injectors
This allows for setting guiderates explicit at different group levels
Only RATE, NETV and VOID guiderate type is suppored.
2021-03-16 15:56:31 +01:00
Kai Bao
24d5d73009 cleaning up comments
There is no functional change.
2021-03-15 21:15:56 +01:00
Kai Bao
116b77bd8a addressing the reviewing comments for PR OPM/opm-simulators#3039
putting the numerical aquifer related modification in a function and the
function is called after the equilibration calculation, so it will work
for different equilibration methods.
2021-03-15 10:21:40 +01:00
Kai Bao
9ecdca75d9 Merge remote-tracking branch 'upstream/master' into new_numerical_aquifer 2021-03-11 14:08:42 +01:00
Joakim Hove
16e6bc0d59 Remove superfluos function call 2021-03-10 10:44:39 +01:00
Arne Morten Kvarving
fd273f4802
Merge pull request #3107 from totto82/fixBoundaryIssueAgain
adapt to changes in opm-models
2021-03-09 14:42:57 +01:00
Tor Harald Sandve
0c66a38adf adapt to changes in opm-models 2021-03-09 09:44:53 +01:00
Joakim Hove
ec344d555d Pass ouput interval overeride to Schedule constructor 2021-03-08 19:30:58 +01:00
Joakim Hove
9ad5d69744 Utilize private restartconfig 2021-03-07 09:31:10 +01:00
Kai Bao
69619339a1 Merge branch 'master' into new_numerical_aquifer 2021-03-04 22:54:36 +01:00
Bård Skaflestad
4ed085ddc3
Merge pull request #3073 from joakim-hove/timemap-api
Remove timemap member from Schedule
2021-03-03 18:17:27 +01:00
Joakim Hove
b1c9e3a2cf Add comment about distribution 2021-03-01 16:51:10 +01:00
Joakim Hove
2184b6a64b
Revert "Use fmt::format() for two messages" 2021-03-01 14:43:15 +01:00
Markus Blatt
0644fba01b
Merge pull request #3088 from joakim-hove/use-active-index
Use active index
2021-03-01 09:22:25 +01:00
Joakim Hove
d8830c721b Use only active elements when updating reference porosity 2021-02-28 15:48:02 +01:00
Joakim Hove
66a8551f71 Use fmt::format() for two messages 2021-02-26 16:01:43 +01:00
Joakim Hove
74ca0d12e0 Use std::chrono::system_clock with 1/1000 second resolution 2021-02-25 23:50:25 +01:00
Joakim Hove
6f15765f53 Use Schedule time functions - avoid TimeMap 2021-02-25 18:10:22 +01:00
Tor Harald Sandve
ffe51aa346 return 0 diffusivity if diffusion in disabled 2021-02-25 15:22:01 +01:00
Tor Harald Sandve
48ad676010 only update diffusivity when DIFFUSIVE is in the deck 2021-02-25 11:14:12 +01:00
Tor Harald Sandve
60534d66b6 FOR TESTING. Enable Diffusion by default 2021-02-24 12:56:38 +01:00
Tor Harald Sandve
9aa4c415ad Implement convective dissolution rate
The convective DRSDT is activated with DRSDTCON
2021-02-23 12:45:50 +01:00
Kai Bao
a43c45e6ff setting numerical aquifer cells water saturation to 1.0
was removed accidently during cleaning up
2021-02-22 23:15:26 +01:00
Kai Bao
5e408ad71b trying to make the numerical aquifer runs in parallel
the current approach is not necessarily correct. When aquifer cells are
on the overlap layers, things are much more complicated.

But it mostly affects only the summary output of the numerical aquifers.
The well data should be fine.
2021-02-22 23:15:26 +01:00
Kai Bao
2b85e93ef6 some cleaning up
not functionality changes.
2021-02-22 23:15:26 +01:00
Kai Bao
524e63a255 adapting to the upstream interface change. 2021-02-22 23:15:26 +01:00
Kai Bao
c1a61e3b72 fixing the numerical aquifer related after rebasing 2021-02-22 23:15:26 +01:00
Kai Bao
a755b54afc rebasing and fixing the compilation.
The equilibration needs to be fixed for numerical aquifers.
2021-02-22 23:15:26 +01:00
Kai Bao
74f2fcd121 WIP in using pinched grid for numerical aquifer 2021-02-22 23:15:26 +01:00
Kai Bao
65bde5d65b making sure the aquifer cells have the correct cell volume
because AQUNUM can specify different cells volume, which is indepedent
of the grid coordinates.
2021-02-22 23:15:26 +01:00
Kai Bao
ef67d9a9e7 using the specified pressure for numerical aquifer
NOT totally sure how to use this pressure value, do we need to consider
the capillary pressure?
2021-02-22 23:15:26 +01:00
Kai Bao
80c0073a69 set water saturations for numerical aquifer cells to be 1. 2021-02-22 23:15:26 +01:00
Kai Bao
1d5b60a600 using the depth specified by numerical aquifer
for numerical aquifer cells, instead of the depth calculated from the
grid geometry.
2021-02-22 23:15:26 +01:00
Joakim Hove
a5c5dc2ec9
Merge pull request #3071 from joakim-hove/rft-config
Use ScheduleState for RFT configuration
2021-02-19 10:35:33 +01:00
Markus Blatt
d693c3da42
Merge pull request #3050 from joakim-hove/actionx-welpi
Support combination of ACTIONX and WELPI
2021-02-18 22:09:16 +01:00
Joakim Hove
aca3b246ae Add empty() methods for updateEclWell and wellPI in ebos 2021-02-18 16:53:50 +01:00
Joakim Hove
ff51c2d7ee Handle WELLPI keyword in ACTIONX
When an ACTIONX has evaluated to True we inspect the keyword payload and if it
contains WELPI we query the well model for current wellpi values and pass that
along as context to the Schedule::applyAction()
2021-02-18 16:53:50 +01:00
Tor Harald Sandve
4ca3c2af72 clean-up commented code 2021-02-18 13:49:35 +01:00
Joakim Hove
b92f06544c Use ScheduleState for RFT configuration 2021-02-18 10:47:59 +01:00
Tor Harald Sandve
1abbd9c776 add diffusivity to eclTranmissibility 2021-02-16 12:21:58 +01:00
Markus Blatt
fd7c4e3d24
Merge pull request #3053 from totto82/fixBoundaryMPI
fix boundary face index on process boundaries
2021-02-11 09:07:19 +01:00
Joakim Hove
b15a336341 Add wellpi argument to Schedule::applyAction() 2021-02-10 12:39:25 +01:00
Tor Harald Sandve
c64dcacfec fix boundary face index on process boundaries 2021-02-09 12:40:00 +01:00
Joakim Hove
4f90eff8d5 Pass simulation time argument to applyAction 2021-02-05 09:39:35 +01:00
Bård Skaflestad
03a616e08a Support Aliases for Block Level Quantities
In particular, treat BSOIL, BSGAS, BSWAT, and BPRESSUR as aliases
for BOSAT, BGSAT, BWSAT, and BPR respectively.
2021-02-02 11:36:41 +01:00
Markus Blatt
0238a80b02
Merge pull request #3032 from blattms/test-spe9-distributed-wells
Support external loadbalancers in EclCpGridVanguard
2021-02-02 11:21:40 +01:00
Markus Blatt
67fc95c340
Merge pull request #3029 from blattms/activate-distributed-wells
Activate distributed wells in the simulator
2021-02-02 09:40:08 +01:00
Markus Blatt
143ae344f5 Split error message into multiple lines 2021-01-28 16:43:24 +01:00
Bård Skaflestad
9360d0a646
Merge pull request #3033 from totto82/fixEmptyEquilOutput
Fix empty region output in parallel
2021-01-27 15:03:06 +01:00
Markus Blatt
2d23b01da8 Restrict property/type tag changes to eclbasevanguar.hh 2021-01-27 14:41:10 +01:00
Tor Harald Sandve
82c8968ae3 only warn about empty regions when none of the partitions contains the region 2021-01-27 12:47:41 +01:00
Markus Blatt
e1e1ff9a17 Added support for external load balancer to EclCpGridVanguard.
You can use EclCpGridVanguard::setExternalLoadBalancer() to
set an external funtion that creates a vector of integers (containing
the partition for each cell) from the grid. If it is set then this
information will be used for loadbalancing, otherwise ZOLTAN.
2021-01-26 21:12:04 +01:00
Tor Harald Sandve
c145722798 pass CartesianIndexMapper instead of the grid to the RelpermDiagnositics 2021-01-26 14:59:36 +01:00
Markus Blatt
ac1757d2c0 Corrected use of typetag system to make the tests compile.
This meant introducing another version of the TAG for the
grid.
2021-01-25 15:05:24 +01:00
Markus Blatt
f464d93f15 Activate distributed standard wells.
We introduce a new parameter --enable-distributed-wells=<true|false>
for this. During startup we check that the model either only has
standard wells or that multisegement wells are actively interpreted
as standard wells (by way of passing --enable-multisegment-wells=false
as an option).
2021-01-25 15:05:24 +01:00
Joakim Hove
d025f39474 Use ScheduleState to manage Actionx 2021-01-15 07:57:27 +01:00
Joakim Hove
5dd3e308f5 Use ScheduleState to manage well lists 2021-01-12 20:18:40 +01:00
Joakim Hove
237eb2b7ee Fetch events from ScheduleState 2021-01-11 17:42:30 +01:00
Joakim Hove
1b534dfad7 Use ScheduleState to extract oil vaporization properties 2021-01-07 15:50:31 +01:00
Atgeirr Flø Rasmussen
bf826c99c9
Merge pull request #3003 from totto82/setImbalanceTol
dynamically set zoltan imbalance tolerance
2021-01-07 08:25:41 +01:00
Joakim Hove
fe788cdb05 Access tuning class from ScheduleState 2021-01-06 16:26:13 +01:00
Tor Harald Sandve
3cd0d9c29f dynamically set zoltan imbalance tolerance 2021-01-06 11:52:48 +01:00
Bård Skaflestad
e7ca9df998 Extract SOIL Directly for 'BOSAT' Summary Vector
This works better in two-phase runs (G/O or O/W).
2020-12-21 13:57:31 +01:00
Arne Morten Kvarving
1907fe4937 collect global aquifer data for output in eclwriter 2020-12-21 12:54:34 +01:00
Tor Harald Sandve
6cf91e7f19 Get compressed to cartesian mapping and depths from the vanguard 2020-12-11 12:48:01 +01:00
Bård Skaflestad
0e938c0ca7
Merge pull request #2941 from totto82/dunifyInitCode
dunify and make the initialization parallel
2020-12-09 20:46:28 +01:00
Atgeirr Flø Rasmussen
83a6c2abae
Merge pull request #2947 from blattms/fix-parallel-well-red
Prepares for apply distributed standard wells.
2020-12-04 20:32:30 +01:00
Joakim Hove
66a532f33e
Merge pull request #2957 from joakim-hove/wbp-collect
Wbp collect
2020-12-04 09:11:21 +01:00
Markus Blatt
8ee58096ba Make the parallel reduction when applying the Wells.
The B matrix is basically a component-wise multiplication
with a vector followed by a parallel reduction. We do that
reduction to all ranks computing for the well to save the
broadcast when applying C^T.
2020-12-03 11:10:36 +01:00
Joakim Hove
72905f3e3b Gather WBP pressure data before summary eval 2020-12-03 09:40:40 +01:00
Arne Morten Kvarving
76eec37e5a fixed: use correct type tag in ebos_gaswater 2020-12-03 09:13:23 +01:00
Paul Egberts
877c0b723d fix missing argument for BlackoilTwophaseIndices 2020-12-03 09:04:11 +01:00
Paul Egberts
13cd4b476e fix disabled component index 2020-12-03 09:04:11 +01:00
Paul Egberts
d0421582e1 add gas-water simulator 2020-12-03 09:04:11 +01:00
Tor Harald Sandve
b202a025c0 some clean up 2020-12-02 13:04:34 +01:00
Joakim Hove
ced3c99e09
Merge pull request #2953 from joakim-hove/udq-eval-off-by-one
Shift the report step argument used when calling UDQ eval
2020-12-02 08:34:43 +01:00
Atgeirr Flø Rasmussen
f34b286636
Merge pull request #2944 from goncalvesmachadoc/aquifer
Remove unnecessary check for saturations
2020-12-01 08:40:28 +01:00
Joakim Hove
1d86e2dc97 Pass wbp index list to output module 2020-12-01 07:52:58 +01:00
Joakim Hove
1bb7b0d30f Use unique_ptr for outputmodule member in EclWriter 2020-11-30 13:31:04 +01:00
Joakim Hove
c0e3de3815 Pass WBP calculators to Summary::eval 2020-11-30 11:30:00 +01:00
Joakim Hove
11bbb33337 Shift the report step argument used when calling UDQ eval 2020-11-30 10:14:20 +01:00
Arne Morten Kvarving
b7e3ca1326
Merge pull request #2928 from akva2/simplify_buildsystem_models
Use lists in buildsystem and rename some ebos models to be consistent with flow
2020-11-27 19:39:39 +01:00
Tor Harald Sandve
246c339b13 Pass gridView instead of the vanguard to the initialization 2020-11-27 13:46:04 +01:00
Tor Harald Sandve
6c06a72466 dunify and make the initialization parallel 2020-11-27 12:38:17 +01:00
Atgeirr Flø Rasmussen
5617a2ef5c
Merge pull request #2919 from blattms/do-not-filter-distributed
Do not filter connections on the schedule of the loadbalanced grid.
2020-11-26 16:43:09 +01:00
Cintia Goncalves Machado
c24cd93da5 remove more checks 2020-11-25 22:48:01 +01:00
Cintia Goncalves Machado
76bde77f5c do not check for saturation for single-phase 2020-11-25 21:46:40 +01:00
Markus Blatt
19bebcefe2 Broadcast schedule another time after filtering connection on rank 0
Only after rank zero does the filtering the schedule the well
definitions in there are guarateed to have no perforations to inactive
cells. Therefore we broadcast the schedule another time to publish
this to all processes.

Previously, we did the filtering locally on these processes bit that
did also remove perforations to cells that are active globally but
not locally. That seems very hard to work with when allowing
distributed wells.
2020-11-24 22:46:49 +01:00
Joakim Hove
62b119170d Pass Inplace argument to Summary::eval() 2020-11-24 12:33:05 +01:00
Joakim Hove
df292baeea Use Inplace::Phase enums instead of string tags 2020-11-24 12:33:05 +01:00
Joakim Hove
e962374856 Pass the initial inplace values to Summary::eval() 2020-11-20 10:02:16 +01:00
Joakim Hove
b2896d09ff
Merge pull request #2920 from joakim-hove/use-original-IP
Pass region in place values to the summary writer
2020-11-19 17:13:04 +01:00
Markus Blatt
d8eaef3271 Fixed and updated comment 2020-11-19 15:29:45 +01:00
Markus Blatt
46cb9012c0 Do not filter connections on the schedule of the loadbalanced grid.
It would remove perforated cells from wells that cross the local
domain's border. That would make it impossible to figure out the
first connection. In addition we would not be able to check that
the connections exist (as rank 0 would have the complete information
-> inconsistency).
2020-11-19 15:29:45 +01:00
Joakim Hove
6084f7c4d4 Use class Inplace to manage aggregated region properties in output 2020-11-19 11:38:18 +01:00
Arne Morten Kvarving
be48b3505d remove unused variable 2020-11-19 11:10:33 +01:00
Joakim Hove
2043d792c1 Remove arguments 2020-11-18 15:40:22 +01:00
Arne Morten Kvarving
e176487cae changed: rename ebos_thermal to ebos_energy
make it the same as the flow model, allowing simplification
in the buildsystem
2020-11-18 14:04:27 +01:00
Arne Morten Kvarving
9ad927799b changed: rename ebos_oilwaterpolymer to ebos_oilwater_polymer
make it the same as the flow model, allowing simplification
in the buildsystem
2020-11-18 14:04:04 +01:00
Ove Sævareid
b132df610f Missing template argument. 2020-11-17 12:39:21 +01:00
Ove Sævareid
98b2ed5bd4 Cleaning up various issues. 2020-11-17 12:39:21 +01:00
Ove Sævareid
0f7e66e151 Alternative solvent extension for the black oil model. 2020-11-17 12:33:19 +01:00
Markus Blatt
0dcfc60363
Merge pull request #2912 from totto82/polyhedrealgrid
Make a flow version that uses the polyhedreal grid
2020-11-16 17:04:38 +01:00
Joakim Hove
2d137e706f
Merge pull request #2918 from joakim-hove/summary-RRPV
Change output name of Region Pore Volume
2020-11-16 10:37:37 +01:00
Joakim Hove
cddc8044b3 Change output name of Region Pore Volume 2020-11-13 08:21:22 +01:00
Joakim Hove
da2bc2affd Refactor application of NNC / EDITNNC
- The edit manipulations from EDITNNC have already been applied to the NNC data
  from opm-common

- The NNC data structures are guaranteed to be ordered, both with cell1 <= cell2
  and the NNCs are in ascending order

- The NNC output to EGRID / INIT files is based on std::vector<NNCdata>
2020-11-10 16:59:30 +01:00
Tor Harald Sandve
fbccdbf68e Make a flow version that uses the polyhedreal grid
Currently the simulator creats the polyhedreal grid from an eclGrid from opm-common

TODO
 - make it possible to create the grid directly from DGF or MRST format
 - fix issue on norne.
2020-11-10 15:49:59 +01:00
Joakim Hove
e2909958c8
Merge pull request #2844 from hakonhagland/poro2
Implements access to the porosity from Python.
2020-11-05 11:15:12 +01:00
Alf Birger Rustad
590da4b0ae Switch default for restarting to read historic schedule 2020-11-03 17:56:24 +01:00
Håkon Hægland
648bab7108 Implements access to the porosity from Python.
Implements access (read/write) to the porosity from Python.
2020-11-03 17:18:14 +01:00
Joakim Hove
082fed2d78 Add wellmatcher argument when evaluating UDQ expressions 2020-10-30 23:34:07 +01:00
Atgeirr Flø Rasmussen
f528adb604
Merge pull request #2837 from blattms/fix-parallel-average-formation-factors
Fixes parallel computation of average formation factors.
2020-10-06 19:37:12 +02:00
Bård Skaflestad
14e34378b0
Merge pull request #2829 from GitPaean/wip_aquifer_keywords
aquifer summary keywords
2020-10-05 22:51:40 +02:00
Markus Blatt
5553d2d1f3 Renamed variables/functions for number of cells. 2020-10-05 20:02:13 +02:00
Markus Blatt
f791884639 Used std::distance instead of manual for-loop. 2020-10-05 14:31:48 +02:00
Markus Blatt
ca8de16285 Fixes parallel computation of average formation factors.
This was using the sum of the sum of all cells of the partitions.
Hence the shared cells were counted twice.
2020-10-05 14:08:59 +02:00
Kai Bao
ed89f25d1b providing the aquifer data for summary output 2020-10-02 13:13:20 +02:00
Alf Birger Rustad
e68db6dbda Converted to fmt formatting 2020-10-02 12:46:45 +02:00
Alf Birger Rustad
8ecfa1b5db Fix the warning message for tracer model. 2020-10-02 08:56:49 +02:00
Markus Blatt
1109aeecfc
Merge pull request #2825 from blattms/dune-2.7-fixes
Fixes compilation with DUNE 2.7
2020-10-01 16:30:18 +02:00
Markus Blatt
903cde5568
Merge pull request #2820 from atgeirr/serial-partitioning
Add command line parameter --serial-partitioning.
2020-10-01 16:09:49 +02:00
Atgeirr Flø Rasmussen
30cab9dbe6
Merge pull request #2819 from totto82/rocktab
Add support for ROCKTAB
2020-10-01 09:32:31 +02:00
Markus Blatt
6e1f729e8d Work around MPIGuard which is broken in DUNE 2.7.0
Otherwise compilation aborts with:

flow_ebos_gasoil.cpp:(.text+0xa5d0): multiple definition of `Dune::GuardCommunicator::create(ompi_communicator_t* const&)';
2020-09-30 20:34:36 +02:00
Atgeirr Flø Rasmussen
c6203e9bec Add command line parameter --serial-partitioning. 2020-09-29 16:14:45 +02:00
Atgeirr Flø Rasmussen
0096035a97
Merge pull request #2818 from totto82/updateHystTime
Change when hysteresis and vappers are updated
2020-09-29 15:59:56 +02:00
Tor Harald Sandve
4f84ca4716 Add support for ROCKTAB 2020-09-28 20:32:34 +02:00
Tor Harald Sandve
56fc29beb1 move update of hysteresis and vappars from beginEpisode to beginTimestep 2020-09-28 10:02:31 +02:00
Atgeirr Flø Rasmussen
0cdd1eda69
Merge pull request #2812 from totto82/fixBC_2p
fix BC code for 2p simulations.
2020-09-28 09:51:01 +02:00
Atgeirr Flø Rasmussen
e8460b384e
Merge pull request #2804 from totto82/updateAndInvalid
Invalidate and update the intensive quantities at the same time
2020-09-28 09:02:25 +02:00
Atgeirr Flø Rasmussen
b5c5c28c16
Merge pull request #2788 from alfbr/new-defaults
New numerical defaults
2020-09-28 08:57:08 +02:00
hnil
16cd1f0ef3 Removed use of explicit regular falsi.
Use the standard solver from opm-common instead.
2020-09-26 13:07:01 +02:00
Tor Harald Sandve
80fcccdd66 fix 2p BC code 2020-09-25 09:59:45 +02:00
Bård Skaflestad
362c84a01c
Merge pull request #2798 from totto82/outputTemperature
output temperature when TEMP is set
2020-09-24 22:06:20 +02:00
Arne Morten Kvarving
49cc70f49c fixed: avoid deadlocks in parallel if serialization throws 2020-09-24 11:00:37 +02:00
Joakim Hove
2c447ae829
Merge pull request #2805 from akva2/serializer_optional
Optional support in eclmpiserializer
2020-09-24 07:33:16 +02:00
Arne Morten Kvarving
dfd2109665 added: support for std::optional in eclmpiserializer 2020-09-23 12:23:18 +02:00
Tor Harald Sandve
85e25f7e0e Invalidate and update the intensive quantities instead of just invalidate them 2020-09-23 11:39:04 +02:00
Atgeirr Flø Rasmussen
237b281f09
Merge pull request #2802 from blattms/refactor-defunct-wells
Refactored how well information is exported after load balancing.
2020-09-23 08:54:35 +02:00
Markus Blatt
1d94357558 Refactored how well information is exported after load balancing.
Previously, we exported an unordered map containing all names of
wells that are not present in the local part of the grid.

As we envision to have wells that are distributed across multiple
processors, this information does not seem to be enough. We need
to be able to set up communication for each well. To do this we need
to find out who handles perforations of each well.

We now export a full list of well name together with a boolean
indicating whether it perforates local cells (vector of pair of string
and bool).
2020-09-22 20:04:01 +02:00
Markus Blatt
779c7f6012
Merge pull request #2793 from blattms/fix-tran-application
Fixes application of transmissibility modifiers from the edit section.
2020-09-22 19:56:16 +02:00
Kai Bao
897fc77a1d
Merge pull request #2791 from GitPaean/increasing_maxIter
increasing maxIter to 1000 for function satFromPc
2020-09-21 21:18:20 +02:00
Joakim Hove
cc6abb4086
Merge pull request #2796 from joakim-hove/rm-exceptions
Remove unused #include of exceptions
2020-09-21 16:33:19 +02:00
Tor Harald Sandve
ae95570693 output temperature when TEMP is set 2020-09-21 15:35:55 +02:00
Joakim Hove
d9465907be
Merge pull request #2795 from joakim-hove/remove-sim-container
Remove references to unused class SimulationDataContainer
2020-09-21 11:16:37 +02:00
Joakim Hove
0565d6f402 Remove unused #include of exceptions 2020-09-21 11:12:15 +02:00
Joakim Hove
9809dcc804 Remove references to unused class SimulationDataContainer 2020-09-21 07:16:11 +02:00
Bård Skaflestad
fde3c476c3 Chase Group/Node Summary API Update
This is in preparation of adding support for outputting the network
node pressure quantity, GPR, to the summary file.  In particular,
'GroupValues' is renamed to 'GroupAndNetworkValues' and has new
individual datamembers for the former group-level data and the new
node-level data.

Update BlackoilWellModel::groupData() and CollectToIORank
accordingly and bring the parallel restart facility in line with the
new layout.
2020-09-20 22:26:07 +02:00
Kai Bao
775793676c increasing maxIter to 1000 for function satFromPc
it is a temporary fix to make some parallel running easier. We need to
change it manually to make some parallel running pass.
2020-09-17 20:59:58 +02:00
Markus Blatt
6d8621e4df Use TranCalculator to update transmissibilities. 2020-09-17 20:28:17 +02:00
Alf Birger Rustad
345597f5f7 Enable drift compensation 2020-09-16 16:09:14 +02:00
Bård Skaflestad
79f2908277
Merge pull request #2782 from totto82/fixOilWater
Fix oil water for MSW
2020-09-14 20:00:09 +02:00
Bård Skaflestad
e4878addb4
Merge pull request #2727 from totto82/fixUnitSalt
fix output unit salt
2020-09-14 15:46:11 +02:00
Tor Harald Sandve
bcc0a1be69 only output connection saturation for existing phases 2020-09-14 14:44:16 +02:00
Bård Skaflestad
c219b61c65
Merge pull request #2767 from joakim-hove/summary-reg
Started to support summary regions
2020-09-14 11:54:19 +02:00
Joakim Hove
4be8240771 Support alternate FIPxxx regions in region summary keywords
As part of support the RPR__xxx summary keywords the ecloutputblackoilmodule.hh
file hase been refactored significantly:

 - std::optional<> is used to manage the calculate once initial values.

 - several small functions are extracted from the outputFipLog() function.

 - std::array<> is used instead of ScalarBuffer to manage containers over all
   FipTypes.

 - SummaryConfig nodes for the requested summary output is stored in the class.

 - A small struct RegionSum is created to hold the region summed properties.
2020-09-14 11:09:37 +02:00
Tor Harald Sandve
a32f6bbfa8 fix output unit salt 2020-09-14 08:40:24 +02:00
Joakim Hove
03852825d5 White space change 2020-09-10 13:53:39 +02:00
Markus Blatt
c2362daae9 reactive applyMultipliers_(trans, outsideFaceIdx, ..) for PINCH(5)=ALL
Should make the tests succeed.
2020-09-10 10:20:17 +02:00
Markus Blatt
06827bdd17 Apply only MULTZ+ in applyAllZMultipliers_, prepare for PINCH(5)=TOP
For PINCH(5)==ALL, we take the minimum of MULTZ+ and ignore MULTZ-.
We also prepare for PINCH(5)==TOP taking only the toplevel MULTZ+
value.

For non-vertical directions we use both MULTZ+ and MULTZ-
2020-09-10 09:12:34 +02:00
Bård Skaflestad
8033e8fc67
Merge pull request #2781 from blattms/fix_pinchmode_all_parallel_3
fix insideCartElmIdx and outsideCartElmIdx order for faces in parallel (2)
2020-09-09 23:30:24 +02:00
Markus Blatt
d2a2d5074d Rely on insideCartElemIdx<outsideCartElemIdx in allpyAllZMultipliers_
and simpily code under that assumption.
2020-09-09 21:41:52 +02:00
Bård Skaflestad
f771088414
Merge pull request #2779 from joakim-hove/use-make-unique
Use std::make_unique<>
2020-09-08 22:44:57 +02:00
Joakim Hove
c0187ffc73 Use std::make_unique<> 2020-09-08 21:57:26 +02:00
Markus Blatt
ee6044b2e0 Fixes determining whether index of summary keyword is on process.
We used a method isGlobalIdxOnThisRank to determine whether to write
an entry for a summary keyword (like BPR). Unfortunately, this did
exactly what the name suggested, but we actually passed a cartesian
index to it. That meant that a lower cartesian index might have found on
many processes (with different cartesian index and hence resulting in
wrong values), while higher for ones no process would have been found
with it (resulting in writing zeros).

With this commit we store a sorted list of cartesian indices and query
that in the renamed and restructured function isCartesianidxOnThisRank.

Most probably this broke during refactoring.

Closes #2665
2020-09-08 20:44:27 +02:00
Markus Blatt
11f9eb9d88 Base face processing decision of faces on cartesian indices
This will process the same faces in serial and parallel.
Hence it make the silent assumption that we only process faces
from low cartesian index to high cartesian index hold again.

This should fix PINCH MULTZ ALL in parallel.
2020-09-08 11:10:31 +02:00
Joakim Hove
ead673b58a Add report_step argument to UDQConfig::eval() 2020-09-08 07:39:03 +02:00