Commit Graph

877 Commits

Author SHA1 Message Date
Kai Bao
11807747cb renaming solveWellEqUntilConverged to be iterateWellEquations 2020-08-11 09:10:19 +02:00
Tor Harald Sandve
fc45b1bd47 Add inner iterations for standard wells also 2020-08-11 09:10:19 +02:00
Bård Skaflestad
8c8635d221 Cell Data: Don't Warn About Supported Output Directives
This commit ensures that we don't issue misleading warning about
output creation directives such as

    BASIC
    FREQ
    RESTART

that could be, and typically are, put into keywords like RPTRST and
RPTSCHED.  Previously, we would interpret these directives as names
of cell vectors and we would get very confusing diagnostic messages
of the form

    Keyword 'BASIC' is unhandled for output to file

which suggests that 'BASIC' is unsupported despite the output system
supporting the directive for quite some time.  While here, also
apply the same reasoning to the vectors we always output such as
SWAT, SGAS, or PRESSURE.
2020-07-28 13:36:25 +02:00
Joakim Hove
8f78a15938 Add WListManager argument when constructing ActionContext 2020-07-09 07:30:37 +02:00
Bård Skaflestad
47d4a5087f
Merge pull request #2698 from totto82/applyPVTWsalt
Pass the salt concentration to the water PVT
2020-07-08 09:32:51 +02:00
Joakim Hove
b9b1e734cb Add data::GroupValues member to RestartValue 2020-07-04 10:06:03 +02:00
Tor Harald Sandve
88ee892fdf pass the saltConcentration to the waterPVT 2020-07-02 13:44:01 +02:00
Bård Skaflestad
5bb4321824 Simulator Group Data: Chase Upstream API Update
This commit makes the 'groupData()' function return a

    map<string, Opm::data::GroupData>

object instead of a

    map<string, Opm::data::GroupConstraints>

object.  The 'GroupData' structure adds a level of indirection to
the current per-group summary quantities that are directly assigned
by the simulator.  While here, also move the assignment of the
current group constraints/control values out to a separate helper
to reduce the body of the per-group loop in 'groupData()'.

This is in preparation of adding support for reporting group-level
production/injection guiderates (Gx[IP]GR) to the summary file.
2020-07-01 22:52:26 +02:00
Bård Skaflestad
7cf035da80 EclWriter: Refactor Cell Loop out to Helper Function
That way we can use the same code for both the 'writeOutput' and
the 'evalSummaryState' member functions.  While here, also change
the declared types of 'wellData' and 'groupData' to 'auto' in
preparation of API updates for collecting group- and well level
guiderate data.

Finally, apply 'const' where possible.
2020-06-27 21:14:09 +02:00
Joakim Hove
b52366926a Add Action::State member to EclPropblem and pass it to io/ActionX 2020-06-17 12:25:03 +02:00
Bård Skaflestad
0310fa4edf
Merge pull request #2673 from blattms/fix-tranyxyz-sub-3D
[bugfix] Fix TRANXYZ for problems with less than 3 dimensions.

Also subsumes and closes #2150.
2020-06-15 17:15:48 +02:00
Markus Blatt
2e9cfffea6 Fix TRANXYZ for problems with less than 3 dimensions.
Up to now We always assumed that cardDims[i]>1 holds. which it does for most
of the cases. But when e.g. simulating a vertical stack of 5 cells
flow would report the transmissibilities in the Z direction in TRANX
and output TRANZ as zero. Similar problems should be there for 2D grids.

With this commit we actually check whether there can be neighbours in
the X and Z direction to prevent this behavior.
2020-06-15 10:40:26 +02:00
Arne Morten Kvarving
44bec2d7db changed: delay deck dereference
this was harmless unless enableExperiments was given, since
the deck ref is not used otherwise, but it caused an UBSAN issue
when run in parallel.
2020-06-15 09:50:06 +02:00
Joakim Hove
754f74df01 Adapt variant serialization to four types 2020-06-12 07:21:46 +02:00
Joakim Hove
a1306a62fc Add serialization of std::variant<T1,T2,T3> 2020-06-10 20:41:14 +02:00
Atgeirr Flø Rasmussen
cdbbdd828e Always create proper case name.
Without this, rank 0 gets an empty case name, resulting in
buggy VTK output with filenames containing the genereric stem
"sim" rather than the case name as stem.
2020-05-29 10:28:42 +02:00
Atgeirr Flø Rasmussen
20c63f9f49
Merge pull request #2624 from OPM/fix/adapt-to-propertysystem-changes
adapt to changes in the property system
2020-05-28 12:05:17 +02:00
Joakim Hove
fd8c79b668 Default to initialize from restart file in case of restarted run 2020-05-21 10:15:20 +02:00
Bernd Flemisch
21df1cbe31 [properties] adapt to changes in the property system
`NEW_PROP_TAG` is now a definition and not just a declaration.
Eliminate superfluous declarations, include headers with definitions.
Make one necessary forward declaration explicit.
2020-05-18 15:54:26 +02:00
Kai Bao
93655244ce increasing the max iteration number for statFromPc
when doing the equilibration.
2020-04-30 12:12:58 +02:00
Bård Skaflestad
b288602dfc Equilibration: Add Experimental Support for Horizontal Subdivision
This commit adds a very early, alpha-quality implementation of the
"horizontal subdivision" strategy (N < 0) of the EQUIL directive.
This in turn enables more accurate derivations of the initial fluids
in place.

