Commit Graph

1338 Commits

Author SHA1 Message Date
Arne Morten Kvarving
17dc99f3cd EclPolyhedralGridVanguard: some modernization
- typedef -> using
2022-08-10 12:44:53 +02:00
Arne Morten Kvarving
c626dc7488 EclNewtonMethod: some modernization
- typedef -> using
- use constexpr
2022-08-10 12:44:53 +02:00
Arne Morten Kvarving
beaf8c20f4 EclGenericWriter: some modernization
- typedef -> using
2022-08-10 12:44:53 +02:00
Arne Morten Kvarving
834a54686c EclGenericTracerModel: some modernization
- use constexpr
2022-08-10 12:44:53 +02:00
Arne Morten Kvarving
f97f29fa3a EclFluxModule: some modernization
- typedef -> using
2022-08-10 12:44:53 +02:00
Arne Morten Kvarving
ef8c5962b3 EclEquilInitializer: some modernization
- use if constexpr
2022-08-10 12:44:53 +02:00
Arne Morten Kvarving
35fa52f0b9 EclDummyGradientCalculator: some modernization
- typedef -> using
2022-08-10 12:44:53 +02:00
Arne Morten Kvarving
07283aa780 EclCpGridVanguard: some modernization
- typedef -> using
- use constexpr
2022-08-10 12:44:53 +02:00
Arne Morten Kvarving
c2de02a04d EclAluGridVanguard: some modernization
- typedef -> using
- use constexpr
- use nullptr, not 0
- fix some indents
2022-08-10 12:44:53 +02:00
Arne Morten Kvarving
d0c528a240 collecttoiorank: use constexpr 2022-08-10 12:37:04 +02:00
Arne Morten Kvarving
7b74c75f7c eclalucartesianindexmapper: some modernization
- typedef -> using
- use constexpr
2022-08-10 12:37:04 +02:00
Atgeirr Flø Rasmussen
a5c8d40cfa Remove unneeded timeIdx arguments, also silence other warnings. 2022-08-10 10:01:54 +02:00
Atgeirr Flø Rasmussen
727bf8d01f Do not make changes to eclthresholdpressure.hh and ecltracermodel.hh.
Not required for first version, but should be added later.
2022-08-09 11:11:36 +02:00
Atgeirr Flø Rasmussen
5fba14373b Modification to reduce PR to minimal changes. 2022-08-09 11:11:36 +02:00
Atgeirr Flø Rasmussen
0da2b68e0b Adapt to changed interface. 2022-08-09 11:11:36 +02:00
Atgeirr Flø Rasmussen
55b637aedd Remove unneded class.
All functionality is now in EclFluxModule.
2022-08-09 11:11:36 +02:00
Atgeirr Flø Rasmussen
0bf508daf7 Refactor EclFluxModule.
This makes that class have the same methods as the EclFluxModuleTpfa, so
the latter can be removed.
2022-08-09 11:11:36 +02:00
Atgeirr Flø Rasmussen
d61e578194 Remove unneeded data member. 2022-08-09 11:11:36 +02:00
Atgeirr Flø Rasmussen
8c0a8eda2c Fix: Use correct gravity. 2022-08-09 11:11:36 +02:00
Atgeirr Flø Rasmussen
9603a1643e Continue refactoring flux module.
At current commit, see differences (added this commit).
2022-08-09 11:11:36 +02:00
Atgeirr Flø Rasmussen
fb0bc3d55a Continue cleanup of flux module. 2022-08-09 11:11:36 +02:00
Atgeirr Flø Rasmussen
fdce3e590d WIP, now runs with just this flux module replacing original versions. 2022-08-09 11:11:36 +02:00
Atgeirr Flø Rasmussen
c48770dc5f Remove EclProblemTpfa, folding all methods into EclProblem. 2022-08-09 11:11:36 +02:00
Atgeirr Flø Rasmussen
f19b6f723d Refactor to avoid twin codepaths most places. 2022-08-09 11:09:48 +02:00
hnil
6d3b0a7c1f tried to make openmp work 2022-08-09 11:09:48 +02:00
hnil
0c03e72782 fixing compilation warning 2022-08-09 11:09:48 +02:00
hnil
c5d547efff modification for global assembly 2022-08-09 11:09:48 +02:00
hnil
d9c59efcf1 moved transCompFactor to intensive quantities 2022-08-09 11:09:48 +02:00
hnil
07a7070dc0 revert eclproblem.hh back to original 2022-08-09 11:09:48 +02:00
hnil
409f60642e new eclproblemtpfa 2022-08-09 11:09:48 +02:00
hnil
8f5e0940fe restructuring to be able to call without local indices 2022-08-09 11:09:48 +02:00
hnil
060877a08b runs first steps of norne 2022-08-09 11:09:48 +02:00
hnil
0a178daaf1 added extra function for easier use in tracer,aquifer, threshold pressure 2022-08-09 11:09:48 +02:00
hnil
ad66808158 better test 2022-08-09 11:09:48 +02:00
hnil
18b03f3546 working refactoring 2022-08-09 11:09:48 +02:00
hnil
abee2f9f81 added fluxmodule refactured 2022-08-09 11:09:48 +02:00
Atgeirr Flø Rasmussen
93ce28e9a2
Merge pull request #3972 from ElyesAhmed/alugrid2
Alugrid2
2022-08-04 15:43:24 +02:00
Elyes Ahmed
15ab680aef fixing warning-unused variable 2022-08-04 14:19:12 +02:00
Elyes Ahmed
33e52542bc fix warning-unused variable in eclbasevanguard 2022-08-04 14:16:09 +02:00
Arne Morten Kvarving
36b167b451 remove use of Unused.hpp 2022-08-02 11:53:54 +02:00
Elyes Ahmed
5c2b60bcd0 rebasing 2022-07-28 20:40:34 +02:00
Arne Morten Kvarving
57066fbdf7 add missing include 2022-07-27 16:24:04 +02:00
Tor Harald Sandve
4fd0c24661 output drsdtcon values to restart files 2022-07-21 15:41:30 +02:00
goncalvesmachadoc
88d67684f6 fix wbp 2022-07-06 11:14:45 +02:00
Arne Morten Kvarving
32eb467ead fix tests that relied on internal deck handling 2022-06-24 15:27:56 +02:00
Arne Morten Kvarving
a4d254b749 changed: introduce EclGenericVanguard::setParams
this is used transferring ownership of setup structures to the
simulator. drop all the flowEbosXXX set deck methods and use the
generic vanguard. also means various structs that were only passed
in the blackoil simulator are now passed in all simulators.
2022-06-24 15:06:13 +02:00
Arne Morten Kvarving
36ffb65525 remove parsecontext in generic vanguard
not used
2022-06-24 15:06:13 +02:00
Arne Morten Kvarving
4087fbff5b remove errorguard in generic vanguard
not used
2022-06-24 15:06:13 +02:00
Arne Morten Kvarving
00c374be5c changed: remove support for internal summaryconfig handling in simulators 2022-06-24 15:06:13 +02:00
Arne Morten Kvarving
4510f40b6d changed: remove support for internal schedule handling in simulators 2022-06-24 15:06:13 +02:00
Arne Morten Kvarving
1a35c5ac47 changed: remove support for internal eclstate handling in simulators 2022-06-24 15:06:13 +02:00
Arne Morten Kvarving
371c8058bc changed: remove support for internal deck handling in simulators 2022-06-24 15:06:13 +02:00
Arne Morten Kvarving
c793aff5d1 changed: rename externalSetupTime
external is (or will be) implied
2022-06-24 15:06:13 +02:00
Atgeirr Flø Rasmussen
ffb09ee53e
Merge pull request #3937 from atgeirr/pressure-bhp-cpr
Pressure bhp cpr
2022-06-16 17:15:49 +02:00
Cintia Goncalves Machado
98d5450ca1
Fix FOE definition 2022-06-13 15:34:19 +02:00
hnil
98acda0977 - change FieldMatrix to MatrixBlock in Tracer model to not need extra initializations in linear solver 2022-06-08 17:03:27 +02:00
Atgeirr Flø Rasmussen
fef06a77af Updated for upstream changes. 2022-06-08 17:02:02 +02:00
Bård Skaflestad
e6dff88eb7 Temporarily Limit Block-Jacobi Partitioner to OpenCL Only
The block-Jacobi partitioner (commit e360c00b7) uses grid interfaces
that are only available in CpGrid and this blocks introducing other
grid managers such as ALUGrid.  Since the partitioner was only added
for OpenCL, guard special purposes accesses with HAVE_OPENCL.

