Commit Graph

436 Commits

Author SHA1 Message Date
Andreas Lauser
4d5d3491c0 fix the headercheck 2016-01-21 13:24:24 +01:00
Andreas Lauser
84192769a6 ebos: fix build breakage due to opm-parser#656 2016-01-21 12:51:12 +01:00
Andreas Lauser
2b43f5bb12 fix the headercheck 2016-01-17 21:15:27 +01:00
Andreas Lauser
195e6058f1 EclCpGridManager: disable parallelism (for now)
this is because the loadBalance() method of Dune::CpGrid is seriously
broken at the moment: it throws away elements even in sequential mode
for some more relevant grids. ("more relevant" == "Norne". Norne is is
buggy itself because it features two completely disjoint parts.)

but it is even worse than that: if the bug mentioned above bites,
Dune::CpGrid cannot even agree for itself how many elements it has
which causes the CartesianIndexMapper to segfault.
2016-01-17 21:15:23 +01:00
Andreas Lauser
879e8a613d make all tests and ebos compile when selecting float or quad as Scalar
at least, they compile as far as eWoms is concerned. Some external
libraries (in particular everything which uses SuperLU) still have
issues.

Also, there seem to be issues with the precision that is achievable
by the Newton method when using float.
2016-01-17 21:15:21 +01:00
Andreas Lauser
99a59c021f ebos: introduce a mapper from compressed to cartesian cell indices of the EQUIL grid
this is because the nice opm-core code which does the equil
initialization cannot cope with parallel grids and thus needs to get
a special treatment.
2016-01-17 21:15:18 +01:00
Andreas Lauser
8fc838cff3 VTK output modules: make the processElement() method a dummy if the VTK output is disabled
an interesting side effect is that the Newton convergence output is
only defined if the VTK output is enabled.

Also, this patch could be implemented more efficiently by retrieving
the EnableVtkOutput only once per output module (instead of once per
element).
2016-01-17 21:15:12 +01:00
Robert Kloefkorn
073f14ef3d merged from master. 2016-01-06 16:22:09 -07:00
Robert Kloefkorn
f97b6cb9b3 Merge remote-tracking branch 'upstream/master' into PR/ewoms-can-use-dune-fem 2016-01-06 16:21:17 -07:00
Andreas Lauser
bbe277b82e remove polyhedralgridconverter.hh
this became unused after the previous patch an I don't think it still
is needed for something. (right?)
2016-01-05 19:32:41 +01:00
Andreas Lauser
242a500f52 ebos: replace the macro mess to select the grid type by specialized grid manager classes
i.e., there is now a base class for the EclGridManagers and one class
for each type of grid (Dune::ALUGrid, Dune::PolyhedralGrid and
Dune::CpGrid). Selecting the concrete grid type is now done by
deriving the EclProblem's type tag from the type tag of the respective
grid manager.
2016-01-05 19:32:36 +01:00
Andreas Lauser
d49e2d7000 move collecttoiorank.hh to applications/ebos
that's because its applicability to non-ECL problems is quite limited.
2016-01-05 19:32:34 +01:00
Andreas Lauser
cf90450b94 move the CartesianIndexMapper to 'applications/ebos'
that's because its applicability for non-cornerpoint grids is _very_
limited. Also the class is renamed to 'AluCartesianIndexMapper'
(because its purpose is to be used in conjunction with dune-alugrid)
and the namespace is changed from 'Dune' to 'Ewoms'.
2016-01-05 19:32:32 +01:00
Andreas Lauser
0fc485e7ff ECL peaceman well: improve handling of multiple PVT regions
this class may still be not fully aware of PVT regions.
2016-01-05 11:54:27 +01:00
Andreas Lauser
2f741214d4 ECL restart file output: rename 'regionIdx' to 'pvtRegionIdx' 2016-01-05 11:54:26 +01:00
Andreas Lauser
2c8e1da7f3 ECL peaceman well: throw an exception if the BHP cannot determined
this used to be an assert(), but it is not a programmer error but
something which can happen during valid simulation runs.
2016-01-05 11:54:26 +01:00
Andreas Lauser
c44ad1ca3c ECL problem: some stylistic improvement
and a tiny bit of better performance since the rate vector of the
source term is only reset once.
2016-01-05 11:54:26 +01:00
Andreas Lauser
898940730e remove partial relinarization
the reasons are the same as for removing linearization recycling but
more so.
2016-01-05 11:54:26 +01:00
Andreas Lauser
f9b97334e4 remove the linearization recycling
linearization recycling lead to more complex code and -- more
importantly -- frequently caused problems for simulators.
2016-01-05 11:54:26 +01:00
Andreas Lauser
0cbc6839f2 adapt to the recent blackoil API changes of opm-material 2016-01-04 15:32:55 +01:00
Andreas Lauser
8272ec5528 ebos: enable the new cache for the storage term by default
on my machine, this accelerates the linearization by about 30% for
SPE9 (6.4 instead of 8.7 seconds).
2015-11-27 16:56:38 +01:00
Andreas Lauser
aaecf3ee33 remove an unneded Toolbox::value()
operator>=() is available for Opm::Evaluation, and its efficiency is
the same as explicitly comparing the value. Let's thus remove this to
reduce optical noise.
2015-11-26 16:01:35 +01:00
Andreas Lauser
a63a4f2bdc make most indices unsigned
(instead of using 'int'.) This triggered quite a few compiler warnings
which are also dealt-with by this patch.
2015-11-18 18:09:56 +01:00
Andreas Lauser
bac1a6990d use the same value as opm-{core,autodiff} for the gravity constant
also, make setting this vector more bullet-proof.
2015-11-18 11:49:00 +01:00
Andreas Lauser
4f4e25c25f ebos: do the gravity correction the same way as opm-autodiff
i.e., calculate the pressure which the exterior cell of a face would
exhibit at the depth of the interior one (instead of bringing both to
the depth of the face).