Interactions with SWATINIT are completely untested, and the initial
Rs/Rv derivations in this context are possibly incomplete.  More
work is likely needed in this area, but this does at least enable
more widespread testing.
2020-04-22 20:10:19 +02:00
Bård Skaflestad
4b04a36a2f Initial State Calculator: Prune Unneeded Steps and Variables
In particular, remove unneeded function parameters and don't form a
per-cell PVT zero-based index when we're not going to use the
values.
2020-04-22 20:10:19 +02:00
Bård Skaflestad
f0ed53a6f1 Vertical Extent: Prune Unneeded 'cellcount' Parameter
The purpose of this function is to determine the vertical extent of
a set of cells.  Counting the number of cells in the region is not
its responsibility.
2020-04-22 20:10:19 +02:00
Bård Skaflestad
6292855bd5 Initial State Calculator: Refactor Cell Loop
This commit splits out the per-cell initial state derivation to two
separate helper functions, equilibrateCellCentres() and cellLoop().
The latter manages the per-cell assignments to pertinent data
members and calls an arbitrary "equilbration method" that is
provided as a callback and which calculates per-cell phase
pressures, phase saturations and mixing ratios (Rs/Rv).

In turn, the equilibrateCellCentres() uses the cellLoop() to affect
the existing equilibration procedure within a cell using values at
the depths of the cell centres only.
2020-04-22 20:10:19 +02:00
Bård Skaflestad
fd2d8536eb Refactor Phase Saturation Derivation Procedure
This commit introduces a new helper class,

    Opm::EQUIL::Details::PhaseSaturations<>

that subsumes the responsibility of the existing helper function

    Opm::EQUIL::phaseSaturations<>()

and generalises that functionality to arbitrary depth points within
single cells.  This is in preparation of adding support for the N<0
case of the initial fluid in place procedure defined in the EQUIL
keyword.  The class consumes an already equlibrated pressure table
for the pertinent equilibration region, calculates capillary
pressure values and inverts Pc curves to derive saturation values.
If the capillary pressure curves are constant within a cell, then a
simple depth consideration with respect to the implied sharp phase
interface is used to derive saturation values.  We also preserve
existing support for SWATINIT-type initialisation of the water
saturation field.

Switch InitialStateComputer<>::calcPressSatRsRv() over to using the
pressure and saturation helper classes instead of the original
helper functions since this provides additional control.  Also
remove those helper functions to reduce risk of confusion over which
method to use.  Update the unit tests accordingly.
2020-04-14 23:01:02 +02:00
Bård Skaflestad
d039a1d60e Basic Equilibration: Prepare for Subdivision Strategy
This commit is the first step of several that implements ECLIPSE's
"accurate fluid-in-place" model initialization procedure based on
subdividing the vertical range/extent of individual cells.  This
first step puts the O/G/W phase-pressure calculation into a helper
class,

    Opm::EQUIL::Details::PressureTable<>

through which phase pressure values can be calculated at abritrary
depths rather than just at the cell centre depths.  In other words,
this helper class extends and subsumes the responsibilities of the
existing helper functions

    Opm::EQUIL::Details::PhasePressure::assign()
    Opm::EQUIL::Details::PhasePressure::oil()
    Opm::EQUIL::Details::PhasePressure::gas()
    Opm::EQUIL::Details::PhasePressure::water()

We still use the same ODE-based evaluation procedure for the phase
pressures and the equilibrateOWG() helper function still computes
the phase pressure values at cell centre depths only.