This is a temporary measure and we will venture to restore the
partitioner later, although possibly restricted to CpGrid only.
2022-06-08 16:14:39 +02:00
Bård Skaflestad
7537d7ab95 Split Grid Distribution Out to Helper Functions
Mostly to reduce the number of nested scopes in doLoadBalance_() and
to make the data flow a little easier to track for human readers.
While here, also use down-casts to pointer instead of references.
Doing so replaces try/catch blocks with simpler if/else blocks.

Reimplement face transmissibility calculation/extraction loop in
terms of helper functions elements() and intersections().
2022-06-08 16:14:39 +02:00
Bård Skaflestad
4e5745bf4a Make cellPartition() Return Reference To Const
We don't need to copy this array on every call.
2022-06-08 16:11:54 +02:00
Atgeirr Flø Rasmussen
1aed863956 Re-add grid view argument to doLoadBalance_(). 2022-06-08 15:33:32 +02:00
Bård Skaflestad
af94be5023 Use Consistent Grid Views for Transmissibility Calculation
There was an implied assumption that the "gridv" parameter would
coincide with "grid_->leafGridView()".  Make this assumption
explicit.
2022-06-01 14:34:28 +02:00
Kai Bao
26a9582ece
Merge pull request #3911 from GitPaean/fixing_numerical_aquifer_equil
Fixing equilibration when having numerical aquifers.
2022-05-26 22:09:32 +02:00
Bård Skaflestad
be4221ea92
Merge pull request #3869 from plgbrts/vapoilwat
adding three-phase simulator including water evaporation and salt precipitation
2022-05-25 15:33:53 +02:00
Bård Skaflestad
9f22e125f9 Extract Block-Level Component-in-Place Summary Values
This commit calculates the various BxIP* summary output values such
as BOIP (block-level oil-in-place) and BGIPL (block-level
gas-in-place in liquid phase).  While here, also extract the
block-level dissolved gas-oil-ratio (BRS) and vaporised
oil-gas-ratio (BRV).
2022-05-20 23:13:27 +02:00
Markus Blatt
02aaec82f7
Merge pull request #3815 from Tongdongq/subdomain-matrix-for-opencl
Subdomain matrix for opencl ILU preconditioner
2022-05-20 16:05:14 +02:00
Paul Egberts
a255613452
Merge branch 'master' into vapoilwat 2022-05-11 11:55:54 +02:00
Kai Bao
78bd95c593 also update cellZSpan_ and cellZMinMax
when updating cell center depth due to numerical aquifer cells.
2022-05-05 15:01:09 +02:00
Bård Skaflestad
26c7055b9e
Merge pull request #3905 from goncalvesmachadoc/addBXPV
add Block Pore Volumes
2022-04-29 23:18:02 +02:00
goncalvesmachadoc
8920f339cc addBXPVs 2022-04-29 20:26:59 +02:00
Tor Harald Sandve
967c538da8 output pcow, pcog 2022-04-29 15:35:16 +02:00
Tong Dong Qiu
bae2358090 Fix if clauses 2022-04-21 17:19:01 +02:00
Tong Dong Qiu
61f693dbaf reenable normal opencl
Rebased
2022-04-21 17:18:54 +02:00
Tong Dong Qiu
e360c00b73 add block-jacobi partitioner option. Add block-jacobi matrix for use in OpenCL preconditioner
Rebased
2022-04-21 17:18:32 +02:00
Tor Harald Sandve
9d18f164db fix saturated density in DRSDTCON 2022-04-21 08:35:07 +02:00
Tor Harald Sandve
af95a3f22b fix density in initialization for case without DISGAS 2022-04-12 11:31:17 +02:00
Paul Egberts
ab3be6dce4 adjustments to account for vaporized water 2022-04-08 22:36:39 +02:00
Tor Harald Sandve
0c9bb3990e
Merge pull request #3830 from plgbrts/vapwat
Adding explicit input specification of water-gas ratio (RVW) and RVW output plus simulator gas-water system with salt precipitation and water evaporation for
2022-04-07 09:03:26 +02:00
Bård Skaflestad
6dcde2c5f7 Retrieve Block Level Solvent Saturation When Requested
This commit adds support for the block level solvent saturation
summary output keyword "BNSAT".
2022-04-05 15:45:00 +02:00
Paul Egberts
c316865681 fix initialization for the single phase cases 2022-03-14 15:10:03 +01:00
Tor Harald Sandve
82099705ac fix initialization EQUIL + water and gas 2022-03-11 12:38:38 +01:00
Paul Egberts
d89672e4a3 some clean up 2022-03-06 20:51:57 +01:00
Bård Skaflestad
f6e8a9bfac Report Unique IJK Tuples for Failed Bubble/Dew Point Calculations
This commit switches the debug file's records of "failed" bubble and
dew point pressure calculations from a non-unique list of linearised
Cartesian indices to a unique list of (1-based) (I,J,K) tuples.
This format is hopefully easier to read for humans.

