Commit Graph

47 Commits

Author SHA1 Message Date
Markus Blatt
f32743cf31 Disregard non-active cells when writing MPI_RANK in writeInitial.
This saves space and it is allowed and recommended (spacewise) to
use integer arrays with only values for active cells in writeInitial.
2017-11-22 14:18:32 +01:00
Markus Blatt
9402f4bde1 Make CellOwnerHandle available without MPI
and thus make compilation succeed in this case as using
it is perfectly find even if MPI is not there.
2017-11-21 15:06:36 +01:00
Markus Blatt
073f63ac4c Adapt writeInitial call to use integer vectors for printing ranks
This adapts to the new function signature as of PR 216 in opm-output. It uses the
newly introduced map of integer vectors to print the MPI ranks in a parallel run.
2017-11-20 15:30:50 +01:00
Joakim Hove
566f4fbb02 Use Schedule constructor. 2017-11-06 14:20:41 +01:00
Andreas Lauser
dc9ad10f87 flow_ebos: do not use BlackoilPropsAdFromDeck anymore
the only thing that was used of this class was the phase usage object,
but the phase usage object can be accessed via much leaner interfaces.

The old BlackoilPropsFromDeck (without "Ad") is still required to
compute the initial condition, but the init code should be refactored
soon anyway.
2017-06-16 15:13:47 +02:00
Atgeirr Flø Rasmussen
baa6104f39 Silence unused argument warnings. 2017-04-12 11:13:10 +02:00
Markus Blatt
fd3e3596a9 Setup output writer and write initial values in parallel correctly.
Before this commit only the solution of process 0 was written.
To fix this we make the equilGrid of Ebos available. It is used
for the output writer. The properties written initially are gathered from
all processes first using the new gather/scatter utility.
2017-03-16 14:52:59 +01:00
Markus Blatt
45cee3d9f4 Added missing header include. 2017-03-16 14:52:59 +01:00
Jørgen Kvalsvik
1c6a4b34da Update to shared_ptr-less parser interface. 2016-10-20 14:08:04 +02:00
Markus Blatt
33edf62a78 Use set of names of defunct wells from load balancer for parallel WellManager.
Instead of the WellsManager guessing which wells are handled by other
processes we now use tha ouput of the load balancer to compute wells
that are handled by other processes.

With the previous approach it was not possible to calculate this information
correctly. Wells with only one completion next to the border of the
processes' partition were represented on multiple processes. In additition
wells that the eclipse schedule section defined with completions on non-active
cells in sequential runs were not at all calculated in parallel runs.

With the new approach the CpGrid::loaBalance routine returns the set names of
wells that are not handled by this process when setting up the simulation. This
information is then used throughout the simulation.
2016-09-13 10:58:26 +02:00
Andreas Lauser
88519d70c4 adapt to the EclMaterialLawManager's rename of the *Pointer methods 2016-07-06 13:00:35 +02:00
Markus Blatt
ecf4ab91c8 Fixes size in assrtion of BlackoilStateDatahandle::scatter 2016-05-25 14:36:33 +00:00
Markus Blatt
8dd3794562 Fixes copy&paste bugs from resize code movement 2016-05-25 13:07:29 +00:00
Markus Blatt
c247652188 Moved resizing of BlackoilState members to the data handle.
Seems much less messy.
2016-05-25 12:47:24 +00:00
Markus Blatt
509cd6f0b1 Use correct size when resizing hydroCarbonState.
The size is the number of cells and not dependent on the number of phases.
This was a typical copy&paste mistake that wasted space.
Kudos to atgeirr for catching this.
2016-05-25 12:43:12 +00:00
Markus Blatt
22e71dff08 Correctly distribute the hydro carbon state for parallel runs.
This is needed since hydro carbon state is used to get the
primal variables since PR #687, commit 9c771ab6. Therefore we
now distribute the state along with rest of the black oil state
variable at the start of a parallel simulation.

This closes issue #695
2016-05-24 20:02:24 +00:00
Atgeirr Flø Rasmussen
37c4bd16b1 Adapt code to dune-cornerpoint -> opm-grid renaming. 2016-04-06 13:29:47 +02:00
Atgeirr Flø Rasmussen
98862f449c Restore compilation (init -> constructor).
Also suppress new warnings due to unsigned/signed comparisons.
2016-03-29 10:48:36 +02:00
Markus Blatt
c0b871a38a Improves NNC error message. 2016-02-18 22:05:01 +01:00
Markus Blatt
51b8d9acb1 Fixes the exception for models with threshold pressures.
Since the support for threshold pressures running Norne with
flow_mpi aborted error messages like
```
Program threw an exception: [/home/mblatt/DUNE-test/opm-autodiff/opm/autodiff/BlackoilModelBase_impl.hpp:383] Illegal size of threshold_pressures input ( 153924 ), must be equal to number of faces + nncs ( 78316 + 0 ).
```
This commit now distributes the threshold pressures (if present) just like the rest
of the model properties and Norne does not abort here any more.

Please note:
1. If there are NNCs flow_mpi will abort with an error.
2. We might want to resort to reading and calculating the threshold pressure
  (and maybe other properties) on distributed grids instead of using communication.