That, in turn, corresponds to the "N = 0" case (steady state) of the
basic equilibration facility.
2020-04-14 23:01:02 +02:00
Joakim Hove
5a09624ad6 Add call to evaluate PYACTION in eclproblem::applyActions() 2020-04-14 08:48:32 +02:00
Joakim Hove
76111897a6 MOve String utility in opm-common 2020-04-04 16:28:16 +02:00
Bård Skaflestad
74368c5f98
Merge pull request #2452 from blattms/use-region-temperature-cleaned
Use correct region temperature when calculating RS/RV
2020-04-02 15:08:53 +02:00
Alf Birger Rustad
62f5ba95b4 Enable owner first ordering by default 2020-04-01 12:58:59 +02:00
Joakim Hove
d6a1d3029e Use std::shared_ptr for Python handle to Schedule 2020-03-31 12:28:07 +02:00
Arne Morten Kvarving
a456b7dff5 fixed: broadcasting an int and receiving as a size_t is a very bad idea
pointy-hat: me
2020-03-30 11:48:00 +02:00
Joakim Hove
30216212c4 Add Python argument to Schedule constructor 2020-03-26 10:15:07 +01:00
Joakim Hove
54cd4f96f7
Merge pull request #2496 from akva2/tracers_from_state
Use tracers from EclipseState
2020-03-25 10:17:56 +01:00
Arne Morten Kvarving
5fd85c1446
Merge pull request #2497 from akva2/deck_avoid
Avoid deck usage in simulator
2020-03-24 08:28:21 +01:00
Arne Morten Kvarving
1424b8e859 changed: use Deck unit system from EclipseState
to avoid deck usage in simulator
2020-03-23 15:54:48 +01:00
Arne Morten Kvarving
b3bf3c58b2 changed: use TracerConfig from opm-common 2020-03-23 15:52:53 +01:00
Arne Morten Kvarving
55ad96a067 use TracerVdTable from opm-common 2020-03-23 15:50:13 +01:00
Atgeirr Flø Rasmussen
56222d4350 Make is_ptr() for unique_ptr handle two template parameters. 2020-03-23 13:36:07 +01:00
Atgeirr Flø Rasmussen
652c7d239b Simplify ptr(), avoiding a template template parameter.
Since unique_ptr<T, Deleter> takes two arguments it cannot strictly
speaking be used via a template template parameter that takes one,
even though the second has a default. GCC allows this anyway, but
not clang.
2020-03-23 11:55:45 +01:00
Arne Morten Kvarving
7775a665d0
Merge pull request #2485 from akva2/i_want_no_deck_dammit
fixed: double-parsing of the deck
2020-03-20 11:17:06 +01:00
Bård Skaflestad
fda4a29c7e
Merge pull request #2459 from jalvestad/group_constraints_summary
Make available current Production/Injection Group Control parameters for use in  Restart
2020-03-19 16:54:34 +01:00
Arne Morten Kvarving
595f601b2c fixed: double-parsing of the deck
externalDeck = nullptr -> internalDeck was parsed.
i have no idea why we have this external/internal deck in the first place.
2020-03-19 14:50:34 +01:00
Jostein Alvestad
35d5269ffa removed unused object opm::data::Group from eclwriter.hh 2020-03-19 14:19:21 +01:00
Markus Blatt
0970867e47
Merge pull request #2484 from akva2/janitoring
avoid potentially uninitialized warnings in serial
2020-03-19 13:07:08 +01:00
Arne Morten Kvarving
42a2d22d89 avoid potentially uninitialized warnings in serial
this was actually broken by an upstream change from return-by-reference
to return-by-value, but we were lucky, the return value was
kept in memory until end of block it seems.
2020-03-19 10:14:04 +01:00
Arne Morten Kvarving
4c5f9f2241 add doxy to eclmpiserializer 2020-03-19 09:31:52 +01:00
Arne Morten Kvarving
59d1ff9b88 updates in EclMpiSerializer to avoid explicit instances in serializer
now the serializer is 'standard', as in we only require basic types
+ stl containers. this should make the actual implementation pretty
pluggable. will ease replacing our serialization routines
with those in Dune 2.7 later.
2020-03-19 09:31:52 +01:00
Arne Morten Kvarving
c86cfbd83a add complexType template parameter to EclMpiSerializer::vector
set to false if vector contains a type without a serializeOp
2020-03-19 09:31:07 +01:00
Arne Morten Kvarving
638a53ac88 add support for unique_ptr in EclMpiSerializer 2020-03-19 09:31:07 +01:00
Arne Morten Kvarving
f0bc3e3815 add bool parameter ComplexType to EclMpiSerializer::map
this is passed on to the serializeOp template for the underlying
type. used with maps over DynamicState where DynamicState is over
a non-complex type.
2020-03-19 09:31:07 +01:00
Jostein Alvestad
7654972db4 corrected for unused parameters in eclwellmanager - groupData 2020-03-19 08:44:46 +01:00
Arne Morten Kvarving
13639cdace add isSerializing member to eclmpiserializer
sometimes it is necessary to know in user code
2020-03-17 08:19:44 +01:00
Arne Morten Kvarving
5eb2ec30a5 add map handler to eclmpiserializer 2020-03-16 20:52:17 +01:00
Arne Morten Kvarving
30cac6b648 add shared_ptr handling in eclmpiserializer 2020-03-16 20:52:17 +01:00
Joakim Hove
65f4635e20
Merge pull request #2464 from joakim-hove/relperm-diag-no-deck
Relperm diag no deck
2020-03-16 13:28:44 +01:00
Arne Morten Kvarving
fe2437e67e add pair handling in eclmpiserializer::vector 2020-03-16 11:44:13 +01:00
Arne Morten Kvarving
6fee426bfc remove static assert in vector handler of eclmpiserializer
std::is_pod is too generic
2020-03-16 10:49:42 +01:00
Jostein Alvestad
6a659339f1 various corrections to code and coding style 2020-03-16 10:39:56 +01:00
Jostein Alvestad
277e5bc39d corrections to groupData(..) in eclwellmanager.hh 2020-03-16 10:39:55 +01:00
Jostein Alvestad
4006319ff7 further changes to report currentStatusGroupControls to Summary 2020-03-16 10:39:52 +01:00
Jostein Alvestad
0dcacb41d4 intial changes to add current group controls to summary 2020-03-16 10:39:51 +01:00
Arne Morten Kvarving
3180974e63
Merge pull request #2471 from akva2/fix_no_mpi
fixed: do not build ParallelRestart test without MPI
2020-03-13 17:53:59 +01:00
Arne Morten Kvarving
c40c733a57 fixed: build without MPI 2020-03-13 17:52:37 +01:00
Markus Blatt
e65f6c02bb
Merge pull request #2220 from andrthu/owners-first
[For testing] Enable "owners first" ordering. Altered SpMV, SP and ILU.
2020-03-13 17:48:22 +01:00
Arne Morten Kvarving
654fae05a4 adjust for SummaryNode -> SummaryConfigNode rename 2020-03-13 15:56:33 +01:00
andrthu
3d0d0f9624 Remove GhostLast ILU 2020-03-13 15:03:31 +01:00
Arne Morten Kvarving
91e9d952d8 added: handler for vectors in eclmpiserializer
this shall be used by users when they have a vector of types
with a serializeOp template. it cannot (at least not right now)
be part of the regular operator() as some vectors should go
directly to the underlying serializer (trivial types).