Thanks to [at]blattms for suggesting the gatherv() helper function
which greatly simplifies the communication pattern.

Example from selected time steps in a real field case with Cartesian
dimensions 137-by-236-by-58:

  - Original
  Finding the dew point pressure failed for 2 cells [1467066, 1467066]
  Finding the dew point pressure failed for 8 cells [1467063, 1467063, 1467066, 1467066, 1467066, 1467066, 1467066, 1467066]

  - This commit
  Finding the dew point pressure failed for 1 cell [(71,89,46)]
  Finding the dew point pressure failed for 2 cells [(68,89,46), (71,89,46)]
2022-03-02 22:49:28 +01:00
Paul Egberts
797fdc278b water-gas ratio input and output plus simulator for salt precipitation and water evaporation 2022-03-01 20:52:43 +01:00
Bård Skaflestad
6ac998e4e4 Support Calculating Phase Pressures for Water/Gas at Block Level
This commit adds support for calculating/extracting the block-level
phase pressures for water (BWPR) and gas (BGPR) for summary output
purposes.
2022-02-28 23:42:48 +01:00
Bård Skaflestad
eb55456565 Don't Capture Local Flux Data Unless Needed
This is a potentially expensive operation and so we should not run
it unless such values are actually needed for output purposes (e.g.,
inter-region flow summary vectors).
2022-02-25 11:31:57 +01:00
Bård Skaflestad
5f6750bb34
Merge pull request #3820 from goncalvesmachadoc/btemp
add BTCNFHEA
2022-02-22 00:49:27 +01:00
goncalvesmachadoc
ac51cecfd4 block press and temp when no oil is present 2022-02-21 18:12:30 +01:00
goncalvesmachadoc
a191722a25 add BTCNFHEA 2022-02-21 17:36:31 +01:00
Bård Skaflestad
840a29f8ef Communicate Inter-Region Flows to I/O Rank
This commit ensures that compute inter-region flow rates on all
ranks and collect those on the I/O rank using CollectDataToIORank.