2016-02-18 17:00:08 +01:00
Markus Blatt
ea187da888 Honor transmissibilities when loadbalancing 2015-11-25 08:43:46 +00:00
Atgeirr Flø Rasmussen
ea8eab6e66 Silence unused argument warning. 2015-11-12 17:38:07 +01:00
Markus Blatt
e729c26b26 Only specialize distributeGridAndData for CpGrid if MPI is found. 2015-10-30 13:23:52 +01:00
Markus Blatt
113949190b Removes unused typedef 2015-10-29 16:35:58 +01:00
Markus Blatt
f167d321aa Added some spaces around parenthesis. 2015-10-28 16:44:14 +01:00
Markus Blatt
4526cce41b Setup a distributed material law manager and copy values.
Since the refactoring to using opm-material a material law  manager for
the global grid was used. This meant that the properties used for
elements of the local grid were wrong. With this commit we set up a
manager that is based on the local grid only.
2015-10-28 16:39:47 +01:00
Markus Blatt
c17af8efe6 Update and improve documentation. 2015-10-28 16:23:07 +01:00
Markus Blatt
87e02a1059 Communicate rock properties, too.
Somehow I was mislead by the name rock properties that the data stored in
them is not associated to grid cells, but to rock regions. With this commit
we determine the porosity and permeability by communication.
2015-10-26 10:49:35 +01:00
Markus Blatt
f5e34e01ca Remove unnecessary shared_ptr for geology and black oil properties. 2015-10-22 15:24:25 +02:00
Markus Blatt
c527e15b63 Use well information during load balancing.
With this commit we pass the well information to
the loadbalance method of CpGrid to ensure that
each well is stored completely on one process.
2015-09-03 20:28:13 +02:00
babrodtk
5b287e0ea8 Fixed warnings 2015-09-02 13:02:27 +02:00
Markus Blatt
ff669bc32b [bugfix] Correctl resize satOilMax in a parallel run.
Previously, we tried to make an empty container bigger by
resizing it with its current size. Of course this is wrong and does
not change anything. With this commit we use the size of another
container which already has the correct size.
2015-09-01 20:30:30 +02:00
Atgeirr Flø Rasmussen
41eefa188f Removed unneeded Opm:: qualifier, and reindent. 2015-07-09 13:45:15 +02:00
Atgeirr Flø Rasmussen
c64222ce33 Avoid unused argument warning. 2015-07-09 13:37:20 +02:00
Robert Kloefkorn
10725c0b70 Merged main program for flow and flow_cp to avoid code duplication. 2015-06-17 13:00:37 +02:00
Atgeirr Flø Rasmussen
3c7a79c16a Fix unsigned/signed comparison warning. 2015-05-28 14:07:25 +02:00
Markus Blatt
11211ca7d2 Update copyright notices 2015-05-20 09:26:25 +02:00
Markus Blatt
cb4970c9a6 Prevent unused paramerter warning for RedistributeDatahandle. 2015-05-19 19:40:59 +02:00
Markus Blatt
1fbe8e3b6d Distribute the geology information.
As it turns out initializing the Geology on a distributed grid
result in wrong values for e.g. saturation. Therefore with this
commit we resort to initializing the global geology and distribute
it using communication.
2015-05-07 12:21:06 +02:00
Markus Blatt
a31aa46744 Send all phases for surface volume and saturation.
Previously, we only did send the information for the
first phase which led to computing wrong values in
a simulation. With this patch we now send all the data
for all the phases.
2015-05-07 12:21:06 +02:00
Markus Blatt
aaf82d2a65 [bugfix] read only from the sendState in BlackoilStateDataHandle.
During BlackoilStateDataHandle::gather we did read values from the
state where we should only receive values to. With this commit we
read from the state where we should send values.

Kudos to Bard for noticing this.
2015-03-02 11:10:02 +01:00
Atgeirr Flø Rasmussen
635fea1cad Remove pvtTableIdx_ from BlackoilPropsAdFromDeck.
It was not used by the properties, this commit also fixes the bug that
pvtTableIdx_ was initialized instead of cellPvtRegionIdx_.
2015-02-27 10:20:30 +01:00
Markus Blatt
5e72774b89 Remove the unsused grid members from BlackoilPropsDataHandle.
Previously BlackoilPropsDataHandle did hold a grid for sending
and receiving that were either not used or we could prevent their
usage. Therefore this commit removes them from the class and queries
all needed information from the property objects.
2015-02-19 09:35:18 +01:00
Atgeirr Flø Rasmussen
850845c61d Suppress re-declaration warning. 2015-02-17 13:44:52 +01:00
Atgeirr Flø Rasmussen
17ade0457f Suppress unused argument errors. 2015-02-17 13:44:33 +01:00
Markus Blatt
3eb13e74dd Adds braces to if() return; 2015-02-16 11:42:42 +01:00
Markus Blatt
01ea7bacba Adds data redistribution capabilities and makes sim_fibo_ad_cp parallel.
With this commit we add the possibility to start with a global representation
of a simulator that is read on each process and afterwards this presentation
is redistributed among the processors together with the properties and
state data needed to initialize the simulation.

There still is no parallel well handling and no parallel output. But with the
equilibrium example of @dr-robertk and deactivated output we can already
perform parallel runs.
2015-02-12 21:33:41 +01:00