because the average fluid density is used, there should not be a
difference because of this.
2015-11-18 11:49:00 +01:00
Andreas Lauser
1c02969608 do not iterate over all wells on DOFs which are not penetrated by any wells
for large problems with many wells the performance impact of this is
probably even measureable.

Also, this patch makes it possible to access the well manager outside
of the problem. In the normal case, this should be rarely needed, but
it can come in handy for debugging purposes.
2015-11-18 11:33:51 +01:00
Andreas Lauser
55c4bdf417 ebos: use the average phase density for the gravity correction
this does *not* make more sense than using the cell densities, but it
looks like E100 does it that way. (so we do it the same in ebos.)
2015-11-04 13:41:57 +01:00
Andreas Lauser
ce517e5e3d ebos: fix a GCC sign comparison warning 2015-10-29 00:22:09 +01:00
Robert Kloefkorn
2f8aa62db2 EclWellManager: only insert well that are located on the process. Not perfect yet. 2015-10-27 13:04:29 +01:00
Robert Kloefkorn
492c8c74a0 CartesianIndexMapper: fix computation of cartesianCoordinate. 2015-10-27 12:58:47 +01:00
Robert Kloefkorn
a4f761be5e CollectToIORank: collects output data to a given I/O rank. 2015-10-21 17:49:21 +02:00
Robert Kloefkorn
af5cea2add EclEquilInitializer: make it work for ALUGrid. 2015-10-20 17:28:49 +02:00
Andreas Lauser
ca4da50902 use the error macros from opm-common 2015-10-08 11:59:55 +02:00
Andreas Lauser
1d63276cfb ebos: make it compile if ALUGrid is used as grid
the EQUIL init code from opm-core chokes hard if any Dune grid other
than Dune::CpGrid is passed to it. Until opm-core gets its act
together or EQUIL init is properly implemented within eWoms, let's
just disable EQUIL initialization in ebos (and print a warning) if
ALUGrid is used.
2015-10-07 18:52:36 +02:00
Andreas Lauser
dee67a7a94 adapt to the simplifications of the blackoil PVT API in opm-material 2015-09-29 14:47:23 +02:00
Andreas Lauser
a28b2bcd76 ebos: make sure that the initial well condition is only written to the summary file once
before, it could have been written multiple times if the first time
step of the simulation failed and the timestep was repeated with a
smaller step size.
2015-09-22 13:23:39 +02:00
Andreas Lauser
e77cad793b re-order the attributes of EclPeacemanWell and init them in the ctor
re-ordering the attributes avoids some padding for EclPeacemanWell
objects and -- more importantly -- makes their ordering slightly more
logical.

initializing them avoids a valgrind complaint when writing the initial
condition to the ECL summary file.
2015-09-22 13:20:42 +02:00
Robert Kloefkorn
324b764a96 EclEquilInitializer: adjust to BlackoilPropertiesFromDeck changes from opm-core. 2015-09-17 12:47:31 +02:00
Robert Kloefkorn
f6b3bbc386 CartesianIndexMapper: use the CartesianIndexMapper to applied the mapping from the
Cartesian coordinate to the flat index and vice versa.
2015-09-10 16:01:53 +02:00
Andreas Lauser
58aeddf431 ebos: write the ECL summary for the initial condition and shift all consecutive report steps
this brings the SPE1 and SPE9 graphs quite a bit closer to those of flow/eclipse.
2015-09-10 15:37:28 +02:00
Robert Kloefkorn
dc8101a692 Merge remote-tracking branch 'upstream/master' into PR/ewoms-can-use-dune-fem 2015-09-10 15:08:14 +02:00
Andreas Lauser
d82f5be347 ebos: allow initial time step sizes shorter than the initial episode size 2015-09-07 14:05:03 +02:00
Andreas Lauser
53b48b2838 black-oil: fix some stupid errors with vaporized oil
obviously if the switching variable is interpreted as x_g^O, the gas
phase is present, because in this case it is the only phase. Also,
when the oil phase appears, the gas saturation is 1-Sw, not 1. (the
last issue only happened in the vaporized case because the switch
variable would never get the meaning of "oil component's mole fraction
in the gas phase".)
2015-09-04 14:06:29 +02:00
Andreas Lauser
95c482521a ebos: add support for initialization using the EQUIL keyword
so far, it uses the machinery of opm-core for this.
2015-09-04 14:04:45 +02:00
Andreas Lauser
5ce716f1a8 ebos: fix the fallout of the recent introduction of TableManager 2015-09-03 00:30:19 +02:00
Robert Kloefkorn
8700a9533c Merge remote-tracking branch 'upstream/master' into PR/ewoms-can-use-dune-fem 2015-09-01 12:40:19 +02:00
Robert Kloefkorn
67836d69ca make compile after update in opm-material. 2015-08-07 11:17:58 +02:00
Robert Kloefkorn
c15fedf7a1 Merge remote-tracking branch 'andlaus/grid_adaptivity_fixes' into PR/ewoms-can-use-dune-fem 2015-08-06 18:07:35 +02:00
Andreas Lauser
fd26efa140 ebos: adapt to the Cartesian -> compressed cells change of EclMaterialLawManager 2015-08-06 17:03:34 +02:00
Andreas Lauser
bfcd132553 ebos: adapt to the Cartesian -> compressed cells change of EclMaterialLawManager 2015-08-06 17:01:58 +02:00