We add a trivial EclInterRegFlowMap data member to the communication
object.  This data member only knows the pertinent FIP region array
names, but uses existing read/write support to collect contributions
from all ranks into this "global" object.  We then pass this global
object on to the summary evaluation routine.
2022-02-18 14:53:43 +01:00
Bård Skaflestad
ecec83349b Capture Bulk Connection Fluxes to Accumlate Inter-Region Flows
This commit adds a new grid traversal that computes fluxes-presently
surface level component fluxes-for all bulk connections on the
current MPI rank.  We aggregate those fluxes, if applicable, into a
container for inter-region flows, but this support could be extended
to capturing the full 3D vector flow rates for restart output if
needed.
2022-02-18 10:29:56 +01:00
Bård Skaflestad
1e121799c8 Add Multi-Array Aware Accumulator for Inter-Region Flow Rates
This commit introduces a new helper class

    Opm::EclInterRegFlowMapSingleFIP

that wraps a vector of

    Opm::EclInterRegFlowMapSingleFIP

along with the associate array names (e.g., "FIPNUM" and any
additional "FIP*" arrays).  We implement the same operations as the
*SingleFIP type and simply loop over the internal accumulators to
affect the operations.

Add unit tests to exercise the new class, including simulating
multiple MPI ranks that are communicated to a single I/O rank for
summary output purposes.
2022-02-18 10:29:56 +01:00
Bård Skaflestad
27564f0610 Add MPI-Aware Accumulator for Inter-Region Flow Rates
This commit introduces a new helper class

    Opm::EclInterRegFlowMapSingleFIP

that wraps an object of type

    Opm::data::InterRegFlowMap

along with the MPI rank's notion of a FIP region array definition
(e.g., the local FIPNUM array).  The new single-FIP flow map is
responsible for accumulating local contributions to the inter-region
flows defined by that FIP array.  In the case of connections between
MPI ranks, the rank that owns the lowest region ID accumulates the
associate flow rates.

Add unit tests to exercise the new class, including simulating
multiple MPI ranks that are communicated to a single I/O rank for
summary output purposes.
2022-02-18 10:29:56 +01:00
Markus Blatt
a520733d5b
Merge pull request #3774 from plgbrts/expli-salt
allow for explicit initialization of SALT and SALTP
2022-02-11 14:35:57 +01:00
Tor Harald Sandve
ad799b3e80 Add more performance summary output
This commit ads: NEWTON, MLINEARS, MSUMLINS, MSUMNEWT, NLINEARS, NLINSMIN, NLINSMAX
2022-02-03 15:03:37 +01:00
Joakim Hove
95cd9eaa24 Pass ActionState to Schedule::runPyAction() 2022-01-27 22:46:36 +01:00
Paul Egberts
461694677a Improved error message 2022-01-24 10:40:19 +01:00
Joakim Hove
fa0b3ef919 Run PYACTION with Schedule::runPyAction() and call simulatorUpdate 2022-01-24 08:27:20 +01:00
Joakim Hove
c1eeb3f18c Extract functionality to update state after ACTIONX in separate func 2022-01-20 09:05:33 +01:00
Joakim Hove
1642f34f04 Pass matching wells to Schedule::applyAction() 2022-01-20 08:22:59 +01:00