we can possibly find some traits magic for this later.
2020-03-13 14:09:17 +01:00
Joakim Hove
8473aa38e5 Remove Deck argument to RelpermDiagnostic 2020-03-13 08:54:30 +01:00
andrthu
c91eb330d3 remove 2.6 and move ownerFirst in lb 2020-03-11 12:42:55 +01:00
andrthu
866a661255 New owners-first based linear algebra operations (SoMV, SP and ILU.apply). 2020-03-11 12:41:38 +01:00
andrthu
1fb0860712 add ownersFirst arguments. Change loadBalance to match change in opm-grid. 2020-03-11 12:41:37 +01:00
Arne Morten Kvarving
5b457cbbd6
Merge pull request #2446 from blattms/use-compressed-in-initstateequil.hh
Autocreate parallel fieldprops and use compressed ones in initstateequil.hh
2020-03-11 08:14:21 +01:00
Markus Blatt
400ca4230b Use dynamic_cast to ParallelEclipseState and do error checking. 2020-03-10 14:29:19 +01:00
Markus Blatt
eb8ac2af2d Use correct region temperature when calculating RS/RV
The InitialStateComputer::temperature_ array, previously used,
was of cartesian size, but used as if it only contained the
values of the cells of a region.
With this commit InitialStateComputer::temperature_ is a compressed local
array and we explicitly copy out only the region values when computing
RS/RV.

Closes #2423.
2020-03-10 11:54:58 +01:00
Markus Blatt
04311f6337 Allow auto creation of field properties arrays in ParallelEclipseState.
There are field properties that can usually be queried even if they
are not explicitly specified in the input
file (e.g. PVTNUM). Unfortunately, the ParallelEclipseState cannot
forsee which of these will be queried at startup and after the
loadbalancing only the master process is able to auto creates
these (easily). Hence this commit uses a fall-back if an unstored
keyword is queried. In this case we use get_global-* to auto create
the keyword and use functions of the cartesian mapper to extract the
relevant values on the process.

Of course this temporarily wastes space and we might want to resort to
a more memory savy approach later.
2020-03-10 11:36:02 +01:00
Arne Morten Kvarving
dd0f6dd517 changed: simplify eclmpiserializer
now users only have to implement a single method for
packsize/pack/unpack
2020-03-10 08:56:40 +01:00
Markus Blatt
5c8cdc8024 Use get_int instead of get_int_global in initstateequil.hh.
With the arrival of compressed field properties there is no need
to extract the global arrays just to compress them manually
afterwards. This change should remove commununication and
synchronization points.
2020-03-09 21:32:41 +01:00
Arne Morten Kvarving
51ee5205cb changed: no need to serialize EclMaterialLawManager any longer 2020-03-09 11:23:12 +01:00
Arne Morten Kvarving
f24c8a3b2f
Merge pull request #2420 from akva2/drop_serialization
Drop unused serialization code
2020-03-09 09:56:35 +01:00
Markus Blatt
9ccd4be5e3 Shrink EclEquilInitializer::initialFluidStates_.
There is not reason to it as a vector of cartesian size as we access
its entries by the compressed element index. This should save space
and speedup the lookup.
2020-03-08 16:25:35 +01:00
Markus Blatt
8bab43ffbd Removed now unused variables. 2020-03-08 15:18:55 +01:00
Arne Morten Kvarving
09a7c00ed5 changed: no need to serialize PolymerModule any longer 2020-03-06 20:45:53 +01:00
Arne Morten Kvarving
9413425a78 changed: no need to serialize BrineModule any longer 2020-03-06 20:28:34 +01:00
Markus Blatt
6aeac6cb3a
Merge pull request #2407 from akva2/no_serialization_foam
changed: no need to serialize FoamModule any longer
2020-03-06 20:11:27 +01:00
Markus Blatt
4c962e61d1 Also distribute the centroids when loadbalancing CpGrid.
They are attached to the cells as well and are now distributed
during CpGrid::loadBalance. Due to this change we also rename
FieldPropsDataHandle to PropsCentroidsDataHandle.
2020-03-06 14:09:32 +01:00
Arne Morten Kvarving
3162ed067e get rid of unused serialization template 2020-03-06 11:55:41 +01:00
Markus Blatt
77478a59eb Use CpGrid::loadBalance to distribute the field properties.
The created data handle for the communication could in theory be used
with other DUNE grids, too. In reality we will need to merge with the
handle that ALUGrid already uses to communicate the cartesian indices.

This PR gets rid of using the get_global_(double|int) method in
ParallelEclipseState and reduces the amount of boilerplate code there.
2020-03-06 09:48:04 +01:00
Joakim Hove
42f96ca039 Add commandline switch --sched-restart to control restart init 2020-03-04 15:44:32 +01:00
Arne Morten Kvarving
3a559fb9fb changed: no need to serialize FoamModule any longer 2020-03-04 15:05:37 +01:00
Arne Morten Kvarving
30892a006e changed: no need to serialize SolventModule any longer 2020-03-04 10:01:03 +01:00
Bård Skaflestad
6688c19a77
Merge pull request #2397 from akva2/no_serialization_fluidsystem
changed: no need to serialize the FluidSystem any more
2020-03-03 21:51:10 -06:00
Joakim Hove
93964b2fa8
Merge pull request #2389 from joakim-hove/move-wellinjector-enum
InjectorType enum is moved out from Well class
2020-03-03 16:36:40 +01:00
Arne Morten Kvarving
03a2129df3 changed: no need to serialize the FluidSystem any more
setup is now done all from state, which means it can be done
independently on all processes
2020-03-03 14:24:18 +01:00
Bård Skaflestad
8c17e05c7d
Merge pull request #2386 from akva2/use_compressed_trans
use compressed indices setting up transmissibilities
2020-03-03 06:00:29 -06:00
Arne Morten Kvarving
89cb162c1f
Merge pull request #2383 from akva2/use_compressed_fipnum
use compressed field property for fipnum
2020-03-03 10:04:25 +01:00
Joakim Hove
9268bcb2ac InjectorType enum is moved out from Well class 2020-03-03 09:08:02 +01:00
Arne Morten Kvarving
f1e0dc0acb use compressed indices setting up transmissibilities 2020-03-03 08:43:50 +01:00
Arne Morten Kvarving
5a9340b5b1 use compressed field property for fipnum 2020-03-03 08:40:48 +01:00
Bård Skaflestad
8ed3b82c8a
Merge pull request #2385 from akva2/use_compressed_rock
use compressed field properties setting up rock parameters
2020-03-02 13:06:29 -06:00
Bård Skaflestad
c3f127afa0
Merge pull request #2384 from akva2/use_compressed_perm
use compressed properties setting up permeabilities
2020-03-02 11:56:13 -06:00
Arne Morten Kvarving
888f0190b7 use compressed field properties setting up rock parameters 2020-03-02 15:34:12 +01:00
Arne Morten Kvarving
ca91b61bc7 use compressed properties setting up permeabilities 2020-03-02 15:12:26 +01:00
Arne Morten Kvarving
b031f6d4cf
Merge pull request #2382 from akva2/use_compressed_thpressure
use compressed indices setting up ThresholdPressures
2020-03-02 15:02:18 +01:00
Arne Morten Kvarving
9f00c3dfe1
Merge pull request #2381 from akva2/use_compressed_ntg
use compressed field properties applying NTG
2020-03-02 14:49:59 +01:00
Arne Morten Kvarving
ff559fd1c9 use compressed indices setting up ThresholdPressures 2020-03-02 13:42:27 +01:00
Arne Morten Kvarving
373588dd04 use compressed field properties applying NTG 2020-03-02 13:02:10 +01:00
Arne Morten Kvarving
da901a1d11
Merge pull request #2379 from akva2/use_compressed_expl_init
use compressed field properties setting up explicit initial conditions
2020-03-02 13:01:25 +01:00
Arne Morten Kvarving
766410ff7c
Merge pull request #2378 from akva2/use_compressed_blackoil_ext
changed: use compressed field properties for blackoil extension init conds
2020-03-02 11:39:07 +01:00
Markus Blatt
9faf2979b9
Merge pull request #2377 from akva2/use_compressed_numbers
changed: use compressed field properties setting up numbers
2020-03-02 11:32:22 +01:00
Arne Morten Kvarving
d5d32e235c use compressed field properties setting up explicit initial conditions 2020-03-02 11:21:20 +01:00
Arne Morten Kvarving
f0062d5913 changed: use compressed field properties setting up numbers 2020-03-02 11:20:26 +01:00
Arne Morten Kvarving
8d528daaa5 changed: use compressed field properties for blackoil extension intial conditions 2020-03-02 10:32:40 +01:00
Markus Blatt
396f84b764
Merge pull request #2372 from akva2/compressed_props_material
Use compressed properties in material law setup
2020-03-02 09:47:09 +01:00
Arne Morten Kvarving
293612265e fix build without MPI 2020-02-28 13:03:16 +01:00
Arne Morten Kvarving
ef27c1d110 use compressed field properties setting up ThermalLawManager 2020-02-28 12:31:14 +01:00
Arne Morten Kvarving
3c050f4dda use compressed field properties setting up MaterialLawManager 2020-02-28 12:31:14 +01:00
Arne Morten Kvarving
05c0c4b6e8 Use the ParallelEclipseState and ParallelFieldPropsManager
with these in place, we now only parse the deck on the root process.
2020-02-28 10:26:55 +01:00
Arne Morten Kvarving
68a9d17de1 changed: pass/store deck as a pointer
and remove asserts for null-ptr. preparatory step for only
having deck on root mpi process
2020-02-28 10:26:55 +01:00
Arne Morten Kvarving
4904f09d4d changed: avoid use of EclipseGrid outputting RFT data 2020-02-28 10:24:00 +01:00
Arne Morten Kvarving
ac28bbfd15 changed: avoid usage of eclipseGrid on non-root processes setting up transmissibilities
obtain data from root process
2020-02-28 10:24:00 +01:00
Arne Morten Kvarving
ef89d656fb communicate global size setting up blackoil extension boundary conditions 2020-02-28 10:24:00 +01:00
Atgeirr Flø Rasmussen
8cd9da0d83
Merge pull request #2361 from akva2/removeNTGfill
remove minpvFillNtg a temporary solution while not supporting standard minpv
2020-02-24 13:34:43 +01:00
Tor Harald Sandve
06df233055 remove minpvFillNtg a temporary solution while not supporting standard minpv 2020-02-24 11:43:07 +01:00
Markus Blatt
22d4e784d3
Merge pull request #2356 from akva2/boost_prune
Lessen boost usage
2020-02-21 13:15:03 +01:00
Joakim Hove
d3bfa83c7c
Merge pull request #2343 from joakim-hove/move-rstconfig
RestartConfig has moved from EclipseState to Schedule
2020-02-20 07:07:37 +01:00
Arne Morten Kvarving
e262cf8d51 changed: use internal function to uppercase string 2020-02-19 11:20:16 +01:00
Joakim Hove
5ad4936025 RestartConfig has moved from EclipseState to Schedule 2020-02-17 21:48:12 +01:00
Tor Harald Sandve
76682497e8
Merge pull request #2318 from akva2/fix_brine_module_init
fixed: call initFromDeck for Brine module
2020-02-17 14:17:17 +01:00
Tor Harald Sandve
7ed2bbed3f
Merge pull request #2313 from totto82/lab_bc
Lab bc
2020-02-14 09:24:02 +01:00
Arne Morten Kvarving
04812f32fb remove boost::filesystem as dependency 2020-02-12 15:03:18 +01:00
Atgeirr Flø Rasmussen
5fe48dab8b
Merge pull request #2327 from akva2/bump_dune
Bump required dune version to 2.6
2020-02-11 09:41:44 +01:00
Robert Kloefkorn
526f1f9bb1 [bugfix][AsyncOutput] Restore asynchronicity for output and make sure
that all output is written before the simulator is finalized.
2020-02-10 12:11:30 +01:00
Arne Morten Kvarving
4978e72039 bump required dune version to 2.6
remove compatiblity code with older versions
2020-02-06 16:24:39 +01:00
Arne Morten Kvarving
403a78e1cf fixed: call initFromDeck for Brine module 2020-02-05 09:14:47 +01:00
Arne Morten Kvarving
df62305673 update for simplified Tuning data structure in opm-common 2020-01-31 13:45:05 +01:00
Tor Harald Sandve
1d061c681f fix index issue for boundary conditions 2020-01-30 10:03:22 +01:00
Markus Blatt
daa8f778bb
Merge pull request #2310 from akva2/noecl_small_stuff
Preparatory changes for single-process parsing
2020-01-30 09:13:14 +01:00
Arne Morten Kvarving
39492fdaf4 only calculate ACTNUM on root-process 2020-01-29 15:30:55 +01:00
Arne Morten Kvarving
d91155738f avoid dereferencing eclGrid and FieldProps on non-root processes setting up grids
these only used on root process in any case
2020-01-29 15:30:55 +01:00
Joakim Hove
fcdd5874a3 Use RockConfig in eclproblem 2020-01-29 15:06:53 +01:00
Bård Skaflestad
645b07bf7f
Merge pull request #2305 from akva2/fix_thermal
Parallel thermal simulations
2020-01-29 13:27:45 +01:00
Arne Morten Kvarving
35a085fe0d changed: adjust to ThermalLawManager initialization changes 2020-01-29 08:54:50 +01:00
Arne Morten Kvarving
e2862a3a4d avoid deck usage on non-root processes checking for TRACERS 2020-01-28 15:55:58 +01:00
Arne Morten Kvarving
b5cd80c232
Merge pull request #2304 from akva2/hide_fprops_ifaces
don't use templated get and has interface from fieldpropsmanager
2020-01-28 15:34:12 +01:00
Arne Morten Kvarving
6cb300c0f9 initialize variable to avoid warning spew 2020-01-28 14:09:53 +01:00
Joakim Hove
bc718bafc8 Use BCConfig when setting up boundary conditions 2020-01-27 15:55:04 +01:00
Arne Morten Kvarving
7dfb45067b don't use templated get and has interface from fieldpropsmanager
it is now private
2020-01-27 15:33:18 +01:00
Joakim Hove
2cfe1dce7f
Merge pull request #2295 from akva2/noecl_flush_matman
Avoid deck usage on non-root processes setting up MaterialLawManager
2020-01-22 15:09:57 +01:00
Arne Morten Kvarving
b7a2612ecf avoid deck usage on non-root processes checking for EQUIL
this is achieved by using the InitConfig member from EclipseState
instead
2020-01-22 12:57:25 +01:00
Arne Morten Kvarving
7f9f65811f changed: avoid deck usage on non-root processes setting up gravity
this is achieved by using the InitConfig member from EclipseState
instead
2020-01-22 12:57:25 +01:00
Arne Morten Kvarving
db2ad1587d fixed: mark constructor explicit 2020-01-22 11:36:02 +01:00
Arne Morten Kvarving
60f3fea67a avoid deck usage on non-root processes setting up MaterialLawManager 2020-01-22 11:35:55 +01:00
Arne Morten Kvarving
3396b31852 changed: add helper template to serialize and broadcast static types 2020-01-22 00:32:46 +01:00
Arne Morten Kvarving
02ce13c800
Merge pull request #2291 from akva2/reorganize_matlaw
changed: adjust to split of initFromDeck in EclMaterialManager
2020-01-21 12:59:29 +01:00
Bård Skaflestad
570cf08fc4
Merge pull request #2290 from akva2/noecl_flush_fluidsystem
Avoid deck usage on non-root processes setting up FluidSystem
2020-01-21 10:47:44 +01:00
Arne Morten Kvarving
f57a2bf089 changed: adjust to split of initFromDeck in EclMaterialManager 2020-01-20 15:33:45 +01:00
Arne Morten Kvarving
c3ecedadb1 avoid deck usage on non-root processes setting up FluidSystem 2020-01-20 11:17:31 +01:00
Joakim Hove
d1085466e0 Remove #include GridProperty 2020-01-20 09:00:48 +01:00
Bård Skaflestad
d42bbbe15a
Merge pull request #2286 from akva2/avoid_deck_unitsystem
changed: avoid deck usage
2020-01-17 15:52:09 +01:00
Arne Morten Kvarving
3f0fe3bcbd changed: avoid deck usage
in particular, this is preparing for the case where only the
root-process has a deck instance
2020-01-17 14:56:40 +01:00
Arne Morten Kvarving
cfc9cb3513 changed: avoid near-duplicate code 2020-01-17 14:55:36 +01:00
Joakim Hove
0e9535319b
Simulate with only active cells (#2213)
Use FieldProps implementation for 3D properties
2020-01-13 15:46:50 +01:00
Atgeirr Flø Rasmussen
9d8d4921b8 Pass EnableBrine flag to BlackOilFluidState used for equilibration.
Gave compile error on clang due to narrowing (the int 3 -> bool).
Bug did not cause trouble because default number of phases in
the fluid state (3) was sufficient.
2020-01-13 11:00:33 +01:00
Tor Harald Sandve
ada7c9d90b fix various extentions 2020-01-09 14:14:38 +01:00
Trine S. Mykkeltvedt
99e7785fb5 renamed saltwater-->brine and removed keywords from missingFeatures 2020-01-09 14:14:38 +01:00
Trine S. Mykkeltvedt
5749615bd8 addd simple salt/brine implementation 2020-01-09 14:14:38 +01:00
Bård Skaflestad
646e7d4eb1
Merge pull request #2265 from akva2/fix_serial_build
fix build without mpi
2020-01-06 17:02:08 +01:00
Arne Morten Kvarving
bd9ca91df2 fix build without mpi 2020-01-06 15:43:16 +01:00
Bård Skaflestad
dfb4946f13 Restart: Don't Access Solvent Saturation Unless Active
This commit ensures that the previous solvent restart fix (commit
afba6c8e8, PR #2023) does not attempt to index into the data member
solventSaturation_ unless solvent is activated.
2020-01-06 14:11:11 +01:00
Arne Morten Kvarving
e5c44ce1f2 avoid usage of deck on all processes setting up EclFoamModule 2020-01-06 11:20:46 +01:00
Arne Morten Kvarving
777d38e550 avoid usage of deck on all processes setting up EclPolymerModule 2020-01-06 11:20:02 +01:00
Arne Morten Kvarving
3b27df91b4 avoid usage of deck on all processes setting up EclSolventModule 2020-01-06 11:19:12 +01:00
Markus Blatt
68272d5861
Merge pull request #2243 from blattms/construct-cpgrid-from-eclgrid-pointer
Pass a pointer to the EclipseGrid to CpGrid::processEclipseGrid.
2019-12-19 11:40:23 +01:00
Markus Blatt
ecfbb0e491 Pass a pointer to the EclipseGrid to CpGrid::processEclipseGrid.
... instead of a reference This is needed as we only want to read the
full deck and construct the EclipseGrid only on the master process
with rank 0. Hence all other ranks will pass a nullptr to this
function. This will be possible with this move from a reference to a
pointer.
2019-12-18 21:39:08 +01:00
Robert Kloefkorn
2fa90d24f6 [bugfix][ebos] Make compile with PolyhedralGrid again. 2019-12-18 11:03:42 +01:00
Markus Blatt
d255e1cad6
Merge pull request #2215 from dr-robertk/PR/fix-compile-dune27
Fix compilation with DUNE 2.7
2019-12-18 08:56:51 +01:00
Joakim Hove
d4890f81f5 Use Dune communicator instead of raw MPI call 2019-12-14 13:54:06 +01:00
Joakim Hove
f4aa118cc4 Update the internal ACTNUM in the FieldPropsManager 2019-12-12 12:00:51 +01:00
Robert Kloefkorn
8b09030139 [bugfix] Make compatibility code compile with DUNE 2.7 2019-12-11 11:22:28 +01:00
Markus Blatt
e7f7ad2ddc Use ActiveGridCells instead of EclipseGrid when filtering connections.
The function signature has changed upstream.
2019-12-10 11:50:07 +01:00
Robert Kloefkorn
44e4ea3cdf [feature][ebos] Adding oil-water-polymer option of ebos. 2019-12-09 18:16:23 +01:00
Joakim Hove
dc5340046a Call applyActions at the end of every timestep 2019-12-06 13:18:49 +01:00
Bård Skaflestad
ce1e0691a8 Aquifer Restart: Address Review Comments
Mostly 'throw'ing in the case of unsupported operations.  While
here, also remove an unused header.
2019-12-05 13:41:05 +01:00
Bård Skaflestad
143b45ed52 EclWriter: Initialize Aquifers From Restart Data
This commit calls the aquifer model's 'initFromRestart' function if
the loadParallelRestart() function happens to return any aquifer
data from the restart file.  Such data is currently limited to two
items of information for analytic aquifers (from XAAQ vector), but
future extensions are likely.
2019-12-05 09:41:21 +01:00
Bård Skaflestad
8a764568e1 EclProblem: Provide Mutable Access to Aquifer Model Object
This commit adds a new public member function,

    EclProblem::mutableAquiferModel()

that returns a read/write reference to the contained EclAquiferModel
object.  The immediate use-case is initializing analytic aquifers
from restart data.
2019-12-05 09:41:21 +01:00
Bård Skaflestad
4c4a893781 Aquifer Model: Add Initialization from Restart Data
This commit adds a new member function,

    initFromRestart()

to the EclBaseAquiferModel and the BlackoilAquiferModel.  The former
does nothing, the latter calls AquiferInterface::initFromRestart()
on the contained analytic aquifer objects.
2019-12-05 09:41:21 +01:00
Joakim Hove
ad00a3a891 SummaryState is updated at the end of simulator timestep 2019-12-03 15:52:47 +01:00
Joakim Hove
deb397cf0e Update output from applyActions() to show date 2019-12-03 00:44:08 +01:00
Joakim Hove
f97b76a9b5 List the matching wells for Action eval 2019-11-29 19:18:38 +01:00
Arne Morten Kvarving
79dc067eb1 changed: nncdata() has been renamed to data() 2019-11-26 13:29:40 +01:00
Markus Blatt
bc98b20118 Only filter in filterConnections_ on root process.
When filterConnections_ is called the grid is not load
balanced, yet. Currently that means that grid() will also return the
unbalanced grid and all processes will see the whole global grid.

We will change semantics of the unbalanced grid soon: Only the root
process will see the whole grid and the others will see an empty
partition of it. Hence filtering on this partition will remove all
connections on all wells in the schedule for non-root processes and
produce wrong results.

For non-root process the filtering needs to be done on the load
balanced grid. This is accomplished by this commit.
2019-11-14 23:41:17 +01:00
Joakim Hove
fce5d2f369 Rename Well2 -> Well and Group2 -> Group 2019-11-13 23:18:01 +01:00
Atgeirr Flø Rasmussen
415f4adcef
Merge pull request #2151 from joakim-hove/skip-processing
Skip processing of filename if external deck already exists.
2019-11-08 09:08:54 +01:00
Michael Sargado
e1e1efbaaf Skip processing of filename if external deck already exists. 2019-11-07 21:03:30 +01:00
Bård Skaflestad
55a49b8146
Merge pull request #2073 from goncalvesmachadoc/goncalvesmachadoc-addProdInjReportPRT
Add Production and Injection Reports to PRT
2019-11-06 08:09:19 -06:00
Cintia Goncalves Machado
003fa994db
Update ecloutputblackoilmodule.hh 2019-11-06 13:25:04 +01:00
goncalvesmachadoc
8efae16087 çonverted tabs to spaces 2019-11-01 12:56:20 +01:00
goncalvesmachadoc
9982ddf3fb fix 2019-10-30 17:51:49 +01:00
goncalvesmachadoc
2082641074 fix 2019-10-30 15:27:41 +01:00